Package org.eclipse.draw2d
Class DeferredUpdateManager
java.lang.Object
org.eclipse.draw2d.UpdateManager
org.eclipse.draw2d.DeferredUpdateManager
An UpdateManager that asynchronously updates the affected figures.
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionEmpty constructor.Constructs a new DererredUpdateManager with the given GraphicsSource. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddDirtyRegion(IFigure figure, int x, int y, int w, int h) Adds a dirty region (defined by the rectangle x, y, w, h) to the update queue.voidAdds the given figure to the update queue.protected GraphicsgetGraphics(Rectangle region) Returns a Graphics object for the given region.protected voidInvoked by theLightweightSystem(LightweightSystem.paint(GC)) to have the update manger paint its contents.voidPerforms the update.voidperformUpdate(Rectangle exposed) Adds the given exposed region to the update queue and then performs the update.voidPerforms a partial update if supported (validation only).protected voidPosts anDeferredUpdateManager.UpdateRequestusingDisplay.asyncExec(Runnable).protected voidreleaseGraphics(Graphics graphics) Releases the graphics object, which causes the GraphicsSource to flush.protected voidRepaints the dirty regions on the update queue and callsUpdateManager.firePainting(Rectangle, Map), unless there are no dirty regions.voidrunWithUpdate(Runnable runnable) Adds the given runnable and queues an update if an update is not under progress.protected voidFires theUpdateRequestto the current display asynchronously.voidSets the graphics source.voidsetRefreshRate(int refreshRate) Sets the rate with paint requests are executed.voidSets the root figure.protected voidValidates all invalid figures on the update queue and callsUpdateManager.fireValidating()unless there are no invalid figures.Methods inherited from class org.eclipse.draw2d.UpdateManager
addDirtyRegion, addUpdateListener, dispose, firePainting, fireValidating, isDisposed, removeUpdateListener
-
Constructor Details
-
DeferredUpdateManager
public DeferredUpdateManager()Empty constructor. -
DeferredUpdateManager
Constructs a new DererredUpdateManager with the given GraphicsSource.- Parameters:
gs- the graphics source
-
-
Method Details
-
addDirtyRegion
Adds a dirty region (defined by the rectangle x, y, w, h) to the update queue. If the figure isn't visible or either the width or height are 0, the method returns without queueing the dirty region.- Specified by:
addDirtyRegionin classUpdateManager- Parameters:
figure- the figure that contains the dirty regionx- 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 region
-
addInvalidFigure
Adds the given figure to the update queue. Invalid figures will be validated before the damaged regions are repainted.- Specified by:
addInvalidFigurein classUpdateManager- Parameters:
f- the invalid figure
-
getGraphics
Returns a Graphics object for the given region.- Parameters:
region- the region to be repainted- Returns:
- the Graphics object
-
paint
Description copied from class:UpdateManagerInvoked by theLightweightSystem(LightweightSystem.paint(GC)) to have the update manger paint its contents. Delegates toUpdateManager.performUpdate(Rectangle)with the passed in gc's clipping region (GC.getClipping()) by default. Subclasses may override if they need to access theGCfor updating.- Overrides:
paintin classUpdateManager- Parameters:
gc- TheGCto be used for updating- Since:
- 3.10
-
performUpdate
public void performUpdate()Performs the update. Validates the invalid figures and then repaints the dirty regions.- Specified by:
performUpdatein classUpdateManager- See Also:
-
performValidation
public void performValidation()Description copied from class:UpdateManagerPerforms a partial update if supported (validation only). Fires notification to listeners that validation has been performed. By default this method callsUpdateManager.performUpdate(). Subclasses should override this method to support validation without repainting.- Overrides:
performValidationin classUpdateManager- See Also:
-
performUpdate
Adds the given exposed region to the update queue and then performs the update.- Specified by:
performUpdatein classUpdateManager- Parameters:
exposed- the exposed region
-
queueWork
protected void queueWork()Posts anDeferredUpdateManager.UpdateRequestusingDisplay.asyncExec(Runnable). If work has already been queued, a new request is not needed. -
sendUpdateRequest
protected void sendUpdateRequest()Fires theUpdateRequestto the current display asynchronously.- Since:
- 3.2
-
releaseGraphics
Releases the graphics object, which causes the GraphicsSource to flush.- Parameters:
graphics- the graphics object
-
repairDamage
protected void repairDamage()Repaints the dirty regions on the update queue and callsUpdateManager.firePainting(Rectangle, Map), unless there are no dirty regions. -
runWithUpdate
Adds the given runnable and queues an update if an update is not under progress.- Overrides:
runWithUpdatein classUpdateManager- Parameters:
runnable- the runnable
-
setGraphicsSource
Sets the graphics source.- Specified by:
setGraphicsSourcein classUpdateManager- Parameters:
gs- the graphics source
-
setRoot
Sets the root figure.- Specified by:
setRootin classUpdateManager- Parameters:
figure- the root figure
-
setRefreshRate
public void setRefreshRate(int refreshRate) Sets the rate with paint requests are executed. If set to either0or a negative value, requests are executed as fast as possible (default behavior), otherwise everyrefreshRatems. Example:setRefreshRate(500); // Paints every 500ms
- Parameters:
refreshRate- The rate with which paint requests are executed.- Since:
- 3.18
-
validateFigures
protected void validateFigures()Validates all invalid figures on the update queue and callsUpdateManager.fireValidating()unless there are no invalid figures.
-