21 package com.realtime.crossfire.jxclient.gui.list;
32 import org.jetbrains.annotations.NotNull;
33 import org.jetbrains.annotations.Nullable;
107 super(tooltipManager, elementListener, name, cellWidth, cellHeight,
new CharacterCellRenderer(
new GUICharacter(tooltipManager, facesManager, elementListener, name+
"_template", 50, 20, font, 0, characterModel)), null);
111 if (characterModel.displaysFace(face.getFaceNum())) {
113 if (parent != null) {
118 this.characterModel.addCharacterListener(this::rebuildList);
137 protected void updateTooltip(
final int index,
final int x,
final int y,
final int w,
final int h) {
151 synchronized (getTreeLock()) {
152 final int newSize = characterModel.
size();
154 if (oldSize < newSize) {
155 for (
int i = oldSize; i < newSize; i++) {
156 final GUICharacter metaElement =
new GUICharacter(tooltipManager, facesManager, elementListener, name+i, 1, 1, font, i, characterModel);
161 for (
int i = newSize; i < oldSize; i++) {
175 return characterModel.
getEntry(selectedIndex);
Listener for GUIElement related events.
static Gui getGui(@NotNull final Component element)
Returns the Gui an element is part of.
CharacterInformation getCurrentCharacter()
Returns the currently selected character in the list.
void setSelectedIndex(final int newIndex)
Update the selected list entry.
Combines a list of GUIElements to for a gui.
final int cellHeight
The height of a list cell in pixels.
A GUIList that tracks a GUICharacter instance.
void removeCharacterInformationListener(final int index, @NotNull final CharacterInformationListener listener)
Removes a character entry listener for one entry.
final CharacterModel characterModel
The model to display characters from.
void setCharacter(@NotNull final String characterName)
Selects an entry by character name.
final Font font
The font for drawing list entries.
int selectedIndex
The currently selected list index.
Manages image information ("faces") needed to display the map view, items, and spell icons...
final FacesManager facesManager
The FacesManager to use to display faces.
A character displaying GUI element.
int resizeElements(final int newSize)
Changes the number of list elements.
void addElement( @NotNull final T element)
Adds an GUIElement to the list.
final TooltipManager tooltipManager
The TooltipManager to update.
void addCharacterInformationListener(final int index, @NotNull final CharacterInformationListener listener)
Adds a character entry listener for one entry.
Utility class for Gui related functions.
CharacterInformation getEntry(final int index)
Returns a character entry by index.
int getCharacterIndex(@NotNull final String characterName)
Returns the index of an entry by character name.
A GUIList display characters of an account.
final GUIElementListener elementListener
The GUIElementListener to use.
GUICharacterList(@NotNull final TooltipManager tooltipManager, @NotNull final FacesManager facesManager, @NotNull final GUIElementListener elementListener, @NotNull final String name, final int cellWidth, final int cellHeight, @NotNull final Font font, @NotNull final CharacterModel characterModel)
Creates a new instance.
Maintains the character list for an account.
void updateTooltip(final int index, final int x, final int y, final int w, final int h)
void selectionChanged(final int selectedIndex)
final String name
The name of this element.
int size()
Returns the number of character entries.
void addFacesManagerListener(@NotNull FacesManagerListener facesManagerListener)
Adds a FacesManagerListener to be notified about updated faces.
A GUIElement that displays a list of entries.
final CharacterInformationListener characterInformationListener
The CharacterInformationListener attached to all tracked character models.
static final long serialVersionUID
The serial version UID.
void rebuildList()
Rebuilds the list cells.
Maintains a mapping of face numbers to face data.