Package org.eclipse.gef.rulers
Class RulerProvider
java.lang.Object
org.eclipse.gef.rulers.RulerProvider
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
RulerChangeListener
s 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 Summary
FieldsModifier and TypeFieldDescriptionprotected List
A list ofRulerChangeListener
s that have to be notified of changes in ruler/guide properties.static final String
The following property should be set on the graphical viewer.static final String
The following property should be set on the graphical viewer.static final String
The following property should be set on the graphical viewer.static final int
Constant indicating that the ruler should display centimeters.static final int
Constant indicating that the ruler should display inches.static final int
Constant indicating that the ruler should display pixel count. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addRulerChangeListener
(RulerChangeListener listener) The given listener will be notified of changes in ruler properties.void
getAccGuideDescription
(AccessibleEvent e, Object guide) Return the description of the control or specified child in theresult
field of the event object.void
getAccGuideName
(AccessibleEvent e, Object guide) Return the given guide's name/label in theresult
field of the given event.void
getAccGuideValue
(AccessibleControlEvent e, Object guide) Return the guide's position in theresult
field of the given event.getAttachedEditParts
(Object guide, GraphicalViewer viewer) Returns a List of EditParts that are attached to the given guide.getAttachedModelObjects
(Object guide) Returns a List of model objects that are attached to the given guide.getCreateGuideCommand
(int position) Clients should override this method to return a Command to create a new guide at the given position.getDeleteGuideCommand
(Object guide) Clients should override this method to return a Command to delete the given guide.getGuideAt
(int position) In most cases, there should be no need for clients to override this method.int
getGuidePosition
(Object guide) Clients should override this method to return the position (in pixels) of the given guide.int[]
Clients should override this method to return an array of all the positions of all the guides on this ruler.Clients should override this method to return a list of all the guides set on this ruler.getMoveGuideCommand
(Object guide, int positionDelta) Clients should override this method to return a Command to move the given guide by the given amount.getRuler()
Clients should override this method to return a model representation of the ruler.int
getUnit()
Clients should override this method to return the units that the ruler should display: one of UNIT_INCHES, UNIT_CENTIMETERS, UNIT_PIXELS.void
removeRulerChangeListener
(RulerChangeListener listener) The given listener will not be notified of changes in the ruler anymore.void
setUnit
(int newUnit) This method will be invoked when the user requests that the ruler display a different measurement.
-
Field Details
-
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
The following property should be set on the graphical viewer. PROPERTY_RULER_VISIBILITY should have a Boolean value.- See Also:
-
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_CENTIMETERSConstant 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_INCHESConstant 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_PIXELSConstant indicating that the ruler should display pixel count.- See Also:
-
listeners
A list ofRulerChangeListener
s that have to be notified of changes in ruler/guide properties.
-
-
Constructor Details
-
RulerProvider
public RulerProvider()
-
-
Method Details
-
addRulerChangeListener
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
Return the description of the control or specified child in theresult
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
- AccessibleEventguide
- The guide whose accessibility information is requested- See Also:
-
getAccGuideName
Return the given guide's name/label in theresult
field of the given event.- Parameters:
e
- AccessibleEventguide
- The guide whose accessibility information is requested- See Also:
-
getAccGuideValue
Return the guide's position in theresult
field of the given event.- Parameters:
e
- AccessibleEventguide
- The guide whose accessibility information is requested- See Also:
-
getAttachedModelObjects
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
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
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
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
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
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 movedpositionDelta
- The amount by which the guide is to be moved- Returns:
- UnexecutableCommand
-
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
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
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
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 ofUNIT_CENTIMETERS
,UNIT_INCHES
, orUNIT_PIXELS
-