VASSAL.build.widget
Class ListWidget

java.lang.Object
  |
  +--VASSAL.build.AbstractBuildable
        |
        +--VASSAL.build.AbstractConfigurable
              |
              +--VASSAL.build.Widget
                    |
                    +--VASSAL.build.widget.ListWidget
All Implemented Interfaces:
AutoConfigurable, Buildable, Configurable, java.util.EventListener, javax.swing.event.ListSelectionListener

public class ListWidget
extends Widget
implements javax.swing.event.ListSelectionListener

A Widget that corresponds to a panel with a JList sitting to the right of a JPanel with a CardLayout layout. Adding a Widget to a ListWidget adds the child Widget's component to the JPanel and add's the child's name (via Configurable.getConfigureName()) to the JList. Changing the selection of the JList shows the corresponding child's component


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
 
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
ListWidget()
           
 
Method Summary
 void add(Buildable b)
          Adds a child component.
 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()
           
 void remove(Buildable b)
          Remove a Buildable object from this object
 void setAttribute(java.lang.String name, java.lang.Object value)
          Called by the Widget.build(org.w3c.dom.Element) method, where value is the String value read by the XML attribute.
 void valueChanged(javax.swing.event.ListSelectionEvent e)
           
 
Methods inherited from class VASSAL.build.Widget
addTo, build, getAllowableConfigureComponents, getBuildElement, getConfigureComponents, getHelpFile, getParent, rebuild, removeFrom
 
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
 

Constructor Detail

ListWidget

public ListWidget()
Method Detail

getConfigureTypeName

public static java.lang.String getConfigureTypeName()

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

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

valueChanged

public void valueChanged(javax.swing.event.ListSelectionEvent e)
Specified by:
valueChanged in interface javax.swing.event.ListSelectionListener

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

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

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()