MonoDevelop.CodeIssues.CodeIssuePanelWidget.FillInspectors C# (CSharp) Method

FillInspectors() public method

public FillInspectors ( string filter ) : void
filter string
return void
		public void FillInspectors (string filter)
		{
			categories.Clear ();
			treeStore.Clear ();

			var grouped = severities.Keys.OfType<CodeIssueProvider> ()
				.Where (node => string.IsNullOrEmpty (filter) || node.Title.IndexOf (filter, StringComparison.OrdinalIgnoreCase) > 0)
				.GroupBy (node => node.Category)
				.OrderBy (g => g.Key, StringComparer.Ordinal);

			foreach (var g in grouped) {
				TreeIter categoryIter = treeStore.AppendValues ("<b>" + g.Key + "</b>", null, "");
				categories [g.Key] = categoryIter;

				foreach (var node in g.OrderBy (n => n.Title, StringComparer.Ordinal)) {
					var title = node.Title;
					MarkupSearchResult (filter, ref title);
					var nodeIter = treeStore.AppendValues (categoryIter, title, node, node.Description);
					if (node.HasSubIssues) {
						foreach (var subIssue in node.SubIssues) {
							title = subIssue.Title;
							MarkupSearchResult (filter, ref title);
							treeStore.AppendValues (nodeIter, title, subIssue, subIssue.Description);
						}
					}
				}
			}
			treeviewInspections.ExpandAll ();
		}