Package VASSAL.build

Class Widget

All Implemented Interfaces:
AutoConfigurable, Buildable, Configurable, PropertyNameSource, ValidityChecker, Translatable
Direct Known Subclasses:
BoxWidget, Chart, ChartWindow, HtmlChart, ListWidget, MapWidget, PanelWidget, PieceSlot, PieceWindow, TabWidget

public abstract class Widget
extends AbstractConfigurable
A general-purpose configurable GUI container Widgets are Configurable objects that represent AWT components. Adding a Widget to another Widget during a Buildable.build(org.w3c.dom.Element) operation will add the corresponding AWT component of the child to the component of the parent
  • Field Details

  • Constructor Details

    • Widget

      protected Widget()
  • Method Details

    • hasScale

      public boolean hasScale()
    • getScale

      public double getScale()
    • build

      public void build​(Element el)
      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 rebuild(). Subclasses should invoke rebuild() before invoking getComponent()
      Specified by:
      build in interface Buildable
      Overrides:
      build in class AbstractBuildable
      Parameters:
      el - the XML element containing the object data
    • rebuild

      protected void rebuild()
      Perform the build of this Buildable component using the element stored from when the the build(org.w3c.dom.Element) method was invoked
    • getBuildElement

      public Element getBuildElement​(Document doc)
      Specified by:
      getBuildElement in interface Buildable
      Overrides:
      getBuildElement in class AbstractBuildable
      Returns:
      an XML element from which this component can be built
    • getAllowableConfigureComponents

      public Class<?>[] getAllowableConfigureComponents()
      The allowable Configurable components of a Widget are the same as its parent
    • addTo

      public void addTo​(Buildable b)
      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.
    • removeFrom

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

      public Widget getParent()
    • getConfigureComponents

      public Configurable[] getConfigureComponents()
      Specified by:
      getConfigureComponents in interface Configurable
      Overrides:
      getConfigureComponents in class AbstractConfigurable
      Returns:
      A list of all child components (i.e. subcomponents) of this component that are configurable.
    • getComponent

      public abstract Component getComponent()
      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
    • getHelpFile

      public HelpFile getHelpFile()
      Returns:
      a HelpFilte describing how to use and configure this component