com.realtime.crossfire.jxclient.gui.list
Class GUICharacterList

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by com.realtime.crossfire.jxclient.gui.gui.GUIElement
                  extended by com.realtime.crossfire.jxclient.gui.gui.ActivatableGUIElement
                      extended by com.realtime.crossfire.jxclient.gui.list.GUIList
                          extended by com.realtime.crossfire.jxclient.gui.list.GUICharacterList
All Implemented Interfaces:
GUIScrollable, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class GUICharacterList
extends GUIList

A GUIList display characters of an account.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  CharacterInformationListener characterInformationListener
          The CharacterInformationListener attached to all tracked character models.
private  CharacterModel characterModel
          The model to display characters from.
private  GUIElementListener elementListener
          The GUIElementListener to use.
private  java.awt.Font font
          The font for drawing list entries.
private  java.lang.String name
          The name of this element.
private  int selectedIndex
          The currently selected list index.
private static long serialVersionUID
          The serial version UID.
private  TooltipManager tooltipManager
          The TooltipManager to update.
 
Fields inherited from class com.realtime.crossfire.jxclient.gui.gui.GUIElement
bufferedImageSync
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
GUICharacterList(TooltipManager tooltipManager, GUIElementListener elementListener, java.lang.String name, Extent extent, int cellWidth, int cellHeight, java.awt.Font font, CharacterModel characterModel)
          Creates a new instance.
 
Method Summary
protected  void activeChanged()
          Will be called whenever the active state has changed.
 CharacterInformation getCurrentCharacter()
          Returns the currently selected character in the list.
private  void rebuildList()
          Rebuilds the list cells.
protected  void selectionChanged(int selectedIndex)
          Called whenever the selected list entry has changed.
 void setCharacter(java.lang.String characterName)
          Selects an entry by character name.
protected  void updateTooltip(int index, int x, int y, int w, int h)
          Updates the tooltip text.
 
Methods inherited from class com.realtime.crossfire.jxclient.gui.list.GUIList
addElement, canMoveSelection, canScroll, dispose, getElement, getSelectedObject, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, moveSelection, render, resetScroll, resizeElements, scroll, selectionChanged, setChanged, setLayoutOrientation, setSelectedIndex, updateResolution
 
Methods inherited from class com.realtime.crossfire.jxclient.gui.gui.ActivatableGUIElement
isActive, setActive
 
Methods inherited from class com.realtime.crossfire.jxclient.gui.gui.GUIElement
createBufferGraphics, getElementX, getElementY, getGui, getName, getTooltipText, hasBufferedImage, isChanged, isDefault, isElementAtPoint, isElementVisible, isIgnore, mouseReleased, paintComponent, resetChanged, setChangedListener, setChangedNoListeners, setDefault, setElementLocation, setElementSize, setElementVisible, setGui, setIgnore, setTooltipText, setTooltipText, toString, updateResolutionConstant
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

characterInformationListener

@NotNull
private final CharacterInformationListener characterInformationListener
The CharacterInformationListener attached to all tracked character models. It detects changed contents and updates the list accordingly.


characterModel

@NotNull
private final CharacterModel characterModel
The model to display characters from.


elementListener

@NotNull
private final GUIElementListener elementListener
The GUIElementListener to use.


font

@NotNull
private final java.awt.Font font
The font for drawing list entries.


name

@NotNull
private final java.lang.String name
The name of this element.


selectedIndex

private int selectedIndex
The currently selected list index.


serialVersionUID

private static final long serialVersionUID
The serial version UID.

See Also:
Constant Field Values

tooltipManager

@NotNull
private final TooltipManager tooltipManager
The TooltipManager to update.

Constructor Detail

GUICharacterList

public GUICharacterList(@NotNull
                        TooltipManager tooltipManager,
                        @NotNull
                        GUIElementListener elementListener,
                        @NotNull
                        java.lang.String name,
                        @NotNull
                        Extent extent,
                        int cellWidth,
                        int cellHeight,
                        @NotNull
                        java.awt.Font font,
                        @NotNull
                        CharacterModel characterModel)
Creates a new instance.

Parameters:
tooltipManager - the tooltip manager to update
elementListener - the element listener to notify
name - the name of this element
extent - the extent of this element
cellWidth - the width of cells
cellHeight - the height of cells
font - font to display with
characterModel - what to list characters of
Method Detail

activeChanged

protected void activeChanged()
Will be called whenever the active state has changed.

Specified by:
activeChanged in class ActivatableGUIElement

getCurrentCharacter

@Nullable
public CharacterInformation getCurrentCharacter()
Returns the currently selected character in the list.

Returns:
null if invalid index, else the character information

rebuildList

private void rebuildList()
Rebuilds the list cells.


selectionChanged

protected void selectionChanged(int selectedIndex)
Called whenever the selected list entry has changed.

Specified by:
selectionChanged in class GUIList
Parameters:
selectedIndex - the selected list entry

setCharacter

public void setCharacter(@NotNull
                         java.lang.String characterName)
Selects an entry by character name.

Parameters:
characterName - the character name

updateTooltip

protected void updateTooltip(int index,
                             int x,
                             int y,
                             int w,
                             int h)
Updates the tooltip text.

Specified by:
updateTooltip in class GUIList
Parameters:
index - the index to use
x - the x coordinate of the cell
y - the y coordinate of the cell
w - the width of the cell
h - the height of the cell