private bool UpdateTreeNode(TreeNode tn)
        {
            tn.ForeColor = ThemeManager.ForeColor;

            AddonInfo ai = tn.Tag as AddonInfo;

            if (ai != null)
            {
                tn.Checked = (ai.Selected || ai.IsRequired);
                if (ai.IsRequired)
                {
                    HighlightNode(tn);
                }

                return(ai.Selected || ai.IsRequired);
            }

            bool check = false;

            foreach (TreeNode child in tn.Nodes)
            {
                check |= UpdateTreeNode(child);
            }

            tn.Checked = check;

            if (IsRequiredNode(tn))
            {
                HighlightNode(tn);
            }

            return(check);
        }
        private void CheckAddon(TreeNode tn)
        {
            AddonInfo ai = tn.Tag as AddonInfo;

            if (ai != null)
            {
                ai.Selected = tn.Checked;
            }
        }
        public AddonLibraryInfo(AddonInfo ai)
        {
            this.IsNative    = ai.IsNative;
            this.CodeBase    = ai.CodeBase;
            this.LibraryName = ai.LibraryName;

            this.NavigationAddons = new List <AddonInfo>();
            this.PropertyAddons   = new List <AddonInfo>();
            this.PreviewAddons    = new List <AddonInfo>();
        }
Example #4
0
        private List <AddonInfo> BuildAddonList(string[] addons)
        {
            List <AddonInfo> addonList = new List <AddonInfo>();

            foreach (string addon in addons)
            {
                AddonInfo ai = ConstructAddonInfo(addon);
                addonList.Add(ai);

                _addonConfigurationTable.Add(ai.Name, ai.Selected);
            }

            return(addonList);
        }
 public void RemoveAddon(AddonInfo ai)
 {
     if (NavigationAddons.Contains(ai))
     {
         NavigationAddons.Remove(ai);
     }
     else if (PropertyAddons.Contains(ai))
     {
         PropertyAddons.Remove(ai);
     }
     else if (PreviewAddons.Contains(ai))
     {
         PreviewAddons.Remove(ai);
     }
 }
Example #6
0
 public void RemoveAddon(AddonInfo ai)
 {
     if (NavigationAddons.Contains(ai))
     {
         NavigationAddons.Remove(ai);
     }
     else if (PropertyAddons.Contains(ai))
     {
         PropertyAddons.Remove(ai);
     }
     else if (PreviewAddons.Contains(ai))
     {
         PreviewAddons.Remove(ai);
     }
 }
        private bool IsRequiredNode(TreeNode tn)
        {
            if (tn != null)
            {
                AddonInfo ai = tn.Tag as AddonInfo;
                if (ai != null)
                {
                    return(ai.IsRequired);
                }

                foreach (TreeNode child in tn.Nodes)
                {
                    if (IsRequiredNode(child))
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
Example #8
0
        public AddonLibraryInfo(AddonInfo ai)
        {
            this.IsNative = ai.IsNative;
            this.CodeBase = ai.CodeBase;
            this.LibraryName = ai.LibraryName;

            this.NavigationAddons = new List<AddonInfo>();
            this.PropertyAddons = new List<AddonInfo>();
            this.PreviewAddons = new List<AddonInfo>();
        }