Package uk.ac.starlink.topcat.plot2

## Class FunctionLayerControl

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

- All Implemented Interfaces:
    `Configger`, `Control`, `LayerControl`

      public class FunctionLayerControl
      extends ConfigControl
      implements LayerControl

  Layer control for plotting functions.
  Since:
    26 Mar 2013
  Author:
    Mark Taylor

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `FunctionLayerControl​(uk.ac.starlink.ttools.plot2.layer.FunctionPlotter plotter, uk.ac.starlink.ttools.plot2.config.Specifier<ZoneId> zsel)` | Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `getCoordLabel​(java.lang.String userCoordName)` | Returns a text label associated with one of the user coords for this control, typically the name of the column or expression supplying the data.
    `TopcatLayer[]` | `getLayers()` | Returns the layers contributed by this control.
    `uk.ac.starlink.ttools.plot2.LegendEntry[]` | `getLegendEntries()` | Returns legend entries associated with this control.
    `TablesListComboBox` | `getTableSelector()` | Returns the selection widget for choosing which table this control is working with.
    `uk.ac.starlink.ttools.plot2.config.Specifier<ZoneId>` | `getZoneSpecifier()` | Returns a specifier that determines which zone of a multi-zone plot this control's layers will be displayed in.
    `void` | `submitReports​(java.util.Map<LayerId,​uk.ac.starlink.ttools.plot2.ReportMap> reports)` | Accepts report information generated by plotting layers.

    - ### Methods inherited from class uk.ac.starlink.topcat.plot2.ConfigControl

      `addSpecifierTab, getConfig, getConfigSpecifiers`

    - ### 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`

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

      `addActionListener, getControlIcon, getControlLabel, getPanel, removeActionListener`

- - ### Constructor Detail

    - #### FunctionLayerControl

          public FunctionLayerControl​(uk.ac.starlink.ttools.plot2.layer.FunctionPlotter plotter,
                                      uk.ac.starlink.ttools.plot2.config.Specifier<ZoneId> zsel)

      Constructor.
      Parameters:
        `plotter` - function plotter
        `zsel` - zone id specifier, may be null for single-zone plots

  - ### Method Detail

    - #### getLayers

          public TopcatLayer[] getLayers()

      Description copied from interface: `LayerControl`
      Returns the layers contributed by this control.
      Specified by:
        `getLayers` in interface `LayerControl`
      Returns:
        layers

    - #### getLegendEntries

          public uk.ac.starlink.ttools.plot2.LegendEntry[] getLegendEntries()

      Description copied from interface: `LayerControl`
      Returns legend entries associated with this control.
      Specified by:
        `getLegendEntries` in interface `LayerControl`
      Returns:
        legend entries

    - #### getZoneSpecifier

          public uk.ac.starlink.ttools.plot2.config.Specifier<ZoneId> getZoneSpecifier()

      Description copied from interface: `LayerControl`
      Returns a specifier that determines which zone of a multi-zone plot this control's layers will be displayed in. If this control is known to be used in a single-zone context, null should be returned.
      Specified by:
        `getZoneSpecifier` in interface `LayerControl`
      Returns:
        zone id specifier, or null

    - #### getTableSelector

          public TablesListComboBox getTableSelector()

      Description copied from interface: `LayerControl`
      Returns the selection widget for choosing which table this control is working with. If this control does not use a table, null is returned. The assumption is (currently) that a given control uses a maximum of one table.
      Specified by:
        `getTableSelector` in interface `LayerControl`
      Returns:
        table selector, or null

    - #### submitReports

          public void submitReports​(java.util.Map<LayerId,​uk.ac.starlink.ttools.plot2.ReportMap> reports)

      Description copied from interface: `LayerControl`
      Accepts report information generated by plotting layers. The submitted map may contain entries unrelated to this layer. Null map values are permitted, with the same meaning as an empty map.
      Specified by:
        `submitReports` in interface `LayerControl`
      Parameters:
        `reports` - per-layer plot reports for layers generated on behalf of this and possibly other controls

    - #### getCoordLabel

          public java.lang.String getCoordLabel​(java.lang.String userCoordName)

      Description copied from interface: `LayerControl`
      Returns a text label associated with one of the user coords for this control, typically the name of the column or expression supplying the data. Null may be returned if there's no good answer.
      Specified by:
        `getCoordLabel` in interface `LayerControl`
      Parameters:
        `userCoordName` - name of one of the user value infos of an input coord for this control
      Returns:
        text label associated with user coordinate