public void LoadSearchConfig(String SearchConfigFile) { this.ConfigFile = SearchConfigFile; if (!File.Exists(this.ConfigFile)) return; using (StreamReader sr = new StreamReader(this.ConfigFile)) { String line; int cLine = 0; // Read and display lines from the file until the end of // the file is reached. while ((line = sr.ReadLine()) != null) { cLine++; if ((cLine == 1) && (line != "search.config.begin")) return; /* invalid or corrupt config file */ string[] cfgLine = line.Split('^'); if (cfgLine[0] == "set.search.title") { this.SearchTitle = cfgLine[1]; } if (cfgLine[0] == "set.primary.table") { this.PrimaryTable = cfgLine[1]; } if (cfgLine[0] == "set.primary.fields") { this.PrimaryFields = cfgLine[1]; } //set.display.fields^entry:Entry ID!name:Name!ItemLevel:Item Level!RequiredLevel:Req Level if (cfgLine[0] == "set.display.fields") { String[] ConfigOptions = cfgLine[1].Split('!'); foreach (String cfgCriteriaType in ConfigOptions) { String[] ival = cfgCriteriaType.Split(':'); ColumnHeader cHeader = new ColumnHeader(); cHeader.Name = ival[0]; cHeader.Text = ival[1]; cHeader.Width = int.Parse(ival[2]); this.DisplayColumns.Add(cHeader); } } if (cfgLine[0] == "result.format.rule") { if (cfgLine[1] == "colour") { SearchResultFormatRule srFormatRule = new SearchResultFormatRule(); srFormatRule.Type = SearchResultFormatRule.RuleType.Colour; srFormatRule.MatchField = cfgLine[2]; srFormatRule.MatchValue = this.tController.dbRef.GetIntVal(cfgLine[3]).ToString(); //cfgLine[3]; srFormatRule.Colour = cfgLine[4]; this.ResultFormatRules.Add(srFormatRule); } } if (cfgLine[0] == "criteria.add") { //criteria.add^entry^Entry ID^text CriteriaRequester cReq; if (cfgLine[3] == "text") { cReq = new CriteriaRequester(CriteriaRequester.CriteriaType.Text, cfgLine[1]); this.SearchCriterias.Add(cfgLine[1], cReq); } else if (cfgLine[3] == "dropdown") { cReq = new CriteriaRequester(CriteriaRequester.CriteriaType.DropDown, cfgLine[1]); this.SearchCriterias.Add(cfgLine[1], cReq); } else if (cfgLine[3] == "checkbox") { cReq = new CriteriaRequester(CriteriaRequester.CriteriaType.CheckBox, cfgLine[1]); this.SearchCriterias.Add(cfgLine[1], cReq); } } if (cfgLine[0] == "criteria.dropdown.additem") { //criteria.dropdown.additem^Quality^0 : Poor CriteriaRequester cReq = (CriteriaRequester)this.SearchCriterias[cfgLine[1]]; if (cReq == null) return; cReq.DropDownContent.Add(cfgLine[2]); } if (cfgLine[0] == "define.var") { this.Variables.Add(cfgLine[1], cfgLine[2]); } if (cfgLine[0] == "categories.add") { //categories.add^rootid^id^name //this.PrimaryFields = cfgLine[1]; //category.configure^id^class:1,subclass:2,InventoryType:3 TreeNode tnCat; if (cfgLine[2] != "root") { /* find root node requested (as cfgLine[1]) */ TreeNode tnRoot = (TreeNode)this.SearchCategories[cfgLine[1]]; if (tnRoot == null) throw new Exception("Root node does not exist - check your configuration and try again"); tnCat = tnRoot.Nodes.Add(cfgLine[3]); tnCat.Name = cfgLine[2]; } else { tnCat = new TreeNode(cfgLine[3]); tnCat.Name = cfgLine[2]; } this.SearchCategories.Add(cfgLine[2], tnCat); } if (cfgLine[0] == "category.configure") { TreeNode tnFind = (TreeNode)this.SearchCategories[cfgLine[1]]; if (tnFind == null) throw new Exception("Could not find node to configure - please check your configuration and try again"); //class:wildcard!subclass:wildcard String [] ConfigOptions = cfgLine[2].Split('!'); ItemSearchCriteria iSrchCriteria = new ItemSearchCriteria(); foreach (String cfgCriteriaType in ConfigOptions) { String [] ival = cfgCriteriaType.Split(':'); if (ival[0] == "subclass") iSrchCriteria.SUBCLASS = this.tController.dbRef.GetIntVal(ival[1]); if (ival[0] == "class") iSrchCriteria.ICLASS = this.tController.dbRef.GetIntVal(ival[1]); if (ival[0] == "inventorytype") iSrchCriteria.INVENTORY_TYPE = this.tController.dbRef.GetIntVal(ival[1]); } tnFind.Tag = iSrchCriteria; } if (cfgLine[0] == "search.config.end") { sr.Close(); return; } } sr.Close(); } }
public void AddCriteriaType(String ID, CriteriaRequester.CriteriaType cType) { this.CriteriaList.Add(ID, new CriteriaRequester(cType, ID)); this.cboCriteriaID.Items.Add(ID); }
public void AddCriteriaType(CriteriaRequester cRequester) { this.CriteriaList.Add(cRequester.ID, cRequester); this.cboCriteriaID.Items.Add(cRequester.ID); }
private void PopulateCriterias() { this.ucSearchCriteriaInput1.AddCriteriaType("entry", CriteriaRequester.CriteriaType.Text); this.ucSearchCriteriaInput1.AddCriteriaType("name", CriteriaRequester.CriteriaType.Text); this.ucSearchCriteriaInput1.AddCriteriaType("ItemLevel", CriteriaRequester.CriteriaType.Text); this.ucSearchCriteriaInput1.AddCriteriaType("RequiredLevel", CriteriaRequester.CriteriaType.Text); CriteriaRequester cRequesterQuality = new CriteriaRequester(CriteriaRequester.CriteriaType.DropDown, "Quality"); cRequesterQuality.DropDownContent.Add("0 : Poor"); cRequesterQuality.DropDownContent.Add("1 : Common"); cRequesterQuality.DropDownContent.Add("2 : Uncommon"); cRequesterQuality.DropDownContent.Add("3 : Rare"); cRequesterQuality.DropDownContent.Add("4 : Epic"); cRequesterQuality.DropDownContent.Add("5 : Legendary"); cRequesterQuality.DropDownContent.Add("6 : Artifact"); cRequesterQuality.DropDownContent.Add("7 : Heirloom"); this.ucSearchCriteriaInput1.AddCriteriaType(cRequesterQuality); CriteriaRequester cRequesterBonding = new CriteriaRequester(CriteriaRequester.CriteriaType.DropDown, "bonding"); cRequesterBonding.DropDownContent.Add("0 : No Bind"); cRequesterBonding.DropDownContent.Add("1 : Binds when picked up"); cRequesterBonding.DropDownContent.Add("2 : Binds when equipped"); cRequesterBonding.DropDownContent.Add("3 : Binds when used"); cRequesterBonding.DropDownContent.Add("4 : Quest Item ?"); cRequesterBonding.DropDownContent.Add("5 : Quest Item ?"); this.ucSearchCriteriaInput1.AddCriteriaType(cRequesterBonding); }