public override bool Filter(string text) { text = text.ToLower(); if (string.IsNullOrEmpty(text) || Details == null) { FilteredDetails = Details; EnumerationItems.ForEach(o => o.Filter(text)); return(true); } if (lastFilterText != text) { string newValue = "<b>" + text + "</b>"; FilteredDetails = ( from d in Details where d.Value.text.Contains(text) select d).ToDictionary( x => x.Key, y => new GUIContent(y.Value.text.Replace(text, newValue), y.Value.tooltip) ); if (EnumerationItems.Count > 0) { bool shouldDisplay = false; foreach (var o in EnumerationItems) { shouldDisplay |= o.Filter(text); } return(shouldDisplay); } lastFilterText = text; return(ShowDetails = FilteredDetails.Count > 0); } return(FilteredDetails.Count > 0); }
protected override void LoadEnumeration(IEnumerable values) { LoadSingleObject(values); foreach (object o in values) { var member = new OutputEntry(); member.LoadSingleObject(o); EnumerationItems.Add(member); } }
protected override void LoadEnumeration(IEnumerable values) { base.LoadSingleObject(values); Value = values; foreach (object o in values) { var member = new DummyOutput(); member.LoadSingleObject(o); EnumerationItems.Add(member); } }