com.realtime.crossfire.jxclient.gui.item
Class GUIItemShortcut

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.item.GUIItem
                          extended by com.realtime.crossfire.jxclient.gui.item.GUIItemShortcut
All Implemented Interfaces:
GUIScrollable, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class GUIItemShortcut
extends GUIItem

Displays a shortcut command.

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 static java.awt.Color BACKGROUND_COLOR
          The background color of this item.
private  java.awt.Color castColor
          The background color for shortcuts that /cast a spell.
private  java.awt.Image castImage
          The overlay image for shortcuts that /cast a spell.
private  CurrentSpellManager currentSpellManager
          The CurrentSpellManager for tracking the active spell.
private static java.lang.String DEFAULT_TOOLTIP_TEXT
          The default tooltip text for empty slots.
private  FacesManager facesManager
          The FacesManager instance for looking up faces.
private  FacesManagerListener facesManagerListener
          The FacesManagerListener registered to detect updated faces.
private  java.awt.Font font
          The Font for displaying the key that activates the shortcut.
private  int h
          The item's height in pixel.
private  int index
          The shortcut index.
private  java.awt.Color invokeColor
          The background color for shortcuts that /invoke a spell.
private  java.awt.Image invokeImage
          The overlay image for shortcuts that /invoke a spell.
private static long serialVersionUID
          The serial version UID.
private  Shortcut shortcut
          The currently monitored Shortcut instance.
private  ShortcutListener shortcutListener
          The ShortcutListener attached to shortcut.
private  Shortcuts shortcuts
          The Shortcuts instance for looking up Shortcuts.
private  ShortcutsListener shortcutsListener
          The ShortcutsListener attached to shortcuts.
private  int w
          The item's width in pixel.
 
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
GUIItemShortcut(TooltipManager tooltipManager, GUIElementListener elementListener, java.lang.String name, Extent extent, java.awt.Color castColor, java.awt.Image castImage, java.awt.Color invokeColor, java.awt.Image invokeImage, int index, FacesManager facesManager, Shortcuts shortcuts, java.awt.Font font, CurrentSpellManager currentSpellManager)
          Creates a new instance.
 
Method Summary
 void button1Clicked(int modifiers)
          Called when the left mouse button was pressed.
 void button2Clicked(int modifiers)
          Called when the middle mouse button was pressed.
 void button3Clicked(int modifiers)
          Called when the right mouse button was pressed.
 boolean canScroll(int distance)
          Returns whether scrolling is possible.
 void dispose()
          Releases all allocated resources.
protected  void render(java.awt.Graphics2D g2)
          Paints the element's contents into the passed graphics.
 void resetScroll()
          Resets the scroll index to the default value.
 void scroll(int distance)
          
private  void setShortcut(Shortcut shortcut)
          Updates shortcut and registers/de-registers shortcutListener.
private  void updateTooltipText()
          Updates the tooltip text to reflect current settings.
 
Methods inherited from class com.realtime.crossfire.jxclient.gui.item.GUIItem
activeChanged, mouseClicked, setElementVisible
 
Methods inherited from class com.realtime.crossfire.jxclient.gui.gui.ActivatableGUIElement
isActive, mousePressed, setActive
 
Methods inherited from class com.realtime.crossfire.jxclient.gui.gui.GUIElement
createBufferGraphics, getElementX, getElementY, getGui, getName, getTooltipText, hasBufferedImage, isChanged, isDefault, isElementAtPoint, isElementVisible, isIgnore, mouseDragged, mouseEntered, mouseExited, mouseMoved, mouseReleased, paintComponent, resetChanged, setChanged, setChangedListener, setChangedNoListeners, setDefault, setElementLocation, setElementSize, setGui, setIgnore, setTooltipText, setTooltipText, toString, updateResolution, 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

BACKGROUND_COLOR

@NotNull
private static final java.awt.Color BACKGROUND_COLOR
The background color of this item.


castColor

@Nullable
private final java.awt.Color castColor
The background color for shortcuts that /cast a spell.


castImage

@Nullable
private final java.awt.Image castImage
The overlay image for shortcuts that /cast a spell.


currentSpellManager

@NotNull
private final CurrentSpellManager currentSpellManager
The CurrentSpellManager for tracking the active spell.


DEFAULT_TOOLTIP_TEXT

@NotNull
private static final java.lang.String DEFAULT_TOOLTIP_TEXT
The default tooltip text for empty slots.

See Also:
Constant Field Values

facesManager

@NotNull
private final FacesManager facesManager
The FacesManager instance for looking up faces.


facesManagerListener

@NotNull
private final FacesManagerListener facesManagerListener
The FacesManagerListener registered to detect updated faces.


font

@NotNull
private final java.awt.Font font
The Font for displaying the key that activates the shortcut.


h

private final int h
The item's height in pixel.


index

private final int index
The shortcut index.


invokeColor

@Nullable
private final java.awt.Color invokeColor
The background color for shortcuts that /invoke a spell.


invokeImage

@Nullable
private final java.awt.Image invokeImage
The overlay image for shortcuts that /invoke a spell.


serialVersionUID

private static final long serialVersionUID
The serial version UID.

See Also:
Constant Field Values

shortcut

@Nullable
private Shortcut shortcut
The currently monitored Shortcut instance. Set to null if not active.


shortcutListener

@NotNull
private final ShortcutListener shortcutListener
The ShortcutListener attached to shortcut.


shortcuts

@NotNull
private final Shortcuts shortcuts
The Shortcuts instance for looking up Shortcuts.


shortcutsListener

@NotNull
private final ShortcutsListener shortcutsListener
The ShortcutsListener attached to shortcuts.


w

private final int w
The item's width in pixel.

Constructor Detail

GUIItemShortcut

public GUIItemShortcut(@NotNull
                       TooltipManager tooltipManager,
                       @NotNull
                       GUIElementListener elementListener,
                       @NotNull
                       java.lang.String name,
                       @NotNull
                       Extent extent,
                       @Nullable
                       java.awt.Color castColor,
                       @Nullable
                       java.awt.Image castImage,
                       @Nullable
                       java.awt.Color invokeColor,
                       @Nullable
                       java.awt.Image invokeImage,
                       int index,
                       @NotNull
                       FacesManager facesManager,
                       @NotNull
                       Shortcuts shortcuts,
                       @NotNull
                       java.awt.Font font,
                       @NotNull
                       CurrentSpellManager currentSpellManager)
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
castColor - the background color for shortcuts that /cast a spell
castImage - the overlay image for shortcuts that /cast a spell
invokeColor - the background color for shortcuts that /invoke a spell
invokeImage - the overlay image for shortcuts that /invoke a spell
index - the spell index
facesManager - the faces manager instance for looking up faces
shortcuts - the shortcuts instance for looking up shortcuts
font - the font for displaying the key that activates the shortcut
currentSpellManager - the current spell manager for tracking the active spell
Method Detail

button1Clicked

public void button1Clicked(int modifiers)
Called when the left mouse button was pressed.

Specified by:
button1Clicked in class GUIItem
Parameters:
modifiers - the input event modifiers

button2Clicked

public void button2Clicked(int modifiers)
Called when the middle mouse button was pressed.

Specified by:
button2Clicked in class GUIItem
Parameters:
modifiers - the input event modifiers

button3Clicked

public void button3Clicked(int modifiers)
Called when the right mouse button was pressed.

Specified by:
button3Clicked in class GUIItem
Parameters:
modifiers - the input event modifiers

canScroll

public boolean canScroll(int distance)
Returns whether scrolling is possible.

Parameters:
distance - the distance to scroll
Returns:
whether scrolling is possible

dispose

public void dispose()
Releases all allocated resources.

Overrides:
dispose in class GUIElement

render

protected void render(@NotNull
                      java.awt.Graphics2D g2)
Paints the element's contents into the passed graphics.

Specified by:
render in class GUIElement
Parameters:
g2 - the graphics to paint to

resetScroll

public void resetScroll()
Resets the scroll index to the default value.


scroll

public void scroll(int distance)


setShortcut

private void setShortcut(@Nullable
                         Shortcut shortcut)
Updates shortcut and registers/de-registers shortcutListener.

Parameters:
shortcut - the new shortcut

updateTooltipText

private void updateTooltipText()
Updates the tooltip text to reflect current settings.