Package VASSAL.build.module.map
Class Zoomer
java.lang.Object
VASSAL.build.AbstractBuildable
VASSAL.build.AbstractConfigurable
VASSAL.build.module.map.Zoomer
- All Implemented Interfaces:
AutoConfigurable
,Buildable
,Configurable
,GameComponent
,PropertyNameSource
,ValidityChecker
,Translatable
public class Zoomer extends AbstractConfigurable implements GameComponent
Controls the zooming in/out of a
Map
window.- Author:
- Joel Uckelman
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Zoomer.InIconConfig
static class
Zoomer.LevelConfig
protected static class
Zoomer.LevelConfigurer
static class
Zoomer.OutIconConfig
static class
Zoomer.PickIconConfig
protected static class
Zoomer.State
Stores the state information for theZoomer
.protected class
Zoomer.ZoomDialog
The dialog for setting custom zoom levels.protected class
Zoomer.ZoomMenu
The menu which displays zoom levels.Nested classes/interfaces inherited from interface VASSAL.build.AutoConfigurable
AutoConfigurable.Util
-
Field Summary
Fields Modifier and Type Field Description protected static int
defaultInitialZoomLevel
protected static double[]
defaultZoomLevels
protected static String
IN_BUTTON_TEXT
protected static String
IN_DEFAULT_ICON
protected static String
IN_ICON_NAME
protected static String
IN_TOOLTIP
protected MouseWheelListener
listener
protected Map
map
protected int
maxZoom
Deprecated, for removal: This API element is subject to removal in a future version.protected static String
OUT_BUTTON_TEXT
protected static String
OUT_DEFAULT_ICON
protected static String
OUT_ICON_NAME
protected static String
OUT_TOOLTIP
protected static String
PICK_BUTTON_TEXT
protected static String
PICK_DEFAULT_ICON
protected static String
PICK_ICON_NAME
protected static String
PICK_TOOLTIP
protected Zoomer.State
state
protected double
zoom
Deprecated, for removal: This API element is subject to removal in a future version.protected static String
ZOOM_IN
protected static String
ZOOM_LEVELS
protected static String
ZOOM_OUT
protected static String
ZOOM_PICK
protected static String
ZOOM_START
protected double[]
zoomFactor
Deprecated, for removal: This API element is subject to removal in a future version.protected LaunchButton
zoomInButton
protected int
zoomLevel
Deprecated, for removal: This API element is subject to removal in a future version.protected Zoomer.ZoomMenu
zoomMenu
protected LaunchButton
zoomOutButton
protected LaunchButton
zoomPickButton
protected int
zoomStart
Deprecated, for removal: This API element is subject to removal in a future version.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 Zoomer()
-
Method Summary
Modifier and Type Method Description void
addTo(Buildable b)
Adds this component to its parent.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 elementstatic String
getConfigureTypeName()
HelpFile
getHelpFile()
protected Point
getMapCenter()
Command
getRestoreCommand()
When saving a game, each GameComponent should return aCommand
that, when executed, restores the GameComponent to its state when the game was saved If this component has no persistent state, return nulldouble
getZoomFactor()
protected void
init()
void
removeFrom(Buildable b)
Remove this component from its parentvoid
setAttribute(String key, Object val)
Sets a buildFile (XML) attribute value for this component.void
setup(boolean gameStarting)
Notify the GameComponent that a game has started/endedvoid
setZoomFactor(double z)
void
setZoomLevel(int l)
protected void
updateZoomer(Point center)
void
zoomIn()
void
zoomOut()
Methods inherited from class VASSAL.build.AbstractConfigurable
add, addPropertyChangeListener, getAttributeVisibility, 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, getPropertyNames, 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
-
map
-
zoom
Deprecated, for removal: This API element is subject to removal in a future version. -
zoomLevel
Deprecated, for removal: This API element is subject to removal in a future version. -
zoomStart
Deprecated, for removal: This API element is subject to removal in a future version. -
zoomFactor
Deprecated, for removal: This API element is subject to removal in a future version. -
maxZoom
Deprecated, for removal: This API element is subject to removal in a future version. -
zoomInButton
-
zoomPickButton
-
zoomOutButton
-
zoomMenu
-
listener
-
state
-
defaultZoomLevels
protected static final double[] defaultZoomLevels -
defaultInitialZoomLevel
protected static final int defaultInitialZoomLevel- See Also:
- Constant Field Values
-
ZOOM_START
- See Also:
- Constant Field Values
-
ZOOM_LEVELS
- See Also:
- Constant Field Values
-
ZOOM_IN
- See Also:
- Constant Field Values
-
IN_TOOLTIP
- See Also:
- Constant Field Values
-
IN_BUTTON_TEXT
- See Also:
- Constant Field Values
-
IN_ICON_NAME
- See Also:
- Constant Field Values
-
IN_DEFAULT_ICON
- See Also:
- Constant Field Values
-
ZOOM_PICK
- See Also:
- Constant Field Values
-
PICK_TOOLTIP
- See Also:
- Constant Field Values
-
PICK_BUTTON_TEXT
- See Also:
- Constant Field Values
-
PICK_ICON_NAME
- See Also:
- Constant Field Values
-
PICK_DEFAULT_ICON
- See Also:
- Constant Field Values
-
ZOOM_OUT
- See Also:
- Constant Field Values
-
OUT_TOOLTIP
- See Also:
- Constant Field Values
-
OUT_BUTTON_TEXT
- See Also:
- Constant Field Values
-
OUT_ICON_NAME
- See Also:
- Constant Field Values
-
OUT_DEFAULT_ICON
- See Also:
- Constant Field Values
-
-
Constructor Details
-
Zoomer
public Zoomer()
-
-
Method Details
-
init
protected void init() -
getConfigureTypeName
-
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
-
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. -
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)
.
-
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()
val
- 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()
-
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
-
removeFrom
Description copied from interface:Configurable
Remove this component from its parent- Specified by:
removeFrom
in interfaceConfigurable
-
getZoomFactor
public double getZoomFactor() -
getMapCenter
-
updateZoomer
-
setZoomLevel
public void setZoomLevel(int l) -
setZoomFactor
public void setZoomFactor(double z) -
zoomIn
public void zoomIn() -
zoomOut
public void zoomOut() -
getHelpFile
- Specified by:
getHelpFile
in interfaceConfigurable
- Returns:
- a HelpFilte describing how to use and configure this component
-
setup
public void setup(boolean gameStarting)Description copied from interface:GameComponent
Notify the GameComponent that a game has started/ended- Specified by:
setup
in interfaceGameComponent
- Parameters:
gameStarting
- if true, a game is starting. If false, then a game is ending
-
getRestoreCommand
Description copied from interface:GameComponent
When saving a game, each GameComponent should return aCommand
that, when executed, restores the GameComponent to its state when the game was saved If this component has no persistent state, return null- Specified by:
getRestoreCommand
in interfaceGameComponent
-