Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.jface.text.source
Interface IVerticalRuler

All Superinterfaces:
  IVerticalRulerInfo

All Known Subinterfaces:
  IOverviewRuler

All Known Implementing Classes:
  CompositeRuler, OverviewRuler, VerticalRuler

public interface IVerticalRuler
extends IVerticalRulerInfo

This interface defines a visual component which may serve text viewers as an annotation presentation area. Implementers of this interface have to define the presentation modus. This can either depend on the connected viewer's view port or not. If the modus is view port dependent the ruler only shows those annotations that are attached to document regions that are visible in the view port. If independent, the presented annotations can also be attached to invisible document regions. This interfaces comprises three contracts:

- The vertical ruler retrieves the annotations it presents from an annotation model.
- The ruler is a visual component which must be integrated in a hierarchy of SWT controls.
- The ruler provides interested clients with mapping and interaction information. This covers the mapping between coordinates of the ruler's control and line numbers based on the connected text viewer's document (see `IVerticalRulerInfo`).

In order to provide backward compatibility for clients of `IVerticalRuler`, extension interfaces are used as a means of evolution. The following extension interfaces exist:

- `IVerticalRulerExtension` since version 2.0 introducing setters for font and mouse button activity location.

Clients may implement this interface or use the default implementation provided by `CompositeRuler` and `VerticalRuler`.

See Also:
  `IVerticalRulerExtension`, `ITextViewer`

Method Summary
`Control` | `createControl(Composite parent, ITextViewer textViewer)` Creates the ruler's SWT control.
`IAnnotationModel` | `getModel()` Returns the current annotation model of this ruler or `null` if the ruler has no model.
`void` | `setModel(IAnnotationModel model)` Associates an annotation model with this ruler.
`void` | `update()` Forces the vertical ruler to synchronize itself with its annotation model and its viewer's view port.

Methods inherited from interface org.eclipse.jface.text.source.IVerticalRulerInfo
`getControl, getLineOfLastMouseButtonActivity, getWidth, toDocumentLineNumber`

Method Detail

### setModel

    public void setModel(IAnnotationModel model)

  Associates an annotation model with this ruler. A value `null` is acceptable and clears the ruler.

  Parameters:
    `model` - the new annotation model, may be `null`

### getModel

    public IAnnotationModel getModel()

  Returns the current annotation model of this ruler or `null` if the ruler has no model.

  Returns:
    this ruler's annotation model or `null` if there is no model

### update

    public void update()

  Forces the vertical ruler to synchronize itself with its annotation model and its viewer's view port.

### createControl

    public Control createControl(Composite parent,
                                 ITextViewer textViewer)

  Creates the ruler's SWT control.

  Parameters:
    `parent` - the parent control of the ruler's control
    `textViewer` - the text viewer to which this ruler belongs
  Returns:
    the ruler's SWT control

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.