Beispiel #1
0
 /// <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;
                 }
             }
         }
     }
Beispiel #2
0
 public (int, Sorting, Usage, string) GetFilterParms(ItemModel model) => FilterSort.GetParms(model);
Beispiel #3
0
 public void SetFilter(ItemModel model, string text) => FilterSort.SetText(model, text);
Beispiel #4
0
 public void SetSorting(ItemModel model, Sorting sorting) => FilterSort.SetSorting(model, sorting);
Beispiel #5
0
 public void SetUsage(ItemModel model, Usage usage) => FilterSort.SetUsage(model, usage);