public void AddElements(IList <T> elements, TreeElement parent, int insertPosition) { if (elements == null) { throw new ArgumentNullException("elements", "elements is null"); } if (elements.Count == 0) { throw new ArgumentNullException("elements", "elements Count is 0: nothing to add"); } if (parent == null) { throw new ArgumentNullException("parent", "parent is null"); } if (parent.children == null) { parent.children = new List <TreeElement>(); } parent.children.InsertRange(insertPosition, elements.Cast <TreeElement> ()); foreach (var element in elements) { element.parent = parent; element.depth = parent.depth + 1; TreeElementUtility.UpdateDepthValues(element); } TreeElementUtility.TreeToList(m_Root, m_Data); Changed(); }
public void AddElement(T element, TreeElement parent, int insertPosition) { if (element == null) { throw new ArgumentNullException("element", "element is null"); } if (parent == null) { throw new ArgumentNullException("parent", "parent is null"); } if (parent.children == null) { parent.children = new List <TreeElement> (); } parent.children.Insert(insertPosition, element); element.parent = parent; TreeElementUtility.UpdateDepthValues(parent); TreeElementUtility.TreeToList(m_Root, m_Data); Changed(); }