Class PositionReporter

java.lang.Object
uk.ac.starlink.topcat.plot.PositionReporter
All Implemented Interfaces:
MouseMotionListener, EventListener

public abstract class PositionReporter extends Object implements MouseMotionListener
MouseMotionListener which acts on mouse movement events to provide the position of the pointer in PlotSurface data coordinates. When a mouse movement event is heard, the reportPosition(java.lang.String[]) method is called with suitable arguments.
Since:
10 Nov 2005
Author:
Mark Taylor
  • Constructor Summary

    Constructors
    Constructor
    Description
    PositionReporter(uk.ac.starlink.ttools.plot.PlotSurface surface)
    Constructs a new position reporter for a given plot surface.
    PositionReporter(uk.ac.starlink.ttools.plot.PlotSurface surface, uk.ac.starlink.ttools.convert.ValueConverter xConv, uk.ac.starlink.ttools.convert.ValueConverter yConv)
    Constructs a new position reporter for a given plot surface using supplied value converter objects for the X and Y axes.
  • Method Summary

    Modifier and Type
    Method
    Description
    formatPosition(int px, int py)
    Turns the numeric values of graphics space coordinates into strings giving the positions in data space.
    void
    No action.
    void
     
    protected abstract void
    Invoked when the mouse has moved.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • PositionReporter

      public PositionReporter(uk.ac.starlink.ttools.plot.PlotSurface surface)
      Constructs a new position reporter for a given plot surface.
      Parameters:
      surface - plotting surface
    • PositionReporter

      public PositionReporter(uk.ac.starlink.ttools.plot.PlotSurface surface, uk.ac.starlink.ttools.convert.ValueConverter xConv, uk.ac.starlink.ttools.convert.ValueConverter yConv)
      Constructs a new position reporter for a given plot surface using supplied value converter objects for the X and Y axes. The unconvert methods of said converters should provide the formatting (number -> formatted string) behaviour for each axis.
      Parameters:
      surface - plotting surface
      xConv - value converter for X axis (or null)
      yConv - value converter for Y axis (or null)
  • Method Details

    • reportPosition

      protected abstract void reportPosition(String[] coords)
      Invoked when the mouse has moved. The coords array is either a two-element array giving formatted values for the X and Y coordinates respectively, or null indicating that the pointer does not currently correspond to a sensible position in data space. Some effort is made to format the coordinate values in a compact but consistent fashion.
      Parameters:
      coords - formatted (x,y) coordinate values, or null
    • mouseMoved

      public void mouseMoved(MouseEvent evt)
      Specified by:
      mouseMoved in interface MouseMotionListener
    • mouseDragged

      public void mouseDragged(MouseEvent evt)
      No action.
      Specified by:
      mouseDragged in interface MouseMotionListener
    • formatPosition

      public String[] formatPosition(int px, int py)
      Turns the numeric values of graphics space coordinates into strings giving the positions in data space.
      Parameters:
      px - graphics space X coordinate
      py - graphics space Y coordinate
      Returns:
      2-element (x,y) array giving formatted data space coords, or null