org.eclipse.jface.text
Interface IPainter
-
All Known Implementing Classes:
-
AnnotationPainter,
CursorLinePainter,
MarginPainter,
MatchingCharacterPainter,
WhitespaceCharacterPainter
-
public interface IPainter
A painter is responsible for creating, managing, updating, and removing
visual decorations on an ITextViewer
's text widget. Examples
are the highlighting of the caret line, the print margin, or the highlighting
of matching peer characters such as pairs of brackets.
Clients may implement this interface.
Painters should be registered with a
PaintManager
. The paint manager tracks
several classes of events issued by an ITextViewer
and reacts
by appropriately invoking the registered painters.
Painters are either active or inactive. Usually, painters are initially
inactive and are activated by the first call to their paint
method. Painters can be deactivated by calling deactivate
.
Inactive painter can be reactivated by calling paint
.
Painters usually have to manage state information. E.g., a painter painting a
caret line highlight must redraw the previous and the actual caret line in
the advent of a change of the caret position. This state information must be
adapted to changes of the viewer's content. In order to support this common
scenario, the PaintManager
gives a painter access to a
IPaintPositionManager
. The painter can use
this updater to manage its state information.
-
Since:
- 2.1
-
See Also:
-
PaintManager
,
IPaintPositionManager
Field Summary
|
static int
|
CONFIGURATION
Constant describing the reason of a repaint request: paint manager or painter configuration changed. |
static int
|
INTERNAL
Constant describing the reason of a repaint request: paint manager internal change. |
static int
|
KEY_STROKE
Constant describing the reason of a repaint request: key pressed. |
static int
|
MOUSE_BUTTON
Constant describing the reason of a repaint request: mouse button pressed. |
static int
|
SELECTION
Constant describing the reason of a repaint request: selection changed. |
static int
|
TEXT_CHANGE
Constant describing the reason of a repaint request: text changed. |
Method Summary
|
void
|
deactivate
(boolean redraw)
Deactivates this painter. |
void
|
dispose
()
Disposes this painter. |
void
|
paint
(int reason)
Requests this painter to repaint because of the given reason. |
void
|
setPositionManager
(
IPaintPositionManager manager)
Sets the paint position manager that can be used by this painter or removes any previously
set paint position manager. |
SELECTION
static final int SELECTION
- Constant describing the reason of a repaint request: selection changed.
-
See Also:
-
Constant Field Values
TEXT_CHANGE
static final int TEXT_CHANGE
- Constant describing the reason of a repaint request: text changed.
-
See Also:
-
Constant Field Values
KEY_STROKE
static final int KEY_STROKE
- Constant describing the reason of a repaint request: key pressed.
-
See Also:
-
Constant Field Values
MOUSE_BUTTON
static final int MOUSE_BUTTON
- Constant describing the reason of a repaint request: mouse button pressed.
-
See Also:
-
Constant Field Values
INTERNAL
static final int INTERNAL
- Constant describing the reason of a repaint request: paint manager internal change.
-
See Also:
-
Constant Field Values
CONFIGURATION
static final int CONFIGURATION
- Constant describing the reason of a repaint request: paint manager or painter configuration changed.
-
See Also:
-
Constant Field Values
dispose
void dispose()
- Disposes this painter. Prior to disposing, a painter should be deactivated. A disposed
painter can not be reactivated.
-
-
See Also:
-
deactivate(boolean)
paint
void paint(int reason)
- 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.
-
-
Parameters:
-
reason
- the repaint reason, value is one of the constants defined
in this interface
deactivate
void deactivate(boolean redraw)
- 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
.
-
-
Parameters:
-
redraw
- true
if any previously applied decoration
should be removed -
See Also:
-
paint(int)
setPositionManager
void setPositionManager(
IPaintPositionManager manager)
- Sets the paint position manager that can be used by this painter or removes any previously
set paint position manager.
-
-
Parameters:
-
manager
- the paint position manager or null
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.