Package uk.ac.starlink.topcat.plot2

# Class ConfigControl

java.lang.Object
uk.ac.starlink.topcat.plot2.TabberControl
uk.ac.starlink.topcat.plot2.ConfigControl

All Implemented Interfaces:
  `Configger`, `Control`

Direct Known Subclasses:
  `FrameControl`, `FunctionLayerControl`, `ShaderControl`, `SingleZoneLayerControl`

public class ConfigControl extends TabberControl implements Configger
Control implementation which uses tabs and contains one or more ConfigSpecifiers as the user interaction component. There's nothing to stop you adding non-ConfigSpecifier tabs too.

Since:
  13 Mar 2013
Author:
  Mark Taylor

## Constructor Summary

Constructors
Constructor
Description
`ConfigControl(String label, Icon icon)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`addSpecifierTab(String name, uk.ac.starlink.ttools.plot2.config.Specifier<uk.ac.starlink.ttools.plot2.config.ConfigMap> specifier)`
Adds a config specifier as one of the tabs.
`uk.ac.starlink.ttools.plot2.config.ConfigMap`
`getConfig()`
Returns a single config map containing all of the config information gathered by this control.
`List<uk.ac.starlink.ttools.plot2.config.Specifier<uk.ac.starlink.ttools.plot2.config.ConfigMap>>`
`getConfigSpecifiers()`
Returns a list of the config specifiers explicitly added to this control.

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

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

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

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

## Constructor Details

### ConfigControl

public ConfigControl(String label, Icon icon)
Constructor.

Parameters:
  `label` - control label
  `icon` - control icon

## Method Details

### addSpecifierTab

protected void addSpecifierTab(String name, uk.ac.starlink.ttools.plot2.config.Specifier<uk.ac.starlink.ttools.plot2.config.ConfigMap> specifier)
Adds a config specifier as one of the tabs.

Parameters:
  `name` - tab label
  `specifier` - config specifier

### getConfig

public uk.ac.starlink.ttools.plot2.config.ConfigMap getConfig()
Returns a single config map containing all of the config information gathered by this control. The returned map is the union of all the configs gathered from the specifiers added by the `addSpecifierTab` method.

Specified by:
  `getConfig` in interface `Configger`
Returns:
  all configuration information gathered by this control

### getConfigSpecifiers

public List<uk.ac.starlink.ttools.plot2.config.Specifier<uk.ac.starlink.ttools.plot2.config.ConfigMap>> getConfigSpecifiers()
Returns a list of the config specifiers explicitly added to this control.

Returns:
  list of specifiers