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

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

public class GUIItemFloor
extends GUIItemItem

A GUIElement representing an in-game object in the ground view.

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  CommandQueue commandQueue
          The command queue for sending commands.
private  CrossfireServerConnection crossfireServerConnection
          The connection instance.
private  int defaultIndex
          The default scroll index.
private  FacesManager facesManager
          The FacesManager instance to use.
private  ItemView floorView
          The floor view to watch.
private  int index
          The currently shown index.
private  ItemSet itemSet
          The ItemSet to use.
private  LocationListener locationListener
          The LocationListener used to detect items added to or removed from this floor tile.
private  java.awt.Image nextGroupFace
          The face to substitute into "Click here for next group of items".
private  java.awt.Image prevGroupFace
          The face to substitute into "Click here for previous group of items".
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
GUIItemFloor(TooltipManager tooltipManager, GUIElementListener elementListener, CommandQueue commandQueue, java.lang.String name, Extent extent, ItemPainter itemPainter, int index, CrossfireServerConnection crossfireServerConnection, ItemView floorView, ItemSet itemSet, FacesManager facesManager, java.awt.Image nextGroupFace, java.awt.Image prevGroupFace)
          Creates a new instance.
 
Method Summary
 void button1Clicked(int modifiers)
          Called when the left 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  java.awt.Image getFace(CfItem item)
          Returns the face for a CfItem instance.
 int getIndex()
          Returns the slot index.
protected  boolean isSelected()
          Returns whether this element should drawn as "selected".
 void resetScroll()
          Resets the scroll index to the default value.
 void scroll(int distance)
          
private  void setIndex(int index, boolean forced)
          Set the floor tile to display.
 void setIndexNoListeners(int index)
          Sets the slot index to display without registering listeners for updates.
 void setSelected(boolean selected)
          Sets the selected state.
 
Methods inherited from class com.realtime.crossfire.jxclient.gui.item.GUIItemItem
button2Clicked, getItem, render, setItem, setItemNoListeners, updateTooltipText
 
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

commandQueue

@NotNull
private final CommandQueue commandQueue
The command queue for sending commands.


crossfireServerConnection

@NotNull
private final CrossfireServerConnection crossfireServerConnection
The connection instance.


defaultIndex

private final int defaultIndex
The default scroll index.


facesManager

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


floorView

@NotNull
private final ItemView floorView
The floor view to watch.


index

private int index
The currently shown index. It is the item's index for ground view, and +1 for container view; index 0 for container view is the container itself.


itemSet

@NotNull
private final ItemSet itemSet
The ItemSet to use.


locationListener

@NotNull
private final LocationListener locationListener
The LocationListener used to detect items added to or removed from this floor tile.


nextGroupFace

@NotNull
private final java.awt.Image nextGroupFace
The face to substitute into "Click here for next group of items".


prevGroupFace

@NotNull
private final java.awt.Image prevGroupFace
The face to substitute into "Click here for previous group of items".


serialVersionUID

private static final long serialVersionUID
The serial version UID.

See Also:
Constant Field Values
Constructor Detail

GUIItemFloor

public GUIItemFloor(@NotNull
                    TooltipManager tooltipManager,
                    @NotNull
                    GUIElementListener elementListener,
                    @NotNull
                    CommandQueue commandQueue,
                    @NotNull
                    java.lang.String name,
                    @NotNull
                    Extent extent,
                    @NotNull
                    ItemPainter itemPainter,
                    int index,
                    @NotNull
                    CrossfireServerConnection crossfireServerConnection,
                    @NotNull
                    ItemView floorView,
                    @NotNull
                    ItemSet itemSet,
                    @NotNull
                    FacesManager facesManager,
                    @NotNull
                    java.awt.Image nextGroupFace,
                    @NotNull
                    java.awt.Image prevGroupFace)
Creates a new instance.

Parameters:
tooltipManager - the tooltip manager to update
elementListener - the element listener to notify
commandQueue - the command queue for sending commands
name - the name of this element
extent - the extent of this element
itemPainter - the item painter for painting the icon
index - the initial scroll index
crossfireServerConnection - the connection instance
floorView - the floor view to use
itemSet - the item set to use
facesManager - the faces manager instance to use
nextGroupFace - the image for "prev group of items"
prevGroupFace - the image for "next group of items"
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

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 GUIItemItem

getFace

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

Specified by:
getFace in class GUIItemItem
Parameters:
item - the item instance
Returns:
the face

getIndex

public int getIndex()
Returns the slot index.

Specified by:
getIndex in class GUIItemItem
Returns:
the slot index

isSelected

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

Specified by:
isSelected in class GUIItemItem
Returns:
whether this element is selected

resetScroll

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


scroll

public void scroll(int distance)


setIndex

private void setIndex(int index,
                      boolean forced)
Set the floor tile to display.

Parameters:
index - the floor tile
forced - if unset, do nothing if the index is unchanged; if set, always render the item

setIndexNoListeners

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

Specified by:
setIndexNoListeners in class GUIItemItem
Parameters:
index - the slot index

setSelected

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

Specified by:
setSelected in class GUIItemItem
Parameters:
selected - whether this element should drawn as "selected"