Пример #1
0
        //--------------------------------------------------------------------------------------------
        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);
            }
        }
Пример #2
0
        //--------------------------------------------------------------------------------------------
        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();
        }
Пример #3
0
        //--------------------------------------------
        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);
                }
            }
        }
Пример #4
0
        //--------------------------------------------
        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);
        }