org.eclipse.jface.text.source
Class AnnotationPainter
java.lang.Object
org.eclipse.jface.text.source.AnnotationPainter
-
All Implemented Interfaces:
-
EventListener,
IPainter,
ITextPresentationListener,
IAnnotationModelListener,
IAnnotationModelListenerExtension,
PaintListener, org.eclipse.swt.internal.SWTEventListener
-
public class AnnotationPainter
- extends
Object
- implements
IPainter,
PaintListener,
IAnnotationModelListener,
IAnnotationModelListenerExtension,
ITextPresentationListener
Paints decorations for annotations provided by an annotation model and/or
highlights them in the associated source viewer.
The annotation painter can be configured with drawing strategies. A drawing
strategy defines the visual presentation of a particular type of annotation
decoration.
Clients usually instantiate and configure objects of this class.
-
Since:
- 2.1
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
AnnotationPainter
public AnnotationPainter(
ISourceViewer sourceViewer,
IAnnotationAccess access)
- Creates a new annotation painter for the given source viewer and with the
given annotation access. The painter is not initialized, i.e. no
annotation types are configured to be painted.
-
Parameters:
-
sourceViewer
- the source viewer for this painter -
access
- the annotation access for this painter
applyTextPresentation
public void applyTextPresentation(
TextPresentation tp)
-
Description copied from interface:
ITextPresentationListener
- This method is called when a text presentation is about to be applied to
the text viewer. The receiver is allowed to change the text presentation
during that call.
-
-
Specified by:
-
applyTextPresentation
in interface
ITextPresentationListener
-
-
Parameters:
-
tp
- the current text presentation
modelChanged
public void modelChanged(
IAnnotationModel model)
-
Description copied from interface:
IAnnotationModelListener
- Called if a model change occurred on the given model.
Replaced by
IAnnotationModelListenerExtension.modelChanged(AnnotationModelEvent)
.
-
-
Specified by:
-
modelChanged
in interface
IAnnotationModelListener
-
-
Parameters:
-
model
- the changed annotation model
modelChanged
public void modelChanged(
AnnotationModelEvent event)
-
Description copied from interface:
IAnnotationModelListenerExtension
- Called if a model change occurred on the given model.
-
-
Specified by:
-
modelChanged
in interface
IAnnotationModelListenerExtension
-
-
Parameters:
-
event
- the event to be sent out
setAnnotationTypeColor
public void setAnnotationTypeColor(
Object annotationType,
Color color)
- Sets the color in which the squiggly for the given annotation type should be drawn.
-
-
-
Parameters:
-
annotationType
- the annotation type -
color
- the color
addAnnotationType
public void addAnnotationType(
Object annotationType)
- Adds the given annotation type to the list of annotation types whose
annotations should be painted by this painter using squiggly drawing. If the annotation type
is already in this list, this method is without effect.
-
-
-
Parameters:
-
annotationType
- the annotation type
addAnnotationType
public void addAnnotationType(
Object annotationType,
Object drawingStrategyID)
- Adds the given annotation type to the list of annotation types whose
annotations should be painted by this painter using the given drawing strategy.
If the annotation type is already in this list, the old drawing strategy gets replaced.
-
-
-
Parameters:
-
annotationType
- the annotation type -
drawingStrategyID
- the id of the drawing strategy that should be used for this annotation type -
Since:
- 3.0
addDrawingStrategy
public void addDrawingStrategy(
Object id,
AnnotationPainter.IDrawingStrategy strategy)
- Registers a new drawing strategy under the given ID. If there is already a
strategy registered under
id
, the old strategy gets replaced.
The given id can be referenced when adding annotation types, see
addAnnotationType(Object, Object)
.
-
-
-
Parameters:
-
id
- the identifier under which the strategy can be referenced, not null
-
strategy
- the new strategy -
Since:
- 3.0
addTextStyleStrategy
public void addTextStyleStrategy(
Object id,
AnnotationPainter.ITextStyleStrategy strategy)
- Registers a new drawing strategy under the given ID. If there is already
a strategy registered under
id
, the old strategy gets
replaced.
The given id can be referenced when adding annotation types, see
addAnnotationType(Object, Object)
.
-
-
-
Parameters:
-
id
- the identifier under which the strategy can be referenced, not null
-
strategy
- the new strategy -
Since:
- 3.4
addHighlightAnnotationType
public void addHighlightAnnotationType(
Object annotationType)
- Adds the given annotation type to the list of annotation types whose
annotations should be highlighted this painter. If the annotation type
is already in this list, this method is without effect.
-
-
-
Parameters:
-
annotationType
- the annotation type -
Since:
- 3.0
removeAnnotationType
public void removeAnnotationType(
Object annotationType)
- Removes the given annotation type from the list of annotation types whose
annotations are painted by this painter. If the annotation type is not
in this list, this method is without effect.
-
-
-
Parameters:
-
annotationType
- the annotation type
removeHighlightAnnotationType
public void removeHighlightAnnotationType(
Object annotationType)
- Removes the given annotation type from the list of annotation types whose
annotations are highlighted by this painter. If the annotation type is not
in this list, this method is without effect.
-
-
-
Parameters:
-
annotationType
- the annotation type -
Since:
- 3.0
removeAllAnnotationTypes
public void removeAllAnnotationTypes()
- Clears the list of annotation types whose annotations are
painted by this painter.
-
-
isPaintingAnnotations
public boolean isPaintingAnnotations()
- Returns whether the list of annotation types whose annotations are painted
by this painter contains at least on element.
-
-
-
Returns:
-
true
if there is an annotation type whose annotations are painted
dispose
public void dispose()
-
Description copied from interface:
IPainter
- Disposes this painter. Prior to disposing, a painter should be deactivated. A disposed
painter can not be reactivated.
-
-
Specified by:
-
dispose
in interface
IPainter
-
-
See Also:
-
IPainter.deactivate(boolean)
paintControl
public void paintControl(
PaintEvent event)
-
Description copied from interface:
PaintListener
- Sent when a paint event occurs for the control.
-
-
Specified by:
-
paintControl
in interface
PaintListener
-
-
Parameters:
-
event
- an event containing information about the paint
skip
protected boolean skip(
Annotation annotation)
- Should the given annotation be skipped when handling draw requests?
-
-
-
Parameters:
-
annotation
- the annotation
-
Returns:
-
true
iff the given annotation should be
skipped when handling draw requests -
Since:
- 3.0
deactivate
public void deactivate(boolean redraw)
-
Description copied from interface:
IPainter
- Deactivates this painter. If the painter is inactive, this call does not
have any effect.
redraw
indicates whether the painter
should remove any decoration it previously applied. A deactivated painter
can be reactivated by calling paint
.
-
-
Specified by:
-
deactivate
in interface
IPainter
-
-
Parameters:
-
redraw
- true
if any previously applied decoration
should be removed -
See Also:
-
IPainter.paint(int)
isRepaintReason
protected boolean isRepaintReason(int reason)
- Returns whether the given reason causes a repaint.
-
-
-
Parameters:
-
reason
- the reason
-
Returns:
-
true
if repaint reason, false
otherwise -
Since:
- 3.0
findAnnotationModel
protected
IAnnotationModel findAnnotationModel(
ISourceViewer sourceViewer)
- Retrieves the annotation model from the given source viewer.
-
-
-
Parameters:
-
sourceViewer
- the source viewer
-
Returns:
- the source viewer's annotation model or
null
if none can be found -
Since:
- 3.0
paint
public void paint(int reason)
-
Description copied from interface:
IPainter
- Requests this painter to repaint because of the given reason. Based on
the given reason the painter can decide whether it will repaint or not.
If it repaints and is inactive, it will activate itself.
-
-
Specified by:
-
paint
in interface
IPainter
-
-
Parameters:
-
reason
- the repaint reason, value is one of the constants defined
in this interface
setPositionManager
public void setPositionManager(
IPaintPositionManager manager)
-
Description copied from interface:
IPainter
- Sets the paint position manager that can be used by this painter or removes any previously
set paint position manager.
-
-
Specified by:
-
setPositionManager
in interface
IPainter
-
-
Parameters:
-
manager
- the paint position manager or null
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.