Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PresentationObjects/IFailureMechanismContext.cs
===================================================================
diff -u -r743c32ba40bc0d0165d0513d6ca95282b1021e6a -r0a1752d24408af81508bc81d154293be23c9c4ea
--- Ringtoets/Common/src/Ringtoets.Common.Forms/PresentationObjects/IFailureMechanismContext.cs (.../IFailureMechanismContext.cs) (revision 743c32ba40bc0d0165d0513d6ca95282b1021e6a)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/PresentationObjects/IFailureMechanismContext.cs (.../IFailureMechanismContext.cs) (revision 0a1752d24408af81508bc81d154293be23c9c4ea)
@@ -3,7 +3,7 @@
namespace Ringtoets.Common.Forms.PresentationObjects
{
///
- /// Interface for a failure mechanism context which wrappes an implementation of the
+ /// Interface for a failure mechanism context which wraps an implementation of the
/// interface.
///
///
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuBuilder.cs
===================================================================
diff -u -r4d711e7b0e3a8e91c9afc0339e3f7dadaf619fc3 -r0a1752d24408af81508bc81d154293be23c9c4ea
--- Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuBuilder.cs (.../RingtoetsContextMenuBuilder.cs) (revision 4d711e7b0e3a8e91c9afc0339e3f7dadaf619fc3)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuBuilder.cs (.../RingtoetsContextMenuBuilder.cs) (revision 0a1752d24408af81508bc81d154293be23c9c4ea)
@@ -156,6 +156,22 @@
return this;
}
+ ///
+ /// Adds an item to the , which performs all calculations in a failure mechanism.
+ ///
+ /// The type of the failure mechanism context.
+ /// The failure mechanism to perform all calculations for.
+ /// The action that performs all calculations.
+ /// The itself.
+ public RingtoetsContextMenuBuilder AddPerformAllCalculationsInFailureMechanismItem(
+ TFailureMechanismContext failureMechanismContext,
+ Action calculateAllAction)
+ where TFailureMechanismContext : IFailureMechanismContext
+ {
+ contextMenuBuilder.AddCustomItem(ringtoetsContextMenuItemFactory.CreatePerformAllCalculationsInFailureMechanismItem(failureMechanismContext, calculateAllAction));
+ return this;
+ }
+
# region Decorated members
///
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuItemFactory.cs
===================================================================
diff -u -r4d711e7b0e3a8e91c9afc0339e3f7dadaf619fc3 -r0a1752d24408af81508bc81d154293be23c9c4ea
--- Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuItemFactory.cs (.../RingtoetsContextMenuItemFactory.cs) (revision 4d711e7b0e3a8e91c9afc0339e3f7dadaf619fc3)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuItemFactory.cs (.../RingtoetsContextMenuItemFactory.cs) (revision 0a1752d24408af81508bc81d154293be23c9c4ea)
@@ -206,6 +206,34 @@
return clearAllItem;
}
+ ///
+ /// Creates a which is bound to the action of performing all calculations in a failure mechanism.
+ ///
+ /// The type of the failure mechanism context.
+ /// The failure mechanism to perform all calculations for.
+ /// The action that performs all calculations.
+ /// The created .
+ public StrictContextMenuItem CreatePerformAllCalculationsInFailureMechanismItem(
+ TFailureMechanismContext failureMechanismContext,
+ Action calculateAllAction)
+ where TFailureMechanismContext : IFailureMechanismContext
+ {
+ var performAllItem = new StrictContextMenuItem(
+ Resources.Calculate_all,
+ Resources.Calculate_all_ToolTip,
+ Resources.CalculateAllIcon,
+ (o, args) => calculateAllAction(failureMechanismContext)
+ );
+
+ if (!failureMechanismContext.WrappedData.Calculations.Any())
+ {
+ performAllItem.Enabled = false;
+ performAllItem.ToolTipText = Resources.FailureMechanism_CreateCalculateAllItem_No_calculations_to_run;
+ }
+
+ return performAllItem;
+ }
+
private static void ClearAllCalculationOutputInFailureMechanism(IFailureMechanism failureMechanism)
{
if (MessageBox.Show(Resources.FailureMechanism_ContextMenuStrip_Are_you_sure_clear_all_output, BaseResources.Confirm, MessageBoxButtons.OKCancel) != DialogResult.OK)
Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs
===================================================================
diff -u -r4d711e7b0e3a8e91c9afc0339e3f7dadaf619fc3 -r0a1752d24408af81508bc81d154293be23c9c4ea
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision 4d711e7b0e3a8e91c9afc0339e3f7dadaf619fc3)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision 0a1752d24408af81508bc81d154293be23c9c4ea)
@@ -255,15 +255,13 @@
grassCoverErosionInwardsFailureMechanismContext.WrappedData.NotifyObservers();
});
- var calculateAllItem = CreateCalculateAllItem(grassCoverErosionInwardsFailureMechanismContext);
-
var builder = new RingtoetsContextMenuBuilder(Gui.Get(grassCoverErosionInwardsFailureMechanismContext, treeViewControl));
return builder
.AddOpenItem()
.AddSeparator()
.AddCustomItem(changeRelevancyItem)
.AddSeparator()
- .AddCustomItem(calculateAllItem)
+ .AddPerformAllCalculationsInFailureMechanismItem(grassCoverErosionInwardsFailureMechanismContext, CalculateAll)
.AddClearAllCalculationOutputInFailureMechanismItem(grassCoverErosionInwardsFailureMechanismContext.WrappedData)
.AddSeparator()
.AddImportItem()
@@ -287,11 +285,6 @@
.Build();
}
- private static IEnumerable GetAllCalculations(GrassCoverErosionInwardsFailureMechanism failureMechanism)
- {
- return failureMechanism.Calculations.OfType();
- }
-
private static void AddCalculation(GrassCoverErosionInwardsCalculationGroupContext context)
{
var calculation = new GrassCoverErosionInwardsCalculation(context.FailureMechanism.GeneralInput)
@@ -302,27 +295,9 @@
context.WrappedData.NotifyObservers();
}
- private StrictContextMenuItem CreateCalculateAllItem(GrassCoverErosionInwardsFailureMechanismContext context)
- {
- var menuItem = new StrictContextMenuItem(
- RingtoetsCommonFormsResources.Calculate_all,
- RingtoetsCommonFormsResources.Calculate_all_ToolTip,
- RingtoetsCommonFormsResources.CalculateAllIcon,
- (o, args) => CalculateAll(context)
- );
-
- if (!GetAllCalculations(context.WrappedData).Any())
- {
- menuItem.Enabled = false;
- menuItem.ToolTipText = RingtoetsCommonFormsResources.FailureMechanism_CreateCalculateAllItem_No_calculations_to_run;
- }
-
- return menuItem;
- }
-
private void CalculateAll(GrassCoverErosionInwardsFailureMechanismContext context)
{
- CalculateAll(context.WrappedData, GetAllCalculations(context.WrappedData), context.Parent);
+ CalculateAll(context.WrappedData, context.WrappedData.Calculations.OfType(), context.Parent);
}
#endregion
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs
===================================================================
diff -u -r4d711e7b0e3a8e91c9afc0339e3f7dadaf619fc3 -r0a1752d24408af81508bc81d154293be23c9c4ea
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 4d711e7b0e3a8e91c9afc0339e3f7dadaf619fc3)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 0a1752d24408af81508bc81d154293be23c9c4ea)
@@ -288,16 +288,14 @@
var validateAllItem = CreateValidateAllItem(pipingFailureMechanismContext.WrappedData);
- var calculateAllItem = CreateCalculateAllItem(pipingFailureMechanismContext.WrappedData);
-
var builder = new RingtoetsContextMenuBuilder(Gui.Get(pipingFailureMechanismContext, treeViewControl));
return builder
.AddOpenItem()
.AddSeparator()
.AddCustomItem(changeRelevancyItem)
.AddSeparator()
.AddCustomItem(validateAllItem)
- .AddCustomItem(calculateAllItem)
+ .AddPerformAllCalculationsInFailureMechanismItem(pipingFailureMechanismContext, CalculateAll)
.AddClearAllCalculationOutputInFailureMechanismItem(pipingFailureMechanismContext.WrappedData)
.AddSeparator()
.AddImportItem()
@@ -326,24 +324,6 @@
return failureMechanism.Calculations.OfType();
}
- private StrictContextMenuItem CreateCalculateAllItem(PipingFailureMechanism failureMechanism)
- {
- var menuItem = new StrictContextMenuItem(
- RingtoetsCommonFormsResources.Calculate_all,
- RingtoetsCommonFormsResources.Calculate_all_ToolTip,
- RingtoetsCommonFormsResources.CalculateAllIcon,
- (o, args) => CalculateAll(failureMechanism)
- );
-
- if (!GetAllPipingCalculations(failureMechanism).Any())
- {
- menuItem.Enabled = false;
- menuItem.ToolTipText = RingtoetsCommonFormsResources.FailureMechanism_CreateCalculateAllItem_No_calculations_to_run;
- }
-
- return menuItem;
- }
-
private StrictContextMenuItem CreateValidateAllItem(PipingFailureMechanism failureMechanism)
{
var menuItem = new StrictContextMenuItem(
@@ -370,9 +350,9 @@
}
}
- private void CalculateAll(PipingFailureMechanism failureMechanism)
+ private void CalculateAll(PipingFailureMechanismContext failureMechanismContext)
{
- ActivityProgressDialogRunner.Run(Gui.MainWindow, GetAllPipingCalculations(failureMechanism).Select(calc => new PipingCalculationActivity(calc)).ToList());
+ ActivityProgressDialogRunner.Run(Gui.MainWindow, GetAllPipingCalculations(failureMechanismContext.WrappedData).Select(calc => new PipingCalculationActivity(calc)).ToList());
}
private object[] FailureMechanismEnabledChildNodeObjects(PipingFailureMechanismContext pipingFailureMechanismContext)