Package uk.ac.starlink.topcat.plot2

# Class MultiFormLayerControl

java.lang.Object
uk.ac.starlink.topcat.plot2.TabberControl
uk.ac.starlink.topcat.plot2.FormLayerControl
uk.ac.starlink.topcat.plot2.MultiFormLayerControl

All Implemented Interfaces:
  `Control`, `LayerControl`

public class MultiFormLayerControl extends FormLayerControl
FormLayerControl in which forms can be added to and removed from a form stack under user control.

Since:
  8 Jan 2014
Author:
  Mark Taylor

## Constructor Summary

Constructors
Constructor
Description
`MultiFormLayerControl(PlotTypeGui<?,?> plotTypeGui, PositionCoordPanel posCoordPanel, ListModel<TopcatModel> tablesModel, uk.ac.starlink.ttools.plot2.config.Specifier<ZoneId> zsel, boolean autoPopulate, NextSupplier nextSupplier, TopcatListener tcListener, Icon controlIcon, uk.ac.starlink.ttools.plot2.Plotter<?>[] plotters, Configger baseConfigger)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`void`
`addDefaultLayers()`
Adds one or more layers that will give some default plot or other.
`void`
`addLayer(LayerCommand<?> lcmd)`
Attempts to add a specified layer to this control.
`protected FormControl[]`
`getFormControls()`
Returns a list of all the form controls, active or not, currently managd by this layer control.
`protected boolean`
`isControlActive(FormControl fc)`
Indicates whether a given form control is contributing the the plot on behalf of this layer control.

### Methods inherited from class uk.ac.starlink.topcat.plot2.FormLayerControl

`getActiveFormControls, getControlLabel, getCoordLabel, getLayers, getLegendEntries, getLegendLabel, getPlotters, getPositionCoordPanel, getSubsetManager, getSubsetStack, getTableSelector, getTopcatModel, getZoneSpecifier, hasLayers, setTopcatModel, submitReports`

### Methods inherited from class uk.ac.starlink.topcat.plot2.TabberControl

`addActionListener, addControlTab, addZoneTab, getActionForwarder, getControlIcon, getPanel, getTabber, removeActionListener`

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

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

### Methods inherited from interface uk.ac.starlink.topcat.plot2.Control

`addActionListener, getControlIcon, getPanel, removeActionListener`

## Constructor Details

### MultiFormLayerControl

public MultiFormLayerControl(PlotTypeGui<?,?> plotTypeGui, PositionCoordPanel posCoordPanel, ListModel<TopcatModel> tablesModel, uk.ac.starlink.ttools.plot2.config.Specifier<ZoneId> zsel, boolean autoPopulate, NextSupplier nextSupplier, TopcatListener tcListener, Icon controlIcon, uk.ac.starlink.ttools.plot2.Plotter<?>[] plotters, Configger baseConfigger)
Constructor.

Parameters:
  `plotTypeGui` - plot type
  `posCoordPanel` - panel for entering table and basic positional coordinates
  `tablesModel` - list of available tables
  `zsel` - zone id specifier, may be null for single-zone plots
  `autoPopulate` - if true, when the table is changed an attempt will be made to initialise the coordinate fields with some suitable values
  `nextSupplier` - manages global dispensing for some style options
  `tcListener` - listener for TopcatEvents
  `controlIcon` - icon for control stack
  `plotters` - plotter objects providing different plot layer type options
  `baseConfigger` - configuration source for some global config options

## Method Details

### getFormControls

protected FormControl[] getFormControls()
Description copied from class: `FormLayerControl`
Returns a list of all the form controls, active or not, currently managd by this layer control.

Specified by:
  `getFormControls` in class `FormLayerControl`
Returns:
  list of all form controls

### isControlActive

protected boolean isControlActive(FormControl fc)
Description copied from class: `FormLayerControl`
Indicates whether a given form control is contributing the the plot on behalf of this layer control.

Specified by:
  `isControlActive` in class `FormLayerControl`
Parameters:
  `fc` - form control managed by this layer control
Returns:
  true iff fc is active (contributing to plot)

### addDefaultLayers

public void addDefaultLayers()
Adds one or more layers that will give some default plot or other.

### addLayer

public void addLayer(LayerCommand<?> lcmd)
Attempts to add a specified layer to this control.

Parameters:
  `lcmd` - layer specification