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);
 }