open Taxonpage with single click in taxonnavigator
authorKatja Luther <k.luther@bgbm.org>
Tue, 24 Jun 2014 09:44:50 +0000 (09:44 +0000)
committerKatja Luther <k.luther@bgbm.org>
Tue, 24 Jun 2014 09:44:50 +0000 (09:44 +0000)
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/TaxonNavigator.java

index 1e30eb0b2218703ccd14347ecd162f0d28cba098..3bc4a276c0259564ee8b9a9f40e6f70fb86924ea 100644 (file)
@@ -21,6 +21,9 @@ 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.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.TreePath;
 import org.eclipse.ui.IMemento;
 import org.eclipse.ui.IViewSite;
@@ -31,6 +34,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.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.TaxonComparatorSearch;
 import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.model.DataChangeBridge;
@@ -79,6 +83,21 @@ public class TaxonNavigator extends CommonNavigator implements
                TaxonComparatorSearch comparator = new TaxonComparatorSearch();
                TaxonNodeComparator viewerComparator = new TaxonNodeComparator(comparator);
                this.getCommonViewer().setComparator(viewerComparator);
+               this.getCommonViewer().addSelectionChangedListener(new ISelectionChangedListener() {
+                       
+                       @Override
+                       public void selectionChanged(SelectionChangedEvent arg0) {
+                               IStructuredSelection selection = (IStructuredSelection) getCommonViewer().getSelection();
+                               
+                               Object firstElement =  selection.getFirstElement();
+                               //
+                               if (!(firstElement instanceof Classification)){
+                                       //NavigationUtil.selectInNavigator(firstElement, null);
+                                       NavigationUtil.openEditor(firstElement);
+                               }
+                               
+                       }
+               } );
                
                if (CdmStore.isActive()) {