Class ViewerScrollerManager

java.lang.Object
pamScrollSystem.AbstractScrollManager
pamScrollSystem.ViewerScrollerManager
All Implemented Interfaces:
PamSettings, SettingsNameProvider

public class ViewerScrollerManager extends AbstractScrollManager implements PamSettings
  • Constructor Details

    • ViewerScrollerManager

      public ViewerScrollerManager()
  • Method Details

    • addPamScroller

      public void addPamScroller(AbstractPamScroller pamScroller)
      Description copied from class: AbstractScrollManager
      Add a new scroller to the managed list.
      Overrides:
      addPamScroller in class AbstractScrollManager
      Parameters:
      pamScroller - scroller to add
    • moveInnerScroller

      public void moveInnerScroller(AbstractPamScroller scroller, long newValue)
      Description copied from class: AbstractScrollManager
      Move the scroll bar component of a scroller. This should not cause the reloading of any data, but other scroll bars should be notified of any changes.
      Specified by:
      moveInnerScroller in class AbstractScrollManager
      Parameters:
      scroller - scroller that moved
      newValue - new value (time in milliseconds).
    • moveOuterScroller

      public void moveOuterScroller(AbstractPamScroller scroller, long newMin, long newMax)
      Description copied from class: AbstractScrollManager
      Move the data load component of a scroller. This should cause data to be reloaded and will need to notify all other scrollers incase they also need to shuffle along a bit.
      Specified by:
      moveOuterScroller in class AbstractScrollManager
      Parameters:
      scroller - scroller that changed
      newMin - new data min value in millis
      newMax - new data max value in millis
    • reLoad

      public void reLoad()
      Description copied from class: AbstractScrollManager
      Command telling manager to reload it's data.
      Specified by:
      reLoad in class AbstractScrollManager
    • loadData

      public void loadData(boolean immediateLoad)
      loads data after a scroller has changed.
      Parameters:
      immediateLoad -
    • checkMaximumTime

      public long checkMaximumTime(long requestedTime)
      Description copied from class: AbstractScrollManager
      Check the maximum time requested by a scroll bar doesn't go beyond the end of the data
      Specified by:
      checkMaximumTime in class AbstractScrollManager
      Parameters:
      requestedTime - requested time in millis.
      Returns:
      the minimum of the requested time and the actual end time of the data
    • checkMinimumTime

      public long checkMinimumTime(long requestedTime)
      Description copied from class: AbstractScrollManager
      Check the minimum time requested by a scroll bar doesn't go below the start of the data
      Specified by:
      checkMinimumTime in class AbstractScrollManager
      Returns:
      the maximum of the requested time and the actual start time of the data
    • notifyModelChanged

      public void notifyModelChanged(int changeType)
      Specified by:
      notifyModelChanged in class AbstractScrollManager
    • getSettingsReference

      public Serializable getSettingsReference()
      Specified by:
      getSettingsReference in interface PamSettings
      Returns:
      The serialisable object that will be stored
    • getSettingsVersion

      public long getSettingsVersion()
      Specified by:
      getSettingsVersion in interface PamSettings
      Returns:
      An integer version number for the settings
    • getUnitName

      public String getUnitName()
      Specified by:
      getUnitName in interface SettingsNameProvider
      Returns:
      A Name specific to this instance of the particular class, e.g. Sperm whale detector, Beaked whale detector, etc.
    • getUnitType

      public String getUnitType()
      Specified by:
      getUnitType in interface PamSettings
      Returns:
      A Name specific to the type, e.g. Click detector
    • restoreSettings

      public boolean restoreSettings(PamControlledUnitSettings pamControlledUnitSettings)
      Specified by:
      restoreSettings in interface PamSettings
      Returns:
      true if successful The object performs final checks (if needed) and then casts the settings data pamcontrolledunitSettings.settings into the correct type and uses as required
    • centreDataAt

      public void centreDataAt(PamDataBlock dataBlock, long menuMouseTime)
      Description copied from class: AbstractScrollManager
      Centre all data in all data blocks at the given time
      Specified by:
      centreDataAt in class AbstractScrollManager
      Parameters:
      menuMouseTime - time in milliseconds
    • startDataAt

      public void startDataAt(PamDataBlock dataBlock, long menuMouseTime, boolean immediateLoad)
      Description copied from class: AbstractScrollManager
      Start all data in all data blocks at the given time
      Specified by:
      startDataAt in class AbstractScrollManager
      Parameters:
      menuMouseTime - time in milliseconds
      immediateLoad - load data immediately in current thread. Don't re-schedule for later.
    • getStandardOptionsMenu

      public JPopupMenu getStandardOptionsMenu(AbstractPamScroller pamScroller)
      Overrides:
      getStandardOptionsMenu in class AbstractScrollManager
    • checkGapPos

      public long checkGapPos(AbstractPamScroller scroller, long oldMin, long oldMax, long newMin, long newMax, int direction)
      Description copied from class: AbstractScrollManager
      Check to see whether or not we are scrolling into a data gap. Rules exist for stopping / starting / jumping over gaps depending on the current state and the new position of the scroller.
      Specified by:
      checkGapPos in class AbstractScrollManager
      Parameters:
      scroller - PamScroller that moved
      oldMin - old minimum time
      oldMax - old maximum time
      newMin - new minimum time
      newMax - new maximum time
      direction - direction of scroll +1 = forward, -1 = backward, 0 = plonked down by mouse on datamap.
      Returns:
      new minimum position. Calling function must then work out the new maximum position.
    • getNextDataStart

      public long getNextDataStart(AbstractPamScroller scroller, long timeMillis)
    • getPrevDataEnd

      public long getPrevDataEnd(AbstractPamScroller scroller, long timeMillis)