Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnsgar Radermacher2018-04-06 09:31:21 +0000
committerAnsgar Radermacher2018-04-06 09:31:21 +0000
commitdd97f4643a950b570781d42dfdaeb71b60e5d4ab (patch)
tree8761cc994e194652a303f05ed18fdb3a98a607d8 /plugins/uml/diagram
parent06a39da1d40183de9c8a3e7b953cfce1bdaf21fe (diff)
downloadorg.eclipse.papyrus-dd97f4643a950b570781d42dfdaeb71b60e5d4ab.tar.gz
org.eclipse.papyrus-dd97f4643a950b570781d42dfdaeb71b60e5d4ab.tar.xz
org.eclipse.papyrus-dd97f4643a950b570781d42dfdaeb71b60e5d4ab.zip
Bug 533283 - [Composite structure diagram] Moving a nested classifier creates a port
- Add drop request check before applying a drop strategy Signed-off-by: Ansgar Radermacher <ansgar.radermacher@cea.fr> Signed-off-by: Ansgar Radermacher <ansgar.radermacher@cea.fr>
Diffstat (limited to 'plugins/uml/diagram')
-rwxr-xr-xplugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/src/org/eclipse/papyrus/uml/diagram/dnd/strategy/TypeToClassDropStrategy.java27
1 files changed, 15 insertions, 12 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/src/org/eclipse/papyrus/uml/diagram/dnd/strategy/TypeToClassDropStrategy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/src/org/eclipse/papyrus/uml/diagram/dnd/strategy/TypeToClassDropStrategy.java
index 19fc79408a6..aa223c55c54 100755
--- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/src/org/eclipse/papyrus/uml/diagram/dnd/strategy/TypeToClassDropStrategy.java
+++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.dnd/src/org/eclipse/papyrus/uml/diagram/dnd/strategy/TypeToClassDropStrategy.java
@@ -21,6 +21,7 @@ import org.eclipse.gef.Request;
import org.eclipse.gef.commands.Command;
import org.eclipse.gmf.runtime.diagram.core.services.ViewService;
import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.requests.DropObjectsRequest;
import org.eclipse.papyrus.infra.gmfdiag.dnd.strategy.TransactionalDropStrategy;
import org.eclipse.papyrus.uml.diagram.composite.edit.parts.ClassCompositeEditPart;
import org.eclipse.swt.graphics.Image;
@@ -70,18 +71,20 @@ public class TypeToClassDropStrategy extends TransactionalDropStrategy {
@Override
public Command doGetCommand(Request request, final EditPart targetEditPart) {
- List<EObject> sourceElements = getSourceEObjects(request);
- if (!sourceElements.isEmpty() && targetEditPart instanceof GraphicalEditPart) {
- GraphicalEditPart graphicalEditPart = (GraphicalEditPart) targetEditPart;
- EObject semanticElement = graphicalEditPart.resolveSemanticElement();
- if (semanticElement instanceof org.eclipse.uml2.uml.Class) {
- org.eclipse.uml2.uml.Class clazz = (org.eclipse.uml2.uml.Class) semanticElement;
- EObject eObject = sourceElements.get(0);
- if (eObject instanceof Type) {
- if (graphicalEditPart instanceof ClassCompositeEditPart) {
- return getDropTypeOnClassifierCommand((ClassCompositeEditPart) graphicalEditPart, (Type) eObject, clazz);
- } else if (graphicalEditPart.getParent() instanceof ClassCompositeEditPart) {
- return getDropTypeOnClassifierCommand((ClassCompositeEditPart) graphicalEditPart.getParent(), (Type) eObject, clazz);
+ if (request instanceof DropObjectsRequest) {
+ List<EObject> sourceElements = getSourceEObjects(request);
+ if (!sourceElements.isEmpty() && targetEditPart instanceof GraphicalEditPart) {
+ GraphicalEditPart graphicalEditPart = (GraphicalEditPart) targetEditPart;
+ EObject semanticElement = graphicalEditPart.resolveSemanticElement();
+ if (semanticElement instanceof org.eclipse.uml2.uml.Class) {
+ org.eclipse.uml2.uml.Class clazz = (org.eclipse.uml2.uml.Class) semanticElement;
+ EObject eObject = sourceElements.get(0);
+ if (eObject instanceof Type) {
+ if (graphicalEditPart instanceof ClassCompositeEditPart) {
+ return getDropTypeOnClassifierCommand((ClassCompositeEditPart) graphicalEditPart, (Type) eObject, clazz);
+ } else if (graphicalEditPart.getParent() instanceof ClassCompositeEditPart) {
+ return getDropTypeOnClassifierCommand((ClassCompositeEditPart) graphicalEditPart.getParent(), (Type) eObject, clazz);
+ }
}
}
}

Back to the top