internal void OnNodeRemoved(Node parent, int index, Node node) { if (NodesRemoved != null) { TreeModelEventArgs args = new TreeModelEventArgs(GetPath(parent), new int[] { index }, new object[] { node }); NodesRemoved(this, args); } }
protected override void RemoveItem(int index) { Node item = this[index]; item._parent = null; item._index = -1; for (int i = index + 1; i < Count; i++) { this[i]._index--; } base.RemoveItem(index); TreeModel model = _owner.FindModel(); if (model != null) { model.OnNodeRemoved(_owner, index, item); } }