- simplified part title of DetailsView
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / view / detail / DetailsViewPart.java
index d544df5fbdeedeb1c6c1c7b3d681b7218f56156b..71a7889eaebc6923622d596ae5d22d0488323e31 100644 (file)
@@ -12,6 +12,7 @@ package eu.etaxonomy.taxeditor.view.detail;
 
 import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.TreeNode;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.IEditorPart;
@@ -42,7 +43,6 @@ public class DetailsViewPart extends AbstractCdmEditorViewPart implements IPartC
        /** {@inheritDoc} */
        @Override
        public void createViewer(Composite parent) {
-               //selectionService.addPostSelectionListener(this);
 
                viewer = new DetailsViewer(parent, this);
                getSite().setSelectionProvider(viewer);
@@ -67,6 +67,7 @@ public class DetailsViewPart extends AbstractCdmEditorViewPart implements IPartC
 
         if((part instanceof IEditorPart) || (part instanceof IPartContentHasDetails)) {
             if(structuredSelection.size() != 1){
+                setPartName(createPartTitle(null));
                 showEmptyPage();
                 return;
             }
@@ -76,20 +77,35 @@ public class DetailsViewPart extends AbstractCdmEditorViewPart implements IPartC
                 // do show the map for distributions
                 Feature feature = ((FeatureNodeContainer) ((IStructuredSelection) selection).getFirstElement()).getFeature();
                 if(!feature.equals(Feature.DISTRIBUTION())){
+                    setPartName(createPartTitle(null));
                     showEmptyPage();
                     return;
                 }
             }
 
+
+            setPartName(createPartTitle(((IStructuredSelection) selection).getFirstElement()));
             showViewer(part, structuredSelection);
         }else{
+            setPartName(createPartTitle(null));
             showEmptyPage();
         }
        }
 
-       /* (non-Javadoc)
-        * @see eu.etaxonomy.taxeditor.view.AbstractCdmViewPart#showEmptyPage()
-        */
+       private String getViewName(){
+           return "Details";
+       }
+
+       private String createPartTitle(Object selectedObject){
+           if(selectedObject!=null){
+               if(selectedObject instanceof TreeNode){
+                   selectedObject = ((TreeNode) selectedObject).getValue();
+               }
+               return getViewName()+": "+selectedObject.getClass().getSimpleName();
+           }
+           return getViewName();
+       }
+
        @Override
        public void showEmptyPage() {
            viewer.setSelection(null);
@@ -116,15 +132,11 @@ public class DetailsViewPart extends AbstractCdmEditorViewPart implements IPartC
        /** {@inheritDoc} */
        @Override
        public void dispose() {
-               super.dispose();
                selectionService.removePostSelectionListener(this);
+               super.dispose();
+
        }
 
-       /**
-        * <p>onComplete</p>
-        *
-        * @return a boolean.
-        */
        @Override
     public boolean onComplete() {
                return true;