Package VASSAL.counters
Class TriggerAction
java.lang.Object
VASSAL.counters.Decorator
VASSAL.counters.TriggerAction
- All Implemented Interfaces:
PropertyNameSource
,PropertySource
,EditablePiece
,GamePiece
,PropertyExporter
,StateMergeable
,TranslatablePiece
,PersistentPropertyContainer
,RecursionLimiter.Loopable
public class TriggerAction extends Decorator implements TranslatablePiece, RecursionLimiter.Loopable
Macro Execute a series of Keystrokes against this same piece - Triggered by
own KeyCommand or list of keystrokes - Match against an optional Property
Filter
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TriggerAction.Ed
-
Field Summary
Fields Modifier and Type Field Description protected NamedKeyStroke[]
actionKeys
protected String
command
static String
ID
protected boolean
index
protected String
indexProperty
protected FormattedString
indexStart
protected FormattedString
indexStep
protected int
indexValue
protected NamedKeyStroke
key
protected boolean
loop
protected FormattedString
loopCount
protected String
loopType
protected String
name
protected GamePiece
outer
protected NamedKeyStroke
postLoopKey
protected NamedKeyStroke
preLoopKey
protected PropertyExpression
propertyMatch
protected PropertyExpression
untilExpression
protected NamedKeyStroke[]
watchKeys
protected PropertyExpression
whileExpression
Fields inherited from interface VASSAL.counters.PropertyExporter
LOCALIZED_NAME
Fields inherited from interface VASSAL.i18n.TranslatablePiece
PREFIX
-
Constructor Summary
Constructors Constructor Description TriggerAction()
TriggerAction(String type, GamePiece inner)
-
Method Summary
Modifier and Type Method Description Rectangle
boundingBox()
The area which this GamePiece occupies when drawn at the point (0,0)protected Command
doLoopOnce()
void
draw(Graphics g, int x, int y, Component obs, double zoom)
Draw this GamePieceprotected Command
executeKey(NamedKeyStroke key)
String
getComponentName()
String
getComponentTypeName()
String
getDescription()
A plain-English description of this type of piecePieceEditor
getEditor()
Get the configurer for this traitHelpFile
getHelpFile()
PieceI18nData
getI18nData()
Return I18n data for this pieceObject
getLocalizedProperty(Object key)
String
getName()
The plain English name for this pieceObject
getProperty(Object key)
List<String>
getPropertyNames()
Return Property names exposed by this traitShape
getShape()
The shape of the piece from the user's viewpoint.protected boolean
isIndex()
Command
keyEvent(KeyStroke stroke)
Apply key commands to inner pieces firstprotected boolean
matchesFilter()
protected KeyCommand[]
myGetKeyCommands()
String
myGetState()
String
myGetType()
Command
myKeyEvent(KeyStroke stroke)
The response of this trait alone to the given KeyStrokevoid
mySetState(String newState)
Set just the state of this traitvoid
mySetType(String type)
Set the type information for this piece.void
setCommandName(String s)
void
setKey(NamedKeyStroke k)
void
setPropertyMatch(String s)
Methods inherited from class VASSAL.counters.Decorator
getCommandDescription, getDecorator, getI18nData, getI18nData, getId, getInner, getInnermost, getKeyCommands, getLocalizedName, getMap, getOuter, getOutermost, getParent, getPersistentProperty, getPosition, getProperties, getState, getTranslation, getType, isSelected, mergeState, putOldProperties, repack, reportDataError, reportDataError, reportDataError, setId, setInner, setMap, setOldProperties, setOldProperties, setParent, setPersistentProperty, setPosition, setProperty, setSelected, setState, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface VASSAL.counters.GamePiece
getId, getLocalizedName, getMap, getParent, getPosition, getState, getType, setId, setMap, setParent, setPosition, setProperty, setState
Methods inherited from interface VASSAL.counters.PropertyExporter
getProperties
-
Field Details
-
ID
- See Also:
- Constant Field Values
-
name
-
command
-
key
-
propertyMatch
-
watchKeys
-
actionKeys
-
loop
protected boolean loop -
preLoopKey
-
postLoopKey
-
loopType
-
whileExpression
-
untilExpression
-
loopCount
-
index
protected boolean index -
indexProperty
-
indexStart
-
indexStep
-
indexValue
protected int indexValue -
outer
-
-
Constructor Details
-
TriggerAction
public TriggerAction() -
TriggerAction
-
-
Method Details
-
boundingBox
Description copied from interface:GamePiece
The area which this GamePiece occupies when drawn at the point (0,0)- Specified by:
boundingBox
in interfaceGamePiece
-
draw
Description copied from interface:GamePiece
Draw this GamePiece -
getName
Description copied from interface:GamePiece
The plain English name for this piece -
myGetKeyCommands
- Specified by:
myGetKeyCommands
in classDecorator
- Returns:
- the commands for this trait alone
- See Also:
Decorator.getKeyCommands()
-
myGetState
- Specified by:
myGetState
in classDecorator
- Returns:
- the state of this trait alone
- See Also:
Decorator.getState()
-
myGetType
- Specified by:
myGetType
in classDecorator
- Returns:
- the type of this trait alone
- See Also:
Decorator.getType()
-
keyEvent
Apply key commands to inner pieces first- Specified by:
keyEvent
in interfaceGamePiece
- Overrides:
keyEvent
in classDecorator
- Parameters:
stroke
-- Returns:
- See Also:
ForwardToKeyBuffer
-
myKeyEvent
Description copied from class:Decorator
The response of this trait alone to the given KeyStroke- Specified by:
myKeyEvent
in classDecorator
- Parameters:
stroke
- Stroke to apply- Returns:
- Generated Command or null if no effect
- See Also:
Decorator.keyEvent(javax.swing.KeyStroke)
-
isIndex
protected boolean isIndex() -
getProperty
- Specified by:
getProperty
in interfaceGamePiece
- Specified by:
getProperty
in interfacePropertySource
- Overrides:
getProperty
in classDecorator
-
getLocalizedProperty
- Specified by:
getLocalizedProperty
in interfacePropertySource
- Overrides:
getLocalizedProperty
in classDecorator
-
doLoopOnce
- Throws:
RecursionLimitException
-
executeKey
-
matchesFilter
protected boolean matchesFilter() -
mySetState
Description copied from class:Decorator
Set just the state of this trait- Specified by:
mySetState
in classDecorator
- See Also:
Decorator.myGetState()
-
getShape
Description copied from interface:GamePiece
The shape of the piece from the user's viewpoint. This defines the area in which the user must click to select or move the piece, for example. LikeGamePiece.boundingBox()
, it assumes the position is (0,0) and must be translated to the actual location where the piece is being drawn. -
getDescription
Description copied from interface:EditablePiece
A plain-English description of this type of piece- Specified by:
getDescription
in interfaceEditablePiece
-
getHelpFile
- Specified by:
getHelpFile
in interfaceEditablePiece
-
mySetType
Description copied from interface:EditablePiece
Set the type information for this piece. SeeDecorator.myGetType()
- Specified by:
mySetType
in interfaceEditablePiece
-
getPropertyNames
Return Property names exposed by this trait- Specified by:
getPropertyNames
in interfacePropertyNameSource
- Overrides:
getPropertyNames
in classDecorator
-
setPropertyMatch
-
setCommandName
-
setKey
-
getEditor
Description copied from interface:EditablePiece
Get the configurer for this trait- Specified by:
getEditor
in interfaceEditablePiece
- Overrides:
getEditor
in classDecorator
-
getI18nData
Description copied from class:Decorator
Return I18n data for this piece- Specified by:
getI18nData
in interfaceTranslatablePiece
- Overrides:
getI18nData
in classDecorator
- Returns:
- I18n data
-
getComponentName
- Specified by:
getComponentName
in interfaceRecursionLimiter.Loopable
-
getComponentTypeName
- Specified by:
getComponentTypeName
in interfaceRecursionLimiter.Loopable
-