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

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.GUIMetaElementList
All Implemented Interfaces:
GUIScrollable, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class GUIMetaElementList
extends GUIList

A GUIList that tracks a Metaserver instance.

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  AbstractLabel comment
          The comment field to update; may be null.
private  GUIElementListener elementListener
          The GUIElementListener to use.
private  java.awt.Font font
          The font for drawing list entries.
private  java.lang.String format
          The format for drawing list entries.
private  GUIText hostname
          The hostname input field to update; may be null.
private  java.awt.image.BufferedImage image
          The image for drawing list entries.
private  MetaserverEntryListener metaserverEntryListener
          The MetaserverEntryListener attached to all tracked metaserver entries.
private  MetaserverListener metaserverListener
          The MetaserverListener attached to metaserverModel.
private  MetaserverModel metaserverModel
          The metaserver model to track.
private  java.lang.String name
          The name of this element.
private static long serialVersionUID
          The serial version UID.
private  java.lang.String tooltip
          The tooltip format for drawing list entries.
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
GUIMetaElementList(TooltipManager tooltipManager, GUIElementListener elementListener, java.lang.String name, Extent extent, int cellWidth, int cellHeight, MetaserverModel metaserverModel, java.awt.image.BufferedImage image, java.awt.Font font, java.lang.String format, java.lang.String tooltip, GUIText hostname, AbstractLabel comment, CommandList connectCommandList)
          Creates a new instance.
 
Method Summary
protected  void activeChanged()
          Will be called whenever the active state has changed.
 void dispose()
          Releases all allocated resources.
private  void rebuildList()
          Rebuild the list cells.
protected  void selectionChanged(int selectedIndex)
          Called whenever the selected list entry has changed.
 void setSelectedHostname(java.lang.String serverName)
          Select an entry by server 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, 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

comment

@Nullable
private final AbstractLabel comment
The comment field to update; may be null.


elementListener

@NotNull
private final GUIElementListener elementListener
The GUIElementListener to use.


font

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


format

@NotNull
private final java.lang.String format
The format for drawing list entries.


hostname

@Nullable
private final GUIText hostname
The hostname input field to update; may be null.


image

@Nullable
private final java.awt.image.BufferedImage image
The image for drawing list entries.


metaserverEntryListener

@NotNull
private final MetaserverEntryListener metaserverEntryListener
The MetaserverEntryListener attached to all tracked metaserver entries. It detects changed contents and updates the list accordingly.


metaserverListener

@NotNull
private final MetaserverListener metaserverListener
The MetaserverListener attached to metaserverModel. It detects added or removed entries and updates the list accordingly.


metaserverModel

@NotNull
private final MetaserverModel metaserverModel
The metaserver model to track.


name

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


serialVersionUID

private static final long serialVersionUID
The serial version UID.

See Also:
Constant Field Values

tooltip

@NotNull
private final java.lang.String tooltip
The tooltip format for drawing list entries.


tooltipManager

@NotNull
private final TooltipManager tooltipManager
The TooltipManager to update.

Constructor Detail

GUIMetaElementList

public GUIMetaElementList(@NotNull
                          TooltipManager tooltipManager,
                          @NotNull
                          GUIElementListener elementListener,
                          @NotNull
                          java.lang.String name,
                          @NotNull
                          Extent extent,
                          int cellWidth,
                          int cellHeight,
                          @NotNull
                          MetaserverModel metaserverModel,
                          @Nullable
                          java.awt.image.BufferedImage image,
                          @NotNull
                          java.awt.Font font,
                          @NotNull
                          java.lang.String format,
                          @NotNull
                          java.lang.String tooltip,
                          @Nullable
                          GUIText hostname,
                          @Nullable
                          AbstractLabel comment,
                          @NotNull
                          CommandList connectCommandList)
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 each cell
cellHeight - the height of each cell
metaserverModel - the metaserver model to track
image - the image for drawing list entries
font - the font for drawing list entries
format - the format for drawing list entries
tooltip - the tooltip format for drawing list entries
hostname - the hostname input field to update; may be null
comment - the comment field to update; may be null
connectCommandList - the command list to connect to the server
Method Detail

activeChanged

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

Specified by:
activeChanged in class ActivatableGUIElement

dispose

public void dispose()
Releases all allocated resources.

Overrides:
dispose in class GUIList

rebuildList

private void rebuildList()
Rebuild 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

setSelectedHostname

public void setSelectedHostname(@NotNull
                                java.lang.String serverName)
Select an entry by server name.

Parameters:
serverName - the server 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 check
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