uk.ac.starlink.topcat.plot
Class StyleEditor

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by uk.ac.starlink.topcat.plot.StyleEditor
All Implemented Interfaces:
ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ChangeListener
Direct Known Subclasses:
BarStyleEditor, DensityStyleEditor, LinesStyleEditor, MarkStyleEditor

public abstract class StyleEditor
extends JPanel
implements ActionListener, 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
JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
StyleEditor()
          Constructor.
 
Method Summary
 void actionPerformed(ActionEvent evt)
          Invoked every time the style described by the current state of this component changes.
 void addActionListener(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  String getHelpID()
          Returns the help ID associated with this editor.
 boolean getHideLegend()
          Returns whether the Hide Legend check box is currently selected.
 String getLabel()
          Returns the label currently entered in this component.
 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(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, 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(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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, 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 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,
                     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 String getHelpID()
Returns the help ID associated with this editor.

Returns:
ID within TOPCAT HelpSet

getLabel

public 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(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(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(ActionEvent evt)
Invoked every time the style described by the current state of this component changes.

Specified by:
actionPerformed in interface ActionListener

stateChanged

public void stateChanged(ChangeEvent evt)
Invoked every time the style described by the current state of this component changes.

Specified by:
stateChanged in interface ChangeListener

refreshState

protected void refreshState()
Ensures that all the visual components of this editor match its internal state.


getLegendIcon

public 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.