# Class DisjointAxesController<P,A>

java.lang.Object
uk.ac.starlink.topcat.plot2.AbstractAxesController<P,A>
uk.ac.starlink.topcat.plot2.DisjointAxesController<P,A>

All Implemented Interfaces:
  `AxesController<P,A>, Configger`

public class DisjointAxesController<P,A> extends AbstractAxesController<P,A>
AxesController implementation for multi-zone plots in which the zones are not related to each other. It is currently implemented on top of a list of `AxisController` instances.

Since:
  18 Aug 2023
Author:
  Mark Taylor

## Constructor Summary

Constructors
Constructor
Description
`DisjointAxesController(ZoneFactory zoneFact, Supplier<AxisController<P,A>> acSupplier)`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`void`
`configureForLayers(LayerControl[] layerControls)`
Provides a hook for implementations to adjust their GUI state based on the layer controls which will be supplying layers for them to plot.
`uk.ac.starlink.ttools.plot2.config.ConfigMap`
`getConfig()`
Returns a configuration map.
`List<ZoneController<P,A>>`
`getZoneControllers(uk.ac.starlink.ttools.plot2.Ganger<P,A> ganger)`
Returns a list of zone contollers, one for each zone defined by a supplied ganger.

### Methods inherited from class AbstractAxesController

`addActionListener, addControl, getActionForwarder, getStackControls, removeActionListener`

### Methods inherited from class Object

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

## Constructor Details

### DisjointAxesController

public DisjointAxesController(ZoneFactory zoneFact, Supplier<AxisController<P,A>> acSupplier)
Constructor.

Parameters:
  `zoneFact` - zone factory
  `acSupplier` - supplier for per-zone AxisController instances

## Method Details

### configureForLayers

public void configureForLayers(LayerControl[] layerControls)
Description copied from interface: `AxesController`
Provides a hook for implementations to adjust their GUI state based on the layer controls which will be supplying layers for them to plot.

Parameters:
  `layerControls` - layer controls expected to provide layers to be plotted on these axes

### getConfig

public uk.ac.starlink.ttools.plot2.config.ConfigMap getConfig()
Description copied from interface: `Configger`
Returns a configuration map. Calling this method will typically gather information from a GUI to return.

Returns:
  config map

### getZoneControllers

public List<ZoneController<P,A>> getZoneControllers(uk.ac.starlink.ttools.plot2.Ganger<P,A> ganger)
Description copied from interface: `AxesController`
Returns a list of zone contollers, one for each zone defined by a supplied ganger.

Parameters:
  `ganger` - ganger, assumed to be compatible with this controller
Returns:
  list of zone controllers, one for each zone defined by the ganger