Example #1
0
        private TreeNode FindOrCreate(TreeNode parent, TreeNodeCollection parentNodes, string[] subpath, SettingsPageStruct page)
        {
            if (subpath.Length == 0)
            {
                return(parent);
            }
            //TreeNode[] childs = parentNodes.Find(Texts.Get(subpath[0]), false);
            TreeNode child = null;

            foreach (TreeNode n in parentNodes)
            {
                if (n.Text == Texts.Get(subpath[0]))
                {
                    child = n;
                    break;
                }
            }
            //if (childs.Length > 0) child = childs[0];
            if (child != null)
            {
                return(FindOrCreate(child, child.Nodes, PyList.SliceFrom(subpath, 1), page));
            }
            child = new TreeNode();
            if (page != null && page.Attribute.ImageName != null)
            {
                child.ImageIndex = m_imgCache.GetImageIndex(ImageTool.ImageFromName(page.Attribute.ImageName, CoreIcons.settings));
            }
            else
            {
                child.ImageIndex = m_imgCache.GetImageIndex(CoreIcons.settings);
            }
            child.SelectedImageIndex = child.ImageIndex;
            parentNodes.Add(child);
            child.Text = Texts.Get(subpath[0]);
            if (subpath.Length == 1)
            {
                child.Tag = page;
                if ((page.Attribute.Targets & Target) == 0)
                {
                    parentNodes.Remove(child);
                }
            }
            return(FindOrCreate(child, child.Nodes, PyList.SliceFrom(subpath, 1), page));
        }
Example #2
0
 public override System.Drawing.Bitmap ImageFromName(string name, Bitmap defimage)
 {
     return(ImageTool.ImageFromName(name, defimage));
 }