- externalized plugin.xml
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / derivate / DerivateView.java
index 441685dc42af8b15a09b6186a098c76bd146b364..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,13 +108,13 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa
         if(editorInput instanceof DerivateViewEditorInput){
             SpecimenOrObservationBase<?> specimen = ((DerivateViewEditorInput) editorInput).getDerivate();
             SpecimenOrObservationBase<?> rootElement = ((DerivateViewEditorInput) editorInput).getRootElement();
-            setPartName(rootElement.toString());
+            setPartName(labelProvider.getDerivateText(rootElement));
             viewer.setSelection(new StructuredSelection(new TreeNode(specimen)));
         }
 
         //add drag'n'drop support
         Transfer[] transfers = new Transfer[] {LocalSelectionTransfer.getTransfer(),};
-        viewer.addDragSupport(dndOperations, transfers, new DerivateDragListener(viewer));
+        viewer.addDragSupport(dndOperations, transfers, new DerivateDragListener(this));
         viewer.addDropSupport(dndOperations, transfers, new DerivateDropListener(this));
     }
 
@@ -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,6 +304,10 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa
      */
     @Override
     public void workbenchShutdown(IMemento memento, IProgressMonitor monitor) {
+//        if (!conversation.isBound()) {
+//            conversation.bind();
+//        }
+//        conversation.close();
 //        if(memento == null){
 //            return;
 //        }