public FilterEditorViewModel(FilterBase fbase) { if (fbase != null) { this.Category = fbase.Namespace; _filtersCache = FiltersCache.Replace(f => f.Namespace == fbase.Namespace && f.Description == fbase.Description, fbase).ToArray(); CurrentFilter = fbase; } }
/// <summary> /// FilterEditor ViewModelを作成します。 /// </summary> /// <param name="fbase">編集するフィルタ。nullを指定できます。</param> /// <param name="generateCallback">編集終了時にコールバックするトリガ。OKが押された時、生成されたフィルタを返します。</param> public FilterEditorViewModel(FilterBase fbase, Action<FilterBase> callback) { if (callback == null) throw new ArgumentNullException("callback"); this.callback = callback; if (fbase != null) { this.Category = fbase.Namespace; _filtersCache = FiltersCache.Replace(f => f.Namespace == fbase.Namespace && f.Description == fbase.Description, fbase).ToArray(); CurrentFilter = fbase; } }
/// <summary> /// フィルタクラスタにフィルタを結合します。 /// </summary> public static FilterCluster Join(this FilterCluster cluster, FilterBase filter, bool concatOr = true) { var newCluster = new FilterCluster(); if (cluster != null) newCluster.Filters = new IFilter[] { cluster, filter }; else newCluster.Filters = new IFilter[] { filter }; newCluster.ConcatenateOR = concatOr; return newCluster.Optimize(); }
public static void RaiseShowTweetPane(FilterBase filter) { RaiseShowTweetPane("q:" + filter.ToQuery()); }
public FilterItemViewModel(FilterEditControlViewModel root, FilterClusterViewModel parent, FilterBase item) : base(root, parent) { if (item == null) throw new ArgumentNullException("item"); this.filter = item; }