Package VASSAL.counters
Class ActionButton
java.lang.Object
VASSAL.search.AbstractImageFinder
VASSAL.counters.Decorator
VASSAL.counters.ActionButton
- All Implemented Interfaces:
PropertyNameSource,PropertySource,EditablePiece,GamePiece,PropertyExporter,StateMergeable,PersistentPropertyContainer,ImageSearchTarget,SearchTarget,RecursionLimiter.Loopable
A Trait (aka
Decorator that acts like a button on a GamePiece, such that clicking on a
particular area of the piece invokes a key command- Author:
- rkinney
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classRegisters mouse listeners with Maps and other components.static class -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Rectangleprotected Stringprotected static ActionButton.ButtonPusherstatic Stringprotected ActionButton.ButtonPusherprotected NamedKeyStrokeFields inherited from interface VASSAL.counters.PropertyExporter
LOCALIZED_NAME -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidDraw this GamePieceA plain-English description of this type of piecegetName()The plain English name for this piecegetShape()protected KeyCommand[]The "state information" is "game state" information that can change during the course of a game.The "type information" of a piece or trait is information that does not change during the course of a game.myKeyEvent(KeyStroke stroke)The response of this trait alone to the given KeyStroke or the virtual keystroke of aNamedKeyStroke.voidmySetState(String newState)Sets the state of this-trait-only (inverse ofDecorator.myGetState()).voidSets the information for this piece.voidbooleantestEquals(Object o)Test if this Decorator's Class, Type and State are equal to another trait.Methods inherited from class VASSAL.counters.Decorator
addImageNamesRecursively, buildDescription, buildDescription, buildDescription, getCommandDescription, getDecorator, getExpressionList, getFormattedStringList, getI18nData, getI18nData, getI18nData, getId, getInner, getInnermost, getKeyCommands, getLocalizedName, getLocalizedProperty, getMap, getMenuTextList, getOuter, getOutermost, getParent, getPersistentProperty, getPosition, getProperties, getProperty, getPropertyList, getPropertyNames, getState, getTranslation, getType, isSelected, keyEvent, mergeState, putOldProperties, repack, repack, reportDataError, reportDataError, reportDataError, setId, setInner, setOldProperties, setOldProperties, setParent, setPersistentProperty, setPosition, setProperty, setSelected, setState, toStringMethods inherited from class VASSAL.search.AbstractImageFinder
addLocalImageNames, getAllImageNames, getLocalImageNamesMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface VASSAL.counters.GamePiece
getId, getLocalizedName, getMap, getParent, getPosition, getProperty, getState, getType, keyEvent, setId, setParent, setPosition, setProperty, setStateMethods inherited from interface VASSAL.search.ImageSearchTarget
addLocalImageNames, getAllImageNames, getLocalImageNamesMethods inherited from interface VASSAL.counters.PropertyExporter
getPropertiesMethods inherited from interface VASSAL.build.module.properties.PropertySource
getLocalizedProperty
-
Field Details
-
ID
- See Also:
- Constant Field Values
-
stroke
-
bounds
-
pusher
-
description
-
globalPusher
-
-
Constructor Details
-
ActionButton
public ActionButton() -
ActionButton
-
-
Method Details
-
mySetState
Description copied from class:DecoratorSets the state of this-trait-only (inverse ofDecorator.myGetState()). The "state information" is information that can change during the course of a game. State information is saved when the game is saved and is transferred between players on the server. For example, the relative order of pieces in a stack is state information, but whether the stack is expanded is not.- Specified by:
mySetStatein classDecorator- Parameters:
newState- New state information serialized in string form, ready to be passed to a SequenceEncoder#decode.
-
myGetState
Description copied from class:DecoratorThe "state information" is "game state" information that can change during the course of a game. State information is saved when the game is saved and is transferred between players on the server. For example, the relative order of pieces in a stack is state information, but whether the stack is expanded is not.- Specified by:
myGetStatein classDecorator- Returns:
- the game state information of this trait alone
- See Also:
which returns state information for all inward piece members as well
-
myGetType
Description copied from class:DecoratorThe "type information" of a piece or trait is information that does not change during the course of a game. Image file names, context menu strings, etc., all should be reflected in the type. The type information is returned serialized string form, ready to be decoded by a SequenceEncoder#decode.- Specified by:
myGetTypein classDecorator- Returns:
- the type information of this trait alone
- See Also:
BasicCommandEncoder,which returns type information for all inward piece members as well
-
myGetKeyCommands
- Specified by:
myGetKeyCommandsin classDecorator- Returns:
- the key commands for this trait alone
- See Also:
which returns the key commands for this trait AND all inner piece members
-
myKeyEvent
Description copied from class:DecoratorThe response of this trait alone to the given KeyStroke or the virtual keystroke of aNamedKeyStroke. NamedKeyStrokes are allocated a unique internal KeyStroke when they are first used in a module, and that KeyStroke is passed up and down the decorator stack to represent them (seeNamedKeyStroke.getKeyStroke()).- Specified by:
myKeyEventin classDecorator- Parameters:
stroke- KeyStroke to apply (to apply a Named Keystroke sendNamedKeyStroke.getKeyStroke()- Returns:
- Generated Command to reproduce any changes just made to to the game state, or null if no effect
- See Also:
Decorator.keyEvent(javax.swing.KeyStroke)
-
draw
Description copied from interface:GamePieceDraw this GamePiece -
boundingBox
- Specified by:
boundingBoxin interfaceGamePiece- Returns:
- The area which this GamePiece occupies when drawn at the point (0,0)
-
getShape
- Specified by:
getShapein interfaceGamePiece- Returns:
- 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.
Like
GamePiece.boundingBox(), it assumes the position is (0,0) -- which to be clear is normally aligned with the CENTER of the piece image -- and must be translated to the actual location where the piece is being drawn. For most ordinary pieces, the shape returned here will simply be equivalent to the bounding box, but seeNonRectangular.
-
getName
Description copied from interface:GamePieceThe plain English name for this piece -
setMap
-
getDescription
Description copied from interface:EditablePieceA plain-English description of this type of piece- Specified by:
getDescriptionin interfaceEditablePiece
-
getNamedKeyStrokeList
Description copied from class:Decorator- Specified by:
getNamedKeyStrokeListin interfaceSearchTarget- Overrides:
getNamedKeyStrokeListin classDecorator- Returns:
- a list of any Named KeyStrokes referenced in the Decorator, if any (for search)
-
mySetType
Description copied from interface:EditablePieceSets the information for this piece. SeeDecorator.myGetType()- Specified by:
mySetTypein interfaceEditablePiece- Parameters:
type- a serialized configuration string to set the "type information" of this piece, which is information that doesn't change during the course of a single game (e.g. Image Files, Context Menu strings, etc). Typically ready to be processed e.g. by SequenceEncoder.decode()
-
getHelpFile
- Specified by:
getHelpFilein interfaceEditablePiece- Returns:
- the help file for this trait
-
getComponentName
- Specified by:
getComponentNamein interfaceRecursionLimiter.Loopable
-
getComponentTypeName
- Specified by:
getComponentTypeNamein interfaceRecursionLimiter.Loopable
-
testEquals
Description copied from class:DecoratorTest if this Decorator's Class, Type and State are equal to another trait. Implementations of this method should compare the individual values of the fields that make up the Decorators Type and State. Implementations should NOT compare the values returned by myGetType() or myGetState(). This method is intended to be used by Unit Tests to verify that a trait is unchanged after going through a process such as serialization/deserialization.- Overrides:
testEqualsin classDecorator- Parameters:
o- Object to compare this Decorator to- Returns:
- true if the Class, type and state all match
-
getEditor
- Specified by:
getEditorin interfaceEditablePiece- Overrides:
getEditorin classDecorator- Returns:
- the configurer for this trait - the dialog which allows the editing the piece's type information. Default
configurer is a
SimplePieceEditor, but many traits will want to provide custom versions.
-