Class RealTimeScrollManager

java.lang.Object
pamScrollSystem.AbstractScrollManager
pamScrollSystem.RealTimeScrollManager

public class RealTimeScrollManager extends AbstractScrollManager
  • Constructor Details

    • RealTimeScrollManager

      public RealTimeScrollManager()
  • Method Details

    • 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
    • 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
    • notifyModelChanged

      public void notifyModelChanged(int changeType)
      Specified by:
      notifyModelChanged in class AbstractScrollManager
    • 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.
    • 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
    • reLoad

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

      public long checkGapPos(AbstractPamScroller abstractPamScroller, long oldMin, long oldMax, long newMin, long newMax, int i)
      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:
      abstractPamScroller - PamScroller that moved
      oldMin - old minimum time
      oldMax - old maximum time
      newMin - new minimum time
      newMax - new maximum time
      i - 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.