public void Add(IPropertyControlPage page)
 {
     Param.RequireNotNull(page, "page");
     if (page != null)
     {
         this.pages.Add(page);
     }
 }
예제 #2
0
        /// <summary>
        /// Adds a page to be displayed on the StyleCop project settings dialog.
        /// </summary>
        /// <param name="page">
        /// The page to add.
        /// </param>
        public void Add(IPropertyControlPage page)
        {
            Param.RequireNotNull(page, "page");

            if (page != null)
            {
                this.pages.Add(page);
            }
        }
예제 #3
0
        /// <summary>
        /// Analyzes rules tree directly from UI.
        /// </summary>
        public static void Initialize(PropertyControl tabControl)
        {
            IPropertyControlPage analyzersOptions = tabControl.Pages[0];
            TreeView             tree             = (TreeView)analyzersOptions.GetType().InvokeMember(
                "analyzeTree",
                BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.GetField,
                null,
                analyzersOptions,
                null);

            s_ruleNodes = new Dictionary <string, Dictionary <string, TreeNode> >();

            foreach (TreeNode parserNode in tree.Nodes)
            {
                foreach (TreeNode analyzerNode in parserNode.Nodes)
                {
                    SourceAnalyzer analyzer = (SourceAnalyzer)analyzerNode.Tag;
                    s_ruleNodes[analyzer.Id] = new Dictionary <string, TreeNode>();
                    AnalyzeRuleNodes(s_ruleNodes[analyzer.Id], analyzerNode);
                }
            }
        }