public void RemoveChild (TreeNode child) { int idx = children.IndexOf (child); if (idx < 0) return; children.Remove (child); child.SetParent (null); OnChildRemoved (child, idx); }
public void AddChild (TreeNode child) { children.Add (child); child.SetParent (this); OnChildAdded (child); }
public void AddChild (TreeNode child, int position) { children.Insert (position, child); child.SetParent (this); OnChildAdded (child); }
private void OnChildRemoved (TreeNode child, int old_position) { if (ChildRemoved == null) return; ChildRemoved (this, child, old_position); }