|
Eclipse Platform 2.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
A painter is responsible for creating, managing, updating, and removing visual decorations of an ITextViewer
. Examples are
the highlighting of the cursor line, the print marging, 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 can be activated or deactivated. Usually, painters are initially deactivated and are activated by the first call to their paint
method. Painters can be deactivated by calling deactivate
. Deactivated painter can be reactivated by calling paint
again.
Painters usually have to manage state information. E.g., a painter painting a cursor line highlight must redraw the previous and the actual cursor
line in the advent of a change of the cursor position. This state information must usually be adapted to changes of the viewer's content. In order
to support this common scenario, the PaintManager
gives a painter access to a IPaintPositionUpdater
. The painter
can use this updater to manage its state information.
PaintManager
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. |
Field Detail |
public static final int SELECTION
public static final int TEXT_CHANGE
public static final int KEY_STROKE
public static final int MOUSE_BUTTON
public static final int INTERNAL
public static final int CONFIGURATION
Method Detail |
public void dispose()
deactivate(boolean)
public void paint(int reason)
reason
- the repaint reason, value is one of the constants defined in this interfacepublic void deactivate(boolean redraw)
redraw
indicates whether the painter should remove
any decoration it previously applied. A deactivated painter can be reactivated by calling
paint
.redraw
- true
if any previously applied decoration should be removedpaint(int)
public void setPositionManager(IPaintPositionManager manager)
manager
- the paint position manager or null
|
Eclipse Platform 2.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |