private void book_AccountAdded(object sender, Events.AccountAddedEventArgs e) { var a = e.Account; var node = new TreeNode // TODO: Determine the icon from the metadata. { Text = a.Name, Name = a.Name, Tag = a, }; this.nodeLookup.Add(a, node); // TODO: Insert the book in the correct order. if (a.ParentAccount != null) { var parentNode = this.nodeLookup[a.ParentAccount]; parentNode.Nodes.Add(node); } else { this.tree.Nodes.Add(node); } }
private TreeNode[] BuildTreeNodes(Account parentAccount, ILookup<Account, Account> accounts) { var nodes = new List<TreeNode>(); foreach (var a in accounts[parentAccount]) // TODO: Order by "order" in the metadata. { var node = new TreeNode // TODO: Determine the icon from the metadata. { Text = a.Name, Name = a.Name, Tag = a, }; this.nodeLookup.Add(a, node); node.Nodes.AddRange(BuildTreeNodes(a, accounts)); nodes.Add(node); } return nodes.ToArray(); }