VASSAL.counters
Class Marker

java.lang.Object
  |
  +--VASSAL.counters.Decorator
        |
        +--VASSAL.counters.Marker
All Implemented Interfaces:
EditablePiece, GamePiece

public class Marker
extends Decorator
implements EditablePiece

A generic Decorator that retains in its state the value of a property. That is, if setProperty() is invoked with a key that's one of getKeys(), the String value of that property will be reflected in the myGetState() method.


Field Summary
static java.lang.String ID
           
protected  java.lang.String[] keys
           
protected  java.lang.String[] values
           
 
Constructor Summary
Marker()
           
Marker(java.lang.String type, GamePiece p)
           
 
Method Summary
 java.awt.Rectangle boundingBox()
          The area which this GamePiece occupies when drawn at the point given by getPosition().
 void draw(java.awt.Graphics g, int x, int y, java.awt.Component obs, double zoom)
           
 java.lang.String getDescription()
          A plain-English description of this type of piece
 HelpFile getHelpFile()
           
 java.lang.String[] getKeys()
           
 java.lang.String getName()
          The plain English name for this piece
 java.lang.Object getProperty(java.lang.Object key)
           
protected  KeyCommand[] myGetKeyCommands()
           
 java.lang.String myGetState()
           
 java.lang.String myGetType()
           
 Command myKeyEvent(javax.swing.KeyStroke stroke)
          The response of this trait alone to the given KeyStroke
 void mySetState(java.lang.String state)
          Set just the state of this trait
 void mySetType(java.lang.String s)
          Set the type information for this piece.
 java.awt.Rectangle selectionBounds()
          The area which is considered part of this GamePiece for purposes of selecting it with the mouse
 void setProperty(java.lang.Object key, java.lang.Object value)
          The GamePiece should store properties for retrieval (e.g in a Hashtable) It is not necessary that properties stored with this method be retained in the piece's Decorator.getState() method.
 
Methods inherited from class VASSAL.counters.Decorator
getDecorator, getEditor, getId, getInner, getInnermost, getKeyCommands, getMap, getOutermost, getParent, getPosition, getState, getType, keyEvent, mergeState, setId, setInner, setMap, setParent, setPosition, setState
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface VASSAL.counters.EditablePiece
getEditor
 
Methods inherited from interface VASSAL.counters.GamePiece
getId, getMap, getParent, getPosition, getState, getType, keyEvent, setId, setMap, setParent, setPosition, setState
 

Field Detail

ID

public static final java.lang.String ID
See Also:
Constant Field Values

keys

protected java.lang.String[] keys

values

protected java.lang.String[] values
Constructor Detail

Marker

public Marker()

Marker

public Marker(java.lang.String type,
              GamePiece p)
Method Detail

getKeys

public java.lang.String[] getKeys()

mySetType

public void mySetType(java.lang.String s)
Description copied from interface: EditablePiece
Set the type information for this piece. See Decorator.myGetType()

Specified by:
mySetType in interface EditablePiece

draw

public void draw(java.awt.Graphics g,
                 int x,
                 int y,
                 java.awt.Component obs,
                 double zoom)
Specified by:
draw in interface GamePiece

getName

public java.lang.String getName()
Description copied from interface: GamePiece
The plain English name for this piece

Specified by:
getName in interface GamePiece

boundingBox

public java.awt.Rectangle boundingBox()
Description copied from interface: GamePiece
The area which this GamePiece occupies when drawn at the point given by getPosition().

Specified by:
boundingBox in interface GamePiece

selectionBounds

public java.awt.Rectangle selectionBounds()
Description copied from interface: GamePiece
The area which is considered part of this GamePiece for purposes of selecting it with the mouse

Specified by:
selectionBounds in interface GamePiece

getProperty

public java.lang.Object getProperty(java.lang.Object key)
Specified by:
getProperty in interface GamePiece
Overrides:
getProperty in class Decorator

setProperty

public void setProperty(java.lang.Object key,
                        java.lang.Object value)
Description copied from interface: GamePiece
The GamePiece should store properties for retrieval (e.g in a Hashtable) It is not necessary that properties stored with this method be retained in the piece's GamePiece.getState() method.

Specified by:
setProperty in interface GamePiece
Overrides:
setProperty in class Decorator

myGetState

public java.lang.String myGetState()
Specified by:
myGetState in class Decorator
Returns:
the state of this trait alone
See Also:
Decorator.getState()

mySetState

public void mySetState(java.lang.String state)
Description copied from class: Decorator
Set just the state of this trait

Specified by:
mySetState in class Decorator
See Also:
Decorator.myGetState()

myGetType

public java.lang.String myGetType()
Specified by:
myGetType in class Decorator
Returns:
the type of this trait alone
See Also:
Decorator.getType()

myGetKeyCommands

protected KeyCommand[] myGetKeyCommands()
Specified by:
myGetKeyCommands in class Decorator
Returns:
the commands for this trait alone
See Also:
Decorator.getKeyCommands()

myKeyEvent

public Command myKeyEvent(javax.swing.KeyStroke stroke)
Description copied from class: Decorator
The response of this trait alone to the given KeyStroke

Specified by:
myKeyEvent in class Decorator
Parameters:
stroke -
Returns:
null if no effect
See Also:
Decorator.keyEvent(javax.swing.KeyStroke)

getDescription

public java.lang.String getDescription()
Description copied from interface: EditablePiece
A plain-English description of this type of piece

Specified by:
getDescription in interface EditablePiece

getHelpFile

public HelpFile getHelpFile()
Specified by:
getHelpFile in interface EditablePiece