From 5c823b082d0d0f39fc6cae1fe26af0950d6f7940 Mon Sep 17 00:00:00 2001 From: "p.plitzner" Date: Wed, 17 Feb 2016 18:07:37 +0100 Subject: [PATCH] Remove CdmViewerChooser from double-click functionality of taxon navigator --- .../taxeditor/navigation/NavigationUtil.java | 13 ++++++++++++- .../navigation/navigator/TaxonNavigator.java | 14 +++++++++----- 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java index 8c36e2a18..a6d5975fe 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/NavigationUtil.java @@ -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); diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java index fe13ff0e9..107e63a99 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java @@ -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 -- 2.34.1