Remove CdmViewerChooser from double-click functionality of taxon
authorp.plitzner <p.plitzner@bgbm.org>
Wed, 17 Feb 2016 17:07:37 +0000 (18:07 +0100)
committerp.plitzner <p.plitzner@bgbm.org>
Wed, 17 Feb 2016 17:07:37 +0000 (18:07 +0100)
navigator

eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java

index 8c36e2a18ac0e9eb2d612761f4f75d3bb681af1f..a6d5975fe9491aae808c267699f90bbd46ad0e1f 100644 (file)
@@ -15,17 +15,20 @@ import java.util.UUID;
 import org.eclipse.core.commands.operations.IUndoContext;
 import org.eclipse.core.commands.operations.UndoContext;
 import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.jface.wizard.WizardDialog;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IEditorReference;
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.navigator.CommonViewer;
 
 import eu.etaxonomy.cdm.model.common.ICdmBase;
 import eu.etaxonomy.cdm.model.description.PolytomousKey;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
+import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.Synonym;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
@@ -37,6 +40,7 @@ import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.navigation.internal.TaxeditorNavigationPlugin;
 import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;
+import eu.etaxonomy.taxeditor.newWizard.NewClassificationWizard;
 import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
 
 /**
@@ -57,7 +61,14 @@ public class NavigationUtil extends AbstractUtility{
        public static void openEditor(ICdmBase selectedObject){
                UUID entityUuid = selectedObject.getUuid();
                try {
-                       if(selectedObject instanceof TaxonNode){
+                       if(selectedObject instanceof Classification){
+                       NewClassificationWizard classificationWizard = new NewClassificationWizard();
+                       classificationWizard.init(null, null);
+                       classificationWizard.setEntity((Classification) selectedObject);
+                       WizardDialog dialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), classificationWizard);
+                       dialog.open();
+                       }
+                       else if(selectedObject instanceof TaxonNode){
                                EditorUtil.openTaxonNode(entityUuid);
                        }else if(selectedObject instanceof TaxonBase){
                                EditorUtil.openTaxonBase(entityUuid);
index fe13ff0e959ed0a330db3566f54aef954c60fff6..107e63a99c47c9e80d7447292caa6621dd089900 100644 (file)
@@ -25,6 +25,7 @@ import java.util.UUID;
 import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.TreePath;
 import org.eclipse.ui.IMemento;
@@ -40,6 +41,7 @@ import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.api.service.IClassificationService;
 import eu.etaxonomy.cdm.model.common.CdmBase;
+import eu.etaxonomy.cdm.model.common.ICdmBase;
 import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.TaxonNaturalComparator;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
@@ -452,11 +454,13 @@ public class TaxonNavigator extends CommonNavigator implements
        /** {@inheritDoc} */
        @Override
        protected void handleDoubleClick(DoubleClickEvent event) {
-        if(event.getSelection() instanceof IStructuredSelection){
-            Object selectedObject = ((IStructuredSelection) event.getSelection()).getFirstElement();
-            CdmViewerChooser chooser = new CdmViewerChooser(getSite().getShell());
-            chooser.chooseViewer(selectedObject);
-        }
+               ISelection selection = event.getSelection();
+               if(selection instanceof IStructuredSelection){
+                       Object firstElement = ((IStructuredSelection) selection).getFirstElement();
+                       if(firstElement instanceof ICdmBase){
+                               NavigationUtil.openEditor((ICdmBase) firstElement);
+                       }
+               }
                // If the double click is passed up to the super-class it will
                // expand/collapse trees.
                // We do not want that