Class 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 consitituent AxesSelector 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
      • 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 
      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
      • 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
    • 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
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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
    • 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 - table
        init - 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 in getSubsetSelection(), 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 the ListSelectionEvents which are sent will be this PointSelector.
        Parameters:
        listener - listener to add
      • 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
      • 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