Ver código fonte

Fixes #1282 Add hint for Ctrl-Space to comment of definition section (#1417)

* Fixes #1282 Add hint for Ctrl-Space to comment of definition section

* Removed '(CMD)'  because on Mac it is also Ctrl
svenjawendler 8 anos atrás
pai
commit
ac2fc3a707

+ 177 - 177
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/factories/FactoryUtils.java

@@ -1,177 +1,177 @@
-/**
- * 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.factories;
-
-import org.eclipse.draw2d.ColorConstants;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
-import org.eclipse.gmf.runtime.diagram.core.services.ViewService;
-import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
-import org.eclipse.gmf.runtime.draw2d.ui.figures.FigureUtilities;
-import org.eclipse.gmf.runtime.notation.Bounds;
-import org.eclipse.gmf.runtime.notation.DecorationNode;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.gmf.runtime.notation.NotationFactory;
-import org.eclipse.gmf.runtime.notation.ShapeStyle;
-import org.eclipse.gmf.runtime.notation.View;
-import org.yakindu.sct.model.sgraph.Entry;
-import org.yakindu.sct.model.sgraph.EntryKind;
-import org.yakindu.sct.model.sgraph.Region;
-import org.yakindu.sct.model.sgraph.SGraphFactory;
-import org.yakindu.sct.model.sgraph.State;
-import org.yakindu.sct.model.sgraph.Statechart;
-import org.yakindu.sct.model.sgraph.Transition;
-import org.yakindu.sct.ui.editor.DiagramActivator;
-import org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor;
-import org.yakindu.sct.ui.editor.providers.SemanticHints;
-
-/**
- * Convenience methods for semantic and notation model element creation.
- * 
- * @author muelder
- * 
- */
-public final class FactoryUtils {
-
-	private static final String INITIAL_SPECIFICATION = "interface:\n// Define events and\n// and variables here";
-	private static final int INITIAL_REGION_WIDTH = 400;
-	private static final int INITIAL_REGION_HEIGHT = 400;
-	private static final String INITIAL_REGION_NAME = "main region";
-
-	private static final int INITIAL_TEXT_COMPARTMENT_X = 10;
-	private static final int INITIAL_TEXT_COMPARTMENT_Y = 10;
-	private static final int INITIAL_TEXT_COMPARTMENT_HEIGHT = 400;
-	private static final int INITIAL_TEXT_COMPARTMENT_WIDTH = 200;
-
-	private static final int SPACING = 10;
-
-	private FactoryUtils() {
-	}
-
-	/**
-	 * Creates a Label view
-	 * 
-	 * @param owner
-	 * @param hint
-	 * @return
-	 */
-	@SuppressWarnings("unchecked")
-	public static Node createLabel(View owner, String hint) {
-		DecorationNode nameLabel = NotationFactory.eINSTANCE.createDecorationNode();
-		nameLabel.setType(hint);
-
-		ShapeStyle style = NotationFactory.eINSTANCE.createShapeStyle();
-		style.setFontColor(FigureUtilities.RGBToInteger(ColorConstants.black.getRGB()));
-		nameLabel.getStyles().add(style);
-
-		ViewUtil.insertChildView(owner, nameLabel, ViewUtil.APPEND, true);
-		nameLabel.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
-		return nameLabel;
-	}
-
-	/**
-	 * Creates a Statechart with an initial Region and an initial State
-	 * 
-	 * @return instanceof {@link Statechart}
-	 */
-	public static void createStatechartModel(Resource resource) {
-		createStatechartModel(resource, DiagramActivator.DIAGRAM_PREFERENCES_HINT);
-	}
-
-	/**
-	 * Creates a Statechart with an initial Region and an initial State
-	 * 
-	 * @return instanceof {@link Statechart}
-	 */
-	public static void createStatechartModel(Resource resource, PreferencesHint preferencesHint) {
-		// Create a statechart
-		Statechart statechart = SGraphFactory.eINSTANCE.createStatechart();
-		String lastSegment = resource.getURI().lastSegment();
-		String statechartName = lastSegment.substring(0, lastSegment.indexOf('.'));
-		statechart.setName(statechartName);
-		statechart.setSpecification(INITIAL_SPECIFICATION);
-
-		Diagram diagram = ViewService.createDiagram(statechart, StatechartDiagramEditor.ID, preferencesHint);
-		diagram.setElement(statechart);
-		// Add to resource
-		resource.getContents().add(statechart);
-		resource.getContents().add(diagram);
-		// Create an initial region
-		Region region = SGraphFactory.eINSTANCE.createRegion();
-		region.setName(INITIAL_REGION_NAME);
-		statechart.getRegions().add(region);
-		Node regionView = ViewService.createNode(diagram, region, SemanticHints.REGION, preferencesHint);
-		setRegionViewLayoutConstraint(regionView);
-		// // Create an initial state
-		Entry initialState = SGraphFactory.eINSTANCE.createEntry();
-		initialState.setKind(EntryKind.INITIAL);
-		region.getVertices().add(initialState);
-		Node initialStateView = ViewService.createNode(getRegionCompartmentView(regionView), initialState,
-				SemanticHints.ENTRY, preferencesHint);
-		setInitialStateViewLayoutConstraint(initialStateView);
-		// Create the first state
-		State state = SGraphFactory.eINSTANCE.createState();
-		state.setName("StateA");
-		region.getVertices().add(state);
-		Node stateNode = ViewService.createNode(getRegionCompartmentView(regionView), state, SemanticHints.STATE,
-				preferencesHint);
-		setStateViewLayoutConstraint(stateNode);
-		// Create the transition from Initial State to State
-		Transition transition = SGraphFactory.eINSTANCE.createTransition();
-		transition.setSource(initialState);
-		transition.setTarget(state);
-		initialState.getOutgoingTransitions().add(transition);
-		ViewService.createEdge(initialStateView, stateNode, transition, SemanticHints.TRANSITION, preferencesHint);
-		// Create the textcompartment for events / variables
-		Node textCompartment = ViewService.createNode(diagram, statechart, SemanticHints.STATECHART_TEXT,
-				preferencesHint);
-		setTextCompartmentLayoutConstraint(textCompartment);
-
-	}
-
-	private static void setStateViewLayoutConstraint(Node stateNode) {
-		Bounds bounds = NotationFactory.eINSTANCE.createBounds();
-		bounds.setX(40);
-		bounds.setY(80);
-		stateNode.setLayoutConstraint(bounds);
-	}
-
-	private static void setInitialStateViewLayoutConstraint(Node initialStateView) {
-		Bounds bounds = NotationFactory.eINSTANCE.createBounds();
-		bounds.setX(70);
-		bounds.setY(20);
-		initialStateView.setLayoutConstraint(bounds);
-	}
-
-	private static View getRegionCompartmentView(View regionView) {
-		return (View) regionView.getChildren().get(1);
-	}
-
-	private static void setTextCompartmentLayoutConstraint(Node textCompartment) {
-		Bounds bounds = NotationFactory.eINSTANCE.createBounds();
-		bounds.setX(INITIAL_TEXT_COMPARTMENT_X);
-		bounds.setY(INITIAL_TEXT_COMPARTMENT_Y);
-		bounds.setHeight(INITIAL_TEXT_COMPARTMENT_HEIGHT);
-		bounds.setWidth(INITIAL_TEXT_COMPARTMENT_WIDTH);
-		textCompartment.setLayoutConstraint(bounds);
-	}
-
-	private static void setRegionViewLayoutConstraint(Node regionView) {
-		Bounds bounds = NotationFactory.eINSTANCE.createBounds();
-		bounds.setX(INITIAL_TEXT_COMPARTMENT_WIDTH + INITIAL_TEXT_COMPARTMENT_X + SPACING);
-		bounds.setY(INITIAL_TEXT_COMPARTMENT_Y);
-		bounds.setHeight(INITIAL_REGION_HEIGHT);
-		bounds.setWidth(INITIAL_REGION_WIDTH);
-		regionView.setLayoutConstraint(bounds);
-	}
-
-}
+/**
+ * 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.factories;
+
+import org.eclipse.draw2d.ColorConstants;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
+import org.eclipse.gmf.runtime.diagram.core.services.ViewService;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.draw2d.ui.figures.FigureUtilities;
+import org.eclipse.gmf.runtime.notation.Bounds;
+import org.eclipse.gmf.runtime.notation.DecorationNode;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationFactory;
+import org.eclipse.gmf.runtime.notation.ShapeStyle;
+import org.eclipse.gmf.runtime.notation.View;
+import org.yakindu.sct.model.sgraph.Entry;
+import org.yakindu.sct.model.sgraph.EntryKind;
+import org.yakindu.sct.model.sgraph.Region;
+import org.yakindu.sct.model.sgraph.SGraphFactory;
+import org.yakindu.sct.model.sgraph.State;
+import org.yakindu.sct.model.sgraph.Statechart;
+import org.yakindu.sct.model.sgraph.Transition;
+import org.yakindu.sct.ui.editor.DiagramActivator;
+import org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor;
+import org.yakindu.sct.ui.editor.providers.SemanticHints;
+
+/**
+ * Convenience methods for semantic and notation model element creation.
+ * 
+ * @author muelder
+ * 
+ */
+public final class FactoryUtils {
+
+	private static final String INITIAL_SPECIFICATION = "interface:\n// Define events and\n// and variables here. \n//Use CTRL + Space for content assist.";
+	private static final int INITIAL_REGION_WIDTH = 400;
+	private static final int INITIAL_REGION_HEIGHT = 400;
+	private static final String INITIAL_REGION_NAME = "main region";
+
+	private static final int INITIAL_TEXT_COMPARTMENT_X = 10;
+	private static final int INITIAL_TEXT_COMPARTMENT_Y = 10;
+	private static final int INITIAL_TEXT_COMPARTMENT_HEIGHT = 400;
+	private static final int INITIAL_TEXT_COMPARTMENT_WIDTH = 200;
+
+	private static final int SPACING = 10;
+
+	private FactoryUtils() {
+	}
+
+	/**
+	 * Creates a Label view
+	 * 
+	 * @param owner
+	 * @param hint
+	 * @return
+	 */
+	@SuppressWarnings("unchecked")
+	public static Node createLabel(View owner, String hint) {
+		DecorationNode nameLabel = NotationFactory.eINSTANCE.createDecorationNode();
+		nameLabel.setType(hint);
+
+		ShapeStyle style = NotationFactory.eINSTANCE.createShapeStyle();
+		style.setFontColor(FigureUtilities.RGBToInteger(ColorConstants.black.getRGB()));
+		nameLabel.getStyles().add(style);
+
+		ViewUtil.insertChildView(owner, nameLabel, ViewUtil.APPEND, true);
+		nameLabel.setLayoutConstraint(NotationFactory.eINSTANCE.createLocation());
+		return nameLabel;
+	}
+
+	/**
+	 * Creates a Statechart with an initial Region and an initial State
+	 * 
+	 * @return instanceof {@link Statechart}
+	 */
+	public static void createStatechartModel(Resource resource) {
+		createStatechartModel(resource, DiagramActivator.DIAGRAM_PREFERENCES_HINT);
+	}
+
+	/**
+	 * Creates a Statechart with an initial Region and an initial State
+	 * 
+	 * @return instanceof {@link Statechart}
+	 */
+	public static void createStatechartModel(Resource resource, PreferencesHint preferencesHint) {
+		// Create a statechart
+		Statechart statechart = SGraphFactory.eINSTANCE.createStatechart();
+		String lastSegment = resource.getURI().lastSegment();
+		String statechartName = lastSegment.substring(0, lastSegment.indexOf('.'));
+		statechart.setName(statechartName);
+		statechart.setSpecification(INITIAL_SPECIFICATION);
+
+		Diagram diagram = ViewService.createDiagram(statechart, StatechartDiagramEditor.ID, preferencesHint);
+		diagram.setElement(statechart);
+		// Add to resource
+		resource.getContents().add(statechart);
+		resource.getContents().add(diagram);
+		// Create an initial region
+		Region region = SGraphFactory.eINSTANCE.createRegion();
+		region.setName(INITIAL_REGION_NAME);
+		statechart.getRegions().add(region);
+		Node regionView = ViewService.createNode(diagram, region, SemanticHints.REGION, preferencesHint);
+		setRegionViewLayoutConstraint(regionView);
+		// // Create an initial state
+		Entry initialState = SGraphFactory.eINSTANCE.createEntry();
+		initialState.setKind(EntryKind.INITIAL);
+		region.getVertices().add(initialState);
+		Node initialStateView = ViewService.createNode(getRegionCompartmentView(regionView), initialState,
+				SemanticHints.ENTRY, preferencesHint);
+		setInitialStateViewLayoutConstraint(initialStateView);
+		// Create the first state
+		State state = SGraphFactory.eINSTANCE.createState();
+		state.setName("StateA");
+		region.getVertices().add(state);
+		Node stateNode = ViewService.createNode(getRegionCompartmentView(regionView), state, SemanticHints.STATE,
+				preferencesHint);
+		setStateViewLayoutConstraint(stateNode);
+		// Create the transition from Initial State to State
+		Transition transition = SGraphFactory.eINSTANCE.createTransition();
+		transition.setSource(initialState);
+		transition.setTarget(state);
+		initialState.getOutgoingTransitions().add(transition);
+		ViewService.createEdge(initialStateView, stateNode, transition, SemanticHints.TRANSITION, preferencesHint);
+		// Create the textcompartment for events / variables
+		Node textCompartment = ViewService.createNode(diagram, statechart, SemanticHints.STATECHART_TEXT,
+				preferencesHint);
+		setTextCompartmentLayoutConstraint(textCompartment);
+
+	}
+
+	private static void setStateViewLayoutConstraint(Node stateNode) {
+		Bounds bounds = NotationFactory.eINSTANCE.createBounds();
+		bounds.setX(40);
+		bounds.setY(80);
+		stateNode.setLayoutConstraint(bounds);
+	}
+
+	private static void setInitialStateViewLayoutConstraint(Node initialStateView) {
+		Bounds bounds = NotationFactory.eINSTANCE.createBounds();
+		bounds.setX(70);
+		bounds.setY(20);
+		initialStateView.setLayoutConstraint(bounds);
+	}
+
+	private static View getRegionCompartmentView(View regionView) {
+		return (View) regionView.getChildren().get(1);
+	}
+
+	private static void setTextCompartmentLayoutConstraint(Node textCompartment) {
+		Bounds bounds = NotationFactory.eINSTANCE.createBounds();
+		bounds.setX(INITIAL_TEXT_COMPARTMENT_X);
+		bounds.setY(INITIAL_TEXT_COMPARTMENT_Y);
+		bounds.setHeight(INITIAL_TEXT_COMPARTMENT_HEIGHT);
+		bounds.setWidth(INITIAL_TEXT_COMPARTMENT_WIDTH);
+		textCompartment.setLayoutConstraint(bounds);
+	}
+
+	private static void setRegionViewLayoutConstraint(Node regionView) {
+		Bounds bounds = NotationFactory.eINSTANCE.createBounds();
+		bounds.setX(INITIAL_TEXT_COMPARTMENT_WIDTH + INITIAL_TEXT_COMPARTMENT_X + SPACING);
+		bounds.setY(INITIAL_TEXT_COMPARTMENT_Y);
+		bounds.setHeight(INITIAL_REGION_HEIGHT);
+		bounds.setWidth(INITIAL_REGION_WIDTH);
+		regionView.setLayoutConstraint(bounds);
+	}
+
+}