Package uk.ac.starlink.topcat

## Class WindowAction

- java.lang.Object
- - javax.swing.AbstractAction
  - - uk.ac.starlink.topcat.BasicAction
    - - uk.ac.starlink.topcat.WindowAction

- All Implemented Interfaces:
    `java.awt.event.ActionListener`, `java.io.Serializable`, `java.lang.Cloneable`, `java.util.EventListener`, `javax.swing.Action`

      public abstract class WindowAction
      extends BasicAction

  An `Action` which controls display of a window. `ActionEvent`s passed to this action may have the action command set to one of the strings `HIDE` or `SHOW` to define what the command means (in fact anything other than `HIDE` counts as `SHOW`). It has a bound property with key `VISIBLE` which indicates whether the associated window is currently showing or not. Setting the `VISIBLE` property true/false has the same effect as invoking the action with the `SHOW`/`HIDE` command string.

  This class is currently a bit messy and overspecified for what it does.

  Since:
    2 Mar 2004
  Author:
    Mark Taylor (Starlink)
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `HIDE` | Action command text for the action which hides the window associated with this action.
    `static java.lang.String` | `SHOW` | Action command text for the action which reveals the window associated with this action.
    `static java.lang.String` | `VISIBLE` | Name of the bound property which indicates whether the window associated with this action is currently visible in the GUI.

    - ### Fields inherited from class javax.swing.AbstractAction

      `changeSupport, enabled`

    - ### Fields inherited from interface javax.swing.Action

      `ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, DISPLAYED_MNEMONIC_INDEX_KEY, LARGE_ICON_KEY, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SELECTED_KEY, SHORT_DESCRIPTION, SMALL_ICON`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor | Description
    --- | --- | ---
    `protected` | `WindowAction​(java.lang.String name, javax.swing.Icon icon, java.lang.String shortdesc)` | Constructs a new WindowAction.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `actionPerformed​(java.awt.event.ActionEvent evt)` |
    `javax.swing.JToggleButton` | `getButton()` | Returns a toggle button which toggles visibility of the window associated with this action.
    `java.lang.Object` | `getValue​(java.lang.String key)` |
    `abstract java.awt.Window` | `getWindow​(java.awt.Component parent)` | Returns the window associated with this action, creating it if necessary.
    `abstract boolean` | `hasWindow()` | Indicates whether the window associated with this window is currently in existence.
    `void` | `putValue​(java.lang.String key, java.lang.Object newValue)` |

    - ### Methods inherited from class javax.swing.AbstractAction

      `addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, isEnabled, removePropertyChangeListener, setEnabled`

    - ### Methods inherited from interface javax.swing.Action

      `accept`

    - ### Methods inherited from class uk.ac.starlink.topcat.BasicAction

      `getEventWindow`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### HIDE

          public static final java.lang.String HIDE

      Action command text for the action which hides the window associated with this action.
      See Also:
        Constant Field Values

    - #### SHOW

          public static final java.lang.String SHOW

      Action command text for the action which reveals the window associated with this action.
      See Also:
        Constant Field Values

    - #### VISIBLE

          public static final java.lang.String VISIBLE

      Name of the bound property which indicates whether the window associated with this action is currently visible in the GUI.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### WindowAction

          protected WindowAction​(java.lang.String name,
                                 javax.swing.Icon icon,
                                 java.lang.String shortdesc)

      Constructs a new WindowAction.
      Parameters:
        `name` - action name
        `icon` - action icon
        `shortdesc` - action short description property

  - ### Method Detail

    - #### actionPerformed

          public void actionPerformed​(java.awt.event.ActionEvent evt)

    - #### getValue

          public java.lang.Object getValue​(java.lang.String key)

      Specified by:
        `getValue` in interface `javax.swing.Action`
      Overrides:
        `getValue` in class `javax.swing.AbstractAction`

    - #### putValue

          public void putValue​(java.lang.String key,
                               java.lang.Object newValue)

      Specified by:
        `putValue` in interface `javax.swing.Action`
      Overrides:
        `putValue` in class `javax.swing.AbstractAction`

    - #### getWindow

          public abstract java.awt.Window getWindow​(java.awt.Component parent)

      Returns the window associated with this action, creating it if necessary.
      Parameters:
        `parent` - component which may be used for placing the new window

    - #### hasWindow

          public abstract boolean hasWindow()

      Indicates whether the window associated with this window is currently in existence.
      Returns:
        true iff the window exists

    - #### getButton

          public javax.swing.JToggleButton getButton()

      Returns a toggle button which toggles visibility of the window associated with this action.

      ** Mostly working but not used at the moment **

      Returns:
        new button

Copyright © 2003-2018 CCLRC: Council for the Central Laboratory of the Research Councils. All Rights Reserved.