Package VASSAL.build.module
Class DiceButton
java.lang.Object
VASSAL.build.AbstractBuildable
VASSAL.build.AbstractConfigurable
VASSAL.build.module.DiceButton
- All Implemented Interfaces:
AutoConfigurable
,Buildable
,Configurable
,PropertyNameSource
,ValidityChecker
,Translatable
- Direct Known Subclasses:
InternetDiceButton
,RandomTextButton
public class DiceButton extends AbstractConfigurable
This component places a button into the controls window toolbar.
Pressing the button generates random numbers and displays the
result in the Chatter
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DiceButton.IconConfig
static class
DiceButton.ReportFormatConfig
Nested classes/interfaces inherited from interface VASSAL.build.AutoConfigurable
AutoConfigurable.Util
-
Field Summary
Fields Modifier and Type Field Description static String
ADD_TO_TOTAL
protected int
addToTotal
static String
BUTTON_TEXT
static String
DEPRECATED_NAME
static String
HOTKEY
static String
ICON
protected LaunchButton
launch
static String
N_DICE
static String
N_SIDES
static String
NAME
protected int
nDice
protected int
nSides
protected int
plus
static String
PLUS
static String
PROMPT_ALWAYS
protected boolean
promptAlways
protected MutableProperty.Impl
property
protected Random
ran
static String
REPORT_FORMAT
static String
REPORT_NAME
static String
REPORT_TOTAL
protected FormattedString
reportFormat
protected boolean
reportTotal
static String
RESULT
Variable name for reporting formatstatic String
SORT_DICE_RESULTS
protected boolean
sortDice
protected String
tooltip
static String
TOOLTIP
Fields inherited from class VASSAL.build.AbstractConfigurable
changeSupport, config, localizedName, myI18nData, name
Fields inherited from class VASSAL.build.AbstractBuildable
buildComponents, validator
Fields inherited from interface VASSAL.build.Configurable
NAME_PROPERTY
-
Constructor Summary
Constructors Constructor Description DiceButton()
-
Method Summary
Modifier and Type Method Description void
addTo(Buildable parent)
Expects to be added to a GameModule.protected void
DR()
Forwards the result of the roll to theChatter.send(java.lang.String)
method of theChatter
of theGameModule
.protected String
formatResult(String result)
Use the configured FormattedString to format the result of a rollClass<?>[]
getAllowableConfigureComponents()
Return a list of valid sub-component Classes.String[]
getAttributeDescriptions()
Return an array of Strings describing the attributes of this object.String[]
getAttributeNames()
Lists all the buildFile (XML) attribute names for this component.Class<?>[]
getAttributeTypes()
Return the Class for the buildFile (XML) attributes of this component.String
getAttributeValueString(String key)
Called by theBuildable.getBuildElement(org.w3c.dom.Document)
method to write the attributes into an XML elementVisibilityCondition
getAttributeVisibility(String name)
By default, all attributes are visibleprotected Component
getComponent()
The component to be added to the control window toolbarstatic String
getConfigureTypeName()
HelpFile
getHelpFile()
List<String>
getPropertyNames()
Implement PropertyNameSource - Expose roll result propertyprotected String
getReportPrefix()
Deprecated, for removal: This API element is subject to removal in a future version.No Replacementprotected String
getReportSuffix()
Deprecated, for removal: This API element is subject to removal in a future version.No Replacementprotected void
initLaunchButton()
void
removeFrom(Buildable b)
Remove this component from its parentvoid
setAttribute(String key, Object o)
Sets a buildFile (XML) attribute value for this component.Methods inherited from class VASSAL.build.AbstractConfigurable
add, addPropertyChangeListener, getConfigureComponents, getConfigureName, getConfigurer, getI18nData, getI18nPrefix, getLocalizedConfigureName, remove, removePropertyChangeListener, setAllAttributesUntranslatable, setAttributeTranslatable, setConfigureName
Methods inherited from class VASSAL.build.AbstractBuildable
build, getAllDescendantComponents, getAllDescendantComponentsOf, getBuildables, getBuildComponents, getBuildElement, getComponents, getComponentsOf, validate
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
build, getBuildElement
-
Field Details
-
ran
-
nSides
protected int nSides -
nDice
protected int nDice -
plus
protected int plus -
addToTotal
protected int addToTotal -
reportTotal
protected boolean reportTotal -
promptAlways
protected boolean promptAlways -
sortDice
protected boolean sortDice -
reportFormat
-
launch
-
tooltip
-
property
-
DEPRECATED_NAME
- See Also:
- Constant Field Values
-
BUTTON_TEXT
- See Also:
- Constant Field Values
-
TOOLTIP
- See Also:
- Constant Field Values
-
NAME
- See Also:
- Constant Field Values
-
ICON
- See Also:
- Constant Field Values
-
N_DICE
- See Also:
- Constant Field Values
-
N_SIDES
- See Also:
- Constant Field Values
-
PLUS
- See Also:
- Constant Field Values
-
ADD_TO_TOTAL
- See Also:
- Constant Field Values
-
HOTKEY
- See Also:
- Constant Field Values
-
REPORT_TOTAL
- See Also:
- Constant Field Values
-
PROMPT_ALWAYS
- See Also:
- Constant Field Values
-
REPORT_FORMAT
- See Also:
- Constant Field Values
-
SORT_DICE_RESULTS
- See Also:
- Constant Field Values
-
RESULT
Variable name for reporting format- See Also:
- Constant Field Values
-
REPORT_NAME
- See Also:
- Constant Field Values
-
-
Constructor Details
-
DiceButton
public DiceButton()
-
-
Method Details
-
initLaunchButton
protected void initLaunchButton() -
getConfigureTypeName
-
getReportPrefix
Deprecated, for removal: This API element is subject to removal in a future version.No ReplacementThe text reported before the results of the roll -
getReportSuffix
Deprecated, for removal: This API element is subject to removal in a future version.No ReplacementThe text reported after the results of the roll; -
DR
protected void DR()Forwards the result of the roll to theChatter.send(java.lang.String)
method of theChatter
of theGameModule
. Format is prefix+[comma-separated roll list]+suffix -
formatResult
Use the configured FormattedString to format the result of a roll- Parameters:
result
- Result format- Returns:
- Formatted result
-
getAttributeNames
Description copied from class:AbstractBuildable
Lists all the buildFile (XML) attribute names for this component. If this component is ALSO anAbstractConfigurable
, then this list of attributes determines the appropriate attribute order forAbstractConfigurable.getAttributeDescriptions()
andAbstractConfigurable.getAttributeTypes()
.- Specified by:
getAttributeNames
in interfaceAutoConfigurable
- Specified by:
getAttributeNames
in classAbstractBuildable
- Returns:
- a list of all buildFile (XML) attribute names for this component
-
getAttributeDescriptions
Description copied from interface:AutoConfigurable
Return an array of Strings describing the attributes of this object. These strings are used as prompts in the Properties window for this object.- Specified by:
getAttributeDescriptions
in interfaceAutoConfigurable
- Specified by:
getAttributeDescriptions
in classAbstractConfigurable
- Returns:
- an array of Strings describing the buildFile (XML) attributes of this component. These strings are used as prompts in the
Properties window for this object, when the component is configured in the Editor. The order of descriptions should
be the same as the order of names in
AbstractBuildable.getAttributeNames()
-
getAttributeTypes
Description copied from class:AbstractConfigurable
Return the Class for the buildFile (XML) attributes of this component. Valid classes include: String, Integer, Double, Boolean, Image, Color, and KeyStroke, along with any class for which a Configurer exists in VASSAL.configure. The class determines, among other things, which type ofAutoConfigurer
will be used to configure the attribute when the object is configured in the Editor. The order of classes should be the same as the order of names inAbstractBuildable.getAttributeNames()
- Specified by:
getAttributeTypes
in interfaceAutoConfigurable
- Specified by:
getAttributeTypes
in classAbstractConfigurable
-
getAttributeVisibility
Description copied from class:AbstractConfigurable
By default, all attributes are visible- Specified by:
getAttributeVisibility
in interfaceAutoConfigurable
- Overrides:
getAttributeVisibility
in classAbstractConfigurable
- Parameters:
name
- Name (key) of one of this component's attributes- Returns:
- a
VisibilityCondition
for this attribute, or null if attribute should always be visible.
-
addTo
Expects to be added to a GameModule. Adds the button to the control window's toolbar and registers itself as aKeyStrokeListener
-
getComponent
The component to be added to the control window toolbar -
setAttribute
Description copied from class:AbstractBuildable
Sets a buildFile (XML) attribute value for this component. Thekey
parameter will be one of those listed inAbstractBuildable.getAttributeNames()
. If thevalue
parameter is a String, it will be the value returned byAbstractBuildable.getAttributeValueString(java.lang.String)
for the samekey
. If the implementing class extendsAbstractConfigurable
, thenvalue
will be an instance of the corresponding Class listed inAbstractConfigurable.getAttributeTypes()
- Specified by:
setAttribute
in interfaceAutoConfigurable
- Specified by:
setAttribute
in interfaceTranslatable
- Specified by:
setAttribute
in classAbstractBuildable
- Parameters:
key
- the name of the attribute. Will be one of those listed inAbstractBuildable.getAttributeNames()
o
- If thevalue
parameter is a String, it will be the value returned byAbstractBuildable.getAttributeValueString(java.lang.String)
for the samekey
. If the implementing class extendsAbstractConfigurable
, thenvalue
can also be an instance of the corresponding Class listed inAbstractConfigurable.getAttributeTypes()
-
getAttributeValueString
Description copied from interface:AutoConfigurable
Called by theBuildable.getBuildElement(org.w3c.dom.Document)
method to write the attributes into an XML element- Specified by:
getAttributeValueString
in interfaceAutoConfigurable
- Specified by:
getAttributeValueString
in interfaceTranslatable
- Specified by:
getAttributeValueString
in classAbstractBuildable
- Parameters:
key
- the name of the attribute. Will be one of those listed inAbstractBuildable.getAttributeNames()
- Returns:
- a String representation of the attribute with the given name. When initializing a module, this String value will be passed to
AbstractBuildable.setAttribute(java.lang.String, java.lang.Object)
.
-
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. -
removeFrom
Description copied from interface:Configurable
Remove this component from its parent -
getHelpFile
- Returns:
- a HelpFilte describing how to use and configure this component
-
getPropertyNames
Implement PropertyNameSource - Expose roll result property- Specified by:
getPropertyNames
in interfacePropertyNameSource
- Overrides:
getPropertyNames
in classAbstractBuildable
- Returns:
- Default implementation of PropertyNameSource - No properties exposed
-