Index: Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/CalculationTreeNodeInfoFactory.cs
===================================================================
diff -u -rc3031f6290e2975c6a136b4b9327ae7fbd64c6b1 -rb6993e964bc966bd9fa07dc8962dca7f6fbaab70
--- Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/CalculationTreeNodeInfoFactory.cs (.../CalculationTreeNodeInfoFactory.cs) (revision c3031f6290e2975c6a136b4b9327ae7fbd64c6b1)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/CalculationTreeNodeInfoFactory.cs (.../CalculationTreeNodeInfoFactory.cs) (revision b6993e964bc966bd9fa07dc8962dca7f6fbaab70)
@@ -30,6 +30,7 @@
using Ringtoets.Common.Forms.PresentationObjects;
using Ringtoets.Common.Forms.Properties;
using RingtoetsCommonDataResources = Ringtoets.Common.Data.Properties.Resources;
+using BaseResources = Core.Common.Base.Properties.Resources;
namespace Ringtoets.Common.Forms.TreeNodeInfos
{
@@ -115,6 +116,39 @@
builder.AddCustomItem(createCalculationItem);
}
+ ///
+ /// This method adds a context menu item for clearing the output of all calculations in the calculation group.
+ ///
+ /// The builder to add the context menu item to.
+ /// The calculation group involved.
+ public static void AddClearAllCalculationOutputInGroupItem(IContextMenuBuilder builder, CalculationGroup calculationGroup)
+ {
+ var clearAllItem = new StrictContextMenuItem(
+ Resources.Clear_all_output,
+ Resources.CalculationGroup_ClearOutput_ToolTip,
+ Resources.ClearIcon, (o, args) =>
+ {
+ if (MessageBox.Show(Resources.CalculationGroup_ClearOutput_Are_you_sure_clear_all_output, BaseResources.Confirm, MessageBoxButtons.OKCancel) != DialogResult.OK)
+ {
+ return;
+ }
+
+ foreach (var calc in calculationGroup.GetCalculations().Where(c => c.HasOutput))
+ {
+ calc.ClearOutput();
+ calc.NotifyObservers();
+ }
+ });
+
+ if (!calculationGroup.GetCalculations().Any(c => c.HasOutput))
+ {
+ clearAllItem.Enabled = false;
+ clearAllItem.ToolTipText = Resources.CalculationGroup_ClearOutput_No_calculation_with_output_to_clear;
+ }
+
+ builder.AddCustomItem(clearAllItem);
+ }
+
# region Helper methods for CreateCalculationGroupContextTreeNodeInfo
private static bool IsNestedGroup(object parentData)