- externalized plugin.xml
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / derivate / DerivateView.java
index 4b0a5bad1071a7a8a3426031105b15ec669a5508..8949898d79629cff51e6323b1c776b9957586812 100644 (file)
@@ -8,6 +8,7 @@ import java.util.Set;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.util.LocalSelectionTransfer;
+import org.eclipse.jface.viewers.AbstractTreeViewer;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TreeNode;
 import org.eclipse.jface.viewers.TreeViewer;
@@ -87,8 +88,9 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa
         viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION));
         viewer.setContentProvider(new DerivateContentProvider());
         labelProvider = new DerivateLabelProvider();
+        labelProvider.setConversation(conversation);
         viewer.setLabelProvider(labelProvider);
-        viewer.setAutoExpandLevel(2);
+        viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
         // Propagate selection from viewer
         getSite().setSelectionProvider(viewer);
 
@@ -106,7 +108,7 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa
         if(editorInput instanceof DerivateViewEditorInput){
             SpecimenOrObservationBase<?> specimen = ((DerivateViewEditorInput) editorInput).getDerivate();
             SpecimenOrObservationBase<?> rootElement = ((DerivateViewEditorInput) editorInput).getRootElement();
-            setPartName(DerivateLabelProvider.getDerivateText(rootElement));
+            setPartName(labelProvider.getDerivateText(rootElement));
             viewer.setSelection(new StructuredSelection(new TreeNode(specimen)));
         }
 
@@ -194,6 +196,7 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa
      */
     @Override
     public void setFocus() {
+        viewer.getControl().setFocus();
         //make sure to bind again if maybe in another view the conversation was unbound
         if(!conversation.isBound()){
             conversation.bind();
@@ -301,7 +304,10 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa
      */
     @Override
     public void workbenchShutdown(IMemento memento, IProgressMonitor monitor) {
-        conversation.close();
+//        if (!conversation.isBound()) {
+//            conversation.bind();
+//        }
+//        conversation.close();
 //        if(memento == null){
 //            return;
 //        }