public Solver.Filter ShowDialog(Solver.Filter filter)
        {
            if (filter == null)
            {
                Filter_           = null;
                Text              = "Add Filter";
                btnRevert.Enabled = false;
            }
            else
            {
                Filter_           = filter.DeepCopy();
                Text              = "Edit Filter";
                btnRevert.Enabled = true;
            }

            LoadFromFilter();

            DialogResult result = base.ShowDialog();

            if (result == DialogResult.OK)
            {
                return(Filter_);
            }
            return(null);
        }
Example #2
0
        private void AddFilter()
        {
            FormFilterDetails formDetails = new FormFilterDetails();

            Solver.Filter filter = formDetails.ShowDialog(null);
            if (filter == null)
            {
                return;
            }

            /*int index = listBoxFilters.SelectedIndex;
             * if (index == -1)
             *  index = listBoxFilters.Items.Count;
             * listBoxFilters.Items.Insert(index, filter);*/
            listBoxFilters.Items.Add(filter);
            listBoxFilters.SelectedIndex = listBoxFilters.Items.Count - 1;

            // not preset anymore
            comboBoxPresets.SelectedIndex = -1;
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (ddField.SelectedIndex == -1)
            {
                MessageBox.Show("Please select which criteria the filter applies to.", "Filter Details",
                                MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                ddField.Focus();
                return;
            }
            if (ddExclude.SelectedIndex == -1)
            {
                MessageBox.Show("Please select the filter type.", "Filter Details", MessageBoxButtons.OK,
                                MessageBoxIcon.Exclamation);
                ddExclude.Focus();
                return;
            }
            if (ddTest.SelectedIndex == -1)
            {
                MessageBox.Show("Please select the filter test.", "Filter Details", MessageBoxButtons.OK,
                                MessageBoxIcon.Exclamation);
                ddTest.Focus();
                return;
            }

            int value = ParseValue();

            if (value == -1)
            {
                return;
            }

            Filter_ = new Solver.Filter(
                ddExclude.SelectedIndex == 1,
                (Solver.FieldIndex)ddField.SelectedIndex,
                value,
                (Solver.FilterTest)ddTest.SelectedIndex);

            DialogResult = DialogResult.OK;
            Close();
        }