ref #6925 Open term editor in editor area
authorPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 30 Oct 2017 16:21:11 +0000 (17:21 +0100)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 30 Oct 2017 16:21:11 +0000 (17:21 +0100)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/editor/definedterm/e4/handler/OpenDefinedTermEditorHandlerE4.java

index e7ad0aa9348b797c560a82175cd656d94ceebb0d..ccb9a47b37deada73abf33ea35dcd7b2f75beb2a 100644 (file)
@@ -11,14 +11,18 @@ package eu.etaxonomy.taxeditor.editor.definedterm.e4.handler;
 import java.util.UUID;
 
 import org.eclipse.e4.core.di.annotations.Execute;
+import org.eclipse.e4.ui.model.application.MApplication;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
+import org.eclipse.e4.ui.model.application.ui.basic.MPartStack;
 import org.eclipse.e4.ui.model.application.ui.menu.MHandledMenuItem;
+import org.eclipse.e4.ui.workbench.modeling.EModelService;
 import org.eclipse.e4.ui.workbench.modeling.EPartService;
 import org.eclipse.e4.ui.workbench.modeling.EPartService.PartState;
 
 import eu.etaxonomy.cdm.model.common.TermType;
 import eu.etaxonomy.taxeditor.editor.definedterm.e4.DefinedTermEditorE4;
 import eu.etaxonomy.taxeditor.editor.definedterm.input.TermEditorInput;
+import eu.etaxonomy.taxeditor.workbench.WorkbenchUtility;
 
 
 /**
@@ -30,13 +34,17 @@ import eu.etaxonomy.taxeditor.editor.definedterm.input.TermEditorInput;
 public class OpenDefinedTermEditorHandlerE4 {
 
        @Execute
-       public void execute(EPartService partService, MHandledMenuItem menuItem) {
+       public void execute(EPartService partService, MHandledMenuItem menuItem, MApplication application, EModelService modelService) {
 
            String commandId = menuItem.getCommand().getElementId();
         UUID termTypeUuid = (UUID) menuItem.getTransientData().get(commandId+".termTypeUuid");
 
                TermEditorInput termEditorInput = new TermEditorInput(TermType.getByUuid(termTypeUuid));
                MPart part = partService.createPart("eu.etaxonomy.taxeditor.editor.definedTerm");
+               MPartStack editorAreaPartStack = WorkbenchUtility.getEditorAreaPartStack(application, modelService);
+               if(editorAreaPartStack!=null){
+                   editorAreaPartStack.getChildren().add(part);
+               }
                part = partService.showPart(part, PartState.ACTIVATE);
                DefinedTermEditorE4 termEditor = (DefinedTermEditorE4) part.getObject();
                termEditor.init(termEditorInput);