public override void Dispose() { MeaningFilterVm.FilterChanged -= OnFilterChanged; MeaningFilterVm.Dispose(); ReadingFilterVm.FilterChanged -= OnFilterChanged; ReadingFilterVm.Dispose(); TagsFilterVm.FilterChanged -= OnFilterChanged; TagsFilterVm.Dispose(); TypeFilterVm.FilterChanged -= OnFilterChanged; TypeFilterVm.Dispose(); LevelFilterVm.FilterChanged -= OnFilterChanged; LevelFilterVm.Dispose(); CategoryFilterVm.FilterChanged -= OnFilterChanged; CategoryFilterVm.Dispose(); JlptLevelFilterVm.FilterChanged -= OnFilterChanged; JlptLevelFilterVm.Dispose(); WkLevelFilterVm.FilterChanged -= OnFilterChanged; WkLevelFilterVm.Dispose(); base.Dispose(); }
/// <summary> /// Clears all filters. /// </summary> private void ClearFilters() { MeaningFilterVm.ClearFilter(); ReadingFilterVm.ClearFilter(); TagsFilterVm.ClearFilter(); TypeFilterVm.ClearFilter(); LevelFilterVm.ClearFilter(); CategoryFilterVm.ClearFilter(); JlptLevelFilterVm.ClearFilter(); WkLevelFilterVm.ClearFilter(); }
/// <summary> /// Event callback. /// Called when a filter is changed. /// Recomputes the filter clauses and issues a FilterChanged event. /// </summary> private void OnFilterChanged(object sender, EventArgs e) { Filter.FilterClauses = new FilterClause[] { MeaningFilterVm.GetFilterClause(), ReadingFilterVm.GetFilterClause(), TagsFilterVm.GetFilterClause(), TypeFilterVm.GetFilterClause(), LevelFilterVm.GetFilterClause(), /*CategoryFilterVm.GetFilterClause(), * JlptLevelFilterVm.GetFilterClause(), * WkLevelFilterVm.GetFilterClause()*/ }.Where(f => f != null) .ToArray(); if (FilterChanged != null) { FilterChanged(sender, e); } }