Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs =================================================================== diff -u -rb53320286e086524c6003dc6e47af798ee3935be -rf5ed0a2ad860787e42f81146b5b5d768d99adace --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision b53320286e086524c6003dc6e47af798ee3935be) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision f5ed0a2ad860787e42f81146b5b5d768d99adace) @@ -19,6 +19,7 @@ // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. +using System; using System.Collections; using System.Collections.Generic; using System.Drawing; @@ -311,7 +312,7 @@ .AddToggleRelevancyOfFailureMechanismItem(pipingFailureMechanismContext, RemoveAllViewsForItem) .AddSeparator() .AddCustomItem(validateAllItem) - .AddPerformAllCalculationsInFailureMechanismItem(pipingFailureMechanismContext, CalculateAll, context => null) + .AddPerformAllCalculationsInFailureMechanismItem(pipingFailureMechanismContext, CalculateAll, EnablePerformAllCalculationsInFailureMechanism) .AddClearAllCalculationOutputInFailureMechanismItem(pipingFailureMechanismContext.WrappedData) .AddSeparator() .AddImportItem() @@ -324,6 +325,11 @@ .Build(); } + private string EnablePerformAllCalculationsInFailureMechanism(PipingFailureMechanismContext pipingFailureMechanismContext) + { + return AllDataAvailable(pipingFailureMechanismContext.WrappedData); + } + private void RemoveAllViewsForItem(PipingFailureMechanismContext failureMechanismContext) { Gui.ViewCommands.RemoveAllViewsForItem(failureMechanismContext); @@ -436,7 +442,7 @@ (o, args) => { PipingCalculationService.Validate(calculation); }); return builder.AddCustomItem(validateItem) - .AddPerformCalculationItem(calculation, nodeData, PerformCalculation, context => null) + .AddPerformCalculationItem(calculation, nodeData, PerformCalculation, EnablePerformCalculation) .AddClearCalculationOutputItem(calculation) .AddSeparator() .AddRenameItem() @@ -452,6 +458,16 @@ .Build(); } + private string EnablePerformCalculation(PipingCalculationScenarioContext context) + { + return AllDataAvailable(context.FailureMechanism); + } + + private static string AllDataAvailable(PipingFailureMechanism failureMechanism) + { + return !failureMechanism.Sections.Any() ? RingtoetsCommonFormsResources.GuiPlugin_AllDataAvailable_No_failure_mechanism_sections_imported : null; + } + private static object[] PipingCalculationContextChildNodeObjects(PipingCalculationScenarioContext pipingCalculationScenarioContext) { var childNodes = new List @@ -559,7 +575,7 @@ .AddCreateCalculationItem(nodeData, AddCalculationScenario) .AddSeparator() .AddCustomItem(validateAllItem) - .AddPerformAllCalculationsInGroupItem(group, nodeData, CalculateAll, context => null) + .AddPerformAllCalculationsInGroupItem(group, nodeData, CalculateAll, EnablePerformAllCalculationsInGroup) .AddClearAllCalculationOutputInGroupItem(group) .AddSeparator(); @@ -580,6 +596,11 @@ .Build(); } + private string EnablePerformAllCalculationsInGroup(PipingCalculationGroupContext pipingCalculationGroupContext) + { + return AllDataAvailable(pipingCalculationGroupContext.FailureMechanism); + } + private static void AddCalculationScenario(PipingCalculationGroupContext nodeData) { var calculation = new PipingCalculationScenario(nodeData.FailureMechanism.GeneralInput)