Exemple #1
0
        public void SetResults(SmartFindOptions options, List <SmartFindResults> results)
        {
            switch (EditorGlobals.FontSize)
            {
            case FontSize.Normal:
                resultsTree.Font = new System.Drawing.Font("Consolas", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                break;

            case FontSize.Large:
                resultsTree.Font = new System.Drawing.Font("Consolas", 11F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                break;
            }

            resultsTree.SuspendNodeEvents();
            resultsTree.Nodes.Clear();

            var basenode = new DarkTreeNode("base");

            if (options.SearchBase)
            {
                var n = FillResults(basenode, results, false, options.ShowChildren);
                if (basenode.Nodes.Count > 0)
                {
                    basenode.Text = basenode.Text + " - (" + n + " results in " + basenode.Nodes.Count + " files)";
                    resultsTree.Nodes.Add(basenode);
                    basenode.Expanded = true;
                }
            }

            var modnode = new DarkTreeNode(Core.Instance.ModCK3Library.Name);

            if (options.SearchMod)
            {
                var n = FillResults(modnode, results, true, options.ShowChildren);
                if (modnode.Nodes.Count > 0)
                {
                    modnode.Text = modnode.Text + " - (" + n + " results in " + modnode.Nodes.Count + " files)";
                    resultsTree.Nodes.Add(modnode);
                    modnode.Expanded = true;
                }
            }

            resultsTree.ResumeNodeEvents();
        }
        private void DoFind()
        {
            SmartFindOptions options = new SmartFindOptions();

            options.TextToFind     = searchText.Text;
            options.CaseSensitive  = caseSensitive.Checked;
            options.FindWholeWorld = wholeWordOnly.Checked;
            options.SearchBase     = findInBaseFiles.Checked;
            options.SearchMod      = findInModFiles.Checked;

            options.SmartDoFind = true;
            options.SearchRHS   = doesRHS.Checked;
            options.SearchLHS   = doLHS.Checked;

            options.SearchOverridden = doesFindOverridden.Checked;
            options.ShowChildren     = showChildren.Checked;
            if (scopeCharacters.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.character);
            }
            if (scopeProvinces.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.province);
            }
            if (scopeSchemes.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.scheme);
            }
            if (scopeTitles.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.landed_title);
            }

            if (activityScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.activity);
            }
            if (armyScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.army);
            }
            if (casusScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.casus_belli);
            }
            if (combatScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.combat);
            }
            if (combatSideScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.combat_side);
            }
            if (councilTaskScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.council_task);
            }
            if (cultureGScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.culture_group);
            }
            if (cultureScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.culture);
            }
            if (factionScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.faction);
            }
            if (armyScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.army);
            }
            if (faithScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.faith);
            }
            if (greatHolyScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.great_holy_war);
            }
            if (tavcScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.title_and_vassal_change);
            }
            if (religionScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.religion);
            }
            if (holyOrderScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.holy_order);
            }
            if (storyScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.story_cycle);
            }
            if (warScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.war);
            }
            if (dynastyScsope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.dynasty);
            }
            if (secretScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.secret);
            }
            if (mercScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.mercenary_company);
            }
            if (houseScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.dynasty_house);
            }

            if (noneScope.Checked)
            {
                options.ScopesToSearch.Add(ScopeType.none);
                options.ScopesToSearch.Add(ScopeType.any);
                options.ScopesToSearch.Add(ScopeType.inheritparent);
            }


            var results = Core.Instance.DoSmartFind(options);

            CK3ScriptEd.Instance.searchResults.SetResults(options, results);
        }