コード例 #1
0
        private void SetupMenus(IBSharpContext context)
        {
            var menuClasses = context.ResolveAll("ui-menu").ToArray();

            foreach (var menuClass in menuClasses)
            {
                var menu = new AppMenu().Setup(menuClass.Compiled);
                Menus[menu.Code] = menu;
            }
        }
コード例 #2
0
ファイル: AppMenuItem.cs プロジェクト: Qorpent/qorpent.sys
        /// <summary>
        ///
        /// </summary>
        /// <param name="el"></param>
        /// <param name="parent"></param>
        /// <param name="menu"></param>
        /// <returns></returns>
        public AppMenuItem Setup(XElement el, AppMenuItem parent = null, AppMenu menu = null)
        {
            el.Apply(this, new[] { "type" });
            foreach (var attr in el.Attributes())
            {
                this.Attributes.Add(attr.Name.LocalName, attr.Value);
            }
            this.Items = new Dictionary <string, AppMenuItem>();
            if (null != menu)
            {
                this.Menu = menu;
            }
            if (null != parent)
            {
                this.Parent = parent;
            }
            switch (el.Attr("Type"))
            {
            case "text": this.Type = AppMenuItemType.Text; break;

            case "icon": this.Type = AppMenuItemType.Icon; break;

            case "icon_with_text": this.Type = AppMenuItemType.IconWithText; break;

            default: this.Type = AppMenuItemType.Default; break;
            }
            if (el.HasElements)
            {
                foreach (var item in el.Elements())
                {
                    var newmenuitem = new AppMenuItem().Setup(item, this, menu);
                    this.Items.Add(newmenuitem.Code, newmenuitem);
                }
            }
            return(this);
        }