Class 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 javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • 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
    • Field Summary

      • 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
      • 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
    • 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()
      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 javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
      • 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 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 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.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
      • 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