Package org.eclipse.jface.text.source

## Class AnnotationRulerColumn

- java.lang.Object
- - org.eclipse.jface.text.source.AnnotationRulerColumn

All Implemented Interfaces:
  `IVerticalRulerColumn`, `IVerticalRulerInfo`, `IVerticalRulerInfoExtension`

Direct Known Subclasses:
  `AnnotationColumn`

    public class AnnotationRulerColumn
    extends Object
    implements IVerticalRulerColumn, IVerticalRulerInfo, IVerticalRulerInfoExtension

A vertical ruler column showing graphical representations of annotations. Will become final.

Do not subclass.

Since:
  2.0

### Constructor Summary

Constructors
`AnnotationRulerColumn​(int width)` Constructs this column with the given width.
`AnnotationRulerColumn​(int width, IAnnotationAccess annotationAccess)` Constructs this column with the given arguments.
`AnnotationRulerColumn​(IAnnotationModel model, int width)` Constructs this column with the given arguments.
`AnnotationRulerColumn​(IAnnotationModel model, int width, IAnnotationAccess annotationAccess)` Constructs this column with the given arguments.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addAnnotationType​(Object annotationType)` Adds the given annotation type to this annotation ruler column.
`void` `addVerticalRulerListener​(IVerticalRulerListener listener)` Registers a vertical ruler listener to be informed if an annotation gets selected on the vertical ruler.
`Control` `createControl​(CompositeRuler parentRuler, Composite parentControl)` Creates the column's SWT control.
`protected void` `doPaint​(GC gc)` Draws the vertical ruler w/o drawing the Canvas background.
`protected void` `doPaint1​(GC gc)` Draws the vertical ruler w/o drawing the Canvas background.
`protected ITextViewer` `getCachedTextViewer()` Returns the cached text viewer.
`Control` `getControl()` Returns the column's SWT control.
`IAnnotationHover` `getHover()` Returns the hover for this vertical ruler (column).
`protected int` `getInclusiveTopIndexStartOffset()` Returns the document offset of the upper left corner of the source viewer's view port, possibly including partially visible lines.
`int` `getLineOfLastMouseButtonActivity()` Returns the line number of the last mouse button activity.
`IAnnotationModel` `getModel()` Returns the model currently used by the receiver.
`int` `getWidth()` Returns the width of this column's control.
`protected boolean` `hasAnnotation​(int lineNumber)` Tells whether the given line contains an annotation.
`protected boolean` `isPropagatingMouseListener()` Tells whether this ruler column propagates mouse listener events to its parent.
`protected void` `mouseClicked​(int rulerLine)` Hook method for a mouse click event on the given ruler line.
`protected void` `mouseDoubleClicked​(int rulerLine)` Hook method for a mouse double click event on the given ruler line.
`protected void` `mouseDown​(int rulerLine)` Hook method for a mouse down event on the given ruler line.
`void` `redraw()` Redraws this column.
`void` `removeAnnotationType​(Object annotationType)` Removes the given annotation type from this annotation ruler column.
`void` `removeVerticalRulerListener​(IVerticalRulerListener listener)` Removes a previously registered listener.
`void` `setFont​(Font font)` Sets the font of this ruler column.
`void` `setHover​(IAnnotationHover hover)`
`void` `setModel​(IAnnotationModel model)` Associates an annotation model with this ruler column.
`int` `toDocumentLineNumber​(int y_coordinate)` Translates a y-coordinate of the ruler's SWT control into the according line number of the document of the connected text viewer.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### AnnotationRulerColumn

    public AnnotationRulerColumn​(IAnnotationModel model,
                                 int width,
                                 IAnnotationAccess annotationAccess)

Constructs this column with the given arguments.

Parameters:
  `model` - the annotation model to get the annotations from
  `width` - the width of the vertical ruler
  `annotationAccess` - the annotation access
Since:
  3.0

#### AnnotationRulerColumn

    public AnnotationRulerColumn​(int width,
                                 IAnnotationAccess annotationAccess)

Constructs this column with the given arguments.

Parameters:
  `width` - the width of the vertical ruler
  `annotationAccess` - the annotation access
Since:
  3.0

#### AnnotationRulerColumn

    public AnnotationRulerColumn​(IAnnotationModel model,
                                 int width)

Constructs this column with the given arguments.

Parameters:
  `model` - the annotation model to get the annotations from
  `width` - the width of the vertical ruler

#### AnnotationRulerColumn

    public AnnotationRulerColumn​(int width)

Constructs this column with the given width.

Parameters:
  `width` - the width of the vertical ruler

### Method Detail

#### getControl

    public Control getControl()

Description copied from interface: `IVerticalRulerColumn`
Returns the column's SWT control.

Specified by:
  `getControl` in interface `IVerticalRulerColumn`
Specified by:
  `getControl` in interface `IVerticalRulerInfo`
Returns:
  the column's SWT control

#### getWidth

    public int getWidth()

Description copied from interface: `IVerticalRulerColumn`
Returns the width of this column's control.

Specified by:
  `getWidth` in interface `IVerticalRulerColumn`
Specified by:
  `getWidth` in interface `IVerticalRulerInfo`
Returns:
  the width of this column's control

#### createControl

    public Control createControl​(CompositeRuler parentRuler,
                                 Composite parentControl)

Description copied from interface: `IVerticalRulerColumn`
Creates the column's SWT control.

Specified by:
  `createControl` in interface `IVerticalRulerColumn`
Parameters:
  `parentRuler` - the parent ruler of this column
  `parentControl` - the control of the parent ruler
Returns:
  the column's SWT control

#### isPropagatingMouseListener

    protected boolean isPropagatingMouseListener()

Tells whether this ruler column propagates mouse listener events to its parent.

Returns:
  `true` if propagating to parent
Since:
  3.0

#### mouseDown

    protected void mouseDown​(int rulerLine)

Hook method for a mouse down event on the given ruler line.

Parameters:
  `rulerLine` - the ruler line
Since:
  3.5

#### mouseDoubleClicked

    protected void mouseDoubleClicked​(int rulerLine)

Hook method for a mouse double click event on the given ruler line.

Parameters:
  `rulerLine` - the ruler line

#### mouseClicked

    protected void mouseClicked​(int rulerLine)

Hook method for a mouse click event on the given ruler line.

Note: The event is sent on mouse up.

Parameters:
  `rulerLine` - the ruler line
Since:
  3.0

#### hasAnnotation

    protected boolean hasAnnotation​(int lineNumber)

Tells whether the given line contains an annotation.

Parameters:
  `lineNumber` - the line number
Returns:
  `true` if the given line contains an annotation

#### getInclusiveTopIndexStartOffset

    protected int getInclusiveTopIndexStartOffset()

Returns the document offset of the upper left corner of the source viewer's view port, possibly including partially visible lines.

Returns:
  document offset of the upper left corner including partially visible lines

#### doPaint

    protected void doPaint​(GC gc)

Draws the vertical ruler w/o drawing the Canvas background.

Parameters:
  `gc` - the GC to draw into

#### doPaint1

    protected void doPaint1​(GC gc)

Draws the vertical ruler w/o drawing the Canvas background. Implementation based on `ITextViewerExtension5`. Will replace `doPaint(GC)`.

Parameters:
  `gc` - the GC to draw into

#### redraw

    public void redraw()

Description copied from interface: `IVerticalRulerColumn`
Redraws this column.

Specified by:
  `redraw` in interface `IVerticalRulerColumn`

#### setModel

    public void setModel​(IAnnotationModel model)

Description copied from interface: `IVerticalRulerColumn`
Associates an annotation model with this ruler column. A value `null` is acceptable and clears the ruler.

Specified by:
  `setModel` in interface `IVerticalRulerColumn`
Parameters:
  `model` - the new annotation model, may be `null`

#### setFont

    public void setFont​(Font font)

Description copied from interface: `IVerticalRulerColumn`
Sets the font of this ruler column.

Specified by:
  `setFont` in interface `IVerticalRulerColumn`
Parameters:
  `font` - the new font of the ruler column

#### getCachedTextViewer

    protected ITextViewer getCachedTextViewer()

Returns the cached text viewer.

Returns:
  the cached text viewer

#### getModel

    public IAnnotationModel getModel()

Description copied from interface: `IVerticalRulerInfoExtension`
Returns the model currently used by the receiver.

Specified by:
  `getModel` in interface `IVerticalRulerInfoExtension`
Returns:
  the model of the receiver, or `null` if no model is installed.

#### addAnnotationType

    public void addAnnotationType​(Object annotationType)

Adds the given annotation type to this annotation ruler column. Starting with this call, annotations of the given type are shown in this annotation ruler column.

Parameters:
  `annotationType` - the annotation type
Since:
  3.0

#### getLineOfLastMouseButtonActivity

    public int getLineOfLastMouseButtonActivity()

Description copied from interface: `IVerticalRulerInfo`
Returns the line number of the last mouse button activity. Based on the input document of the connected text viewer.

Specified by:
  `getLineOfLastMouseButtonActivity` in interface `IVerticalRulerInfo`
Returns:
  the line number of the last mouse button activity or `-1` if the last mouse activity does not correspond to a valid document line

#### toDocumentLineNumber

    public int toDocumentLineNumber​(int y_coordinate)

Description copied from interface: `IVerticalRulerInfo`
Translates a y-coordinate of the ruler's SWT control into the according line number of the document of the connected text viewer.

Specified by:
  `toDocumentLineNumber` in interface `IVerticalRulerInfo`
Parameters:
  `y_coordinate` - a y-coordinate of the ruler's SWT control
Returns:
  the line number of that coordinate or `-1` if that coordinate does not correspond to a valid document line

#### removeAnnotationType

    public void removeAnnotationType​(Object annotationType)

Removes the given annotation type from this annotation ruler column. Annotations of the given type are no longer shown in this annotation ruler column.

Parameters:
  `annotationType` - the annotation type
Since:
  3.0

#### getHover

    public IAnnotationHover getHover()

Description copied from interface: `IVerticalRulerInfoExtension`
Returns the hover for this vertical ruler (column).

Specified by:
  `getHover` in interface `IVerticalRulerInfoExtension`
Returns:
  the hover for this column

#### setHover

    public void setHover​(IAnnotationHover hover)

Parameters:
  `hover` - The hover to set.
Since:
  3.0

#### addVerticalRulerListener

    public void addVerticalRulerListener​(IVerticalRulerListener listener)

Description copied from interface: `IVerticalRulerInfoExtension`
Registers a vertical ruler listener to be informed if an annotation gets selected on the vertical ruler.

Specified by:
  `addVerticalRulerListener` in interface `IVerticalRulerInfoExtension`
Parameters:
  `listener` - the listener to be informed

#### removeVerticalRulerListener

    public void removeVerticalRulerListener​(IVerticalRulerListener listener)

Description copied from interface: `IVerticalRulerInfoExtension`
Removes a previously registered listener. If `listener` is not registered with the receiver, calling this method has no effect.

Specified by:
  `removeVerticalRulerListener` in interface `IVerticalRulerInfoExtension`
Parameters:
  `listener` - the listener to be removed