Index: Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuBuilder.cs
===================================================================
diff -u -re13aad684439fe0ce56760077b13a7c5b03674de -re2991a38a1982398a6cbb35e38e534e26ba8930d
--- Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuBuilder.cs (.../RingtoetsContextMenuBuilder.cs) (revision e13aad684439fe0ce56760077b13a7c5b03674de)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuBuilder.cs (.../RingtoetsContextMenuBuilder.cs) (revision e2991a38a1982398a6cbb35e38e534e26ba8930d)
@@ -19,17 +19,22 @@
// Stichting Deltares and remain full property of Stichting Deltares at all times.
// All rights reserved.
+using System;
using System.Windows.Forms;
using Core.Common.Gui.ContextMenu;
+using Ringtoets.Common.Data.Calculation;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Forms.PresentationObjects;
namespace Ringtoets.Common.Forms.TreeNodeInfos
{
///
/// Decorator for .
///
- public class RingtoetsContextMenuBuilder : IContextMenuBuilder
+ public class RingtoetsContextMenuBuilder
{
private readonly IContextMenuBuilder contextMenuBuilder;
+ private readonly RingtoetsContextMenuItemFactory ringtoetsContextMenuItemFactory;
///
/// Creates a new instance of the .
@@ -38,61 +43,131 @@
public RingtoetsContextMenuBuilder(IContextMenuBuilder contextMenuBuilder)
{
this.contextMenuBuilder = contextMenuBuilder;
+
+ ringtoetsContextMenuItemFactory = new RingtoetsContextMenuItemFactory();
}
- public IContextMenuBuilder AddRenameItem()
+ public RingtoetsContextMenuBuilder AddCreateCalculationGroupItem(CalculationGroup calculationGroup)
{
- return contextMenuBuilder.AddRenameItem();
+ contextMenuBuilder.AddCustomItem(ringtoetsContextMenuItemFactory.CreateAddCalculationGroupItem(calculationGroup));
+ return this;
}
- public IContextMenuBuilder AddDeleteItem()
+ public RingtoetsContextMenuBuilder AddCreateCalculationItem(
+ TCalculationContext calculationGroupContext,
+ Action addCalculation)
+ where TCalculationContext : ICalculationContext
{
- return contextMenuBuilder.AddDeleteItem();
+ contextMenuBuilder.AddCustomItem(ringtoetsContextMenuItemFactory.CreateAddCalculationItem(calculationGroupContext, addCalculation));
+ return this;
}
- public IContextMenuBuilder AddExpandAllItem()
+ public RingtoetsContextMenuBuilder AddClearAllCalculationOutputInGroupItem(CalculationGroup calculationGroup)
{
- return contextMenuBuilder.AddExpandAllItem();
+ contextMenuBuilder.AddCustomItem(ringtoetsContextMenuItemFactory.CreateClearAllCalculationOutputInGroupItem(calculationGroup));
+ return this;
}
- public IContextMenuBuilder AddCollapseAllItem()
+ public RingtoetsContextMenuBuilder AddPerformAllCalculationsInGroupItem(
+ CalculationGroup calculationGroup,
+ TCalculationContext context,
+ Action calculateAll)
+ where TCalculationContext : ICalculationContext
{
- return contextMenuBuilder.AddCollapseAllItem();
+ contextMenuBuilder.AddCustomItem(ringtoetsContextMenuItemFactory.CreatePerformAllCalculationsInGroupItem(calculationGroup, context, calculateAll));
+ return this;
}
- public IContextMenuBuilder AddOpenItem()
+ public RingtoetsContextMenuBuilder AddPerformCalculationItem(
+ TCalculation calculation,
+ TCalculationContext context,
+ Action calculate)
+ where TCalculationContext : ICalculationContext
+ where TCalculation : ICalculation
{
- return contextMenuBuilder.AddOpenItem();
+ contextMenuBuilder.AddCustomItem(ringtoetsContextMenuItemFactory.CreatePerformCalculationItem(calculation, context, calculate));
+ return this;
}
- public IContextMenuBuilder AddExportItem()
+ public RingtoetsContextMenuBuilder AddClearCalculationOutputItem(ICalculation calculation)
{
- return contextMenuBuilder.AddExportItem();
+ contextMenuBuilder.AddCustomItem(ringtoetsContextMenuItemFactory.CreateClearCalculationOutputItem(calculation));
+ return this;
}
- public IContextMenuBuilder AddImportItem()
+ public RingtoetsContextMenuBuilder AddDisabledChangeRelevancyItem(IFailureMechanismContext failureMechanismContext)
{
- return contextMenuBuilder.AddImportItem();
+ contextMenuBuilder.AddCustomItem(ringtoetsContextMenuItemFactory.CreateDisabledChangeRelevancyItem(failureMechanismContext));
+ return this;
}
- public IContextMenuBuilder AddPropertiesItem()
+ # region Decorated interface members
+
+ public RingtoetsContextMenuBuilder AddRenameItem()
{
- return contextMenuBuilder.AddPropertiesItem();
+ contextMenuBuilder.AddRenameItem();
+ return this;
}
- public IContextMenuBuilder AddSeparator()
+ public RingtoetsContextMenuBuilder AddDeleteItem()
{
- return contextMenuBuilder.AddSeparator();
+ contextMenuBuilder.AddDeleteItem();
+ return this;
}
- public IContextMenuBuilder AddCustomItem(StrictContextMenuItem item)
+ public RingtoetsContextMenuBuilder AddExpandAllItem()
{
- return contextMenuBuilder.AddCustomItem(item);
+ contextMenuBuilder.AddExpandAllItem();
+ return this;
}
+ public RingtoetsContextMenuBuilder AddCollapseAllItem()
+ {
+ contextMenuBuilder.AddCollapseAllItem();
+ return this;
+ }
+
+ public RingtoetsContextMenuBuilder AddOpenItem()
+ {
+ contextMenuBuilder.AddOpenItem();
+ return this;
+ }
+
+ public RingtoetsContextMenuBuilder AddExportItem()
+ {
+ contextMenuBuilder.AddExportItem();
+ return this;
+ }
+
+ public RingtoetsContextMenuBuilder AddImportItem()
+ {
+ contextMenuBuilder.AddImportItem();
+ return this;
+ }
+
+ public RingtoetsContextMenuBuilder AddPropertiesItem()
+ {
+ contextMenuBuilder.AddPropertiesItem();
+ return this;
+ }
+
+ public RingtoetsContextMenuBuilder AddSeparator()
+ {
+ contextMenuBuilder.AddSeparator();
+ return this;
+ }
+
+ public RingtoetsContextMenuBuilder AddCustomItem(StrictContextMenuItem item)
+ {
+ contextMenuBuilder.AddCustomItem(item);
+ return this;
+ }
+
public ContextMenuStrip Build()
{
return contextMenuBuilder.Build();
}
+
+ # endregion
}
}
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuItemFactory.cs
===================================================================
diff -u -r36b6f1f7c1ddf585689512eb61256d41a1e0ca64 -re2991a38a1982398a6cbb35e38e534e26ba8930d
--- Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuItemFactory.cs (.../RingtoetsContextMenuItemFactory.cs) (revision 36b6f1f7c1ddf585689512eb61256d41a1e0ca64)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/RingtoetsContextMenuItemFactory.cs (.../RingtoetsContextMenuItemFactory.cs) (revision e2991a38a1982398a6cbb35e38e534e26ba8930d)
@@ -36,48 +36,46 @@
///
/// This class represents a factory for creating .
///
- public static class RingtoetsContextMenuItemFactory
+ public class RingtoetsContextMenuItemFactory
{
///
- /// This method adds a context menu item for creating new calculation groups.
+ /// Creates a which is bound to the action of adding new calculation groups.
///
- /// The builder to add the context menu item to.
/// The calculation group involved.
- public static void AddCreateCalculationGroupItem(IContextMenuBuilder builder, CalculationGroup calculationGroup)
+ /// The created .
+ public StrictContextMenuItem CreateAddCalculationGroupItem(CalculationGroup calculationGroup)
{
- var createCalculationGroupItem = new StrictContextMenuItem(
+ return new StrictContextMenuItem(
Resources.CalculationGroup_Add_CalculationGroup,
Resources.CalculationGroup_Add_CalculationGroup_Tooltip,
Resources.AddFolderIcon,
(o, args) => CreateCalculationGroup(calculationGroup));
-
- builder.AddCustomItem(createCalculationGroupItem);
}
///
- /// This method adds a context menu item for creating new calculations.
+ /// Creates a which is bound to the action of adding new calculations.
///
- /// The builder to add the context menu item to.
/// The calculation group context involved.
/// The action for adding a calculation to the calculation group.
- public static void AddCreateCalculationItem(IContextMenuBuilder builder, TCalculationGroupContext calculationGroupContext, Action addCalculation)
- where TCalculationGroupContext : ICalculationContext
+ /// The created .
+ public StrictContextMenuItem CreateAddCalculationItem(
+ TCalculationContext calculationGroupContext,
+ Action addCalculation)
+ where TCalculationContext : ICalculationContext
{
- var createCalculationItem = new StrictContextMenuItem(
+ return new StrictContextMenuItem(
Resources.CalculationGroup_Add_Calculation,
Resources.CalculationGroup_Add_Calculation_Tooltip,
Resources.FailureMechanismIcon,
(o, args) => addCalculation(calculationGroupContext));
-
- builder.AddCustomItem(createCalculationItem);
}
///
- /// This method adds a context menu item for clearing the output of all calculations in the calculation group.
+ /// Creates a which is bound to the action of clearing the output of all calculations in the calculation group.
///
- /// The builder to add the context menu item to.
/// The calculation group involved.
- public static void AddClearAllCalculationOutputInGroupItem(IContextMenuBuilder builder, CalculationGroup calculationGroup)
+ /// The created .
+ public StrictContextMenuItem CreateClearAllCalculationOutputInGroupItem(CalculationGroup calculationGroup)
{
var clearAllItem = new StrictContextMenuItem(
Resources.Clear_all_output,
@@ -91,19 +89,21 @@
clearAllItem.ToolTipText = Resources.CalculationGroup_ClearOutput_No_calculation_with_output_to_clear;
}
- builder.AddCustomItem(clearAllItem);
+ return clearAllItem;
}
///
- /// This method adds a context menu item for performing all calculations in the calculation group.
+ /// Creates a which is bound to the action of performing all calculations in a calculation group.
///
- /// The builder to add the context menu item to.
/// The calculation group involved.
/// The calculation group context belonging to the calculation group.
/// The action that performs all calculations.
- public static void AddPerformAllCalculationsInGroupItem
- (IContextMenuBuilder builder, CalculationGroup calculationGroup, TCalculationGroupContext context, Action calculateAll)
- where TCalculationGroupContext : ICalculationContext
+ /// The created .
+ public StrictContextMenuItem CreatePerformAllCalculationsInGroupItem(
+ CalculationGroup calculationGroup,
+ TCalculationContext context,
+ Action calculateAll)
+ where TCalculationContext : ICalculationContext
{
var performAllItem = new StrictContextMenuItem(
Resources.Calculate_all,
@@ -117,36 +117,36 @@
performAllItem.ToolTipText = Resources.CalculationGroup_CalculateAll_No_calculations_to_run;
}
- builder.AddCustomItem(performAllItem);
+ return performAllItem;
}
///
- /// This method adds a context menu item for performing a calculation.
+ /// Creates a which is bound to the action of performing a calculation.
///
- /// The builder to add the context menu item to.
/// The calculation involved.
/// The calculation context belonging to the calculation.
/// The action that performs the calculation.
- public static void AddPerformCalculationItem(
- IContextMenuBuilder builder, TCalculation calculation, TCalculationContext context, Action calculate)
+ /// The created .
+ public StrictContextMenuItem CreatePerformCalculationItem(
+ TCalculation calculation,
+ TCalculationContext context,
+ Action calculate)
+ where TCalculationContext : ICalculationContext
where TCalculation : ICalculation
- where TCalculationContext : ICalculationContext
{
- var calculateItem = new StrictContextMenuItem(
+ return new StrictContextMenuItem(
Resources.Calculate,
Resources.Calculate_ToolTip,
Resources.CalculateIcon,
(o, args) => calculate(calculation, context));
-
- builder.AddCustomItem(calculateItem);
}
///
- /// This method adds a context menu item for clearing the output of a calculation.
+ /// Creates a which is bound to the action of clearing the output of a calculation.
///
- /// The builder to add the context menu item to.
/// The calculation involved.
- public static void AddClearCalculationOutputItem(IContextMenuBuilder builder, ICalculation calculation)
+ /// The created .
+ public StrictContextMenuItem CreateClearCalculationOutputItem(ICalculation calculation)
{
var clearOutputItem = new StrictContextMenuItem(
Resources.Clear_output,
@@ -160,18 +160,17 @@
clearOutputItem.ToolTipText = Resources.ClearOutput_No_output_to_clear;
}
- builder.AddCustomItem(clearOutputItem);
+ return clearOutputItem;
}
///
- /// This method adds a context menu item for changing the relevancy state of a disabled failure mechanism.
+ /// Creates a which is bound to the action of changing the relevancy state of a disabled failure mechanism.
///
- /// The builder to add the context menu item to.
/// The failure mechanism context involved.
- public static void AddDisabledChangeRelevancyItem(IContextMenuBuilder builder, TFailureMechanismContext failureMechanismContext)
- where TFailureMechanismContext : IFailureMechanismContext
+ /// The created .
+ public StrictContextMenuItem CreateDisabledChangeRelevancyItem(IFailureMechanismContext failureMechanismContext)
{
- var changeRelevancyItem = new StrictContextMenuItem(
+ return new StrictContextMenuItem(
Resources.FailureMechanismContextMenuStrip_Is_relevant,
Resources.FailureMechanismContextMenuStrip_Is_relevant_Tooltip,
Resources.Checkbox_empty,
@@ -180,8 +179,6 @@
failureMechanismContext.WrappedData.IsRelevant = true;
failureMechanismContext.WrappedData.NotifyObservers();
});
-
- builder.AddCustomItem(changeRelevancyItem);
}
private static void CreateCalculationGroup(CalculationGroup calculationGroup)
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/RingtoetsContextMenuItemFactoryTest.cs
===================================================================
diff -u -r0a94ed42cb943659d68be2ce6fb430f8f29fc3f3 -re2991a38a1982398a6cbb35e38e534e26ba8930d
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/RingtoetsContextMenuItemFactoryTest.cs (.../RingtoetsContextMenuItemFactoryTest.cs) (revision 0a94ed42cb943659d68be2ce6fb430f8f29fc3f3)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/RingtoetsContextMenuItemFactoryTest.cs (.../RingtoetsContextMenuItemFactoryTest.cs) (revision e2991a38a1982398a6cbb35e38e534e26ba8930d)
@@ -20,9 +20,6 @@
// All rights reserved.
using Core.Common.Base;
-using Core.Common.Controls.TreeView;
-using Core.Common.Gui.Commands;
-using Core.Common.Gui.ContextMenu;
using Core.Common.TestUtil;
using NUnit.Extensions.Forms;
using NUnit.Framework;
@@ -39,120 +36,96 @@
[TestFixture]
public class RingtoetsContextMenuItemFactoryTest : NUnitFormTest
{
+ private RingtoetsContextMenuItemFactory factory;
+
+ [TestFixtureSetUp]
+ public void TestFixtureSetUp()
+ {
+ factory = new RingtoetsContextMenuItemFactory();
+ }
+
[Test]
- public void AddCreateCalculationGroupItem_Always_CreatesDecoratedCalculationGroupItem()
+ public void CreateAddCalculationGroupItem_Always_CreatesDecoratedItem()
{
// Setup
- var mocks = new MockRepository();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
-
- mocks.ReplayAll();
-
var calculationGroup = new CalculationGroup();
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
// Call
- RingtoetsContextMenuItemFactory.AddCreateCalculationGroupItem(menuBuilder, calculationGroup);
+ var toolStripItem = factory.CreateAddCalculationGroupItem(calculationGroup);
// Assert
- TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
- RingtoetsFormsResources.CalculationGroup_Add_CalculationGroup,
- RingtoetsFormsResources.CalculationGroup_Add_CalculationGroup_Tooltip,
- RingtoetsFormsResources.AddFolderIcon);
+ Assert.AreEqual(RingtoetsFormsResources.CalculationGroup_Add_CalculationGroup, toolStripItem.Text);
+ Assert.AreEqual(RingtoetsFormsResources.CalculationGroup_Add_CalculationGroup_Tooltip, toolStripItem.ToolTipText);
+ TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.AddFolderIcon, toolStripItem.Image);
+ Assert.IsTrue(toolStripItem.Enabled);
}
[Test]
- public void AddCreateCalculationGroupItem_PerformClickOnCreatedItem_CalculationGroupAdded()
+ public void CreateAddCalculationGroupItem_PerformClickOnCreatedItem_CalculationGroupAdded()
{
// Setup
- var mocks = new MockRepository();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
-
- mocks.ReplayAll();
-
var calculationGroup = new CalculationGroup();
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
- RingtoetsContextMenuItemFactory.AddCreateCalculationGroupItem(menuBuilder, calculationGroup);
- var contextMenuItem = menuBuilder.Build().Items[0];
+ var toolStripItem = factory.CreateAddCalculationGroupItem(calculationGroup);
// Call
- contextMenuItem.PerformClick();
+ toolStripItem.PerformClick();
// Assert
Assert.AreEqual(1, calculationGroup.Children.Count);
Assert.IsTrue(calculationGroup.Children[0] is CalculationGroup);
}
[Test]
- public void AddCreateCalculationItem_Always_CreatesDecoratedCalculationItem()
+ public void CreateAddCalculationItem_Always_CreatesDecoratedItem()
{
// Setup
var mocks = new MockRepository();
var failureMechanism = mocks.Stub();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
mocks.ReplayAll();
var calculationGroup = new CalculationGroup();
var calculationGroupContext = new TestCalculationGroupContext(calculationGroup, failureMechanism);
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
// Call
- RingtoetsContextMenuItemFactory.AddCreateCalculationItem(menuBuilder, calculationGroupContext, null);
+ var toolStripItem = factory.CreateAddCalculationItem(calculationGroupContext, context => { });
// Assert
- TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
- RingtoetsFormsResources.CalculationGroup_Add_Calculation,
- RingtoetsFormsResources.CalculationGroup_Add_Calculation_Tooltip,
- RingtoetsFormsResources.FailureMechanismIcon);
+ Assert.AreEqual(RingtoetsFormsResources.CalculationGroup_Add_Calculation, toolStripItem.Text);
+ Assert.AreEqual(RingtoetsFormsResources.CalculationGroup_Add_Calculation_Tooltip, toolStripItem.ToolTipText);
+ TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.FailureMechanismIcon, toolStripItem.Image);
+ Assert.IsTrue(toolStripItem.Enabled);
+
+ mocks.VerifyAll();
}
[Test]
- public void AddCreateCalculationItem_PerformClickOnCreatedItem_AddCalculationMethodPerformed()
+ public void CreateAddCalculationItem_PerformClickOnCreatedItem_AddCalculationMethodPerformed()
{
// Setup
var mocks = new MockRepository();
var failureMechanism = mocks.Stub();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
mocks.ReplayAll();
var counter = 0;
var calculationGroup = new CalculationGroup();
var calculationGroupContext = new TestCalculationGroupContext(calculationGroup, failureMechanism);
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
+ var toolStripItem = factory.CreateAddCalculationItem(calculationGroupContext, context => counter++);
- RingtoetsContextMenuItemFactory.AddCreateCalculationItem(menuBuilder, calculationGroupContext, context => counter++);
- var contextMenuItem = menuBuilder.Build().Items[0];
-
// Call
- contextMenuItem.PerformClick();
+ toolStripItem.PerformClick();
// Assert
Assert.AreEqual(1, counter);
+ mocks.VerifyAll();
}
[Test]
- public void AddClearAllCalculationOutputInGroupItem_GroupWithCalculationOutput_CreatesDecoratedAndEnabledClearItem()
+ public void CreateClearAllCalculationOutputInGroupItem_GroupWithCalculationOutput_CreatesDecoratedAndEnabledItem()
{
// Setup
var mocks = new MockRepository();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
var calculationWithOutput = mocks.StrictMock();
calculationWithOutput.Expect(c => c.HasOutput).Return(true);
@@ -167,27 +140,21 @@
}
};
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
-
// Call
- RingtoetsContextMenuItemFactory.AddClearAllCalculationOutputInGroupItem(menuBuilder, calculationGroup);
+ var toolStripItem = factory.CreateClearAllCalculationOutputInGroupItem(calculationGroup);
// Assert
- TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
- RingtoetsFormsResources.Clear_all_output,
- RingtoetsFormsResources.CalculationGroup_ClearOutput_ToolTip,
- RingtoetsFormsResources.ClearIcon);
+ Assert.AreEqual(RingtoetsFormsResources.Clear_all_output, toolStripItem.Text);
+ Assert.AreEqual(RingtoetsFormsResources.CalculationGroup_ClearOutput_ToolTip, toolStripItem.ToolTipText);
+ TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.ClearIcon, toolStripItem.Image);
+ Assert.IsTrue(toolStripItem.Enabled);
}
[Test]
- public void AddClearAllCalculationOutputInGroupItem_GroupWithoutCalculationOutput_CreatesDecoratedAndDisabledClearItem()
+ public void CreateClearAllCalculationOutputInGroupItem_GroupWithoutCalculationOutput_CreatesDecoratedAndDisabledItem()
{
// Setup
var mocks = new MockRepository();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
var calculationWithoutOutput = mocks.StrictMock();
calculationWithoutOutput.Expect(c => c.HasOutput).Return(false);
@@ -202,29 +169,22 @@
}
};
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
-
// Call
- RingtoetsContextMenuItemFactory.AddClearAllCalculationOutputInGroupItem(menuBuilder, calculationGroup);
+ var toolStripItem = factory.CreateClearAllCalculationOutputInGroupItem(calculationGroup);
// Assert
- TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
- RingtoetsFormsResources.Clear_all_output,
- RingtoetsFormsResources.CalculationGroup_ClearOutput_No_calculation_with_output_to_clear,
- RingtoetsFormsResources.ClearIcon,
- false);
+ Assert.AreEqual(RingtoetsFormsResources.Clear_all_output, toolStripItem.Text);
+ Assert.AreEqual(RingtoetsFormsResources.CalculationGroup_ClearOutput_No_calculation_with_output_to_clear, toolStripItem.ToolTipText);
+ TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.ClearIcon, toolStripItem.Image);
+ Assert.IsFalse(toolStripItem.Enabled);
}
[Test]
- public void AddClearAllCalculationOutputInGroupItem_PerformClickOnCreatedItemAndConfirmChange_CalculationOutputClearedAndObserversNotified()
+ public void CreateClearAllCalculationOutputInGroupItem_PerformClickOnCreatedItemAndConfirmChange_CalculationOutputClearedAndObserversNotified()
{
var messageBoxText = "";
var messageBoxTitle = "";
var mocks = new MockRepository();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
var calculationWithOutput1 = mocks.StrictMock();
var calculationWithOutput2 = mocks.StrictMock();
var calculationWithoutOutput = mocks.StrictMock();
@@ -265,13 +225,10 @@
}
};
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
+ var toolStripItem = factory.CreateClearAllCalculationOutputInGroupItem(calculationGroup);
- RingtoetsContextMenuItemFactory.AddClearAllCalculationOutputInGroupItem(menuBuilder, calculationGroup);
- var contextMenuItem = menuBuilder.Build().Items[0];
-
// Call
- contextMenuItem.PerformClick();
+ toolStripItem.PerformClick();
// Assert
Assert.AreEqual(BaseResources.Confirm, messageBoxTitle);
@@ -281,13 +238,9 @@
}
[Test]
- public void AddClearAllCalculationOutputInGroupItem_PerformClickOnCreatedItemAndCancelChange_CalculationOutputNotCleared()
+ public void CreateClearAllCalculationOutputInGroupItem_PerformClickOnCreatedItemAndCancelChange_CalculationOutputNotCleared()
{
var mocks = new MockRepository();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
var calculationWithOutput1 = mocks.StrictMock();
var calculationWithOutput2 = mocks.StrictMock();
var calculationWithoutOutput = mocks.StrictMock();
@@ -321,85 +274,71 @@
}
};
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
+ var toolStripItem = factory.CreateClearAllCalculationOutputInGroupItem(calculationGroup);
- RingtoetsContextMenuItemFactory.AddClearAllCalculationOutputInGroupItem(menuBuilder, calculationGroup);
- var contextMenuItem = menuBuilder.Build().Items[0];
-
// Call
- contextMenuItem.PerformClick();
+ toolStripItem.PerformClick();
+ // Assert
mocks.VerifyAll();
}
[Test]
- public void AddPerformAllCalculationsInGroupItem_GroupWithCalculations_CreatesDecoratedAndEnabledPerformItem()
+ public void CreatePerformAllCalculationsInGroupItem_GroupWithCalculations_CreatesDecoratedAndEnabledItem()
{
// Setup
var mocks = new MockRepository();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
- var calculation = mocks.StrictMock();
+ var failureMechanisMock = mocks.StrictMock();
mocks.ReplayAll();
+ var calculation = new TestCalculation();
var calculationGroup = new CalculationGroup
{
Children =
{
calculation
}
};
+ var testCalculationGroupContext = new TestCalculationGroupContext(calculationGroup, failureMechanisMock);
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
-
// Call
- RingtoetsContextMenuItemFactory.AddPerformAllCalculationsInGroupItem(menuBuilder, calculationGroup, null, null);
+ var toolStripItem = factory.CreatePerformAllCalculationsInGroupItem(calculationGroup, testCalculationGroupContext, null);
// Assert
- TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
- RingtoetsFormsResources.Calculate_all,
- RingtoetsFormsResources.CalculationGroup_CalculateAll_ToolTip,
- RingtoetsFormsResources.CalculateAllIcon);
+ Assert.AreEqual(RingtoetsFormsResources.Calculate_all, toolStripItem.Text);
+ Assert.AreEqual(RingtoetsFormsResources.CalculationGroup_CalculateAll_ToolTip, toolStripItem.ToolTipText);
+ TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.CalculateAllIcon, toolStripItem.Image);
+ Assert.IsTrue(toolStripItem.Enabled);
}
[Test]
- public void AddPerformAllCalculationsInGroupItem_GroupWithoutCalculations_CreatesDecoratedAndDisabledPerformItem()
+ public void CreatePerformAllCalculationsInGroupItem_GroupWithoutCalculations_CreatesDecoratedAndDisabledItem()
{
// Setup
var mocks = new MockRepository();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
+ var failureMechanisMock = mocks.StrictMock();
mocks.ReplayAll();
var calculationGroup = new CalculationGroup();
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
+ var testCalculationGroupContext = new TestCalculationGroupContext(calculationGroup, failureMechanisMock);
// Call
- RingtoetsContextMenuItemFactory.AddPerformAllCalculationsInGroupItem(menuBuilder, calculationGroup, null, null);
+ var toolStripItem = factory.CreatePerformAllCalculationsInGroupItem(calculationGroup, testCalculationGroupContext, null);
// Assert
- TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
- RingtoetsFormsResources.Calculate_all,
- RingtoetsFormsResources.CalculationGroup_CalculateAll_No_calculations_to_run,
- RingtoetsFormsResources.CalculateAllIcon,
- false);
+ Assert.AreEqual(RingtoetsFormsResources.Calculate_all, toolStripItem.Text);
+ Assert.AreEqual(RingtoetsFormsResources.CalculationGroup_CalculateAll_No_calculations_to_run, toolStripItem.ToolTipText);
+ TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.CalculateAllIcon, toolStripItem.Image);
+ Assert.IsFalse(toolStripItem.Enabled);
}
[Test]
- public void AddPerformAllCalculationsInGroupItem_PerformClickOnCreatedItem_PerformAllCalculationMethodPerformed()
+ public void CreatePerformAllCalculationsInGroupItem_PerformClickOnCreatedItem_PerformAllCalculationMethodPerformed()
{
// Setup
var mocks = new MockRepository();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
var calculation = mocks.StrictMock();
var failureMechanism = mocks.StrictMock();
@@ -416,147 +355,117 @@
var calculationGroupContext = new TestCalculationGroupContext(calculationGroup, failureMechanism);
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
+ var toolStripItem = factory.CreatePerformAllCalculationsInGroupItem(calculationGroup, calculationGroupContext, (group, context) => counter++);
- RingtoetsContextMenuItemFactory.AddPerformAllCalculationsInGroupItem(menuBuilder, calculationGroup, calculationGroupContext, (group, context) => counter++);
- var contextMenuItem = menuBuilder.Build().Items[0];
-
// Call
- contextMenuItem.PerformClick();
+ toolStripItem.PerformClick();
// Assert
Assert.AreEqual(1, counter);
}
[Test]
- public void AddPerformCalculationItem_Always_CreatesPerformItem()
+ public void CreatePerformCalculationItem_Always_CreatesDecoratedItem()
{
// Setup
var mocks = new MockRepository();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
+ var failureMechanisMock = mocks.StrictMock();
mocks.ReplayAll();
var calculation = new TestCalculation();
+ var calculationContext = new TestCalculationContext(calculation, failureMechanisMock);
- var menubuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculation, treeViewControl);
-
// Call
- RingtoetsContextMenuItemFactory.AddPerformCalculationItem(menubuilder, calculation, null, null);
+ var toolStripItem = factory.CreatePerformCalculationItem(calculation, calculationContext, null);
// Assert
- TestHelper.AssertContextMenuStripContainsItem(menubuilder.Build(), 0,
- RingtoetsFormsResources.Calculate,
- RingtoetsFormsResources.Calculate_ToolTip,
- RingtoetsFormsResources.CalculateIcon);
+ Assert.AreEqual(RingtoetsFormsResources.Calculate, toolStripItem.Text);
+ Assert.AreEqual(RingtoetsFormsResources.Calculate_ToolTip, toolStripItem.ToolTipText);
+ TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.CalculateIcon, toolStripItem.Image);
+ Assert.IsTrue(toolStripItem.Enabled);
mocks.VerifyAll();
}
[Test]
- public void AddPerformCalculationItem_PerformClickOnCreatedItem_PerformCalculationMethod()
+ public void CreatePerformCalculationItem_PerformClickOnCreatedItem_PerformCalculationMethod()
{
// Setup
var mocks = new MockRepository();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
var failureMechanisMock = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
mocks.ReplayAll();
var calculation = new TestCalculation();
var testCalculationContext = new TestCalculationContext(calculation, failureMechanisMock);
var counter = 0;
+ var toolStripItem = factory.CreatePerformCalculationItem(calculation, testCalculationContext, (calc, context) => counter++);
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculation, treeViewControl);
- RingtoetsContextMenuItemFactory.AddPerformCalculationItem(menuBuilder, calculation, testCalculationContext, (calc, context) => counter++);
- var contextMenuItem = menuBuilder.Build().Items[0];
-
// Call
- contextMenuItem.PerformClick();
+ toolStripItem.PerformClick();
// Assert
Assert.AreEqual(1, counter);
mocks.VerifyAll();
}
[Test]
- public void AddClearCalculationOutputItem_CalculationWithOutput_CreatesDecoratedAndEnabledClearItem()
+ public void CreateClearCalculationOutputItem_CalculationWithOutput_CreatesDecoratedAndEnabledItem()
{
// Setup
var mocks = new MockRepository();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
var calculationWithOutput = mocks.StrictMock();
calculationWithOutput.Expect(c => c.HasOutput).Return(true);
mocks.ReplayAll();
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationWithOutput, treeViewControl);
-
// Call
- RingtoetsContextMenuItemFactory.AddClearCalculationOutputItem(menuBuilder, calculationWithOutput);
+ var toolStripItem = factory.CreateClearCalculationOutputItem(calculationWithOutput);
// Assert
- TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
- RingtoetsFormsResources.Clear_output,
- RingtoetsFormsResources.Clear_output_ToolTip,
- RingtoetsFormsResources.ClearIcon);
+ Assert.AreEqual(RingtoetsFormsResources.Clear_output, toolStripItem.Text);
+ Assert.AreEqual(RingtoetsFormsResources.Clear_output_ToolTip, toolStripItem.ToolTipText);
+ TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.ClearIcon, toolStripItem.Image);
+ Assert.IsTrue(toolStripItem.Enabled);
+
mocks.VerifyAll();
}
[Test]
- public void AddClearCalculationOutputItem_CalculationWithoutOutput_CreatesDecoratedAndDisabledClearItem()
+ public void CreateClearCalculationOutputItem_CalculationWithoutOutput_CreatesDecoratedAndDisabledItem()
{
// Setup
var mocks = new MockRepository();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
var calculationWithOutput = mocks.StrictMock();
calculationWithOutput.Expect(c => c.HasOutput).Return(false);
mocks.ReplayAll();
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationWithOutput, treeViewControl);
-
// Call
- RingtoetsContextMenuItemFactory.AddClearCalculationOutputItem(menuBuilder, calculationWithOutput);
+ var toolStripItem = factory.CreateClearCalculationOutputItem(calculationWithOutput);
// Assert
- TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
- RingtoetsFormsResources.Clear_output,
- RingtoetsFormsResources.ClearOutput_No_output_to_clear,
- RingtoetsFormsResources.ClearIcon,
- false);
+ Assert.AreEqual(RingtoetsFormsResources.Clear_output, toolStripItem.Text);
+ Assert.AreEqual(RingtoetsFormsResources.ClearOutput_No_output_to_clear, toolStripItem.ToolTipText);
+ TestHelper.AssertImagesAreEqual(RingtoetsFormsResources.ClearIcon, toolStripItem.Image);
+ Assert.IsFalse(toolStripItem.Enabled);
+
mocks.VerifyAll();
}
[Test]
- public void AddClearCalculationOutputItem_PerformClickOnCreatedItemAndConfirmChange_CalculationOutputClearedAndObserversNotified()
+ public void CreateClearCalculationOutputItem_PerformClickOnCreatedItemAndConfirmChange_CalculationOutputClearedAndObserversNotified()
{
var messageBoxText = "";
var messageBoxTitle = "";
var mocks = new MockRepository();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
var calculationWithOutput = mocks.StrictMock();
calculationWithOutput.Stub(c => c.HasOutput).Return(true);
-
calculationWithOutput.Expect(c => c.ClearOutput());
calculationWithOutput.Expect(c => c.NotifyObservers());
@@ -571,13 +480,10 @@
messageBox.ClickOk();
};
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationWithOutput, treeViewControl);
+ var toolStripItem = factory.CreateClearCalculationOutputItem(calculationWithOutput);
- RingtoetsContextMenuItemFactory.AddClearCalculationOutputItem(menuBuilder, calculationWithOutput);
- var contextMenuItem = menuBuilder.Build().Items[0];
-
// Call
- contextMenuItem.PerformClick();
+ toolStripItem.PerformClick();
// Assert
Assert.AreEqual(BaseResources.Confirm, messageBoxTitle);
@@ -587,13 +493,9 @@
}
[Test]
- public void AddClearCalculationOutputItem_PerformClickOnCreatedItemAndCancelChange_CalculationOutputNotCleared()
+ public void CreateClearCalculationOutputItem_PerformClickOnCreatedItemAndCancelChange_CalculationOutputNotCleared()
{
var mocks = new MockRepository();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
var calculationWithOutput = mocks.StrictMock();
calculationWithOutput.Stub(c => c.HasOutput).Return(true);
@@ -607,13 +509,10 @@
messageBox.ClickCancel();
};
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationWithOutput, treeViewControl);
+ var toolStripItem = factory.CreateClearCalculationOutputItem(calculationWithOutput);
- RingtoetsContextMenuItemFactory.AddClearCalculationOutputItem(menuBuilder, calculationWithOutput);
- var contextMenuItem = menuBuilder.Build().Items[0];
-
// Call
- contextMenuItem.PerformClick();
+ toolStripItem.PerformClick();
mocks.VerifyAll();
}
Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs
===================================================================
diff -u -r89cf0d104a6e12180d2fae471ae318cad256707a -re2991a38a1982398a6cbb35e38e534e26ba8930d
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision 89cf0d104a6e12180d2fae471ae318cad256707a)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision e2991a38a1982398a6cbb35e38e534e26ba8930d)
@@ -289,11 +289,10 @@
private ContextMenuStrip FailureMechanismDisabledContextMenuStrip(GrassCoverErosionInwardsFailureMechanismContext grassCoverErosionInwardsFailureMechanismContext, object parentData, TreeViewControl treeViewControl)
{
- var builder = Gui.Get(grassCoverErosionInwardsFailureMechanismContext, treeViewControl);
+ var builder = new RingtoetsContextMenuBuilder(Gui.Get(grassCoverErosionInwardsFailureMechanismContext, treeViewControl));
- RingtoetsContextMenuItemFactory.AddDisabledChangeRelevancyItem(builder, grassCoverErosionInwardsFailureMechanismContext);
-
- return builder.AddSeparator()
+ return builder.AddDisabledChangeRelevancyItem(grassCoverErosionInwardsFailureMechanismContext)
+ .AddSeparator()
.AddExpandAllItem()
.AddCollapseAllItem()
.Build();
@@ -388,7 +387,7 @@
private ContextMenuStrip CalculationGroupContextContextMenuStrip(GrassCoverErosionInwardsCalculationGroupContext nodeData, object parentData, TreeViewControl treeViewControl)
{
var group = nodeData.WrappedData;
- var builder = Gui.Get(nodeData, treeViewControl);
+ var builder = new RingtoetsContextMenuBuilder(Gui.Get(nodeData, treeViewControl));
var isNestedGroup = parentData is GrassCoverErosionInwardsCalculationGroupContext;
if (!isNestedGroup)
@@ -397,11 +396,11 @@
.AddSeparator();
}
- RingtoetsContextMenuItemFactory.AddCreateCalculationGroupItem(builder, group);
- RingtoetsContextMenuItemFactory.AddCreateCalculationItem(builder, nodeData, AddCalculation);
+ builder.AddCreateCalculationGroupItem(group);
+ builder.AddCreateCalculationItem(nodeData, AddCalculation);
builder.AddSeparator();
- RingtoetsContextMenuItemFactory.AddPerformAllCalculationsInGroupItem(builder, group, nodeData, CalculateAll);
- RingtoetsContextMenuItemFactory.AddClearAllCalculationOutputInGroupItem(builder, group);
+ builder.AddPerformAllCalculationsInGroupItem(group, nodeData, CalculateAll);
+ builder.AddClearAllCalculationOutputInGroupItem(group);
builder.AddSeparator();
if (isNestedGroup)
@@ -459,30 +458,24 @@
private ContextMenuStrip CalculationContextContextmenuStrip(GrassCoverErosionInwardsCalculationContext nodeData, object parentData, TreeViewControl treeViewControl)
{
- var builder = Gui.Get(nodeData, treeViewControl);
+ var builder = new RingtoetsContextMenuBuilder(Gui.Get(nodeData, treeViewControl));
GrassCoverErosionInwardsCalculation calculation = nodeData.WrappedData;
- RingtoetsContextMenuItemFactory.AddPerformCalculationItem(
- builder,
- calculation,
- nodeData,
- PerformCalculation);
- RingtoetsContextMenuItemFactory.AddClearCalculationOutputItem(builder, calculation);
- builder.AddSeparator();
-
- return builder
- .AddRenameItem()
- .AddDeleteItem()
- .AddSeparator()
- .AddImportItem()
- .AddExportItem()
- .AddSeparator()
- .AddExpandAllItem()
- .AddCollapseAllItem()
- .AddSeparator()
- .AddPropertiesItem()
- .Build();
+ return builder.AddPerformCalculationItem(calculation, nodeData, PerformCalculation)
+ .AddClearCalculationOutputItem(calculation)
+ .AddSeparator()
+ .AddRenameItem()
+ .AddDeleteItem()
+ .AddSeparator()
+ .AddImportItem()
+ .AddExportItem()
+ .AddSeparator()
+ .AddExpandAllItem()
+ .AddCollapseAllItem()
+ .AddSeparator()
+ .AddPropertiesItem()
+ .Build();
}
private void PerformCalculation(GrassCoverErosionInwardsCalculation calculation, GrassCoverErosionInwardsCalculationContext context)
Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs
===================================================================
diff -u -rf02aacfe462777023a9657e3f8269dedbae3c2b6 -re2991a38a1982398a6cbb35e38e534e26ba8930d
--- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision f02aacfe462777023a9657e3f8269dedbae3c2b6)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision e2991a38a1982398a6cbb35e38e534e26ba8930d)
@@ -558,11 +558,10 @@
private ContextMenuStrip StandAloneFailureMechanismDisabledContextMenuStrip(StandAloneFailureMechanismContext nodeData, object parentData, TreeViewControl treeViewControl)
{
- var builder = Gui.Get(nodeData, treeViewControl);
+ var builder = new RingtoetsContextMenuBuilder(Gui.Get(nodeData, treeViewControl));
- RingtoetsContextMenuItemFactory.AddDisabledChangeRelevancyItem(builder, nodeData);
-
- return builder.AddSeparator()
+ return builder.AddDisabledChangeRelevancyItem(nodeData)
+ .AddSeparator()
.AddExpandAllItem()
.AddCollapseAllItem()
.Build();
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs
===================================================================
diff -u -r89cf0d104a6e12180d2fae471ae318cad256707a -re2991a38a1982398a6cbb35e38e534e26ba8930d
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 89cf0d104a6e12180d2fae471ae318cad256707a)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision e2991a38a1982398a6cbb35e38e534e26ba8930d)
@@ -323,11 +323,10 @@
private ContextMenuStrip FailureMechanismDisabledContextMenuStrip(PipingFailureMechanismContext pipingFailureMechanismContext, object parentData, TreeViewControl treeViewControl)
{
- var builder = Gui.Get(pipingFailureMechanismContext, treeViewControl);
+ var builder = new RingtoetsContextMenuBuilder(Gui.Get(pipingFailureMechanismContext, treeViewControl));
- RingtoetsContextMenuItemFactory.AddDisabledChangeRelevancyItem(builder, pipingFailureMechanismContext);
-
- return builder.AddSeparator()
+ return builder.AddDisabledChangeRelevancyItem(pipingFailureMechanismContext)
+ .AddSeparator()
.AddExpandAllItem()
.AddCollapseAllItem()
.Build();
@@ -445,20 +444,20 @@
private ContextMenuStrip PipingCalculationContextContextMenuStrip(PipingCalculationScenarioContext nodeData, object parentData, TreeViewControl treeViewControl)
{
- var builder = Gui.Get(nodeData, treeViewControl);
+ var builder = new RingtoetsContextMenuBuilder(Gui.Get(nodeData, treeViewControl));
PipingCalculation calculation = nodeData.WrappedData;
+
var validateItem = new StrictContextMenuItem(RingtoetsCommonFormsResources.Validate,
RingtoetsCommonFormsResources.Validate_ToolTip,
RingtoetsCommonFormsResources.ValidateIcon,
(o, args) => { PipingCalculationService.Validate(calculation); });
- builder.AddCustomItem(validateItem);
- RingtoetsContextMenuItemFactory.AddPerformCalculationItem(builder, calculation, nodeData, PerformCalculation);
- RingtoetsContextMenuItemFactory.AddClearCalculationOutputItem(builder, calculation);
- builder.AddSeparator();
-
- return builder.AddRenameItem()
+ return builder.AddCustomItem(validateItem)
+ .AddPerformCalculationItem(calculation, nodeData, PerformCalculation)
+ .AddClearCalculationOutputItem(calculation)
+ .AddSeparator()
+ .AddRenameItem()
.AddDeleteItem()
.AddSeparator()
.AddImportItem()
@@ -558,7 +557,7 @@
private ContextMenuStrip PipingCalculationGroupContextContextMenuStrip(PipingCalculationGroupContext nodeData, object parentData, TreeViewControl treeViewControl)
{
var group = nodeData.WrappedData;
- var builder = Gui.Get(nodeData, treeViewControl);
+ var builder = new RingtoetsContextMenuBuilder(Gui.Get(nodeData, treeViewControl));
var isNestedGroup = parentData is PipingCalculationGroupContext;
var generateCalculationsItem = CreateGeneratePipingCalculationsItem(nodeData);
@@ -572,13 +571,13 @@
.AddSeparator();
}
- RingtoetsContextMenuItemFactory.AddCreateCalculationGroupItem(builder, group);
- RingtoetsContextMenuItemFactory.AddCreateCalculationItem(builder, nodeData, AddCalculationScenario);
- builder.AddSeparator();
- builder.AddCustomItem(validateAllItem);
- RingtoetsContextMenuItemFactory.AddPerformAllCalculationsInGroupItem(builder, group, nodeData, CalculateAll);
- RingtoetsContextMenuItemFactory.AddClearAllCalculationOutputInGroupItem(builder, group);
- builder.AddSeparator();
+ builder.AddCreateCalculationGroupItem(group)
+ .AddCreateCalculationItem(nodeData, AddCalculationScenario)
+ .AddSeparator()
+ .AddCustomItem(validateAllItem)
+ .AddPerformAllCalculationsInGroupItem(group, nodeData, CalculateAll)
+ .AddClearAllCalculationOutputInGroupItem(group)
+ .AddSeparator();
if (isNestedGroup)
{