Index: Core/Common/src/Core.Common.Controls.TreeView/TreeNodeInfo.cs
===================================================================
diff -u -r2750ecd900b9e34ba54bb96d233c464b82d7684c -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Core/Common/src/Core.Common.Controls.TreeView/TreeNodeInfo.cs (.../TreeNodeInfo.cs) (revision 2750ecd900b9e34ba54bb96d233c464b82d7684c)
+++ Core/Common/src/Core.Common.Controls.TreeView/TreeNodeInfo.cs (.../TreeNodeInfo.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -66,8 +66,9 @@
/// The object parameter represents the wrapped data of the tree node.
/// The parameter represents the tree node.
/// The parameter represents the current tree node information object.
+ /// The parameter represents the current tree view control.
///
- public Func ContextMenuStrip { get; set; }
+ public Func ContextMenuStrip { get; set; }
///
/// Gets or sets a function for obtaining child node objects.
@@ -203,8 +204,9 @@
/// The parameter represents the wrapped data of the tree node.
/// The parameter represents the tree node.
/// The parameter represents the current tree node information object.
+ /// The parameter represents the current tree view control.
///
- public Func ContextMenuStrip { get; set; }
+ public Func ContextMenuStrip { get; set; }
///
/// Gets or sets a function for obtaining child node objects.
@@ -311,8 +313,8 @@
? tag => treeNodeInfo.Image((TData) tag)
: (Func) null,
ContextMenuStrip = treeNodeInfo.ContextMenuStrip != null
- ? (tag, sourceNode, info) => treeNodeInfo.ContextMenuStrip((TData) tag, sourceNode, info)
- : (Func) null,
+ ? (tag, sourceNode, info, treeViewControl) => treeNodeInfo.ContextMenuStrip((TData) tag, sourceNode, info, treeViewControl)
+ : (Func)null,
ChildNodeObjects = treeNodeInfo.ChildNodeObjects != null
? tag => treeNodeInfo.ChildNodeObjects((TData) tag)
: (Func) null,
Index: Core/Common/src/Core.Common.Controls.TreeView/TreeViewControl.cs
===================================================================
diff -u -rcf6a76a5bd319b58990949132b0fbf6fe60a97e4 -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Core/Common/src/Core.Common.Controls.TreeView/TreeViewControl.cs (.../TreeViewControl.cs) (revision cf6a76a5bd319b58990949132b0fbf6fe60a97e4)
+++ Core/Common/src/Core.Common.Controls.TreeView/TreeViewControl.cs (.../TreeViewControl.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -443,7 +443,7 @@
// Update the context menu (relevant in case of keyboard navigation in the tree view)
selectedNode.ContextMenuStrip = treeNodeInfo.ContextMenuStrip != null
- ? treeNodeInfo.ContextMenuStrip(selectedNode.Tag, selectedNode, treeNodeInfo)
+ ? treeNodeInfo.ContextMenuStrip(selectedNode.Tag, selectedNode, treeNodeInfo, this)
: null;
if (treeView.ContextMenu != null && selectedNode.ContextMenuStrip != null)
@@ -517,7 +517,7 @@
// Update the context menu
clickedNode.ContextMenuStrip = treeNodeInfo.ContextMenuStrip != null
- ? treeNodeInfo.ContextMenuStrip(clickedNode.Tag, clickedNode, treeNodeInfo)
+ ? treeNodeInfo.ContextMenuStrip(clickedNode.Tag, clickedNode, treeNodeInfo, this)
: null;
return;
Index: Core/Common/src/Core.Common.Controls.TreeView/TreeViewController.cs
===================================================================
diff -u -rb8504088c9035ab8394bd564bf4747d0530db866 -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Core/Common/src/Core.Common.Controls.TreeView/TreeViewController.cs (.../TreeViewController.cs) (revision b8504088c9035ab8394bd564bf4747d0530db866)
+++ Core/Common/src/Core.Common.Controls.TreeView/TreeViewController.cs (.../TreeViewController.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -446,7 +446,7 @@
// Update the context menu (relevant in case of keyboard navigation in the tree view)
selectedNode.ContextMenuStrip = treeNodeInfo.ContextMenuStrip != null
- ? treeNodeInfo.ContextMenuStrip(selectedNode.Tag, selectedNode, treeNodeInfo)
+ ? treeNodeInfo.ContextMenuStrip(selectedNode.Tag, selectedNode, treeNodeInfo, new TreeViewControl())
: null;
if (treeView.ContextMenu != null && selectedNode.ContextMenuStrip != null)
@@ -520,7 +520,7 @@
// Update the context menu
clickedNode.ContextMenuStrip = treeNodeInfo.ContextMenuStrip != null
- ? treeNodeInfo.ContextMenuStrip(clickedNode.Tag, clickedNode, treeNodeInfo)
+ ? treeNodeInfo.ContextMenuStrip(clickedNode.Tag, clickedNode, treeNodeInfo, new TreeViewControl())
: null;
return;
Index: Core/Common/src/Core.Common.Gui/ContextMenu/ContextMenuBuilder.cs
===================================================================
diff -u -r0c64d8a6c718c0aa67403a16c94dd0c10f862455 -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Core/Common/src/Core.Common.Gui/ContextMenu/ContextMenuBuilder.cs (.../ContextMenuBuilder.cs) (revision 0c64d8a6c718c0aa67403a16c94dd0c10f862455)
+++ Core/Common/src/Core.Common.Gui/ContextMenu/ContextMenuBuilder.cs (.../ContextMenuBuilder.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -53,14 +53,15 @@
/// If null , this builder will not render items which require this type of information.
/// The for which to create a .
/// The to use while creating the .
+ /// The to use while executing the actions.
/// Thrown when the required object instances could not be created based on
/// the or .
- public ContextMenuBuilder(IApplicationFeatureCommands featureCommandHandler, IExportImportCommandHandler importExportHandler, IViewCommands viewsCommandsHandler, TreeNode treeNode, TreeNodeInfo treeNodeInfo)
+ public ContextMenuBuilder(IApplicationFeatureCommands featureCommandHandler, IExportImportCommandHandler importExportHandler, IViewCommands viewsCommandsHandler, TreeNode treeNode, TreeNodeInfo treeNodeInfo, TreeViewControl treeViewControl)
{
try
{
guiItemsFactory = new GuiContextMenuItemFactory(featureCommandHandler, importExportHandler, viewsCommandsHandler, treeNode);
- treeViewItemsFactory = new TreeViewContextMenuItemFactory(treeNode, treeNodeInfo);
+ treeViewItemsFactory = new TreeViewContextMenuItemFactory(treeNode, treeNodeInfo, treeViewControl);
}
catch (ArgumentNullException e)
{
Index: Core/Common/src/Core.Common.Gui/ContextMenu/IContextMenuBuilderProvider.cs
===================================================================
diff -u -r0c64d8a6c718c0aa67403a16c94dd0c10f862455 -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Core/Common/src/Core.Common.Gui/ContextMenu/IContextMenuBuilderProvider.cs (.../IContextMenuBuilderProvider.cs) (revision 0c64d8a6c718c0aa67403a16c94dd0c10f862455)
+++ Core/Common/src/Core.Common.Gui/ContextMenu/IContextMenuBuilderProvider.cs (.../IContextMenuBuilderProvider.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -38,10 +38,12 @@
/// create a for.
/// The to use while creating the
/// .
+ /// The to use while executing the
+ /// actions.
/// The which can be used to create a
/// for .
/// Thrown when the instance could
/// not be created.
- IContextMenuBuilder Get(TreeNode treeNode, TreeNodeInfo treeNodeInfo);
+ IContextMenuBuilder Get(TreeNode treeNode, TreeNodeInfo treeNodeInfo, TreeViewControl treeViewControl);
}
}
\ No newline at end of file
Index: Core/Common/src/Core.Common.Gui/ContextMenu/TreeViewContextMenuItemFactory.cs
===================================================================
diff -u -rfbb37872d09f1ded75ce2209e8e48a6b64d8a78f -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Core/Common/src/Core.Common.Gui/ContextMenu/TreeViewContextMenuItemFactory.cs (.../TreeViewContextMenuItemFactory.cs) (revision fbb37872d09f1ded75ce2209e8e48a6b64d8a78f)
+++ Core/Common/src/Core.Common.Gui/ContextMenu/TreeViewContextMenuItemFactory.cs (.../TreeViewContextMenuItemFactory.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -36,14 +36,16 @@
{
private readonly TreeNode treeNode;
private readonly TreeNodeInfo treeNodeInfo;
+ private readonly TreeViewControl treeViewControl;
///
/// Creates a new instance of for the given .
///
/// The for which to create the objects.
/// The to use while creating the objects.
+ /// The to use while executing the actions.
/// Thrown when is null .
- public TreeViewContextMenuItemFactory(TreeNode treeNode, TreeNodeInfo treeNodeInfo)
+ public TreeViewContextMenuItemFactory(TreeNode treeNode, TreeNodeInfo treeNodeInfo, TreeViewControl treeViewControl)
{
if (treeNode == null)
{
@@ -55,8 +57,14 @@
throw new ArgumentNullException("treeNodeInfo", Resources.ContextMenuItemFactory_Can_not_create_context_menu_items_without_tree_node_info);
}
+ if (treeViewControl == null)
+ {
+ throw new ArgumentNullException("treeViewControl", Resources.ContextMenuItemFactory_Can_not_create_context_menu_items_without_tree_view_control);
+ }
+
this.treeNode = treeNode;
this.treeNodeInfo = treeNodeInfo;
+ this.treeViewControl = treeViewControl;
}
///
@@ -89,7 +97,7 @@
Image = Resources.DeleteIcon,
Enabled = treeNodeInfo.CanRemove != null && treeNodeInfo.CanRemove(treeNode.Tag, treeNode.Parent != null ? treeNode.Parent.Tag : null)
};
- toolStripMenuItem.Click += (s, e) => ((Controls.TreeView.TreeView) treeNode.TreeView).TreeViewController.DeleteNode(treeNode, treeNodeInfo);
+ toolStripMenuItem.Click += (s, e) => treeViewControl.DeleteNode(treeNode, treeNodeInfo);
return toolStripMenuItem;
}
@@ -107,7 +115,7 @@
Image = Resources.ExpandAllIcon,
Enabled = children.Any()
};
- toolStripMenuItem.Click += (s, e) => ((Controls.TreeView.TreeView) treeNode.TreeView).TreeViewController.ExpandAll(treeNode);
+ toolStripMenuItem.Click += (s, e) => treeViewControl.ExpandAll(treeNode);
return toolStripMenuItem;
}
@@ -125,7 +133,7 @@
Image = Resources.CollapseAllIcon,
Enabled = children.Any()
};
- toolStripMenuItem.Click += (s, e) => ((Controls.TreeView.TreeView) treeNode.TreeView).TreeViewController.CollapseAll(treeNode);
+ toolStripMenuItem.Click += (s, e) => treeViewControl.CollapseAll(treeNode);
return toolStripMenuItem;
}
}
Index: Core/Common/src/Core.Common.Gui/Properties/Resources.Designer.cs
===================================================================
diff -u -rb6d165f6edddc4271e94c5f6d70c12d4ba0c60eb -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Core/Common/src/Core.Common.Gui/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision b6d165f6edddc4271e94c5f6d70c12d4ba0c60eb)
+++ Core/Common/src/Core.Common.Gui/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.17929
+// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -585,6 +585,16 @@
}
///
+ /// Looks up a localized string similar to Kan geen element in het contextmenu creëren zonder dat de boom bekend is..
+ ///
+ public static string ContextMenuItemFactory_Can_not_create_context_menu_items_without_tree_view_control {
+ get {
+ return ResourceManager.GetString("ContextMenuItemFactory_Can_not_create_context_menu_items_without_tree_view_contro" +
+ "l", resourceCulture);
+ }
+ }
+
+ ///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
public static System.Drawing.Bitmap control_play {
Index: Core/Common/src/Core.Common.Gui/Properties/Resources.resx
===================================================================
diff -u -rb6d165f6edddc4271e94c5f6d70c12d4ba0c60eb -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Core/Common/src/Core.Common.Gui/Properties/Resources.resx (.../Resources.resx) (revision b6d165f6edddc4271e94c5f6d70c12d4ba0c60eb)
+++ Core/Common/src/Core.Common.Gui/Properties/Resources.resx (.../Resources.resx) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -802,6 +802,9 @@
Kan geen element in het contextmenu creëren zonder dat informatie over de knoop bekend is.
+
+ Kan geen element in het contextmenu creëren zonder dat de boom bekend is.
+
&Openen
Index: Core/Common/src/Core.Common.Gui/RingtoetsGui.cs
===================================================================
diff -u -r791e86bf9004a55178386416eb6a9c545380bd1c -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Core/Common/src/Core.Common.Gui/RingtoetsGui.cs (.../RingtoetsGui.cs) (revision 791e86bf9004a55178386416eb6a9c545380bd1c)
+++ Core/Common/src/Core.Common.Gui/RingtoetsGui.cs (.../RingtoetsGui.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -755,9 +755,9 @@
#region Implementation: IContextMenuBuilderProvider
- public IContextMenuBuilder Get(TreeNode treeNode, TreeNodeInfo treeNodeInfo)
+ public IContextMenuBuilder Get(TreeNode treeNode, TreeNodeInfo treeNodeInfo, TreeViewControl treeViewControl)
{
- return new ContextMenuBuilder(appFeatureApplicationCommands, exportImportCommandHandler, ViewCommands, treeNode, treeNodeInfo);
+ return new ContextMenuBuilder(appFeatureApplicationCommands, exportImportCommandHandler, ViewCommands, treeNode, treeNodeInfo, treeViewControl);
}
#endregion
Index: Core/Common/test/Core.Common.Gui.Test/ContextMenu/ContextMenuBuilderTest.cs
===================================================================
diff -u -r0c64d8a6c718c0aa67403a16c94dd0c10f862455 -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Core/Common/test/Core.Common.Gui.Test/ContextMenu/ContextMenuBuilderTest.cs (.../ContextMenuBuilderTest.cs) (revision 0c64d8a6c718c0aa67403a16c94dd0c10f862455)
+++ Core/Common/test/Core.Common.Gui.Test/ContextMenu/ContextMenuBuilderTest.cs (.../ContextMenuBuilderTest.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -21,28 +21,18 @@
}
[Test]
- public void Constructor_NoTreeNode_ThrowsContextMenuBuilderException()
+ public void Constructor_NoApplicationFeatureCommands_ThrowsContextMenuBuilderException()
{
- // Call
- TestDelegate test = () => new ContextMenuBuilder(null, null, null, null, null);
-
- // Assert
- var message = Assert.Throws(test).Message;
- Assert.AreEqual(Resources.ContextMenuBuilder_ContextMenuBuilder_Cannot_create_instances_of_factories, message);
- }
-
- [Test]
- public void Constructor_NoGui_ThrowsContextMenuBuilderException()
- {
// Setup
var treeNodeMock = mocks.StrictMock();
var treeNodeInfoMock = mocks.StrictMock();
var importExportHandlerMock = mocks.StrictMock();
var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
mocks.ReplayAll();
// Call
- TestDelegate test = () => new ContextMenuBuilder(null, importExportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock);
+ TestDelegate test = () => new ContextMenuBuilder(null, importExportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock, treeViewControlMock);
// Assert
var message = Assert.Throws(test).Message;
@@ -59,10 +49,11 @@
var treeNodeInfoMock = mocks.StrictMock();
var applicationFeatureCommandsMock = mocks.StrictMock();
var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
mocks.ReplayAll();
// Call
- TestDelegate test = () => new ContextMenuBuilder(applicationFeatureCommandsMock, null, viewCommandsMock, treeNodeMock, treeNodeInfoMock);
+ TestDelegate test = () => new ContextMenuBuilder(applicationFeatureCommandsMock, null, viewCommandsMock, treeNodeMock, treeNodeInfoMock, treeViewControlMock);
// Assert
var message = Assert.Throws(test).Message;
@@ -79,10 +70,11 @@
var exportImportHandlerMock = mocks.StrictMock();
var treeNodeMock = mocks.StrictMock();
var treeNodeInfoMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
mocks.ReplayAll();
// Call
- TestDelegate test = () => new ContextMenuBuilder(applicationFeatureCommandsMockMock, exportImportHandlerMock, null, treeNodeMock, treeNodeInfoMock);
+ TestDelegate test = () => new ContextMenuBuilder(applicationFeatureCommandsMockMock, exportImportHandlerMock, null, treeNodeMock, treeNodeInfoMock, treeViewControlMock);
// Assert
var message = Assert.Throws(test).Message;
@@ -92,6 +84,60 @@
}
[Test]
+ public void Constructor_NoTreeNode_ThrowsContextMenuBuilderException()
+ {
+ // Setup
+ var applicationFeatureCommandsMock = mocks.StrictMock();
+ var treeNodeInfoMock = mocks.StrictMock();
+ var importExportHandlerMock = mocks.StrictMock();
+ var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
+
+ // Call
+ TestDelegate test = () => new ContextMenuBuilder(applicationFeatureCommandsMock, importExportHandlerMock, viewCommandsMock, null, treeNodeInfoMock, treeViewControlMock);
+
+ // Assert
+ var message = Assert.Throws(test).Message;
+ Assert.AreEqual(Resources.ContextMenuBuilder_ContextMenuBuilder_Cannot_create_instances_of_factories, message);
+ }
+
+ [Test]
+ public void Constructor_NoTreeNodeInfo_ThrowsContextMenuBuilderException()
+ {
+ // Setup
+ var applicationFeatureCommandsMock = mocks.StrictMock();
+ var treeNodeMock = mocks.StrictMock();
+ var importExportHandlerMock = mocks.StrictMock();
+ var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
+
+ // Call
+ TestDelegate test = () => new ContextMenuBuilder(applicationFeatureCommandsMock, importExportHandlerMock, viewCommandsMock, treeNodeMock, null, treeViewControlMock);
+
+ // Assert
+ var message = Assert.Throws(test).Message;
+ Assert.AreEqual(Resources.ContextMenuBuilder_ContextMenuBuilder_Cannot_create_instances_of_factories, message);
+ }
+
+ [Test]
+ public void Constructor_NoTreeViewController_ThrowsContextMenuBuilderException()
+ {
+ // Setup
+ var applicationFeatureCommandsMock = mocks.StrictMock();
+ var treeNodeMock = mocks.StrictMock();
+ var importExportHandlerMock = mocks.StrictMock();
+ var viewCommandsMock = mocks.StrictMock();
+ var treeNodeInfoMock = mocks.StrictMock();
+
+ // Call
+ TestDelegate test = () => new ContextMenuBuilder(applicationFeatureCommandsMock, importExportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock, null);
+
+ // Assert
+ var message = Assert.Throws(test).Message;
+ Assert.AreEqual(Resources.ContextMenuBuilder_ContextMenuBuilder_Cannot_create_instances_of_factories, message);
+ }
+
+ [Test]
public void Constructor_ParamsSet_DoesNotThrow()
{
// Setup
@@ -100,11 +146,12 @@
var viewCommandsMock = mocks.StrictMock();
var treeNodeMock = mocks.StrictMock();
var treeNodeInfoMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
mocks.ReplayAll();
// Call
- TestDelegate test = () => new ContextMenuBuilder(applicationFeatureCommandsMockMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock);
-
+ TestDelegate test = () => new ContextMenuBuilder(applicationFeatureCommandsMockMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock, treeViewControlMock);
+
// Assert
Assert.DoesNotThrow(test);
@@ -120,9 +167,10 @@
var viewCommandsMock = mocks.StrictMock();
var treeNodeMock = mocks.StrictMock();
var treeNodeInfoMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
mocks.ReplayAll();
- var builder = new ContextMenuBuilder(applicationFeatureCommandsMockMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock);
+ var builder = new ContextMenuBuilder(applicationFeatureCommandsMockMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock, treeViewControlMock);
// Call
var result = builder.Build();
@@ -143,12 +191,13 @@
var viewCommandsMock = mocks.StrictMock();
var treeNodeMock = mocks.StrictMock();
var treeNodeInfoMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
treeNodeInfoMock.CanRename = treeNode => treeNode == treeNodeMock;
mocks.ReplayAll();
- var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock);
+ var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock, treeViewControlMock);
// Call
var result = builder.AddRenameItem().Build();
@@ -169,6 +218,7 @@
var applicationFeatureCommandsMock = mocks.StrictMock();
var exportImportHandlerMock = mocks.StrictMock();
var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var treeParentNodeMock = mocks.StrictMock();
var treeNodeMock = mocks.StrictMock();
@@ -184,7 +234,7 @@
mocks.ReplayAll();
- var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock);
+ var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock, treeViewControlMock);
// Call
var result = builder.AddDeleteItem().Build();
@@ -207,6 +257,7 @@
var applicationFeatureCommandsMock = mocks.StrictMock();
var exportImportHandlerMock = mocks.StrictMock();
var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var treeNode= new TreeNode();
var treeNodeInfoMock = mocks.StrictMock();
@@ -217,7 +268,7 @@
mocks.ReplayAll();
- var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNode, treeNodeInfoMock);
+ var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNode, treeNodeInfoMock, treeViewControlMock);
// Call
var result = builder.AddExpandAllItem().Build();
@@ -240,6 +291,7 @@
var applicationFeatureCommandsMock = mocks.StrictMock();
var exportImportHandlerMock = mocks.StrictMock();
var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var treeNode = new TreeNode();
var treeNodeInfoMock = mocks.StrictMock();
@@ -250,7 +302,7 @@
mocks.ReplayAll();
- var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNode, treeNodeInfoMock);
+ var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNode, treeNodeInfoMock, treeViewControlMock);
// Call
var result = builder.AddCollapseAllItem().Build();
@@ -273,6 +325,7 @@
var applicationFeatureCommandsMock = mocks.StrictMock();
var exportImportHandlerMock = mocks.StrictMock();
var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var treeNodeMock = mocks.Stub();
var treeNodeInfoMock = mocks.Stub();
var nodeData = new object();
@@ -283,7 +336,7 @@
treeNodeMock.Tag = nodeData;
- var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock);
+ var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock, treeViewControlMock);
// Call
var result = builder.AddOpenItem().Build();
@@ -306,6 +359,7 @@
var applicationFeatureCommandsMock = mocks.StrictMock();
var exportImportHandlerMock = mocks.StrictMock();
var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var nodeData = new object();
var treeNodeMock = mocks.Stub();
var treeNodeInfoMock = mocks.Stub();
@@ -315,7 +369,7 @@
treeNodeMock.Tag = nodeData;
- var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock);
+ var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock, treeViewControlMock);
// Call
var result = builder.AddExportItem().Build();
@@ -338,6 +392,7 @@
var applicationFeatureCommandsMock = mocks.StrictMock();
var exportImportHandlerMock = mocks.StrictMock();
var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var nodeData = new object();
var treeNodeMock = mocks.Stub();
var treeNodeInfoMock = mocks.Stub();
@@ -347,7 +402,7 @@
treeNodeMock.Tag = nodeData;
- var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock);
+ var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock, treeViewControlMock);
// Call
var result = builder.AddImportItem().Build();
@@ -370,6 +425,7 @@
var applicationFeatureCommandsMock = mocks.StrictMock();
var exportImportHandlerMock = mocks.StrictMock();
var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var nodeData = new object();
var treeNodeMock = mocks.Stub();
var treeNodeInfoMock = mocks.Stub();
@@ -380,7 +436,7 @@
treeNodeMock.Tag = nodeData;
- var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock);
+ var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock, treeViewControlMock);
// Call
var result = builder.AddPropertiesItem().Build();
@@ -403,9 +459,10 @@
var applicationFeatureCommandsMock = mocks.StrictMock();
var exportImportHandlerMock = mocks.StrictMock();
var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
mocks.ReplayAll();
- var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock);
+ var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock, treeViewControlMock);
var item = new StrictContextMenuItem(null,null,null,null);
// Call
@@ -429,9 +486,10 @@
var applicationFeatureCommandsMock = mocks.StrictMock();
var exportImportHandlerMock = mocks.StrictMock();
var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
mocks.ReplayAll();
- var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock);
+ var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock, treeViewControlMock);
// Call
var result = builder.AddSeparator().Build();
@@ -454,9 +512,10 @@
var applicationFeatureCommandsMock = mocks.StrictMock();
var exportImportHandlerMock = mocks.StrictMock();
var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
mocks.ReplayAll();
- var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock);
+ var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock, treeViewControlMock);
var someItem = new StrictContextMenuItem(null, null, null, null);
@@ -487,9 +546,10 @@
var applicationFeatureCommandsMock = mocks.StrictMock();
var exportImportHandlerMock = mocks.StrictMock();
var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
mocks.ReplayAll();
- var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock);
+ var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock, treeViewControlMock);
var someItem = new StrictContextMenuItem(null, null, null, null);
var someOtherItem = new StrictContextMenuItem(null, null, null, null);
@@ -524,9 +584,10 @@
var applicationFeatureCommandsMock = mocks.StrictMock();
var exportImportHandlerMock = mocks.StrictMock();
var viewCommandsMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
mocks.ReplayAll();
- var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock);
+ var builder = new ContextMenuBuilder(applicationFeatureCommandsMock, exportImportHandlerMock, viewCommandsMock, treeNodeMock, treeNodeInfoMock, treeViewControlMock);
builder.AddCustomItem(new StrictContextMenuItem(null, null, null, null));
Index: Core/Common/test/Core.Common.Gui.Test/ContextMenu/TreeViewContextMenuItemFactoryTest.cs
===================================================================
diff -u -rb6d165f6edddc4271e94c5f6d70c12d4ba0c60eb -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Core/Common/test/Core.Common.Gui.Test/ContextMenu/TreeViewContextMenuItemFactoryTest.cs (.../TreeViewContextMenuItemFactoryTest.cs) (revision b6d165f6edddc4271e94c5f6d70c12d4ba0c60eb)
+++ Core/Common/test/Core.Common.Gui.Test/ContextMenu/TreeViewContextMenuItemFactoryTest.cs (.../TreeViewContextMenuItemFactoryTest.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -27,9 +27,10 @@
{
// Setup
var treeNodeInfoMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
// Call
- TestDelegate test = () => new TreeViewContextMenuItemFactory(null, treeNodeInfoMock);
+ TestDelegate test = () => new TreeViewContextMenuItemFactory(null, treeNodeInfoMock, treeViewControlMock);
// Assert
var message = Assert.Throws(test).Message;
@@ -42,11 +43,12 @@
{
// Setup
var treeNodeMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
mocks.ReplayAll();
// Call
- TestDelegate test = () => new TreeViewContextMenuItemFactory(treeNodeMock, null);
+ TestDelegate test = () => new TreeViewContextMenuItemFactory(treeNodeMock, null, treeViewControlMock);
// Assert
var message = Assert.Throws(test).Message;
@@ -55,16 +57,35 @@
}
[Test]
+ public void Constructor_WithoutTreeViewControl_ThrowsArgumentNullException()
+ {
+ // Setup
+ var treeNodeMock = mocks.StrictMock();
+ var treeNodeInfoMock = mocks.StrictMock();
+
+ mocks.ReplayAll();
+
+ // Call
+ TestDelegate test = () => new TreeViewContextMenuItemFactory(treeNodeMock, treeNodeInfoMock, null);
+
+ // Assert
+ var message = Assert.Throws(test).Message;
+ StringAssert.StartsWith(Resources.ContextMenuItemFactory_Can_not_create_context_menu_items_without_tree_view_control, message);
+ StringAssert.EndsWith("treeViewControl", message);
+ }
+
+ [Test]
public void Constructor_WithTreeNode_DoesNotThrow()
{
// Setup
var treeNodeMock = mocks.StrictMock();
var treeNodeInfoMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
mocks.ReplayAll();
// Call
- TestDelegate test = () => new TreeViewContextMenuItemFactory(treeNodeMock, treeNodeInfoMock);
+ TestDelegate test = () => new TreeViewContextMenuItemFactory(treeNodeMock, treeNodeInfoMock, treeViewControlMock);
// Assert
Assert.DoesNotThrow(test);
@@ -78,10 +99,10 @@
public void CreateDeleteItem_DependingOnCanDelete_ItemWithDeleteFunctionWillBeEnabled(bool canDelete)
{
// Setup
- var treeView = new TreeView();
var treeNodeMock = mocks.StrictMock();
var treeParentNodeMock = mocks.StrictMock();
var treeNodeInfoMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var parentNodeData = new object();
var nodeData = new object();
@@ -103,19 +124,12 @@
if (canDelete)
{
- treeNodeMock.Expect(tn => tn.TreeView).Return(treeView);
-
- DialogBoxHandler = (name, wnd) =>
- {
- var messageBox = new MessageBoxTester(wnd);
-
- messageBox.ClickOk();
- };
+ treeViewControlMock.Expect(tvc => tvc.DeleteNode(treeNodeMock, treeNodeInfoMock));
}
mocks.ReplayAll();
- var factory = new TreeViewContextMenuItemFactory(treeNodeMock, treeNodeInfoMock);
+ var factory = new TreeViewContextMenuItemFactory(treeNodeMock, treeNodeInfoMock, treeViewControlMock);
// Call
var item = factory.CreateDeleteItem();
@@ -138,6 +152,7 @@
// Setup
var treeNodeMock = mocks.StrictMock();
var treeNodeInfoMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
treeNodeInfoMock.CanRename = tn =>
{
@@ -156,7 +171,7 @@
mocks.ReplayAll();
- var factory = new TreeViewContextMenuItemFactory(treeNodeMock, treeNodeInfoMock);
+ var factory = new TreeViewContextMenuItemFactory(treeNodeMock, treeNodeInfoMock, treeViewControlMock);
// Call
var item = factory.CreateRenameItem();
@@ -180,6 +195,7 @@
var treeNode = new TreeNode();
var treeView = new TreeView();
var treeNodeInfo = new TreeNodeInfo();
+ var treeViewControl = new TreeViewControl();
treeView.Nodes.Add(treeNode);
@@ -189,7 +205,7 @@
treeNodeInfo.ChildNodeObjects = o => new object[] { new TreeNode() };
}
- var factory = new TreeViewContextMenuItemFactory(treeNode, treeNodeInfo);
+ var factory = new TreeViewContextMenuItemFactory(treeNode, treeNodeInfo, treeViewControl);
// Precondition
Assert.IsFalse(treeNode.IsExpanded);
@@ -217,6 +233,7 @@
var treeNode = new TreeNode();
var treeView = new TreeView();
var treeNodeInfo = new TreeNodeInfo();
+ var treeViewControl = new TreeViewControl();
treeView.Nodes.Add(treeNode);
@@ -230,7 +247,7 @@
Assert.IsTrue(treeNode.IsExpanded);
}
- var factory = new TreeViewContextMenuItemFactory(treeNode, treeNodeInfo);
+ var factory = new TreeViewContextMenuItemFactory(treeNode, treeNodeInfo, treeViewControl);
// Call
var item = factory.CreateCollapseAllItem();
Index: Core/Common/test/Core.Common.Gui.TestUtil/ContextMenu/SimpleContextMenuBuilderProvider.cs
===================================================================
diff -u -rb6d165f6edddc4271e94c5f6d70c12d4ba0c60eb -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Core/Common/test/Core.Common.Gui.TestUtil/ContextMenu/SimpleContextMenuBuilderProvider.cs (.../SimpleContextMenuBuilderProvider.cs) (revision b6d165f6edddc4271e94c5f6d70c12d4ba0c60eb)
+++ Core/Common/test/Core.Common.Gui.TestUtil/ContextMenu/SimpleContextMenuBuilderProvider.cs (.../SimpleContextMenuBuilderProvider.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -27,7 +27,7 @@
this.contextMenuBuilder = contextMenuBuilder;
}
- public IContextMenuBuilder Get(TreeNode treeNode, TreeNodeInfo treeNodeInfo)
+ public IContextMenuBuilder Get(TreeNode treeNode, TreeNodeInfo treeNodeInfo, TreeViewControl treeViewControl)
{
return contextMenuBuilder;
}
Index: Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorerGuiPlugin.cs
===================================================================
diff -u -r78b15d3290c831ef1d7070aa1ccb48f57a15961f -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorerGuiPlugin.cs (.../ProjectExplorerGuiPlugin.cs) (revision 78b15d3290c831ef1d7070aa1ccb48f57a15961f)
+++ Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectExplorerGuiPlugin.cs (.../ProjectExplorerGuiPlugin.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -88,15 +88,15 @@
Text = project => project.Name,
Image = project => ProjectExplorerResources.ProjectIcon,
ChildNodeObjects = project => project.Items.ToArray(),
- ContextMenuStrip = (project, sourceNode, treeNodeInfo) =>
+ ContextMenuStrip = (project, sourceNode, treeNodeInfo, treeViewControl) =>
{
var addItem = new StrictContextMenuItem(
ProjectExplorerResources.AddItem,
ProjectExplorerResources.AddItem_ToolTip,
ProjectExplorerResources.PlusIcon,
(s, e) => Gui.ProjectCommands.AddNewItem(project));
- return Gui.Get(sourceNode, treeNodeInfo)
+ return Gui.Get(sourceNode, treeNodeInfo, treeViewControl)
.AddCustomItem(addItem)
.AddSeparator()
.AddImportItem()
Index: Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/TreeNodeInfos/ProjectTreeNodeInfoTest.cs
===================================================================
diff -u -rd262d2ed2c6937c2bb555429ae46dc40780720cb -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/TreeNodeInfos/ProjectTreeNodeInfoTest.cs (.../ProjectTreeNodeInfoTest.cs) (revision d262d2ed2c6937c2bb555429ae46dc40780720cb)
+++ Core/Plugins/test/Core.Plugins.ProjectExplorer.Test/TreeNodeInfos/ProjectTreeNodeInfoTest.cs (.../ProjectTreeNodeInfoTest.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -1,6 +1,7 @@
using System.Linq;
using System.Windows.Forms;
using Core.Common.Base.Data;
+using Core.Common.Controls.TreeView;
using Core.Common.Gui;
using Core.Common.Gui.Commands;
using Core.Common.Gui.ContextMenu;
@@ -111,10 +112,11 @@
// Setup
var treeNode = new TreeNode();
var gui = mocks.StrictMultiMock();
+ var treeViewControlMock = mocks.StrictMock();
var menuBuilderMock = mocks.StrictMock();
var viewCommandsMock = mocks.StrictMock();
- gui.Expect(g => g.Get(treeNode, info)).Return(menuBuilderMock);
+ gui.Expect(g => g.Get(treeNode, info, treeViewControlMock)).Return(menuBuilderMock);
gui.Expect(g => g.ViewCommands).Return(viewCommandsMock);
menuBuilderMock.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilderMock);
@@ -133,7 +135,7 @@
plugin.Gui = gui;
// Call
- info.ContextMenuStrip(null, treeNode, info);
+ info.ContextMenuStrip(null, treeNode, info, treeViewControlMock);
// Assert
mocks.VerifyAll();
@@ -147,11 +149,12 @@
var project = new Project();
var treeNode = new TreeNode();
var guiMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var menuBuilder = new CustomItemsOnlyContextMenuBuilder();
var projectCommandsMock = mocks.StrictMock();
var viewCommandsMock = mocks.StrictMock();
- guiMock.Stub(g => g.Get(treeNode, info)).Return(menuBuilder);
+ guiMock.Stub(g => g.Get(treeNode, info, treeViewControlMock)).Return(menuBuilder);
guiMock.Stub(g => g.ProjectCommands).Return(projectCommandsMock);
guiMock.Stub(g => g.ViewCommands).Return(viewCommandsMock);
projectCommandsMock.Expect(g => g.AddNewItem(project));
@@ -161,7 +164,7 @@
plugin.Gui = guiMock;
// Call
- var result = info.ContextMenuStrip(project, treeNode, info);
+ var result = info.ContextMenuStrip(project, treeNode, info, treeViewControlMock);
result.Items[0].PerformClick();
Index: Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs
===================================================================
diff -u -rfbb37872d09f1ded75ce2209e8e48a6b64d8a78f -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision fbb37872d09f1ded75ce2209e8e48a6b64d8a78f)
+++ Ringtoets/Integration/src/Ringtoets.Integration.Plugin/RingtoetsGuiPlugin.cs (.../RingtoetsGuiPlugin.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -27,7 +27,6 @@
using System.Windows.Forms;
using Core.Common.Base.Data;
using Core.Common.Controls.TreeView;
-using Core.Common.Gui;
using Core.Common.Gui.ContextMenu;
using Core.Common.Gui.Forms;
using Core.Common.Gui.Plugin;
@@ -129,11 +128,11 @@
{
Text = failureMechanismContribution => RingtoetsDataResources.FailureMechanismContribution_DisplayName,
Image = failureMechanismContribution => RingtoetsFormsResources.GenericInputOutputIcon,
- ContextMenuStrip = (failureMechanismContribution, sourceNode, treeNodeInfo) => Gui.Get(sourceNode, treeNodeInfo)
- .AddOpenItem()
- .AddSeparator()
- .AddExportItem()
- .Build()
+ ContextMenuStrip = (failureMechanismContribution, sourceNode, treeNodeInfo, treeViewControl) => Gui.Get(sourceNode, treeNodeInfo, treeViewControl)
+ .AddOpenItem()
+ .AddSeparator()
+ .AddExportItem()
+ .Build()
};
}
@@ -167,9 +166,9 @@
parentProject.NotifyObservers();
}
- private ContextMenuStrip AssessmentSectionBaseContextMenuStrip(AssessmentSectionBase nodeData, TreeNode node, TreeNodeInfo treeNodeInfo)
+ private ContextMenuStrip AssessmentSectionBaseContextMenuStrip(AssessmentSectionBase nodeData, TreeNode node, TreeNodeInfo treeNodeInfo, TreeViewControl treeViewControl)
{
- return Gui.Get(node, treeNodeInfo)
+ return Gui.Get(node, treeNodeInfo, treeViewControl)
.AddRenameItem()
.AddDeleteItem()
.AddSeparator()
@@ -218,7 +217,7 @@
};
}
- private ContextMenuStrip FailureMechanismPlaceholderContextMenuStrip(FailureMechanismPlaceholder nodeData, TreeNode node, TreeNodeInfo treeNodeInfo)
+ private ContextMenuStrip FailureMechanismPlaceholderContextMenuStrip(FailureMechanismPlaceholder nodeData, TreeNode node, TreeNodeInfo treeNodeInfo, TreeViewControl treeViewControl)
{
var calculateItem = new StrictContextMenuItem(
RingtoetsCommonFormsResources.Calculate_all,
@@ -237,7 +236,7 @@
Enabled = false
};
- return Gui.Get(node, treeNodeInfo)
+ return Gui.Get(node, treeNodeInfo, treeViewControl)
.AddCustomItem(calculateItem)
.AddCustomItem(clearOutputItem)
.AddSeparator()
@@ -264,9 +263,9 @@
return RingtoetsFormsResources.PlaceholderIcon;
}
- private ContextMenuStrip PlaceholderWithReadonlyNameContextMenuStrip(PlaceholderWithReadonlyName nodeData, TreeNode node, TreeNodeInfo treeNodeInfo)
+ private ContextMenuStrip PlaceholderWithReadonlyNameContextMenuStrip(PlaceholderWithReadonlyName nodeData, TreeNode node, TreeNodeInfo treeNodeInfo, TreeViewControl treeViewControl)
{
- IContextMenuBuilder menuBuilder = Gui.Get(node, treeNodeInfo);
+ IContextMenuBuilder menuBuilder = Gui.Get(node, treeNodeInfo, treeViewControl);
if (nodeData is InputPlaceholder || nodeData is OutputPlaceholder)
{
@@ -317,9 +316,9 @@
}
}
- private ContextMenuStrip CategoryTreeFolderContextMenu(CategoryTreeFolder nodeData, TreeNode node, TreeNodeInfo treeNodeInfo)
+ private ContextMenuStrip CategoryTreeFolderContextMenu(CategoryTreeFolder nodeData, TreeNode node, TreeNodeInfo treeNodeInfo, TreeViewControl treeViewControl)
{
- return Gui.Get(node, treeNodeInfo)
+ return Gui.Get(node, treeNodeInfo, treeViewControl)
.AddExpandAllItem()
.AddCollapseAllItem()
.Build();
Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/AssessmentSectionBaseTreeNodeInfoTest.cs
===================================================================
diff -u -rb6d165f6edddc4271e94c5f6d70c12d4ba0c60eb -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/AssessmentSectionBaseTreeNodeInfoTest.cs (.../AssessmentSectionBaseTreeNodeInfoTest.cs) (revision b6d165f6edddc4271e94c5f6d70c12d4ba0c60eb)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/AssessmentSectionBaseTreeNodeInfoTest.cs (.../AssessmentSectionBaseTreeNodeInfoTest.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -119,8 +119,9 @@
var treeNode = new TreeNode();
var gui = mocks.StrictMultiMock();
+ var treeViewControlMock = mocks.StrictMock();
var menuBuilderMock = mocks.StrictMock();
- gui.Expect(g => g.Get(treeNode, info)).Return(menuBuilderMock);
+ gui.Expect(g => g.Get(treeNode, info, treeViewControlMock)).Return(menuBuilderMock);
menuBuilderMock.Expect(mb => mb.AddRenameItem()).Return(menuBuilderMock);
menuBuilderMock.Expect(mb => mb.AddDeleteItem()).Return(menuBuilderMock);
@@ -139,7 +140,7 @@
plugin.Gui = gui;
// Call
- info.ContextMenuStrip(null, treeNode, info);
+ info.ContextMenuStrip(null, treeNode, info, treeViewControlMock);
// Assert
mocks.VerifyAll();
Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/FailureMechanismContributionTreeNodeInfoTest.cs
===================================================================
diff -u -rb6d165f6edddc4271e94c5f6d70c12d4ba0c60eb -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/FailureMechanismContributionTreeNodeInfoTest.cs (.../FailureMechanismContributionTreeNodeInfoTest.cs) (revision b6d165f6edddc4271e94c5f6d70c12d4ba0c60eb)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/FailureMechanismContributionTreeNodeInfoTest.cs (.../FailureMechanismContributionTreeNodeInfoTest.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -77,6 +77,7 @@
{
// Setup
var gui = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var menuBuilderMock = mocks.StrictMock();
var nodeMock = mocks.StrictMock();
@@ -85,14 +86,14 @@
menuBuilderMock.Expect(mb => mb.AddExportItem()).Return(menuBuilderMock);
menuBuilderMock.Expect(mb => mb.Build()).Return(null);
- gui.Expect(cmp => cmp.Get(nodeMock, info)).Return(menuBuilderMock);
+ gui.Expect(cmp => cmp.Get(nodeMock, info, treeViewControlMock)).Return(menuBuilderMock);
mocks.ReplayAll();
plugin.Gui = gui;
// Call
- info.ContextMenuStrip(null, nodeMock, info);
+ info.ContextMenuStrip(null, nodeMock, info, treeViewControlMock);
// Assert
mocks.VerifyAll();
Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/FailureMechanismPlaceholderTreeNodeInfoTest.cs
===================================================================
diff -u -rb6d165f6edddc4271e94c5f6d70c12d4ba0c60eb -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/FailureMechanismPlaceholderTreeNodeInfoTest.cs (.../FailureMechanismPlaceholderTreeNodeInfoTest.cs) (revision b6d165f6edddc4271e94c5f6d70c12d4ba0c60eb)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/FailureMechanismPlaceholderTreeNodeInfoTest.cs (.../FailureMechanismPlaceholderTreeNodeInfoTest.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -116,6 +116,7 @@
{
// Setup
var gui = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var menuBuilderMock = mocks.StrictMock();
var nodeMock = mocks.StrictMock();
@@ -131,14 +132,14 @@
menuBuilderMock.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilderMock);
menuBuilderMock.Expect(mb => mb.Build()).Return(null);
- gui.Expect(cmp => cmp.Get(nodeMock, info)).Return(menuBuilderMock);
+ gui.Expect(cmp => cmp.Get(nodeMock, info, treeViewControlMock)).Return(menuBuilderMock);
mocks.ReplayAll();
plugin.Gui = gui;
// Call
- info.ContextMenuStrip(null, nodeMock, info);
+ info.ContextMenuStrip(null, nodeMock, info, treeViewControlMock);
// Assert
mocks.VerifyAll();
@@ -149,17 +150,18 @@
{
// Setup
var gui = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var menuBuilderMock = new CustomItemsOnlyContextMenuBuilder();
var nodeMock = mocks.StrictMock();
- gui.Expect(cmp => cmp.Get(nodeMock, info)).Return(menuBuilderMock);
+ gui.Expect(cmp => cmp.Get(nodeMock, info, treeViewControlMock)).Return(menuBuilderMock);
mocks.ReplayAll();
plugin.Gui = gui;
// Call
- var menu = info.ContextMenuStrip(null, nodeMock, info);
+ var menu = info.ContextMenuStrip(null, nodeMock, info, treeViewControlMock);
// Assert
mocks.VerifyAll();
Index: Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/PlaceholderWithReadonlyNameTreeNodeInfoTest.cs
===================================================================
diff -u -rb6d165f6edddc4271e94c5f6d70c12d4ba0c60eb -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/PlaceholderWithReadonlyNameTreeNodeInfoTest.cs (.../PlaceholderWithReadonlyNameTreeNodeInfoTest.cs) (revision b6d165f6edddc4271e94c5f6d70c12d4ba0c60eb)
+++ Ringtoets/Integration/test/Ringtoets.Integration.Forms.Test/TreeNodeInfos/PlaceholderWithReadonlyNameTreeNodeInfoTest.cs (.../PlaceholderWithReadonlyNameTreeNodeInfoTest.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -107,6 +107,7 @@
{
// Setup
var gui = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var menuBuilderMock = mocks.StrictMock();
var nodeMock = mocks.StrictMock();
@@ -119,14 +120,14 @@
menuBuilderMock.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilderMock);
menuBuilderMock.Expect(mb => mb.Build()).Return(null);
- gui.Expect(cmp => cmp.Get(nodeMock, info)).Return(menuBuilderMock);
+ gui.Expect(cmp => cmp.Get(nodeMock, info, treeViewControlMock)).Return(menuBuilderMock);
mocks.ReplayAll();
plugin.Gui = gui;
// Call
- info.ContextMenuStrip(new OutputPlaceholder(string.Empty), nodeMock, info);
+ info.ContextMenuStrip(new OutputPlaceholder(string.Empty), nodeMock, info, treeViewControlMock);
// Assert
mocks.VerifyAll();
@@ -137,6 +138,7 @@
{
// Setup
var gui = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var menuBuilderMock = mocks.StrictMock();
var nodeMock = mocks.StrictMock();
@@ -148,14 +150,14 @@
menuBuilderMock.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilderMock);
menuBuilderMock.Expect(mb => mb.Build()).Return(null);
- gui.Expect(cmp => cmp.Get(nodeMock, info)).Return(menuBuilderMock);
+ gui.Expect(cmp => cmp.Get(nodeMock, info, treeViewControlMock)).Return(menuBuilderMock);
mocks.ReplayAll();
plugin.Gui = gui;
// Call
- info.ContextMenuStrip(new InputPlaceholder(string.Empty), nodeMock, info);
+ info.ContextMenuStrip(new InputPlaceholder(string.Empty), nodeMock, info, treeViewControlMock);
// Assert
mocks.VerifyAll();
@@ -166,6 +168,7 @@
{
// Setup
var gui = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var menuBuilderMock = mocks.StrictMock();
var nodeMock = mocks.StrictMock();
@@ -175,14 +178,14 @@
menuBuilderMock.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilderMock);
menuBuilderMock.Expect(mb => mb.Build()).Return(null);
- gui.Expect(cmp => cmp.Get(nodeMock, info)).Return(menuBuilderMock);
+ gui.Expect(cmp => cmp.Get(nodeMock, info, treeViewControlMock)).Return(menuBuilderMock);
mocks.ReplayAll();
plugin.Gui = gui;
// Call
- info.ContextMenuStrip(null, nodeMock, info);
+ info.ContextMenuStrip(null, nodeMock, info, treeViewControlMock);
// Assert
mocks.VerifyAll();
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs
===================================================================
diff -u -r2750ecd900b9e34ba54bb96d233c464b82d7684c -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 2750ecd900b9e34ba54bb96d233c464b82d7684c)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -108,12 +108,12 @@
{
Text = pipingInputContext => PipingFormsResources.PipingInputContextNodePresenter_NodeDisplayName,
Image = pipingInputContext => PipingFormsResources.PipingInputIcon,
- ContextMenuStrip = (nodeData, node, treeNodeInfo) => Gui.Get(node, treeNodeInfo)
- .AddImportItem()
- .AddExportItem()
- .AddSeparator()
- .AddPropertiesItem()
- .Build()
+ ContextMenuStrip = (nodeData, node, treeNodeInfo, treeViewControl) => Gui.Get(node, treeNodeInfo, treeViewControl)
+ .AddImportItem()
+ .AddExportItem()
+ .AddSeparator()
+ .AddPropertiesItem()
+ .Build()
};
yield return new TreeNodeInfo>
@@ -122,22 +122,22 @@
Image = ringtoetsPipingSurfaceLine => PipingFormsResources.FolderIcon,
ForeColor = ringtoetsPipingSurfaceLine => ringtoetsPipingSurfaceLine.Any() ? Color.FromKnownColor(KnownColor.ControlText) : Color.FromKnownColor(KnownColor.GrayText),
ChildNodeObjects = ringtoetsPipingSurfaceLine => ringtoetsPipingSurfaceLine.Cast().ToArray(),
- ContextMenuStrip = (nodeData, node, treeNodeInfo) => Gui.Get(node, treeNodeInfo)
- .AddImportItem()
- .AddExportItem()
- .AddSeparator()
- .AddExpandAllItem()
- .AddCollapseAllItem()
- .Build()
+ ContextMenuStrip = (nodeData, node, treeNodeInfo, treeViewControl) => Gui.Get(node, treeNodeInfo, treeViewControl)
+ .AddImportItem()
+ .AddExportItem()
+ .AddSeparator()
+ .AddExpandAllItem()
+ .AddCollapseAllItem()
+ .Build()
};
yield return new TreeNodeInfo
{
Text = pipingSurfaceLine => pipingSurfaceLine.Name,
Image = pipingSurfaceLine => PipingFormsResources.PipingSurfaceLineIcon,
- ContextMenuStrip = (nodeData, node, treeNodeInfo) => Gui.Get(node, treeNodeInfo)
- .AddPropertiesItem()
- .Build()
+ ContextMenuStrip = (nodeData, node, treeNodeInfo, treeViewControl) => Gui.Get(node, treeNodeInfo, treeViewControl)
+ .AddPropertiesItem()
+ .Build()
};
yield return new TreeNodeInfo>
@@ -146,65 +146,65 @@
Image = pipingSoilProfiles => PipingFormsResources.FolderIcon,
ForeColor = pipingSoilProfiles => pipingSoilProfiles.Any() ? Color.FromKnownColor(KnownColor.ControlText) : Color.FromKnownColor(KnownColor.GrayText),
ChildNodeObjects = pipingSoilProfiles => pipingSoilProfiles.Cast().ToArray(),
- ContextMenuStrip = (nodeData, node, treeNodeInfo) => Gui.Get(node, treeNodeInfo)
- .AddImportItem()
- .AddExportItem()
- .AddSeparator()
- .AddExpandAllItem()
- .AddCollapseAllItem()
- .Build()
+ ContextMenuStrip = (nodeData, node, treeNodeInfo, treeViewControl) => Gui.Get(node, treeNodeInfo, treeViewControl)
+ .AddImportItem()
+ .AddExportItem()
+ .AddSeparator()
+ .AddExpandAllItem()
+ .AddCollapseAllItem()
+ .Build()
};
yield return new TreeNodeInfo
{
Text = pipingSoilProfile => pipingSoilProfile.Name,
Image = pipingSoilProfile => PipingFormsResources.PipingSoilProfileIcon,
- ContextMenuStrip = (nodeData, node, treeNodeInfo) => Gui.Get(node, treeNodeInfo)
- .AddPropertiesItem()
- .Build()
+ ContextMenuStrip = (nodeData, node, treeNodeInfo, treeViewControl) => Gui.Get(node, treeNodeInfo, treeViewControl)
+ .AddPropertiesItem()
+ .Build()
};
yield return new TreeNodeInfo
{
Text = pipingOutput => PipingFormsResources.PipingOutput_DisplayName,
Image = pipingOutput => PipingFormsResources.PipingOutputIcon,
- ContextMenuStrip = (nodeData, node, treeNodeInfo) => Gui.Get(node, treeNodeInfo)
- .AddExportItem()
- .AddSeparator()
- .AddPropertiesItem()
- .Build()
+ ContextMenuStrip = (nodeData, node, treeNodeInfo, treeViewControl) => Gui.Get(node, treeNodeInfo, treeViewControl)
+ .AddExportItem()
+ .AddSeparator()
+ .AddPropertiesItem()
+ .Build()
};
yield return new TreeNodeInfo
{
Text = emptyPipingOutput => PipingFormsResources.PipingOutput_DisplayName,
Image = emptyPipingOutput => PipingFormsResources.PipingOutputIcon,
ForeColor = emptyPipingOutput => Color.FromKnownColor(KnownColor.GrayText),
- ContextMenuStrip = (nodeData, node, treeNodeInfo) => Gui.Get(node, treeNodeInfo)
- .AddExportItem()
- .AddSeparator()
- .AddPropertiesItem()
- .Build()
+ ContextMenuStrip = (nodeData, node, treeNodeInfo, treeViewControl) => Gui.Get(node, treeNodeInfo, treeViewControl)
+ .AddExportItem()
+ .AddSeparator()
+ .AddPropertiesItem()
+ .Build()
};
yield return new TreeNodeInfo
{
Text = emptyPipingCalculationReport => PipingDataResources.CalculationReport_DisplayName,
Image = emptyPipingCalculationReport => PipingFormsResources.PipingCalculationReportIcon,
ForeColor = emptyPipingCalculationReport => Color.FromKnownColor(KnownColor.GrayText),
- ContextMenuStrip = (nodeData, node, treeNodeInfo) => Gui.Get(node, treeNodeInfo)
- .AddOpenItem()
- .AddSeparator()
- .AddExportItem()
- .AddSeparator()
- .AddPropertiesItem()
- .Build()
+ ContextMenuStrip = (nodeData, node, treeNodeInfo, treeViewControl) => Gui.Get(node, treeNodeInfo, treeViewControl)
+ .AddOpenItem()
+ .AddSeparator()
+ .AddExportItem()
+ .AddSeparator()
+ .AddPropertiesItem()
+ .Build()
};
}
# region PipingFailureMechanism TreeNodeInfo
- private ContextMenuStrip FailureMechanismContextMenuStrip(PipingFailureMechanism failureMechanism, TreeNode node, TreeNodeInfo treeNodeInfo)
+ private ContextMenuStrip FailureMechanismContextMenuStrip(PipingFailureMechanism failureMechanism, TreeNode node, TreeNodeInfo treeNodeInfo, TreeViewControl treeViewControl)
{
var addCalculationGroupItem = new StrictContextMenuItem(
PipingFormsResources.PipingCalculationGroup_Add_PipingCalculationGroup,
@@ -237,7 +237,7 @@
clearAllItem.ToolTipText = PipingFormsResources.PipingCalculationGroup_ClearOutput_No_calculation_with_output_to_clear;
}
- return Gui.Get(node, treeNodeInfo)
+ return Gui.Get(node, treeNodeInfo, treeViewControl)
.AddCustomItem(addCalculationGroupItem)
.AddCustomItem(addCalculationItem)
.AddSeparator()
@@ -397,7 +397,7 @@
# region PipingCalculationContext TreeNodeInfo
- private ContextMenuStrip PipingCalculationContextContextMenuStrip(PipingCalculationContext nodeData, TreeNode node, TreeNodeInfo treeNodeInfo)
+ private ContextMenuStrip PipingCalculationContextContextMenuStrip(PipingCalculationContext nodeData, TreeNode node, TreeNodeInfo treeNodeInfo, TreeViewControl treeViewControl)
{
PipingCalculation calculation = nodeData.WrappedData;
var validateItem = new StrictContextMenuItem(RingtoetsFormsResources.Validate,
@@ -420,7 +420,7 @@
clearOutputItem.ToolTipText = PipingFormsResources.ClearOutput_No_output_to_clear;
}
- return Gui.Get(node, treeNodeInfo)
+ return Gui.Get(node, treeNodeInfo, treeViewControl)
.AddCustomItem(validateItem)
.AddCustomItem(calculateItem)
.AddCustomItem(clearOutputItem)
@@ -537,7 +537,7 @@
return childNodeObjects.ToArray();
}
- private ContextMenuStrip PipingCalculationGroupContextContextMenuStrip(PipingCalculationGroupContext nodeData, TreeNode node, TreeNodeInfo treeNodeInfo)
+ private ContextMenuStrip PipingCalculationGroupContextContextMenuStrip(PipingCalculationGroupContext nodeData, TreeNode node, TreeNodeInfo treeNodeInfo, TreeViewControl treeViewControl)
{
var group = nodeData.WrappedData;
var addCalculationGroupItem = new StrictContextMenuItem(
@@ -599,7 +599,7 @@
clearAllItem.ToolTipText = PipingFormsResources.PipingCalculationGroup_ClearOutput_No_calculation_with_output_to_clear;
}
- var builder = Gui.Get(node, treeNodeInfo)
+ var builder = Gui.Get(node, treeNodeInfo, treeViewControl)
.AddCustomItem(addCalculationGroupItem)
.AddCustomItem(addCalculationItem)
.AddSeparator()
Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/EmptyPipingCalculationReportTreeNodeInfoTest.cs
===================================================================
diff -u -rb6d165f6edddc4271e94c5f6d70c12d4ba0c60eb -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/EmptyPipingCalculationReportTreeNodeInfoTest.cs (.../EmptyPipingCalculationReportTreeNodeInfoTest.cs) (revision b6d165f6edddc4271e94c5f6d70c12d4ba0c60eb)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/EmptyPipingCalculationReportTreeNodeInfoTest.cs (.../EmptyPipingCalculationReportTreeNodeInfoTest.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -86,6 +86,7 @@
// Setup
var gui = mocks.StrictMock();
var menuBuilderMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var nodeMock = mocks.StrictMock();
menuBuilderMock.Expect(mb => mb.AddOpenItem()).Return(menuBuilderMock);
@@ -95,14 +96,14 @@
menuBuilderMock.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilderMock);
menuBuilderMock.Expect(mb => mb.Build()).Return(null);
- gui.Expect(cmp => cmp.Get(nodeMock, info)).Return(menuBuilderMock);
+ gui.Expect(cmp => cmp.Get(nodeMock, info, treeViewControlMock)).Return(menuBuilderMock);
mocks.ReplayAll();
plugin.Gui = gui;
// Call
- info.ContextMenuStrip(null, nodeMock, info);
+ info.ContextMenuStrip(null, nodeMock, info, treeViewControlMock);
// Assert
mocks.VerifyAll();
Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/EmptyPipingOutputTreeNodeInfoTest.cs
===================================================================
diff -u -rb6d165f6edddc4271e94c5f6d70c12d4ba0c60eb -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/EmptyPipingOutputTreeNodeInfoTest.cs (.../EmptyPipingOutputTreeNodeInfoTest.cs) (revision b6d165f6edddc4271e94c5f6d70c12d4ba0c60eb)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/EmptyPipingOutputTreeNodeInfoTest.cs (.../EmptyPipingOutputTreeNodeInfoTest.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -84,20 +84,21 @@
// Setup
var gui = mocks.StrictMock();
var menuBuilderMock = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var nodeMock = mocks.StrictMock();
menuBuilderMock.Expect(mb => mb.AddExportItem()).Return(menuBuilderMock);
menuBuilderMock.Expect(mb => mb.AddSeparator()).Return(menuBuilderMock);
menuBuilderMock.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilderMock);
menuBuilderMock.Expect(mb => mb.Build()).Return(null);
- gui.Expect(cmp => cmp.Get(nodeMock, info)).Return(menuBuilderMock);
+ gui.Expect(cmp => cmp.Get(nodeMock, info, treeViewControlMock)).Return(menuBuilderMock);
mocks.ReplayAll();
plugin.Gui = gui;
// Call
- info.ContextMenuStrip(null, nodeMock, info);
+ info.ContextMenuStrip(null, nodeMock, info, treeViewControlMock);
// Assert
mocks.VerifyAll();
Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationContextTreeNodeInfoTest.cs
===================================================================
diff -u -rb6d165f6edddc4271e94c5f6d70c12d4ba0c60eb -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationContextTreeNodeInfoTest.cs (.../PipingCalculationContextTreeNodeInfoTest.cs) (revision b6d165f6edddc4271e94c5f6d70c12d4ba0c60eb)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationContextTreeNodeInfoTest.cs (.../PipingCalculationContextTreeNodeInfoTest.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -194,9 +194,10 @@
public void GetContextMenu_PipingCalculationWithoutOutput_ContextMenuItemClearOutputDisabled()
{
var gui = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var nodeMock = mocks.StrictMock();
- gui.Expect(cmp => cmp.Get(nodeMock, info)).Return(new CustomItemsOnlyContextMenuBuilder());
+ gui.Expect(cmp => cmp.Get(nodeMock, info, treeViewControlMock)).Return(new CustomItemsOnlyContextMenuBuilder());
mocks.ReplayAll();
@@ -208,7 +209,7 @@
Enumerable.Empty());
// Call
- var contextMenu = info.ContextMenuStrip(nodeData, nodeMock, info);
+ var contextMenu = info.ContextMenuStrip(nodeData, nodeMock, info, treeViewControlMock);
// Assert
mocks.VerifyAll(); // Expect no calls on arguments
@@ -222,9 +223,10 @@
public void GetContextMenu_PipingCalculationWithOutput_ContextMenuItemClearOutputEnabled()
{
var gui = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var nodeMock = mocks.StrictMock();
- gui.Expect(cmp => cmp.Get(nodeMock, info)).Return(new CustomItemsOnlyContextMenuBuilder());
+ gui.Expect(cmp => cmp.Get(nodeMock, info, treeViewControlMock)).Return(new CustomItemsOnlyContextMenuBuilder());
mocks.ReplayAll();
@@ -240,7 +242,7 @@
// Call
- var contextMenu = info.ContextMenuStrip(nodeData, nodeMock, info);
+ var contextMenu = info.ContextMenuStrip(nodeData, nodeMock, info, treeViewControlMock);
// Assert
mocks.VerifyAll(); // Expect no calls on arguments
@@ -256,6 +258,7 @@
// Setup
var gui = mocks.StrictMock();
var menuBuilderMock = mocks.Stub();
+ var treeViewControlMock = mocks.StrictMock();
var nodeMock = mocks.StrictMock();
menuBuilderMock.Expect(mb => mb.AddCustomItem(null)).IgnoreArguments().Return(menuBuilderMock);
@@ -274,7 +277,7 @@
menuBuilderMock.Expect(mb => mb.AddPropertiesItem()).Return(menuBuilderMock);
menuBuilderMock.Expect(mb => mb.Build()).Return(null);
- gui.Expect(cmp => cmp.Get(nodeMock, info)).Return(menuBuilderMock);
+ gui.Expect(cmp => cmp.Get(nodeMock, info, treeViewControlMock)).Return(menuBuilderMock);
mocks.ReplayAll();
@@ -285,7 +288,7 @@
Enumerable.Empty());
// Call
- info.ContextMenuStrip(nodeData, nodeMock, info);
+ info.ContextMenuStrip(nodeData, nodeMock, info, treeViewControlMock);
// Assert
mocks.VerifyAll(); // Expect no calls on arguments
@@ -403,11 +406,12 @@
var gui = mocks.DynamicMock();
var mainWindow = mocks.DynamicMock();
var observer = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var treeNodeMock = mocks.StrictMock();
observer.Expect(o => o.UpdateObserver());
- gui.Expect(cmp => cmp.Get(treeNodeMock, info)).Return(new CustomItemsOnlyContextMenuBuilder());
+ gui.Expect(cmp => cmp.Get(treeNodeMock, info, treeViewControlMock)).Return(new CustomItemsOnlyContextMenuBuilder());
gui.Expect(g => g.MainWindow).Return(mainWindow);
var expectedValidationMessageCount = 2; // No surfaceline or soil profile selected for calculation
@@ -428,7 +432,7 @@
Enumerable.Empty(),
Enumerable.Empty());
- var contextMenuAdapter = info.ContextMenuStrip(pipingCalculationContext, treeNodeMock, info);
+ var contextMenuAdapter = info.ContextMenuStrip(pipingCalculationContext, treeNodeMock, info, treeViewControlMock);
// When
Action action = () =>
@@ -461,9 +465,10 @@
// Given
var gui = mocks.DynamicMock();
var observer = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var treeNodeMock = mocks.StrictMock();
- gui.Expect(cmp => cmp.Get(treeNodeMock, info)).Return(new CustomItemsOnlyContextMenuBuilder());
+ gui.Expect(cmp => cmp.Get(treeNodeMock, info, treeViewControlMock)).Return(new CustomItemsOnlyContextMenuBuilder());
var expectedValidationMessageCount = 2; // No surfaceline or soil profile selected for calculation
var expectedStatusMessageCount = 2;
@@ -482,7 +487,7 @@
var pipingCalculationContext = new PipingCalculationContext(calculation,
Enumerable.Empty(),
Enumerable.Empty());
- var contextMenuAdapter = info.ContextMenuStrip(pipingCalculationContext, treeNodeMock, info);
+ var contextMenuAdapter = info.ContextMenuStrip(pipingCalculationContext, treeNodeMock, info, treeViewControlMock);
// When
Action action = () => contextMenuAdapter.Items[validateContextMenuItemIndex].PerformClick();
@@ -500,9 +505,10 @@
var gui = mocks.DynamicMock();
var mainWindow = mocks.DynamicMock();
var observer = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var treeNodeMock = mocks.StrictMock();
- gui.Expect(g => g.Get(treeNodeMock, info)).Return(new CustomItemsOnlyContextMenuBuilder());
+ gui.Expect(g => g.Get(treeNodeMock, info, treeViewControlMock)).Return(new CustomItemsOnlyContextMenuBuilder());
gui.Expect(g => g.MainWindow).Return(mainWindow);
observer.Expect(o => o.UpdateObserver());
@@ -548,7 +554,7 @@
Enumerable.Empty(),
Enumerable.Empty());
- var contextMenuAdapter = info.ContextMenuStrip(pipingCalculationContext, treeNodeMock, info);
+ var contextMenuAdapter = info.ContextMenuStrip(pipingCalculationContext, treeNodeMock, info, treeViewControlMock);
// When
Action action = () =>
@@ -583,9 +589,11 @@
// Given
var gui = mocks.DynamicMock();
var observer = mocks.StrictMock();
+ var treeViewControlMock = mocks.StrictMock();
var treeNodeMock = mocks.StrictMock();
- gui.Expect(cmp => cmp.Get(treeNodeMock, info)).Return(new CustomItemsOnlyContextMenuBuilder());
+ gui.Expect(cmp => cmp.Get(treeNodeMock, info, treeViewControlMock)).Return(new CustomItemsOnlyContextMenuBuilder());
+
int clearOutputItemPosition = 2;
if (confirm)
{
@@ -604,7 +612,7 @@
Enumerable.Empty(),
Enumerable.Empty());
- var contextMenuAdapter = info.ContextMenuStrip(pipingCalculationContext, treeNodeMock, info);
+ var contextMenuAdapter = info.ContextMenuStrip(pipingCalculationContext, treeNodeMock, info, treeViewControlMock);
DialogBoxHandler = (name, wnd) =>
{
Index: Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs
===================================================================
diff -u -r0c64d8a6c718c0aa67403a16c94dd0c10f862455 -rb3db013105d10992eeefea39f5ecbdacdd57b4d4
--- Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs (.../PipingCalculationGroupContextTreeNodeInfoTest.cs) (revision 0c64d8a6c718c0aa67403a16c94dd0c10f862455)
+++ Ringtoets/Piping/test/Ringtoets.Piping.Forms.Test/TreeNodeInfos/PipingCalculationGroupContextTreeNodeInfoTest.cs (.../PipingCalculationGroupContextTreeNodeInfoTest.cs) (revision b3db013105d10992eeefea39f5ecbdacdd57b4d4)
@@ -743,16 +743,17 @@
var applicationFeatureCommandHandler = mocks.Stub();
var exportImportHandler = mocks.Stub();
var viewCommandsHandler = mocks.StrictMock();
+ var treeViewControl = mocks.StrictMock();
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, node, info);
- gui.Expect(g => g.Get(node, info)).Return(menuBuilder);
+ var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, node, info, treeViewControl);
+ gui.Expect(g => g.Get(node, info, treeViewControl)).Return(menuBuilder);
mocks.ReplayAll();
plugin.Gui = gui;
// Call
- ContextMenuStrip menu = info.ContextMenuStrip(nodeData, node, info);
+ ContextMenuStrip menu = info.ContextMenuStrip(nodeData, node, info, treeViewControl);
// Assert
Assert.AreEqual(17, menu.Items.Count);
@@ -857,16 +858,17 @@
var applicationFeatureCommandHandler = mocks.Stub();
var exportImportHandler = mocks.Stub();
var viewCommandsHandler = mocks.StrictMock();
+ var treeViewControl = mocks.StrictMock();
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, node, info);
- gui.Expect(g => g.Get(node, info)).Return(menuBuilder);
+ var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, node, info, treeViewControl);
+ gui.Expect(g => g.Get(node, info, treeViewControl)).Return(menuBuilder);
mocks.ReplayAll();
plugin.Gui = gui;
// Call
- ContextMenuStrip menu = info.ContextMenuStrip(nodeData, node, info);
+ ContextMenuStrip menu = info.ContextMenuStrip(nodeData, node, info, treeViewControl);
// Assert
Assert.AreEqual(16, menu.Items.Count);
@@ -966,16 +968,17 @@
var applicationFeatureCommandHandler = mocks.Stub();
var exportImportHandler = mocks.Stub();
var viewCommandsHandler = mocks.StrictMock();
+ var treeViewControl = mocks.StrictMock();
- var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, node, info);
- gui.Expect(g => g.Get(node, info)).Return(menuBuilder);
+ var menuBuilder = new ContextMenuBuilder(applicationFeatureCommandHandler, exportImportHandler, viewCommandsHandler, node, info, treeViewControl);
+ gui.Expect(g => g.Get(node, info, treeViewControl)).Return(menuBuilder);
mocks.ReplayAll();
plugin.Gui = gui;
// Call
- ContextMenuStrip menu = info.ContextMenuStrip(nodeData, node, info);
+ ContextMenuStrip menu = info.ContextMenuStrip(nodeData, node, info, treeViewControl);
// Assert
Assert.AreEqual(14, menu.Items.Count);
@@ -1044,6 +1047,7 @@
{
// Setup
var gui = mocks.StrictMock();
+ var treeViewControl = mocks.StrictMock();
var menuBuilder = new CustomItemsOnlyContextMenuBuilder();
var group = new PipingCalculationGroup();
@@ -1062,14 +1066,14 @@
};
nodeParent.Nodes.Add(node);
- gui.Expect(cmp => cmp.Get(node, info)).Return(menuBuilder);
+ gui.Expect(cmp => cmp.Get(node, info, treeViewControl)).Return(menuBuilder);
mocks.ReplayAll();
plugin.Gui = gui;
// Call
- ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, node, info);
+ ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, node, info, treeViewControl);
// Assert
ToolStripItem validateItem = contextMenu.Items[contextMenuValidateAllIndex];
@@ -1087,6 +1091,7 @@
{
// Setup
var gui = mocks.StrictMock();
+ var treeViewControl = mocks.StrictMock();
var menuBuilder = new CustomItemsOnlyContextMenuBuilder();
var group = new PipingCalculationGroup();
var nodeData = new PipingCalculationGroupContext(group,
@@ -1115,7 +1120,7 @@
treeView.Nodes.Add(parentNode);
- gui.Expect(cmp => cmp.Get(node, info)).Return(menuBuilder);
+ gui.Expect(cmp => cmp.Get(node, info, treeViewControl)).Return(menuBuilder);
mocks.ReplayAll();
@@ -1125,7 +1130,7 @@
nodeData.Attach(observer);
- ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, node, info);
+ ContextMenuStrip contextMenu = info.ContextMenuStrip(nodeData, node, info, treeViewControl);
// Precondition
Assert.AreEqual(1, group.Children.Count);
@@ -1151,6 +1156,7 @@
{
// Setup
var gui = mocks.StrictMock();
+ var treeViewControl = mocks.StrictMock();
var menuBuilder = new CustomItemsOnlyContextMenuBuilder();
var group = new PipingCalculationGroup();
var nodeData = new PipingCalculationGroupContext(group,
@@ -1179,7 +1185,7 @@
treeView.Nodes.Add(parentNode);
- gui.Expect(cmp => cmp.Get(node, info)).Return(menuBuilder);
+ gui.Expect(cmp => cmp.Get(node, info, treeViewControl)).Return(menuBuilder);
mocks.ReplayAll();
@@ -1189,7 +1195,7 @@
nodeData.Attach(observer);
- var contextMenu = info.ContextMenuStrip(nodeData, node, info);
+ var contextMenu = info.ContextMenuStrip(nodeData, node, info, treeViewControl);
// Precondition
Assert.AreEqual(1, group.Children.Count);
@@ -1215,13 +1221,14 @@
{
// Setup
var gui = mocks.StrictMock();
+ var treeViewControl = mocks.StrictMock();
var menuBuilder = new CustomItemsOnlyContextMenuBuilder();
var parentNode = new TreeNode();
var node = new TreeNode();
parentNode.Nodes.Add(node);
- gui.Expect(cmp => cmp.Get(node, info)).Return(menuBuilder);
+ gui.Expect(cmp => cmp.Get(node, info, treeViewControl)).Return(menuBuilder);
mocks.ReplayAll();
@@ -1245,7 +1252,7 @@
Enumerable.Empty(),
Enumerable.Empty());
- var contextMenu = info.ContextMenuStrip(nodeData, node, info);
+ var contextMenu = info.ContextMenuStrip(nodeData, node, info, treeViewControl);
// Call
Action call = () => contextMenu.Items[contextMenuValidateAllIndex].PerformClick();
@@ -1271,12 +1278,13 @@
// Setup
var gui = mocks.StrictMock();
var mainWindow = mocks.Stub();
+ var treeViewControl = mocks.StrictMock();
var menuBuilder = new CustomItemsOnlyContextMenuBuilder();
var node = mocks.StrictMock();
var parentNode = mocks.Stub();
node.Expect(n => n.Parent).Return(parentNode).Repeat.Twice();
- gui.Expect(g => g.Get(node, info)).Return(menuBuilder);
+ gui.Expect(g => g.Get(node, info, treeViewControl)).Return(menuBuilder);
gui.Expect(g => g.MainWindow).Return(mainWindow);
mocks.ReplayAll();
@@ -1303,7 +1311,7 @@
Enumerable.Empty(),
Enumerable.Empty