- close Derivate Editor if all elements are deleted
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / derivate / operation / DeleteDerivateOperation.java
index 78afd7c0a319cda57508054eb130834b2f7ad8ac..8f65f7c9620e01427beecf157e935708b51b7d8e 100644 (file)
@@ -22,6 +22,7 @@ import eu.etaxonomy.cdm.api.service.IOccurrenceService;
 import eu.etaxonomy.cdm.api.service.config.SpecimenDeleteConfigurator;
 import eu.etaxonomy.cdm.model.common.CdmBase;
 import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
 import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
@@ -79,7 +80,12 @@ public class DeleteDerivateOperation extends AbstractPostOperation<CdmBase> {
                 DerivateView derivateView = (DerivateView) getPostOperationEnabled();
                 //update DerivateView
                 derivateView.getConversationHolder().commit();
-                return postExecute(null);
+                IStatus returnStatus = postExecute(null);
+                //close if no more items left
+                if(derivateView.getViewer().getTree().getItemCount()<1){
+                    AbstractUtility.close(derivateView);
+                }
+                return returnStatus;
             }
         }
         else{