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
ConstructorsConstructorDescriptionCreateConnectionFeatureForPattern(IFeatureProvider featureProvider, IConnectionPattern pattern) Creates a newCreateConnectionFeatureForPattern. -
Method Summary
Modifier and TypeMethodDescriptionvoidattachedToSource(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.voidWill called if the connection creation process was canceled after the successful attachment of the connection to an anchor of a source object.booleancanCreate(ICreateConnectionContext context) Can create.booleanDecides if the processed feature can be re-done.booleanCan start connection.booleanDecides if the current feature can be undone - this is the undo of the execute operation.create(ICreateConnectionContext context) Creates the connection.voidWill 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.booleanisAbort()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.voidThis method will be called by the Graphiti framework after the EMF undo has finished.voidThis method will be called by the Graphiti framework after the EMF undo is finished.voidThis method will be called by the Graphiti framework before the EMF undo has triggered.voidThis method will be called by the Graphiti framework before the EMF undo is triggered.voidWill 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, getNameMethods 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, updatePictogramElementMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.graphiti.IDescription
getDescriptionMethods inherited from interface org.eclipse.graphiti.features.IFeature
hasDoneChanges, isAvailableMethods 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:ICreateConnectionCan create.- Specified by:
canCreatein interfaceICreateConnection- Parameters:
context- the context- Returns:
- true, if successful
-
canStartConnection
Description copied from interface:ICreateConnectionCan start connection.- Specified by:
canStartConnectionin interfaceICreateConnection- Parameters:
context- the context- Returns:
- true, if successful
-
create
Description copied from interface:ICreateConnectionCreates the connection.- Specified by:
createin interfaceICreateConnection- Parameters:
context- the context- Returns:
- The connection that has been created or
nullin 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:ICreateInfoGets the create image id.- Specified by:
getCreateImageIdin interfaceICreateInfo- Overrides:
getCreateImageIdin classAbstractCreateConnectionFeature- Returns:
- image for UI representation
-
getCreateLargeImageId
Description copied from interface:ICreateInfoGets the create large image id.- Specified by:
getCreateLargeImageIdin interfaceICreateInfo- Overrides:
getCreateLargeImageIdin classAbstractCreateConnectionFeature- Returns:
- large image for UI representation
-
isAbort
public boolean isAbort()Description copied from interface:ICustomAbortableUndoRedoFeatureThe 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 anOperationCanceledExceptionthat 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:
isAbortin interfaceICustomAbortableUndoRedoFeature- Returns:
truein case you want to cancel the current operation,falseotherwise.- Since:
- 0.12
-
canUndo
Description copied from interface:IFeatureDecides if the current feature can be undone - this is the undo of the execute operation.- Specified by:
canUndoin interfaceICustomUndoRedoFeature- Specified by:
canUndoin interfaceIFeature- Overrides:
canUndoin 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:ICustomUndoRedoFeatureThis 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:
preUndoin interfaceICustomUndoRedoFeature- Parameters:
context- this is the instance of theIContextobject that was in use when executing the feature- Since:
- 0.12
-
postUndo
Description copied from interface:ICustomUndoRedoFeatureThis 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:
postUndoin interfaceICustomUndoRedoFeature- Parameters:
context- this is the instance of theIContextobject that was in use when executing the feature- Since:
- 0.12
-
canRedo
Description copied from interface:ICustomUndoRedoFeatureDecides 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
falsehere, also all consecutive entries in the command stack are no longer reachable for redo.- Specified by:
canRedoin interfaceICustomUndoRedoFeature- Parameters:
context- this is the instance of theIContextobject 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:ICustomUndoRedoFeatureThis 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:
preRedoin interfaceICustomUndoRedoFeature- Parameters:
context- this is the instance of theIContextobject that was in use when executing the feature- Since:
- 0.12
-
postRedo
Description copied from interface:ICustomUndoRedoFeatureThis 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:
postRedoin interfaceICustomUndoRedoFeature- Parameters:
context- this is the instance of theIContextobject that was in use when executing the feature- Since:
- 0.12
-
startConnecting
public void startConnecting()Description copied from interface:ICreateConnectionWill 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:
startConnectingin interfaceICreateConnection- Overrides:
startConnectingin classAbstractCreateConnectionFeature
-
endConnecting
public void endConnecting()Description copied from interface:ICreateConnectionWill 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:
endConnectingin interfaceICreateConnection- Overrides:
endConnectingin classAbstractCreateConnectionFeature
-
attachedToSource
Description copied from interface:ICreateConnectionWill 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:
attachedToSourcein interfaceICreateConnection- Overrides:
attachedToSourcein classAbstractCreateConnectionFeature- Parameters:
context- the context
-
canceledAttaching
Description copied from interface:ICreateConnectionWill 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:
canceledAttachingin interfaceICreateConnection- Overrides:
canceledAttachingin classAbstractCreateConnectionFeature- Parameters:
context- the context
-
getPattern
Gets the pattern.- Returns:
- the pattern
- Since:
- 0.10
-