From 7bfcd97377a551f9c5d4c0d06e2c64306e3a5b33 Mon Sep 17 00:00:00 2001
From: Patric Plitzner
Date: Tue, 16 Dec 2014 09:34:24 +0000
Subject: [PATCH] - added option for deep delete (with children) to
DerivateEditor
---
.../view/derivate/handler/DeleteDerivateHandler.java | 4 +++-
.../view/derivate/operation/DeleteDerivateOperation.java | 7 ++++++-
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/handler/DeleteDerivateHandler.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/handler/DeleteDerivateHandler.java
index 69b9b20d5..70de10d2d 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/handler/DeleteDerivateHandler.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/handler/DeleteDerivateHandler.java
@@ -69,7 +69,9 @@ public class DeleteDerivateHandler extends AbstractHandler {
label += " "+DerivateLabelProvider.getDerivateText(value, conversationHolder);
}
SpecimenDeleteConfigurator config = new SpecimenDeleteConfigurator();
- config.setDeleteChildren(false);
+ boolean deepDelete = event.getCommand().getId().equals("eu.etaxonomy.taxeditor.editor.derivate.deepDelete");
+ config.setDeleteChildren(deepDelete);
+ config.setDeleteMolecularData(deepDelete);
DeleteDerivateOperation deleteDerivateOperation = new DeleteDerivateOperation(label, undoContext, (CdmBase) value, postOperationEnabled, config);
AbstractUtility.executeOperation(deleteDerivateOperation);
}
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/operation/DeleteDerivateOperation.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/operation/DeleteDerivateOperation.java
index 678b43e40..78afd7c0a 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/operation/DeleteDerivateOperation.java
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/operation/DeleteDerivateOperation.java
@@ -60,7 +60,12 @@ public class DeleteDerivateOperation extends AbstractPostOperation {
@Override
public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
if(getPostOperationEnabled() instanceof ISaveablePart){
- if(!MessagingUtils.confirmDialog("Confirm deletion", "Do you really want to delete the selected element?")){
+ String confirmationQuestion = "Do you really want to delete the selected element";
+ if(deleteConfigurator.isDeleteChildren()){
+ confirmationQuestion += " and its children";
+ }
+ confirmationQuestion += "?";
+ if(!MessagingUtils.confirmDialog("Confirm deletion", confirmationQuestion)){
return Status.CANCEL_STATUS;
}
if(((ISaveablePart) getPostOperationEnabled()).isDirty()){
--
2.34.1