浏览代码

Merge pull request #534 from Yakindu/issue_533

Issue 533
Thomas Kutz 9 年之前
父节点
当前提交
1ce7b75a1a

二进制
manual-tests/org.yakindu.sct.test.manual/YakinduTestReport.ods


+ 1 - 2
plugins/org.yakindu.sct.domain.generic/META-INF/MANIFEST.MF

@@ -23,5 +23,4 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Bundle-ActivationPolicy: lazy
 Export-Package: org.yakindu.sct.domain.generic,
  org.yakindu.sct.domain.generic.extension,
- org.yakindu.sct.domain.generic.modules,
- org.yakindu.sct.domain.generic.util
+ org.yakindu.sct.domain.generic.modules

+ 4 - 2
plugins/org.yakindu.sct.domain/META-INF/MANIFEST.MF

@@ -12,10 +12,12 @@ Require-Bundle: org.eclipse.core.runtime,
  org.yakindu.sct.model.sgraph,
  com.google.inject,
  org.yakindu.base.xtext.utils.jface,
- org.eclipse.xtext
+ org.eclipse.xtext,
+ org.eclipse.core.resources
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Bundle-ActivationPolicy: lazy
 Export-Package: org.yakindu.sct.domain,
- org.yakindu.sct.domain.extension
+ org.yakindu.sct.domain.extension,
+ org.yakindu.sct.domain.util
 Bundle-ClassPath: .
 Import-Package: com.google.inject.multibindings;version="1.3.0"

+ 1 - 1
plugins/org.yakindu.sct.domain.generic/src/org/yakindu/sct/domain/generic/util/URIUtil.java

@@ -8,7 +8,7 @@
  * committers of YAKINDU - initial API and implementation
  *
 */
-package org.yakindu.sct.domain.generic.util;
+package org.yakindu.sct.domain.util;
 
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.ResourcesPlugin;

+ 2 - 1
plugins/org.yakindu.sct.model.stext.ui/META-INF/MANIFEST.MF

@@ -22,7 +22,8 @@ Require-Bundle: org.yakindu.sct.model.stext;visibility:=reexport,
  org.yakindu.sct.model.sgraph.ui,
  org.eclipse.gmf.runtime.emf.core,
  org.yakindu.base.expressions.ui;visibility:=reexport,
- org.yakindu.base.types.edit
+ org.yakindu.base.types.edit,
+ org.yakindu.sct.ui.editor
 Import-Package: org.apache.log4j,
  org.apache.commons.logging
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7

+ 7 - 0
plugins/org.yakindu.sct.model.stext.ui/src/org/yakindu/sct/model/stext/ui/STextUiModule.java

@@ -13,6 +13,8 @@ package org.yakindu.sct.model.stext.ui;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.eclipse.xtext.documentation.IEObjectDocumentationProvider;
 import org.eclipse.xtext.tasks.ITaskFinder;
+import org.eclipse.xtext.ui.LanguageSpecific;
+import org.eclipse.xtext.ui.editor.IURIEditorOpener;
 import org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory.StatefulFactory;
 import org.eclipse.xtext.ui.editor.hover.DispatchingEObjectTextHover;
 import org.eclipse.xtext.ui.editor.hover.IEObjectHover;
@@ -40,6 +42,7 @@ import org.yakindu.sct.model.stext.ui.highlighting.SCTHighlightingConfiguration;
 import org.yakindu.sct.model.stext.ui.tasks.STextTaskFinder;
 import org.yakindu.sct.model.stext.ui.validation.SCTDiagnosticConverterImpl;
 import org.yakindu.sct.model.stext.ui.validation.SCTResourceValidatorImpl;
+import org.yakindu.sct.ui.editor.editor.SCTFileEditorOpener;
 
 import com.google.inject.Binder;
 import com.google.inject.name.Names;
@@ -138,5 +141,9 @@ public class STextUiModule extends
 		return STextTaskFinder.class;
 	}
 	
+	@Override
+	public void configureLanguageSpecificURIEditorOpener(com.google.inject.Binder binder) {
+		binder.bind(IURIEditorOpener.class).annotatedWith(LanguageSpecific.class).to(SCTFileEditorOpener.class);
+	}
 	
 }

+ 50 - 0
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editor/SCTFileEditorOpener.java

@@ -0,0 +1,50 @@
+/** 
+ * Copyright (c) 2015 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.editor;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.part.FileEditorInput;
+import org.eclipse.xtext.ui.editor.IURIEditorOpener;
+import org.yakindu.sct.domain.util.URIUtil;
+
+/**
+ * Opens <code>.sct</code> files in corresponding statechart diagramm editor.
+ * 
+ * @author thomas kutz - Initial contribution and API
+ *
+ */
+public class SCTFileEditorOpener implements IURIEditorOpener {
+
+	@Override
+	public IEditorPart open(URI uri, boolean select) {
+		try {
+			IFile fileToOpen = URIUtil.toFile(uri);
+			if (fileToOpen != null) {
+				return PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+						.openEditor(new FileEditorInput(fileToOpen), StatechartDiagramEditor.ID);
+			}
+		} catch (PartInitException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+	@Override
+	public IEditorPart open(URI referenceOwnerURI, EReference reference, int indexInList, boolean select) {
+		return open(referenceOwnerURI, select);
+	}
+
+}

+ 0 - 1
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/editor/StatechartDiagramEditor.java

@@ -28,7 +28,6 @@ import org.eclipse.gmf.runtime.common.ui.services.marker.MarkerNavigationService
 import org.eclipse.gmf.runtime.diagram.core.preferences.PreferencesHint;
 import org.eclipse.gmf.runtime.diagram.ui.internal.parts.DiagramGraphicalViewerKeyHandler;
 import org.eclipse.gmf.runtime.gef.ui.internal.editparts.AnimatableZoomManager;
-import org.eclipse.gmf.runtime.gef.ui.internal.editparts.AnimatedZoomListener;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorSite;

+ 0 - 2
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/propertysheets/OrderElementControl.java

@@ -24,7 +24,6 @@ import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
 import org.eclipse.gmf.runtime.diagram.ui.resources.editor.parts.DiagramDocumentEditor;
 import org.eclipse.gmf.runtime.emf.commands.core.commands.RepositionEObjectCommand;
 import org.eclipse.jface.layout.GridDataFactory;
-import org.eclipse.jface.resource.FontDescriptor;
 import org.eclipse.jface.viewers.ArrayContentProvider;
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -34,7 +33,6 @@ import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Font;
 import org.eclipse.swt.layout.FillLayout;
 import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Button;

+ 0 - 1
plugins/org.yakindu.sct.ui.editor/src/org/yakindu/sct/ui/editor/wizards/CreationWizard.java

@@ -55,7 +55,6 @@ import org.eclipse.ui.part.FileEditorInput;
 import org.eclipse.xtext.EcoreUtil2;
 import org.yakindu.base.base.BasePackage;
 import org.yakindu.base.gmf.runtime.util.EditPartUtils;
-import org.yakindu.sct.domain.extension.DomainRegistry;
 import org.yakindu.sct.model.sgraph.SGraphPackage;
 import org.yakindu.sct.model.sgraph.Statechart;
 import org.yakindu.sct.ui.editor.DiagramActivator;