Parcourir la source

Use EditHelper relationship commands instead of a custom SemanticEditPolicy to set transition targets

Andreas Mülder il y a 14 ans
Parent
commit
e5b3dfb4c6

+ 1 - 2
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/edithelper/EntryEditHelper.java

@@ -2,14 +2,13 @@ package org.yakindu.sct.ui.editor.edithelper;
 
 import org.eclipse.gmf.runtime.common.core.command.ICommand;
 import org.eclipse.gmf.runtime.emf.type.core.commands.SetValueCommand;
-import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelper;
 import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
 import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
 import org.yakindu.sct.model.sgraph.EntryKind;
 import org.yakindu.sct.model.sgraph.SGraphPackage;
 import org.yakindu.sct.ui.editor.editor.StatechartElementTypes;
 
-public class EntryEditHelper extends AbstractEditHelper {
+public class EntryEditHelper extends VertexEditHelper {
 
 	@Override
 	protected ICommand getConfigureCommand(ConfigureRequest req) {

+ 5 - 1
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/edithelper/TransitionEditHelper.java

@@ -6,7 +6,11 @@ import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelper;
 import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
 import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
 import org.yakindu.sct.model.sgraph.SGraphPackage;
-
+/**
+ * 
+ * @author andreas muelder
+ *
+ */
 public class TransitionEditHelper extends AbstractEditHelper {
 	@Override
 	protected ICommand getReorientRelationshipCommand(

+ 25 - 0
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/edithelper/VertexEditHelper.java

@@ -0,0 +1,25 @@
+package org.yakindu.sct.ui.editor.edithelper;
+
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelper;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.yakindu.sct.ui.editor.commands.CreateTransitionCommand;
+
+/**
+ * Base Edit Helper class for all Vertices
+ * 
+ * @author andreas muelder
+ * 
+ */
+public class VertexEditHelper extends AbstractEditHelper {
+
+	/**
+	 * Returns a custom {@link CreateTransitionCommand} that sets the target
+	 * transition
+	 */
+	@Override
+	protected ICommand getCreateRelationshipCommand(
+			CreateRelationshipRequest req) {
+		return new CreateTransitionCommand(req);
+	}
+}

+ 0 - 8
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editparts/ChoiceEditPart.java

@@ -12,11 +12,9 @@ package org.yakindu.sct.ui.editor.editparts;
 
 import org.eclipse.draw2d.IFigure;
 import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
 import org.eclipse.gmf.runtime.notation.View;
 import org.yakindu.sct.ui.editor.editor.figures.ChoiceFigure;
 import org.yakindu.sct.ui.editor.editor.figures.utils.MapModeUtils;
-import org.yakindu.sct.ui.editor.policies.RelationshipSemanticEditPolicy;
 
 import de.itemis.gmf.runtime.commons.editparts.FixedSizeShapeNodeEditPart;
 
@@ -31,12 +29,6 @@ public class ChoiceEditPart extends FixedSizeShapeNodeEditPart {
 		super(view);
 	}
 
-	@Override
-	protected void createDefaultEditPolicies() {
-		super.createDefaultEditPolicies();
-		installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
-				new RelationshipSemanticEditPolicy());
-	}
 
 	@Override
 	public Dimension getDefaultSize() {

+ 0 - 4
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editparts/EntryEditPart.java

@@ -32,7 +32,6 @@ import org.yakindu.sct.ui.editor.editor.figures.DeepHistoryFigure;
 import org.yakindu.sct.ui.editor.editor.figures.InitialStateFigure;
 import org.yakindu.sct.ui.editor.editor.figures.ShallowHistoryFigure;
 import org.yakindu.sct.ui.editor.editor.figures.utils.MapModeUtils;
-import org.yakindu.sct.ui.editor.policies.RelationshipSemanticEditPolicy;
 
 import de.itemis.gmf.runtime.commons.editpolicies.OneWayConnectionHandlesEditPolicy;
 
@@ -51,8 +50,6 @@ public class EntryEditPart extends AbstractBorderedShapeEditPart {
 	@Override
 	protected void createDefaultEditPolicies() {
 		super.createDefaultEditPolicies();
-		installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
-				new RelationshipSemanticEditPolicy());
 		installEditPolicy(EditPolicyRoles.CONNECTION_HANDLES_ROLE,
 				new OneWayConnectionHandlesEditPolicy(HandleDirection.OUTGOING));
 	}
@@ -91,7 +88,6 @@ public class EntryEditPart extends AbstractBorderedShapeEditPart {
 		return (Node) super.getNotationView();
 	}
 
-
 	protected void addBorderItem(IFigure borderItemContainer,
 			IBorderItemEditPart borderItemEditPart) {
 		if (primaryChildEditPart == null) {

+ 0 - 3
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editparts/ExitEditPart.java

@@ -17,7 +17,6 @@ import org.eclipse.gmf.runtime.diagram.ui.handles.ConnectionHandle.HandleDirecti
 import org.eclipse.gmf.runtime.notation.View;
 import org.yakindu.sct.ui.editor.editor.figures.ExitFigure;
 import org.yakindu.sct.ui.editor.editor.figures.utils.MapModeUtils;
-import org.yakindu.sct.ui.editor.policies.RelationshipSemanticEditPolicy;
 
 import de.itemis.gmf.runtime.commons.editparts.EllipseFixedSizeShapeNodeEditPart;
 import de.itemis.gmf.runtime.commons.editpolicies.OneWayConnectionHandlesEditPolicy;
@@ -36,8 +35,6 @@ public class ExitEditPart extends EllipseFixedSizeShapeNodeEditPart {
 	@Override
 	protected void createDefaultEditPolicies() {
 		super.createDefaultEditPolicies();
-		installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
-				new RelationshipSemanticEditPolicy());
 		installEditPolicy(EditPolicyRoles.CONNECTION_HANDLES_ROLE,
 				new OneWayConnectionHandlesEditPolicy(HandleDirection.INCOMING));
 	}

+ 0 - 3
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editparts/FinalStateEditPart.java

@@ -17,7 +17,6 @@ import org.eclipse.gmf.runtime.diagram.ui.handles.ConnectionHandle.HandleDirecti
 import org.eclipse.gmf.runtime.notation.View;
 import org.yakindu.sct.ui.editor.editor.figures.FinalStateFigure;
 import org.yakindu.sct.ui.editor.editor.figures.utils.MapModeUtils;
-import org.yakindu.sct.ui.editor.policies.RelationshipSemanticEditPolicy;
 
 import de.itemis.gmf.runtime.commons.editparts.EllipseFixedSizeShapeNodeEditPart;
 import de.itemis.gmf.runtime.commons.editpolicies.OneWayConnectionHandlesEditPolicy;
@@ -36,8 +35,6 @@ public class FinalStateEditPart extends EllipseFixedSizeShapeNodeEditPart {
 	@Override
 	protected void createDefaultEditPolicies() {
 		super.createDefaultEditPolicies();
-		installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
-				new RelationshipSemanticEditPolicy());
 		installEditPolicy(EditPolicyRoles.CONNECTION_HANDLES_ROLE,
 				new OneWayConnectionHandlesEditPolicy(HandleDirection.INCOMING));
 	}

+ 0 - 8
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editparts/JunctionEditPart.java

@@ -12,11 +12,9 @@ package org.yakindu.sct.ui.editor.editparts;
 
 import org.eclipse.draw2d.Ellipse;
 import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles;
 import org.eclipse.gmf.runtime.notation.View;
 import org.yakindu.sct.ui.editor.editor.figures.JunctionFigure;
 import org.yakindu.sct.ui.editor.editor.figures.utils.MapModeUtils;
-import org.yakindu.sct.ui.editor.policies.RelationshipSemanticEditPolicy;
 
 import de.itemis.gmf.runtime.commons.editparts.EllipseFixedSizeShapeNodeEditPart;
 
@@ -33,12 +31,6 @@ public class JunctionEditPart extends EllipseFixedSizeShapeNodeEditPart {
 		super(view);
 	}
 
-	@Override
-	protected void createDefaultEditPolicies() {
-		super.createDefaultEditPolicies();
-		installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
-				new RelationshipSemanticEditPolicy());
-	}
 
 	@Override
 	public Dimension getDefaultSize() {

+ 2 - 3
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editparts/StateEditPart.java

@@ -42,7 +42,6 @@ import org.eclipse.gmf.runtime.notation.View;
 import org.yakindu.sct.ui.editor.editor.figures.StateFigure;
 import org.yakindu.sct.ui.editor.editor.figures.utils.GridDataFactory;
 import org.yakindu.sct.ui.editor.editor.figures.utils.MapModeUtils;
-import org.yakindu.sct.ui.editor.policies.RelationshipSemanticEditPolicy;
 import org.yakindu.sct.ui.editor.preferences.StatechartColorConstants;
 
 /**
@@ -89,8 +88,8 @@ public class StateEditPart extends ShapeNodeEditPart implements
 	@Override
 	protected void createDefaultEditPolicies() {
 		super.createDefaultEditPolicies();
-		installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
-				new RelationshipSemanticEditPolicy());
+//		installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
+//				new RelationshipSemanticEditPolicy());
 		// We don't want to allow creation for parent editpart on a State
 		installEditPolicy(EditPolicyRoles.CREATION_ROLE,
 				new CreationEditPolicy() {

+ 0 - 36
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/policies/RelationshipSemanticEditPolicy.java

@@ -1,36 +0,0 @@
-/**
- * Copyright (c) 2010 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * Contributors:
- * 	committers of YAKINDU - initial API and implementation
- * 
- */
-package org.yakindu.sct.ui.editor.policies;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.SemanticEditPolicy;
-import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
-import org.yakindu.sct.ui.editor.commands.CreateTransitionCommand;
-
-/**
- * {@link SemanticEditPolicy} for creation of Transitions between Vertices.
- * 
- * @author muelder
- * 
- */
-public class RelationshipSemanticEditPolicy extends SemanticEditPolicy {
-	
-	@Override
-	protected Command getSemanticCommand(IEditCommandRequest request) {
-		if (request instanceof CreateRelationshipRequest) {
-			CreateRelationshipRequest relationshipRequest = (CreateRelationshipRequest) request;
-			return new ICommandProxy(new CreateTransitionCommand(relationshipRequest));
-		}
-		return super.getSemanticCommand(request);
-	}
-}