Class Configurer

java.lang.Object
VASSAL.configure.Configurer
Direct Known Subclasses:
AddressBookServerConfigurer, AutoConfigurer, BooleanConfigurer, ColorConfigurer, ColorSwatchConfigurer, DynamicKeyCommandConfigurer, DynamicKeyCommandListConfigurer, DynamicProperty.DynamicKeyCommandConfigurer, FileConfigurer, FontConfigurer, FontConfigurer, FontStyleConfigurer, GlobalCommandTargetConfigurer, HotKeyConfigurer, IconConfigurer, ImageSelector, InstanceConfigurer, JavaNameConfigurer, KeyModifiersConfigurer, KeyStrokeArrayConfigurer, LayoutConfigurer, ListConfigurer, LocaleConfigurer, MassKeyCommand.DeckPolicyConfig, NamedHotKeyConfigurer, NamedKeyStrokeArrayConfigurer, NewColorConfigurer, PieceAccessConfigurer, PositionOption, PropertyChangerConfigurer, PrototypeDefinition.Config, ServerConfigurer, SimpleConfigurer, SoundConfigurer, StringArrayConfigurer, StringConfigurer, StringEnumConfigurer, StringEnumConfigurer, TableConfigurer, TextConfigurer, ToggleablePasswordConfigurer, TranslatingStringEnumConfigurer, Zone.Editor, ZoneHighlight.PercentageConfigurer, Zoomer.LevelConfigurer

public abstract class Configurer extends Object
A property editor class. Wraps an Object value and provides methods for saving and restoring the Object from a String. Also includes a Component that can be placed into a property editing window, allowing the user to change the value interactively.
  • Field Details

    • NAME_PROPERTY

      public static final String NAME_PROPERTY
      See Also:
      Constant Field Values
    • key

      protected String key
      A String the uniquely identifies this property
    • name

      protected String name
      A String that provides a short description of the property to the user
    • value

      protected Object value
      The value
    • changeSupport

      protected PropertyChangeSupport changeSupport
    • noUpdate

      protected boolean noUpdate
      When noUpdate is true, setting the value programmatically will not result in an update of the GUI Component
    • frozen

      protected boolean frozen
      When frozen is true, setting the value programmatically will not result in a PropertyChangeEvent being fired
    • hint

      protected String hint
      A Hint to be displayed in an empty field
    • LIST_ENTRY_HIGHLIGHT_COLOR

      public static final Color LIST_ENTRY_HIGHLIGHT_COLOR
      Default Highlight Color for Configurable Lists
  • Constructor Details

  • Method Details

    • getKey

      public String getKey()
      Unique identifier
    • getName

      public String getName()
      Plain English description of the Object
    • setName

      public void setName(String s)
    • getValue

      public Object getValue()
      The Object value May be null if the Object has not been initialized
    • getValueString

      public abstract String getValueString()
      Returns:
      a String representation of the Object value
    • setValue

      public void setValue(Object o)
      Set the Object value
    • setFrozen

      public void setFrozen(boolean val)
      If true, then don't fire PropertyChangeEvents when the value is reset
    • isFrozen

      public boolean isFrozen()
    • fireUpdate

      public void fireUpdate()
      Fire a PropertyChangeEvent as if the value had been set from null
    • setValue

      public abstract void setValue(String s)
      Set the Object value from a String
    • getControls

      public abstract Component getControls()
      GUI interface for setting the option in an editing window
    • addPropertyChangeListener

      public void addPropertyChangeListener(PropertyChangeListener l)
      Add a listener to be notified when the Object state changes
    • removePropertyChangeListener

      public void removePropertyChangeListener(PropertyChangeListener l)
    • repack

      protected void repack()
      Repack the current configurer
    • repack

      protected void repack(Component controls)
      Repack a dialog or window
    • getScreenSize

      protected Dimension getScreenSize()
      Return the current screen size for use by List type configurers to allow them to take up maximum screen real estate if needed. The headless check is required in case any Configurers try to initialize during tests.
      Returns:
      Screen Size.
    • getHint

      public String getHint()
      Return the current hint String
      Returns:
      Current Hint String
    • setHint

      public void setHint(String hint)
      Set the Hint String
      Parameters:
      hint - New Hint string
    • setHintKey

      public void setHintKey(String hintKey)
      Set the Hint String via a I18n key
      Parameters:
      hintKey - I18n key for the hint
    • setLabelVisibile

      public void setLabelVisibile(boolean visible)
      Show/Hide the internal label maintained by this Configurer. It is up to individual Configurers to track and hide the label (if they can). This method is currently only utilized by the Preference configs PrefsEditor.addOption(String, Configurer) to extract an existing label in a configurer, display correctly aligned and suppress the original label. This keeps compatibility with custom module code setting up preferences. This method only needs to be implemented in Configurers that are added as preferences.
      Parameters:
      visible - Hide label if true
    • setHighlighted

      public void setHighlighted(boolean highlighted)
      Set the highlighted status of this configurer. It is up to individual Configurers to over-ride this method and implement a suitable visual highlighting scheme Note: Cannot make this abstract as it will break custom code.
      Parameters:
      highlighted - New Highlighted status
    • isHighlighted

      public boolean isHighlighted()
      Return the current highlighted status
      Returns:
      Highlight status
    • addFocusListener

      public void addFocusListener(FocusListener listener)
      Add a FocusListener to the Swing Components that make up this Configurer.
      Parameters:
      listener - Focus Listener
    • removeFocusListener

      public void removeFocusListener(FocusListener listener)
      Remove a FocusListener from the Swing Components that make up this Configurer.
      Parameters:
      listener - Focus Listener
    • requestFocus

      public void requestFocus()
      Move the cursor to the first input field of this Configurer