public void SetUp() { nextProvider = new MockGroupingProvider(); sourceProvider = new MockGroupingProvider(); group = new IssueGroup(nextProvider, "sut"); node = group; group.EnableProcessing(); }
public void DoesNotCallChildAddedEventHandlersIfNotEnabled() { var disabledGroup = new IssueGroup(null, "disabledNode"); IIssueTreeNode disabledNode = disabledGroup; nextProvider.Group = CreateSecondaryGroup(); disabledNode.ChildAdded += Forbidden <IssueTreeNodeEventArgs> ("node.ChildAdded"); disabledGroup.AddIssue(new IssueSummary()); }
public CodeIssuePadControl() { var buttonRow = new HBox(); runButton.Clicked += StartAnalyzation; buttonRow.PackStart(runButton); cancelButton.Clicked += StopAnalyzation; cancelButton.Sensitive = false; buttonRow.PackStart(cancelButton); var groupingProvider = new CategoryGroupingProvider { Next = new ProviderGroupingProvider() }; rootGroup = new IssueGroup(groupingProvider, "root group"); var groupingProviderControl = new GroupingProviderChainControl(rootGroup, groupingProviders); buttonRow.PackStart(groupingProviderControl); PackStart(buttonRow); store = new TreeStore(textField, nodeField); view.DataSource = store; view.HeadersVisible = false; view.Columns.Add("Name", textField); view.SelectionMode = SelectionMode.Multiple; view.RowActivated += OnRowActivated; view.RowExpanding += OnRowExpanding; view.ButtonPressed += HandleButtonPressed; view.ButtonReleased += HandleButtonReleased; PackStart(view, true); IIssueTreeNode node = rootGroup; node.ChildrenInvalidated += (sender, group) => { Application.Invoke(delegate { ClearSiblingNodes(store.GetFirstNode()); store.Clear(); SyncStateToUi(runner.State); foreach (var child in ((IIssueTreeNode)rootGroup).Children) { var navigator = store.AddNode(); SetNode(navigator, child); SyncNode(navigator); } }); }; node.ChildAdded += HandleRootChildAdded; runner.IssueSink = rootGroup; runner.AnalysisStateChanged += HandleAnalysisStateChanged; }
public void LeavesFilteredCorrectly() { var leafGroup = new IssueGroup(NullGroupingProvider.Instance, "sut"); IIssueTreeNode leafNode = leafGroup; var issue = new IssueSummary(); leafGroup.AddIssue(issue); var children = leafNode.Children; Assert.That(children.Contains(issue)); Assert.AreEqual(1, children.Count, "The group contained too many issues."); }
public void NoEventsCalledForIssuesAddedBeforeProcessingEnabled() { var localGroup = new IssueGroup(null, "sut"); IIssueTreeNode localNode = localGroup; localNode.ChildAdded += Forbidden <IssueTreeNodeEventArgs> ("node.ChildAdded"); var issue = new IssueSummary(); localGroup.AddIssue(issue); var children = localNode.Children; Assert.That(children.Contains(issue)); Assert.AreEqual(1, children.Count, "The number of children was incorrect."); }
void SetNode(TreeNavigator navigator, IIssueTreeNode node) { if (navigator == null) { throw new ArgumentNullException("navigator"); } if (node == null) { throw new ArgumentNullException("node"); } navigator.SetValue(nodeField, node); Debug.Assert(!nodePositions.ContainsKey(node)); var position = navigator.CurrentPosition; nodePositions.Add(node, position); node.ChildAdded += (sender, e) => { Debug.Assert(e.Parent == node); Application.Invoke(delegate { var newNavigator = store.GetNavigatorAt(position); newNavigator.AddChild(); SetNode(newNavigator, e.Child); SyncNode(newNavigator); }); }; node.ChildrenInvalidated += (sender, e) => { Application.Invoke(delegate { SyncNode(store.GetNavigatorAt(position)); }); }; node.TextChanged += (sender, e) => { lock (queueLock) { if (!updateQueue.Contains(e.Node)) { updateQueue.Enqueue(e.Node); } } }; node.VisibleChanged += (sender, e) => { lock (queueLock) { if (!updateQueue.Contains(e.Node)) { updateQueue.Enqueue(e.Node); } } }; }
void UpdateText(TreeNavigator navigator, IIssueTreeNode node) { navigator.SetValue(textField, node.Text); }
void UpdateText (TreeNavigator navigator, IIssueTreeNode node) { navigator.SetValue (textField, node.Text); }
void SetNode (TreeNavigator navigator, IIssueTreeNode node) { if (navigator == null) throw new ArgumentNullException ("navigator"); if (node == null) throw new ArgumentNullException ("node"); navigator.SetValue (nodeField, node); Debug.Assert (!nodePositions.ContainsKey (node)); var position = navigator.CurrentPosition; nodePositions.Add (node, position); node.ChildAdded += (sender, e) => { Debug.Assert (e.Parent == node); Application.Invoke (delegate { var newNavigator = store.GetNavigatorAt (position); newNavigator.AddChild (); SetNode (newNavigator, e.Child); SyncNode (newNavigator); }); }; node.ChildrenInvalidated += (sender, e) => { Application.Invoke (delegate { SyncNode (store.GetNavigatorAt (position)); }); }; node.TextChanged += (sender, e) => { lock (queueLock) { if (!updateQueue.Contains (e.Node)) { updateQueue.Enqueue (e.Node); } } }; node.VisibleChanged += (sender, e) => { lock (queueLock) { if (!updateQueue.Contains (e.Node)) { updateQueue.Enqueue (e.Node); } } }; }
public IssueTreeNodeEventArgs(IIssueTreeNode parent, IIssueTreeNode child) { Parent = parent; Child = child; }
public IssueTreeNodeEventArgs (IIssueTreeNode parent, IIssueTreeNode child) { Parent = parent; Child = child; }
public IssueGroupEventArgs (IIssueTreeNode node) { Node = node; }
public IssueGroupEventArgs(IIssueTreeNode node) { Node = node; }