From: Patrick Plitzner Date: Tue, 12 Apr 2016 12:19:03 +0000 (+0200) Subject: Double click on taxon search opens Name Editor #5689 X-Git-Tag: 4.0.0^2~31 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/0aeb6effa85da754cd4efb48f0953b0bf2662243 Double click on taxon search opens Name Editor #5689 --- 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 a6d5975fe..0995da311 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 @@ -25,6 +25,7 @@ import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.navigator.CommonViewer; +import eu.etaxonomy.cdm.api.service.ITaxonService; import eu.etaxonomy.cdm.model.common.ICdmBase; import eu.etaxonomy.cdm.model.description.PolytomousKey; import eu.etaxonomy.cdm.model.name.TaxonNameBase; @@ -33,6 +34,7 @@ import eu.etaxonomy.cdm.model.taxon.Synonym; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonBase; import eu.etaxonomy.cdm.model.taxon.TaxonNode; +import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache; import eu.etaxonomy.taxeditor.editor.EditorUtil; import eu.etaxonomy.taxeditor.editor.TaxonEditorInput; import eu.etaxonomy.taxeditor.editor.internal.TaxeditorEditorPlugin; @@ -41,6 +43,7 @@ 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.CdmStore; import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin; /** @@ -58,6 +61,14 @@ public class NavigationUtil extends AbstractUtility{ * * @param selectedObject a {@link eu.etaxonomy.cdm.model.common.CdmBase} object. */ + public static void openEditor(UuidAndTitleCache uuidAndTitleCache){ + TaxonBase taxonBase = CdmStore.getService(ITaxonService.class).load(uuidAndTitleCache.getUuid()); + if(taxonBase==null){ + MessagingUtils.warn(NavigationUtil.class, "No taxon stored with UUID "+uuidAndTitleCache.getUuid()); + return; + } + openEditor(taxonBase); + } public static void openEditor(ICdmBase selectedObject){ UUID entityUuid = selectedObject.getUuid(); try { diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/SearchResultView.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/SearchResultView.java index 45925d809..18760f5c0 100644 --- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/SearchResultView.java +++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/search/SearchResultView.java @@ -21,6 +21,7 @@ import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.viewers.ArrayContentProvider; import org.eclipse.jface.viewers.DoubleClickEvent; import org.eclipse.jface.viewers.IDoubleClickListener; +import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.swt.SWT; @@ -46,9 +47,9 @@ import eu.etaxonomy.cdm.persistence.query.MatchMode; import eu.etaxonomy.taxeditor.model.AbstractUtility; import eu.etaxonomy.taxeditor.model.ContextListenerAdapter; import eu.etaxonomy.taxeditor.model.IContextListener; +import eu.etaxonomy.taxeditor.navigation.NavigationUtil; import eu.etaxonomy.taxeditor.navigation.search.SearchBar.SearchOption; import eu.etaxonomy.taxeditor.store.CdmStore; -import eu.etaxonomy.taxeditor.view.CdmViewerChooser; /** *

SearchResultView class.

@@ -117,10 +118,12 @@ public class SearchResultView extends ViewPart implements IConversationEnabled{ resultViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(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 UuidAndTitleCache){ + NavigationUtil.openEditor((UuidAndTitleCache) firstElement); + } } } });