uk.ac.starlink.topcat.plot
Class SphericalAxesSelector

java.lang.Object
  extended by uk.ac.starlink.topcat.plot.SphericalAxesSelector
All Implemented Interfaces:
AxesSelector

public class SphericalAxesSelector
extends Object
implements AxesSelector

AxesSelector implementation which queries for spherical polar coordinates and yields 3D Cartesian ones.

Since:
31 May 2007
Author:
Mark Taylor

Constructor Summary
SphericalAxesSelector(ToggleButtonModel logToggler, ToggleButtonModel tangentErrorToggler, ErrorModeSelectionModel radialErrorModeModel)
          Constructor.
 
Method Summary
 void addActionListener(ActionListener listener)
          Adds a listener which is notified when any of the selections made by this component changes.
 AxisEditor[] createAxisEditors()
          Constructs an array of AxisEditor objects suitable for modifying the axes which are defined by this selector.
 PointStore createPointStore(int npoint)
          Returns a PointStore suitable for storing coordinate and error information generated by the current state of this selector.
 JComponent getColumnSelectorPanel()
          Returns the panel which contains column selectors and any other UI components that the concrete subclass wants to place.
 JComboBox[] getColumnSelectors()
          Returns the array of combo boxes which are used to select column or other values.
 uk.ac.starlink.table.StarTable getData()
          Returns a StarTable which corresponds to the data in the columns selected by the current selections on this object.
 uk.ac.starlink.table.StarTable getErrorData()
          Returns a StarTable which corresponds to the error data defined by the current selections.
 uk.ac.starlink.ttools.plot.ErrorMode[] getErrorModes()
          Returns the error modes currently in force for this selector.
 uk.ac.starlink.table.StarTable getLabelData()
          Returns a StarTable whose single column contains a label for each point.
 int getNdim()
          Returns the number of columns in the table that AxesSelector.getData() will return.
 uk.ac.starlink.table.ValueInfo getRadialInfo()
          Returns metadata describing the currently selected radial coordinate.
 void initialiseSelectors()
          Hint to set up the values of the column selectors to a sensible value.
 boolean isReady()
          Indicates whether this selector has enough state filled in to be able to specify some point data.
 void removeActionListener(ActionListener listener)
          Removes a listener added by AxesSelector.addActionListener(java.awt.event.ActionListener).
 void setRadialVisible(boolean vis)
          Determines whether the radial axis control is visible.
 void setTable(TopcatModel tcModel)
          Set up column selectors correctly for the given model.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SphericalAxesSelector

public SphericalAxesSelector(ToggleButtonModel logToggler,
                             ToggleButtonModel tangentErrorToggler,
                             ErrorModeSelectionModel radialErrorModeModel)
Constructor.

Parameters:
logToggler - model for determining whether the radial coordinate is to be scaled logarithmically
tangentErrorToggler - model indicating whether tangential errors will be drawn
radialErrorModeModel - model indicating whether/how radial errors will be drawn
Method Detail

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

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

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

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

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
Removes a listener added by AxesSelector.addActionListener(java.awt.event.ActionListener).

Specified by:
removeActionListener in interface AxesSelector
Parameters:
listener - listener to remove

setRadialVisible

public void setRadialVisible(boolean vis)
Determines whether the radial axis control is visible. If not, the radial axis is assumed always to have a value of unity.

Parameters:
vis - whether the radial control is visible

getRadialInfo

public uk.ac.starlink.table.ValueInfo getRadialInfo()
Returns metadata describing the currently selected radial coordinate. If no radial coordinate is selected (all points on the surface of the sphere), null is returned.

Returns:
radial column info


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