Class AugmentedAxesSelector
java.lang.Object
uk.ac.starlink.topcat.plot.AugmentedAxesSelector
- All Implemented Interfaces:
AxesSelector, uk.ac.starlink.util.Wrapper
public class AugmentedAxesSelector
extends Object
implements AxesSelector, uk.ac.starlink.util.Wrapper
AxesSelector implementation that wraps an existing one and adds some
auxiliary axes of its own. These auxiliary axes are optional and
may be rendered visible or not using the
setAuxVisible(int) method.- Since:
- 4 Jun 2007
- Author:
- Mark Taylor
-
Constructor Summary
ConstructorsConstructorDescriptionAugmentedAxesSelector(AxesSelector baseSelector, int naux, ToggleButtonModel[] logModels, ToggleButtonModel[] flipModels, ComboBoxModel[] shaderModels) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddActionListener(ActionListener listener) Adds a listener which is notified when any of the selections made by this component changes.Constructs an array of AxisEditor objects suitable for modifying the axes which are defined by this selector.createPointStore(int npoint) Returns a PointStore suitable for storing coordinate and error information generated by the current state of this selector.Returns the constituent selector which deals only with the auxiliary axes.getBase()Returns the selector that this one is augmenting (before the auxiliary axes are added to it).Returns the panel which contains column selectors and any other UI components that the concrete subclass wants to place.Returns the array of combo boxes which are used to select column or other values.uk.ac.starlink.table.StarTablegetData()Returns a StarTable which corresponds to the data in the columns selected by the current selections on this object.uk.ac.starlink.table.StarTableReturns a StarTable which corresponds to the error data defined by the current selections.uk.ac.starlink.ttools.plot.ErrorMode[]Returns the error modes currently in force for this selector.uk.ac.starlink.table.StarTableReturns a StarTable whose single column contains a label for each point.intgetNdim()Returns the number of columns in the table thatAxesSelector.getData()will return.voidHint to set up the values of the column selectors to a sensible value.booleanisReady()Indicates whether this selector has enough state filled in to be able to specify some point data.voidremoveActionListener(ActionListener listener) Removes a listener added byAxesSelector.addActionListener(ActionListener).voidsetAuxVisible(int nVis) Sets the number of auxiliary axis selectors which are visible.voidsetTable(TopcatModel tcModel) Set up column selectors correctly for the given model.
-
Constructor Details
-
AugmentedAxesSelector
public AugmentedAxesSelector(AxesSelector baseSelector, int naux, ToggleButtonModel[] logModels, ToggleButtonModel[] flipModels, ComboBoxModel[] shaderModels) Constructor. Initially none of the auxiliary axes are visible.- Parameters:
baseSelector- the base selector to which this will append auxiliary axesnaux- number of auxiliary axes to appendlogModels-naux-element array of models flagging per-axis log scaling (or null)flipModels-naux-element array of models flagging per-axis sense inversion (or null)shaderModels-naux-element array of combo box models to display with each aux axis (or null)
-
-
Method Details
-
getBase
Returns the selector that this one is augmenting (before the auxiliary axes are added to it).- Specified by:
getBasein interfaceuk.ac.starlink.util.Wrapper- Returns:
- base axes selector
-
getAuxSelector
Returns the constituent selector which deals only with the auxiliary axes.- Returns:
- auxiliary-only axes selector
-
setAuxVisible
public void setAuxVisible(int nVis) Sets the number of auxiliary axis selectors which are visible. The initial value is zero. Calling this method will make the firstnVisaxes visible.- Parameters:
nVis- number of auxiliary axis selectors to show
-
getColumnSelectorPanel
Description copied from interface:AxesSelectorReturns the panel which contains column selectors and any other UI components that the concrete subclass wants to place.- Specified by:
getColumnSelectorPanelin interfaceAxesSelector- Returns:
- column selector panel
-
getColumnSelectors
Description copied from interface:AxesSelectorReturns the array of combo boxes which are used to select column or other values.- Specified by:
getColumnSelectorsin interfaceAxesSelector- Returns:
- array of column selector combo boxes
-
getNdim
public int getNdim()Description copied from interface:AxesSelectorReturns the number of columns in the table thatAxesSelector.getData()will return.- Specified by:
getNdimin interfaceAxesSelector- Returns:
- dimensionality
-
isReady
public boolean isReady()Description copied from interface:AxesSelectorIndicates whether this selector has enough state filled in to be able to specify some point data.- Specified by:
isReadyin interfaceAxesSelector- Returns:
- true iff properly filled in
-
getData
public uk.ac.starlink.table.StarTable getData()Description copied from interface:AxesSelectorReturns 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(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 dohashCodetoo.- Specified by:
getDatain interfaceAxesSelector- Returns:
- table containing the data from the current selection
-
getErrorData
public uk.ac.starlink.table.StarTable getErrorData()Description copied from interface:AxesSelectorReturns 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:
getErrorDatain interfaceAxesSelector- Returns:
- error data table
-
getErrorModes
public uk.ac.starlink.ttools.plot.ErrorMode[] getErrorModes()Description copied from interface:AxesSelectorReturns the error modes currently in force for this selector.- Specified by:
getErrorModesin interfaceAxesSelector- Returns:
- error mode array
-
getLabelData
public uk.ac.starlink.table.StarTable getLabelData()Description copied from interface:AxesSelectorReturns 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:
getLabelDatain interfaceAxesSelector- Returns:
- label table
-
createAxisEditors
Description copied from interface:AxesSelectorConstructs 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:
createAxisEditorsin interfaceAxesSelector- Returns:
- array of new AxisEditors
-
createPointStore
Description copied from interface:AxesSelectorReturns a PointStore suitable for storing coordinate and error information generated by the current state of this selector. The store will have to storenpointpoints, and itsPointStore.storePoint(Object[], Object[], String)method will be called with the result of acquiring rows from the tables got from this selector'sAxesSelector.getData()andAxesSelector.getErrorData()methods.- Specified by:
createPointStorein interfaceAxesSelector- Parameters:
npoint- number of points to store- Returns:
- new point store
-
setTable
Description copied from interface:AxesSelectorSet 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:
setTablein interfaceAxesSelector- Parameters:
tcModel- table for which selectors must be configured
-
initialiseSelectors
public void initialiseSelectors()Description copied from interface:AxesSelectorHint to set up the values of the column selectors to a sensible value. An implementation which does nothing is legal.- Specified by:
initialiseSelectorsin interfaceAxesSelector
-
addActionListener
Description copied from interface:AxesSelectorAdds a listener which is notified when any of the selections made by this component changes.- Specified by:
addActionListenerin interfaceAxesSelector- Parameters:
listener- listener to add
-
removeActionListener
Description copied from interface:AxesSelectorRemoves a listener added byAxesSelector.addActionListener(ActionListener).- Specified by:
removeActionListenerin interfaceAxesSelector- Parameters:
listener- listener to remove
-