Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs =================================================================== diff -u -r6b43c39e0f54d1054729aaed5aa6dc19149ef72a -r3bd79dc878fa0b81b1ebb5c35dd5612f2bfed356 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 6b43c39e0f54d1054729aaed5aa6dc19149ef72a) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 3bd79dc878fa0b81b1ebb5c35dd5612f2bfed356) @@ -423,16 +423,17 @@ private ContextMenuStrip PipingCalculationContextContextMenuStrip(PipingCalculationScenarioContext nodeData, object parentData, TreeViewControl treeViewControl) { + var builder = Gui.Get(nodeData, treeViewControl); + PipingCalculation calculation = nodeData.WrappedData; var validateItem = new StrictContextMenuItem(RingtoetsCommonFormsResources.Validate, RingtoetsCommonFormsResources.Validate_ToolTip, RingtoetsCommonFormsResources.ValidateIcon, (o, args) => { PipingCalculationService.Validate(calculation); }); - var calculateItem = new StrictContextMenuItem(RingtoetsCommonFormsResources.Calculate, - RingtoetsCommonFormsResources.Calculate_ToolTip, - RingtoetsCommonFormsResources.CalculateIcon, - (o, args) => { ActivityProgressDialogRunner.Run(Gui.MainWindow, new PipingCalculationActivity(calculation)); }); + builder.AddCustomItem(validateItem); + CalculationTreeNodeInfoFactory.AddPerformCalculationItem(builder, calculation, PerformCalculation); + var clearOutputItem = new StrictContextMenuItem(PipingFormsResources.Clear_output, PipingFormsResources.Clear_output_ToolTip, RingtoetsCommonFormsResources.ClearIcon, @@ -444,11 +445,11 @@ clearOutputItem.ToolTipText = PipingFormsResources.ClearOutput_No_output_to_clear; } - return Gui.Get(nodeData, treeViewControl) - .AddCustomItem(validateItem) - .AddCustomItem(calculateItem) - .AddCustomItem(clearOutputItem) - .AddSeparator() + builder + .AddCustomItem(clearOutputItem) + .AddSeparator(); + + return builder .AddRenameItem() .AddDeleteItem() .AddSeparator() @@ -514,6 +515,11 @@ calculation.NotifyObservers(); } + private void PerformCalculation(ICalculation calculation) + { + ActivityProgressDialogRunner.Run(Gui.MainWindow, new PipingCalculationActivity((PipingCalculation)calculation)); + } + # endregion # region PipingCalculationGroupContext TreeNodeInfo