Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs =================================================================== diff -u -r87445dcecde875ada5513431df8ca2d01a57f742 -r5e9fd91bb55d97ee46d4446960dfa7f63b0d48cf --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 87445dcecde875ada5513431df8ca2d01a57f742) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 5e9fd91bb55d97ee46d4446960dfa7f63b0d48cf) @@ -235,9 +235,8 @@ private TreeNodeInfo CreatePipingCalculationGroupContextTreeNodeInfo() { - var treeNodeInfo = CalculationTreeNodeInfoFactory.CreateCalculationGroupContextTreeNodeInfo(PipingCalculationGroupContextChildNodeObjects, null, Gui); + var treeNodeInfo = CalculationTreeNodeInfoFactory.CreateCalculationGroupContextTreeNodeInfo(PipingCalculationGroupContextChildNodeObjects, PipingCalculationGroupContextContextMenuStrip); - treeNodeInfo.ContextMenuStrip = PipingCalculationGroupContextContextMenuStrip; treeNodeInfo.OnNodeRemoved = PipingCalculationGroupContextOnNodeRemoved; return treeNodeInfo; @@ -610,40 +609,10 @@ private ContextMenuStrip PipingCalculationGroupContextContextMenuStrip(PipingCalculationGroupContext nodeData, object parentData, TreeViewControl treeViewControl) { var group = nodeData.WrappedData; - var addCalculationGroupItem = new StrictContextMenuItem( - RingtoetsCommonFormsResources.CalculationGroup_Add_CalculationGroup, - RingtoetsCommonFormsResources.CalculationGroup_Add_CalculationGroup_ToolTip, - RingtoetsCommonFormsResources.AddFolderIcon, (o, args) => - { - var newGroup = new CalculationGroup - { - Name = NamingHelper.GetUniqueName(group.Children, RingtoetsCommonDataResources.CalculationGroup_DefaultName, c => c.Name) - }; - group.Children.Add(newGroup); - nodeData.WrappedData.NotifyObservers(); - }); - - var addCalculationItem = new StrictContextMenuItem( - RingtoetsCommonFormsResources.CalculationGroup_Add_Calculation, - PipingFormsResources.PipingCalculationGroup_Add_PipingCalculation_ToolTip, - PipingFormsResources.PipingIcon, (o, args) => - { - var calculation = new PipingCalculationScenario(nodeData.FailureMechanism.GeneralInput, nodeData.FailureMechanism.NormProbabilityInput) - { - Name = NamingHelper.GetUniqueName(group.Children, PipingDataResources.PipingCalculation_DefaultName, c => c.Name) - }; - - group.Children.Add(calculation); - nodeData.WrappedData.NotifyObservers(); - }); - var generateCalculationsItem = CreateGeneratePipingCalculationsItem(nodeData); - var validateAllItem = CreateValidateAllItem(group); - var calculateAllItem = CreateCalculateAllItem(group); - var clearAllItem = new StrictContextMenuItem( RingtoetsCommonFormsResources.Clear_all_output, PipingFormsResources.PipingCalculationGroup_ClearOutput_ToolTip, @@ -678,10 +647,11 @@ .AddSeparator(); } + CalculationTreeNodeInfoFactory.AddCreateCalculationGroupItem(builder, group); + CalculationTreeNodeInfoFactory.AddCreateCalculationItem(builder, nodeData, AddCalculationScenario); + builder.AddSeparator(); + builder - .AddCustomItem(addCalculationGroupItem) - .AddCustomItem(addCalculationItem) - .AddSeparator() .AddCustomItem(validateAllItem) .AddCustomItem(calculateAllItem) .AddCustomItem(clearAllItem) @@ -715,6 +685,17 @@ .Build(); } + private static void AddCalculationScenario(PipingCalculationGroupContext nodeData) + { + var calculation = new PipingCalculationScenario(nodeData.FailureMechanism.GeneralInput, nodeData.FailureMechanism.NormProbabilityInput) + { + Name = NamingHelper.GetUniqueName(nodeData.WrappedData.Children, PipingDataResources.PipingCalculation_DefaultName, c => c.Name) + }; + + nodeData.WrappedData.Children.Add(calculation); + nodeData.WrappedData.NotifyObservers(); + } + private StrictContextMenuItem CreateGeneratePipingCalculationsItem(PipingCalculationGroupContext nodeData) { var surfaceLineAvailable = nodeData.AvailablePipingSurfaceLines.Any() && nodeData.AvailableStochasticSoilModels.Any();