Package VASSAL.build.module.turn
Class TurnLevel
java.lang.Object
VASSAL.build.AbstractBuildable
VASSAL.build.AbstractConfigurable
VASSAL.build.module.turn.TurnComponent
VASSAL.build.module.turn.TurnLevel
- All Implemented Interfaces:
AutoConfigurable
,Buildable
,Configurable
,PropertyNameSource
,ValidityChecker
,Translatable
- Direct Known Subclasses:
CounterTurnLevel
,ListTurnLevel
public abstract class TurnLevel extends TurnComponent
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TurnLevel.TurnFormatConfig
Nested classes/interfaces inherited from interface VASSAL.build.AutoConfigurable
AutoConfigurable.Util
-
Field Summary
Fields Modifier and Type Field Description protected Component
childSetControls
protected int
current
protected int
currentSubLevel
protected static String
LEVEL_VALUE
protected JPanel
levelSetControls
protected MutableProperty.Impl
myValue
protected static String
NAME
protected TurnComponent
parent
protected static String
PROP
protected String
propertyName
protected boolean
rolledOver
protected JDialog
setDialog
protected int
start
protected boolean
subLevelRolledOver
protected TurnTracker
turn
protected static String
TURN_FORMAT
protected FormattedString
turnFormat
Fields inherited from class VASSAL.build.module.turn.TurnComponent
levels
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 TurnLevel()
-
Method Summary
Modifier and Type Method Description protected void
addChildControls()
void
addTo(Buildable parent)
Adds this component to its parent.protected void
advance()
protected void
buildConfigMenu(JMenu menu)
void
findMaximumStrings(List<String> levels, int currentLevel)
List<TurnLevel>
getActiveChildLevels()
Class<?>[]
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 elementprotected JMenu
getConfigMenu()
ComponentI18nData
getI18nData()
protected String
getLongestFormattedValue()
protected abstract String
getLongestValueName()
List<String>
getPropertyNames()
Implement PropertyNameSource - Expose the name of this level propertyprotected abstract Component
getSetControl()
protected Component
getSetControls(JDialog dialog, TurnTracker turn)
protected abstract String
getState()
protected TurnTracker
getTurn()
String
getTurnString()
protected abstract String
getValueString()
protected boolean
hasRolledOver()
protected boolean
hasSubLevelRolledOver()
protected boolean
isActive()
boolean
isConfigurable()
void
removeFrom(Buildable parent)
Remove this component from its parentprotected void
reset()
protected void
retreat()
void
setAttribute(String key, Object value)
Sets a buildFile (XML) attribute value for this component.protected void
setHigh()
protected void
setLow()
protected void
setRolledOver(boolean b)
protected abstract void
setState(String code)
Methods inherited from class VASSAL.build.module.turn.TurnComponent
addLevel, getHelpFile, getTurnLevel, getTurnLevelCount, getTurnLevels, removeLevel
Methods inherited from class VASSAL.build.AbstractConfigurable
add, addPropertyChangeListener, getAttributeVisibility, getConfigureComponents, getConfigureName, getConfigurer, 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
-
NAME
- See Also:
- Constant Field Values
-
PROP
- See Also:
- Constant Field Values
-
TURN_FORMAT
- See Also:
- Constant Field Values
-
LEVEL_VALUE
- See Also:
- Constant Field Values
-
turn
-
setDialog
-
levelSetControls
-
childSetControls
-
parent
-
propertyName
-
start
protected int start -
current
protected int current -
currentSubLevel
protected int currentSubLevel -
subLevelRolledOver
protected boolean subLevelRolledOver -
rolledOver
protected boolean rolledOver -
myValue
-
turnFormat
-
-
Constructor Details
-
TurnLevel
public TurnLevel()
-
-
Method Details
-
getState
-
setState
-
getValueString
-
getLongestValueName
-
getSetControl
-
findMaximumStrings
-
getLongestFormattedValue
-
hasSubLevelRolledOver
protected boolean hasSubLevelRolledOver() -
isActive
protected boolean isActive() -
reset
protected void reset() -
advance
protected void advance() -
retreat
protected void retreat() -
getTurnString
-
getActiveChildLevels
-
buildConfigMenu
-
getConfigMenu
-
isConfigurable
public boolean isConfigurable() -
getSetControls
-
addChildControls
protected void addChildControls() -
getTurn
-
setRolledOver
protected void setRolledOver(boolean b) -
hasRolledOver
protected boolean hasRolledOver() -
setLow
protected void setLow() -
setHigh
protected void setHigh() -
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
- Overrides:
getAttributeDescriptions
in classTurnComponent
- 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
- Overrides:
getAttributeTypes
in classTurnComponent
-
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
- Overrides:
getAttributeNames
in classTurnComponent
- Returns:
- a list of all buildFile (XML) attribute names for this component
-
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
- Overrides:
setAttribute
in classTurnComponent
- Parameters:
key
- the name of the attribute. Will be one of those listed inAbstractBuildable.getAttributeNames()
value
- 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
- Overrides:
getAttributeValueString
in classTurnComponent
- 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)
.
-
addTo
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.- Specified by:
addTo
in interfaceBuildable
- Overrides:
addTo
in classTurnComponent
-
removeFrom
Description copied from interface:Configurable
Remove this component from its parent- Specified by:
removeFrom
in interfaceConfigurable
- Overrides:
removeFrom
in classTurnComponent
-
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.- Specified by:
getAllowableConfigureComponents
in interfaceConfigurable
- Overrides:
getAllowableConfigureComponents
in classTurnComponent
-
getI18nData
- Specified by:
getI18nData
in interfaceTranslatable
- Overrides:
getI18nData
in classAbstractConfigurable
- Returns:
- the i18n data for this component
-
getPropertyNames
Implement PropertyNameSource - Expose the name of this level property- Specified by:
getPropertyNames
in interfacePropertyNameSource
- Overrides:
getPropertyNames
in classAbstractBuildable
- Returns:
- Default implementation of PropertyNameSource - No properties exposed
-