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