Class RulerProvider

java.lang.Object
org.eclipse.gef.rulers.RulerProvider

public abstract class RulerProvider extends Object
This class provides an interface to interact with the ruler/guide feature provided in GEF. A RulerProvider represents a ruler (and the guides contained within), and provides the necessary information about them.

Clients wishing to utilize this GEF feature should do the following:

  • Extend this class and override the necessary methods. Also provide a notification mechanism to notify registered RulerChangeListeners of changes in ruler properties.
  • Set instances of that class as properties on the diagram's graphical viewer (PROPERTY_HORIZONTAL_RULER and/or PROPERTY_VERTICAL_RULER)
  • Set PROPERTY_RULER_VISIBILITY to be true on the graphical viewer.
Since:
3.0
  • Field Details

    • PROPERTY_HORIZONTAL_RULER

      public static final String PROPERTY_HORIZONTAL_RULER
      The following property should be set on the graphical viewer. PROPERTY_HORIZONTAL_RULER should have a RulerProvider as its value.
      See Also:
    • PROPERTY_RULER_VISIBILITY

      public static final String PROPERTY_RULER_VISIBILITY
      The following property should be set on the graphical viewer. PROPERTY_RULER_VISIBILITY should have a Boolean value.
      See Also:
    • PROPERTY_VERTICAL_RULER

      public static final String PROPERTY_VERTICAL_RULER
      The following property should be set on the graphical viewer. PROPERTY_VERTICAL_RULER should have a RulerProvider as its value.
      See Also:
    • UNIT_CENTIMETERS

      public static final int UNIT_CENTIMETERS
      Constant indicating that the ruler should display centimeters. Note that this setting does not affect how a guide's position is interpreted (it is always taken as pixels).
      See Also:
    • UNIT_INCHES

      public static final int UNIT_INCHES
      Constant indicating that the ruler should display inches. Note that this setting does not affect how a guide's position is interpreted (it is always taken as pixels).
      See Also:
    • UNIT_PIXELS

      public static final int UNIT_PIXELS
      Constant indicating that the ruler should display pixel count.
      See Also:
    • listeners

      protected List listeners
      A list of RulerChangeListeners that have to be notified of changes in ruler/guide properties.
  • Constructor Details

    • RulerProvider

      public RulerProvider()
  • Method Details

    • addRulerChangeListener

      public void addRulerChangeListener(RulerChangeListener listener)
      The given listener will be notified of changes in ruler properties.
      Parameters:
      listener - the listener that is to be notified of changes in ruler properties
    • getAccGuideDescription

      public void getAccGuideDescription(AccessibleEvent e, Object guide)
      Return the description of the control or specified child in the result field of the event object. Returning an empty string tells the client that the control or child does not have a description, and returning null tells the client to use the platform description.
      Parameters:
      e - AccessibleEvent
      guide - The guide whose accessibility information is requested
      See Also:
    • getAccGuideName

      public void getAccGuideName(AccessibleEvent e, Object guide)
      Return the given guide's name/label in the result field of the given event.
      Parameters:
      e - AccessibleEvent
      guide - The guide whose accessibility information is requested
      See Also:
    • getAccGuideValue

      public void getAccGuideValue(AccessibleControlEvent e, Object guide)
      Return the guide's position in the result field of the given event.
      Parameters:
      e - AccessibleEvent
      guide - The guide whose accessibility information is requested
      See Also:
    • getAttachedModelObjects

      public List getAttachedModelObjects(Object guide)
      Returns a List of model objects that are attached to the given guide.
      Parameters:
      guide - the guide to which the model parts are attached.
      Returns:
      list of attached model objects
    • getAttachedEditParts

      public List getAttachedEditParts(Object guide, GraphicalViewer viewer)
      Returns a List of EditParts that are attached to the given guide.
      Parameters:
      guide - the guide to which the EditParts are attached.
      viewer - the GraphicalViewer in which these EditParts are shown.
      Returns:
      list of attached edit parts
    • getCreateGuideCommand

      public Command getCreateGuideCommand(int position)
      Clients should override this method to return a Command to create a new guide at the given position.
      Parameters:
      position - The pixel position where the new guide is to be created
      Returns:
      UnexecutableCommand
    • getDeleteGuideCommand

      public Command getDeleteGuideCommand(Object guide)
      Clients should override this method to return a Command to delete the given guide.
      Parameters:
      guide - The guide that is to be deleted
      Returns:
      UnexecutableCommand
    • getGuideAt

      public Object getGuideAt(int position)
      In most cases, there should be no need for clients to override this method.
      Parameters:
      position - The position of the guide that is to be found
      Returns:
      The guide object at the given position; null if no guide exists at the given position
    • getMoveGuideCommand

      public Command getMoveGuideCommand(Object guide, int positionDelta)
      Clients should override this method to return a Command to move the given guide by the given amount.
      Parameters:
      guide - The guide that is to be moved
      positionDelta - The amount by which the guide is to be moved
      Returns:
      UnexecutableCommand
    • getGuides

      public List getGuides()
      Clients should override this method to return a list of all the guides set on this ruler.
      Returns:
      an empty list
    • getGuidePositions

      public int[] getGuidePositions()
      Clients should override this method to return an array of all the positions of all the guides on this ruler.
      Returns:
      an empty array
    • getGuidePosition

      public int getGuidePosition(Object guide)
      Clients should override this method to return the position (in pixels) of the given guide.
      Parameters:
      guide - The guide whose position is to be determined
      Returns:
      Integer.MIN_VALUE
    • getRuler

      public Object getRuler()
      Clients should override this method to return a model representation of the ruler.
      Returns:
      null
    • getUnit

      public int getUnit()
      Clients should override this method to return the units that the ruler should display: one of UNIT_INCHES, UNIT_CENTIMETERS, UNIT_PIXELS.
      Returns:
      UNIT_INCHES
    • removeRulerChangeListener

      public void removeRulerChangeListener(RulerChangeListener listener)
      The given listener will not be notified of changes in the ruler anymore.
      Parameters:
      listener - the listener that is to be removed
    • setUnit

      public void setUnit(int newUnit)
      This method will be invoked when the user requests that the ruler display a different measurement. The default implementation ignores the user's request.
      Parameters:
      newUnit - the new unit of measurement; will be one of UNIT_CENTIMETERS, UNIT_INCHES, or UNIT_PIXELS