Selaa lähdekoodia

Extracted common code to commons plugin

Andreas Mülder 14 vuotta sitten
vanhempi
commit
8aab0b9fbb
31 muutettua tiedostoa jossa 254 lisäystä ja 356 poistoa
  1. 2 1
      plugins/org.yakindu.sct.statechart.diagram/META-INF/MANIFEST.MF
  2. 3 28
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/DiagramActivator.java
  3. 11 1
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/actions/ChangeEntryKindCommand.java
  4. 11 1
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/actions/SetDeepHistoryEntryKindCommand.java
  5. 13 2
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/actions/SetInitialEntryKindCommand.java
  6. 13 2
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/actions/SetShallowHistoryEntryKindCommand.java
  7. 0 33
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editor/figures/EllipseAnchorDefaultSizeNodeFigure.java
  8. 7 4
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editparts/ChoiceEditPart.java
  9. 0 31
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editparts/EllipseFixedSizeShapeNodeEditPart.java
  10. 6 4
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editparts/EntryEditPart.java
  11. 4 2
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editparts/FinalStateEditPart.java
  12. 0 58
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editparts/FixedSizeShapeNodeEditPart.java
  13. 6 5
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editparts/JunctionEditPart.java
  14. 1 0
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editparts/RegionCompartmentEditPart.java
  15. 3 1
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editparts/StateFigureCompartmentEditPart.java
  16. 10 0
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/policies/ExpressionDirectEditPolicy.java
  17. 0 28
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/policies/OneWayConnectionHandlesEditPolicy.java
  18. 12 2
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/policies/RegionCompartmentXYLayoutEditPolicy.java
  19. 14 4
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/policies/StateCompartmentCanonicalEditPolicy.java
  20. 0 28
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/policies/StatePrimaryDragEditPolicy.java
  21. 11 1
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/policies/StatechartCanonicalEditPolicy.java
  22. 2 1
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/preferences/PreferenceInitializer.java
  23. 17 2
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/preferences/StatechartColorConstants.java
  24. 10 79
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/propertysheets/DiagramPropertySection.java
  25. 3 1
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/providers/StatechartDiagramViewProvider.java
  26. 20 9
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/providers/StatechartMarkerNavigationProvider.java
  27. 7 5
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/providers/StatechartValidationDecorationProvider.java
  28. 2 5
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/utils/SemanticHintUtil.java
  29. 31 9
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/validation/GMFMarkerUtil.java
  30. 11 1
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/validation/IMarkerType.java
  31. 24 8
      plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/validation/ValidationAction.java

+ 2 - 1
plugins/org.yakindu.sct.statechart.diagram/META-INF/MANIFEST.MF

@@ -36,7 +36,8 @@ Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.xtext.ui.shared,
  org.yakindu.sct.model.statechart.edit,
  de.itemis.xtext.utils.gmf;bundle-version="[1.0.0,2.0.0)",
- de.itemis.xtext.utils.jface;bundle-version="[1.0.0,2.0.0)"
+ de.itemis.xtext.utils.jface;bundle-version="[1.0.0,2.0.0)",
+ de.itemis.gmf.runtime.commons;bundle-version="1.0.0"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Export-Package: org.yakindu.sct.statechart.diagram,

+ 3 - 28
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/DiagramActivator.java

@@ -16,33 +16,21 @@ import org.osgi.framework.BundleContext;
 
 /**
  * 
- * @author muelder
- *
+ * @author andreas muelder
+ * 
  */
 public class DiagramActivator extends AbstractUIPlugin {
 
-	// The plug-in ID
 	public static final String PLUGIN_ID = "org.yakindu.sct.statechart.diagram";
 
 	public static final PreferencesHint DIAGRAM_PREFERENCES_HINT = new PreferencesHint(
 			PLUGIN_ID);
 
-	// The shared instance
 	private static DiagramActivator plugin;
 
-	/**
-	 * The constructor
-	 */
 	public DiagramActivator() {
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext
-	 * )
-	 */
 	@Override
 	public void start(BundleContext context) throws Exception {
 		super.start(context);
@@ -51,27 +39,14 @@ public class DiagramActivator extends AbstractUIPlugin {
 				getPreferenceStore());
 	}
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext
-	 * )
-	 */
 	@Override
 	public void stop(BundleContext context) throws Exception {
 		plugin = null;
 		super.stop(context);
 	}
 
-	/**
-	 * Returns the shared instance
-	 * 
-	 * @return the shared instance
-	 */
 	public static DiagramActivator getDefault() {
 		return plugin;
 	}
-	
-	
+
 }

+ 11 - 1
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/actions/ChangeEntryKindCommand.java

@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 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.statechart.diagram.actions;
 
 import org.eclipse.core.commands.ExecutionException;
@@ -17,7 +27,7 @@ import org.yakindu.sct.statechart.diagram.editparts.EntryEditPart;
  * Abstract base class for {@link IActionDelegate} that change the entry kind of
  * an Entry.
  * 
- * @author muelder
+ * @author andreas muelder
  * 
  */
 public abstract class ChangeEntryKindCommand implements IActionDelegate {

+ 11 - 1
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/actions/SetDeepHistoryEntryKindCommand.java

@@ -1,10 +1,20 @@
+/**
+ * Copyright (c) 2011 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.statechart.diagram.actions;
 
 import org.yakindu.model.sct.statechart.EntryKind;
 
 /**
  * 
- * @author muelder
+ * @author andreas muelder
  * 
  */
 public class SetDeepHistoryEntryKindCommand extends ChangeEntryKindCommand {

+ 13 - 2
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/actions/SetInitialEntryKindCommand.java

@@ -1,10 +1,21 @@
+/**
+ * Copyright (c) 2011 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.statechart.diagram.actions;
 
 import org.yakindu.model.sct.statechart.EntryKind;
+
 /**
  * 
- * @author muelder
- *
+ * @author andreas muelder
+ * 
  */
 public class SetInitialEntryKindCommand extends ChangeEntryKindCommand {
 

+ 13 - 2
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/actions/SetShallowHistoryEntryKindCommand.java

@@ -1,10 +1,21 @@
+/**
+ * Copyright (c) 2011 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.statechart.diagram.actions;
 
 import org.yakindu.model.sct.statechart.EntryKind;
+
 /**
  * 
- * @author muelder
- *
+ * @author andreas muelder
+ * 
  */
 public class SetShallowHistoryEntryKindCommand extends ChangeEntryKindCommand {
 

+ 0 - 33
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editor/figures/EllipseAnchorDefaultSizeNodeFigure.java

@@ -1,33 +0,0 @@
-package org.yakindu.sct.statechart.diagram.editor.figures;
-
-import org.eclipse.draw2d.ConnectionAnchor;
-import org.eclipse.draw2d.EllipseAnchor;
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.draw2d.geometry.PrecisionPoint;
-import org.eclipse.gmf.runtime.gef.ui.figures.DefaultSizeNodeFigure;
-
-/**
- *TODO move to commons
- * {@link DefaultSizeNodeFigure} with fixed anchors on the ellipse child
- * 
- * @author andreas muelder (andreas.muelder@itemis.de)
- * 
- */
-public class EllipseAnchorDefaultSizeNodeFigure extends DefaultSizeNodeFigure {
-
-	public EllipseAnchorDefaultSizeNodeFigure(Dimension defSize) {
-		super(defSize);
-	}
-
-	@Override
-	protected ConnectionAnchor createAnchor(PrecisionPoint p) {
-		return createDefaultAnchor();
-	}
-
-	@Override
-	protected ConnectionAnchor createDefaultAnchor() {
-		return new EllipseAnchor((IFigure) getChildren().get(0));
-	}
-
-}

+ 7 - 4
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editparts/ChoiceEditPart.java

@@ -18,10 +18,11 @@ import org.yakindu.sct.statechart.diagram.editor.figures.ChoiceFigure;
 import org.yakindu.sct.statechart.diagram.editor.figures.utils.MapModeUtils;
 import org.yakindu.sct.statechart.diagram.policies.RelationshipSemanticEditPolicy;
 
+import de.itemis.gmf.runtime.commons.editparts.FixedSizeShapeNodeEditPart;
+
 /**
  * 
- * @author Andreas Muelder <a
- *         href="mailto:andreas.muelder@itemis.de">andreas.muelder@itemis.de</a>
+ * @author andreas muelder
  * 
  */
 public class ChoiceEditPart extends FixedSizeShapeNodeEditPart {
@@ -33,12 +34,14 @@ public class ChoiceEditPart extends FixedSizeShapeNodeEditPart {
 	@Override
 	protected void createDefaultEditPolicies() {
 		super.createDefaultEditPolicies();
-		installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new RelationshipSemanticEditPolicy());
+		installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
+				new RelationshipSemanticEditPolicy());
 	}
 
 	@Override
 	public Dimension getDefaultSize() {
-		return MapModeUtils.getMappedDimensions(getMapMode(), MapModeUtils.DEFAULT_SMALL_NODE_DIMENSION);
+		return MapModeUtils.getMappedDimensions(getMapMode(),
+				MapModeUtils.DEFAULT_SMALL_NODE_DIMENSION);
 	}
 
 	@Override

+ 0 - 31
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editparts/EllipseFixedSizeShapeNodeEditPart.java

@@ -1,31 +0,0 @@
-package org.yakindu.sct.statechart.diagram.editparts;
-
-import org.eclipse.draw2d.Ellipse;
-import org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure;
-import org.eclipse.gmf.runtime.notation.View;
-import org.yakindu.sct.statechart.diagram.editor.figures.EllipseAnchorDefaultSizeNodeFigure;
-
-/**
- * TODO move to commons
- * @author andreas muelder (andreas.muelder@itemis.de)
- * 
- */
-public abstract class EllipseFixedSizeShapeNodeEditPart extends
-		FixedSizeShapeNodeEditPart {
-
-	public EllipseFixedSizeShapeNodeEditPart(View view) {
-		super(view);
-	}
-
-	@Override
-	protected NodeFigure createNodeFigure() {
-		final NodeFigure figure = new EllipseAnchorDefaultSizeNodeFigure(
-				getDefaultSize());
-		figure.setLayoutManager(getLayoutManager());
-		figure.add(getPrimaryShape());
-		return figure;
-	}
-	
-	public abstract Ellipse getPrimaryShape();
-
-}

+ 6 - 4
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editparts/EntryEditPart.java

@@ -23,12 +23,14 @@ import org.yakindu.sct.statechart.diagram.editor.figures.DeepHistoryFigure;
 import org.yakindu.sct.statechart.diagram.editor.figures.InitialStateFigure;
 import org.yakindu.sct.statechart.diagram.editor.figures.ShallowHistoryFigure;
 import org.yakindu.sct.statechart.diagram.editor.figures.utils.MapModeUtils;
-import org.yakindu.sct.statechart.diagram.policies.OneWayConnectionHandlesEditPolicy;
 import org.yakindu.sct.statechart.diagram.policies.RelationshipSemanticEditPolicy;
 
+import de.itemis.gmf.runtime.commons.editparts.EllipseFixedSizeShapeNodeEditPart;
+import de.itemis.gmf.runtime.commons.editpolicies.OneWayConnectionHandlesEditPolicy;
+
 /**
  * 
- * @author muelder
+ * @author andreas muelder
  */
 public class EntryEditPart extends EllipseFixedSizeShapeNodeEditPart {
 
@@ -71,10 +73,10 @@ public class EntryEditPart extends EllipseFixedSizeShapeNodeEditPart {
 
 	@Override
 	protected void handleNotificationEvent(Notification notification) {
-		//We have to update the primary shape when the entry kind changes
+		// We have to update the primary shape when the entry kind changes
 		if (StatechartPackage.eINSTANCE.getEntry_Kind().equals(
 				notification.getFeature())) {
-			getFigure().remove((IFigure)getFigure().getChildren().get(0));
+			getFigure().remove((IFigure) getFigure().getChildren().get(0));
 			getFigure().add(getPrimaryShape());
 		}
 		super.handleNotificationEvent(notification);

+ 4 - 2
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editparts/FinalStateEditPart.java

@@ -17,12 +17,14 @@ import org.eclipse.gmf.runtime.diagram.ui.handles.ConnectionHandle.HandleDirecti
 import org.eclipse.gmf.runtime.notation.View;
 import org.yakindu.sct.statechart.diagram.editor.figures.FinalStateFigure;
 import org.yakindu.sct.statechart.diagram.editor.figures.utils.MapModeUtils;
-import org.yakindu.sct.statechart.diagram.policies.OneWayConnectionHandlesEditPolicy;
 import org.yakindu.sct.statechart.diagram.policies.RelationshipSemanticEditPolicy;
 
+import de.itemis.gmf.runtime.commons.editparts.EllipseFixedSizeShapeNodeEditPart;
+import de.itemis.gmf.runtime.commons.editpolicies.OneWayConnectionHandlesEditPolicy;
+
 /**
  * 
- * @author muelder
+ * @author andreas muelder
  * 
  */
 public class FinalStateEditPart extends EllipseFixedSizeShapeNodeEditPart {

+ 0 - 58
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editparts/FixedSizeShapeNodeEditPart.java

@@ -1,58 +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.statechart.diagram.editparts;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.LayoutManager;
-import org.eclipse.draw2d.StackLayout;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.gef.EditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.ShapeNodeEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.NonResizableEditPolicyEx;
-import org.eclipse.gmf.runtime.gef.ui.figures.DefaultSizeNodeFigure;
-import org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure;
-import org.eclipse.gmf.runtime.notation.View;
-
-/**
- * EditPart fpr Shapes that should not be resized.
- * 
- * @author muelder
- * 
- */
-public abstract class FixedSizeShapeNodeEditPart extends ShapeNodeEditPart {
-
-	public FixedSizeShapeNodeEditPart(View view) {
-		super(view);
-	}
-
-	public abstract Dimension getDefaultSize();
-
-	public abstract IFigure getPrimaryShape();
-
-	@Override
-	protected NodeFigure createNodeFigure() {
-		final NodeFigure figure = new DefaultSizeNodeFigure(getDefaultSize());
-		figure.setLayoutManager(getLayoutManager());
-		figure.add(getPrimaryShape());
-		return figure;
-	}
-
-	protected LayoutManager getLayoutManager() {
-		return new StackLayout();
-	}
-
-	@Override
-	protected void createDefaultEditPolicies() {
-		super.createDefaultEditPolicies();
-		installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new NonResizableEditPolicyEx());
-	}
-
-}

+ 6 - 5
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editparts/JunctionEditPart.java

@@ -18,17 +18,17 @@ import org.yakindu.sct.statechart.diagram.editor.figures.JunctionFigure;
 import org.yakindu.sct.statechart.diagram.editor.figures.utils.MapModeUtils;
 import org.yakindu.sct.statechart.diagram.policies.RelationshipSemanticEditPolicy;
 
+import de.itemis.gmf.runtime.commons.editparts.EllipseFixedSizeShapeNodeEditPart;
+
 /**
  * 
- * @author Andreas Muelder <a
- *         href="mailto:andreas.muelder@itemis.de">andreas.muelder@itemis.de</a>
+ * @author andreas muelder
  * 
  */
 public class JunctionEditPart extends EllipseFixedSizeShapeNodeEditPart {
 
 	private static final Dimension DIMENSION = new Dimension(10, 10);
-	
-	
+
 	public JunctionEditPart(View view) {
 		super(view);
 	}
@@ -36,7 +36,8 @@ public class JunctionEditPart extends EllipseFixedSizeShapeNodeEditPart {
 	@Override
 	protected void createDefaultEditPolicies() {
 		super.createDefaultEditPolicies();
-		installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new RelationshipSemanticEditPolicy());
+		installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE,
+				new RelationshipSemanticEditPolicy());
 	}
 
 	@Override

+ 1 - 0
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editparts/RegionCompartmentEditPart.java

@@ -21,6 +21,7 @@ import org.yakindu.sct.statechart.diagram.policies.CompartmentCreationEditPolicy
 import org.yakindu.sct.statechart.diagram.policies.RegionCompartmentCanonicalEditPolicy;
 import org.yakindu.sct.statechart.diagram.policies.RegionCompartmentXYLayoutEditPolicy;
 
+
 /**
  * @author muelder
  */

+ 3 - 1
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/editparts/StateFigureCompartmentEditPart.java

@@ -21,9 +21,11 @@ import org.eclipse.gmf.runtime.draw2d.ui.figures.ConstrainedToolbarLayout;
 import org.eclipse.gmf.runtime.notation.View;
 import org.yakindu.model.sct.statechart.StatechartPackage;
 import org.yakindu.sct.statechart.diagram.policies.CompartmentCreationEditPolicy;
-import org.yakindu.sct.statechart.diagram.policies.CompartmentEditPolicy;
 import org.yakindu.sct.statechart.diagram.policies.StateCompartmentCanonicalEditPolicy;
 
+import de.itemis.gmf.runtime.commons.editpolicies.CompartmentEditPolicy;
+
+
 /**
  * 
  * @author muelder

+ 10 - 0
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/policies/ExpressionDirectEditPolicy.java

@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 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.statechart.diagram.policies;
 
 import org.eclipse.gef.commands.Command;

+ 0 - 28
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/policies/OneWayConnectionHandlesEditPolicy.java

@@ -1,28 +0,0 @@
-package org.yakindu.sct.statechart.diagram.policies;
-
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ConnectionHandleEditPolicy;
-import org.eclipse.gmf.runtime.diagram.ui.handles.ConnectionHandle.HandleDirection;
-
-/**
- * Shows the connection handles only for one direction
- * 
- * @author muelder
- * 
- */
-public class OneWayConnectionHandlesEditPolicy extends
-		ConnectionHandleEditPolicy {
-
-	private final HandleDirection direction;
-
-	public OneWayConnectionHandlesEditPolicy(HandleDirection direction) {
-		this.direction = direction;
-	}
-
-	@Override
-	protected String buildTooltip(HandleDirection direction) {
-		if (direction == this.direction) {
-			return super.buildTooltip(direction);
-		}
-		return null;
-	}
-}

+ 12 - 2
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/policies/RegionCompartmentXYLayoutEditPolicy.java

@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 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.statechart.diagram.policies;
 
 import org.eclipse.draw2d.geometry.Rectangle;
@@ -17,7 +27,7 @@ import org.yakindu.sct.statechart.diagram.editparts.RegionCompartmentEditPart;
 import org.yakindu.sct.statechart.diagram.editparts.StateEditPart;
 
 /**
- * Special implementatin of {@link XYLayoutEditPolicy} for the
+ * Special implementation of {@link XYLayoutEditPolicy} for the
  * {@link RegionCompartmentEditPart}.
  * 
  * If a State within the region compartment is collapsed, this Edit Policy does
@@ -31,6 +41,7 @@ import org.yakindu.sct.statechart.diagram.editparts.StateEditPart;
  */
 public class RegionCompartmentXYLayoutEditPolicy extends XYLayoutEditPolicy {
 
+	@Override
 	protected Command createChangeConstraintCommand(EditPart child,
 			Object constraint) {
 		if (child instanceof StateEditPart
@@ -53,7 +64,6 @@ public class RegionCompartmentXYLayoutEditPolicy extends XYLayoutEditPolicy {
 		}
 	}
 
-	
 	@Override
 	public IGraphicalEditPart getHost() {
 		return (IGraphicalEditPart) super.getHost();

+ 14 - 4
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/policies/StateCompartmentCanonicalEditPolicy.java

@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 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.statechart.diagram.policies;
 
 import java.util.List;
@@ -10,8 +20,7 @@ import org.yakindu.model.sct.statechart.State;
 import org.yakindu.sct.statechart.diagram.utils.SemanticHintUtil;
 
 /**
- * @author Andreas Muelder <a
- *         href="mailto:andreas.muelder@itemis.de">andreas.muelder@itemis.de</a>
+ * @author andreas muelder
  */
 public class StateCompartmentCanonicalEditPolicy extends CanonicalEditPolicy {
 
@@ -33,8 +42,9 @@ public class StateCompartmentCanonicalEditPolicy extends CanonicalEditPolicy {
 
 	@Override
 	protected String getFactoryHint(IAdaptable elementAdapter) {
-		EObject modelElement = (EObject) elementAdapter.getAdapter(EObject.class);
-		String factoryHint =  SemanticHintUtil.getSemanticHint(modelElement);
+		EObject modelElement = (EObject) elementAdapter
+				.getAdapter(EObject.class);
+		String factoryHint = SemanticHintUtil.getSemanticHint(modelElement);
 		return factoryHint;
 	}
 }

+ 0 - 28
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/policies/StatePrimaryDragEditPolicy.java

@@ -1,28 +0,0 @@
-package org.yakindu.sct.statechart.diagram.policies;
-
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gef.requests.ChangeBoundsRequest;
-import org.eclipse.gmf.runtime.diagram.ui.editpolicies.ResizableEditPolicyEx;
-import org.yakindu.sct.statechart.diagram.editparts.StateEditPart;
-
-public class StatePrimaryDragEditPolicy extends ResizableEditPolicyEx {
-
-	@Override
-	protected Command getResizeCommand(ChangeBoundsRequest request) {
-		ChangeBoundsRequest req = new ChangeBoundsRequest(REQ_RESIZE_CHILDREN);
-		req.setEditParts(getHost());
-
-		req.setMoveDelta(request.getMoveDelta());
-		req.setSizeDelta(request.getSizeDelta());
-		req.setLocation(request.getLocation());
-		req.setExtendedData(request.getExtendedData());
-		req.setResizeDirection(request.getResizeDirection());
-		return getHost().getParent().getCommand(req);
-		
-	}
-	
-	@Override
-	public StateEditPart getHost() {
-		return (StateEditPart) super.getHost();
-	}
-}

+ 11 - 1
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/policies/StatechartCanonicalEditPolicy.java

@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 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.statechart.diagram.policies;
 
 import java.util.List;
@@ -11,7 +21,7 @@ import org.yakindu.sct.statechart.diagram.providers.SemanticHints;
 
 /**
  * 
- * @author muelder
+ * @author andreas muelder
  * 
  */
 public class StatechartCanonicalEditPolicy extends CanonicalEditPolicy {

+ 2 - 1
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/preferences/PreferenceInitializer.java

@@ -20,12 +20,13 @@ import org.yakindu.sct.statechart.diagram.DiagramActivator;
 
 /**
  * 
- * @author muelder
+ * @author andreas muelder
  * 
  */
 public class PreferenceInitializer extends DiagramPreferenceInitializer
 		implements StatechartColorConstants {
 
+	@Override
 	public void initializeDefaultPreferences() {
 		super.initializeDefaultPreferences();
 		// Line colors

+ 17 - 2
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/preferences/StatechartColorConstants.java

@@ -1,11 +1,26 @@
+/**
+ * Copyright (c) 2011 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.statechart.diagram.preferences;
 
 import org.eclipse.swt.graphics.Color;
 
+/**
+ * 
+ * @author andreas muelder
+ * 
+ */
 public interface StatechartColorConstants {
 
 	Color STATE_BG_COLOR = new Color(null, 205, 220, 243);
-	
+
 	Color REGION_BG_COLOR = new Color(null, 240, 240, 240);
-	
+
 }

+ 10 - 79
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/propertysheets/DiagramPropertySection.java

@@ -1,5 +1,5 @@
 /**
- * Copyright (c) 2010 committers of YAKINDU and others.
+ * Copyright (c) 2011 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
@@ -10,34 +10,27 @@
  */
 package org.yakindu.sct.statechart.diagram.propertysheets;
 
-import java.util.ArrayList;
-import java.util.Iterator;
-
 import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain;
 import org.eclipse.emf.edit.provider.IItemPropertySource;
 import org.eclipse.emf.edit.ui.provider.PropertySource;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gmf.runtime.diagram.ui.properties.sections.AdvancedPropertySection;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.views.properties.IPropertySource;
 import org.eclipse.ui.views.properties.IPropertySourceProvider;
 import org.yakindu.model.sct.statechart.ExpressionElement;
 
+import de.itemis.gmf.runtime.commons.properties.SemanticPropertySection;
+
 /**
+ * Custom SemanticPropertySection that creates ExpressionelementPropertySources
+ * for ExpressionElements.
+ * 
+ * @author andreas muelder
  * 
- * @author muelder
- *
  */
-public class DiagramPropertySection extends AdvancedPropertySection implements
+public class DiagramPropertySection extends SemanticPropertySection implements
 		IPropertySourceProvider {
 
+	@Override
 	public IPropertySource getPropertySource(Object object) {
 		if (object instanceof IPropertySource) {
 			return (IPropertySource) object;
@@ -48,9 +41,7 @@ public class DiagramPropertySection extends AdvancedPropertySection implements
 					IItemPropertySource.class);
 			if (ips != null) {
 				if (object instanceof ExpressionElement) {
-					return new ExpressionElementPropertySource(
-							object,
-							ips);
+					return new ExpressionElementPropertySource(object, ips);
 				}
 				return new PropertySource(object, ips);
 			}
@@ -61,64 +52,4 @@ public class DiagramPropertySection extends AdvancedPropertySection implements
 		}
 		return null;
 	}
-
-	@Override
-	protected IPropertySourceProvider getPropertySourceProvider() {
-		return this;
-	}
-
-	/**
-	 * Modify/unwrap selection.
-	 */
-	protected Object transformSelection(Object selected) {
-
-		if (selected instanceof EditPart) {
-			Object model = ((EditPart) selected).getModel();
-			return model instanceof View ? ((View) model).getElement() : null;
-		}
-		if (selected instanceof View) {
-			return ((View) selected).getElement();
-		}
-		if (selected instanceof IAdaptable) {
-			View view = (View) ((IAdaptable) selected).getAdapter(View.class);
-			if (view != null) {
-				return view.getElement();
-			}
-		}
-		return selected;
-	}
-
-	@SuppressWarnings({ "rawtypes", "unchecked" })
-	@Override
-	public void setInput(IWorkbenchPart part, ISelection selection) {
-		if (selection.isEmpty()
-				|| false == selection instanceof StructuredSelection) {
-			super.setInput(part, selection);
-			return;
-		}
-		final StructuredSelection structuredSelection = ((StructuredSelection) selection);
-		ArrayList transformedSelection = new ArrayList(
-				structuredSelection.size());
-		for (Iterator it = structuredSelection.iterator(); it.hasNext();) {
-			Object r = transformSelection(it.next());
-			if (r != null) {
-				transformedSelection.add(r);
-			}
-		}
-		super.setInput(part, new StructuredSelection(transformedSelection));
-	}
-
-	protected AdapterFactory getAdapterFactory(Object object) {
-		if (getEditingDomain() instanceof AdapterFactoryEditingDomain) {
-			return ((AdapterFactoryEditingDomain) getEditingDomain())
-					.getAdapterFactory();
-		}
-		TransactionalEditingDomain editingDomain = TransactionUtil
-				.getEditingDomain(object);
-		if (editingDomain != null) {
-			return ((AdapterFactoryEditingDomain) editingDomain)
-					.getAdapterFactory();
-		}
-		return null;
-	}
 }

+ 3 - 1
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/providers/StatechartDiagramViewProvider.java

@@ -30,7 +30,7 @@ import org.yakindu.sct.statechart.diagram.utils.SemanticHintUtil;
 
 /**
  * 
- * @author muelder
+ * @author andreas muelder
  * 
  */
 public class StatechartDiagramViewProvider extends AbstractViewProvider
@@ -76,6 +76,7 @@ public class StatechartDiagramViewProvider extends AbstractViewProvider
 		return getClass(diagramKind);
 	}
 
+	@Override
 	protected Class<?> getEdgeViewClass(IAdaptable semanticAdapter,
 			View containerView, String semanticHint) {
 		if (semanticHint == null || "".equals(semanticHint)) {
@@ -86,6 +87,7 @@ public class StatechartDiagramViewProvider extends AbstractViewProvider
 		return getClass(semanticHint);
 	}
 
+	@Override
 	protected Class<?> getNodeViewClass(IAdaptable semanticAdapter,
 			View containerView, String semanticHint) {
 		if (semanticHint == null || "".equals(semanticHint)) {

+ 20 - 9
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/providers/StatechartMarkerNavigationProvider.java

@@ -1,3 +1,13 @@
+/**
+ * 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.statechart.diagram.providers;
 
 import java.util.Arrays;
@@ -23,13 +33,15 @@ import org.yakindu.sct.statechart.diagram.validation.IMarkerType;
 import de.itemis.xtext.utils.gmf.directedit.IXtextAwareEditPart;
 
 /**
+ * TODO: Move common code to gmf.runtime.commons
  * 
- * @author muelder
+ * @author andreas muelder
  * 
  */
 public class StatechartMarkerNavigationProvider extends
 		AbstractModelMarkerNavigationProvider implements IMarkerType {
 
+	@Override
 	@SuppressWarnings("rawtypes")
 	protected void doGotoMarker(IMarker marker) {
 
@@ -57,17 +69,17 @@ public class StatechartMarkerNavigationProvider extends
 		try {
 			String type = marker.getType();
 			if (type.equals(XTEXT_MARKER_TYPE)) {
-				DirectEditRequest request = new DirectEditRequest();
+				final DirectEditRequest request = new DirectEditRequest();
 				request.setDirectEditFeature(StatechartPackage.eINSTANCE
 						.getExpressionElement_Expression());
 				List<EObject> allNotationElements = EcoreUtil2
 						.eAllContentsAsList(targetView);
 				for (EObject eObject : allNotationElements) {
-					if(eObject instanceof View){
-						IGraphicalEditPart editPart = (IGraphicalEditPart)editPartRegistry.get((View)eObject);
-						if(editPart instanceof IXtextAwareEditPart){
+					if (eObject instanceof View) {
+						IGraphicalEditPart editPart = (IGraphicalEditPart) editPartRegistry
+								.get(eObject);
+						if (editPart instanceof IXtextAwareEditPart) {
 							editPart.performRequest(request);
-							//TODO: Select range
 						}
 					}
 				}
@@ -78,21 +90,20 @@ public class StatechartMarkerNavigationProvider extends
 
 	}
 
-
 	public static void selectElementsInDiagram(
 			IDiagramWorkbenchPart diagramPart, List<EditPart> editParts) {
 		diagramPart.getDiagramGraphicalViewer().deselectAll();
 
 		EditPart firstPrimary = null;
 		for (Iterator<EditPart> it = editParts.iterator(); it.hasNext();) {
-			EditPart nextPart = (EditPart) it.next();
+			EditPart nextPart = it.next();
 			diagramPart.getDiagramGraphicalViewer().appendSelection(nextPart);
 			if (firstPrimary == null && nextPart instanceof IPrimaryEditPart) {
 				firstPrimary = nextPart;
 			}
 		}
 		if (!editParts.isEmpty()) {
-			//TODO animation
+			// TODO animation
 			diagramPart.getDiagramGraphicalViewer().reveal(
 					firstPrimary != null ? firstPrimary : (EditPart) editParts
 							.get(0));

+ 7 - 5
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/providers/StatechartValidationDecorationProvider.java

@@ -45,8 +45,10 @@ import org.yakindu.sct.statechart.diagram.validation.IMarkerType;
 import com.google.common.collect.Lists;
 
 /**
+ * 
  * This class is copied from GMF Generator code...
  * 
+ * TODO: Move common code to gmf.runtime.commons
  */
 @SuppressWarnings("all")
 public class StatechartValidationDecorationProvider extends AbstractProvider
@@ -66,10 +68,10 @@ public class StatechartValidationDecorationProvider extends AbstractProvider
 			Object model = editPart.getModel();
 			if ((model instanceof View)) {
 				View view = (View) model;
-				//FIXME
-//				if (!(view instanceof Edge) && !view.isSetElement()) {
-//					return;
-//				}
+				// FIXME
+				// if (!(view instanceof Edge) && !view.isSetElement()) {
+				// return;
+				// }
 			}
 			EditDomain ed = editPart.getViewer().getEditDomain();
 			if (!(ed instanceof DiagramEditDomain)) {
@@ -316,7 +318,7 @@ public class StatechartValidationDecorationProvider extends AbstractProvider
 
 	static class MarkerObserver implements IFileObserver {
 
-		private Diagram diagram;
+		private final Diagram diagram;
 
 		private MarkerObserver(Diagram diagram) {
 			this.diagram = diagram;

+ 2 - 5
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/utils/SemanticHintUtil.java

@@ -30,8 +30,7 @@ import org.yakindu.model.sct.statechart.util.StatechartSwitch;
 
 /**
  * 
- * @author Andreas Muelder <a
- *         href="mailto:andreas.muelder@itemis.de">andreas.muelder@itemis.de</a>
+ * @author andreas muelder
  * 
  */
 public final class SemanticHintUtil {
@@ -48,6 +47,7 @@ public final class SemanticHintUtil {
 	public static String getSemanticHint(EObject semanticElement) {
 		return new StatechartSwitch<String>() {
 
+			@Override
 			public String caseTransition(Transition object) {
 				return TRANSITION;
 			}
@@ -67,9 +67,6 @@ public final class SemanticHintUtil {
 				return JUNCTION;
 			}
 
-
-
-
 			@Override
 			public String caseEntry(Entry object) {
 				return ENTRY;

+ 31 - 9
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/validation/GMFMarkerUtil.java

@@ -1,9 +1,20 @@
+/**
+ * Copyright (c) 2011 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.statechart.diagram.validation;
 
 import java.util.List;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IResource;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.emf.ecore.EObject;
@@ -16,8 +27,7 @@ import org.eclipse.xtext.EcoreUtil2;
 /**
  * Utility class to create GMF specific {@link IMarker}s
  * 
- * @author Andreas Muelder <a
- *         href="mailto:andreas.muelder@itemis.de">andreas.muelder@itemis.de</a>
+ * @author andreas muelder
  * 
  */
 public final class GMFMarkerUtil {
@@ -26,16 +36,28 @@ public final class GMFMarkerUtil {
 		// Not to be instantiated
 	}
 
+	/**
+	 * Creates an marker with additional GMF specific attributes.
+	 * 
+	 * @param target
+	 *            The {@link IResource} where to create the marker
+	 * @param validationStatus
+	 *            Can be ERROR, WARNING, INFO
+	 * @param diagram
+	 *            the GMF Notation model diagram
+	 * @param markerType
+	 *            marker type
+	 * @param semanticTarget
+	 *            the semantic object where the problem occured
+	 */
 	public static void createMarker(IFile target, IStatus validationStatus,
-			Diagram diagram, String markerType,
-			EObject semanticTarget) {
+			Diagram diagram, String markerType, EObject semanticTarget) {
 		if (validationStatus.isOK()) {
 			return;
 		}
-		View view = findNotationView(diagram,
-				semanticTarget);
+		View view = findNotationView(diagram, semanticTarget);
 		String uriFragment = view.eResource().getURIFragment(view);
-		
+
 		addMarker(target, uriFragment,
 				EMFCoreUtil.getQualifiedName(semanticTarget, true),
 				validationStatus.getMessage(), validationStatus.getSeverity(),
@@ -56,7 +78,7 @@ public final class GMFMarkerUtil {
 		return null;
 
 	}
-	
+
 	public static IFile getTargetFile(View view) {
 		IFile target = view.eResource() != null ? WorkspaceSynchronizer
 				.getFile(view.eResource().getResourceSet().getResources()
@@ -76,7 +98,7 @@ public final class GMFMarkerUtil {
 			org.eclipse.core.runtime.Assert.isTrue(elementId.length() > 0);
 			marker.setAttribute(
 					org.eclipse.gmf.runtime.common.ui.resources.IMarker.ELEMENT_ID,
-			elementId);
+					elementId);
 			int markerSeverity = IMarker.SEVERITY_INFO;
 			if (statusSeverity == IStatus.WARNING) {
 				markerSeverity = IMarker.SEVERITY_WARNING;

+ 11 - 1
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/validation/IMarkerType.java

@@ -1,10 +1,20 @@
+/**
+ * Copyright (c) 2011 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.statechart.diagram.validation;
 
 import org.yakindu.sct.statechart.diagram.DiagramActivator;
 
 /**
  * 
- * @author Lev0r
+ * @author andreas muelder
  * 
  */
 public interface IMarkerType {

+ 24 - 8
plugins/org.yakindu.sct.statechart.diagram/src/org/yakindu/sct/statechart/diagram/validation/ValidationAction.java

@@ -1,3 +1,13 @@
+/**
+ * Copyright (c) 2011 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.statechart.diagram.validation;
 
 import java.util.List;
@@ -15,8 +25,9 @@ import org.eclipse.gmf.runtime.notation.Diagram;
 import de.itemis.xtext.utils.gmf.resource.InjectMembersResource;
 
 /**
+ * Executes the Validation and creates Problem Markers on the resource.
  * 
- * @author muelder
+ * @author andreas muelder
  * 
  */
 public class ValidationAction implements IMarkerType {
@@ -27,6 +38,8 @@ public class ValidationAction implements IMarkerType {
 			try {
 				target.deleteMarkers(DIAGRAM_MARKER_TYPE, true,
 						IResource.DEPTH_ZERO);
+				target.deleteMarkers(XTEXT_MARKER_TYPE, true,
+						IResource.DEPTH_ZERO);
 			} catch (CoreException e) {
 				e.printStackTrace();
 			}
@@ -42,13 +55,16 @@ public class ValidationAction implements IMarkerType {
 					DIAGRAM_MARKER_TYPE, (EObject) child.getData().get(0));
 		}
 
-		InjectMembersResource resource = (InjectMembersResource) view
-				.eResource();
-		List<Diagnostic> diagnostics = resource.getDiagnostics();
-		for (Diagnostic child : diagnostics) {
-			GMFMarkerUtil.createMarker(target,
-					BasicDiagnostic.toIStatus(child), view,
-					DIAGRAM_MARKER_TYPE, (EObject) child.getData().get(0));
+		// Diagnosticans from the InkectMembersResoruce
+		if (view.eResource() instanceof InjectMembersResource) {
+			InjectMembersResource resource = (InjectMembersResource) view
+					.eResource();
+			List<Diagnostic> diagnostics = resource.getDiagnostics();
+			for (Diagnostic child : diagnostics) {
+				GMFMarkerUtil.createMarker(target,
+						BasicDiagnostic.toIStatus(child), view,
+						XTEXT_MARKER_TYPE, (EObject) child.getData().get(0));
+			}
 		}
 
 	}