VASSAL.build.module
Class PieceWindow

java.lang.Object
  |
  +--VASSAL.build.AbstractBuildable
        |
        +--VASSAL.build.AbstractConfigurable
              |
              +--VASSAL.build.Widget
                    |
                    +--VASSAL.build.module.PieceWindow
All Implemented Interfaces:
AutoConfigurable, Buildable, Configurable

public class PieceWindow
extends Widget

A window from which players can create new GamePieces by clicking and dragging from the PieceWindow. The actual GamePieces are contained in PieceSlot components. PieceWindow extends Widget, so it may be composed of various tabs, lists, etc.


Nested Class Summary
 
Nested classes inherited from class VASSAL.build.Widget
Widget.MyCellRenderer
 
Nested classes inherited from class VASSAL.build.AutoConfigurable
AutoConfigurable.Util
 
Field Summary
static java.lang.String HOTKEY
           
 java.lang.String WINDOW_NAME
           
 
Fields inherited from class VASSAL.build.Widget
buildElement, NAME, parent
 
Fields inherited from class VASSAL.build.AbstractConfigurable
changeSupport, config, name
 
Fields inherited from class VASSAL.build.AbstractBuildable
buildComponents
 
Fields inherited from interface VASSAL.build.Configurable
NAME_PROPERTY
 
Constructor Summary
PieceWindow()
           
 
Method Summary
 void add(Buildable b)
          Adds a child component.
 void addTo(Buildable parent)
          Expects to be added to a GameModule.
 void build(org.w3c.dom.Element e)
          For memory efficiency reasons, a Widget is initialized lazily.
 java.lang.Class[] getAllowableConfigureComponents()
          A PieceWindow may contain a TabWidget, a PanelWidget, a BoxWidget, a ListWidget, or a PieceSlot
 java.lang.String[] getAttributeDescriptions()
          Return an array of Strings describing the attributes of this object.
 java.lang.String[] getAttributeNames()
           
 java.lang.Class[] getAttributeTypes()
          Return the Class for the attributes of this object.
 java.lang.String getAttributeValueString(java.lang.String name)
          Called by the Widget.getBuildElement(org.w3c.dom.Document) method to write the attributes into an XML element
 java.awt.Component getComponent()
           
static java.lang.String getConfigureTypeName()
           
 HelpFile getHelpFile()
           
 java.lang.String getId()
          Each instanceof PieceWindow has a unique String identifier
 void remove(Buildable b)
          Remove a Buildable object from this object
 void removeFrom(Buildable parent)
          Remove this component from its parent
 void setAttribute(java.lang.String name, java.lang.Object value)
          Called by the build(org.w3c.dom.Element) method, where value is the String value read by the XML attribute.
 void setId(java.lang.String s)
          Each instanceof PieceWindow has a unique String identifier
 
Methods inherited from class VASSAL.build.Widget
getBuildElement, getConfigureComponents, getParent, rebuild
 
Methods inherited from class VASSAL.build.AbstractConfigurable
addPropertyChangeListener, getAttributeVisibility, getConfigureName, getConfigurer, setConfigureName
 
Methods inherited from class VASSAL.build.AbstractBuildable
getBuildComponents, getComponents
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WINDOW_NAME

public final java.lang.String WINDOW_NAME
See Also:
Constant Field Values

HOTKEY

public static final java.lang.String HOTKEY
See Also:
Constant Field Values
Constructor Detail

PieceWindow

public PieceWindow()
Method Detail

getHelpFile

public HelpFile getHelpFile()
Specified by:
getHelpFile in interface Configurable
Overrides:
getHelpFile in class Widget
Returns:
a HelpFilte describing how to use and configure this component

build

public void build(org.w3c.dom.Element e)
Description copied from class: Widget
For memory efficiency reasons, a Widget is initialized lazily. This method only stores the element from which the build the Widget. The Widget is built from the stored element by invoking Widget.rebuild(). Subclasses should invoke Widget.rebuild() before invoking Widget.getComponent()

Specified by:
build in interface Buildable
Overrides:
build in class Widget
Parameters:
e - the XML element containing the object data

getComponent

public java.awt.Component getComponent()
Specified by:
getComponent in class Widget
Returns:
the Component for this widget. For efficiency, the Component may be initialized lazily instead of being created in the Buildable.build(org.w3c.dom.Element) method

getConfigureTypeName

public static java.lang.String getConfigureTypeName()

getAllowableConfigureComponents

public java.lang.Class[] getAllowableConfigureComponents()
A PieceWindow may contain a TabWidget, a PanelWidget, a BoxWidget, a ListWidget, or a PieceSlot

Specified by:
getAllowableConfigureComponents in interface Configurable
Overrides:
getAllowableConfigureComponents in class Widget

add

public void add(Buildable b)
Description copied from interface: Buildable
Adds a child component. Both this method and Buildable.addTo(VASSAL.build.Buildable) are invoked when adding a child to a parent

Specified by:
add in interface Buildable
Overrides:
add in class AbstractBuildable

remove

public void remove(Buildable b)
Description copied from class: AbstractConfigurable
Remove a Buildable object from this object

Specified by:
remove in interface Configurable
Overrides:
remove in class AbstractConfigurable

getId

public java.lang.String getId()
Each instanceof PieceWindow has a unique String identifier

Returns:
the identifier for this PieceWindow

setId

public void setId(java.lang.String s)
Each instanceof PieceWindow has a unique String identifier


addTo

public void addTo(Buildable parent)
Expects to be added to a GameModule. When added, sets the containing window to visible

Specified by:
addTo in interface Buildable
Overrides:
addTo in class Widget

removeFrom

public void removeFrom(Buildable parent)
Description copied from interface: Configurable
Remove this component from its parent

Specified by:
removeFrom in interface Configurable
Overrides:
removeFrom in class Widget

getAttributeDescriptions

public java.lang.String[] getAttributeDescriptions()
Description copied from class: AbstractConfigurable
Return an array of Strings describing the attributes of this object. These strings are used as prompts in the Properties window for this object. The order of descriptions should be the same as the order of names in AbstractBuildable.getAttributeNames()

Specified by:
getAttributeDescriptions in interface AutoConfigurable
Specified by:
getAttributeDescriptions in class AbstractConfigurable

getAttributeTypes

public java.lang.Class[] getAttributeTypes()
Description copied from class: AbstractConfigurable
Return the Class for the attributes of this object. Valid classes are: String, Integer, Double, Boolean, Image, Color, and KeyStroke The order of classes should be the same as the order of names in AbstractBuildable.getAttributeNames()

Specified by:
getAttributeTypes in interface AutoConfigurable
Specified by:
getAttributeTypes in class AbstractConfigurable

getAttributeNames

public java.lang.String[] getAttributeNames()
Specified by:
getAttributeNames in interface AutoConfigurable
Specified by:
getAttributeNames in class AbstractBuildable
Returns:
an array of Strings giving all attributes of this Buildable component that will be written to/read from an XML element

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object value)
Description copied from interface: AutoConfigurable
Called by the Buildable.build(org.w3c.dom.Element) method, where value is the String value read by the XML attribute. Can also be called with Object value to set the attribute.

Specified by:
setAttribute in interface AutoConfigurable
Specified by:
setAttribute in class AbstractBuildable
Parameters:
name - the name of the attribute. Will be one of those listed in AbstractBuildable.getAttributeNames()

getAttributeValueString

public java.lang.String getAttributeValueString(java.lang.String name)
Description copied from interface: AutoConfigurable
Called by the Buildable.getBuildElement(org.w3c.dom.Document) method to write the attributes into an XML element

Specified by:
getAttributeValueString in interface AutoConfigurable
Specified by:
getAttributeValueString in class AbstractBuildable
Parameters:
name - the name of the attribute. Will be one of those listed in AbstractBuildable.getAttributeNames()