/// <summary>
        /// Builds a filter view model with the given filter.
        /// </summary>
        /// <param name="filter">Filter to use.</param>
        public VocabFilterViewModel(VocabFilter filter)
        {
            _filter = filter;

            CategoryFilterVm = new CategoryFilterViewModel();
            CategoryFilterVm.PropertyChanged += OnCategoryChanged;

            ApplyFilterCommand              = new RelayCommand(IssueFilterChangedEvent);
            ClearCategoryFilterCommand      = new RelayCommand(OnClearCategoryFilter);
            SwitchCommonOrderCommand        = new RelayCommand(OnSwitchCommonOrder);
            SwitchWritingLengthOrderCommand = new RelayCommand(OnSwitchWritingLengthOrder);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Builds a kanji details ViewModel handling the given kanji.
        /// </summary>
        /// <param name="kanjiEntity">Kanji to handle.</param>
        public KanjiDetailsViewModel(ExtendedKanji kanjiEntity)
        {
            KanjiEntity = kanjiEntity;

            if (KanjiEntity.DbKanji.SrsEntries.Any())
            {
                SrsEntry = new ExtendedSrsEntry(
                    KanjiEntity.DbKanji.SrsEntries.First());
            }

            VocabFilter filter = new VocabFilter()
            {
                Kanji = new KanjiEntity[] { _kanjiEntity.DbKanji }
            };

            CategoryFilterVm = new CategoryFilterViewModel();
            CategoryFilterVm.PropertyChanged += OnCategoryChanged;

            VocabListVm = new VocabListViewModel(filter);
            VocabListVm.KanjiNavigated += OnKanjiNavigated;
            VocabFilterVm = new VocabFilterViewModel(filter);
            VocabFilterVm.FilterChanged   += OnVocabFilterChanged;
            VocabFilterVm.PropertyChanged += OnVocabPropertyChanged;

            ToggleDetailsCommand = new RelayCommand(OnToggleDetails);
            AddToSrsCommand      = new RelayCommand(OnAddToSrs);
            EditSrsEntryCommand  = new RelayCommand(OnEditSrsEntry);
            FilterReadingCommand = new RelayCommand <string>(OnFilterReading);

            NextStrokeCommand     = new RelayCommand(OnNextStroke);
            PreviousStrokeCommand = new RelayCommand(OnPreviousStroke);
            LastStrokeCommand     = new RelayCommand(OnLastStroke);
            FirstStrokeCommand    = new RelayCommand(OnFirstStroke);
            WaniKaniCommand       = new RelayCommand(OnWaniKani);

            PrepareSvg();
        }
        public SrsEntryFilterViewModel(SrsEntryFilter filter)
        {
            Filter          = filter;
            MeaningFilterVm = new SrsEntryMeaningFilterViewModel();
            MeaningFilterVm.FilterChanged += OnFilterChanged;
            ReadingFilterVm = new SrsEntryReadingFilterViewModel();
            ReadingFilterVm.FilterChanged += OnFilterChanged;
            TagsFilterVm = new SrsEntryTagsFilterViewModel();
            TagsFilterVm.FilterChanged += OnFilterChanged;
            TypeFilterVm = new SrsEntryTypeFilterViewModel();
            TypeFilterVm.FilterChanged += OnFilterChanged;
            LevelFilterVm = new SrsEntryLevelFilterViewModel();
            LevelFilterVm.FilterChanged     += OnFilterChanged;
            CategoryFilterVm                 = new CategoryFilterViewModel();
            CategoryFilterVm.FilterChanged  += OnFilterChanged;
            JlptLevelFilterVm                = new JlptLevelFilterViewModel();
            JlptLevelFilterVm.FilterChanged += OnFilterChanged;
            WkLevelFilterVm = new WkLevelFilterViewModel();
            WkLevelFilterVm.FilterChanged += OnFilterChanged;

            // Commands
            BrowseAllItemsCommand = new RelayCommand(OnBrowseAllItems);
            RefreshCommand        = new RelayCommand(OnRefresh);
        }