Esempio n. 1
0
 public RibbonPageCategoryCollectionUIAdapter(RibbonPageCategoryCollection ribbonPageCategoryCollection)
 {
     Guard.ArgumentNotNull(ribbonPageCategoryCollection, "RibbonPageCategoryCollection");
     this.ribbonPageCategoryCollection = ribbonPageCategoryCollection;
 }
Esempio n. 2
0
        /// <summary>
        /// 修正菜单
        /// </summary>
        /// <param name="ribbonPageCategoryCollection"></param>
        /// <param name="_c"></param>
        virtual public void ChangeMenu(RibbonPageCategoryCollection ribbonPageCategoryCollection, IChildForm _c)
        {
            RibbonPageCategory selectionCategory = ribbonPageCategoryCollection[0] as RibbonPageCategory;

            if (selectionCategory == null)
            {
                return;
            }
            selectionCategory.Pages.Clear();
            if (_c == null)
            {
                selectionCategory.Visible = false;
            }
            else
            {
                selectionCategory.Visible = true;
                IList <FrmMenuPage> _menuPages = _c.GetMenuPages();
                foreach (FrmMenuPage _page in _menuPages)
                {
                    int _index = selectionCategory.Pages.Add(new RibbonPage(_page.PageTitle));
                    IList <FrmMenuGroup> _menugroups = _page.MenuGroups;

                    foreach (FrmMenuGroup _mg in _menugroups)
                    {
                        int                 _groupIndex = selectionCategory.Pages[_index].Groups.Add(new RibbonPageGroup(_mg.DisplayTitle));
                        RibbonPageGroup     _mgroup     = selectionCategory.Pages[_index].Groups[_groupIndex];
                        IList <FrmMenuItem> _items      = _mg.MenuItems;
                        foreach (FrmMenuItem _item in _items)
                        {
                            BarButtonItem _menuitem = new BarButtonItem();
                            _menuitem.Caption    = _item.MenuTitle;
                            _menuitem.Tag        = _item.CommandName;
                            _menuitem.LargeGlyph = _item.MenuIcon;
                            _menuitem.Glyph      = _item.MenuIcon;
                            _menuitem.LargeWidth = _item.MenuPicWidth;
                            _menuitem.Enabled    = _item.ButtonEnable;

                            if (_item.ChildMenus.Count < 1)
                            {
                                _menuitem.ItemClick += new ItemClickEventHandler(_menuitem_ItemClick);
                            }
                            else
                            {
                                _menuitem.ButtonStyle = BarButtonStyle.DropDown;
                                PopupMenu _cMenu = new PopupMenu();
                                _menuitem.DropDownControl = _cMenu;
                                _cMenu.Ribbon             = this.Ribbon;

                                foreach (FrmMenuItem _citem in _item.ChildMenus)
                                {
                                    BarButtonItem _cmItem = new BarButtonItem();
                                    _cmItem.Caption    = _citem.MenuTitle;
                                    _cmItem.Tag        = _citem.CommandName;
                                    _cmItem.LargeGlyph = _citem.MenuIcon;
                                    _cmItem.Glyph      = _citem.MenuIcon;
                                    _cmItem.LargeWidth = _citem.MenuPicWidth;
                                    _cmItem.Enabled    = _citem.ButtonEnable;
                                    _cmItem.ItemClick += new ItemClickEventHandler(_menuitem_ItemClick);
                                    this.Ribbon.Items.Add(_cmItem);
                                    _cMenu.ItemLinks.Add(_cmItem);
                                }
                            }


                            _mgroup.ItemLinks.Add(_menuitem);
                        }
                    }
                }
            }

            if (selectionCategory.Visible && selectionCategory.Pages.Count > 0)
            {
                ribbonPageCategoryCollection.Ribbon.SelectedPage = selectionCategory.Pages[0];
            }
        }