Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorptessier2009-12-07 17:56:32 +0000
committerptessier2009-12-07 17:56:32 +0000
commit02ba9abc6713c1c281f32cb5f6b321d3c0e95f2a (patch)
treeac11c9f82be8eeb74d3c0134698ef421ebd0e16d
parent62c98a975812e3ee58b0505af7aceeb8b9e2adb1 (diff)
downloadorg.eclipse.papyrus-02ba9abc6713c1c281f32cb5f6b321d3c0e95f2a.tar.gz
org.eclipse.papyrus-02ba9abc6713c1c281f32cb5f6b321d3c0e95f2a.tar.xz
org.eclipse.papyrus-02ba9abc6713c1c281f32cb5f6b321d3c0e95f2a.zip
RESOLVED - bug 297098: [Class Diagram] Papyrus shall enable to edit association end directly on the diagram
https://bugs.eclipse.org/bugs/show_bug.cgi?id=297098
-rw-r--r--plugins/uml/org.eclipse.papyrus.diagram.clazz/custom-src/org/eclipse/papyrus/diagram/clazz/custom/edit/part/AssociationEndSourceEditPart.java34
-rw-r--r--plugins/uml/org.eclipse.papyrus.diagram.clazz/custom-src/org/eclipse/papyrus/diagram/clazz/custom/edit/part/AssociationEndTargetEditPart.java34
-rw-r--r--plugins/uml/org.eclipse.papyrus.diagram.clazz/custom-src/org/eclipse/papyrus/diagram/clazz/custom/factory/CustomUMLeditPartFactory.java8
3 files changed, 76 insertions, 0 deletions
diff --git a/plugins/uml/org.eclipse.papyrus.diagram.clazz/custom-src/org/eclipse/papyrus/diagram/clazz/custom/edit/part/AssociationEndSourceEditPart.java b/plugins/uml/org.eclipse.papyrus.diagram.clazz/custom-src/org/eclipse/papyrus/diagram/clazz/custom/edit/part/AssociationEndSourceEditPart.java
new file mode 100644
index 00000000000..d661cea3ac0
--- /dev/null
+++ b/plugins/uml/org.eclipse.papyrus.diagram.clazz/custom-src/org/eclipse/papyrus/diagram/clazz/custom/edit/part/AssociationEndSourceEditPart.java
@@ -0,0 +1,34 @@
+package org.eclipse.papyrus.diagram.clazz.custom.edit.part;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.requests.DirectEditRequest;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.window.Window;
+import org.eclipse.papyrus.diagram.clazz.custom.helper.AssociationEndSourceLabelHelper;
+import org.eclipse.papyrus.diagram.clazz.custom.helper.AssociationEndTargetLabelHelper;
+import org.eclipse.papyrus.diagram.clazz.edit.parts.AssociationName3EditPart;
+import org.eclipse.papyrus.diagram.clazz.edit.parts.AssociationName5EditPart;
+import org.eclipse.papyrus.diagram.common.editpolicies.IDirectEdition;
+import org.eclipse.papyrus.extensionpoints.editors.Activator;
+import org.eclipse.papyrus.extensionpoints.editors.ui.ExtendedDirectEditionDialog;
+import org.eclipse.papyrus.extensionpoints.editors.utils.DirectEditorsUtil;
+import org.eclipse.papyrus.extensionpoints.editors.utils.IDirectEditorsIds;
+import org.eclipse.ui.PlatformUI;
+
+
+public class AssociationEndSourceEditPart extends AssociationName3EditPart {
+
+ public AssociationEndSourceEditPart(View view) {
+ super(view);
+ // TODO Auto-generated constructor stub
+ }
+
+ public EObject resolveSemanticElement() {
+ return AssociationEndTargetLabelHelper.getInstance().getUMLElement(this);
+ }
+}
diff --git a/plugins/uml/org.eclipse.papyrus.diagram.clazz/custom-src/org/eclipse/papyrus/diagram/clazz/custom/edit/part/AssociationEndTargetEditPart.java b/plugins/uml/org.eclipse.papyrus.diagram.clazz/custom-src/org/eclipse/papyrus/diagram/clazz/custom/edit/part/AssociationEndTargetEditPart.java
new file mode 100644
index 00000000000..d26d8458552
--- /dev/null
+++ b/plugins/uml/org.eclipse.papyrus.diagram.clazz/custom-src/org/eclipse/papyrus/diagram/clazz/custom/edit/part/AssociationEndTargetEditPart.java
@@ -0,0 +1,34 @@
+package org.eclipse.papyrus.diagram.clazz.custom.edit.part;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.requests.DirectEditRequest;
+import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
+import org.eclipse.gmf.runtime.diagram.ui.tools.TextDirectEditManager;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.jface.window.Window;
+import org.eclipse.papyrus.diagram.clazz.custom.helper.AssociationEndSourceLabelHelper;
+import org.eclipse.papyrus.diagram.clazz.edit.parts.AssociationName3EditPart;
+import org.eclipse.papyrus.diagram.clazz.edit.parts.AssociationName5EditPart;
+import org.eclipse.papyrus.diagram.common.editpolicies.IDirectEdition;
+import org.eclipse.papyrus.extensionpoints.editors.Activator;
+import org.eclipse.papyrus.extensionpoints.editors.ui.ExtendedDirectEditionDialog;
+import org.eclipse.papyrus.extensionpoints.editors.utils.DirectEditorsUtil;
+import org.eclipse.papyrus.extensionpoints.editors.utils.IDirectEditorsIds;
+import org.eclipse.ui.PlatformUI;
+
+
+public class AssociationEndTargetEditPart extends AssociationName5EditPart {
+
+ public AssociationEndTargetEditPart(View view) {
+ super(view);
+ // TODO Auto-generated constructor stub
+ }
+
+
+ public EObject resolveSemanticElement() {
+ return AssociationEndSourceLabelHelper.getInstance().getUMLElement(this);
+ }
+}
diff --git a/plugins/uml/org.eclipse.papyrus.diagram.clazz/custom-src/org/eclipse/papyrus/diagram/clazz/custom/factory/CustomUMLeditPartFactory.java b/plugins/uml/org.eclipse.papyrus.diagram.clazz/custom-src/org/eclipse/papyrus/diagram/clazz/custom/factory/CustomUMLeditPartFactory.java
index b3337582442..a86f5f854e8 100644
--- a/plugins/uml/org.eclipse.papyrus.diagram.clazz/custom-src/org/eclipse/papyrus/diagram/clazz/custom/factory/CustomUMLeditPartFactory.java
+++ b/plugins/uml/org.eclipse.papyrus.diagram.clazz/custom-src/org/eclipse/papyrus/diagram/clazz/custom/factory/CustomUMLeditPartFactory.java
@@ -15,12 +15,16 @@ package org.eclipse.papyrus.diagram.clazz.custom.factory;
import org.eclipse.gef.EditPart;
import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.diagram.clazz.custom.edit.part.AssociationEndSourceEditPart;
+import org.eclipse.papyrus.diagram.clazz.custom.edit.part.AssociationEndTargetEditPart;
import org.eclipse.papyrus.diagram.clazz.custom.edit.part.CAssociationNodeEditPart;
import org.eclipse.papyrus.diagram.clazz.custom.edit.part.CDependencyNodeEditPart;
import org.eclipse.papyrus.diagram.clazz.custom.edit.part.CModelEditPart;
import org.eclipse.papyrus.diagram.clazz.custom.edit.part.CModelEditPartCN;
import org.eclipse.papyrus.diagram.clazz.custom.edit.part.CPackageEditPart;
import org.eclipse.papyrus.diagram.clazz.custom.edit.part.CPackageEditPartCN;
+import org.eclipse.papyrus.diagram.clazz.edit.parts.AssociationName3EditPart;
+import org.eclipse.papyrus.diagram.clazz.edit.parts.AssociationName5EditPart;
import org.eclipse.papyrus.diagram.clazz.edit.parts.AssociationNodeEditPart;
import org.eclipse.papyrus.diagram.clazz.edit.parts.Dependency2EditPart;
import org.eclipse.papyrus.diagram.clazz.edit.parts.ModelEditPart;
@@ -52,6 +56,10 @@ public class CustomUMLeditPartFactory extends UMLEditPartFactory {
return new CAssociationNodeEditPart(view);
case Dependency2EditPart.VISUAL_ID:
return new CDependencyNodeEditPart(view);
+ case AssociationName5EditPart.VISUAL_ID:
+ return new AssociationEndSourceEditPart(view);
+ case AssociationName3EditPart.VISUAL_ID:
+ return new AssociationEndTargetEditPart(view);
}
}
return super.createEditPart(context, model);

Back to the top