Index: Core/Common/src/Core.Common.Gui/Properties/Resources.Designer.cs =================================================================== diff -u -rec61b187052d8d8ae6cddd3fc1d0546608d9b0c2 -rca87cfba59d1e35ba9a281b92e5e90f8c8121db0 --- Core/Common/src/Core.Common.Gui/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision ec61b187052d8d8ae6cddd3fc1d0546608d9b0c2) +++ Core/Common/src/Core.Common.Gui/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision ca87cfba59d1e35ba9a281b92e5e90f8c8121db0) @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.34209 +// Runtime Version:4.0.30319.18444 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -1635,24 +1635,6 @@ } /// - /// Looks up a localized string similar to Kan node uit boom van type {0} niet hernoemen.. - /// - public static string PipingNodePresenterBase_OnNodeRenamed_Cannot_rename_tree_node_of_type__0__ { - get { - return ResourceManager.GetString("PipingNodePresenterBase_OnNodeRenamed_Cannot_rename_tree_node_of_type__0__", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Kan node uit boom van type {0} niet verwijderen.. - /// - public static string PipingNodePresenterBase_RemoveNodeData_Cannot_delete_node_of_type__0__ { - get { - return ResourceManager.GetString("PipingNodePresenterBase_RemoveNodeData_Cannot_delete_node_of_type__0__", resourceCulture); - } - } - - /// /// Looks up a localized resource of type System.Drawing.Bitmap. /// public static System.Drawing.Bitmap PlayAll { Index: Core/Common/src/Core.Common.Gui/Properties/Resources.resx =================================================================== diff -u -rec61b187052d8d8ae6cddd3fc1d0546608d9b0c2 -rca87cfba59d1e35ba9a281b92e5e90f8c8121db0 --- Core/Common/src/Core.Common.Gui/Properties/Resources.resx (.../Resources.resx) (revision ec61b187052d8d8ae6cddd3fc1d0546608d9b0c2) +++ Core/Common/src/Core.Common.Gui/Properties/Resources.resx (.../Resources.resx) (revision ca87cfba59d1e35ba9a281b92e5e90f8c8121db0) @@ -869,12 +869,6 @@ Versie - - Kan node uit boom van type {0} niet hernoemen. - - - Kan node uit boom van type {0} niet verwijderen. - Sluiten van huidig project. Index: Ringtoets/Common/src/Ringtoets.Common.Forms/NodePresenters/RingtoetsNodePresenterBase.cs =================================================================== diff -u --- Ringtoets/Common/src/Ringtoets.Common.Forms/NodePresenters/RingtoetsNodePresenterBase.cs (revision 0) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/NodePresenters/RingtoetsNodePresenterBase.cs (revision ca87cfba59d1e35ba9a281b92e5e90f8c8121db0) @@ -0,0 +1,226 @@ +using System; +using System.Collections; +using System.ComponentModel; +using System.Linq; +using System.Windows.Forms; + +using Core.Common.Controls; +using Core.Common.Utils.Collections; + +using Ringtoets.Common.Forms.Properties; + +namespace Ringtoets.Common.Forms.NodePresenters +{ + /// + /// Implements in a featureless way as possible, + /// to serve as a base class for all node presenters. + /// + /// The data object class corresponding with the node. + public abstract class RingtoetsNodePresenterBase : ITreeNodePresenter + { + public ITreeView TreeView { get; set; } + + public Type NodeTagType + { + get + { + return typeof(T); + } + } + + public void UpdateNode(ITreeNode parentNode, ITreeNode node, object nodeData) + { + UpdateNode(parentNode, node, (T)nodeData); + } + + public IEnumerable GetChildNodeObjects(object parentNodeData, ITreeNode node) + { + return GetChildNodeObjects((T)parentNodeData, node).Cast(); + } + + public virtual bool CanRenameNode(ITreeNode node) + { + return false; + } + + public virtual bool CanRenameNodeTo(ITreeNode node, string newName) + { + return false; + } + + public void OnNodeRenamed(object nodeData, string newName) + { + var data = (T)nodeData; + OnNodeRenamed(data, newName); + } + + public virtual void OnNodeChecked(ITreeNode node) + { + // Not a checked node + } + + public DragOperations CanDrag(object nodeData) + { + return CanDrag((T)nodeData); + } + + public DragOperations CanDrop(object item, ITreeNode sourceNode, ITreeNode targetNode, DragOperations validOperations) + { + return CanDrop((T)item, sourceNode, targetNode, validOperations); + } + + public bool CanInsert(object item, ITreeNode sourceNode, ITreeNode targetNode) + { + return CanInsert((T)item, sourceNode, targetNode); + } + + public void OnDragDrop(object item, object sourceParentNodeData, object targetParentNodeData, DragOperations operation, int position) + { + OnDragDrop((T)item, sourceParentNodeData, targetParentNodeData, operation, position); + } + + public void OnNodeSelected(object nodeData) + { + OnNodeSelected((T)nodeData); + } + + public ContextMenuStrip GetContextMenu(ITreeNode sender, object nodeData) + { + return GetContextMenu(sender, (T)nodeData); + } + + public void OnPropertyChanged(object sender, ITreeNode node, PropertyChangedEventArgs e) + { + OnPropertyChanged((T)sender, node, e); + } + + public void OnCollectionChanged(object sender, NotifyCollectionChangingEventArgs e) + { + OnCollectionChanged((T)sender, e); + } + + public bool CanRemove(object parentNodeData, object nodeData) + { + return CanRemove(parentNodeData, (T)nodeData); + } + + public bool RemoveNodeData(object parentNodeData, object nodeData) + { + return RemoveNodeData(parentNodeData, (T)nodeData); + } + + /// + /// Typed implementation of method . + /// + /// + protected abstract void UpdateNode(ITreeNode parentNode, ITreeNode node, T nodeData); + + /// + /// Typed implementation of method . + /// + /// + protected virtual IEnumerable GetChildNodeObjects(T nodeData, ITreeNode node) + { + return Enumerable.Empty(); + } + + /// + /// Typed implementation of method . + /// + /// + protected virtual void OnNodeRenamed(T nodeData, string newName) + { + throw new InvalidOperationException(string.Format(Resources.RingtoetsNodePresenterBase_OnNodeRenamed_Cannot_rename_tree_node_of_type_0_, GetType().Name)); + } + + /// + /// Typed implementation of method . + /// + /// + protected virtual DragOperations CanDrag(T nodeData) + { + return DragOperations.None; + } + + /// + /// Typed implementation of method . + /// + /// + protected virtual DragOperations CanDrop(T item, ITreeNode sourceNode, ITreeNode targetNode, DragOperations validOperations) + { + return DragOperations.None; + } + + /// + /// Typed implementation of method . + /// + /// + protected virtual bool CanInsert(T item, ITreeNode sourceNode, ITreeNode targetNode) + { + return false; + } + + /// + /// Typed implementation of method . + /// + /// + protected virtual void OnDragDrop(T item, object sourceParentNodeData, object targetParentNodeData, DragOperations operation, int position) + { + // Do nothing + } + + /// + /// Typed implementation of method . + /// + /// + protected virtual void OnNodeSelected(T nodeData) + { + // Do nothing + } + + /// + /// Typed implementation of method . + /// + /// + protected virtual ContextMenuStrip GetContextMenu(ITreeNode sender, T nodeData) + { + return null; + } + + /// + /// Typed implementation of method . + /// + /// + protected virtual void OnPropertyChanged(T sender, ITreeNode node, PropertyChangedEventArgs e) + { + // Do nothing + } + + /// + /// Typed implementation of method . + /// + /// + protected virtual void OnCollectionChanged(T sender, NotifyCollectionChangingEventArgs e) + { + // Do nothing + } + + /// + /// Typed implementation of method . + /// + /// + protected virtual bool CanRemove(object parentNodeData, T nodeData) + { + return false; + } + + /// + /// Typed implementation of method . + /// + /// + protected virtual bool RemoveNodeData(object parentNodeData, T nodeData) + { + throw new InvalidOperationException(String.Format(Resources.RingtoetsNodePresenterBase_RemoveNodeData_Cannot_delete_node_of_type_0_, GetType().Name)); + } + } +} \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs =================================================================== diff -u -raa5c3620f316831e71797c558a13a0b73a8109df -rca87cfba59d1e35ba9a281b92e5e90f8c8121db0 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision aa5c3620f316831e71797c558a13a0b73a8109df) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.Designer.cs (.../Resources.Designer.cs) (revision ca87cfba59d1e35ba9a281b92e5e90f8c8121db0) @@ -78,5 +78,23 @@ return ResourceManager.GetString("Ringtoets_Category", resourceCulture); } } + + /// + /// Looks up a localized string similar to Kan knoop uit boom van type {0} niet hernoemen.. + /// + public static string RingtoetsNodePresenterBase_OnNodeRenamed_Cannot_rename_tree_node_of_type_0_ { + get { + return ResourceManager.GetString("RingtoetsNodePresenterBase_OnNodeRenamed_Cannot_rename_tree_node_of_type_0_", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Kan knoop uit boom van type {0} niet verwijderen.. + /// + public static string RingtoetsNodePresenterBase_RemoveNodeData_Cannot_delete_node_of_type_0_ { + get { + return ResourceManager.GetString("RingtoetsNodePresenterBase_RemoveNodeData_Cannot_delete_node_of_type_0_", resourceCulture); + } + } } } Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx =================================================================== diff -u -raa5c3620f316831e71797c558a13a0b73a8109df -rca87cfba59d1e35ba9a281b92e5e90f8c8121db0 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision aa5c3620f316831e71797c558a13a0b73a8109df) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Properties/Resources.resx (.../Resources.resx) (revision ca87cfba59d1e35ba9a281b92e5e90f8c8121db0) @@ -124,4 +124,10 @@ Algemeen + + Kan knoop uit boom van type {0} niet hernoemen. + + + Kan knoop uit boom van type {0} niet verwijderen. + \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj =================================================================== diff -u -raa5c3620f316831e71797c558a13a0b73a8109df -rca87cfba59d1e35ba9a281b92e5e90f8c8121db0 --- Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision aa5c3620f316831e71797c558a13a0b73a8109df) +++ Ringtoets/Common/src/Ringtoets.Common.Forms/Ringtoets.Common.Forms.csproj (.../Ringtoets.Common.Forms.csproj) (revision ca87cfba59d1e35ba9a281b92e5e90f8c8121db0) @@ -81,6 +81,7 @@ Properties\GlobalAssembly.cs + True @@ -97,6 +98,16 @@ + + + {9a2d67e6-26ac-4d17-b11a-2b4372f2f572} + Core.Common.Controls + + + {f49bd8b2-332a-4c91-a196-8cce0a2c7d98} + Core.Common.Utils + +