Class LayerControlAction

java.lang.Object
javax.swing.AbstractAction
uk.ac.starlink.topcat.BasicAction
uk.ac.starlink.topcat.plot2.LayerControlAction
All Implemented Interfaces:
ActionListener, Serializable, Cloneable, EventListener, Action

public abstract class LayerControlAction extends BasicAction
Action for adding a layer control to the plot stack.
Since:
25 Jul 2013
Author:
Mark Taylor
See Also:
  • Constructor Details

    • LayerControlAction

      public LayerControlAction(String name, Icon layerIcon, String descrip, uk.ac.starlink.ttools.plot2.Plotter<?> plotter, ControlStack stack)
      Constructs a LayerControlAction from name, icon and description.
      Parameters:
      name - action name
      layerIcon - icon representing the type of layer the action will add; it may get doctored to generate the icon for this action
      descrip - action description
      plotter - single plotter associated with this layer control, may be null
      stack - plot stack
    • LayerControlAction

      public LayerControlAction(uk.ac.starlink.ttools.plot2.Plotter<?> plotter, ControlStack stack)
      Constructs a LayerControlAction from a Plotter.
      Parameters:
      plotter - plotter which will be added to the stack
      stack - plot stack
  • Method Details

    • createLayerControl

      public abstract LayerControl createLayerControl()
      Creates a layer control for this action's plotter.
      Returns:
      new layer control
    • grabTable

      public LayerControl grabTable(TopcatModel tcModel)
      Allows this action to provide a layer control for a particular table if it is specially suited for it. Under normal circumstances, this method should return null, which is what the default implementation does. However, if this control considers that it's likely to be more suitable than all other controls for plotting the given table, it should return a LayerControl instance configured to plot that table.
      Parameters:
      tcModel - table that could be plotted
      Returns:
      null, or a control configured to plot the table
    • actionPerformed

      public void actionPerformed(ActionEvent evt)
    • getPlotter

      public uk.ac.starlink.ttools.plot2.Plotter<?> getPlotter()
      Returns the single plotter associated with this action, if any. For instances with no single plotter, null is returned.
      Returns:
      plotter for this action, or null
    • createPlotterAction

      public static LayerControlAction createPlotterAction(PlotTypeGui<?,?> plotTypeGui, uk.ac.starlink.ttools.plot2.Plotter<?> plotter, ControlStack stack, ListModel<TopcatModel> tablesModel, ZoneFactory zfact, NextSupplier nextSupplier, TopcatListener tcListener, MultiConfigger baseConfigger)
      Attempts to return an instance of this class corresponding to a given plotter. If no suitable implementation is available, null is returned.
      Parameters:
      plotTypeGui - plot type
      plotter - plotter to provide an action for
      stack - stack to which controls are to be added
      tablesModel - list of available tables
      zfact - zone id factory
      nextSupplier - manages global dispensing for some style options
      tcListener - listener for TopcatEvents
      baseConfigger - configuration source for some global config options
      Returns:
      new action to add plotter control to stack, or null