Class DefaultRefreshBehavior

java.lang.Object
org.eclipse.graphiti.ui.editor.DefaultRefreshBehavior

public class DefaultRefreshBehavior extends Object
The default implementation for the DiagramBehavior behavior extension that controls the refresh behavior of the Graphiti diagram editor. Clients may subclass to change the behavior; use DiagramBehavior.createRefreshBehavior() to return the instance that shall be used.
Note that there is always a 1:1 relation with a DiagramBehavior.
Since:
0.9
  • Field Details

  • Constructor Details

    • DefaultRefreshBehavior

      public DefaultRefreshBehavior(DiagramBehavior diagramBehavior)
      Creates a new standard refresh behaviour for a Graphiti diagram editor. The passed DiagramBehavior is closely linked to this instance (1:1 relation) and both instances will have a common lifecycle.
      Parameters:
      diagramEditor - The associated DiagramBehavior.
      Since:
      0.10
  • Method Details

    • initRefresh

      public void initRefresh()
      Initializes the performance cache and is called by the Graphiti framework before a refresh is triggered. Should not be called by clients.
      Since:
      0.9
    • handleAutoUpdateAtStartup

      public void handleAutoUpdateAtStartup()
      Handles the auto update at startup of the editor and is called by the Graphiti DiagramBehavior when the input is set ( DiagramBehavior#setInput(org.eclipse.ui.IEditorInput)). The default implementation checks the desired behavior as defined in IDiagramTypeProvider.isAutoUpdateAtStartup() and calls #autoUpdate(Diagram, IDiagramTypeProvider) in case an update shall be done.
      Since:
      0.12 originally introduced with Graphiti 0.9
    • handleAutoUpdateAtReset

      public void handleAutoUpdateAtReset()
      Handles the auto update at rest of the editor (the editor performs a reload of the EMF resources because e.g. the underlying file has been changed by another editor) and is called by the Graphiti DiagramBehavior after the Diagram has been reloaded. The default implementation checks the desired behavior as defined in IDiagramTypeProvider.isAutoUpdateAtReset() and calls #autoUpdate(Diagram, IDiagramTypeProvider) in case an update shall be done.
      Since:
      0.12 originally introduced with Graphiti 0.9
    • autoUpdate

      protected void autoUpdate()
      Handles the auto update of the editor and triggers an update of the Diagram by delegating to the IUpdateFeature registered for the Diagram. In the end refresh() is called to reflect the update in the editor UI. This method is called by handleAutoUpdateAtStartup() and handleAutoUpdateAtReset().
      Since:
      0.9
    • refresh

      public void refresh()
      Does the refresh of the editor, so that the UI reflects the current state of the Graphiti pictograms model. Also the editor title is updated; in case direct editing is active it is cancelled.
    • refresh

      protected void refresh(PictogramElement pe)
      Refreshes the given PictogramElement so that the UI reflects the current state in the Graphiti pictograms model.
      Parameters:
      pe - the PictogramElement to refresh
    • refreshRenderingDecorators

      public void refreshRenderingDecorators(PictogramElement pe)
      Refreshes all rendering decorators for the given PictogramElement as defined in IToolBehaviorProvider.getDecorators(PictogramElement).
      Parameters:
      pe - the PictogramElement to refresh the decorators for
    • internalRefreshEditPart

      public void internalRefreshEditPart(org.eclipse.gef.EditPart editPart)
      Internal refresh of a given EditPart.
      Parameters:
      editPart - the edit part to refresh
    • isAutoRefresh

      public boolean isAutoRefresh()
      Returns if auto refresh is enabled or not. In case it is enabled the editor will automatically react on EMF resource changes.

      By default the auto refresh is turned on so this method returns true.

      Returns:
      true, if is auto refresh
    • setAutoRefresh

      public void setAutoRefresh(boolean autoRefresh)
      Auto refresh can be enabled or disabled with this function.In case it is enabled the editor will automatically react on EMF resource changes.

      By default the auto refresh is turned on.

      Parameters:
      autoRefresh - the new value of auto refresh
      Since:
      0.14
    • isMultipleRefreshSupressionActive

      public boolean isMultipleRefreshSupressionActive()
      Returns if multiple refreshes shall be omitted and a bundled refresh should happen instead. Is called by the framework on creation and refreshing of Figures.

      The default implementation simply returns true. Note: returning false here might have large performance implications, so use this option only with extra care!

      Returns:
    • shouldRefresh

      public boolean shouldRefresh(Object obj)
      Checks the performance cache if a refresh shall be triggered for the given object. Should not be called by external clients.
      Since:
      0.9