ref #6566 Migrate Sessions view
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / view / AbstractCdmViewPart.java
index 35483a8723e72c7789b96de3dada2b63af60e448..ed0f1863d527b10f3e9b568889b7fbef30d97a53 100644 (file)
@@ -1,4 +1,3 @@
-// $Id$
 /**
  * Copyright (C) 2007 EDIT
  * European Distributed Institute of Taxonomy
@@ -96,6 +95,7 @@ public abstract class AbstractCdmViewPart extends ViewPart implements ISelection
      * <p>showEmptyPage</p>
      */
     public void showEmptyPage(){
+       setPartName(createPartTitle(null));
         pageBook.showPage(emptySelectionLabel);
     }
 
@@ -109,8 +109,14 @@ public abstract class AbstractCdmViewPart extends ViewPart implements ISelection
         this.part = part;
 
         Object element = selection.getFirstElement();
-               getViewer().setInput(element);
-               showViewer();
+      //avoid widget is disposed exceptions
+        if (getViewer().getControl()==null || getViewer().getControl().isDisposed()){
+            return;
+        }
+
+        setPartName(createPartTitle(element));
+        getViewer().setInput(element);
+        showViewer();
     }
 
     /**
@@ -218,4 +224,13 @@ public abstract class AbstractCdmViewPart extends ViewPart implements ISelection
         // TODO Auto-generated method stub
         return null;
     }
+    
+       protected String createPartTitle(Object selectedObject){
+           if(selectedObject!=null){
+               return getViewName()+": "+selectedObject; //$NON-NLS-1$
+           }
+        return getViewName();
+       }
+       
+    protected abstract String getViewName();
 }