Index: Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/CalculationTreeNodeInfoFactory.cs =================================================================== diff -u -rba310454172ed29499474b2f8b013fa0f0c523b8 -rb47c41dd3741ada477388e6c8a9224ecb66291e7 --- Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/CalculationTreeNodeInfoFactory.cs (.../CalculationTreeNodeInfoFactory.cs) (revision ba310454172ed29499474b2f8b013fa0f0c523b8) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/CalculationTreeNodeInfoFactory.cs (.../CalculationTreeNodeInfoFactory.cs) (revision b47c41dd3741ada477388e6c8a9224ecb66291e7) @@ -24,10 +24,8 @@ using System.Linq; using System.Windows.Forms; using Core.Common.Controls.TreeView; -using Core.Common.Gui.ContextMenu; using Ringtoets.Common.Data.Calculation; using Ringtoets.Common.Data.FailureMechanism; -using Ringtoets.Common.Forms.Helpers; using Ringtoets.Common.Forms.PresentationObjects; using Ringtoets.Common.Forms.Properties; using RingtoetsCommonDataResources = Ringtoets.Common.Data.Properties.Resources; @@ -143,178 +141,6 @@ }; } - /// - /// This method adds a context menu item for creating new calculation groups. - /// - /// The builder to add the context menu item to. - /// The calculation group involved. - public static void AddCreateCalculationGroupItem(IContextMenuBuilder builder, CalculationGroup calculationGroup) - { - var createCalculationGroupItem = new StrictContextMenuItem( - Resources.CalculationGroup_Add_CalculationGroup, - Resources.CalculationGroup_Add_CalculationGroup_Tooltip, - Resources.AddFolderIcon, - (o, args) => - { - var calculation = new CalculationGroup - { - Name = NamingHelper.GetUniqueName(calculationGroup.Children, RingtoetsCommonDataResources.CalculationGroup_DefaultName, c => c.Name) - }; - calculationGroup.Children.Add(calculation); - calculationGroup.NotifyObservers(); - }); - - builder.AddCustomItem(createCalculationGroupItem); - } - - /// - /// This method adds a context menu item for creating new calculations. - /// - /// The builder to add the context menu item to. - /// The calculation group context involved. - /// The action for adding a calculation to the calculation group. - public static void AddCreateCalculationItem(IContextMenuBuilder builder, TCalculationGroupContext calculationGroupContext, Action addCalculation) - where TCalculationGroupContext : ICalculationContext - { - var createCalculationItem = new StrictContextMenuItem( - Resources.CalculationGroup_Add_Calculation, - Resources.CalculationGroup_Add_Calculation_Tooltip, - Resources.FailureMechanismIcon, - (o, args) => { addCalculation(calculationGroupContext); }); - - 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); - } - - /// - /// This method adds a context menu item for performing all calculations in the calculation group. - /// - /// The builder to add the context menu item to. - /// The calculation group involved. - /// The calculation group context belonging to the calculation group. - /// The action that performs all calculations. - public static void AddPerformAllCalculationsInGroupItem - (IContextMenuBuilder builder, CalculationGroup calculationGroup, TCalculationGroupContext context, Action calculateAll) - where TCalculationGroupContext : ICalculationContext - { - var performAllItem = new StrictContextMenuItem( - Resources.Calculate_all, - Resources.CalculationGroup_CalculateAll_ToolTip, - Resources.CalculateAllIcon, (o, args) => { calculateAll(calculationGroup, context); }); - - if (!calculationGroup.GetCalculations().Any()) - { - performAllItem.Enabled = false; - performAllItem.ToolTipText = Resources.CalculationGroup_CalculateAll_No_calculations_to_run; - } - - builder.AddCustomItem(performAllItem); - } - - /// - /// This method adds a context menu item for performing a calculation. - /// - /// The builder to add the context menu item to. - /// The calculation involved. - /// The calculation context belonging to the calculation. - /// The action that performs the calculation. - public static void AddPerformCalculationItem( - IContextMenuBuilder builder, TCalculation calculation, TCalculationContext context, Action calculate) - where TCalculation : ICalculation where TCalculationContext : ICalculationContext - { - var calculateItem = new StrictContextMenuItem( - Resources.Calculate, - Resources.Calculate_ToolTip, - Resources.CalculateIcon, - (o, args) => { calculate(calculation, context); }); - - 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); - } - - /// - /// This method adds a context menu item for changing the relevancy state of a disabled failure mechanism. - /// - /// The builder to add the context menu item to. - /// The failure mechanism context involved. - public static void AddDisabledChangeRelevancyItem(IContextMenuBuilder builder, TFailureMechanismContext failureMechanismContext) - where TFailureMechanismContext : IFailureMechanismContext - { - var changeRelevancyItem = new StrictContextMenuItem( - Resources.FailureMechanismContextMenuStrip_Is_relevant, - Resources.FailureMechanismContextMenuStrip_Is_relevant_Tooltip, - Resources.Checkbox_empty, - (sender, args) => - { - failureMechanismContext.WrappedData.IsRelevant = true; - failureMechanismContext.WrappedData.NotifyObservers(); - }); - - builder.AddCustomItem(changeRelevancyItem); - } - # region Helper methods for CreateCalculationGroupContextTreeNodeInfo private static bool IsNestedGroup(object parentData)