Class DiagramBehavior
- All Implemented Interfaces:
IDiagramBehavior,IDiagramBehaviorUI
Composite, in a
ViewPart or in an IEditorPart, so it's not possible to
provide common functionality through sub-classing.- Since:
- 0.10
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidAdds the needed GEF listeners after the edit domain is initializedorg.eclipse.draw2d.geometry.PointcalculateRealMouseLocation(org.eclipse.draw2d.geometry.Point nativeLocation) Calculates the mouse location depending on scrollbars and zoom factor.protected voidCalled to configure the behavior viewer, before it receives its content.protected List<org.eclipse.jface.util.TransferDropTargetListener>Creates a list of drop target listeners that enable dropping domain objects into the diagram, e.g.protected IConfigurationProvidercreateConfigurationProvider(IDiagramTypeProvider diagramTypeProvider) protected org.eclipse.gef.ContextMenuProviderReturns a newContextMenuProvider.protected voidcreateErrorPartControl(org.eclipse.swt.widgets.Composite parent) Creates the default error page in case an error occurred while initializing this behavior.protected voidcreateGraphicalViewer(org.eclipse.swt.widgets.Composite parent) Creates the GraphicalViewer on the specifiedCompositeand initializes it.protected DefaultMarkerBehaviorCreates the behavior extension that deals with markers.protected DefaultPaletteBehaviorCreates the behavior extension that deals with the palette handling.protected org.eclipse.jface.util.TransferDropTargetListenerCreates the drop target listener that is used for adding new objects from the palette via drag and drop.protected final org.eclipse.gef.ui.palette.PaletteViewerProviderDelegates to the method (or the method in a subclass of)#createPaletteViewerProvider()to create thePaletteViewerProviderused inside the GEF editor.protected DefaultPersistencyBehaviorCreates the behavior extension that deals with the persistence handling.protected DefaultRefreshBehaviorCreates the behavior extension that deals with the refresh handling.protected org.eclipse.jface.resource.ResourceManagerCreates a new instance of aResourceManagerimplementation.protected DefaultUpdateBehaviorCreates the behavior extension that deals with the update handling.voidShould be called (e.g.protected voidThe part of the dispose that should happen after the GEF dispose.protected voidThe part of the dispose that should happen before the GEF dispose.protected voidHook that is called by the holder of theTransactionalEditingDomain(DefaultUpdateBehavioror a subclass of it) after the editing domain has been initialized.voidShould be called by the various behavior instances after mass EMF resource operations have been triggered (e.g.executeFeature(IFeature feature, IContext context) Executes the givenIFeaturewith the givenIContextin the scope of thisDiagramBehavior, meaning within itsTransactionalEditingDomainand on itsCommandStack.getAdapter(Class type) Implements the EclipseIAdaptableinterface.protected org.eclipse.gef.KeyHandlerReturns the KeyHandler with common bindings to be used for both the Outline and the Graphical Viewer.Returns theConfigurationProviderfor this behavior.org.eclipse.gef.EditPartReturns the contentsEditPartof this behavior.Returns the associated container displaying the diagram of this behavior object.Returns theIDiagramTypeProviderinstance associated with thisDiagramBehavior.protected StringgetDiagramTypeProviderId(Diagram diagram) Gets the diagram type provider ID for the diagram.org.eclipse.gef.DefaultEditDomainDelegation method to retrieve the GEF edit domain also here.org.eclipse.emf.transaction.TransactionalEditingDomainReturns the EMFTransactionalEditingDomainused within this behavior object by delegating to the update behavior extension, by defaultDefaultUpdateBehavior.getEditingDomain().protected StringReturns the error text of the error that occurred while initializing this behavior and its components.org.eclipse.gef.GraphicalEditPartMethod to retrieve the GEFEditPartfor a givenPictogramElement.org.eclipse.draw2d.IFigureMethod to retrieve the Draw2DIFigurefor a givenPictogramElement.protected IDiagramEditorInputgetInput()Returns theDiagramEditorInputinstance used in this behavior.protected DefaultMarkerBehaviorReturns the instance of the marker behavior that is used with this behavior.org.eclipse.draw2d.geometry.PointGets the current mouse location as aPoint.protected DefaultPaletteBehaviorReturns the instance of the palette behavior that is used with this behavior.protected final org.eclipse.gef.ui.palette.FlyoutPaletteComposite.FlyoutPreferencesDelegates to the method (or the method in a subclass of)DefaultPaletteBehavior.getPalettePreferences().protected final org.eclipse.gef.palette.PaletteRootReturns thePaletteRootto use in the GEF editor by delegating toDefaultPaletteBehavior.getPaletteRoot().protected org.eclipse.ui.IWorkbenchPartReturns the parentIWorkbenchPartthis behavior is embedded into.protected DefaultPersistencyBehaviorReturns the instance of the persistency behavior that is used with this behavior.protected PictogramElement[]Returns thePictogramElements that are set for later selection.Returns the instance of the refresh behavior that is used with this behavior.org.eclipse.jface.resource.ResourceManagerorg.eclipse.emf.ecore.resource.ResourceSetThe EMFResourceSetused within thisDiagramBehavior.Returns thePictogramElements that are currently selected in the diagram.Returns the instance of the update behavior that is used with this behavior.doubleReturns the zoom level currently used in the diagram.protected voidinitActionRegistry(org.eclipse.gef.editparts.ZoomManager zoomManager) Initializes the action registry with the predefined actions (update, remove, delete, copy, paste, zooming, direct editing, alignment and toggling actions for the diagram grip and hiding of the context button pad.protected voidinitConfigurationProvider(IDiagramTypeProvider diagramTypeProvider) Initializes the givenIConfigurationProviderfor thisDiagramBehaviorinstance and sets it.protected voidHook to initialize the default sub behavior instances used by this editor behavior.protected IDiagramTypeProviderinitDiagramTypeProvider(Diagram diagram) Creates and initializes a newIDiagramTypeProviderfor the givenDiagramand diagram type provider ID.protected voidCalled to initialize the behavior viewer with its content.booleanisAlive()Checks if this behavior is alive.booleanReturns if direct editing is currently active for this behavior.protected booleanisDirty()Returns the dirty state of this behavior objectprotected voidWe provide migration from 0.8.0 to 0.9.0.voidrefresh()Triggers a complete refresh of the behavior visualization (content, title, tooltip, palette and decorators) by delegating toDefaultRefreshBehavior.refresh().voidRefreshes the content of the editor (what's shown inside the diagram itself).voidRefreshes the palette to correctly reflect all available creation tools for the available create features and the currently enabled selection tools.voidRefreshes the rendering decorators (image decorators and the like) by delegating toDefaultRefreshBehavior.refreshRenderingDecorators(PictogramElement)for the givenPictogramElement.protected voidregisterAction(org.eclipse.jface.action.IAction action) Registers the given action with the EclipseActionRegistry.protected voidHook that is called to register listeners for changes of the business objects (domain objects) in the resource set of the editor.protected voidHook to register listeners for diagram changes.voidTriggers the selection for thePictogramElements that are stored for later selection.protected voidselectPictogramElements(PictogramElement[] pictogramElements) Selects the givenPictogramElements in the diagram.protected voidsetDiagramContainer(IDiagramContainerUI diagramContainer) Setter for the associatedcontainerdisplaying the diagram of this behavior.protected voidsetDiagramEditorInput(IDiagramEditorInput diagramEditorInput) Setter for the field storing the editor input.voidsetDirectEditingActive(boolean directEditingActive) Sets that direct editing is now active in the behavior or not.protected voidsetEditorInitializationError(String editorInitializationError) Sets the error text for an error that occured during the initialization of thisDiagramEditor.protected voidsetInput(IDiagramEditorInput input) Sets the givenIDiagramEditorInputobject as the input for this behavior instance.protected voidsetParentPart(org.eclipse.ui.IWorkbenchPart parentPart) Sets the parentIWorkbenchPartfor this behavior.voidsetPictogramElementForSelection(PictogramElement pictogramElement) Sets onePictogramElementfor later selection.protected voidsetPictogramElementsForSelection(PictogramElement[] pictogramElements) SetsPictogramElements for later selection.protected booleanAllows subclasses to prevent that the diagram context menu should be registered for extensions at Eclipse.protected voidHook that is called to unregister the listeners for changes of the business objects (domain objects).protected voidHook to unregister the listeners for diagram changes.
-
Constructor Details
-
DiagramBehavior
-
-
Method Details
-
setDiagramContainer
Setter for the associatedcontainerdisplaying the diagram of this behavior. Note that once the container has been set it must not be changed any more.- Parameters:
diagramContainer- the diagramContainer to set- Since:
- 0.12
-
getDiagramContainer
Returns the associated container displaying the diagram of this behavior object.- Specified by:
getDiagramContainerin interfaceIDiagramBehavior- Returns:
- The associated
IDiagramContainerUIinstance.
-
createMarkerBehavior
Creates the behavior extension that deals with markers. SeeDefaultMarkerBehaviorfor details and the default implementation. Override to change the marker behavior.- Returns:
- a new instance of
DefaultMarkerBehavior
-
getMarkerBehavior
Returns the instance of the marker behavior that is used with this behavior. To change the behavior overridecreateMarkerBehavior().- Returns:
- the used instance of the marker behavior, by default a
DefaultMarkerBehavior.
-
createUpdateBehavior
Creates the behavior extension that deals with the update handling. SeeDefaultUpdateBehaviorfor details and the default implementation. Override to change the update behavior.- Returns:
- a new instance of
DefaultUpdateBehavior
-
getUpdateBehavior
Returns the instance of the update behavior that is used with this behavior. To change the behavior overridecreateUpdateBehavior().- Returns:
- the used instance of the marker behavior, by default a
DefaultUpdateBehavior.
-
createPaletteBehaviour
Creates the behavior extension that deals with the palette handling. SeeDefaultPaletteBehaviorfor details and the default implementation. Override to change the palette behavior.- Returns:
- a new instance of
DefaultPaletteBehavior
-
getPaletteBehavior
Returns the instance of the palette behavior that is used with this behavior. To change the behavior overridecreatePaletteBehaviour().- Returns:
- the used instance of the palette behavior, by default a
DefaultPaletteBehavior.
-
createPersistencyBehavior
Creates the behavior extension that deals with the persistence handling. SeeDefaultPersistencyBehaviorfor details and the default implementation. Override to change the persistence behavior.- Returns:
- a new instance of
DefaultPersistencyBehavior
-
getPersistencyBehavior
Returns the instance of the persistency behavior that is used with this behavior. To change the behavior overridecreatePersistencyBehavior().- Returns:
- the used instance of the persistency behavior, by default a
DefaultPersistencyBehavior.
-
createRefreshBehavior
Creates the behavior extension that deals with the refresh handling. SeeDefaultRefreshBehaviorfor details and the default implementation. Override to change the refresh behavior.- Returns:
- a new instance of
DefaultRefreshBehavior
-
getRefreshBehavior
Returns the instance of the refresh behavior that is used with this behavior. To change the behavior overridecreateRefreshBehavior().- Returns:
- the used instance of the refresh behavior, by default a
DefaultRefreshBehavior.
-
initDefaultBehaviors
protected void initDefaultBehaviors()Hook to initialize the default sub behavior instances used by this editor behavior. The default implementation simply delegates to the create methods for the various objects. In case other default behavior implementation should be used, clients should override these create methods instead of this method. -
setInput
Sets the givenIDiagramEditorInputobject as the input for this behavior instance. The default implementation here cares about loading the diagram from the EMFResourcethe input points to, sets the ID of theIDiagramTypeProviderfor the diagram given in the input, registers listeners (by delegating toregisterDiagramResourceSetListener()andregisterBusinessObjectsListener()) and does the refreshing of the UI.- Parameters:
input- theDiagramEditorInputinstance to use within this behavior.
-
initDiagramTypeProvider
Creates and initializes a newIDiagramTypeProviderfor the givenDiagramand diagram type provider ID.- Parameters:
diagram- The diagramproviderId- The diagram type provider ID- Since:
- 0.12
-
getDiagramTypeProviderId
Gets the diagram type provider ID for the diagram. The default implementation checks if the input defines one and will use that that, otherwise it will retrieve the ID of the first diagram type provider that is registered for the type of the passed diagram. In case no ID is found this method will set the editor initialization error and throw anAssertionFailedException.- Parameters:
diagram- The diagram to find the ID for.- Since:
- 0.12
-
addGefListeners
protected void addGefListeners()Adds the needed GEF listeners after the edit domain is initialized -
createGraphicalViewer
protected void createGraphicalViewer(org.eclipse.swt.widgets.Composite parent) Creates the GraphicalViewer on the specifiedCompositeand initializes it.- Parameters:
parent- the parent composite
-
configureGraphicalViewer
protected void configureGraphicalViewer()Called to configure the behavior viewer, before it receives its content. The default-implementation is for example doing the following: configure the ZoomManager, registering Actions... Here everything is done, which is independent of theIConfigurationProvider.- See Also:
-
GraphicalEditor.configureGraphicalViewer()
-
initializeGraphicalViewer
protected void initializeGraphicalViewer()Called to initialize the behavior viewer with its content. Here everything is done, which is dependent of theIConfigurationProvider.- See Also:
-
GraphicalEditorWithFlyoutPalette.initializeGraphicalViewer()
-
createPaletteDropTargetListener
protected org.eclipse.jface.util.TransferDropTargetListener createPaletteDropTargetListener()Creates the drop target listener that is used for adding new objects from the palette via drag and drop. Clients may change the default behavior by providing their own drop target listener or disable drag and drop from the palette by returning null.- Returns:
- An instance of the
TransferDropTargetListenerthat handles dropping new objects from the palette ornullto disable dropping from the palette. - Since:
- 0.10
-
createBusinessObjectDropTargetListeners
protected List<org.eclipse.jface.util.TransferDropTargetListener> createBusinessObjectDropTargetListeners()Creates a list of drop target listeners that enable dropping domain objects into the diagram, e.g. from the project explorer. By adding additional listeners other sources may be enabled, simply returning an empty list will disable drag and drop into the editor.- Returns:
- a
Listcontaining all theTransferDropTargetListenerthat shall be registered in the editor. - Since:
- 0.10
-
getEditorInitializationError
Returns the error text of the error that occurred while initializing this behavior and its components. In case this method reports the error text and error UI may be shown instead of the normal diagram viewer.- Returns:
- The error text in case an error has occurred,
nullotherwise
-
setEditorInitializationError
Sets the error text for an error that occured during the initialization of thisDiagramEditor. Setting anon-nullvalue indicates an error has occurred, settingnullindicates everything went fine.- Parameters:
editorInitializationError- The error message- Since:
- 0.12
-
createErrorPartControl
protected void createErrorPartControl(org.eclipse.swt.widgets.Composite parent) Creates the default error page in case an error occurred while initializing this behavior.- Parameters:
parent- The parentCompositeto add the UI to
-
isDirty
protected boolean isDirty()Returns the dirty state of this behavior object- Returns:
truein case the stored saved command is different from the next undo command.
-
createPaletteViewerProvider
protected final org.eclipse.gef.ui.palette.PaletteViewerProvider createPaletteViewerProvider()Delegates to the method (or the method in a subclass of)#createPaletteViewerProvider()to create thePaletteViewerProviderused inside the GEF editor.- Returns:
- the
PaletteViewerProviderto use
-
getPalettePreferences
protected final org.eclipse.gef.ui.palette.FlyoutPaletteComposite.FlyoutPreferences getPalettePreferences()Delegates to the method (or the method in a subclass of)DefaultPaletteBehavior.getPalettePreferences(). To change the palette override the behavior there.- Returns:
- the
PaletteViewerProviderpreferences to use.
-
getPaletteRoot
protected final org.eclipse.gef.palette.PaletteRoot getPaletteRoot()Returns thePaletteRootto use in the GEF editor by delegating toDefaultPaletteBehavior.getPaletteRoot().- Returns:
- the
PaletteRootto use
-
refresh
public void refresh()Triggers a complete refresh of the behavior visualization (content, title, tooltip, palette and decorators) by delegating toDefaultRefreshBehavior.refresh().- Specified by:
refreshin interfaceIDiagramBehavior
-
refreshRenderingDecorators
Refreshes the rendering decorators (image decorators and the like) by delegating toDefaultRefreshBehavior.refreshRenderingDecorators(PictogramElement)for the givenPictogramElement.- Specified by:
refreshRenderingDecoratorsin interfaceIDiagramBehavior- Parameters:
pe- thePictogramElementfor which the decorators shall be refreshed.
-
refreshPalette
public void refreshPalette()Refreshes the palette to correctly reflect all available creation tools for the available create features and the currently enabled selection tools.- Specified by:
refreshPalettein interfaceIDiagramBehavior
-
refreshContent
public void refreshContent()Refreshes the content of the editor (what's shown inside the diagram itself).- Specified by:
refreshContentin interfaceIDiagramBehavior
-
selectPictogramElements
Selects the givenPictogramElements in the diagram.- Parameters:
pictogramElements- an array ofPictogramElements to select.
-
getSelectedPictogramElements
Returns thePictogramElements that are currently selected in the diagram.- Returns:
- an array of
PictogramElements.
-
setPictogramElementForSelection
Sets onePictogramElementfor later selection.The methods
getPictogramElementsForSelection(),setPictogramElementForSelection(PictogramElement),setPictogramElementsForSelection(PictogramElement[])andselectBufferedPictogramElements()offer the possibility to use a deferred selection mechanism: via the setters,PictogramElements can be stored for a selection operation that is triggered lateron during a general refresh via the methodselectBufferedPictogramElements(). This mechanism is used e.g. in the Graphiti framework in direct editing to restore the previous selection, but can also be used by clients.- Parameters:
pictogramElement- thePictogramElementthat shall be stored for later selection
-
setPictogramElementsForSelection
SetsPictogramElements for later selection.The methods
getPictogramElementsForSelection(),setPictogramElementForSelection(PictogramElement),setPictogramElementsForSelection(PictogramElement[])andselectBufferedPictogramElements()offer the possibility to use a deferred selection mechanism: via the setters,PictogramElements can be stored for a selection operation that is triggered later on during a general refresh via the methodselectBufferedPictogramElements(). This mechanism is used e.g. in the Graphiti framework in direct editing to restore the previous selection, but can also be used by clients.- Parameters:
pictogramElements- thePictogramElements that shall be stored for later selection
-
selectBufferedPictogramElements
public void selectBufferedPictogramElements()Triggers the selection for thePictogramElements that are stored for later selection. Can be called e.g during a general refresh of the editor or after another operation needing another selection is finished (an example in the framework is direct editing).The methods
getPictogramElementsForSelection(),setPictogramElementForSelection(PictogramElement),setPictogramElementsForSelection(PictogramElement[])andselectBufferedPictogramElements()offer the possibility to use a deferred selection mechanism: via the setters,PictogramElements can be stored for a selection operation that is triggered later on during a general refresh via the methodselectBufferedPictogramElements(). This mechanism is used e.g. in the Graphiti framework in direct editing to restore the previous selection, but can also be used by clients. -
getPictogramElementsForSelection
Returns thePictogramElements that are set for later selection.The methods
getPictogramElementsForSelection(),setPictogramElementForSelection(PictogramElement),setPictogramElementsForSelection(PictogramElement[])andselectBufferedPictogramElements()offer the possibility to use a deferred selection mechanism: via the setters,PictogramElements can be stored for a selection operation that is triggered lateron during a general refresh via the methodselectBufferedPictogramElements(). This mechanism is used e.g. in the Graphiti framework in direct editing to restore the previous selection, but can also be used by clients.- Returns:
- the
PictogramElements stored for later selection
-
getEditingDomain
public org.eclipse.emf.transaction.TransactionalEditingDomain getEditingDomain()Returns the EMFTransactionalEditingDomainused within this behavior object by delegating to the update behavior extension, by defaultDefaultUpdateBehavior.getEditingDomain().- Specified by:
getEditingDomainin interfaceIDiagramBehavior- Returns:
- the
TransactionalEditingDomaininstance used in the behavior
-
getResourceSet
public org.eclipse.emf.ecore.resource.ResourceSet getResourceSet()The EMFResourceSetused within thisDiagramBehavior. The resource set is always associated in a 1:1 relation to theTransactionalEditingDomain.- Returns:
- the resource set used within this behavior object
-
getDiagramTypeProvider
Returns theIDiagramTypeProviderinstance associated with thisDiagramBehavior. There is always a 1:1 relation between the behavior and the provider.- Returns:
- the associated
IDiagramTypeProviderinstance.
-
executeFeature
Executes the givenIFeaturewith the givenIContextin the scope of thisDiagramBehavior, meaning within itsTransactionalEditingDomainand on itsCommandStack.- Specified by:
executeFeaturein interfaceIDiagramBehavior- Parameters:
feature- the feature to executecontext- the context to use. In case the passed feature is aIAddFeaturethis context needs to be an instance ofIAddContext, otherwise anAssertionFailedExceptionwill be thrown.- Returns:
- in case of an
IAddFeaturebeing passed as feature the newly addedPictogramElementwill be returned (in case the add method returning it), in all other casesnull - Since:
- 0.9
-
disableAdapters
public void disableAdapters()Should be called (e.g. by the various behavior instances) before mass EMF resource operations are triggered (e.g. saving all resources). Can be used to disable eventing for performance reasons. SeeenableAdapters()as well.
Important note: make sure that you re-enable eventing usingenableAdapters()after the operation has finished (best in a finally clause to do that also in case of exceptions), otherwise strange errors may happen.- Since:
- 0.12
-
enableAdapters
public void enableAdapters()Should be called by the various behavior instances after mass EMF resource operations have been triggered (e.g. saving all resources). Can be used to re-enable eventing after it was disabled for performance reasons. SeedisableAdapters()as well.
Must be called afterdisableAdapters()has been called and the operation has finshed (best in a finally clause to also enable the exception case), otherwise strange errors may occur within the editor.- Since:
- 0.12
-
isAlive
public boolean isAlive()Checks if this behavior is alive.- Returns:
true, if editor contains a model connector and a valid Diagram,falseotherwise.
-
editingDomainInitialized
protected void editingDomainInitialized()Hook that is called by the holder of theTransactionalEditingDomain(DefaultUpdateBehavioror a subclass of it) after the editing domain has been initialized. Can be used to e.g. register additional listeners on the domain.
The default implementation notifies the marker behavior extension to register its listeners. -
getAdapter
Implements the EclipseIAdaptableinterface. This implementation first delegates to theIToolBehaviorProvider.getAdapter(Class)method and checks if something is returned. In case the return value isnullit returns adapters for ZoomManager, IPropertySheetPage, Diagram, KeyHandler, SelectionSynchronizer and IContextButtonManager. It also delegates to the super implementation inGraphicalEditorWithFlyoutPalette.getAdapter(Class).- Parameters:
type- the type to which shall be adapted- Returns:
- the adapter instance
-
getConfigurationProvider
Returns theConfigurationProviderfor this behavior. It is mainly a wrapper around various objects that are connected to the diagram behavior.- Returns:
- an
IConfigurationProviderinstance. - Since:
- 0.12
-
getContentEditPart
public org.eclipse.gef.EditPart getContentEditPart()Returns the contentsEditPartof this behavior. This is the topmost EditPart in theGraphicalViewer.- Returns:
- The contents
EditPartof this behavior.
-
getEditPartForPictogramElement
Method to retrieve the GEFEditPartfor a givenPictogramElement.- Specified by:
getEditPartForPictogramElementin interfaceIDiagramBehaviorUI- Parameters:
pe- thePictogramElementto retrieve the GEF representation for- Returns:
- the GEF
GraphicalEditPartthat represents the givenPictogramElement.
-
getMouseLocation
public org.eclipse.draw2d.geometry.Point getMouseLocation()Gets the current mouse location as aPoint.- Returns:
- the mouse location
-
calculateRealMouseLocation
public org.eclipse.draw2d.geometry.Point calculateRealMouseLocation(org.eclipse.draw2d.geometry.Point nativeLocation) Calculates the mouse location depending on scrollbars and zoom factor.- Specified by:
calculateRealMouseLocationin interfaceIDiagramBehaviorUI- Parameters:
nativeLocation- the native location given asPoint- Returns:
- the
Pointof the real mouse location
-
isDirectEditingActive
public boolean isDirectEditingActive()Returns if direct editing is currently active for this behavior.- Returns:
truein case direct editing is currently active within this editor,falseotherwise.
-
setDirectEditingActive
public void setDirectEditingActive(boolean directEditingActive) Sets that direct editing is now active in the behavior or not. Note that this flag set totruedoes not actually start direct editing it is simply an indication that prevents certain operations from running (e.g. refresh)- Parameters:
directEditingActive-trueto set the flag to direct editing currently active,falseotherwise.
-
getZoomLevel
public double getZoomLevel()Returns the zoom level currently used in the diagram.- Returns:
- the zoom level
-
getFigureForPictogramElement
Method to retrieve the Draw2DIFigurefor a givenPictogramElement.- Specified by:
getFigureForPictogramElementin interfaceIDiagramBehaviorUI- Parameters:
pe- thePictogramElementto retrieve the Draw2D representation for- Returns:
- the Draw2D
IFigurethat represents the givenPictogramElement.
-
initConfigurationProvider
Initializes the givenIConfigurationProviderfor thisDiagramBehaviorinstance and sets it.- Parameters:
configurationProvider- The configuration provider- Since:
- 0.12
-
createConfigurationProvider
protected IConfigurationProvider createConfigurationProvider(IDiagramTypeProvider diagramTypeProvider) Creates a newConfigurationProviderfor thisDiagramBehaviorand the givenIDiagramTypeProvider. The default implementation will create a defaultConfigurationProviderwhich should suite for all Graphiti clients.- Since:
- 0.12
-
createContextMenuProvider
protected org.eclipse.gef.ContextMenuProvider createContextMenuProvider()Returns a newContextMenuProvider. Clients can return null, if no context-menu shall be displayed.- Returns:
- A new instance of
ContextMenuProvider.
-
shouldRegisterContextMenu
protected boolean shouldRegisterContextMenu()Allows subclasses to prevent that the diagram context menu should be registered for extensions at Eclipse. By default others can provide extensions to the menu (default return value of this method istrue). By returningfalseany extension of the context menu can be prevented.For details see Bugzilla 345347 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=345347).
- Returns:
truein case extensions shall be allowed (default),falseotherwise.- Since:
- 0.9
-
registerAction
protected void registerAction(org.eclipse.jface.action.IAction action) Registers the given action with the EclipseActionRegistry.- Parameters:
action- the action to register- Since:
- 0.9
-
initActionRegistry
protected void initActionRegistry(org.eclipse.gef.editparts.ZoomManager zoomManager) Initializes the action registry with the predefined actions (update, remove, delete, copy, paste, zooming, direct editing, alignment and toggling actions for the diagram grip and hiding of the context button pad.- Parameters:
zoomManager- the GEF zoom manager to use
-
getCommonKeyHandler
protected org.eclipse.gef.KeyHandler getCommonKeyHandler()Returns the KeyHandler with common bindings to be used for both the Outline and the Graphical Viewer.- Returns:
- The KeyHandler with common bindings for both the Outline and the Graphical Viewer.
- Since:
- 0.9
-
unregisterDiagramResourceSetListener
protected void unregisterDiagramResourceSetListener()Hook to unregister the listeners for diagram changes.- See Also:
-
unregisterBusinessObjectsListener
protected void unregisterBusinessObjectsListener()Hook that is called to unregister the listeners for changes of the business objects (domain objects).- See Also:
-
registerDiagramResourceSetListener
protected void registerDiagramResourceSetListener()Hook to register listeners for diagram changes. The listener will be notified with all events and has to filter for the ones regarding the diagram.
Note that additional listeners registered here should also be unregistered inunregisterDiagramResourceSetListener(). -
registerBusinessObjectsListener
protected void registerBusinessObjectsListener()Hook that is called to register listeners for changes of the business objects (domain objects) in the resource set of the editor. The default implementation registers theDomainModelChangeListener.
Note that additional listeners registered here should also be unregistered inunregisterBusinessObjectsListener(). -
getInput
Returns theDiagramEditorInputinstance used in this behavior.- Returns:
- An
IDiagramEditorInputinstance.
-
setDiagramEditorInput
Setter for the field storing the editor input.- Parameters:
diagramEditorInput- The new input- Since:
- 0.12
-
disposeBeforeGefDispose
protected void disposeBeforeGefDispose()The part of the dispose that should happen before the GEF dispose. Disposes thisDiagramBehaviorinstance and frees all used resources and clears all references. Also delegates to all the behavior extensions to also free their resources (e.g. and most important is theTransactionalEditingDomainheld by theDefaultPersistencyBehavior. Always delegate tosuper.dispose()in case you override this method! -
disposeAfterGefDispose
protected void disposeAfterGefDispose()The part of the dispose that should happen after the GEF dispose. Empties the command stack of the edit domain. Always delegate tosuper.dispose()in case you override this method! -
migrateDiagramModelIfNecessary
protected void migrateDiagramModelIfNecessary()We provide migration from 0.8.0 to 0.9.0. You can override if you want to migrate manually. WARNING: If your diagram is under version control, this method can cause a check out dialog to be opened etc.- Since:
- 0.9
-
getEditDomain
public org.eclipse.gef.DefaultEditDomain getEditDomain()Delegation method to retrieve the GEF edit domain also here. Simply delegates to the container.- Specified by:
getEditDomainin interfaceIDiagramBehaviorUI- Returns:
- The GEF edit domain used used in the container
- See Also:
-
GraphicalEditor.getEditDomain()
-
setParentPart
protected void setParentPart(org.eclipse.ui.IWorkbenchPart parentPart) Sets the parentIWorkbenchPartfor this behavior. Can be used to embed this behavior in various UIs.- Parameters:
parentPart-
-
getParentPart
protected org.eclipse.ui.IWorkbenchPart getParentPart()Returns the parentIWorkbenchPartthis behavior is embedded into. May benullin case the behavior is embedded in a non part UI, like a popup.- Returns:
- The parent
IWorkbenchPartornullin case it does not exist
-
createResourceManager
protected org.eclipse.jface.resource.ResourceManager createResourceManager()Creates a new instance of aResourceManagerimplementation.By default this creates a
LocalResourceManagerinstance. Subclasses may override this method to enforce the usage of another implementation.- Returns:
- A new instance of a
ResourceManager. - Since:
- 0.14
-
getResourceManager
public org.eclipse.jface.resource.ResourceManager getResourceManager()- Returns:
- the JFace
ResourceManagerto be used to create images, fonts etc for an open diagram. - Since:
- 0.14
-