Package uk.ac.starlink.topcat.plot

## Class PointSelectorSet

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JPanel
        - - uk.ac.starlink.topcat.plot.PointSelectorSet

- All Implemented Interfaces:
    `java.awt.image.ImageObserver`, `java.awt.MenuContainer`, `java.io.Serializable`, `javax.accessibility.Accessible`

      public abstract class PointSelectorSet
      extends javax.swing.JPanel

  Component which keeps track of a number of `PointSelector` objects. It currently uses a JTabbedPane to present them.

  It also keeps track of whether the selected axes are reversed (flipped) and whether they use linear or logarithmic scales. This is not logically the job of this component, but the checkboxes really have to go in the same bit of screen space, so for practical reasons they are here.

  Since:
    1 Nov 2005
  Author:
    Mark Taylor
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### 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`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `java.awt.Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class javax.swing.JComponent

      `javax.swing.JComponent.AccessibleJComponent`

    - ### Nested classes/interfaces inherited from class javax.swing.JPanel

      `javax.swing.JPanel.AccessibleJPanel`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static java.lang.String` | `MAIN_TAB_NAME` |

    - ### 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`

    - ### 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
    --- | ---
    `PointSelectorSet()` | Constructs a new set.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addActionListener​(java.awt.event.ActionListener listener)` | Adds an action listener.
    `void` | `addNewSelector​(PointSelector psel)` | Adds a new selector to this set.
    `void` | `addTopcatListener​(TopcatListener listener)` | Adds a TopcatListener which will be notified when changes occur to any TopcatModel associated with this component.
    `protected abstract PointSelector` | `createSelector()` | Factory method to construct new PointSelector objects to go in this PointSelectorSet.
    `protected abstract StyleEditor` | `createStyleEditor()` | Factory method to construct a StyleEditor component for configuring how different styles appear in the plot.
    `javax.swing.Action` | `getAddSelectorAction()` | Returns an action which adds a new selector to this set.
    `PointSelector` | `getMainSelector()` | Returns the 'main' PointSelector contained in this set.
    `PointSelection` | `getPointSelection()` | Returns the data specification reflecting the current state of this component.
    `javax.swing.Action` | `getRemoveSelectorAction()` | Returns an action which removes a selector from this set.
    `PointSelector` | `getSelector​(int index)` | Returns the selector at a given index.
    `int` | `getSelectorCount()` | Returns the number of selectors in this set.
    `StyleWindow` | `getStyleWindow()` |
    `void` | `removeActionListener​(java.awt.event.ActionListener listener)` | Removes an action listener.
    `void` | `removeCurrentSelector()` | Removes the currently selected selector from this set.
    `void` | `removeTopcatListener​(TopcatListener listener)` | Removes a TopcatListener which was previously added.

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

      `getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### MAIN_TAB_NAME

          public static final java.lang.String MAIN_TAB_NAME

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### PointSelectorSet

          public PointSelectorSet()

      Constructs a new set.

  - ### Method Detail

    - #### getSelectorCount

          public int getSelectorCount()

      Returns the number of selectors in this set.
      Returns:
        selector count

    - #### getSelector

          public PointSelector getSelector​(int index)

      Returns the selector at a given index.
      Parameters:
        `index` - index of the selector to return
      Returns:
        selector

    - #### getAddSelectorAction

          public javax.swing.Action getAddSelectorAction()

      Returns an action which adds a new selector to this set.
      Returns:
        add action

    - #### getRemoveSelectorAction

          public javax.swing.Action getRemoveSelectorAction()

      Returns an action which removes a selector from this set.
      Returns:
        remove action

    - #### createSelector

          protected abstract PointSelector createSelector()

      Factory method to construct new PointSelector objects to go in this PointSelectorSet.
      Returns:
        new point selector component

    - #### createStyleEditor

          protected abstract StyleEditor createStyleEditor()

      Factory method to construct a StyleEditor component for configuring how different styles appear in the plot.
      Returns:
        new style editor component

    - #### getStyleWindow

          public StyleWindow getStyleWindow()

    - #### getPointSelection

          public PointSelection getPointSelection()

      Returns the data specification reflecting the current state of this component. This contains all the information about what points are to be plotted.
      Returns:
        point selection object

    - #### getMainSelector

          public PointSelector getMainSelector()

      Returns the 'main' PointSelector contained in this set.
      Returns:
        main selector, or null if there isn't one yet

    - #### addNewSelector

          public void addNewSelector​(PointSelector psel)

      Adds a new selector to this set.
      Parameters:
        `psel` - new selector

    - #### removeCurrentSelector

          public void removeCurrentSelector()

      Removes the currently selected selector from this set.

    - #### addActionListener

          public void addActionListener​(java.awt.event.ActionListener listener)

      Adds an action listener. Such listeners will be notified any time PointSelectors are added to or removed from this set, and any time the state of any selector currently a member of this set changes.
      Parameters:
        `listener` - listener to add

    - #### removeActionListener

          public void removeActionListener​(java.awt.event.ActionListener listener)

      Removes an action listener.
      Parameters:
        `listener` - listener to remove
      See Also:
        `addActionListener(java.awt.event.ActionListener)`

    - #### addTopcatListener

          public void addTopcatListener​(TopcatListener listener)

      Adds a TopcatListener which will be notified when changes occur to any TopcatModel associated with this component.
      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)`

Copyright © 2003-2018 CCLRC: Council for the Central Laboratory of the Research Councils. All Rights Reserved.