Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj
===================================================================
diff -u -r6833a6c92024007966c7fd99a955b234653f2ef8 -rb47c41dd3741ada477388e6c8a9224ecb66291e7
--- Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 6833a6c92024007966c7fd99a955b234653f2ef8)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision b47c41dd3741ada477388e6c8a9224ecb66291e7)
@@ -62,6 +62,7 @@
Resources.resx
+
UserControl
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/CalculationTreeNodeInfoFactory.cs
===================================================================
diff -u -rba310454172ed29499474b2f8b013fa0f0c523b8 -rb47c41dd3741ada477388e6c8a9224ecb66291e7
--- Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/CalculationTreeNodeInfoFactory.cs (.../CalculationTreeNodeInfoFactory.cs) (revision ba310454172ed29499474b2f8b013fa0f0c523b8)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/CalculationTreeNodeInfoFactory.cs (.../CalculationTreeNodeInfoFactory.cs) (revision b47c41dd3741ada477388e6c8a9224ecb66291e7)
@@ -24,10 +24,8 @@
using System.Linq;
using System.Windows.Forms;
using Core.Common.Controls.TreeView;
-using Core.Common.Gui.ContextMenu;
using Ringtoets.Common.Data.Calculation;
using Ringtoets.Common.Data.FailureMechanism;
-using Ringtoets.Common.Forms.Helpers;
using Ringtoets.Common.Forms.PresentationObjects;
using Ringtoets.Common.Forms.Properties;
using RingtoetsCommonDataResources = Ringtoets.Common.Data.Properties.Resources;
@@ -143,178 +141,6 @@
};
}
- ///
- /// This method adds a context menu item for creating new calculation groups.
- ///
- /// The builder to add the context menu item to.
- /// The calculation group involved.
- public static void AddCreateCalculationGroupItem(IContextMenuBuilder builder, CalculationGroup calculationGroup)
- {
- var createCalculationGroupItem = new StrictContextMenuItem(
- Resources.CalculationGroup_Add_CalculationGroup,
- Resources.CalculationGroup_Add_CalculationGroup_Tooltip,
- Resources.AddFolderIcon,
- (o, args) =>
- {
- var calculation = new CalculationGroup
- {
- Name = NamingHelper.GetUniqueName(calculationGroup.Children, RingtoetsCommonDataResources.CalculationGroup_DefaultName, c => c.Name)
- };
- calculationGroup.Children.Add(calculation);
- calculationGroup.NotifyObservers();
- });
-
- builder.AddCustomItem(createCalculationGroupItem);
- }
-
- ///
- /// This method adds a context menu item for creating 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
- {
- var createCalculationItem = 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.
- ///
- /// The builder to add the context menu item to.
- /// The calculation group involved.
- public static void AddClearAllCalculationOutputInGroupItem(IContextMenuBuilder builder, CalculationGroup calculationGroup)
- {
- var clearAllItem = new StrictContextMenuItem(
- Resources.Clear_all_output,
- Resources.CalculationGroup_ClearOutput_ToolTip,
- Resources.ClearIcon, (o, args) =>
- {
- if (MessageBox.Show(Resources.CalculationGroup_ClearOutput_Are_you_sure_clear_all_output, BaseResources.Confirm, MessageBoxButtons.OKCancel) != DialogResult.OK)
- {
- return;
- }
-
- foreach (var calc in calculationGroup.GetCalculations().Where(c => c.HasOutput))
- {
- calc.ClearOutput();
- calc.NotifyObservers();
- }
- });
-
- if (!calculationGroup.GetCalculations().Any(c => c.HasOutput))
- {
- clearAllItem.Enabled = false;
- clearAllItem.ToolTipText = Resources.CalculationGroup_ClearOutput_No_calculation_with_output_to_clear;
- }
-
- builder.AddCustomItem(clearAllItem);
- }
-
- ///
- /// This method adds a context menu item for performing all calculations in the 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
- {
- var performAllItem = new StrictContextMenuItem(
- Resources.Calculate_all,
- Resources.CalculationGroup_CalculateAll_ToolTip,
- Resources.CalculateAllIcon, (o, args) => { calculateAll(calculationGroup, context); });
-
- if (!calculationGroup.GetCalculations().Any())
- {
- performAllItem.Enabled = false;
- performAllItem.ToolTipText = Resources.CalculationGroup_CalculateAll_No_calculations_to_run;
- }
-
- builder.AddCustomItem(performAllItem);
- }
-
- ///
- /// This method adds a context menu item for 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)
- where TCalculation : ICalculation where TCalculationContext : ICalculationContext
- {
- var calculateItem = 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.
- ///
- /// The builder to add the context menu item to.
- /// The calculation involved.
- public static void AddClearCalculationOutputItem(IContextMenuBuilder builder, ICalculation calculation)
- {
- var clearOutputItem = new StrictContextMenuItem(
- Resources.Clear_output,
- Resources.Clear_output_ToolTip,
- Resources.ClearIcon,
- (o, args) =>
- {
- if (MessageBox.Show(Resources.Calculation_ContextMenuStrip_Are_you_sure_clear_output, BaseResources.Confirm, MessageBoxButtons.OKCancel) != DialogResult.OK)
- {
- return;
- }
-
- calculation.ClearOutput();
- calculation.NotifyObservers();
- });
-
- if (!calculation.HasOutput)
- {
- clearOutputItem.Enabled = false;
- clearOutputItem.ToolTipText = Resources.ClearOutput_No_output_to_clear;
- }
-
- builder.AddCustomItem(clearOutputItem);
- }
-
- ///
- /// This method adds a context menu item for 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
- {
- var changeRelevancyItem = new StrictContextMenuItem(
- Resources.FailureMechanismContextMenuStrip_Is_relevant,
- Resources.FailureMechanismContextMenuStrip_Is_relevant_Tooltip,
- Resources.Checkbox_empty,
- (sender, args) =>
- {
- failureMechanismContext.WrappedData.IsRelevant = true;
- failureMechanismContext.WrappedData.NotifyObservers();
- });
-
- builder.AddCustomItem(changeRelevancyItem);
- }
-
# region Helper methods for CreateCalculationGroupContextTreeNodeInfo
private static bool IsNestedGroup(object parentData)
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/ContextMenuItemFactory.cs
===================================================================
diff -u
--- Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/ContextMenuItemFactory.cs (revision 0)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/TreeNodeInfos/ContextMenuItemFactory.cs (revision b47c41dd3741ada477388e6c8a9224ecb66291e7)
@@ -0,0 +1,214 @@
+// Copyright (C) Stichting Deltares 2016. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// All rights reserved.
+
+using System;
+using System.Linq;
+using System.Windows.Forms;
+using Core.Common.Gui.ContextMenu;
+using Ringtoets.Common.Data.Calculation;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Forms.Helpers;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Ringtoets.Common.Forms.Properties;
+using RingtoetsCommonDataResources = Ringtoets.Common.Data.Properties.Resources;
+using BaseResources = Core.Common.Base.Properties.Resources;
+
+namespace Ringtoets.Common.Forms.TreeNodeInfos
+{
+ ///
+ /// This class represents a factory for creating .
+ ///
+ public static class ContextMenuItemFactory
+ {
+ ///
+ /// This method adds a context menu item for creating new calculation groups.
+ ///
+ /// The builder to add the context menu item to.
+ /// The calculation group involved.
+ public static void AddCreateCalculationGroupItem(IContextMenuBuilder builder, CalculationGroup calculationGroup)
+ {
+ var createCalculationGroupItem = new StrictContextMenuItem(
+ Resources.CalculationGroup_Add_CalculationGroup,
+ Resources.CalculationGroup_Add_CalculationGroup_Tooltip,
+ Resources.AddFolderIcon,
+ (o, args) =>
+ {
+ var calculation = new CalculationGroup
+ {
+ Name = NamingHelper.GetUniqueName(calculationGroup.Children, RingtoetsCommonDataResources.CalculationGroup_DefaultName, c => c.Name)
+ };
+ calculationGroup.Children.Add(calculation);
+ calculationGroup.NotifyObservers();
+ });
+
+ builder.AddCustomItem(createCalculationGroupItem);
+ }
+
+ ///
+ /// This method adds a context menu item for creating 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
+ {
+ var createCalculationItem = 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.
+ ///
+ /// The builder to add the context menu item to.
+ /// The calculation group involved.
+ public static void AddClearAllCalculationOutputInGroupItem(IContextMenuBuilder builder, CalculationGroup calculationGroup)
+ {
+ var clearAllItem = new StrictContextMenuItem(
+ Resources.Clear_all_output,
+ Resources.CalculationGroup_ClearOutput_ToolTip,
+ Resources.ClearIcon, (o, args) =>
+ {
+ if (MessageBox.Show(Resources.CalculationGroup_ClearOutput_Are_you_sure_clear_all_output, BaseResources.Confirm, MessageBoxButtons.OKCancel) != DialogResult.OK)
+ {
+ return;
+ }
+
+ foreach (var calc in calculationGroup.GetCalculations().Where(c => c.HasOutput))
+ {
+ calc.ClearOutput();
+ calc.NotifyObservers();
+ }
+ });
+
+ if (!calculationGroup.GetCalculations().Any(c => c.HasOutput))
+ {
+ clearAllItem.Enabled = false;
+ clearAllItem.ToolTipText = Resources.CalculationGroup_ClearOutput_No_calculation_with_output_to_clear;
+ }
+
+ builder.AddCustomItem(clearAllItem);
+ }
+
+ ///
+ /// This method adds a context menu item for performing all calculations in the 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
+ {
+ var performAllItem = new StrictContextMenuItem(
+ Resources.Calculate_all,
+ Resources.CalculationGroup_CalculateAll_ToolTip,
+ Resources.CalculateAllIcon, (o, args) => { calculateAll(calculationGroup, context); });
+
+ if (!calculationGroup.GetCalculations().Any())
+ {
+ performAllItem.Enabled = false;
+ performAllItem.ToolTipText = Resources.CalculationGroup_CalculateAll_No_calculations_to_run;
+ }
+
+ builder.AddCustomItem(performAllItem);
+ }
+
+ ///
+ /// This method adds a context menu item for 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)
+ where TCalculation : ICalculation
+ where TCalculationContext : ICalculationContext
+ {
+ var calculateItem = 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.
+ ///
+ /// The builder to add the context menu item to.
+ /// The calculation involved.
+ public static void AddClearCalculationOutputItem(IContextMenuBuilder builder, ICalculation calculation)
+ {
+ var clearOutputItem = new StrictContextMenuItem(
+ Resources.Clear_output,
+ Resources.Clear_output_ToolTip,
+ Resources.ClearIcon,
+ (o, args) =>
+ {
+ if (MessageBox.Show(Resources.Calculation_ContextMenuStrip_Are_you_sure_clear_output, BaseResources.Confirm, MessageBoxButtons.OKCancel) != DialogResult.OK)
+ {
+ return;
+ }
+
+ calculation.ClearOutput();
+ calculation.NotifyObservers();
+ });
+
+ if (!calculation.HasOutput)
+ {
+ clearOutputItem.Enabled = false;
+ clearOutputItem.ToolTipText = Resources.ClearOutput_No_output_to_clear;
+ }
+
+ builder.AddCustomItem(clearOutputItem);
+ }
+
+ ///
+ /// This method adds a context menu item for 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
+ {
+ var changeRelevancyItem = new StrictContextMenuItem(
+ Resources.FailureMechanismContextMenuStrip_Is_relevant,
+ Resources.FailureMechanismContextMenuStrip_Is_relevant_Tooltip,
+ Resources.Checkbox_empty,
+ (sender, args) =>
+ {
+ failureMechanismContext.WrappedData.IsRelevant = true;
+ failureMechanismContext.WrappedData.NotifyObservers();
+ });
+
+ builder.AddCustomItem(changeRelevancyItem);
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj
===================================================================
diff -u -r6833a6c92024007966c7fd99a955b234653f2ef8 -rb47c41dd3741ada477388e6c8a9224ecb66291e7
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision 6833a6c92024007966c7fd99a955b234653f2ef8)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/Ringtoets.Common.Forms.Test.csproj (.../Ringtoets.Common.Forms.Test.csproj) (revision b47c41dd3741ada477388e6c8a9224ecb66291e7)
@@ -67,6 +67,7 @@
+
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/CalculationTreeNodeInfoFactoryTest.cs
===================================================================
diff -u -rb0faaa0cb58090f64503985877b0912696c1117d -rb47c41dd3741ada477388e6c8a9224ecb66291e7
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/CalculationTreeNodeInfoFactoryTest.cs (.../CalculationTreeNodeInfoFactoryTest.cs) (revision b0faaa0cb58090f64503985877b0912696c1117d)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/CalculationTreeNodeInfoFactoryTest.cs (.../CalculationTreeNodeInfoFactoryTest.cs) (revision b47c41dd3741ada477388e6c8a9224ecb66291e7)
@@ -25,10 +25,7 @@
using System.Windows.Forms;
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;
using Rhino.Mocks;
using Ringtoets.Common.Data.AssessmentSection;
@@ -42,587 +39,8 @@
namespace Ringtoets.Common.Forms.Test.TreeNodeInfos
{
[TestFixture]
- public class CalculationTreeNodeInfoFactoryTest : NUnitFormTest
+ public class CalculationTreeNodeInfoFactoryTest
{
- [Test]
- public void AddCreateCalculationGroupItem_Always_CreatesDecoratedCalculationGroupItem()
- {
- // 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
- CalculationTreeNodeInfoFactory.AddCreateCalculationGroupItem(menuBuilder, calculationGroup);
-
- // Assert
- TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
- RingtoetsFormsResources.CalculationGroup_Add_CalculationGroup,
- RingtoetsFormsResources.CalculationGroup_Add_CalculationGroup_Tooltip,
- RingtoetsFormsResources.AddFolderIcon);
- }
-
- [Test]
- public void AddCreateCalculationGroupItem_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);
- CalculationTreeNodeInfoFactory.AddCreateCalculationGroupItem(menuBuilder, calculationGroup);
- var contextMenuItem = menuBuilder.Build().Items[0];
-
- // Call
- contextMenuItem.PerformClick();
-
- // Assert
- Assert.AreEqual(1, calculationGroup.Children.Count);
- Assert.IsTrue(calculationGroup.Children[0] is CalculationGroup);
- }
-
- [Test]
- public void AddCreateCalculationItem_Always_CreatesDecoratedCalculationItem()
- {
- // 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
- CalculationTreeNodeInfoFactory.AddCreateCalculationItem(menuBuilder, calculationGroupContext, null);
-
- // Assert
- TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
- RingtoetsFormsResources.CalculationGroup_Add_Calculation,
- RingtoetsFormsResources.CalculationGroup_Add_Calculation_Tooltip,
- RingtoetsFormsResources.FailureMechanismIcon);
- }
-
- [Test]
- public void AddCreateCalculationItem_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);
-
- CalculationTreeNodeInfoFactory.AddCreateCalculationItem(menuBuilder, calculationGroupContext, context => counter++);
- var contextMenuItem = menuBuilder.Build().Items[0];
-
- // Call
- contextMenuItem.PerformClick();
-
- // Assert
- Assert.AreEqual(1, counter);
- }
-
- [Test]
- public void AddClearAllCalculationOutputInGroupItem_GroupWithCalculationOutput_CreatesDecoratedAndEnabledClearItem()
- {
- // 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 calculationGroup = new CalculationGroup
- {
- Children =
- {
- calculationWithOutput
- }
- };
-
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
-
- // Call
- CalculationTreeNodeInfoFactory.AddClearAllCalculationOutputInGroupItem(menuBuilder, calculationGroup);
-
- // Assert
- TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
- RingtoetsFormsResources.Clear_all_output,
- RingtoetsFormsResources.CalculationGroup_ClearOutput_ToolTip,
- RingtoetsFormsResources.ClearIcon);
- }
-
- [Test]
- public void AddClearAllCalculationOutputInGroupItem_GroupWithoutCalculationOutput_CreatesDecoratedAndDisabledClearItem()
- {
- // 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);
-
- mocks.ReplayAll();
-
- var calculationGroup = new CalculationGroup
- {
- Children =
- {
- calculationWithoutOutput
- }
- };
-
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
-
- // Call
- CalculationTreeNodeInfoFactory.AddClearAllCalculationOutputInGroupItem(menuBuilder, calculationGroup);
-
- // Assert
- TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
- RingtoetsFormsResources.Clear_all_output,
- RingtoetsFormsResources.CalculationGroup_ClearOutput_No_calculation_with_output_to_clear,
- RingtoetsFormsResources.ClearIcon,
- false);
- }
-
- [Test]
- public void AddClearAllCalculationOutputInGroupItem_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();
-
- calculationWithOutput1.Stub(c => c.HasOutput).Return(true);
- calculationWithOutput2.Stub(c => c.HasOutput).Return(true);
- calculationWithoutOutput.Stub(c => c.HasOutput).Return(false);
-
- calculationWithOutput1.Expect(c => c.ClearOutput());
- calculationWithOutput1.Expect(c => c.NotifyObservers());
- calculationWithOutput2.Expect(c => c.ClearOutput());
- calculationWithOutput2.Expect(c => c.NotifyObservers());
-
- mocks.ReplayAll();
-
- DialogBoxHandler = (name, wnd) =>
- {
- var messageBox = new MessageBoxTester(wnd);
- messageBoxText = messageBox.Text;
- messageBoxTitle = messageBox.Title;
-
- messageBox.ClickOk();
- };
-
- var calculationGroup = new CalculationGroup
- {
- Children =
- {
- calculationWithOutput1,
- new CalculationGroup
- {
- Children =
- {
- calculationWithOutput2,
- calculationWithoutOutput
- }
- }
- }
- };
-
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
-
- CalculationTreeNodeInfoFactory.AddClearAllCalculationOutputInGroupItem(menuBuilder, calculationGroup);
- var contextMenuItem = menuBuilder.Build().Items[0];
-
- // Call
- contextMenuItem.PerformClick();
-
- // Assert
- Assert.AreEqual(BaseResources.Confirm, messageBoxTitle);
- Assert.AreEqual(RingtoetsFormsResources.CalculationGroup_ClearOutput_Are_you_sure_clear_all_output, messageBoxText);
-
- mocks.VerifyAll();
- }
-
- [Test]
- public void AddClearAllCalculationOutputInGroupItem_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();
-
- calculationWithOutput1.Stub(c => c.HasOutput).Return(true);
- calculationWithOutput2.Stub(c => c.HasOutput).Return(true);
- calculationWithoutOutput.Stub(c => c.HasOutput).Return(false);
-
- mocks.ReplayAll();
-
- DialogBoxHandler = (name, wnd) =>
- {
- var messageBox = new MessageBoxTester(wnd);
-
- messageBox.ClickCancel();
- };
-
- var calculationGroup = new CalculationGroup
- {
- Children =
- {
- calculationWithOutput1,
- new CalculationGroup
- {
- Children =
- {
- calculationWithOutput2,
- calculationWithoutOutput
- }
- }
- }
- };
-
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
-
- CalculationTreeNodeInfoFactory.AddClearAllCalculationOutputInGroupItem(menuBuilder, calculationGroup);
- var contextMenuItem = menuBuilder.Build().Items[0];
-
- // Call
- contextMenuItem.PerformClick();
-
- mocks.VerifyAll();
- }
-
- [Test]
- public void AddPerformAllCalculationsInGroupItem_GroupWithCalculations_CreatesDecoratedAndEnabledPerformItem()
- {
- // 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();
-
- mocks.ReplayAll();
-
- var calculationGroup = new CalculationGroup
- {
- Children =
- {
- calculation
- }
- };
-
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
-
- // Call
- CalculationTreeNodeInfoFactory.AddPerformAllCalculationsInGroupItem(menuBuilder, calculationGroup, null, null);
-
- // Assert
- TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
- RingtoetsFormsResources.Calculate_all,
- RingtoetsFormsResources.CalculationGroup_CalculateAll_ToolTip,
- RingtoetsFormsResources.CalculateAllIcon);
- }
-
- [Test]
- public void AddPerformAllCalculationsInGroupItem_GroupWithoutCalculations_CreatesDecoratedAndDisabledPerformItem()
- {
- // 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
- CalculationTreeNodeInfoFactory.AddPerformAllCalculationsInGroupItem(menuBuilder, calculationGroup, null, null);
-
- // Assert
- TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
- RingtoetsFormsResources.Calculate_all,
- RingtoetsFormsResources.CalculationGroup_CalculateAll_No_calculations_to_run,
- RingtoetsFormsResources.CalculateAllIcon,
- false);
- }
-
- [Test]
- public void AddPerformAllCalculationsInGroupItem_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();
-
- mocks.ReplayAll();
-
- var counter = 0;
- var calculationGroup = new CalculationGroup
- {
- Children =
- {
- calculation
- }
- };
-
- var calculationGroupContext = new TestCalculationGroupContext(calculationGroup, failureMechanism);
-
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
-
- CalculationTreeNodeInfoFactory.AddPerformAllCalculationsInGroupItem(menuBuilder, calculationGroup, calculationGroupContext, (group, context) => counter++);
- var contextMenuItem = menuBuilder.Build().Items[0];
-
- // Call
- contextMenuItem.PerformClick();
-
- // Assert
- Assert.AreEqual(1, counter);
- }
-
- [Test]
- public void AddPerformCalculationItem_Always_CreatesPerformItem()
- {
- // Setup
- var mocks = new MockRepository();
- var applicationFeatureCommandHandler = mocks.Stub();
- var exportImportHandler = mocks.Stub();
- var viewCommandsHandler = mocks.StrictMock();
- var treeViewControl = mocks.StrictMock();
-
- mocks.ReplayAll();
-
- var calculation = new TestCalculation();
-
- var menubuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculation, treeViewControl);
-
- // Call
- CalculationTreeNodeInfoFactory.AddPerformCalculationItem(menubuilder, calculation, null, null);
-
- // Assert
- TestHelper.AssertContextMenuStripContainsItem(menubuilder.Build(), 0,
- RingtoetsFormsResources.Calculate,
- RingtoetsFormsResources.Calculate_ToolTip,
- RingtoetsFormsResources.CalculateIcon);
-
- mocks.VerifyAll();
- }
-
- [Test]
- public void AddPerformCalculationItem_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 menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculation, treeViewControl);
- CalculationTreeNodeInfoFactory.AddPerformCalculationItem(menuBuilder, calculation, testCalculationContext, (calc, context) => counter++);
- var contextMenuItem = menuBuilder.Build().Items[0];
-
- // Call
- contextMenuItem.PerformClick();
-
- // Assert
- Assert.AreEqual(1, counter);
- mocks.VerifyAll();
- }
-
- [Test]
- public void AddClearCalculationOutputItem_CalculationWithOutput_CreatesDecoratedAndEnabledClearItem()
- {
- // 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
- CalculationTreeNodeInfoFactory.AddClearCalculationOutputItem(menuBuilder, calculationWithOutput);
-
- // Assert
- TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
- RingtoetsFormsResources.Clear_output,
- RingtoetsFormsResources.Clear_output_ToolTip,
- RingtoetsFormsResources.ClearIcon);
- mocks.VerifyAll();
- }
-
- [Test]
- public void AddClearCalculationOutputItem_CalculationWithoutOutput_CreatesDecoratedAndDisabledClearItem()
- {
- // 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
- CalculationTreeNodeInfoFactory.AddClearCalculationOutputItem(menuBuilder, calculationWithOutput);
-
- // Assert
- TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
- RingtoetsFormsResources.Clear_output,
- RingtoetsFormsResources.ClearOutput_No_output_to_clear,
- RingtoetsFormsResources.ClearIcon,
- false);
- mocks.VerifyAll();
- }
-
- [Test]
- public void AddClearCalculationOutputItem_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());
-
- mocks.ReplayAll();
-
- DialogBoxHandler = (name, wnd) =>
- {
- var messageBox = new MessageBoxTester(wnd);
- messageBoxText = messageBox.Text;
- messageBoxTitle = messageBox.Title;
-
- messageBox.ClickOk();
- };
-
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationWithOutput, treeViewControl);
-
- CalculationTreeNodeInfoFactory.AddClearCalculationOutputItem(menuBuilder, calculationWithOutput);
- var contextMenuItem = menuBuilder.Build().Items[0];
-
- // Call
- contextMenuItem.PerformClick();
-
- // Assert
- Assert.AreEqual(BaseResources.Confirm, messageBoxTitle);
- Assert.AreEqual(RingtoetsFormsResources.Calculation_ContextMenuStrip_Are_you_sure_clear_output, messageBoxText);
-
- mocks.VerifyAll();
- }
-
- [Test]
- public void AddClearCalculationOutputItem_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);
-
- mocks.ReplayAll();
-
- DialogBoxHandler = (name, wnd) =>
- {
- var messageBox = new MessageBoxTester(wnd);
-
- messageBox.ClickCancel();
- };
-
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationWithOutput, treeViewControl);
-
- CalculationTreeNodeInfoFactory.AddClearCalculationOutputItem(menuBuilder, calculationWithOutput);
- var contextMenuItem = menuBuilder.Build().Items[0];
-
- // Call
- contextMenuItem.PerformClick();
-
- mocks.VerifyAll();
- }
-
# region CreateCalculationGroupContextTreeNodeInfo
[Test]
Index: Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/ContextMenuItemFactoryTest.cs
===================================================================
diff -u
--- Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/ContextMenuItemFactoryTest.cs (revision 0)
+++ Ringtoets/Common/test/Ringtoets.Common.Forms.Test/TreeNodeInfos/ContextMenuItemFactoryTest.cs (revision b47c41dd3741ada477388e6c8a9224ecb66291e7)
@@ -0,0 +1,680 @@
+// Copyright (C) Stichting Deltares 2016. All rights reserved.
+//
+// This file is part of Ringtoets.
+//
+// Ringtoets is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see .
+//
+// All names, logos, and references to "Deltares" are registered trademarks of
+// Stichting Deltares and remain full property of Stichting Deltares at all times.
+// 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;
+using Rhino.Mocks;
+using Ringtoets.Common.Data.Calculation;
+using Ringtoets.Common.Data.FailureMechanism;
+using Ringtoets.Common.Forms.PresentationObjects;
+using Ringtoets.Common.Forms.TreeNodeInfos;
+using BaseResources = Core.Common.Base.Properties.Resources;
+using RingtoetsFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Ringtoets.Common.Forms.Test.TreeNodeInfos
+{
+ [TestFixture]
+ public class ContextMenuItemFactoryTest : NUnitFormTest
+ {
+ [Test]
+ public void AddCreateCalculationGroupItem_Always_CreatesDecoratedCalculationGroupItem()
+ {
+ // 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
+ ContextMenuItemFactory.AddCreateCalculationGroupItem(menuBuilder, calculationGroup);
+
+ // Assert
+ TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
+ RingtoetsFormsResources.CalculationGroup_Add_CalculationGroup,
+ RingtoetsFormsResources.CalculationGroup_Add_CalculationGroup_Tooltip,
+ RingtoetsFormsResources.AddFolderIcon);
+ }
+
+ [Test]
+ public void AddCreateCalculationGroupItem_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);
+ ContextMenuItemFactory.AddCreateCalculationGroupItem(menuBuilder, calculationGroup);
+ var contextMenuItem = menuBuilder.Build().Items[0];
+
+ // Call
+ contextMenuItem.PerformClick();
+
+ // Assert
+ Assert.AreEqual(1, calculationGroup.Children.Count);
+ Assert.IsTrue(calculationGroup.Children[0] is CalculationGroup);
+ }
+
+ [Test]
+ public void AddCreateCalculationItem_Always_CreatesDecoratedCalculationItem()
+ {
+ // 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
+ ContextMenuItemFactory.AddCreateCalculationItem(menuBuilder, calculationGroupContext, null);
+
+ // Assert
+ TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
+ RingtoetsFormsResources.CalculationGroup_Add_Calculation,
+ RingtoetsFormsResources.CalculationGroup_Add_Calculation_Tooltip,
+ RingtoetsFormsResources.FailureMechanismIcon);
+ }
+
+ [Test]
+ public void AddCreateCalculationItem_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);
+
+ ContextMenuItemFactory.AddCreateCalculationItem(menuBuilder, calculationGroupContext, context => counter++);
+ var contextMenuItem = menuBuilder.Build().Items[0];
+
+ // Call
+ contextMenuItem.PerformClick();
+
+ // Assert
+ Assert.AreEqual(1, counter);
+ }
+
+ [Test]
+ public void AddClearAllCalculationOutputInGroupItem_GroupWithCalculationOutput_CreatesDecoratedAndEnabledClearItem()
+ {
+ // 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 calculationGroup = new CalculationGroup
+ {
+ Children =
+ {
+ calculationWithOutput
+ }
+ };
+
+ var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
+
+ // Call
+ ContextMenuItemFactory.AddClearAllCalculationOutputInGroupItem(menuBuilder, calculationGroup);
+
+ // Assert
+ TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
+ RingtoetsFormsResources.Clear_all_output,
+ RingtoetsFormsResources.CalculationGroup_ClearOutput_ToolTip,
+ RingtoetsFormsResources.ClearIcon);
+ }
+
+ [Test]
+ public void AddClearAllCalculationOutputInGroupItem_GroupWithoutCalculationOutput_CreatesDecoratedAndDisabledClearItem()
+ {
+ // 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);
+
+ mocks.ReplayAll();
+
+ var calculationGroup = new CalculationGroup
+ {
+ Children =
+ {
+ calculationWithoutOutput
+ }
+ };
+
+ var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
+
+ // Call
+ ContextMenuItemFactory.AddClearAllCalculationOutputInGroupItem(menuBuilder, calculationGroup);
+
+ // Assert
+ TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
+ RingtoetsFormsResources.Clear_all_output,
+ RingtoetsFormsResources.CalculationGroup_ClearOutput_No_calculation_with_output_to_clear,
+ RingtoetsFormsResources.ClearIcon,
+ false);
+ }
+
+ [Test]
+ public void AddClearAllCalculationOutputInGroupItem_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();
+
+ calculationWithOutput1.Stub(c => c.HasOutput).Return(true);
+ calculationWithOutput2.Stub(c => c.HasOutput).Return(true);
+ calculationWithoutOutput.Stub(c => c.HasOutput).Return(false);
+
+ calculationWithOutput1.Expect(c => c.ClearOutput());
+ calculationWithOutput1.Expect(c => c.NotifyObservers());
+ calculationWithOutput2.Expect(c => c.ClearOutput());
+ calculationWithOutput2.Expect(c => c.NotifyObservers());
+
+ mocks.ReplayAll();
+
+ DialogBoxHandler = (name, wnd) =>
+ {
+ var messageBox = new MessageBoxTester(wnd);
+ messageBoxText = messageBox.Text;
+ messageBoxTitle = messageBox.Title;
+
+ messageBox.ClickOk();
+ };
+
+ var calculationGroup = new CalculationGroup
+ {
+ Children =
+ {
+ calculationWithOutput1,
+ new CalculationGroup
+ {
+ Children =
+ {
+ calculationWithOutput2,
+ calculationWithoutOutput
+ }
+ }
+ }
+ };
+
+ var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
+
+ ContextMenuItemFactory.AddClearAllCalculationOutputInGroupItem(menuBuilder, calculationGroup);
+ var contextMenuItem = menuBuilder.Build().Items[0];
+
+ // Call
+ contextMenuItem.PerformClick();
+
+ // Assert
+ Assert.AreEqual(BaseResources.Confirm, messageBoxTitle);
+ Assert.AreEqual(RingtoetsFormsResources.CalculationGroup_ClearOutput_Are_you_sure_clear_all_output, messageBoxText);
+
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddClearAllCalculationOutputInGroupItem_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();
+
+ calculationWithOutput1.Stub(c => c.HasOutput).Return(true);
+ calculationWithOutput2.Stub(c => c.HasOutput).Return(true);
+ calculationWithoutOutput.Stub(c => c.HasOutput).Return(false);
+
+ mocks.ReplayAll();
+
+ DialogBoxHandler = (name, wnd) =>
+ {
+ var messageBox = new MessageBoxTester(wnd);
+
+ messageBox.ClickCancel();
+ };
+
+ var calculationGroup = new CalculationGroup
+ {
+ Children =
+ {
+ calculationWithOutput1,
+ new CalculationGroup
+ {
+ Children =
+ {
+ calculationWithOutput2,
+ calculationWithoutOutput
+ }
+ }
+ }
+ };
+
+ var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
+
+ ContextMenuItemFactory.AddClearAllCalculationOutputInGroupItem(menuBuilder, calculationGroup);
+ var contextMenuItem = menuBuilder.Build().Items[0];
+
+ // Call
+ contextMenuItem.PerformClick();
+
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddPerformAllCalculationsInGroupItem_GroupWithCalculations_CreatesDecoratedAndEnabledPerformItem()
+ {
+ // 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();
+
+ mocks.ReplayAll();
+
+ var calculationGroup = new CalculationGroup
+ {
+ Children =
+ {
+ calculation
+ }
+ };
+
+ var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
+
+ // Call
+ ContextMenuItemFactory.AddPerformAllCalculationsInGroupItem(menuBuilder, calculationGroup, null, null);
+
+ // Assert
+ TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
+ RingtoetsFormsResources.Calculate_all,
+ RingtoetsFormsResources.CalculationGroup_CalculateAll_ToolTip,
+ RingtoetsFormsResources.CalculateAllIcon);
+ }
+
+ [Test]
+ public void AddPerformAllCalculationsInGroupItem_GroupWithoutCalculations_CreatesDecoratedAndDisabledPerformItem()
+ {
+ // 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
+ ContextMenuItemFactory.AddPerformAllCalculationsInGroupItem(menuBuilder, calculationGroup, null, null);
+
+ // Assert
+ TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
+ RingtoetsFormsResources.Calculate_all,
+ RingtoetsFormsResources.CalculationGroup_CalculateAll_No_calculations_to_run,
+ RingtoetsFormsResources.CalculateAllIcon,
+ false);
+ }
+
+ [Test]
+ public void AddPerformAllCalculationsInGroupItem_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();
+
+ mocks.ReplayAll();
+
+ var counter = 0;
+ var calculationGroup = new CalculationGroup
+ {
+ Children =
+ {
+ calculation
+ }
+ };
+
+ var calculationGroupContext = new TestCalculationGroupContext(calculationGroup, failureMechanism);
+
+ var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationGroup, treeViewControl);
+
+ ContextMenuItemFactory.AddPerformAllCalculationsInGroupItem(menuBuilder, calculationGroup, calculationGroupContext, (group, context) => counter++);
+ var contextMenuItem = menuBuilder.Build().Items[0];
+
+ // Call
+ contextMenuItem.PerformClick();
+
+ // Assert
+ Assert.AreEqual(1, counter);
+ }
+
+ [Test]
+ public void AddPerformCalculationItem_Always_CreatesPerformItem()
+ {
+ // Setup
+ var mocks = new MockRepository();
+ var applicationFeatureCommandHandler = mocks.Stub();
+ var exportImportHandler = mocks.Stub();
+ var viewCommandsHandler = mocks.StrictMock();
+ var treeViewControl = mocks.StrictMock();
+
+ mocks.ReplayAll();
+
+ var calculation = new TestCalculation();
+
+ var menubuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculation, treeViewControl);
+
+ // Call
+ ContextMenuItemFactory.AddPerformCalculationItem(menubuilder, calculation, null, null);
+
+ // Assert
+ TestHelper.AssertContextMenuStripContainsItem(menubuilder.Build(), 0,
+ RingtoetsFormsResources.Calculate,
+ RingtoetsFormsResources.Calculate_ToolTip,
+ RingtoetsFormsResources.CalculateIcon);
+
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddPerformCalculationItem_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 menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculation, treeViewControl);
+ ContextMenuItemFactory.AddPerformCalculationItem(menuBuilder, calculation, testCalculationContext, (calc, context) => counter++);
+ var contextMenuItem = menuBuilder.Build().Items[0];
+
+ // Call
+ contextMenuItem.PerformClick();
+
+ // Assert
+ Assert.AreEqual(1, counter);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddClearCalculationOutputItem_CalculationWithOutput_CreatesDecoratedAndEnabledClearItem()
+ {
+ // 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
+ ContextMenuItemFactory.AddClearCalculationOutputItem(menuBuilder, calculationWithOutput);
+
+ // Assert
+ TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
+ RingtoetsFormsResources.Clear_output,
+ RingtoetsFormsResources.Clear_output_ToolTip,
+ RingtoetsFormsResources.ClearIcon);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddClearCalculationOutputItem_CalculationWithoutOutput_CreatesDecoratedAndDisabledClearItem()
+ {
+ // 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
+ ContextMenuItemFactory.AddClearCalculationOutputItem(menuBuilder, calculationWithOutput);
+
+ // Assert
+ TestHelper.AssertContextMenuStripContainsItem(menuBuilder.Build(), 0,
+ RingtoetsFormsResources.Clear_output,
+ RingtoetsFormsResources.ClearOutput_No_output_to_clear,
+ RingtoetsFormsResources.ClearIcon,
+ false);
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddClearCalculationOutputItem_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());
+
+ mocks.ReplayAll();
+
+ DialogBoxHandler = (name, wnd) =>
+ {
+ var messageBox = new MessageBoxTester(wnd);
+ messageBoxText = messageBox.Text;
+ messageBoxTitle = messageBox.Title;
+
+ messageBox.ClickOk();
+ };
+
+ var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationWithOutput, treeViewControl);
+
+ ContextMenuItemFactory.AddClearCalculationOutputItem(menuBuilder, calculationWithOutput);
+ var contextMenuItem = menuBuilder.Build().Items[0];
+
+ // Call
+ contextMenuItem.PerformClick();
+
+ // Assert
+ Assert.AreEqual(BaseResources.Confirm, messageBoxTitle);
+ Assert.AreEqual(RingtoetsFormsResources.Calculation_ContextMenuStrip_Are_you_sure_clear_output, messageBoxText);
+
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AddClearCalculationOutputItem_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);
+
+ mocks.ReplayAll();
+
+ DialogBoxHandler = (name, wnd) =>
+ {
+ var messageBox = new MessageBoxTester(wnd);
+
+ messageBox.ClickCancel();
+ };
+
+ var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, calculationWithOutput, treeViewControl);
+
+ ContextMenuItemFactory.AddClearCalculationOutputItem(menuBuilder, calculationWithOutput);
+ var contextMenuItem = menuBuilder.Build().Items[0];
+
+ // Call
+ contextMenuItem.PerformClick();
+
+ mocks.VerifyAll();
+ }
+
+ # region Nested types
+
+ private class TestCalculationGroupContext : Observable, ICalculationContext
+ {
+ public TestCalculationGroupContext(CalculationGroup wrappedData, IFailureMechanism failureMechanism)
+ {
+ WrappedData = wrappedData;
+ FailureMechanism = failureMechanism;
+ }
+
+ public CalculationGroup WrappedData { get; private set; }
+
+ public IFailureMechanism FailureMechanism { get; private set; }
+ }
+
+ private class TestCalculationContext : Observable, ICalculationContext
+ {
+ public TestCalculationContext(TestCalculation wrappedData, IFailureMechanism failureMechanism)
+ {
+ WrappedData = wrappedData;
+ FailureMechanism = failureMechanism;
+ }
+
+ public TestCalculation WrappedData { get; private set; }
+
+ public IFailureMechanism FailureMechanism { get; private set; }
+ }
+
+ private class TestCalculation : Observable, ICalculation
+ {
+ public TestCalculation()
+ {
+ Name = "Nieuwe berekening";
+ }
+
+ public string Name { get; set; }
+
+ public string Comments { get; set; }
+
+ public bool HasOutput
+ {
+ get
+ {
+ return false;
+ }
+ }
+
+ public void ClearOutput() { }
+
+ public void ClearHydraulicBoundaryLocation() { }
+
+ public ICalculationInput GetObservableInput()
+ {
+ return null;
+ }
+ }
+
+ # endregion
+ }
+}
Index: Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs
===================================================================
diff -u -r009444e57fa99bf5e3584a5bb86b6c314d46f3ff -rb47c41dd3741ada477388e6c8a9224ecb66291e7
--- Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision 009444e57fa99bf5e3584a5bb86b6c314d46f3ff)
+++ Ringtoets/GrassCoverErosionInwards/src/Ringtoets.GrassCoverErosionInwards.Plugin/GrassCoverErosionInwardsGuiPlugin.cs (.../GrassCoverErosionInwardsGuiPlugin.cs) (revision b47c41dd3741ada477388e6c8a9224ecb66291e7)
@@ -240,8 +240,7 @@
Gui.ViewCommands.RemoveAllViewsForItem(grassCoverErosionInwardsFailureMechanismContext);
grassCoverErosionInwardsFailureMechanismContext.WrappedData.IsRelevant = false;
grassCoverErosionInwardsFailureMechanismContext.WrappedData.NotifyObservers();
- }
- );
+ });
return Gui.Get(grassCoverErosionInwardsFailureMechanismContext, treeViewControl)
.AddOpenItem()
@@ -260,7 +259,7 @@
{
var builder = Gui.Get(grassCoverErosionInwardsFailureMechanismContext, treeViewControl);
- CalculationTreeNodeInfoFactory.AddDisabledChangeRelevancyItem(builder, grassCoverErosionInwardsFailureMechanismContext);
+ ContextMenuItemFactory.AddDisabledChangeRelevancyItem(builder, grassCoverErosionInwardsFailureMechanismContext);
return builder.AddSeparator()
.AddExpandAllItem()
@@ -320,17 +319,15 @@
if (!isNestedGroup)
{
- builder
- .AddOpenItem()
- .AddSeparator();
+ builder.AddOpenItem()
+ .AddSeparator();
}
- CalculationTreeNodeInfoFactory.AddCreateCalculationGroupItem(builder, group);
- CalculationTreeNodeInfoFactory.AddCreateCalculationItem(builder, nodeData, AddCalculation);
+ ContextMenuItemFactory.AddCreateCalculationGroupItem(builder, group);
+ ContextMenuItemFactory.AddCreateCalculationItem(builder, nodeData, AddCalculation);
builder.AddSeparator();
-
- CalculationTreeNodeInfoFactory.AddPerformAllCalculationsInGroupItem(builder, group, nodeData, CalculateAll);
- CalculationTreeNodeInfoFactory.AddClearAllCalculationOutputInGroupItem(builder, group);
+ ContextMenuItemFactory.AddPerformAllCalculationsInGroupItem(builder, group, nodeData, CalculateAll);
+ ContextMenuItemFactory.AddClearAllCalculationOutputInGroupItem(builder, group);
builder.AddSeparator();
if (isNestedGroup)
@@ -340,15 +337,14 @@
builder.AddSeparator();
}
- return builder
- .AddImportItem()
- .AddExportItem()
- .AddSeparator()
- .AddExpandAllItem()
- .AddCollapseAllItem()
- .AddSeparator()
- .AddPropertiesItem()
- .Build();
+ return builder.AddImportItem()
+ .AddExportItem()
+ .AddSeparator()
+ .AddExpandAllItem()
+ .AddCollapseAllItem()
+ .AddSeparator()
+ .AddPropertiesItem()
+ .Build();
}
private void CalculationGroupContextOnNodeRemoved(GrassCoverErosionInwardsCalculationGroupContext nodeData, object parentNodeData)
@@ -400,12 +396,12 @@
GrassCoverErosionInwardsCalculation calculation = nodeData.WrappedData;
- CalculationTreeNodeInfoFactory.AddPerformCalculationItem(
+ ContextMenuItemFactory.AddPerformCalculationItem(
builder,
calculation,
nodeData,
PerformCalculation);
- CalculationTreeNodeInfoFactory.AddClearCalculationOutputItem(builder, calculation);
+ ContextMenuItemFactory.AddClearCalculationOutputItem(builder, calculation);
builder.AddSeparator();
return builder
Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs
===================================================================
diff -u -ra1fefd1d0caa3417e5d6733cf5b88c1f98a8215a -rb47c41dd3741ada477388e6c8a9224ecb66291e7
--- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision a1fefd1d0caa3417e5d6733cf5b88c1f98a8215a)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision b47c41dd3741ada477388e6c8a9224ecb66291e7)
@@ -561,7 +561,7 @@
{
var builder = Gui.Get(nodeData, treeViewControl);
- CalculationTreeNodeInfoFactory.AddDisabledChangeRelevancyItem(builder, nodeData);
+ ContextMenuItemFactory.AddDisabledChangeRelevancyItem(builder, nodeData);
return builder.AddSeparator()
.AddExpandAllItem()
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs
===================================================================
diff -u -rba310454172ed29499474b2f8b013fa0f0c523b8 -rb47c41dd3741ada477388e6c8a9224ecb66291e7
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision ba310454172ed29499474b2f8b013fa0f0c523b8)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision b47c41dd3741ada477388e6c8a9224ecb66291e7)
@@ -284,8 +284,7 @@
Gui.ViewCommands.RemoveAllViewsForItem(pipingFailureMechanismContext);
pipingFailureMechanismContext.WrappedData.IsRelevant = false;
pipingFailureMechanismContext.WrappedData.NotifyObservers();
- }
- );
+ });
var validateAllItem = CreateValidateAllItem(pipingFailureMechanismContext.WrappedData);
@@ -325,7 +324,7 @@
{
var builder = Gui.Get(pipingFailureMechanismContext, treeViewControl);
- CalculationTreeNodeInfoFactory.AddDisabledChangeRelevancyItem(builder, pipingFailureMechanismContext);
+ ContextMenuItemFactory.AddDisabledChangeRelevancyItem(builder, pipingFailureMechanismContext);
return builder.AddSeparator()
.AddExpandAllItem()
@@ -454,22 +453,21 @@
(o, args) => { PipingCalculationService.Validate(calculation); });
builder.AddCustomItem(validateItem);
- CalculationTreeNodeInfoFactory.AddPerformCalculationItem(builder, calculation, nodeData, PerformCalculation);
- CalculationTreeNodeInfoFactory.AddClearCalculationOutputItem(builder, calculation);
+ ContextMenuItemFactory.AddPerformCalculationItem(builder, calculation, nodeData, PerformCalculation);
+ ContextMenuItemFactory.AddClearCalculationOutputItem(builder, calculation);
builder.AddSeparator();
- return builder
- .AddRenameItem()
- .AddDeleteItem()
- .AddSeparator()
- .AddImportItem()
- .AddExportItem()
- .AddSeparator()
- .AddExpandAllItem()
- .AddCollapseAllItem()
- .AddSeparator()
- .AddPropertiesItem()
- .Build();
+ return builder.AddRenameItem()
+ .AddDeleteItem()
+ .AddSeparator()
+ .AddImportItem()
+ .AddExportItem()
+ .AddSeparator()
+ .AddExpandAllItem()
+ .AddCollapseAllItem()
+ .AddSeparator()
+ .AddPropertiesItem()
+ .Build();
}
private static object[] PipingCalculationContextChildNodeObjects(PipingCalculationScenarioContext pipingCalculationScenarioContext)
@@ -567,21 +565,18 @@
if (!isNestedGroup)
{
- builder
- .AddOpenItem()
- .AddSeparator()
- .AddCustomItem(generateCalculationsItem)
- .AddSeparator();
+ builder.AddOpenItem()
+ .AddSeparator()
+ .AddCustomItem(generateCalculationsItem)
+ .AddSeparator();
}
- CalculationTreeNodeInfoFactory.AddCreateCalculationGroupItem(builder, group);
- CalculationTreeNodeInfoFactory.AddCreateCalculationItem(builder, nodeData, AddCalculationScenario);
+ ContextMenuItemFactory.AddCreateCalculationGroupItem(builder, group);
+ ContextMenuItemFactory.AddCreateCalculationItem(builder, nodeData, AddCalculationScenario);
builder.AddSeparator();
-
- builder
- .AddCustomItem(validateAllItem);
- CalculationTreeNodeInfoFactory.AddPerformAllCalculationsInGroupItem(builder, group, nodeData, CalculateAll);
- CalculationTreeNodeInfoFactory.AddClearAllCalculationOutputInGroupItem(builder, group);
+ builder.AddCustomItem(validateAllItem);
+ ContextMenuItemFactory.AddPerformAllCalculationsInGroupItem(builder, group, nodeData, CalculateAll);
+ ContextMenuItemFactory.AddClearAllCalculationOutputInGroupItem(builder, group);
builder.AddSeparator();
if (isNestedGroup)
@@ -591,15 +586,14 @@
builder.AddSeparator();
}
- return builder
- .AddImportItem()
- .AddExportItem()
- .AddSeparator()
- .AddExpandAllItem()
- .AddCollapseAllItem()
- .AddSeparator()
- .AddPropertiesItem()
- .Build();
+ return builder.AddImportItem()
+ .AddExportItem()
+ .AddSeparator()
+ .AddExpandAllItem()
+ .AddCollapseAllItem()
+ .AddSeparator()
+ .AddPropertiesItem()
+ .Build();
}
private static void AddCalculationScenario(PipingCalculationGroupContext nodeData)