Package org.eclipse.graphiti.pattern
Class CreateConnectionFeatureForPattern
java.lang.Object
org.eclipse.graphiti.features.impl.AbstractFeature
org.eclipse.graphiti.features.impl.AbstractCreateConnectionFeature
org.eclipse.graphiti.pattern.CreateConnectionFeatureForPattern
- All Implemented Interfaces:
ICreateConnectionFeature
,ICustomAbortableUndoRedoFeature
,ICustomUndoRedoFeature
,IFeature
,IFeatureProviderHolder
,ICreateConnection
,ICreateInfo
,IDescription
,IName
public class CreateConnectionFeatureForPattern
extends AbstractCreateConnectionFeature
implements ICustomAbortableUndoRedoFeature
This feature wraps the create functionality of a pattern for calls of the
Graphiti framework. Clients should not need to use this class directly.
-
Constructor Summary
ConstructorDescriptionCreateConnectionFeatureForPattern
(IFeatureProvider featureProvider, IConnectionPattern pattern) Creates a newCreateConnectionFeatureForPattern
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
attachedToSource
(ICreateConnectionContext context) Will called after a connection was successfully attached to an anchor of a source object.
Note: In contrast to the standard feature methods likeICreateConnection.canCreate(ICreateConnectionContext)
andICreateConnection.create(ICreateConnectionContext)
this method will not be called in the scope of an EMF transaction.void
Will called if the connection creation process was canceled after the successful attachment of the connection to an anchor of a source object.boolean
canCreate
(ICreateConnectionContext context) Can create.boolean
Decides if the processed feature can be re-done.boolean
Can start connection.boolean
Decides if the current feature can be undone - this is the undo of the execute operation.create
(ICreateConnectionContext context) Creates the connection.void
Will called after a connection creation tool from the palette was deselected.
Note: In contrast to the standard feature methods likeICreateConnection.canCreate(ICreateConnectionContext)
andICreateConnection.create(ICreateConnectionContext)
this method will not be called in the scope of an EMF transaction.Gets the create image id.Gets the create large image id.Gets the pattern.boolean
isAbort()
The Graphiti framework will call this method afterICustomUndoRedoFeature.preUndo(org.eclipse.graphiti.features.context.IContext)
/ICustomUndoRedoFeature.preRedo(org.eclipse.graphiti.features.context.IContext)
have been called and before the actual undo/redo operation is triggered.void
This method will be called by the Graphiti framework after the EMF undo has finished.void
This method will be called by the Graphiti framework after the EMF undo is finished.void
This method will be called by the Graphiti framework before the EMF undo has triggered.void
This method will be called by the Graphiti framework before the EMF undo is triggered.void
Will called after a connection creation tool from the palette was selected.
Note: In contrast to the standard feature methods likeICreateConnection.canCreate(ICreateConnectionContext)
andICreateConnection.create(ICreateConnectionContext)
this method will not be called in the scope of an EMF transaction.Methods inherited from class org.eclipse.graphiti.features.impl.AbstractCreateConnectionFeature
canExecute, execute, getCreateDescription, getCreateName, getName
Methods inherited from class org.eclipse.graphiti.features.impl.AbstractFeature
addGraphicalRepresentation, getAllBusinessObjectsForPictogramElement, getBusinessObjectForPictogramElement, getDescription, getDiagram, getDiagramBehavior, getFeatureProvider, getProgressCallback, getUserDecision, hasDoneChanges, isAvailable, layoutPictogramElement, link, link, manageColor, manageColor, manageDefaultFont, manageFont, manageFont, setProgressCallback, toString, updatePictogramElement
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.graphiti.IDescription
getDescription
Methods inherited from interface org.eclipse.graphiti.features.IFeature
hasDoneChanges, isAvailable
Methods inherited from interface org.eclipse.graphiti.features.IFeatureProviderHolder
getFeatureProvider
-
Constructor Details
-
CreateConnectionFeatureForPattern
public CreateConnectionFeatureForPattern(IFeatureProvider featureProvider, IConnectionPattern pattern) Creates a newCreateConnectionFeatureForPattern
.- Parameters:
featureProvider
- the feature providerpattern
- the connection pattern
-
-
Method Details
-
canCreate
Description copied from interface:ICreateConnection
Can create.- Specified by:
canCreate
in interfaceICreateConnection
- Parameters:
context
- the context- Returns:
- true, if successful
-
canStartConnection
Description copied from interface:ICreateConnection
Can start connection.- Specified by:
canStartConnection
in interfaceICreateConnection
- Parameters:
context
- the context- Returns:
- true, if successful
-
create
Description copied from interface:ICreateConnection
Creates the connection.- Specified by:
create
in interfaceICreateConnection
- Parameters:
context
- the context- Returns:
- The connection that has been created or
null
in case no valid connection can be returned. Currently this return value is not evaluated by the Graphiti framework but it might be used in future versions but only for performance optimizations.
-
getCreateImageId
Description copied from interface:ICreateInfo
Gets the create image id.- Specified by:
getCreateImageId
in interfaceICreateInfo
- Overrides:
getCreateImageId
in classAbstractCreateConnectionFeature
- Returns:
- image for UI representation
-
getCreateLargeImageId
Description copied from interface:ICreateInfo
Gets the create large image id.- Specified by:
getCreateLargeImageId
in interfaceICreateInfo
- Overrides:
getCreateLargeImageId
in classAbstractCreateConnectionFeature
- Returns:
- large image for UI representation
-
isAbort
public boolean isAbort()Description copied from interface:ICustomAbortableUndoRedoFeature
The Graphiti framework will call this method afterICustomUndoRedoFeature.preUndo(org.eclipse.graphiti.features.context.IContext)
/ICustomUndoRedoFeature.preRedo(org.eclipse.graphiti.features.context.IContext)
have been called and before the actual undo/redo operation is triggered. In case this method returnstrue
, the operation will be cancelled by the Graphiti framework by throwing anOperationCanceledException
that causes am EMF revert of the operation.Implementing classes might e.g. set a flag in
ICustomUndoRedoFeature.preUndo(org.eclipse.graphiti.features.context.IContext)
/ICustomUndoRedoFeature.preRedo(org.eclipse.graphiti.features.context.IContext)
as cancellation indication and check that that flag here.- Specified by:
isAbort
in interfaceICustomAbortableUndoRedoFeature
- Returns:
true
in case you want to cancel the current operation,false
otherwise.- Since:
- 0.12
-
canUndo
Description copied from interface:IFeature
Decides if the current feature can be undone - this is the undo of the execute operation.- Specified by:
canUndo
in interfaceICustomUndoRedoFeature
- Specified by:
canUndo
in interfaceIFeature
- Overrides:
canUndo
in classAbstractFeature
- Parameters:
context
- this is the general input for this method- Returns:
- true if the feature can be undone, false if not
- See Also:
-
preUndo
Description copied from interface:ICustomUndoRedoFeature
This method will be called by the Graphiti framework before the EMF undo is triggered. Customers may revert their non-EMF changes done by the feature here or inICustomUndoRedoFeature.postUndo(IContext)
.- Specified by:
preUndo
in interfaceICustomUndoRedoFeature
- Parameters:
context
- this is the instance of theIContext
object that was in use when executing the feature- Since:
- 0.12
-
postUndo
Description copied from interface:ICustomUndoRedoFeature
This method will be called by the Graphiti framework after the EMF undo is finished. Customers may revert their non-EMF changes done by the feature here or inICustomUndoRedoFeature.preUndo(IContext)
.- Specified by:
postUndo
in interfaceICustomUndoRedoFeature
- Parameters:
context
- this is the instance of theIContext
object that was in use when executing the feature- Since:
- 0.12
-
canRedo
Description copied from interface:ICustomUndoRedoFeature
Decides if the processed feature can be re-done. This method is called once by the Graphiti framework just before any redo work is started, e.g. beforeICustomUndoRedoFeature.preRedo(IContext)
.Note that as soon as any feature reports
false
here, also all consecutive entries in the command stack are no longer reachable for redo.- Specified by:
canRedo
in interfaceICustomUndoRedoFeature
- Parameters:
context
- this is the instance of theIContext
object that was in use when executing the feature- Returns:
- true if the feature can be re-done, false if not
- Since:
- 0.8
-
preRedo
Description copied from interface:ICustomUndoRedoFeature
This method will be called by the Graphiti framework before the EMF undo has triggered. Customers may re-apply their non-EMF changes done by the feature here or inICustomUndoRedoFeature.postRedo(IContext)
. (Usually it might be sufficient to delegate to the execution method of the feature.)- Specified by:
preRedo
in interfaceICustomUndoRedoFeature
- Parameters:
context
- this is the instance of theIContext
object that was in use when executing the feature- Since:
- 0.12
-
postRedo
Description copied from interface:ICustomUndoRedoFeature
This method will be called by the Graphiti framework after the EMF undo has finished. Customers may re-apply their non-EMF changes done by the feature here or inICustomUndoRedoFeature.preRedo(IContext)
. (Usually it might be sufficient to delegate to the execution method of the feature.)- Specified by:
postRedo
in interfaceICustomUndoRedoFeature
- Parameters:
context
- this is the instance of theIContext
object that was in use when executing the feature- Since:
- 0.12
-
startConnecting
public void startConnecting()Description copied from interface:ICreateConnection
Will called after a connection creation tool from the palette was selected.
Note: In contrast to the standard feature methods likeICreateConnection.canCreate(ICreateConnectionContext)
andICreateConnection.create(ICreateConnectionContext)
this method will not be called in the scope of an EMF transaction. In case you want to modify the model (EMF domain objects or Graphiti pictogram objects) you need to do that within a command executed on the editor's command stack to make sure that the modification happens inside an EMF write transaction. Keep in mind that any changes you do within such a command will be create a seperate entry in the undo/redo stack for the editor, which might not be the desired effect.- Specified by:
startConnecting
in interfaceICreateConnection
- Overrides:
startConnecting
in classAbstractCreateConnectionFeature
-
endConnecting
public void endConnecting()Description copied from interface:ICreateConnection
Will called after a connection creation tool from the palette was deselected.
Note: In contrast to the standard feature methods likeICreateConnection.canCreate(ICreateConnectionContext)
andICreateConnection.create(ICreateConnectionContext)
this method will not be called in the scope of an EMF transaction. In case you want to modify the model (EMF domain objects or Graphiti pictogram objects) you need to do that within a command executed on the editor's command stack to make sure that the modification happens inside an EMF write transaction. Keep in mind that any changes you do within such a command will be create a seperate entry in the undo/redo stack for the editor, which might not be the desired effect.- Specified by:
endConnecting
in interfaceICreateConnection
- Overrides:
endConnecting
in classAbstractCreateConnectionFeature
-
attachedToSource
Description copied from interface:ICreateConnection
Will called after a connection was successfully attached to an anchor of a source object.
Note: In contrast to the standard feature methods likeICreateConnection.canCreate(ICreateConnectionContext)
andICreateConnection.create(ICreateConnectionContext)
this method will not be called in the scope of an EMF transaction. In case you want to modify the model (EMF domain objects or Graphiti pictogram objects) you need to do that within a command executed on the editor's command stack to make sure that the modification happens inside an EMF write transaction. Keep in mind that any changes you do within such a command will be create a seperate entry in the undo/redo stack for the editor, which might not be the desired effect.- Specified by:
attachedToSource
in interfaceICreateConnection
- Overrides:
attachedToSource
in classAbstractCreateConnectionFeature
- Parameters:
context
- the context
-
canceledAttaching
Description copied from interface:ICreateConnection
Will called if the connection creation process was canceled after the successful attachment of the connection to an anchor of a source object. E.g. user pressed ESC, user clicked on an invalid target, focus was lost, ...
Note: In contrast to the standard feature methods likeICreateConnection.canCreate(ICreateConnectionContext)
andICreateConnection.create(ICreateConnectionContext)
this method will not be called in the scope of an EMF transaction. In case you want to modify the model (EMF domain objects or Graphiti pictogram objects) you need to do that within a command executed on the editor's command stack to make sure that the modification happens inside an EMF write transaction. Keep in mind that any changes you do within such a command will be create a seperate entry in the undo/redo stack for the editor, which might not be the desired effect.- Specified by:
canceledAttaching
in interfaceICreateConnection
- Overrides:
canceledAttaching
in classAbstractCreateConnectionFeature
- Parameters:
context
- the context
-
getPattern
Gets the pattern.- Returns:
- the pattern
- Since:
- 0.10
-