Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs =================================================================== diff -u -r578037b5080f7a4820286ea02c6b4c322a8b1b09 -r37fdad457c3ca89b8d5483bf2796b1ccb11ffdd5 --- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision 578037b5080f7a4820286ea02c6b4c322a8b1b09) +++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision 37fdad457c3ca89b8d5483bf2796b1ccb11ffdd5) @@ -204,6 +204,11 @@ calc)).ToList()); } + private static bool AllDataAvailable(IAssessmentSection assessmentSection, GrassCoverErosionInwardsFailureMechanism failureMechanism) + { + return assessmentSection.HydraulicBoundaryDatabase != null && failureMechanism.Sections.Any(); + } + #region GrassCoverErosionInwards TreeNodeInfo private object[] FailureMechanismEnabledChildNodeObjects(GrassCoverErosionInwardsFailureMechanismContext grassCoverErosionInwardsFailureMechanismContext) @@ -349,7 +354,7 @@ builder.AddCreateCalculationGroupItem(group); builder.AddCreateCalculationItem(nodeData, AddCalculation); builder.AddSeparator(); - builder.AddPerformAllCalculationsInGroupItem(group, nodeData, CalculateAll); + builder.AddPerformAllCalculationsInGroupItem(group, nodeData, CalculateAll, EnablePerformAllCalculationsInGroup); builder.AddClearAllCalculationOutputInGroupItem(group); builder.AddSeparator(); @@ -370,8 +375,13 @@ .Build(); } - private void CalculationGroupContextOnNodeRemoved(GrassCoverErosionInwardsCalculationGroupContext nodeData, object parentNodeData) + private static bool EnablePerformAllCalculationsInGroup(GrassCoverErosionInwardsCalculationGroupContext context) { + return AllDataAvailable(context.AssessmentSection, context.FailureMechanism); + } + + private static void CalculationGroupContextOnNodeRemoved(GrassCoverErosionInwardsCalculationGroupContext nodeData, object parentNodeData) + { var parentGroupContext = (GrassCoverErosionInwardsCalculationGroupContext) parentNodeData; parentGroupContext.WrappedData.Children.Remove(nodeData.WrappedData); @@ -428,9 +438,9 @@ .Build(); } - private bool EnablePerformCalculation(GrassCoverErosionInwardsCalculationContext context) + private static bool EnablePerformCalculation(GrassCoverErosionInwardsCalculationContext context) { - return context.AssessmentSection.HydraulicBoundaryDatabase != null && context.FailureMechanism.Sections.Any(); + return AllDataAvailable(context.AssessmentSection, context.FailureMechanism); } private void PerformCalculation(GrassCoverErosionInwardsCalculation calculation, GrassCoverErosionInwardsCalculationContext context)