VASSAL.build.module.map
Class MassKeyCommand

java.lang.Object
  |
  +--VASSAL.build.AbstractBuildable
        |
        +--VASSAL.build.AbstractConfigurable
              |
              +--VASSAL.build.module.map.MassKeyCommand
All Implemented Interfaces:
AutoConfigurable, Buildable, Configurable, PieceVisitor

public class MassKeyCommand
extends AbstractConfigurable
implements PieceVisitor

Adds a button to a map window toolbar. Hitting the button applies a particular key command to all pieces on that map with a given name.


Inner Class Summary
static class MassKeyCommand.IconConfig
           
static class MassKeyCommand.Prompt
           
 
Inner classes inherited from class VASSAL.build.AutoConfigurable
AutoConfigurable.Util
 
Field Summary
static java.lang.String AFFECTED_PIECE_NAMES
           
static java.lang.String BUTTON_TEXT
           
static java.lang.String CHECK_PROPERTY
           
static java.lang.String CHECK_VALUE
           
protected  java.lang.String checkProperty
           
protected  java.lang.String checkValue
           
static java.lang.String CONDITION
           
static java.lang.String DEPRECATED_NAME
           
protected  PieceVisitorDispatcher dispatcher
           
static java.lang.String HOTKEY
           
static java.lang.String ICON
           
static java.lang.String KEY_COMMAND
           
static java.lang.String NAME
           
 
Fields inherited from class VASSAL.build.AbstractConfigurable
changeSupport, config, name
 
Fields inherited from class VASSAL.build.AbstractBuildable
buildComponents
 
Fields inherited from interface VASSAL.build.Configurable
NAME_PROPERTY
 
Constructor Summary
MassKeyCommand()
           
 
Method Summary
 void addTo(Buildable parent)
          Adds this component to its parent.
 void apply()
           
 java.lang.Class[] getAllowableConfigureComponents()
          Return a list of valid sub-component Classes.
 java.lang.String[] getAttributeDescriptions()
          Return an array of Strings describing the attributes of this object.
 java.lang.String[] getAttributeNames()
           
 java.lang.Class[] getAttributeTypes()
          Return the Class for the attributes of this object.
 java.lang.String getAttributeValueString(java.lang.String key)
          Called by the AbstractBuildable.getBuildElement(org.w3c.dom.Document) method to write the attributes into an XML element
static java.lang.String getConfigureTypeName()
           
 HelpFile getHelpFile()
           
protected  boolean isAffected(GamePiece target)
          Return true if the name of the argument GamePiece is in the list of target piece names
protected  boolean isValidTarget(GamePiece target)
           
 void removeFrom(Buildable parent)
          Remove this component from its parent
 void setAttribute(java.lang.String key, java.lang.Object value)
          Called by the AbstractBuildable.build(org.w3c.dom.Element) method, where value is the String value read by the XML attribute.
 java.lang.Object visitDefault(GamePiece p)
          GamePieces that are not handled by one of the type-specific methods (e.g.
 java.lang.Object visitStack(Stack s)
          Perform the operation on a Stack
 
Methods inherited from class VASSAL.build.AbstractConfigurable
addPropertyChangeListener, getAttributeVisibility, getConfigureComponents, getConfigureName, getConfigurer, remove, setConfigureName
 
Methods inherited from class VASSAL.build.AbstractBuildable
add, build, getBuildComponents, getBuildElement, getComponents
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface VASSAL.build.Buildable
add, build, getBuildElement
 

Field Detail

DEPRECATED_NAME

public static final java.lang.String DEPRECATED_NAME

NAME

public static final java.lang.String NAME

ICON

public static final java.lang.String ICON

BUTTON_TEXT

public static final java.lang.String BUTTON_TEXT

HOTKEY

public static final java.lang.String HOTKEY

KEY_COMMAND

public static final java.lang.String KEY_COMMAND

AFFECTED_PIECE_NAMES

public static final java.lang.String AFFECTED_PIECE_NAMES

CONDITION

public static final java.lang.String CONDITION

CHECK_PROPERTY

public static final java.lang.String CHECK_PROPERTY

CHECK_VALUE

public static final java.lang.String CHECK_VALUE

checkProperty

protected java.lang.String checkProperty

checkValue

protected java.lang.String checkValue

dispatcher

protected PieceVisitorDispatcher dispatcher
Constructor Detail

MassKeyCommand

public MassKeyCommand()
Method Detail

addTo

public void addTo(Buildable parent)
Description copied from interface: Buildable
Adds this component to its parent. In order to make Buildable objects extensible, the child is reponsible for adding itself to the parent. That way, Buildable subcomponents can be defined in an extension package without needing to modify the containing class.

apply

public void apply()

visitStack

public java.lang.Object visitStack(Stack s)
Description copied from interface: PieceVisitor
Perform the operation on a Stack
Specified by:
visitStack in interface PieceVisitor

visitDefault

public java.lang.Object visitDefault(GamePiece p)
Description copied from interface: PieceVisitor
GamePieces that are not handled by one of the type-specific methods (e.g. PieceVisitor.visitStack(VASSAL.counters.Stack)) are handled here
Specified by:
visitDefault in interface PieceVisitor

isValidTarget

protected boolean isValidTarget(GamePiece target)
Parameters:
target -  
Returns:
true if the KeyCommand should be applied to the target GamePiece

isAffected

protected boolean isAffected(GamePiece target)
Return true if the name of the argument GamePiece is in the list of target piece names

getAllowableConfigureComponents

public java.lang.Class[] getAllowableConfigureComponents()
Description copied from interface: Configurable
Return a list of valid sub-component Classes. If a Class appears in this list, then instances of that class may be added to this component from the Configuration Window.

getAttributeDescriptions

public java.lang.String[] getAttributeDescriptions()
Description copied from class: AbstractConfigurable
Return an array of Strings describing the attributes of this object. These strings are used as prompts in the Properties window for this object. The order of descriptions should be the same as the order of names in AbstractBuildable.getAttributeNames()
Overrides:
getAttributeDescriptions in class AbstractConfigurable

getAttributeNames

public java.lang.String[] getAttributeNames()
Overrides:
getAttributeNames in class AbstractBuildable
Following copied from interface: VASSAL.build.AutoConfigurable
Returns:
an array of Strings giving all attributes of this Buildable component that will be written to/read from an XML element

getAttributeTypes

public java.lang.Class[] getAttributeTypes()
Description copied from class: AbstractConfigurable
Return the Class for the attributes of this object. Valid classes are: String, Integer, Double, Boolean, Image, Color, and KeyStroke The order of classes should be the same as the order of names in AbstractBuildable.getAttributeNames()
Overrides:
getAttributeTypes in class AbstractConfigurable

getAttributeValueString

public java.lang.String getAttributeValueString(java.lang.String key)
Description copied from interface: AutoConfigurable
Called by the Buildable.getBuildElement(org.w3c.dom.Document) method to write the attributes into an XML element
Overrides:
getAttributeValueString in class AbstractBuildable
Following copied from class: VASSAL.build.AbstractBuildable
Parameters:
key - the name of the attribute. Will be one of those listed in AbstractBuildable.getAttributeNames()

getConfigureTypeName

public static java.lang.String getConfigureTypeName()

getHelpFile

public HelpFile getHelpFile()
Following copied from interface: VASSAL.build.Configurable
Returns:
a HelpFilte describing how to use and configure this component

removeFrom

public void removeFrom(Buildable parent)
Description copied from interface: Configurable
Remove this component from its parent

setAttribute

public void setAttribute(java.lang.String key,
                         java.lang.Object value)
Description copied from interface: AutoConfigurable
Called by the Buildable.build(org.w3c.dom.Element) method, where value is the String value read by the XML attribute. Can also be called with Object value to set the attribute.
Overrides:
setAttribute in class AbstractBuildable
Following copied from class: VASSAL.build.AbstractBuildable
Parameters:
key - the name of the attribute. Will be one of those listed in AbstractBuildable.getAttributeNames()