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, UniqueIdManager.Identifyable, ValidityChecker

public class PieceWindow
extends Widget
implements UniqueIdManager.Identifyable

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.


Inner Class Summary
static class PieceWindow.IconConfig
           
 
Inner classes inherited from class VASSAL.build.Widget
Widget.MyCellRenderer
 
Inner classes inherited from class VASSAL.build.AutoConfigurable
AutoConfigurable.Util
 
Field Summary
static java.lang.String BUTTON_TEXT
           
static java.lang.String DEPRECATED_NAME
           
static java.lang.String HIDDEN
           
static java.lang.String HOTKEY
           
static java.lang.String ICON
           
static java.lang.String NAME
           
 
Fields inherited from class VASSAL.build.Widget
buildElement, HEIGHT, parent, WIDTH
 
Fields inherited from class VASSAL.build.AbstractConfigurable
changeSupport, config, name
 
Fields inherited from class VASSAL.build.AbstractBuildable
buildComponents, validator
 
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 launchButtonPressed()
           
 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
 boolean shouldDockIntoMainWindow()
           
 
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, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface VASSAL.tools.UniqueIdManager.Identifyable
getConfigureName
 

Field Detail

DEPRECATED_NAME

public static final java.lang.String DEPRECATED_NAME

NAME

public static final java.lang.String NAME

BUTTON_TEXT

public static final java.lang.String BUTTON_TEXT

ICON

public static final java.lang.String ICON

HOTKEY

public static final java.lang.String HOTKEY

HIDDEN

public static final java.lang.String HIDDEN
Constructor Detail

PieceWindow

public PieceWindow()
Method Detail

launchButtonPressed

public void launchButtonPressed()

getHelpFile

public HelpFile getHelpFile()
Overrides:
getHelpFile in class Widget
Following copied from interface: VASSAL.build.Configurable
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()
Overrides:
build in class Widget
Following copied from interface: VASSAL.build.Buildable
Parameters:
e - the XML element containing the object data

shouldDockIntoMainWindow

public boolean shouldDockIntoMainWindow()

getComponent

public java.awt.Component getComponent()
Overrides:
getComponent in class Widget
Following copied from class: VASSAL.build.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
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
Overrides:
add in class AbstractBuildable

remove

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

getId

public java.lang.String getId()
Each instanceof PieceWindow has a unique String identifier
Specified by:
getId in interface UniqueIdManager.Identifyable
Returns:
the identifier for this PieceWindow

setId

public void setId(java.lang.String s)
Each instanceof PieceWindow has a unique String identifier
Specified by:
setId in interface UniqueIdManager.Identifyable

addTo

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

removeFrom

public void removeFrom(Buildable parent)
Description copied from interface: Configurable
Remove this component from its parent
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()
Overrides:
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()
Overrides:
getAttributeTypes in class AbstractConfigurable

getAttributeNames

public java.lang.String[] getAttributeNames()
Overrides:
getAttributeNames in class AbstractBuildable
Following copied from interface: VASSAL.build.AutoConfigurable
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.
Overrides:
setAttribute in class AbstractBuildable
Following copied from class: VASSAL.build.AbstractBuildable
Parameters:
key - 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
Overrides:
getAttributeValueString in class AbstractBuildable
Following copied from class: VASSAL.build.AbstractBuildable
Parameters:
key - the name of the attribute. Will be one of those listed in AbstractBuildable.getAttributeNames()