Index: Ringtoets/Common/src/Ringtoets.Common.Forms/NodePresenters/CategoryTreeFolderNodePresenter.cs
===================================================================
diff -u
--- Ringtoets/Common/src/Ringtoets.Common.Forms/NodePresenters/CategoryTreeFolderNodePresenter.cs (revision 0)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/NodePresenters/CategoryTreeFolderNodePresenter.cs (revision 80ebf3911f46c8fde95702b7723e4457b4fd80ea)
@@ -0,0 +1,44 @@
+using System;
+using System.Collections;
+using System.Drawing;
+
+using Core.Common.Controls;
+
+using Ringtoets.Common.Forms.PresentationObjects;
+
+using RingtoetsCommonFormsResources = Ringtoets.Common.Forms.Properties.Resources;
+
+namespace Ringtoets.Common.Forms.NodePresenters
+{
+ ///
+ /// Node presenter for .
+ ///
+ public class CategoryTreeFolderNodePresenter : RingtoetsNodePresenterBase
+ {
+ protected override void UpdateNode(ITreeNode parentNode, ITreeNode node, CategoryTreeFolder nodeData)
+ {
+ node.Text = nodeData.Name;
+ node.Image = GetFolderIcon(nodeData.Category);
+ }
+
+ protected override IEnumerable GetChildNodeObjects(CategoryTreeFolder nodeData, ITreeNode node)
+ {
+ return nodeData.Contents;
+ }
+
+ private Image GetFolderIcon(TreeFolderCategory category)
+ {
+ switch (category)
+ {
+ case TreeFolderCategory.General:
+ return RingtoetsCommonFormsResources.GeneralFolderIcon;
+ case TreeFolderCategory.Input:
+ return RingtoetsCommonFormsResources.InputFolderIcon;
+ case TreeFolderCategory.Output:
+ return RingtoetsCommonFormsResources.OutputFolderIcon;
+ default:
+ throw new NotImplementedException();
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PresentationObjects/CategoryTreeFolder.cs
===================================================================
diff -u
--- Ringtoets/Common/src/Ringtoets.Common.Forms/PresentationObjects/CategoryTreeFolder.cs (revision 0)
+++ Ringtoets/Common/src/Ringtoets.Common.Forms/PresentationObjects/CategoryTreeFolder.cs (revision 80ebf3911f46c8fde95702b7723e4457b4fd80ea)
@@ -0,0 +1,41 @@
+using System.Collections;
+using System.Linq;
+
+using Core.Common.Controls;
+
+namespace Ringtoets.Common.Forms.PresentationObjects
+{
+ ///
+ /// Object that allows for grouping child nodes of instances.
+ ///
+ public class CategoryTreeFolder
+ {
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The name of the category folder.
+ /// The contents of the folder.
+ /// Optional: The category descriptor of the folder. Default: .
+ public CategoryTreeFolder(string name, IEnumerable contents, TreeFolderCategory category = TreeFolderCategory.General)
+ {
+ Name = name;
+ Contents = contents.OfType