Index: Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/CalculationTreeNodeInfoFactory.cs =================================================================== diff -u -r3bd79dc878fa0b81b1ebb5c35dd5612f2bfed356 -r9643d7e5bbb27a7782b5d939b029a70a1c023138 --- Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/CalculationTreeNodeInfoFactory.cs (.../CalculationTreeNodeInfoFactory.cs) (revision 3bd79dc878fa0b81b1ebb5c35dd5612f2bfed356) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/CalculationTreeNodeInfoFactory.cs (.../CalculationTreeNodeInfoFactory.cs) (revision 9643d7e5bbb27a7782b5d939b029a70a1c023138) @@ -224,6 +224,37 @@ builder.AddCustomItem(calculateItem); } + /// + /// This method adds a context menu item for clearing the output of a calculation. + /// + /// The builder to add the context menu item to. + /// The calculation involved. + public static void AddClearCalculationOutputItem(IContextMenuBuilder builder, ICalculation calculation) + { + var clearOutputItem = new StrictContextMenuItem( + Resources.Clear_output, + Resources.Clear_output_ToolTip, + Resources.ClearIcon, + (o, args) => + { + if (MessageBox.Show(Resources.Calculation_ContextMenuStrip_Are_you_sure_clear_output, BaseResources.Confirm, MessageBoxButtons.OKCancel) != DialogResult.OK) + { + return; + } + + calculation.ClearOutput(); + calculation.NotifyObservers(); + }); + + if (!calculation.HasOutput) + { + clearOutputItem.Enabled = false; + clearOutputItem.ToolTipText = Resources.ClearOutput_No_output_to_clear; + } + + builder.AddCustomItem(clearOutputItem); + } + # region Helper methods for CreateCalculationGroupContextTreeNodeInfo private static bool IsNestedGroup(object parentData)