Exemple #1
0
        /// <summary>
        /// UnfilterCommand executed.
        /// </summary>
        private void UnfilterCommand_Executed()
        {
            foreach (BaseErrorListItemViewModel v in SelectedItems)
            {
                if (v is FilterableErrorListItemViewModel)
                {
                    FilterableErrorListItemViewModel filterable = v as FilterableErrorListItemViewModel;
                    filteredErrorListData.Remove(filterable);

                    // we have to move this item from filtered to unfiltered
                    this.filteredErrorListItems.Remove(filterable);
                    this.unfilteredErrorListItems.Add(filterable);

                    IncreaseCategoryCount(filterable.Category);

                    filteredCount--;
                    OnPropertyChanged("FilteredCount");

                    filterable.IsFiltered = false;
                }
            }

            UpdateDisplayList();
            UpdateMenuOptions();
        }
Exemple #2
0
        private void UpdateMenuOptions()
        {
            if (SelectedItems.Count == 1)
            {
                navigateMenuItem.IsEnabled = true;
            }
            else
            {
                navigateMenuItem.IsEnabled = false;
            }

            bool bCanFilter   = false;
            bool bCanUnfilter = false;

            foreach (BaseErrorListItemViewModel v in SelectedItems)
            {
                if (!(v is FilterableErrorListItemViewModel))
                {
                    bCanFilter   = false;
                    bCanUnfilter = false;
                    break;
                }
                else
                {
                    FilterableErrorListItemViewModel filterable = v as FilterableErrorListItemViewModel;
                    if (filteredErrorListData.Contains(filterable))
                    {
                        bCanUnfilter = true;
                    }
                    else
                    {
                        bCanFilter = true;
                    }
                }

                if (bCanFilter && bCanUnfilter)
                {
                    bCanFilter   = false;
                    bCanUnfilter = false;
                    break;
                }
            }

            if (bCanFilter || bCanUnfilter)
            {
                if (!MenuOptions.Contains(separatorBeforeFilterItem))
                {
                    MenuOptions.Add(separatorBeforeFilterItem);
                }
            }
            else
            if (MenuOptions.Contains(separatorBeforeFilterItem))
            {
                MenuOptions.Remove(separatorBeforeFilterItem);
            }

            if (bCanFilter)
            {
                if (!MenuOptions.Contains(filterMenuItem))
                {
                    MenuOptions.Add(filterMenuItem);
                }
            }
            else
            {
                if (MenuOptions.Contains(filterMenuItem))
                {
                    MenuOptions.Remove(filterMenuItem);
                }
            }

            if (bCanUnfilter)
            {
                if (!MenuOptions.Contains(unFilterMenuItem))
                {
                    MenuOptions.Add(unFilterMenuItem);
                }
            }
            else
            {
                if (MenuOptions.Contains(unFilterMenuItem))
                {
                    MenuOptions.Remove(unFilterMenuItem);
                }
            }
        }