Package org.eclipse.jface.text.source
Interface IAnnotationAccessExtension
-
- All Known Implementing Classes:
DefaultMarkerAnnotationAccess
public interface IAnnotationAccessExtension
Extension interface forIAnnotationAccess
.This interface replaces the methods of
IAnnotationAccess
.This interface provides
- a label for the annotation type of a given annotation
- the paint layer of a given annotation
- means to paint a given annotation
- information about the type hierarchy of the annotation type of a given annotation
- Since:
- 3.0
- See Also:
IAnnotationAccess
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_LAYER
The default annotation layer.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description int
getLayer(Annotation annotation)
Returns the layer for given annotation.Object[]
getSupertypes(Object annotationType)
Returns the list of super types for the given annotation type.String
getTypeLabel(Annotation annotation)
Returns the label for the given annotation's type.boolean
isPaintable(Annotation annotation)
Returnstrue
if paintingannotation
will produce something meaningful,false
if not.boolean
isSubtype(Object annotationType, Object potentialSupertype)
Returnstrue
if the given annotation is of the given type orfalse
otherwise.void
paint(Annotation annotation, GC gc, Canvas canvas, Rectangle bounds)
Draws a graphical representation of the given annotation within the given bounds.
-
-
-
Field Detail
-
DEFAULT_LAYER
static final int DEFAULT_LAYER
The default annotation layer.- See Also:
- Constant Field Values
-
-
Method Detail
-
getTypeLabel
String getTypeLabel(Annotation annotation)
Returns the label for the given annotation's type.- Parameters:
annotation
- the annotation- Returns:
- the label the given annotation's type or
null
if no such label exists
-
getLayer
int getLayer(Annotation annotation)
Returns the layer for given annotation. Annotations are considered being located at layers and are considered being painted starting with layer 0 upwards. Thus an annotation at layer 5 will be drawn on top of all co-located annotations at the layers 4 - 0.- Parameters:
annotation
- the annotation- Returns:
- the layer of the given annotation
-
paint
void paint(Annotation annotation, GC gc, Canvas canvas, Rectangle bounds)
Draws a graphical representation of the given annotation within the given bounds.Note that this method is not used when drawing annotations on the editor's text widget. This is handled trough a
AnnotationPainter.IDrawingStrategy
.- Parameters:
annotation
- the given annotationgc
- the drawing GCcanvas
- the canvas to draw onbounds
- the bounds inside the canvas to draw on
-
isPaintable
boolean isPaintable(Annotation annotation)
Returnstrue
if paintingannotation
will produce something meaningful,false
if not. E.g. if no image is available.Note that this method is not used when drawing annotations on the editor's text widget. This is handled trough a
AnnotationPainter.IDrawingStrategy
.- Parameters:
annotation
- the annotation to check whether it can be painted- Returns:
true
if paintingannotation
will succeed
-
isSubtype
boolean isSubtype(Object annotationType, Object potentialSupertype)
Returnstrue
if the given annotation is of the given type orfalse
otherwise.- Parameters:
annotationType
- the annotation typepotentialSupertype
- the potential super annotation type- Returns:
true
if annotation type is a sub-type of the potential annotation super type
-
getSupertypes
Object[] getSupertypes(Object annotationType)
Returns the list of super types for the given annotation type. This does not include the type itself. The index in the array of super types indicates the length of the path in the hierarchy graph to the given annotation type.- Parameters:
annotationType
- the annotation type to check- Returns:
- the super types for the given annotation type
-
-