//using System;
//using System.Collections;
//using System.Drawing;
//using System.Windows.Forms;
//using Core.Common.Base.Data;
//using Core.Common.Gui;
//using Ringtoets.Common.Forms.NodePresenters;
//using Ringtoets.Integration.Data;
//using RingtoetsFormsResources = Ringtoets.Integration.Forms.Properties.Resources;
//using TreeNode = Core.Common.Controls.TreeView.TreeNode;
//
//namespace Ringtoets.Integration.Forms.NodePresenters
//{
// ///
// /// Node presenter for items in the tree view.
// ///
// public class AssessmentSectionBaseNodePresenter : RingtoetsNodePresenterBase
// {
// ///
// /// Creates a new instance of , which uses the
// /// to create and bind its .
// ///
// /// The
// /// to use for building a .
// /// Thrown when no was provided.
// public AssessmentSectionBaseNodePresenter(IContextMenuBuilderProvider contextMenuBuilderProvider) : base(contextMenuBuilderProvider) { }
//
// public override bool CanRenameNode(TreeNode node)
// {
// return true;
// }
//
// public override bool CanRenameNodeTo(TreeNode node, string newName)
// {
// return true;
// }
//
// protected override void UpdateNode(TreeNode parentNode, TreeNode node, AssessmentSectionBase nodeData)
// {
// node.Text = nodeData.Name;
// node.Image = RingtoetsFormsResources.AssessmentSectionFolderIcon;
// node.ForegroundColor = Color.FromKnownColor(KnownColor.ControlText);
// }
//
// protected override IEnumerable GetChildNodeObjects(AssessmentSectionBase nodeData)
// {
// yield return nodeData.ReferenceLine;
// yield return nodeData.FailureMechanismContribution;
// yield return nodeData.HydraulicBoundaryDatabase;
// foreach (var failureMechanism in nodeData.GetFailureMechanisms())
// {
// yield return failureMechanism;
// }
// }
//
// protected override void OnNodeRenamed(AssessmentSectionBase nodeData, string newName)
// {
// nodeData.Name = newName;
// nodeData.NotifyObservers();
// }
//
// protected override bool CanRemove(object parentNodeData, AssessmentSectionBase nodeData)
// {
// return true;
// }
//
// protected override bool RemoveNodeData(object parentNodeData, AssessmentSectionBase nodeData)
// {
// var parentProject = (Project) parentNodeData;
//
// parentProject.Items.Remove(nodeData);
// parentProject.NotifyObservers();
//
// return true;
// }
//
// protected override ContextMenuStrip GetContextMenu(TreeNode node, AssessmentSectionBase nodeData)
// {
// return contextMenuBuilderProvider
// .Get(node)
// .AddRenameItem()
// .AddDeleteItem()
// .AddSeparator()
// .AddImportItem()
// .AddExportItem()
// .AddSeparator()
// .AddExpandAllItem()
// .AddCollapseAllItem()
// .AddSeparator()
// .AddPropertiesItem()
// .Build();
// }
// }
//}