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

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.GUIItemItem
All Implemented Interfaces:
GUIScrollable, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable
Direct Known Subclasses:
GUIItemFloor, GUIItemInventory

public abstract class GUIItemItem
extends GUIItem

A GUIElement instance representing an in-game item.

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  CrossfireServerConnection crossfireServerConnection
          The connection instance.
private  FacesManager facesManager
          The FacesManager instance to use.
private  FacesManagerListener facesManagerListener
          The FacesManagerListener registered to detect updated faces.
private  CfItem item
          The current item instance.
private  CfItemListener itemListener
          The CfItemListener used to detect attribute changes of the displayed item.
private  ItemPainter itemPainter
          The ItemPainter for painting the icon.
private static long serialVersionUID
          The serial version UID.
 
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
protected GUIItemItem(TooltipManager tooltipManager, GUIElementListener elementListener, java.lang.String name, Extent extent, CrossfireServerConnection crossfireServerConnection, ItemPainter itemPainter, FacesManager facesManager)
          Creates a new instance.
 
Method Summary
protected  void button2Clicked(int modifiers)
          Called when the middle mouse button was pressed.
 void dispose()
          Releases all allocated resources.
protected abstract  java.awt.Image getFace(CfItem item)
          Returns the face for a CfItem instance.
abstract  int getIndex()
          Returns the slot index.
 CfItem getItem()
          Returns the current item instance.
protected abstract  boolean isSelected()
          Returns whether this element should drawn as "selected".
protected  void render(java.awt.Graphics2D g2)
          Paints the element's contents into the passed graphics.
abstract  void setIndexNoListeners(int index)
          Sets the slot index to display without registering listeners for updates.
protected  void setItem(CfItem item)
          Sets the current item instance.
protected  void setItemNoListeners(CfItem item)
          Sets the current item instance without registering listeners for updates.
abstract  void setSelected(boolean selected)
          Sets the selected state.
protected  void updateTooltipText()
          Updates the tooltip text for the current item.
 
Methods inherited from class com.realtime.crossfire.jxclient.gui.item.GUIItem
activeChanged, button1Clicked, button3Clicked, 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
 
Methods inherited from interface com.realtime.crossfire.jxclient.gui.scrollable.GUIScrollable
canScroll, resetScroll, scroll
 

Field Detail

crossfireServerConnection

@NotNull
private final CrossfireServerConnection crossfireServerConnection
The connection instance.


facesManager

@NotNull
private final FacesManager facesManager
The FacesManager instance to use.


facesManagerListener

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


item

@Nullable
private CfItem item
The current item instance.


itemListener

@NotNull
private final CfItemListener itemListener
The CfItemListener used to detect attribute changes of the displayed item.


itemPainter

@NotNull
private final ItemPainter itemPainter
The ItemPainter for painting the icon.


serialVersionUID

private static final long serialVersionUID
The serial version UID.

See Also:
Constant Field Values
Constructor Detail

GUIItemItem

protected GUIItemItem(@NotNull
                      TooltipManager tooltipManager,
                      @NotNull
                      GUIElementListener elementListener,
                      @NotNull
                      java.lang.String name,
                      @NotNull
                      Extent extent,
                      @NotNull
                      CrossfireServerConnection crossfireServerConnection,
                      @NotNull
                      ItemPainter itemPainter,
                      @NotNull
                      FacesManager facesManager)
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
crossfireServerConnection - the connection instance
itemPainter - the item painter for painting the icon
facesManager - the faces manager instance to use
Method Detail

button2Clicked

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

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

dispose

public void dispose()
Releases all allocated resources.

Overrides:
dispose in class GUIElement

getFace

@NotNull
protected abstract java.awt.Image getFace(@NotNull
                                                  CfItem item)
Returns the face for a CfItem instance.

Parameters:
item - the item instance
Returns:
the face

getIndex

public abstract int getIndex()
Returns the slot index.

Returns:
the slot index

getItem

@Nullable
public CfItem getItem()
Returns the current item instance.

Returns:
the current item instance

isSelected

protected abstract boolean isSelected()
Returns whether this element should drawn as "selected".

Returns:
whether this element is selected

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

setIndexNoListeners

public abstract void setIndexNoListeners(int index)
Sets the slot index to display without registering listeners for updates.

Parameters:
index - the slot index

setItem

protected void setItem(@Nullable
                       CfItem item)
Sets the current item instance.

Parameters:
item - the new current item instance

setItemNoListeners

protected void setItemNoListeners(@Nullable
                                  CfItem item)
Sets the current item instance without registering listeners for updates.

Parameters:
item - the new current item instance

setSelected

public abstract void setSelected(boolean selected)
Sets the selected state.

Parameters:
selected - whether this element should drawn as "selected"

updateTooltipText

protected void updateTooltipText()
Updates the tooltip text for the current item.