Package uk.ac.starlink.topcat.plot2

# Class LayerControlAction

java.lang.Object
javax.swing.AbstractAction
uk.ac.starlink.topcat.BasicAction
uk.ac.starlink.topcat.plot2.LayerControlAction

All Implemented Interfaces:
  `ActionListener`, `Serializable`, `Cloneable`, `EventListener`, `Action`

public abstract class LayerControlAction extends BasicAction
Action for adding a layer control to the plot stack.

Since:
  25 Jul 2013
Author:
  Mark Taylor
See Also:
  - Serialized Form

## Field Summary

### Fields inherited from class javax.swing.AbstractAction

`changeSupport, enabled`

### Fields inherited from interface javax.swing.Action

`ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, DISPLAYED_MNEMONIC_INDEX_KEY, LARGE_ICON_KEY, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SELECTED_KEY, SHORT_DESCRIPTION, SMALL_ICON`

## Constructor Summary

Constructors
Constructor
Description
`LayerControlAction(String name, Icon layerIcon, String descrip, uk.ac.starlink.ttools.plot2.Plotter<?> plotter, ControlStack stack)`
Constructs a LayerControlAction from name, icon and description.
`LayerControlAction(uk.ac.starlink.ttools.plot2.Plotter<?> plotter, ControlStack stack)`
Constructs a LayerControlAction from a Plotter.

## Method Summary

Modifier and Type
Method
Description
`void`
`actionPerformed(ActionEvent evt)`
`abstract LayerControl`
`createLayerControl()`
Creates a layer control for this action's plotter.
`static LayerControlAction`
`createPlotterAction(PlotTypeGui<?,?> plotTypeGui, uk.ac.starlink.ttools.plot2.Plotter<?> plotter, ControlStack stack, ListModel<TopcatModel> tablesModel, ZoneFactory zfact, NextSupplier nextSupplier, TopcatListener tcListener, MultiConfigger baseConfigger)`
Attempts to return an instance of this class corresponding to a given plotter.
`uk.ac.starlink.ttools.plot2.Plotter<?>`
`getPlotter()`
Returns the single plotter associated with this action, if any.

### Methods inherited from class uk.ac.starlink.topcat.BasicAction

`create, getEventWindow`

### Methods inherited from class javax.swing.AbstractAction

`addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled`

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

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

### Methods inherited from interface javax.swing.Action

`accept`

## Constructor Details

### LayerControlAction

public LayerControlAction(String name, Icon layerIcon, String descrip, uk.ac.starlink.ttools.plot2.Plotter<?> plotter, ControlStack stack)
Constructs a LayerControlAction from name, icon and description.

Parameters:
  `name` - action name
  `layerIcon` - icon representing the type of layer the action will add; it may get doctored to generate the icon for this action
  `descrip` - action description
  `plotter` - single plotter associated with this layer control, may be null
  `stack` - plot stack

### LayerControlAction

public LayerControlAction(uk.ac.starlink.ttools.plot2.Plotter<?> plotter, ControlStack stack)
Constructs a LayerControlAction from a Plotter.

Parameters:
  `plotter` - plotter which will be added to the stack
  `stack` - plot stack

## Method Details

### createLayerControl

public abstract LayerControl createLayerControl()
Creates a layer control for this action's plotter.

Returns:
  new layer control

### actionPerformed

public void actionPerformed(ActionEvent evt)

### getPlotter

public uk.ac.starlink.ttools.plot2.Plotter<?> getPlotter()
Returns the single plotter associated with this action, if any. For instances with no single plotter, null is returned.

Returns:
  plotter for this action, or null

### createPlotterAction

public static LayerControlAction createPlotterAction(PlotTypeGui<?,?> plotTypeGui, uk.ac.starlink.ttools.plot2.Plotter<?> plotter, ControlStack stack, ListModel<TopcatModel> tablesModel, ZoneFactory zfact, NextSupplier nextSupplier, TopcatListener tcListener, MultiConfigger baseConfigger)
Attempts to return an instance of this class corresponding to a given plotter. If no suitable implementation is available, null is returned.

Parameters:
  `plotTypeGui` - plot type
  `plotter` - plotter to provide an action for
  `stack` - stack to which controls are to be added
  `tablesModel` - list of available tables
  `zfact` - zone id factory
  `nextSupplier` - manages global dispensing for some style options
  `tcListener` - listener for TopcatEvents
  `baseConfigger` - configuration source for some global config options
Returns:
  new action to add plotter control to stack, or null