ref #6909 Propagate TreeSelection
authorPatrick Plitzner <p.plitzner@bgbm.org>
Tue, 5 Sep 2017 16:59:33 +0000 (18:59 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 6 Sep 2017 05:30:18 +0000 (07:30 +0200)
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/TaxonNavigatorE4.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/NewClassificationHandlerE4.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/NewTaxonNodeHandlerE4.java

index 274ab6ee3a000905dda379069df53aa023569304..5c4a5c15e1986f9a0b8f8d9490d9f3434ab4256f 100644 (file)
@@ -52,7 +52,6 @@ import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.cdm.model.taxon.TaxonNodeByNameComparator;
 import eu.etaxonomy.cdm.model.taxon.TaxonNodeByRankAndNameComparator;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
-import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.DataChangeBridge;
 import eu.etaxonomy.taxeditor.model.IContextListener;
 import eu.etaxonomy.taxeditor.model.IDataChangeBehavior;
@@ -124,7 +123,7 @@ public class TaxonNavigatorE4 implements
         viewer.setLabelProvider(new TaxonNavigatorLabelProviderE4());
 
         //propagate selection
-        selectionChangedListener = (event -> selService.setSelection(AbstractUtility.getElementsFromSelectionChangedEvent(event)));
+        selectionChangedListener = (event -> selService.setSelection(event.getSelection()));
         viewer.addSelectionChangedListener(selectionChangedListener);
 
         //create context menu
index 74b0016f14cfa5d1e670203165ffd779b3236ac2..56aa24734af402614727721eea51c6e4f18c68d8 100644 (file)
@@ -13,6 +13,7 @@ import javax.inject.Named;
 
 import org.eclipse.e4.core.di.annotations.Execute;
 import org.eclipse.e4.ui.services.IServiceConstants;
+import org.eclipse.jface.viewers.ITreeSelection;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.widgets.Shell;
 
@@ -27,9 +28,10 @@ import eu.etaxonomy.taxeditor.newWizard.NewClassificationWizard;
 public class NewClassificationHandlerE4 {
 
     @Execute
-    public void execute(@Named(IServiceConstants.ACTIVE_SHELL)Shell shell) {
+    public void execute(@Named(IServiceConstants.ACTIVE_SHELL)Shell shell,
+            @Named(IServiceConstants.ACTIVE_SELECTION)ITreeSelection selection) {
                NewClassificationWizard wizard = new NewClassificationWizard();
-               wizard.init(null, null);
+               wizard.init(null, selection);
                WizardDialog dialog = new WizardDialog(shell, wizard);
                dialog.open();
        }
index 70f0cdb7df657b3641662d76c8e2c4175a03c99d..d1fa6c84438e0535fbe9efceccb0b2d38925b10b 100644 (file)
@@ -15,6 +15,7 @@ import org.eclipse.core.runtime.IStatus;
 import org.eclipse.e4.core.di.annotations.CanExecute;
 import org.eclipse.e4.core.di.annotations.Execute;
 import org.eclipse.e4.ui.services.IServiceConstants;
+import org.eclipse.jface.viewers.ITreeSelection;
 import org.eclipse.jface.viewers.TreeSelection;
 import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.widgets.Shell;
@@ -32,10 +33,11 @@ import eu.etaxonomy.taxeditor.newWizard.NewTaxonNodeWizard;
 public class NewTaxonNodeHandlerE4 {
 
     @Execute
-    public void execute(@Named(IServiceConstants.ACTIVE_SHELL)Shell shell) throws Exception {
+    public void execute(@Named(IServiceConstants.ACTIVE_SHELL)Shell shell,
+            @Named(IServiceConstants.ACTIVE_SELECTION)ITreeSelection selection) throws Exception {
 
                final NewTaxonNodeWizard wizard = new NewTaxonNodeWizard();
-               wizard.init(null, null);
+               wizard.init(null, selection);
                final WizardDialog dialog = new WizardDialog(shell, wizard);
                wizard.addWizardPageListener(new IWizardPageListener() {
                    @Override