Interface IAnnotationAccessExtension

All Known Implementing Classes:
DefaultMarkerAnnotationAccess

public interface IAnnotationAccessExtension
Extension interface for IAnnotationAccess.

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:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    The default annotation layer.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    getLayer(Annotation annotation)
    Returns the layer for given annotation.
    getSupertypes(Object annotationType)
    Returns the list of super types for the given annotation type.
    Returns the label for the given annotation's type.
    boolean
    isPaintable(Annotation annotation)
    Returns true if painting annotation will produce something meaningful, false if not.
    boolean
    isSubtype(Object annotationType, Object potentialSupertype)
    Returns true if the given annotation is of the given type or false otherwise.
    void
    paint(Annotation annotation, GC gc, Canvas canvas, Rectangle bounds)
    Draws a graphical representation of the given annotation within the given bounds.
  • Field Details

    • DEFAULT_LAYER

      static final int DEFAULT_LAYER
      The default annotation layer.
      See Also:
  • Method Details

    • 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 annotation
      gc - the drawing GC
      canvas - the canvas to draw on
      bounds - the bounds inside the canvas to draw on
    • isPaintable

      boolean isPaintable(Annotation annotation)
      Returns true if painting annotation 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 painting annotation will succeed
    • isSubtype

      boolean isSubtype(Object annotationType, Object potentialSupertype)
      Returns true if the given annotation is of the given type or false otherwise.
      Parameters:
      annotationType - the annotation type
      potentialSupertype - 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