void HandleCodeIssueAdded(object sender, CodeIssueEventArgs e) { foreach (var issue in e.CodeIssues) { var summary = IssueSummary.FromCodeIssue(e.File, e.Provider, issue); rootGroup.AddIssue(summary); } }
public void AddIssue(IssueSummary issue) { IssueGroup group = null; bool groupAdded = false; bool issueAdded = false; lock (_lock) { if (!allIssues.Contains(issue)) { IssueCount++; allIssues.Add(issue); ((IIssueTreeNode)issue).VisibleChanged += HandleVisibleChanged; issueAdded = true; } if (processingEnabled) { groupAdded = ProcessIssue(issue, out group); } } if (issueAdded) { OnTextChanged(new IssueGroupEventArgs(this)); } if (!processingEnabled) { return; } if (groupAdded) { OnChildAdded(new IssueTreeNodeEventArgs(this, group)); } else if (group == null) { OnChildAdded(new IssueTreeNodeEventArgs(this, issue)); } if (group != null) { group.AddIssue(issue); } }