Package uk.ac.starlink.topcat.plot2

## Class HistogramAxisController

- java.lang.Object
- - uk.ac.starlink.topcat.plot2.AxisController<P,A>
  - - uk.ac.starlink.topcat.plot2.CartesianAxisController<uk.ac.starlink.ttools.plot2.geom.PlaneSurfaceFactory.Profile,uk.ac.starlink.ttools.plot2.geom.PlaneAspect>
    - - uk.ac.starlink.topcat.plot2.HistogramAxisController

- All Implemented Interfaces:
    `Configger`

      public class HistogramAxisController
      extends CartesianAxisController<uk.ac.starlink.ttools.plot2.geom.PlaneSurfaceFactory.Profile,uk.ac.starlink.ttools.plot2.geom.PlaneAspect>

  Axis control for histogram window.
  Since:
    21 Jan 2014
  Author:
    Mark Taylor

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `HistogramAxisController()` | Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected boolean` | `clearRange​(uk.ac.starlink.ttools.plot2.geom.PlaneSurfaceFactory.Profile oldProfile, uk.ac.starlink.ttools.plot2.geom.PlaneSurfaceFactory.Profile newProfile, uk.ac.starlink.ttools.plot2.PlotLayer[] oldLayers, uk.ac.starlink.ttools.plot2.PlotLayer[] newLayers, boolean lock)` | Indicates whether a new configuration should result in clearing the current ranges and plot aspect.
    `protected boolean` | `logChanged​(uk.ac.starlink.ttools.plot2.geom.PlaneSurfaceFactory.Profile prof1, uk.ac.starlink.ttools.plot2.geom.PlaneSurfaceFactory.Profile prof2)` | Indicates whether the scaling has changed to or from logarithmic for any of the cartesian axes between two profiles.
    `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.AxisController

      `addActionListener, addAspectConfigTab, addControl, addNavigatorTab, assertHasKeys, clearAspect, createDataId, getActionForwarder, getAspect, getConfig, getControls, getMainControl, getNavigator, getRanges, getSurfaceFactory, removeActionListener, setAspect, setRanges, updateState`

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

      `addLabelsTab, configureForLayers, forceClearRange, getLabelSpecifier`

    - ### Methods inherited from class java.lang.Object

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

- - ### Constructor Detail

    - #### HistogramAxisController

          public HistogramAxisController()

      Constructor.

  - ### Method Detail

    - #### logChanged

          protected boolean logChanged​(uk.ac.starlink.ttools.plot2.geom.PlaneSurfaceFactory.Profile prof1,
                                       uk.ac.starlink.ttools.plot2.geom.PlaneSurfaceFactory.Profile prof2)

      Description copied from class: `CartesianAxisController`
      Indicates whether the scaling has changed to or from logarithmic for any of the cartesian axes between two profiles. If so, it's going to be necessary to rescale, since attempting a log plot with negative values would fail.
      Specified by:
        `logChanged` in class `CartesianAxisController<uk.ac.starlink.ttools.plot2.geom.PlaneSurfaceFactory.Profile,uk.ac.starlink.ttools.plot2.geom.PlaneAspect>`
      Parameters:
        `prof1` - first profile
        `prof2` - second profile
      Returns:
        true iff some of the axes are log in prof1 and linear in prof2 or vice versa

    - #### clearRange

          protected boolean clearRange​(uk.ac.starlink.ttools.plot2.geom.PlaneSurfaceFactory.Profile oldProfile,
                                       uk.ac.starlink.ttools.plot2.geom.PlaneSurfaceFactory.Profile newProfile,
                                       uk.ac.starlink.ttools.plot2.PlotLayer[] oldLayers,
                                       uk.ac.starlink.ttools.plot2.PlotLayer[] newLayers,
                                       boolean lock)

      Description copied from class: `AxisController`
      Indicates whether a new configuration should result in clearing the current ranges and plot aspect.
      Overrides:
        `clearRange` in class `AxisController<uk.ac.starlink.ttools.plot2.geom.PlaneSurfaceFactory.Profile,uk.ac.starlink.ttools.plot2.geom.PlaneAspect>`
      Parameters:
        `oldProfile` - profile for last plot
        `newProfile` - profile for next plot
        `oldLayers` - layer set for last plot
        `newLayers` - layer set for next plot
        `lock` - whether re-ranging is inhibited; normally, if `lock` is true this method should return false, but the implementation can overrule this and return true even when locked if it needs to
      Returns:
        true iff the range should be re-established for the next plot

    - #### submitReports

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

      Description copied from class: `AxisController`
      Accepts report information generated by plotting layers. Null map values are permitted, with the same meaning as an empty map.

      The default implementation does nothing, but subclasses may override it to enquire about plot results.

      Overrides:
        `submitReports` in class `AxisController<uk.ac.starlink.ttools.plot2.geom.PlaneSurfaceFactory.Profile,uk.ac.starlink.ttools.plot2.geom.PlaneAspect>`
      Parameters:
        `reports` - per-layer plot reports for layers generated by the most recent plot

Copyright © 2003-2018 CCLRC: Council for the Central Laboratory of the Research Councils. All Rights Reserved.