//-------------------------------------------------------------------------------------------- private void InsertChild(Type typeItem) { TreeNode node = m_arbreFiltre.SelectedNode; if (node == null) { return; } CDHFiltreASousElements newItem = (CDHFiltreASousElements)Activator.CreateInstance(typeItem); TreeNode newChild = new TreeNode(node.Text); newChild.Tag = node.Tag; TreeNode newNode = CreateNode(newItem); if (node.Parent == null) { m_arbreFiltre.Nodes.Add(newNode); } else { node.Parent.Nodes.Add(newNode); } newNode.Nodes.Add(newChild); node.Remove(); }
//-------------------------------------------- private void CreateHierarchie(TreeNode node) { CDHFiltreASousElements itemLogique = node.Tag as CDHFiltreASousElements; if (itemLogique != null) { itemLogique.ClearSousElements(); foreach (TreeNode child in node.Nodes) { itemLogique.AddSousElement(child.Tag as IDHFiltre); CreateHierarchie(child); } } }
//-------------------------------------------- private TreeNode CreateNode(IDHFiltre filtre) { TreeNode node = new TreeNode(filtre.GetLibelle(m_table)); node.Tag = filtre; CDHFiltreASousElements test = filtre as CDHFiltreASousElements; if (test != null) { foreach (IDHFiltre child in test.SousElements) { TreeNode childNode = CreateNode(child); node.Nodes.Add(childNode); } } return(node); }