コード例 #1
0
        private static void AddFilterListRow(Config.Item item, ListView filterListView)
        {
            var row = new ListViewItem();

            DrawFilterListItem(row, item);

            filterListView.Items.Add(row);
        }
コード例 #2
0
        public static string GetDisplayValue(Config.Item item)
        {
            if (item == null)
            {
                throw new ArgumentNullException(nameof(item));
            }

            var result = GetDisplayValue(item.GetType());

            return(result);
        }
コード例 #3
0
        private static void DrawFilterListItem(ListViewItem row, Config.Item item)
        {
            row.Tag = item;

            row.SubItems[0].Text = ConfigurationItemHelper.GetDisplayValue(item);

            if (row.SubItems.Count == 1)
            {
                row.SubItems.Add(item.ToString());
            }
            else
            {
                row.SubItems[1].Text = item.ToString();
            }
        }
コード例 #4
0
        protected bool OpenFilterWindow(Config.Item filter)
        {
            switch (filter)
            {
            case Config.IntItem intItem:
            {
                using (var form = new NumericFilterForm(intItem))
                {
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }

            case Config.StringItem stringItem:
            {
                using (var form = new TextFilterForm(stringItem))
                {
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }

            case Config.HasEventItem eventItem:
            {
                using (var form = new EventFilterForm(eventItem))
                {
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }

            case Config.DateItem dateItem:
            {
                using (var form = new DateFilterForm(dateItem))
                {
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }

            case Config.ValueItem choiceItem:
            {
                using (var form = new ChoiceFilterForm(choiceItem))
                {
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }

            case Config.ExceptItem exceptItem:
            {
                using (var form = new ExceptFilterForm(exceptItem))
                {
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }

            case Config.AndItem andItem:
            {
                using (var form = new AndFilterForm(andItem))
                {
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }

            case Config.OrItem orItem:
            {
                using (var form = new OrFilterForm(orItem))
                {
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }

            case Config.NoParameterItem _:
            {
                return(true);
            }

            default:
            {
                MessageBox.Show($"Unknown filter type '{filter.GetType().Name}'.", "Unexpected error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                return(false);
            }
            }
        }