SharpDisplay: Migrating to new robust client scheme.
2 using System.Collections.Generic;
4 using System.ComponentModel.Design;
5 using System.Collections.ObjectModel;
6 using System.ComponentModel;
7 using System.Drawing.Design;
9 namespace Aga.Controls.Tree.NodeControls
11 internal class NodeControlsCollection : Collection<NodeControl>
13 private TreeViewAdv _tree;
15 public NodeControlsCollection(TreeViewAdv tree)
20 protected override void ClearItems()
25 while (this.Count != 0)
26 this.RemoveAt(this.Count - 1);
34 protected override void InsertItem(int index, NodeControl item)
37 throw new ArgumentNullException("item");
39 if (item.Parent != _tree)
41 if (item.Parent != null)
43 item.Parent.NodeControls.Remove(item);
45 base.InsertItem(index, item);
46 item.AssignParent(_tree);
51 protected override void RemoveItem(int index)
53 NodeControl value = this[index];
54 value.AssignParent(null);
55 base.RemoveItem(index);
59 protected override void SetItem(int index, NodeControl item)
62 throw new ArgumentNullException("item");
68 InsertItem(index, item);
77 internal class NodeControlCollectionEditor : CollectionEditor
79 private Type[] _types;
81 public NodeControlCollectionEditor(Type type)
84 _types = new Type[] { typeof(NodeTextBox), typeof(NodeIntegerTextBox), typeof(NodeDecimalTextBox),
85 typeof(NodeComboBox), typeof(NodeCheckBox),
86 typeof(NodeStateIcon), typeof(NodeIcon), typeof(NodeNumericUpDown), typeof(ExpandingIcon) };
89 protected override System.Type[] CreateNewItemTypes()