net.sf.colossus.gui
Class Marker

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by net.sf.colossus.gui.Chit
                      extended by net.sf.colossus.gui.Marker
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public final class Marker
extends Chit

Class Marker implements the GUI for a legion marker. TODO this really represents a whole legion (since it shows the height), so it probably should store a Legion object instead of the marker ID TODO after carve out of GUI stuff Marker should probably not be accessed by client at all - need cleanup with Legion ?

Author:
David Ripton
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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  java.awt.Font font
           
private  int fontHeight
           
private  int fontWidth
           
(package private)  java.lang.String hexLabel
           
private  boolean highlight
           
private  Legion legion
           
private static java.util.logging.Logger LOGGER
           
private  boolean showHeight
           
 
Fields inherited from class net.sf.colossus.gui.Chit
client, inverted, oneWide, options, rect
 
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
(package private) Marker(Legion legion, int scale, java.lang.String id)
          Construct a marker without a client.
(package private) Marker(Legion legion, int scale, java.lang.String id, boolean inverted, Client client)
          Construct a marker with a client (to be able to ask for doNotInvertOption) but showHeight set to false and specified inverted display (for defender) Use case: Marker on the battle map
(package private) Marker(Legion legion, int scale, java.lang.String id, Client client, boolean showHeight)
          Construct a marker where height is shown - will be asked from legion.
private Marker(Legion legion, int scale, java.lang.String id, Client client, boolean inverted, boolean showHeight)
          Construct a marker
 
Method Summary
(package private)  void highlightMarker()
           
 void paintComponent(java.awt.Graphics g)
           
(package private)  void resetMarkerHighlight()
           
(package private)  void setLocation(java.awt.Point point, java.lang.String hexLabel)
          this is only used by Battle markers marking entrances.
 
Methods inherited from class net.sf.colossus.gui.Chit
getBounds, getCenter, getId, getMaximumSize, getMinimumSize, getPreferredSize, getTitanPower, isDead, isMarkerId, newCreatureChit, newCreatureChit, newDiceChit, newSymbolChit, rescale, setBorder, setBorderColor, setDead, setLocation, toggleDead, toString
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, 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, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, 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
 
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, 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, getName, 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, 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

LOGGER

private static final java.util.logging.Logger LOGGER

legion

private final Legion legion

showHeight

private final boolean showHeight

font

private java.awt.Font font

fontHeight

private int fontHeight

fontWidth

private int fontWidth

hexLabel

java.lang.String hexLabel

highlight

private boolean highlight
Constructor Detail

Marker

Marker(Legion legion,
       int scale,
       java.lang.String id)
Construct a marker without a client. Use this constructor as a bit of documentation when explicitly not wanting a height drawn on the Marker. Use case: The dialogs where legion height is not so important or legion does not even exist (PickMarker, SplitLegion, in RevealEvent for the destroyed legion)


Marker

Marker(Legion legion,
       int scale,
       java.lang.String id,
       boolean inverted,
       Client client)
Construct a marker with a client (to be able to ask for doNotInvertOption) but showHeight set to false and specified inverted display (for defender) Use case: Marker on the battle map

Parameters:
client - A client, only used to ask for options

Marker

Marker(Legion legion,
       int scale,
       java.lang.String id,
       Client client,
       boolean showHeight)
Construct a marker where height is shown - will be asked from legion. Sometimes (on the master board, for example) heights should be shown, and sometimes (in some dialogs, especially when there is no real legion behind it (e.g. pickMarker, splitLegion)) they should be omitted (or cannot even be asked). Use case: Mostly MasterBoard and some dialogs where height is interesting: Concede/Flee, Negotiate and replyToProposal

Parameters:
client - A client, only used to ask for options

Marker

private Marker(Legion legion,
               int scale,
               java.lang.String id,
               Client client,
               boolean inverted,
               boolean showHeight)
Construct a marker

Parameters:
id - the marker label (like Bk05 or Bk05-Green)
showHeight - set true will add the height of the stack
inverted - set to true (defender legion) will normally invert the marker but NOT if doNotInvertDefender option is true
Method Detail

setLocation

void setLocation(java.awt.Point point,
                 java.lang.String hexLabel)
this is only used by Battle markers marking entrances.


highlightMarker

void highlightMarker()

resetMarkerHighlight

void resetMarkerHighlight()

paintComponent

public void paintComponent(java.awt.Graphics g)
Overrides:
paintComponent in class Chit