Exemple #1
0
        public bool ForEach(Func <CadObjTreeItem, int, bool> func, int level)
        {
            if (!func(this, level))
            {
                return(false);
            }

            if (!IsExpand)
            {
                return(true);
            }

            if (mChildren == null)
            {
                return(true);
            }

            int i;

            for (i = 0; i < mChildren.Count; i++)
            {
                CadObjTreeItem item = mChildren[i];

                if (!item.ForEach(func, level + 1))
                {
                    return(false);
                }
            }

            return(true);
        }
Exemple #2
0
        public int Find(Func <CadObjTreeItem, bool> match)
        {
            int idx = -1;
            int cnt = 0;

            mRoot.ForEach((item) =>
            {
                if (match(item))
                {
                    idx = cnt;
                    return(false);
                }

                cnt++;
                return(true);
            });

            if (!ShowRoot && idx >= 0)
            {
                idx--;
            }

            return(idx);
        }