Interface AxesController<P,A>

All Superinterfaces:
Configger
All Known Implementing Classes:
AbstractAxesController, DisjointAxesController, MatrixAxesController, SingleAdapterAxesController

public interface AxesController<P,A> extends Configger
Object which coordinates user control of multi-zone plot axes.
Since:
18 Aug 2023
Author:
Mark Taylor
  • Method Details

    • getZoneControllers

      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.
      Parameters:
      ganger - ganger, assumed to be compatible with this controller
      Returns:
      list of zone controllers, one for each zone defined by the ganger
    • getStackControls

      Control[] getStackControls()
      Returns all the controls for user configuration of this controller. This includes the main control and possibly others.
      Returns:
      user controls
    • configureForLayers

      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.
      Parameters:
      layerControls - layer controls expected to provide layers to be plotted on these axes
    • addActionListener

      void addActionListener(ActionListener listener)
      Adds a listener notified when any of the controls changes.
      Parameters:
      listener - listener to add
    • removeActionListener

      void removeActionListener(ActionListener listener)
      Removes a listener previously added by addActionListener.
      Parameters:
      listener - listener to remove