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().ToArray(); + Category = category; + } + + /// + /// Gets the name of the folder. + /// + public string Name { get; private set; } + + /// + /// Gets the contents of the folder. + /// + public IEnumerable Contents { get; private set; } + + /// + /// Gets the category of the folder. + /// + public TreeFolderCategory Category { get; private set; } + } +} \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Forms/PresentationObjects/TreeFolderCategory.cs =================================================================== diff -u --- Ringtoets/Common/src/Ringtoets.Common.Forms/PresentationObjects/TreeFolderCategory.cs (revision 0) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/PresentationObjects/TreeFolderCategory.cs (revision 80ebf3911f46c8fde95702b7723e4457b4fd80ea) @@ -0,0 +1,21 @@ +namespace Ringtoets.Common.Forms.PresentationObjects +{ + /// + /// All type categories supported by . + /// + public enum TreeFolderCategory + { + /// + /// Folderc ontents to not have a particular meaning. + /// + General, + /// + /// Marks the folder contents as inputs. + /// + Input, + /// + /// Marks the folder contents as outputs. + /// + Output + } +} \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -rca87cfba59d1e35ba9a281b92e5e90f8c8121db0 -r80ebf3911f46c8fde95702b7723e4457b4fd80ea --- Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision ca87cfba59d1e35ba9a281b92e5e90f8c8121db0) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision 80ebf3911f46c8fde95702b7723e4457b4fd80ea) @@ -63,6 +63,36 @@ /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// + public static System.Drawing.Bitmap GeneralFolderIcon { + get { + object obj = ResourceManager.GetObject("GeneralFolderIcon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap InputFolderIcon { + get { + object obj = ResourceManager.GetObject("InputFolderIcon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + public static System.Drawing.Bitmap OutputFolderIcon { + get { + object obj = ResourceManager.GetObject("OutputFolderIcon", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// public static System.Drawing.Bitmap receipt_text { get { object obj = ResourceManager.GetObject("receipt_text", resourceCulture); Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx =================================================================== diff -u -rca87cfba59d1e35ba9a281b92e5e90f8c8121db0 -r80ebf3911f46c8fde95702b7723e4457b4fd80ea --- Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision ca87cfba59d1e35ba9a281b92e5e90f8c8121db0) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision 80ebf3911f46c8fde95702b7723e4457b4fd80ea) @@ -130,4 +130,13 @@ Kan knoop uit boom van type {0} niet verwijderen. + + ..\Resources\folder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\folder_input.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\folder_output.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Resources/folder.png =================================================================== diff -u Binary files differ Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Resources/folder_input.png =================================================================== diff -u Binary files differ Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Resources/folder_output.png =================================================================== diff -u Binary files differ Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj =================================================================== diff -u -rfcf04bfe765cc56c90a010b4b4790cab0ac5b2c6 -r80ebf3911f46c8fde95702b7723e4457b4fd80ea --- Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision fcf04bfe765cc56c90a010b4b4790cab0ac5b2c6) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision 80ebf3911f46c8fde95702b7723e4457b4fd80ea) @@ -76,7 +76,10 @@ Properties\GlobalAssembly.cs + + + True @@ -107,6 +110,15 @@ Core.Common.Version + + + + + + + + +