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

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

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

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

            return(index);
        }
示例#2
0
		/// <summary>
		/// 
		/// </summary>
		/// <param name="folderNode"></param>
		public void ExpandAll(TreeNode folderNode)
		{
			folderNode.expanded = true;
			int cnt = folderNode.numChildren;
			for (int i = 0; i < cnt; i++)
			{
				TreeNode node = folderNode.GetChildAt(i);
				if (node.isFolder)
					ExpandAll(node);
			}
		}
示例#3
0
		/// <summary>
		/// 
		/// </summary>
		/// <param name="folderNode"></param>
		void HideFolderNode(TreeNode folderNode)
		{
			int cnt = folderNode.numChildren;
			for (int i = 0; i < cnt; i++)
			{
				TreeNode node = folderNode.GetChildAt(i);
				if (node.cell != null && node.cell.parent != null)
					list.RemoveChild(node.cell);
				if (node.isFolder && node.expanded)
					HideFolderNode(node);
			}
		}
示例#4
0
		/// <summary>
		/// 
		/// </summary>
		/// <param name="folderNode"></param>
		public void CollapseAll(TreeNode folderNode)
		{
			if (folderNode != root)
				folderNode.expanded = false;
			int cnt = folderNode.numChildren;
			for (int i = 0; i < cnt; i++)
			{
				TreeNode node = folderNode.GetChildAt(i);
				if (node.isFolder)
					CollapseAll(node);
			}
		}
示例#5
0
 static public int GetChildAt(IntPtr l)
 {
     try {
         FairyGUI.TreeNode self = (FairyGUI.TreeNode)checkSelf(l);
         System.Int32      a1;
         checkType(l, 2, out a1);
         var ret = self.GetChildAt(a1);
         pushValue(l, true);
         pushValue(l, ret);
         return(2);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
示例#6
0
 static int GetChildAt(IntPtr L)
 {
     try
     {
         ToLua.CheckArgsCount(L, 2);
         FairyGUI.TreeNode obj = (FairyGUI.TreeNode)ToLua.CheckObject(L, 1, typeof(FairyGUI.TreeNode));
         int arg0            = (int)LuaDLL.luaL_checknumber(L, 2);
         FairyGUI.TreeNode o = obj.GetChildAt(arg0);
         ToLua.PushObject(L, o);
         return(1);
     }
     catch (Exception e)
     {
         return(LuaDLL.toluaL_exception(L, e));
     }
 }
示例#7
0
		/// <summary>
		/// 
		/// </summary>
		/// <param name="node"></param>
		void RemoveNode(TreeNode node)
		{
			if (node.cell != null)
			{
				if (node.cell.parent != null)
					list.RemoveChild(node.cell);
				list.itemPool.ReturnObject(node.cell);
				node.cell.data = null;
				node.cell = null;
			}

			if (node.isFolder)
			{
				int cnt = node.numChildren;
				for (int i = 0; i < cnt; i++)
				{
					TreeNode node2 = node.GetChildAt(i);
					RemoveNode(node2);
				}
			}
		}
示例#8
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="folderNode"></param>
        void HideFolderNode(TreeNode folderNode)
        {
            int cnt = folderNode.numChildren;

            for (int i = 0; i < cnt; i++)
            {
                TreeNode node = folderNode.GetChildAt(i);
                if (node.cell != null)
                {
                    if (node.cell.parent != null)
                    {
                        list.RemoveChild(node.cell);
                    }
                    list.itemPool.ReturnObject(node.cell);
                    node.cell.data = null;
                    node.cell      = null;
                }
                if (node.isFolder && node.expanded)
                {
                    HideFolderNode(node);
                }
            }
        }
示例#9
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="node"></param>
        void RemoveNode(TreeNode node)
        {
            if (node.cell != null)
            {
                if (node.cell.parent != null)
                    list.RemoveChild(node.cell);
                list.itemPool.ReturnObject(node.cell);
                node.cell.data = null;
                node.cell = null;
            }

            if (node.isFolder)
            {
                int cnt = node.numChildren;
                for (int i = 0; i < cnt; i++)
                {
                    TreeNode node2 = node.GetChildAt(i);
                    RemoveNode(node2);
                }
            }
        }
示例#10
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="folderNode"></param>
 void HideFolderNode(TreeNode folderNode)
 {
     int cnt = folderNode.numChildren;
     for (int i = 0; i < cnt; i++)
     {
         TreeNode node = folderNode.GetChildAt(i);
         if (node.cell != null)
         {
             if(node.cell.parent != null)
                 list.RemoveChild(node.cell);
             list.itemPool.ReturnObject(node.cell);
             node.cell.data = null;
             node.cell = null;
         }
         if (node.isFolder && node.expanded)
             HideFolderNode(node);
     }
 }
示例#11
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="folderNode"></param>
        /// <param name="index"></param>
        /// <returns></returns>
        int CheckChildren(TreeNode folderNode, int index)
        {
            int cnt = folderNode.numChildren;
            for (int i = 0; i < cnt; i++)
            {
                index++;
                TreeNode node = folderNode.GetChildAt(i);
                if (node.cell == null)
                    CreateCell(node);

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

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

            return index;
        }
示例#12
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="folderNode"></param>
 public void ExpandAll(TreeNode folderNode)
 {
     folderNode.expanded = true;
     int cnt = folderNode.numChildren;
     for (int i = 0; i < cnt; i++)
     {
         TreeNode node = folderNode.GetChildAt(i);
         if (node.isFolder)
             ExpandAll(node);
     }
 }
示例#13
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="folderNode"></param>
 public void CollapseAll(TreeNode folderNode)
 {
     if (folderNode != root)
         folderNode.expanded = false;
     int cnt = folderNode.numChildren;
     for (int i = 0; i < cnt; i++)
     {
         TreeNode node = folderNode.GetChildAt(i);
         if (node.isFolder)
             CollapseAll(node);
     }
 }