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 Constructor Description 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 Modifier and Type Method Description 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.
-
-
-
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 fromwidth
- the width of the vertical rulerannotationAccess
- 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 rulerannotationAccess
- 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 fromwidth
- 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 interfaceIVerticalRulerColumn
- Specified by:
getControl
in interfaceIVerticalRulerInfo
- 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 interfaceIVerticalRulerColumn
- Specified by:
getWidth
in interfaceIVerticalRulerInfo
- 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 interfaceIVerticalRulerColumn
- Parameters:
parentRuler
- the parent ruler of this columnparentControl
- 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 onITextViewerExtension5
. Will replacedoPaint(GC)
.- Parameters:
gc
- the GC to draw into
-
redraw
public void redraw()
Description copied from interface:IVerticalRulerColumn
Redraws this column.- Specified by:
redraw
in interfaceIVerticalRulerColumn
-
setModel
public void setModel(IAnnotationModel model)
Description copied from interface:IVerticalRulerColumn
Associates an annotation model with this ruler column. A valuenull
is acceptable and clears the ruler.- Specified by:
setModel
in interfaceIVerticalRulerColumn
- Parameters:
model
- the new annotation model, may benull
-
setFont
public void setFont(Font font)
Description copied from interface:IVerticalRulerColumn
Sets the font of this ruler column.- Specified by:
setFont
in interfaceIVerticalRulerColumn
- 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 interfaceIVerticalRulerInfoExtension
- 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 interfaceIVerticalRulerInfo
- 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 interfaceIVerticalRulerInfo
- 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 interfaceIVerticalRulerInfoExtension
- 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 interfaceIVerticalRulerInfoExtension
- Parameters:
listener
- the listener to be informed
-
removeVerticalRulerListener
public void removeVerticalRulerListener(IVerticalRulerListener listener)
Description copied from interface:IVerticalRulerInfoExtension
Removes a previously registered listener. Iflistener
is not registered with the receiver, calling this method has no effect.- Specified by:
removeVerticalRulerListener
in interfaceIVerticalRulerInfoExtension
- Parameters:
listener
- the listener to be removed
-
-