Class WeightedAxesSelector

java.lang.Object
uk.ac.starlink.topcat.plot.WeightedAxesSelector
All Implemented Interfaces:
AxesSelector

public class WeightedAxesSelector extends Object implements AxesSelector
AxesSelector implementation which adds a weighting axis to the basic ones. The output is the same as that of the supplied base selector, but if weighting is in effect an additional weighting column is added.
Since:
20 Jun 2007
Author:
Mark Taylor
  • Constructor Details

    • WeightedAxesSelector

      public WeightedAxesSelector(AxesSelector baseSelector)
      Constructor.
      Parameters:
      baseSelector - selector without weighting on which this is based
  • Method Details

    • enableWeights

      public void enableWeights(boolean weightEnabled)
      Sets whether the weighting selector is visible, and also whether any selection in it affects the output of this selector.
      Parameters:
      weightEnabled - true iff weighting is enabled
    • getWeightSelector

      public JComboBox getWeightSelector()
      Gets the combo box used to select weighting columns.
      Returns:
      weight selector
    • getColumnSelectorPanel

      public JComponent getColumnSelectorPanel()
      Description copied from interface: AxesSelector
      Returns the panel which contains column selectors and any other UI components that the concrete subclass wants to place.
      Specified by:
      getColumnSelectorPanel in interface AxesSelector
      Returns:
      column selector panel
    • getColumnSelectors

      public JComboBox[] getColumnSelectors()
      Description copied from interface: AxesSelector
      Returns the array of combo boxes which are used to select column or other values.
      Specified by:
      getColumnSelectors in interface AxesSelector
      Returns:
      array of column selector combo boxes
    • setTable

      public void setTable(TopcatModel tcModel)
      Description copied from interface: AxesSelector
      Set up column selectors correctly for the given model. This will involve setting the column selector models appropriately. If the submitted table is null, then the selector models should be unselected.
      Specified by:
      setTable in interface AxesSelector
      Parameters:
      tcModel - table for which selectors must be configured
    • initialiseSelectors

      public void initialiseSelectors()
      Description copied from interface: AxesSelector
      Hint to set up the values of the column selectors to a sensible value. An implementation which does nothing is legal.
      Specified by:
      initialiseSelectors in interface AxesSelector
    • addActionListener

      public void addActionListener(ActionListener listener)
      Description copied from interface: AxesSelector
      Adds a listener which is notified when any of the selections made by this component changes.
      Specified by:
      addActionListener in interface AxesSelector
      Parameters:
      listener - listener to add
    • removeActionListener

      public void removeActionListener(ActionListener listener)
      Description copied from interface: AxesSelector
      Specified by:
      removeActionListener in interface AxesSelector
      Parameters:
      listener - listener to remove
    • getNdim

      public int getNdim()
      Description copied from interface: AxesSelector
      Returns the number of columns in the table that AxesSelector.getData() will return.
      Specified by:
      getNdim in interface AxesSelector
      Returns:
      dimensionality
    • isReady

      public boolean isReady()
      Description copied from interface: AxesSelector
      Indicates whether this selector has enough state filled in to be able to specify some point data.
      Specified by:
      isReady in interface AxesSelector
      Returns:
      true iff properly filled in
    • getData

      public uk.ac.starlink.table.StarTable getData()
      Description copied from interface: AxesSelector
      Returns a StarTable which corresponds to the data in the columns selected by the current selections on this object.

      Note: for performance reasons, it is imperative that two tables returned from this method must match according to the Object.equals(java.lang.Object) method if they are known to contain the same cell data (i.e. if the state of this selector has not changed in the mean time). Don't forget to do hashCode too.

      Specified by:
      getData in interface AxesSelector
      Returns:
      table containing the data from the current selection
    • getErrorData

      public uk.ac.starlink.table.StarTable getErrorData()
      Description copied from interface: AxesSelector
      Returns a StarTable which corresponds to the error data defined by the current selections. The details of how the table columns are laid out are down to the concrete subclass.

      See the notes in AxesSelector.getData() about table equality - the same constraints apply.

      Specified by:
      getErrorData in interface AxesSelector
      Returns:
      error data table
    • getLabelData

      public uk.ac.starlink.table.StarTable getLabelData()
      Description copied from interface: AxesSelector
      Returns a StarTable whose single column contains a label for each point.

      See the notes in AxesSelector.getData() about table equality - the same constraints apply.

      Specified by:
      getLabelData in interface AxesSelector
      Returns:
      label table
    • createAxisEditors

      public AxisEditor[] createAxisEditors()
      Description copied from interface: AxesSelector
      Constructs an array of AxisEditor objects suitable for modifying the axes which are defined by this selector. The number of them is often, but not necessarily, the same as the dimensionality of this selector.
      Specified by:
      createAxisEditors in interface AxesSelector
      Returns:
      array of new AxisEditors
    • createPointStore

      public PointStore createPointStore(int npoint)
      Description copied from interface: AxesSelector
      Returns a PointStore suitable for storing coordinate and error information generated by the current state of this selector. The store will have to store npoint points, and its PointStore.storePoint(java.lang.Object[], java.lang.Object[], java.lang.String) method will be called with the result of acquiring rows from the tables got from this selector's AxesSelector.getData() and AxesSelector.getErrorData() methods.
      Specified by:
      createPointStore in interface AxesSelector
      Parameters:
      npoint - number of points to store
      Returns:
      new point store
    • getErrorModes

      public uk.ac.starlink.ttools.plot.ErrorMode[] getErrorModes()
      Description copied from interface: AxesSelector
      Returns the error modes currently in force for this selector.
      Specified by:
      getErrorModes in interface AxesSelector
      Returns:
      error mode array
    • hasWeights

      public boolean hasWeights()
      Indicates whether non-unit weighting is in effect.
      Returns:
      if false, every element of the weighting column will be unity