ref #6913 Remove dependency to WorkbenchWindow from utility class
[taxeditor.git] / eu.etaxonomy.taxeditor.navigation / src / main / java / eu / etaxonomy / taxeditor / navigation / navigator / TaxonNavigator.java
index e9d9e4ff086b97ef7b7b6344a6d60800b20b5099..f71f2796f856c1de52e4f49b15d4dbe3ca92289c 100644 (file)
@@ -24,8 +24,6 @@ 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;
 import org.eclipse.ui.IViewSite;
@@ -34,13 +32,12 @@ import org.eclipse.ui.navigator.CommonNavigator;
 
 import eu.etaxonomy.cdm.api.application.CdmApplicationState;
 import eu.etaxonomy.cdm.api.application.CdmChangeEvent;
-import eu.etaxonomy.cdm.api.application.CdmChangeEvent.Action;
 import eu.etaxonomy.cdm.api.application.ICdmChangeListener;
 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.common.ITreeNode;
 import eu.etaxonomy.cdm.model.taxon.Classification;
 import eu.etaxonomy.cdm.model.taxon.TaxonNaturalComparator;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
@@ -111,6 +108,7 @@ public class TaxonNavigator extends CommonNavigator implements
                }
                TaxonNodeNavigatorComparator viewerComparator = new TaxonNodeNavigatorComparator(comparator);
                this.getCommonViewer().setComparator(viewerComparator);
+               //this.getCommonViewer().setAutoExpandLevel(2);
         setLinkingEnabled(true);
 //             this.getCommonViewer().addSelectionChangedListener(new ISelectionChangedListener() {
 //
@@ -135,6 +133,7 @@ public class TaxonNavigator extends CommonNavigator implements
                        // closing the whole application
                        // should be handled by the state manager too
                    root = new Root(conversation);
+
                        return root;
                }
                return new EmptyRoot();
@@ -163,6 +162,8 @@ public class TaxonNavigator extends CommonNavigator implements
                    CdmApplicationState.getCurrentDataChangeService().register(this);
                }
                CdmStore.getLoginManager().addObserver(this);
+
+
        }
 
        /**
@@ -460,13 +461,13 @@ public class TaxonNavigator extends CommonNavigator implements
        /** {@inheritDoc} */
        @Override
        protected void handleDoubleClick(DoubleClickEvent event) {
-               ISelection selection = event.getSelection();
-               if(selection instanceof IStructuredSelection){
-                       Object firstElement = ((IStructuredSelection) selection).getFirstElement();
-                       if(firstElement instanceof ICdmBase){
-                               NavigationUtil.openEditor((ICdmBase) firstElement);
-                       }
-               }
+//             ISelection selection = event.getSelection();
+//             if(selection instanceof IStructuredSelection){
+//                     Object firstElement = ((IStructuredSelection) selection).getFirstElement();
+//                     if(firstElement instanceof ICdmBase){
+//                             NavigationUtil.openEditor((ICdmBase) firstElement, PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell());
+//                     }
+//             }
                // If the double click is passed up to the super-class it will
                // expand/collapse trees.
                // We do not want that
@@ -529,7 +530,7 @@ public class TaxonNavigator extends CommonNavigator implements
      * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
      */
     @Override
-    public List<Classification> getRootEntities() {
+    public List<ITreeNode> getRootEntities() {
         if(root != null) {
             return root.getParentBeans();
         }
@@ -541,12 +542,13 @@ public class TaxonNavigator extends CommonNavigator implements
      */
     @Override
     public void onChange(CdmChangeEvent event) {
-        if(event.getAction() == Action.Delete && Classification.class.equals(event.getEntityType())) {
-            refresh();
-            return;
-        }
+//        if(event.getAction() == Action.Delete && Classification.class.equals(event.getEntityType())) {
+//            refresh();
+//            return;
+//        }
+        refresh();
         for(CdmBase cb : event.getChangedObjects()) {
-            if(cb instanceof TaxonNode) {
+               if(cb instanceof TaxonNode) {
                 TaxonNode tn = (TaxonNode)cb;
                 if(tn.getTaxon() == null) {
                     getCommonViewer().refresh(tn.getClassification());