diff options
Diffstat (limited to 'plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/DestructionOccurrenceGraphicalNodeEditPolicy.java')
-rw-r--r-- | plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/DestructionOccurrenceGraphicalNodeEditPolicy.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/DestructionOccurrenceGraphicalNodeEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/DestructionOccurrenceGraphicalNodeEditPolicy.java index 16167d4838a..b7db8caeb91 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/DestructionOccurrenceGraphicalNodeEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/DestructionOccurrenceGraphicalNodeEditPolicy.java @@ -17,7 +17,10 @@ import org.eclipse.draw2d.Connection; import org.eclipse.draw2d.PolylineConnection; import org.eclipse.emf.transaction.TransactionalEditingDomain; import org.eclipse.gef.Request; +import org.eclipse.gef.commands.Command; +import org.eclipse.gef.commands.UnexecutableCommand; import org.eclipse.gef.requests.CreateConnectionRequest; +import org.eclipse.gef.requests.ReconnectRequest; import org.eclipse.gmf.runtime.common.core.command.ICommand; import org.eclipse.gmf.runtime.diagram.ui.requests.CreateConnectionViewAndElementRequest; import org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.DefaultGraphicalNodeEditPolicy; @@ -38,6 +41,24 @@ public class DestructionOccurrenceGraphicalNodeEditPolicy extends DefaultGraphic } @Override + protected Command getReconnectSourceCommand(ReconnectRequest request) { + if (DurationLinkUtil.isDurationLink(request)) { + // Bug 536639: Forbid reconnect on Duration edit parts + return UnexecutableCommand.INSTANCE; + } + return super.getReconnectSourceCommand(request); + } + + @Override + protected Command getReconnectTargetCommand(ReconnectRequest request) { + if (DurationLinkUtil.isDurationLink(request)) { + // Bug 536639: Forbid reconnect on Duration edit parts + return UnexecutableCommand.INSTANCE; + } + return super.getReconnectTargetCommand(request); + } + + @Override protected Connection createDummyConnection(Request req) { if (req instanceof CreateConnectionRequest && DurationLinkUtil.isCreateDurationLink((CreateConnectionRequest) req)) { return new DurationLinkFigure(); |