Crossfire JXClient, Trunk
GUIKnowledgeList.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) 2005-2008 Yann Chachkoff
19  * Copyright (C) 2006-2017,2019-2023 Andreas Kirschbaum
20  * Copyright (C) 2010-2012,2014-2018,2020-2023 Nicolas Weeger
21  */
22 
23 package com.realtime.crossfire.jxclient.gui.list;
24 
36 import org.jetbrains.annotations.NotNull;
37 import org.jetbrains.annotations.Nullable;
38 
42 public class GUIKnowledgeList extends GUIItemList<GUIItemKnowledge> {
43 
47  private static final long serialVersionUID = 1L;
48 
52  @NotNull
54 
58  @NotNull
60 
64  @NotNull
65  private final String name;
66 
70  @NotNull
71  private final ItemView itemView;
72 
76  @NotNull
77  private final ItemPainter itemPainter;
78 
82  @NotNull
83  private final FacesManager facesManager;
84 
88  @NotNull
90 
94  @NotNull
95  private final CommandQueue commandQueue;
96 
100  @NotNull
101  private final GuiFactory guiFactory;
102 
119  public GUIKnowledgeList(@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 ItemPainter itemPainter, @NotNull final FacesManager facesManager, @NotNull final KnowledgeManager knowledgeManager, @NotNull final CommandQueue commandQueue, @NotNull final GuiFactory guiFactory) {
121  this.tooltipManager = tooltipManager;
122  this.elementListener = elementListener;
123  this.name = name;
124  this.itemView = itemView;
125  this.itemPainter = itemPainter;
126  this.facesManager = facesManager;
127  this.knowledgeManager = knowledgeManager;
128  this.commandQueue = commandQueue;
129  this.guiFactory = guiFactory;
130  }
131 
132  @NotNull
133  @Override
134  protected GUIItemKnowledge newItem(final int index) {
136  }
137 
138  @Override
139  public void notifyOpen() {
140  }
141 
142  @Nullable
143  @Override
144  protected String getTooltip(final int index) {
145  final CfItem item = itemView.getItem(index);
146  return item == null ? null : item.getTooltipText();
147  }
148 
149 }
com.realtime.crossfire.jxclient.knowledge
Definition: KnowledgeItem.java:23
com.realtime.crossfire.jxclient
com.realtime.crossfire.jxclient.skin.skin
Definition: DefaultJXCSkin.java:23
com.realtime.crossfire.jxclient.gui.list.GUIKnowledgeList.guiFactory
final GuiFactory guiFactory
The global GuiFactory instance.
Definition: GUIKnowledgeList.java:101
com.realtime.crossfire.jxclient.faces.FacesManager
Maintains a mapping of face numbers to face data.
Definition: FacesManager.java:40
com.realtime.crossfire.jxclient.gui.item.ItemPainter
Paints Crossfire item images.
Definition: ItemPainter.java:41
com.realtime.crossfire.jxclient.knowledge.KnowledgeManager
Manages all knowledge the player knows.
Definition: KnowledgeManager.java:19
com.realtime.crossfire.jxclient.gui.list.GUIKnowledgeList.tooltipManager
final TooltipManager tooltipManager
The TooltipManager to update.
Definition: GUIKnowledgeList.java:53
com.realtime.crossfire.jxclient.skin
com.realtime.crossfire.jxclient.gui.list.GUIKnowledgeList.itemView
final ItemView itemView
The ItemView to use.
Definition: GUIKnowledgeList.java:71
com.realtime.crossfire.jxclient.gui.label
Definition: AbstractLabel.java:23
com.realtime.crossfire.jxclient.gui.label.AbstractLabel
Abstract base class for all label classes.
Definition: AbstractLabel.java:43
com.realtime.crossfire.jxclient.faces
Manages image information ("faces") needed to display the map view, items, and spell icons.
Definition: AbstractFaceQueue.java:23
com.realtime.crossfire.jxclient.items.CfItem.getTooltipText
String getTooltipText()
Returns a description suitable for a tooltip text.
Definition: CfItem.java:534
com.realtime.crossfire.jxclient.gui.list.GUIItemList< GUIItemKnowledge >::currentItem
final AbstractLabel currentItem
The label to update with information about the selected item.
Definition: GUIItemList.java:63
com.realtime.crossfire.jxclient.gui.list.GUIKnowledgeList
Definition: GUIKnowledgeList.java:42
com.realtime.crossfire.jxclient.gui.list.GUIKnowledgeList.knowledgeManager
final KnowledgeManager knowledgeManager
The KnowledgeManager instance to watch.
Definition: GUIKnowledgeList.java:89
com.realtime.crossfire.jxclient.items.CfItem
The representation of a Crossfire Item, client-side.
Definition: CfItem.java:37
com.realtime.crossfire.jxclient.gui.list.GUIKnowledgeList.itemPainter
final ItemPainter itemPainter
The ItemPainter for painting the icon.
Definition: GUIKnowledgeList.java:77
com.realtime.crossfire.jxclient.items.ItemView.getItem
CfItem getItem(int index)
Returns the CfItem in a given slot.
com.realtime.crossfire.jxclient.gui.list.GUIKnowledgeList.facesManager
final FacesManager facesManager
The FacesManager to use.
Definition: GUIKnowledgeList.java:83
com.realtime.crossfire.jxclient.gui
com.realtime.crossfire.jxclient.gui.list.GUIItemList
A GUIList instance that displays GUIItemItem instances.
Definition: GUIItemList.java:46
com.realtime.crossfire.jxclient.items.ItemView
A list of CfItems.
Definition: ItemView.java:32
com.realtime.crossfire.jxclient.gui.list.GUIKnowledgeList.serialVersionUID
static final long serialVersionUID
The serial version UID.
Definition: GUIKnowledgeList.java:47
com.realtime.crossfire.jxclient.gui.list.GUIKnowledgeList.commandQueue
final CommandQueue commandQueue
The CommandQueue for sending commands.
Definition: GUIKnowledgeList.java:95
com.realtime.crossfire.jxclient.skin.skin.GuiFactory
Factory for creating Gui instances.
Definition: GuiFactory.java:41
com.realtime.crossfire.jxclient.gui.gui
Definition: AbstractGUIElement.java:23
com.realtime.crossfire.jxclient.queue
Definition: CommandQueue.java:23
com.realtime.crossfire
com.realtime.crossfire.jxclient.gui.gui.TooltipManager
Manages the tooltip display.
Definition: TooltipManager.java:33
com.realtime.crossfire.jxclient.gui.list.GUIKnowledgeList.name
final String name
The base name for created elements.
Definition: GUIKnowledgeList.java:65
com.realtime
com
com.realtime.crossfire.jxclient.items
Definition: AbstractItemView.java:23
com.realtime.crossfire.jxclient.gui.item
Definition: GUIItem.java:23
com.realtime.crossfire.jxclient.gui.list.GUIKnowledgeList.notifyOpen
void notifyOpen()
Definition: GUIKnowledgeList.java:139
com.realtime.crossfire.jxclient.gui.list.GUIKnowledgeList.getTooltip
String getTooltip(final int index)
Definition: GUIKnowledgeList.java:144
com.realtime.crossfire.jxclient.gui.item.GUIItemKnowledge
Definition: GUIItemKnowledge.java:45
com.realtime.crossfire.jxclient.gui.list.GUIKnowledgeList.GUIKnowledgeList
GUIKnowledgeList(@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 ItemPainter itemPainter, @NotNull final FacesManager facesManager, @NotNull final KnowledgeManager knowledgeManager, @NotNull final CommandQueue commandQueue, @NotNull final GuiFactory guiFactory)
Creates a new instance.
Definition: GUIKnowledgeList.java:119
com.realtime.crossfire.jxclient.queue.CommandQueue
Maintains the pending (ncom) commands sent to the server.
Definition: CommandQueue.java:38
com.realtime.crossfire.jxclient.gui.list.GUIKnowledgeList.elementListener
final GUIElementListener elementListener
The GUIElementListener to notify.
Definition: GUIKnowledgeList.java:59
com.realtime.crossfire.jxclient.gui.gui.GUIElementListener
Listener for GUIElement related events.
Definition: GUIElementListener.java:32
com.realtime.crossfire.jxclient.gui.list.GUIKnowledgeList.newItem
GUIItemKnowledge newItem(final int index)
Definition: GUIKnowledgeList.java:134