Package uk.ac.starlink.topcat.plot
Class PointSelector
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- uk.ac.starlink.topcat.plot.PointSelector
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
public class PointSelector extends javax.swing.JPanel
Component for choosing a table, a number of columns and a selection of row subsets. The details of the column selection are handled by a consitituentAxesSelector
object.- Since:
- 28 Oct 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
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
TABLE_CHANGED
ActionEvent command string indicating a change of table.-
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 PointSelector(AxesSelector axesSelector, MutableStyleSet styles)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addActionListener(java.awt.event.ActionListener listener)
Adds an action listener.void
addSubsetSelectionListener(javax.swing.event.ListSelectionListener listener)
Adds a ListSelectionListener which will be notified when the subset selection changes.void
addTopcatListener(TopcatListener listener)
Adds a TopcatListener which will be notified when changes occur to the TopcatModel associated with this selector.void
configureForTable(TopcatModel tcModel)
Sets this selector to work from a table described by a given TopcatModel.AxesSelector
getAxesSelector()
Returns the AxesSelector used by this PointSelector.java.awt.event.ActionListener
getErrorModeListener()
Returns a listener which should be informed every time the error mode changes.java.lang.String
getLabel()
Returns the label for this selector.int[]
getOrderedSubsetSelection()
Returns a list of indices giving the selected subsets.uk.ac.starlink.ttools.plot.Style
getStyle(int isub)
Returns the style to use for a given subset index.javax.swing.Icon
getStyleLegendIcon(uk.ac.starlink.ttools.plot.Style style)
Returns the icon used to represent a given style in legends for this selector.uk.ac.starlink.ttools.plot.StyleSet
getStyles()
Returns the style set used by this selector.StyleWindow
getStyleWindow()
Returns this selector's style window.java.lang.String
getSubsetDisplayLabel(int isub)
Returns the subset label to be used for annotating one of the subsets controlled by this selector in a plot legend.boolean[]
getSubsetSelection()
Returns an array of flags indicating which of the row subsets have been selected.TopcatModel
getTable()
Returns the currently selected table.boolean
isReady()
Indicates whether this selector has enough state filled in to be able to specify some point data.void
removeActionListener(java.awt.event.ActionListener listener)
Removes an action listener which was previously added.void
removeSubsetSelectionListener(javax.swing.event.ListSelectionListener listner)
Removes a ListSelectionListener which was previously added.void
removeTopcatListener(TopcatListener listener)
Removes a TopcatListener which was previously added.void
setHorizontalEntryScrolling(boolean isScroll)
Determines whether the component containing the column selectors will scroll horizontally if required or not.void
setLabel(java.lang.String label)
Sets a label for this selector.void
setStyles(MutableStyleSet styles)
Resets the style set to be used by this selector.void
setStyleWindow(StyleWindow styler)
Sets the style window associated with this selector.void
setSubsetSelection(boolean[] selected)
Sets the current selection pattern for row subsets.void
setTable(TopcatModel tcModel, boolean init)
Sets the table to which this selector currently applies.void
setVerticalEntryScrolling(boolean isScroll)
Determines whether the component containing the column selectors will scroll vertically if required or not.-
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, setVisible, 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
-
-
-
-
Field Detail
-
TABLE_CHANGED
public static final java.lang.String TABLE_CHANGED
ActionEvent command string indicating a change of table.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
PointSelector
public PointSelector(AxesSelector axesSelector, MutableStyleSet styles)
-
-
Method Detail
-
getAxesSelector
public AxesSelector getAxesSelector()
Returns the AxesSelector used by this PointSelector.- Returns:
- axes selector
-
isReady
public boolean isReady()
Indicates whether this selector has enough state filled in to be able to specify some point data.- Returns:
- true iff properly filled in
-
setHorizontalEntryScrolling
public void setHorizontalEntryScrolling(boolean isScroll)
Determines whether the component containing the column selectors will scroll horizontally if required or not.- Parameters:
isScroll
- true iff the entry box should scroll horizontally
-
setVerticalEntryScrolling
public void setVerticalEntryScrolling(boolean isScroll)
Determines whether the component containing the column selectors will scroll vertically if required or not.- Parameters:
isScroll
- true iff the entry box should scroll vertically
-
setStyleWindow
public void setStyleWindow(StyleWindow styler)
Sets the style window associated with this selector. This should be called soon after construction (before this selector is displayed), and should not be called subsequently.- Parameters:
styler
- style window
-
getStyleWindow
public StyleWindow getStyleWindow()
Returns this selector's style window.- Returns:
- style window
-
setLabel
public void setLabel(java.lang.String label)
Sets a label for this selector. This should be a short string; it's used to disambiguate subsets from those controlled by other selectors.- Parameters:
label
- label string
-
getLabel
public java.lang.String getLabel()
Returns the label for this selector.- Returns:
- selector label
-
getTable
public TopcatModel getTable()
Returns the currently selected table.- Returns:
- topcat model of the currently selected table
-
setTable
public void setTable(TopcatModel tcModel, boolean init)
Sets the table to which this selector currently applies.- Parameters:
tcModel
- tableinit
- whether to initialise the columns with sensible starting values
-
setSubsetSelection
public void setSubsetSelection(boolean[] selected)
Sets the current selection pattern for row subsets.- Parameters:
selected
- array of selection flags for subsets
-
getSubsetSelection
public boolean[] getSubsetSelection()
Returns an array of flags indicating which of the row subsets have been selected.- Returns:
- subset selection flags
-
getOrderedSubsetSelection
public int[] getOrderedSubsetSelection()
Returns a list of indices giving the selected subsets. This contains substantially the same information as ingetSubsetSelection()
, but in a different form and with the additional information of what order the selections were made in.- Returns:
- array of selected subset indices
-
getStyle
public uk.ac.starlink.ttools.plot.Style getStyle(int isub)
Returns the style to use for a given subset index.- Parameters:
isub
- subset index- Returns:
- subset style
-
getStyles
public uk.ac.starlink.ttools.plot.StyleSet getStyles()
Returns the style set used by this selector.- Returns:
- style set
-
setStyles
public void setStyles(MutableStyleSet styles)
Resets the style set to be used by this selector.- Parameters:
styles
- new style set
-
getStyleLegendIcon
public javax.swing.Icon getStyleLegendIcon(uk.ac.starlink.ttools.plot.Style style)
Returns the icon used to represent a given style in legends for this selector.- Parameters:
style
- style to represent- Returns:
- icon
-
getErrorModeListener
public java.awt.event.ActionListener getErrorModeListener()
Returns a listener which should be informed every time the error mode changes.- Returns:
- listener
-
addActionListener
public void addActionListener(java.awt.event.ActionListener listener)
Adds an action listener. It will be notified every time something interesting happens to this selector.- 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)
-
addSubsetSelectionListener
public void addSubsetSelectionListener(javax.swing.event.ListSelectionListener listener)
Adds a ListSelectionListener which will be notified when the subset selection changes. Note that the source of theListSelectionEvent
s which are sent will be this PointSelector.- Parameters:
listener
- listener to add
-
removeSubsetSelectionListener
public void removeSubsetSelectionListener(javax.swing.event.ListSelectionListener listner)
Removes a ListSelectionListener which was previously added.- Parameters:
listner
- listener to remove- See Also:
addSubsetSelectionListener(javax.swing.event.ListSelectionListener)
-
addTopcatListener
public void addTopcatListener(TopcatListener listener)
Adds a TopcatListener which will be notified when changes occur to the TopcatModel associated with this selector.- Parameters:
listener
- listener to add
-
removeTopcatListener
public void removeTopcatListener(TopcatListener listener)
Removes a TopcatListener which was previously added.- Parameters:
listener
- listener to remove- See Also:
addTopcatListener(uk.ac.starlink.topcat.TopcatListener)
-
configureForTable
public void configureForTable(TopcatModel tcModel)
Sets this selector to work from a table described by a given TopcatModel.- Parameters:
tcModel
- table to work with
-
getSubsetDisplayLabel
public java.lang.String getSubsetDisplayLabel(int isub)
Returns the subset label to be used for annotating one of the subsets controlled by this selector in a plot legend. If the return value is the empty string then the subset should be excluded from the legend.- Parameters:
isub
- subset index- Returns:
- label, or null for hidden
-
-