Package uk.ac.starlink.topcat.plot2

## Interface PlotTypeGui<P,​A>

-     public interface PlotTypeGui<P,​A>

  Provides PlotType-specific aspects of the GUI, used by the generic PlotWindow GUI.
  Since:
    12 Mar 2013
  Author:
    Mark Taylor

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `AxisController<P,​A>` | `createAxisController()` | Returns a user control for axis configuration.
    `PositionCoordPanel` | `createPositionCoordPanel​(int npos)` | Returns a user panel for entering basic standard data positions.
    `ZoneFactory` | `createZoneFactory()` | Returns a new zone ID factory for use with this plot.
    `CartesianRanger` | `getCartesianRanger()` | Returns an object that can characterise surfaces used by this plot type as hypercubes in data coordinate space.
    `FigureMode[]` | `getFigureModes()` | Returns a list of figure drawing modes that can be used for graphically marking out shapes on the plot surface.
    `uk.ac.starlink.ttools.plot2.GangerFactory<P,​A>` | `getGangerFactory()` | Returns the GangerFactory used by this plot.
    `java.lang.String` | `getNavigatorHelpId()` | Returns the help ID describing the navigation actions for this plot.
    `boolean` | `hasPositions()` | Indicates whether this plot type supports selectable point positions.
    `boolean` | `isPlanar()` | Indicates whether this plot type's surface factory produces surfaces implementing the `PlanarSurface` interface.

- - ### Method Detail

    - #### createAxisController

          AxisController<P,​A> createAxisController()

      Returns a user control for axis configuration.
      Returns:
        new axis control for this plot type

    - #### createPositionCoordPanel

          PositionCoordPanel createPositionCoordPanel​(int npos)

      Returns a user panel for entering basic standard data positions.
      Parameters:
        `npos` - number of groups of positional coordinates for entry
      Returns:
        new position entry panel for this plot type

    - #### hasPositions

          boolean hasPositions()

      Indicates whether this plot type supports selectable point positions. Normally the return is true, but if this plot type never plots points that can be identified by a screen X,Y position, return false.
      Returns:
        false iff this plot type never supports selectable points

    - #### isPlanar

          boolean isPlanar()

      Indicates whether this plot type's surface factory produces surfaces implementing the `PlanarSurface` interface.
      Returns:
        true for plane surface plot types

    - #### getFigureModes

          FigureMode[] getFigureModes()

      Returns a list of figure drawing modes that can be used for graphically marking out shapes on the plot surface.
      Returns:
        available figure modes; may be empty

    - #### getGangerFactory

          uk.ac.starlink.ttools.plot2.GangerFactory<P,​A> getGangerFactory()

      Returns the GangerFactory used by this plot. It controls how multi-zone plots are arranged.
      Returns:
        ganger factory

    - #### createZoneFactory

          ZoneFactory createZoneFactory()

      Returns a new zone ID factory for use with this plot. This determines how zone selection for multi-zone plots is done. A new instance should be acquired for each plot window.
      Returns:
        zone id factory

    - #### getCartesianRanger

          CartesianRanger getCartesianRanger()

      Returns an object that can characterise surfaces used by this plot type as hypercubes in data coordinate space. If it can't be done, null is returned.
      Returns:
        Cartesian ranger for this plot type, or null

    - #### getNavigatorHelpId

          java.lang.String getNavigatorHelpId()

      Returns the help ID describing the navigation actions for this plot.
      Returns:
        navigator help id