|
Eclipse Draw2d 3.3 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.draw2d.UpdateManager
Update managers handle the job of laying out and repainting figures. A desirable implementation is to batches work to be done and collapses any redundant work. For example, clients may be making multiple changes to figures, which require laying out the same container or repainting the same region.
The update manager receives requests to validate certain figures, and repaint certain areas of figures. An update manager could process every request synchronously, or it could batch these requests and process them asynchronously.
The update process occurs in two phases. The first phase is laying out invalid figures. This phase comes first because it usually introduces additional damage regions. In some cases, while validating figures, new invalid figures may be appended to the update manager. Of course, damage regions will be reported too as figures are layed out.
The second phase is to repaint all damaged areas. The update manager will typically batch, clip, and union, all rectangles and perform a single paint of the overall damaged area.
Constructor Summary | |
UpdateManager()
|
Method Summary | |
abstract void |
addDirtyRegion(IFigure figure,
int x,
int y,
int w,
int h)
Adds the dirty region defined by the coordinates on the IFigure figure. |
void |
addDirtyRegion(IFigure figure,
Rectangle rect)
|
abstract void |
addInvalidFigure(IFigure figure)
The receiver should call validate() on the IFigure figure in a timely fashion. |
void |
addUpdateListener(UpdateListener listener)
Adds the given listener to the list of listeners to be notified of painting and validation. |
void |
dispose()
Called when the EditPartViewer is being disposed. |
protected void |
firePainting(Rectangle damage,
Map dirtyRegions)
Notifies listeners that painting is about to occur, passing them the damaged rectangle and the map of dirty regions. |
protected void |
fireValidating()
Notifies listeners that validation is about to occur. |
protected boolean |
isDisposed()
|
abstract void |
performUpdate()
Forces an update to occur. |
abstract void |
performUpdate(Rectangle exposed)
Performs an update on the given exposed rectangle. |
void |
performValidation()
Performs a partial update if supported (validation only). |
void |
removeUpdateListener(UpdateListener listener)
Removes one occurence of the given UpdateListener by identity. |
void |
runWithUpdate(Runnable run)
Causes an update to occur at some time, and the given runnable to be executed following the update. |
abstract void |
setGraphicsSource(GraphicsSource gs)
Sets the GraphicsSource for this update manager. |
abstract void |
setRoot(IFigure figure)
Sets the root figure. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public UpdateManager()
Method Detail |
public abstract void addDirtyRegion(IFigure figure, int x, int y, int w, int h)
figure
- the dirty figurex
- the x coordinate of the dirty regiony
- the y coordinate of the dirty regionw
- the width of the dirty regionh
- the height of the dirty regionpublic void addDirtyRegion(IFigure figure, Rectangle rect)
addDirtyRegion(IFigure, int, int, int, int)
public void runWithUpdate(Runnable run)
run
- the runnablepublic abstract void addInvalidFigure(IFigure figure)
figure
- the invalid figurepublic void addUpdateListener(UpdateListener listener)
listener
- the listener to addpublic void dispose()
protected void firePainting(Rectangle damage, Map dirtyRegions)
damage
- the damaged rectangledirtyRegions
- map of dirty regions to figuresprotected void fireValidating()
protected boolean isDisposed()
public abstract void performUpdate()
public abstract void performUpdate(Rectangle exposed)
exposed
- the exposed rectanglepublic void removeUpdateListener(UpdateListener listener)
listener
- the listener to removepublic abstract void setGraphicsSource(GraphicsSource gs)
gs
- the new GraphicsSourcepublic abstract void setRoot(IFigure figure)
figure
- the new root figurepublic void performValidation()
performUpdate()
. Subclasses should override this method to support validation
without repainting.
|
Eclipse Draw2d 3.3 |
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |