Exemple #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="folderNode"></param>
        /// <param name="index"></param>
        /// <returns></returns>
        int CheckChildren(GTreeNode folderNode, int index)
        {
            int cnt = folderNode.numChildren;

            for (int i = 0; i < cnt; i++)
            {
                index++;
                GTreeNode node = folderNode.GetChildAt(i);
                if (node.cell == null)
                {
                    CreateCell(node);
                }

                if (node.cell.parent == null)
                {
                    AddChildAt(node.cell, index);
                }

                if (node.isFolder && node.expanded)
                {
                    index = CheckChildren(node, index);
                }
            }

            return(index);
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="folderNode"></param>
        public void ExpandAll(GTreeNode folderNode)
        {
            folderNode.expanded = true;
            int cnt = folderNode.numChildren;

            for (int i = 0; i < cnt; i++)
            {
                GTreeNode node = folderNode.GetChildAt(i);
                if (node.isFolder)
                {
                    ExpandAll(node);
                }
            }
        }
Exemple #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="folderNode"></param>
        public void CollapseAll(GTreeNode folderNode)
        {
            if (folderNode != _rootNode)
            {
                folderNode.expanded = false;
            }
            int cnt = folderNode.numChildren;

            for (int i = 0; i < cnt; i++)
            {
                GTreeNode node = folderNode.GetChildAt(i);
                if (node.isFolder)
                {
                    CollapseAll(node);
                }
            }
        }
Exemple #4
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="folderNode"></param>
        void HideFolderNode(GTreeNode folderNode)
        {
            int cnt = folderNode.numChildren;

            for (int i = 0; i < cnt; i++)
            {
                GTreeNode node = folderNode.GetChildAt(i);
                if (node.cell != null && node.cell.parent != null)
                {
                    RemoveChild(node.cell);
                }

                if (node.isFolder && node.expanded)
                {
                    HideFolderNode(node);
                }
            }
        }
Exemple #5
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="node"></param>
        void RemoveNode(GTreeNode node)
        {
            if (node.cell != null)
            {
                if (node.cell.parent != null)
                {
                    RemoveChild(node.cell);
                }
                itemPool.ReturnObject(node.cell);
                node._cell._treeNode = null;
                node._cell           = null;
            }

            if (node.isFolder)
            {
                int cnt = node.numChildren;
                for (int i = 0; i < cnt; i++)
                {
                    GTreeNode node2 = node.GetChildAt(i);
                    RemoveNode(node2);
                }
            }
        }