Crossfire JXClient, Trunk  R20561
GUIQuestList.java
Go to the documentation of this file.
1 /*
2  * This file is part of JXClient, the Fullscreen Java Crossfire Client.
3  *
4  * JXClient is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * JXClient is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with JXClient; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17  *
18  * Copyright (C) 2011 Nicolas Weeger.
19  */
20 
21 package com.realtime.crossfire.jxclient.gui.list;
22 
32 import org.jetbrains.annotations.NotNull;
33 import org.jetbrains.annotations.Nullable;
34 
39 public class GUIQuestList extends GUIItemList<GUIItemQuest> {
40 
44  private static final long serialVersionUID = 1L;
45 
49  @NotNull
51 
55  @NotNull
57 
61  @NotNull
62  private final String name;
63 
67  @NotNull
68  private final ItemView itemView;
69 
73  @NotNull
75 
79  @NotNull
80  private final ItemPainter itemPainter;
81 
85  @NotNull
86  private final FacesManager facesManager;
87 
102  public GUIQuestList(@NotNull final TooltipManager tooltipManager, @NotNull final GUIElementListener elementListener, @NotNull final String name, final int cellWidth, final int cellHeight, @NotNull final ItemView itemView, @Nullable final AbstractLabel currentItem, @NotNull final QuestsManager questsManager, @NotNull final ItemPainter itemPainter, @NotNull final FacesManager facesManager) {
103  super(tooltipManager, elementListener, name, cellWidth, cellHeight, itemView, currentItem, new GUIItemQuest(tooltipManager, elementListener, name+"_template", itemPainter, -1, facesManager, questsManager, itemView, cellHeight));
104  this.tooltipManager = tooltipManager;
105  this.elementListener = elementListener;
106  this.name = name;
107  this.itemView = itemView;
108  this.questsManager = questsManager;
109  this.itemPainter = itemPainter;
110  this.facesManager = facesManager;
111  }
112 
116  @Override
117  protected void updateTooltip(final int index, final int x, final int y, final int w, final int h) {
118  final Quest quest = questsManager.getQuest(index);
119  if (quest == null) {
120  setTooltipText(null, x, y, w, h);
121  return;
122  }
123 
124  setTooltipText(quest.getTooltipText());
125  }
126 
130  @NotNull
131  @Override
132  protected GUIItemQuest newItem(final int index) {
133  return new GUIItemQuest(tooltipManager, elementListener, name+index, itemPainter, index, facesManager, questsManager, itemView, 0);
134  }
135 
136 }
Abstract base class for all label classes.
GUIQuestList(@NotNull final TooltipManager tooltipManager, @NotNull final GUIElementListener elementListener, @NotNull final String name, final int cellWidth, final int cellHeight, @NotNull final ItemView itemView, @Nullable final AbstractLabel currentItem, @NotNull final QuestsManager questsManager, @NotNull final ItemPainter itemPainter, @NotNull final FacesManager facesManager)
Creates a new instance.
Describes an in-game quest.
Definition: Quest.java:30
final String name
The base name for created elements.
A GUIItemItem that represents an entry in a GUIQuestList.
Manages image information ("faces") needed to display the map view, items, and spell icons...
void updateTooltip(final int index, final int x, final int y, final int w, final int h)
final ItemView itemView
The ItemView to use.
final ItemPainter itemPainter
The ItemPainter for painting the icon.
A GUIList instance that displays GUIItemItem instances.
final FacesManager facesManager
The FacesManager to use.
final GUIElementListener elementListener
The GUIElementListener to notify.
String getTooltipText()
Returns a description for this spell to be used in tooltips.
Definition: Quest.java:149
final TooltipManager tooltipManager
The TooltipManager to update.
static final long serialVersionUID
The serial version UID.
Quest getQuest(final int index)
Returns a Quest instance by index.
final QuestsManager questsManager
The quests to display.
final AbstractLabel currentItem
The label to update with information about the selected item.
Maintains a mapping of face numbers to face data.