public void SetButtonsAndGroups(List<ChartToolButtonSettings> buttons, List<ToolButtonGroup> groups, ChartToolButtonSettings.ToolButtonType buttonType) { this.buttonType = buttonType; treeButtons.Nodes.Clear(); foreach (var group in groups) { var nodeGroup = new TreeNode(string.Format("[{0}]", group.Title), group.ImageIndex, group.ImageIndex) { Tag = group }; treeButtons.Nodes.Add(nodeGroup); } foreach (var btn in buttons) { var node = new TreeNode(btn.ToString(), btn.Image, btn.Image) { Tag = btn }; if (btn.Group != null) { var groupTitle = btn.Group.Title; var parent = treeButtons.Nodes.Cast<TreeNode>().First(n => n.Tag is ToolButtonGroup && ((ToolButtonGroup)n.Tag).Title == groupTitle); if(parent != null) parent.Nodes.Add(node); else treeButtons.Nodes.Add(node); } else treeButtons.Nodes.Add(node); } ShowSelectedButton(null); }
public void SetButtonsAndGroups(List <ChartToolButtonSettings> buttons, List <ToolButtonGroup> groups, ChartToolButtonSettings.ToolButtonType buttonType) { this.buttonType = buttonType; treeButtons.Nodes.Clear(); foreach (var group in groups) { var nodeGroup = new TreeNode(string.Format("[{0}]", group.Title), group.ImageIndex, group.ImageIndex) { Tag = group }; treeButtons.Nodes.Add(nodeGroup); } foreach (var btn in buttons) { var node = new TreeNode(btn.ToString(), btn.Image, btn.Image) { Tag = btn }; if (btn.Group != null) { var groupTitle = btn.Group.Title; var parent = treeButtons.Nodes.Cast <TreeNode>().First(n => n.Tag is ToolButtonGroup && ((ToolButtonGroup)n.Tag).Title == groupTitle); if (parent != null) { parent.Nodes.Add(node); } else { treeButtons.Nodes.Add(node); } } else { treeButtons.Nodes.Add(node); } } ShowSelectedButton(null); }