Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs =================================================================== diff -u -rf428768f659b91a7a7b6f47cfdd0cd861288171d -r9ad3a25b98327fbb360663497753e166e095fb4b --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision f428768f659b91a7a7b6f47cfdd0cd861288171d) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision 9ad3a25b98327fbb360663497753e166e095fb4b) @@ -932,6 +932,7 @@ var isNestedGroup = parentData is PipingCalculationGroupContext; StrictContextMenuItem generateCalculationsItem = CreateGeneratePipingCalculationsItem(nodeData); + StrictContextMenuItem updateEntryAndExitPointsItem = CreateUpdateEntryAndExitPointItem(nodeData); if (!isNestedGroup) { @@ -958,7 +959,9 @@ builder.AddRenameItem(); } - builder.AddValidateAllCalculationsInGroupItem( + builder.AddCustomItem(updateEntryAndExitPointsItem) + .AddSeparator() + .AddValidateAllCalculationsInGroupItem( nodeData, ValidateAll, ValidateAllDataAvailableAndGetErrorMessage) @@ -1011,14 +1014,13 @@ ? PipingFormsResources.PipingCalculationGroup_Generate_PipingCalculations_ToolTip : PipingFormsResources.PipingCalculationGroup_Generate_PipingCalculations_NoSurfaceLinesOrSoilModels_ToolTip; - var generateCalculationsItem = new StrictContextMenuItem( + return new StrictContextMenuItem( RingtoetsCommonFormsResources.CalculationGroup_Generate_Scenarios, pipingCalculationGroupGeneratePipingCalculationsToolTip, RingtoetsCommonFormsResources.GenerateScenariosIcon, (o, args) => { ShowSurfaceLineSelectionDialog(nodeData); }) { Enabled = surfaceLineAvailable }; - return generateCalculationsItem; } private static string ValidateAllDataAvailableAndGetErrorMessage(PipingCalculationGroupContext context) @@ -1053,6 +1055,24 @@ parentGroupContext.NotifyObservers(); } + private static StrictContextMenuItem CreateUpdateEntryAndExitPointItem(PipingCalculationGroupContext nodeData) + { + return new StrictContextMenuItem( + Resources.PipingPlugin_CreateUpdateEntryAndExitPointItem_Update_all_entry_and_exit_points, + Resources.PipingPlugin_CreateUpdateEntryAndExitPointItem_Update_all_calculations_with_characteristic_points_ToolTip, + RingtoetsCommonFormsResources.UpdateItemIcon, + (sender, args) => UpdateAllEntryAndExitPointsOfAllCalculations(nodeData)); + } + + private static void UpdateAllEntryAndExitPointsOfAllCalculations(PipingCalculationGroupContext nodeData) + { + IEnumerable calculations = nodeData.WrappedData.GetCalculations().OfType(); + foreach (PipingCalculationScenario calculation in calculations) + { + UpdateSurfaceLineDependentData(calculation); + } + } + #endregion #region Ringtoets piping surface line importer