//-------------------------------------------------------------------------------------------- private void AddChild(CCAMLItem item, bool bEditerAvantAjout) { TreeNode node = m_arbreFiltre.SelectedNode; CCAMLItemLogical parent = node != null ? node.Tag as CCAMLItemLogical : null; if (parent == null && m_arbreFiltre.Nodes.Count > 0) { return; } if (bEditerAvantAjout && !ShowProprietes(item)) { return; } if (parent != null) { parent.AddChild(item); TreeNode newNode = CreateNode(item); node.Nodes.Add(newNode); } else { m_query.RootItem = item; TreeNode newNode = CreateNode(item); m_arbreFiltre.Nodes.Add(newNode); } }
//-------------------------------------------------------------------------------------------- private void InsertChild(Type typeItem) { TreeNode node = m_arbreFiltre.SelectedNode; if (node == null) { return; } CCAMLItemLogical newItem = (CCAMLItemLogical)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) { CCAMLItemLogical itemLogique = node.Tag as CCAMLItemLogical; if (itemLogique != null) { itemLogique.ClearChilds(); foreach (TreeNode child in node.Nodes) { itemLogique.AddChild(child.Tag as CCAMLItem); CreateHierarchie(child); } } }
//-------------------------------------------- private TreeNode CreateNode(CCAMLItem item) { TreeNode node = new TreeNode(item.Libelle); node.Tag = item; CCAMLItemLogical log = item as CCAMLItemLogical; if (log != null) { foreach (CCAMLItem child in log.Childs) { TreeNode childNode = CreateNode(child); node.Nodes.Add(childNode); } } return(node); }