示例#1
0
 /// <summary>
 /// Load filter from another form when doing a comparison.
 /// </summary>
 public void SetFilter(SpellSearchFilter filter)
 {
     SearchText.Text        = filter.Text;
     SearchEffect1.Text     = filter.Effect[0];
     SearchEffect2.Text     = filter.Effect[1];
     SearchEffect3.Text     = filter.Effect[2];
     SearchEffectSlot1.Text = filter.EffectSlot[0].HasValue ? filter.EffectSlot[0].ToString() : "";
     SearchEffectSlot2.Text = filter.EffectSlot[1].HasValue ? filter.EffectSlot[1].ToString() : "";
     SearchEffectSlot3.Text = filter.EffectSlot[2].HasValue ? filter.EffectSlot[2].ToString() : "";
     SearchCategory.Text    = filter.Category;
     SearchClass.Text       = filter.Class;
     if (filter.ClassMinLevel > 0 && filter.ClassMaxLevel > 0)
     {
         SearchLevel.Text = filter.ClassMinLevel + "-" + filter.ClassMaxLevel;
     }
     else if (filter.ClassMinLevel > 0)
     {
         SearchLevel.Text = filter.ClassMinLevel.ToString();
     }
     else if (filter.ClassMaxLevel > 0)
     {
         SearchLevel.Text = filter.ClassMaxLevel.ToString();
     }
     IncludeRelated.Checked = filter.AddBackRefs;
     SearchRanks.Text       = filter.Ranks;
 }
示例#2
0
        public MainForm()
        {
            InitializeComponent();

            Width  = Math.Min(Screen.PrimaryScreen.WorkingArea.Width - 100, 1800);
            Height = Screen.PrimaryScreen.WorkingArea.Height - 100;

            SearchClass.Items.AddRange(Enum.GetNames(typeof(SpellClassesLong)));
            SearchClass.Sorted = true;
            SearchClass.Sorted = false;
            SearchClass.Items.Add("Non PC");
            SearchClass.Items.Add("Any PC");
            SearchClass.Items.Add("");

            SearchEffect1.Items.AddRange(SpellSearchFilter.CommonEffects.Keys.ToArray());
            SearchEffect1.Items.Add("");
            SearchEffect1.Text = "";
            SearchEffect2.Items.AddRange(SpellSearchFilter.CommonEffects.Keys.ToArray());
            SearchEffect2.Items.Add("");
            SearchEffect3.Items.AddRange(SpellSearchFilter.CommonEffects.Keys.ToArray());
            SearchEffect3.Items.Add("");

            SearchEffectSlot1.Items.Add("");
            SearchEffectSlot1.Items.AddRange(Enumerable.Range(1, 20).Select(x => x.ToString()).ToArray());
            SearchEffectSlot2.Items.Add("");
            SearchEffectSlot2.Items.AddRange(Enumerable.Range(1, 20).Select(x => x.ToString()).ToArray());
            SearchEffectSlot3.Items.Add("");
            SearchEffectSlot3.Items.AddRange(Enumerable.Range(1, 20).Select(x => x.ToString()).ToArray());


            //SearchBrowser.ObjectForScripting = this;
            DefaultFilter = GetFilter();
        }
示例#3
0
        /// <summary>
        /// Save current filter settings into filter object. This is useful when comparing spell lists on a second form.
        /// </summary>
        public SpellSearchFilter GetFilter()
        {
            var filter = new SpellSearchFilter();

            filter.Text      = SearchText.Text.Trim();
            filter.Effect[0] = SearchEffect1.Text.Trim();
            filter.Effect[1] = SearchEffect2.Text.Trim();
            filter.Effect[2] = SearchEffect3.Text.Trim();
            int slot;

            if (Int32.TryParse(SearchEffectSlot1.Text.Trim(), out slot))
            {
                filter.EffectSlot[0] = slot;
            }
            if (Int32.TryParse(SearchEffectSlot2.Text.Trim(), out slot))
            {
                filter.EffectSlot[1] = slot;
            }
            if (Int32.TryParse(SearchEffectSlot3.Text.Trim(), out slot))
            {
                filter.EffectSlot[2] = slot;
            }
            filter.Category = SearchCategory.Text.Trim();
            filter.Class    = SearchClass.Text.Trim();
            int min;
            int max;

            ParseRange(SearchLevel.Text, out min, out max);
            filter.ClassMinLevel = min;
            filter.ClassMaxLevel = max;
            //filter.AppendForwardRefs = true;
            filter.Ranks       = SearchRanks.Text.Trim();
            filter.AddBackRefs = IncludeRelated.Checked;

            return(filter);
        }