/// <summary>Fill the circular buffer with flattened lineModels, return true if buffer.Add() aborts</summary> internal bool BufferTraverse(ModelBuffer buffer) { if (HasFilterSortAllocation && FilterSort.TryGetSelector(this, out List <(int I, bool IN, string TX)> selector)) { foreach (var(I, IN, _) in selector) { if (IN && I < Items.Count) { var child = Items[I]; if (buffer.AddItem(child)) { return(true); // abort, we are done } if (child.BufferTraverse(buffer)) { return(true); // abort, we are done; } } } }
public (int, Sorting, Usage, string) GetFilterParms(ItemModel model) => FilterSort.GetParms(model);
public void SetFilter(ItemModel model, string text) => FilterSort.SetText(model, text);
public void SetSorting(ItemModel model, Sorting sorting) => FilterSort.SetSorting(model, sorting);
public void SetUsage(ItemModel model, Usage usage) => FilterSort.SetUsage(model, usage);