void CreateStrategyGroupSubMenu(StrategyRegistrationInfo info)
        {
            string[]   path = info.Group.Split('.');
            BarSubItem root = this.siAdd;

            for (int i = 0; i < path.Length; i++)
            {
                root = GetPath(root, path[i]);
            }
            GetOrCreateCommand(root, info);
        }
        private void OnStrategyInfoItemClick(object sender, ItemClickEventArgs e)
        {
            StrategyRegistrationInfo info     = (StrategyRegistrationInfo)e.Item.Tag;
            StrategyBase             strategy = info.Create();

            strategy.Manager = Manager;
            if (!StrategyConfigurationManager.Default.EditStrategy(strategy))
            {
                return;
            }
            Manager.Add(strategy);
            Manager.Save();
            this.gridView1.RefreshData();
        }
        private void GetOrCreateCommand(BarSubItem root, StrategyRegistrationInfo info)
        {
            foreach (BarItemLink link in root.ItemLinks)
            {
                if (link.Item.Tag == info)
                {
                    return;
                }
            }
            BarButtonItem item = new BarButtonItem(this.barManager1, info.Name);

            item.ItemClick  += OnStrategyInfoItemClick;
            item.Description = info.Description;
            item.Tag         = info;
            root.ItemLinks.Add(item);
        }