Example #1
0
 private void AddCollapsed(List <object> list, CollapsedCode collapsed)
 {
     if (collapsed.CollapsedLines.Count <= MIN_LINES_TO_COLLAPSE)
     {
         list.AddRange(collapsed.CollapsedLines.Select(l => new FaintLine {
             Line = l
         }));
     }
     else
     {
         if (MIN_LINES_TO_COLLAPSE > 0)
         {
             list.Add(new FaintLine {
                 Line = collapsed.CollapsedLines.First()
             });
         }
         list.Add(collapsed);
         if (MIN_LINES_TO_COLLAPSE > 0)
         {
             list.Add(new FaintLine {
                 Line = collapsed.CollapsedLines.Last()
             });
         }
     }
 }
Example #2
0
        private void QueryHasChanged()
        {
            if (Query == null)
            {
                MyListView.ItemsSource = lines;
            }
            else
            {
                var           list      = new List <object>();
                CollapsedCode collapsed = null;
                foreach (var l in lines)
                {
                    var matches = Query.Matches(l);
                    if (matches.Count > 0)
                    {
                        if (collapsed != null)
                        {
                            AddCollapsed(list, collapsed);
                            collapsed = null;
                        }
                        list.Add(new MatchedLine()
                        {
                            Matches = matches,
                            Line    = l
                        });
                    }
                    else
                    {
                        if (collapsed == null)
                        {
                            collapsed = new CollapsedCode {
                                CollapsedLines = new List <LineOfCode>()
                            }
                        }
                        ;
                        collapsed.CollapsedLines.Add(l);
                    }
                }
                if (collapsed != null)
                {
                    AddCollapsed(list, collapsed);
                }
                MyListView.ItemsSource = list;
                MyListView.Tag         = Query;
            }
        }

        int MIN_LINES_TO_COLLAPSE = 0;