Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Rentz-Reichert2011-03-13 13:09:17 +0000
committerHenrik Rentz-Reichert2011-03-13 13:09:17 +0000
commit5b39ae6a1d1224d9935b9b8ad0414ea5d0b7c3dd (patch)
tree6048ebf32b0c8988400be98e3d240db2f5fcdd7b /plugins/org.eclipse.etrice.ui.commands/src
parente8d88bf7b801d7b16c766ff4ab817fe34277e2ab (diff)
downloadorg.eclipse.etrice-5b39ae6a1d1224d9935b9b8ad0414ea5d0b7c3dd.tar.gz
org.eclipse.etrice-5b39ae6a1d1224d9935b9b8ad0414ea5d0b7c3dd.tar.xz
org.eclipse.etrice-5b39ae6a1d1224d9935b9b8ad0414ea5d0b7c3dd.zip
ui.commands: Open Model selects the current structure class
Diffstat (limited to 'plugins/org.eclipse.etrice.ui.commands/src')
-rw-r--r--plugins/org.eclipse.etrice.ui.commands/src/org/eclipse/etrice/ui/commands/handlers/OpenModelHandler.java22
1 files changed, 21 insertions, 1 deletions
diff --git a/plugins/org.eclipse.etrice.ui.commands/src/org/eclipse/etrice/ui/commands/handlers/OpenModelHandler.java b/plugins/org.eclipse.etrice.ui.commands/src/org/eclipse/etrice/ui/commands/handlers/OpenModelHandler.java
index fc4a01d2d..3f410e742 100644
--- a/plugins/org.eclipse.etrice.ui.commands/src/org/eclipse/etrice/ui/commands/handlers/OpenModelHandler.java
+++ b/plugins/org.eclipse.etrice.ui.commands/src/org/eclipse/etrice/ui/commands/handlers/OpenModelHandler.java
@@ -5,12 +5,19 @@ import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.emf.edit.ui.util.EditUIUtil;
import org.eclipse.etrice.core.room.StructureClass;
+import org.eclipse.etrice.core.ui.internal.RoomActivator;
import org.eclipse.etrice.ui.behavior.editor.BehaviorEditor;
import org.eclipse.etrice.ui.structure.editor.StructureEditor;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.xtext.resource.ILocationInFileProvider;
+import org.eclipse.xtext.ui.editor.XtextEditor;
+import org.eclipse.xtext.util.TextLocation;
+
+import com.google.inject.Inject;
+import com.google.inject.Injector;
/**
* Our sample handler extends AbstractHandler, an IHandler base class.
@@ -18,10 +25,16 @@ import org.eclipse.ui.handlers.HandlerUtil;
* @see org.eclipse.core.commands.AbstractHandler
*/
public class OpenModelHandler extends AbstractHandler {
+
+ @Inject
+ ILocationInFileProvider locationProvider;
+
/**
* The constructor.
*/
public OpenModelHandler() {
+ Injector injector = RoomActivator.getInstance().getInjector("org.eclipse.etrice.core.Room");
+ injector.injectMembers(this);
}
/**
@@ -40,7 +53,14 @@ public class OpenModelHandler extends AbstractHandler {
}
if (sc!=null) {
try {
- EditUIUtil.openEditor(sc);
+ if (EditUIUtil.openEditor(sc)) {
+ editor = window.getActivePage().getActiveEditor();
+ if (editor instanceof XtextEditor) {
+ XtextEditor xed = (XtextEditor) editor;
+ TextLocation location = locationProvider.getLocation(sc);
+ xed.selectAndReveal(location.getOffset(), location.getLength());
+ }
+ }
} catch (PartInitException e) {
e.printStackTrace();
}

Back to the top