diff options
author | Camille Letavernier | 2014-10-16 16:28:17 +0000 |
---|---|---|
committer | Gerrit Code Review @ Eclipse.org | 2014-10-16 16:28:17 +0000 |
commit | 86ff76287b3cf82048736d5c2ecf6e63b5befd52 (patch) | |
tree | 77f49c1fb8eba918781d04c7de12bbb1049facc3 /plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence | |
parent | 3ac407a51ebb6e9d20450135382e4e5eca595225 (diff) | |
parent | 43487834d7320c7355b1b38ce069aae61156519e (diff) | |
download | org.eclipse.papyrus-86ff76287b3cf82048736d5c2ecf6e63b5befd52.tar.gz org.eclipse.papyrus-86ff76287b3cf82048736d5c2ecf6e63b5befd52.tar.xz org.eclipse.papyrus-86ff76287b3cf82048736d5c2ecf6e63b5befd52.zip |
Merge "Bug 442441 - [Sequence Diagram] CCE after DnD InterationOperand into another one"
Diffstat (limited to 'plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence')
2 files changed, 11 insertions, 2 deletions
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/InteractionOperandLayoutEditPolicy.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/InteractionOperandLayoutEditPolicy.java index b84b2131e1a..e5ad83c43ae 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/InteractionOperandLayoutEditPolicy.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/edit/policies/InteractionOperandLayoutEditPolicy.java @@ -53,6 +53,9 @@ public class InteractionOperandLayoutEditPolicy extends XYLayoutEditPolicy { @Override
public Command getCommand(Request request) {
EditPart combinedFragmentCompartment = getHost().getParent();
+ if (combinedFragmentCompartment == null) {
+ return null;
+ }
EditPart combinedFragment = combinedFragmentCompartment.getParent();
EditPart interactionCompartment = combinedFragment.getParent();
if (REQ_CREATE.equals(request.getType()) && request instanceof CreateUnspecifiedTypeRequest) {
diff --git a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/HighlightUtil.java b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/HighlightUtil.java index c7a9a251d16..3df8f89ea30 100644 --- a/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/HighlightUtil.java +++ b/plugins/uml/diagram/org.eclipse.papyrus.uml.diagram.sequence/custom-src/org/eclipse/papyrus/uml/diagram/sequence/util/HighlightUtil.java @@ -74,8 +74,14 @@ public class HighlightUtil { figures.add(part.getPrimaryShape().getFigureLifelineDotLineFigure());
} else if (host instanceof InteractionOperandEditPart) {
InteractionOperandEditPart op = (InteractionOperandEditPart) host;
- CombinedFragmentEditPart cep = (CombinedFragmentEditPart) op.getParent().getParent();
- figures.add(cep.getPrimaryShape());
+ EditPart parent = op.getParent();
+ while (parent != null) {
+ if (parent instanceof CombinedFragmentEditPart) {
+ figures.add(((CombinedFragmentEditPart) parent).getPrimaryShape());
+ break;
+ }
+ parent = parent.getParent();
+ }
} else if (host != null) {
try {
Method getMethod = getGetPrimaryShapeMethod(host.getClass());
|