Package uk.ac.starlink.topcat.plot

## Class StyleEditor

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JPanel
        - - uk.ac.starlink.topcat.plot.StyleEditor

- All Implemented Interfaces:
    `java.awt.event.ActionListener`, `java.awt.image.ImageObserver`, `java.awt.MenuContainer`, `java.io.Serializable`, `java.util.EventListener`, `javax.accessibility.Accessible`, `javax.swing.event.ChangeListener`
  Direct Known Subclasses:
    `BarStyleEditor`, `DensityStyleEditor`, `LinesStyleEditor`, `MarkStyleEditor`

      public abstract class StyleEditor
      extends javax.swing.JPanel
      implements java.awt.event.ActionListener, javax.swing.event.ChangeListener

  Graphical component which provides a GUI for editing the characteristics of a `Style` object. This is an abstract superclass; a specialised implementation will be required for each `Style` implementation. Since Style objects are usually immutable, this doesn't (necessarily) edit a single style object; instead you configure it with an existing style using the `setState(uk.ac.starlink.ttools.plot.Style, java.lang.String, boolean)` method and later use the `getStyle()` method and others to obtain the new style which is a result of the editing.
  Since:
    10 Jan 2005
  Author:
    Mark Taylor
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `java.awt.Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class javax.swing.JComponent

      `javax.swing.JComponent.AccessibleJComponent`

    - ### Nested classes/interfaces inherited from class javax.swing.JPanel

      `javax.swing.JPanel.AccessibleJPanel`

  - ### Field Summary

    - ### Fields inherited from class java.awt.Component

      `accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

    - ### Fields inherited from interface java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

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

      `listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `StyleEditor()` | Constructor.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `actionPerformed​(java.awt.event.ActionEvent evt)` | Invoked every time the style described by the current state of this component changes.
    `void` | `addActionListener​(java.awt.event.ActionListener listener)` | Adds an action listener.
    `void` | `cancelChanges()` | Undoes any changes done since `setState(uk.ac.starlink.ttools.plot.Style, java.lang.String, boolean)` was called.
    `abstract java.lang.String` | `getHelpID()` | Returns the help ID associated with this editor.
    `boolean` | `getHideLegend()` | Returns whether the Hide Legend check box is currently selected.
    `java.lang.String` | `getLabel()` | Returns the label currently entered in this component.
    `javax.swing.Icon` | `getLegendIcon()` | Returns the icon to be used for the display legend of this editor.
    `SetId` | `getSetId()` | Returns the set identifier for the style which this editor is currently editing.
    `abstract uk.ac.starlink.ttools.plot.Style` | `getStyle()` | Returns a style object derived from the current state of this component.
    `protected void` | `init()` | Performs initialisation after construction but before the first display of this component.
    `protected void` | `refreshState()` | Ensures that all the visual components of this editor match its internal state.
    `void` | `removeActionListener​(java.awt.event.ActionListener listener)` | Removes an action listener which was previously added.
    `void` | `setSetId​(SetId id)` | Sets the set identifier for the style which this editor is currently editing.
    `void` | `setState​(uk.ac.starlink.ttools.plot.Style style, java.lang.String label, boolean hideLegend)` | Sets the state of this component ready for editing.
    `abstract void` | `setStyle​(uk.ac.starlink.ttools.plot.Style style)` | Sets the style.
    `void` | `setVisible​(boolean visible)` |
    `void` | `stateChanged​(javax.swing.event.ChangeEvent evt)` | Invoked every time the style described by the current state of this component changes.

    - ### Methods inherited from class java.awt.Component

      `action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.awt.Container

      `add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree`

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

      `addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update`

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

      `getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

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

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

- - ### Constructor Detail

    - #### StyleEditor

          public StyleEditor()

      Constructor.

  - ### Method Detail

    - #### setVisible

          public void setVisible​(boolean visible)

      Overrides:
        `setVisible` in class `javax.swing.JComponent`

    - #### init

          protected void init()

      Performs initialisation after construction but before the first display of this component.

    - #### setState

          public void setState​(uk.ac.starlink.ttools.plot.Style style,
                               java.lang.String label,
                               boolean hideLegend)

      Sets the state of this component ready for editing.
      Parameters:
        `style` - style
        `label` - textual label to use in legends annotating the style being edited
        `hideLegend` - whether this style is to be excluded from plot legends

    - #### setStyle

          public abstract void setStyle​(uk.ac.starlink.ttools.plot.Style style)

      Sets the style. Implementations should configure their visual state so that it matches the characteristics of the given style.
      Parameters:
        `style` - current style

    - #### getStyle

          public abstract uk.ac.starlink.ttools.plot.Style getStyle()

      Returns a style object derived from the current state of this component.
      Returns:
        current (edited) style

    - #### getHelpID

          public abstract java.lang.String getHelpID()

      Returns the help ID associated with this editor.
      Returns:
        ID within TOPCAT HelpSet

    - #### getLabel

          public java.lang.String getLabel()

      Returns the label currently entered in this component.
      Returns:
        label

    - #### getHideLegend

          public boolean getHideLegend()

      Returns whether the Hide Legend check box is currently selected.
      Returns:
        true iff legend will be hidden for this style

    - #### setSetId

          public void setSetId​(SetId id)

      Sets the set identifier for the style which this editor is currently editing.
      Parameters:
        `id` - set identifier

    - #### getSetId

          public SetId getSetId()

      Returns the set identifier for the style which this editor is currently editing.
      Returns:
        set identifier

    - #### cancelChanges

          public void cancelChanges()

      Undoes any changes done since `setState(uk.ac.starlink.ttools.plot.Style, java.lang.String, boolean)` was called.

    - #### addActionListener

          public void addActionListener​(java.awt.event.ActionListener listener)

      Adds an action listener. It will be notified every time something the state described by this component changes.
      Parameters:
        `listener` - listener to add

    - #### removeActionListener

          public void removeActionListener​(java.awt.event.ActionListener listener)

      Removes an action listener which was previously added.
      Parameters:
        `listener` - listener to remove
      See Also:
        `addActionListener(java.awt.event.ActionListener)`

    - #### actionPerformed

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

      Invoked every time the style described by the current state of this component changes.
      Specified by:
        `actionPerformed` in interface `java.awt.event.ActionListener`

    - #### stateChanged

          public void stateChanged​(javax.swing.event.ChangeEvent evt)

      Invoked every time the style described by the current state of this component changes.
      Specified by:
        `stateChanged` in interface `javax.swing.event.ChangeListener`

    - #### refreshState

          protected void refreshState()

      Ensures that all the visual components of this editor match its internal state.

    - #### getLegendIcon

          public javax.swing.Icon getLegendIcon()

      Returns the icon to be used for the display legend of this editor.
      Returns:
        legend icon

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