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.JPanelComponent for choosing a table, a number of columns and a selection of row subsets. The details of the column selection are handled by a consitituentAxesSelectorobject.- 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.StringTABLE_CHANGEDActionEvent 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 voidaddActionListener(java.awt.event.ActionListener listener)Adds an action listener.voidaddSubsetSelectionListener(javax.swing.event.ListSelectionListener listener)Adds a ListSelectionListener which will be notified when the subset selection changes.voidaddTopcatListener(TopcatListener listener)Adds a TopcatListener which will be notified when changes occur to the TopcatModel associated with this selector.voidconfigureForTable(TopcatModel tcModel)Sets this selector to work from a table described by a given TopcatModel.AxesSelectorgetAxesSelector()Returns the AxesSelector used by this PointSelector.java.awt.event.ActionListenergetErrorModeListener()Returns a listener which should be informed every time the error mode changes.java.lang.StringgetLabel()Returns the label for this selector.int[]getOrderedSubsetSelection()Returns a list of indices giving the selected subsets.uk.ac.starlink.ttools.plot.StylegetStyle(int isub)Returns the style to use for a given subset index.javax.swing.IcongetStyleLegendIcon(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.StyleSetgetStyles()Returns the style set used by this selector.StyleWindowgetStyleWindow()Returns this selector's style window.java.lang.StringgetSubsetDisplayLabel(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.TopcatModelgetTable()Returns the currently selected table.booleanisReady()Indicates whether this selector has enough state filled in to be able to specify some point data.voidremoveActionListener(java.awt.event.ActionListener listener)Removes an action listener which was previously added.voidremoveSubsetSelectionListener(javax.swing.event.ListSelectionListener listner)Removes a ListSelectionListener which was previously added.voidremoveTopcatListener(TopcatListener listener)Removes a TopcatListener which was previously added.voidsetHorizontalEntryScrolling(boolean isScroll)Determines whether the component containing the column selectors will scroll horizontally if required or not.voidsetLabel(java.lang.String label)Sets a label for this selector.voidsetStyles(MutableStyleSet styles)Resets the style set to be used by this selector.voidsetStyleWindow(StyleWindow styler)Sets the style window associated with this selector.voidsetSubsetSelection(boolean[] selected)Sets the current selection pattern for row subsets.voidsetTable(TopcatModel tcModel, boolean init)Sets the table to which this selector currently applies.voidsetVerticalEntryScrolling(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 theListSelectionEvents 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
-
-