Esempio n. 1
0
        public override MvcHtmlString Render(MenuItemBase menuItemBase, MvcHtmlString renderedChilds)
        {
            if (!menuItemBase.IsRenderable)
            {
                return(MvcHtmlString.Empty);
            }

            var menuItem = (MenuItem)menuItemBase;

            var hasChilds = !MvcHtmlString.IsNullOrEmpty(renderedChilds);

            if (hasChilds)
            {
                var mvcHtmlBuilder = new MvcHtmlStringBuilder();

                mvcHtmlBuilder.Append("<ul class=\"dropdown-menu\">");
                mvcHtmlBuilder.Append(renderedChilds);
                mvcHtmlBuilder.Append("</ul>");

                renderedChilds = mvcHtmlBuilder.ToString();
            }

            var link = _htmlHelper.LocalizedRouteLink(menuItem.ResourceKey, menuItem.RouteName, menuItem.RouteValues, innerHtml: renderedChilds, surrounderAttributes: hasChilds ? new {
                @class = "dropdown"
            } : null);

            return(link);
        }
Esempio n. 2
0
        public override MvcHtmlString Render(MenuItemBase menuItem, MvcHtmlString renderedChilds)
        {
            if (!menuItem.IsRenderable)
            {
                return(MvcHtmlString.Empty);
            }

            var nonClickableMenuItem = (NonClickableMenuItem)menuItem;

            var linkText = ValidationMessageFormatter.WithKey(nonClickableMenuItem.ResourceKey);

            var hasChilds = !MvcHtmlString.IsNullOrEmpty(renderedChilds);

            if (hasChilds)
            {
                var mvcHtmlBuilder = new MvcHtmlStringBuilder();

                mvcHtmlBuilder.Append("<ul class=\"dropdown-menu\">");
                mvcHtmlBuilder.Append(renderedChilds);
                mvcHtmlBuilder.Append("</ul>");

                renderedChilds = mvcHtmlBuilder.ToString();
            }

            return(MvcHtmlString.Create(string.Format(NON_CLICKABLE_MENU_ITEM, hasChilds ? " class=\"dropdown\"" : "", hasChilds ? " class=\"dropdown-toggle\"" : "", linkText, renderedChilds)));
        }
Esempio n. 3
0
        public async Task <bool> ProcessInputMessage(MessageEventArgs e)
        {
            if (e.Message.Type != MessageType.Text)
            {
                return(false);
            }

            string command = e.Message.Text;

            if (!this.allItems.ContainsKey(command))
            {
                return(false);
            }

            MenuItemBase currentMenuItemPressed = this.allItems[command];

            if (currentMenuItemPressed is MenuItemWithAction menuItemWithAction)
            {
                if (menuItemWithAction.Action != null)
                {
                    menuItemWithAction.Action(e.Message.Chat);
                }

                if (menuItemWithAction.ActionAsync != null)
                {
                    await menuItemWithAction.ActionAsync(e.Message.Chat);
                }
            }
            else if (currentMenuItemPressed is MenuItemWithSubItems menuItemWithSubItems)
            {
                await this.BotClient.SendTextMessageAsync(e.Message.Chat.Id, menuItemWithSubItems.MenuEnterMessage, ParseMode.Markdown, replyMarkup : this.FormatReplyKeyboardMarkup(menuItemWithSubItems));
            }

            return(true);
        }
Esempio n. 4
0
        internal static int DrawMenuItem(this MainMenu mainMenu,
                                         MenuItemBase item,
                                         IDrawingContext context,
                                         Color backColor,
                                         Color foreColor)
        {
            if (item.Text.IndexOf('&') == -1 || !item.Enabled)
            {
                context.DrawText($" {item.Text.Replace("&", string.Empty)} ",
                                 item.Enabled
                        ? backColor
                        : mainMenu.DisabledBackground,
                                 item.Enabled
                        ? foreColor
                        : mainMenu.DisabledForeground);
                return(item.Text.Length);
            }

            var leftText   = " " + item.Text.Substring(0, item.Text.IndexOf('&'));
            var middleText = item.Text.Substring(item.Text.IndexOf('&') + 1, 1);
            var rightText  = item.Text.Substring(item.Text.IndexOf('&') + 2) + " ";

            context.DrawText(leftText, backColor, foreColor);
            context.DrawText(middleText, backColor, mainMenu.MnemonicForeground);
            context.DrawText(rightText, backColor, foreColor);

            return(leftText.Length + middleText.Length + rightText.Length);
        }
        private MenuItemBase GetMenuItem(MenuItemBase item, string name)
        {
            if (item.Name == name)
            {
                return(item);
            }

            var listItem = item as ListMenuItem;

            if (listItem == null)
            {
                return(null);
            }

            foreach (var mi in listItem.MenuItems)
            {
                var res = GetMenuItem(mi, name);
                if (res != null)
                {
                    return(res);
                }
            }

            return(null);
        }
Esempio n. 6
0
        public override void LoadControl(MenuItemBase btn, object parent)
        {
            _MenuNavBar    = (MenuNavBar)parent;
            _OriginalGroup = (BarGroup)btn;
            _CopyGroup     = _OriginalGroup.Clone <BarGroup>();

            txtId.Text                 = _CopyGroup.Id;
            txtCaption.Text            = _CopyGroup.Caption;
            txtToolTip.Text            = _CopyGroup.ToolTipText;
            this.radioGroup1.EditValue = !_CopyGroup.ContainTree;

            if (_CopyGroup.ContainTree)
            {
                cmdGroupStyle.Enabled = false;
                _CopyGroup.GroupStyle = DevExpress.XtraNavBar.NavBarGroupStyle.ControlContainer;
            }
            else
            {
                int index = cmdGroupStyle.FindStringExact(Enum.GetName(typeof(NavBarGroupStyle), _CopyGroup.GroupStyle));
                cmdGroupStyle.SelectedIndex = index;
            }

            if (ActionType == Fwk.UI.Common.ActionTypes.Create)
            {
                base.AceptButtonText = "Agregar grupo";
            }
            if (ActionType == Fwk.UI.Common.ActionTypes.Edit)
            {
                base.AceptButtonText = "Aplicar cambio al grupo";
            }
            this.radioGroup1.Enabled = (ActionType == Fwk.UI.Common.ActionTypes.Create);
            //buttonGroupsBindingSource.DataSource = _NavBarGroup;
            //buttonGroupsBindingSource.ResetBindings(false);
        }
Esempio n. 7
0
        private void RegisterCommand(MenuItemBase item)
        {
            if (this.allItems.ContainsKey(item.CommandText))
            {
                throw new Exception($"Command '{item.CommandText}' already registered.");
            }

            this.allItems.Add(item.CommandText, item);
        }
        public Menu( )
        {
            Panel stackPanel = new Panel( );

            stackPanel.Orientation = Orientation.Horizontal;
            this.AddChild(stackPanel);

            // Subscribe to Items change and add to Children them
            this.items.ListChanged += (sender, args) => {
                switch (args.Type)
                {
                case ListChangedEventType.ItemsInserted: {
                    for (int i = 0; i < args.Count; i++)
                    {
                        MenuItemBase item = items[args.Index + i];
                        if (item is Separator)
                        {
                            throw new InvalidOperationException("Separator cannot be added to root menu.");
                        }
                        if (((MenuItem)item).Type == MenuItemType.Submenu)
                        {
                            ((MenuItem)item).Type = MenuItemType.RootSubmenu;
                        }
                        stackPanel.XChildren.Insert(args.Index + i, item);
                    }
                    break;
                }

                case ListChangedEventType.ItemsRemoved:
                    for (int i = 0; i < args.Count; i++)
                    {
                        stackPanel.XChildren.RemoveAt(args.Index);
                    }
                    break;

                case ListChangedEventType.ItemReplaced: {
                    MenuItemBase item = items[args.Index];
                    if (item is Separator)
                    {
                        throw new InvalidOperationException("Separator cannot be added to root menu.");
                    }
                    if (((MenuItem)item).Type == MenuItemType.Submenu)
                    {
                        ((MenuItem)item).Type = MenuItemType.RootSubmenu;
                    }
                    stackPanel.XChildren[args.Index] = item;
                    break;
                }
                }
            };
            this.IsFocusScope = true;

            this.AddHandler(KeyDownEvent, new KeyEventHandler(onKeyDown));
            this.AddHandler(PreviewMouseMoveEvent, new MouseEventHandler(onPreviewMouseMove));
            this.AddHandler(PreviewMouseDownEvent, new MouseEventHandler(onPreviewMouseDown));
        }
Esempio n. 9
0
        public override void LoadControl(MenuItemBase btn, object parent)
        {
            _Parent = parent;
            BarGroup menuToLoad = (BarGroup)btn;

            _Menu         = menuToLoad.Clone <Fwk.UI.Controls.Menu.BarGroup>();
            _MenuOriginal = menuToLoad;

            menuBindingSource.DataSource = _Menu;
            menuBindingSource.ResetBindings(false);
        }
Esempio n. 10
0
        public MenuItem( )
        {
            Focusable = true;

            AddHandler(MouseDownEvent, new MouseEventHandler(onMouseDown));
            AddHandler(MouseMoveEvent, new MouseEventHandler(onMouseMove));
            AddHandler(MouseUpEvent, new MouseEventHandler(onMouseUp));
            AddHandler(KeyDownEvent, new KeyEventHandler(onKeyDown));

            // Stretch by default
            HorizontalAlignment = HorizontalAlignment.Stretch;

            items.ListChanged += (sender, args) => {
                switch (args.Type)
                {
                case ListChangedEventType.ItemsInserted: {
                    for (int i = 0; i < args.Count; i++)
                    {
                        MenuItemBase itemBase = items[args.Index + i];
                        if (itemBase is MenuItem)
                        {
                            (itemBase as MenuItem).ParentItem = this;
                        }
                    }
                    break;
                }

                case ListChangedEventType.ItemsRemoved:
                    foreach (object removedItem in args.RemovedItems)
                    {
                        if (removedItem is MenuItem)
                        {
                            (removedItem as MenuItem).ParentItem = null;
                        }
                    }
                    break;

                case ListChangedEventType.ItemReplaced: {
                    object removedItem = args.RemovedItems[0];
                    if (removedItem is MenuItem)
                    {
                        (removedItem as MenuItem).ParentItem = null;
                    }

                    MenuItemBase itemBase = items[args.Index];
                    if (itemBase is MenuItem)
                    {
                        (itemBase as MenuItem).ParentItem = this;
                    }
                    break;
                }
                }
            };
        }
Esempio n. 11
0
    public void SetTarget(MenuItemBase _targetUI)
    {
        mTargetUI = _targetUI;

        FirePos = this.transform.position;

        mRig = this.gameObject.GetComponent<Rigidbody>();

        this.gameObject.SetActive(true);

        mRig.angularVelocity = new Vector3(mRandAngSpeed, mRandAngSpeed, mRandAngSpeed);
    }
Esempio n. 12
0
        public override void Initialize()
        {
            MenuItemBase toolsMenu = MainMenu.All.FirstOrDefault(x => x.Name == "_Tools");

            if (toolsMenu == null)
            {
                toolsMenu = new MenuItem("_Tools");
                MainMenu.Add(toolsMenu);
            }

            toolsMenu.Add(new MenuItem("_Options", OpenSettings));
        }
Esempio n. 13
0
 public void AddMenuItem(MenuItemBase parent, params MenuItemBase[] displayMenuItem)
 {
     foreach (var menuItemDefinition in displayMenuItem)
     {
         if (MenuItemNameList.Contains(menuItemDefinition.Name))
         {
             throw new Exception("Menu item name duplicated");
         }
         parent.Children.Add(menuItemDefinition);
         MenuItemNameList.Add(menuItemDefinition.Name);
     }
 }
Esempio n. 14
0
 private MenuItemBase FindRecursive(MenuItemBase displayMenuItem, string name)
 {
     foreach (var child in displayMenuItem.Children)
     {
         if (displayMenuItem.Name == name)
         {
             return(displayMenuItem);
         }
         return(FindRecursive(child, name));
     }
     return(null);
 }
        public override MvcHtmlString Render(MenuItemBase menuItemBase, MvcHtmlString renderedChilds)
        {
            if (!menuItemBase.IsRenderable)
            {
                return(MvcHtmlString.Empty);
            }

            var menuItem = (MenuItem)menuItemBase;

            var link = _htmlHelper.LocalizedRouteLink(menuItem.ResourceKey, menuItem.RouteName, menuItem.RouteValues, innerHtml: renderedChilds);

            return(link);
        }
Esempio n. 16
0
        public List <IMenuItem> Load()
        {
            var menuItems       = new List <IMenuItem>();
            int sequenceCounter = 0;

            foreach (var plugin in _plugins)
            {
                sequenceCounter++;
                MenuItemBase menuItem = CreateMenuItem(plugin, sequenceCounter);
                menuItems.Add(menuItem);
            }

            return(menuItems);
        }
        public override MvcHtmlString Render(MenuItemBase menuItem, MvcHtmlString renderedChilds)
        {
            if (!menuItem.IsRenderable)
            {
                return(MvcHtmlString.Empty);
            }

            if (!MvcHtmlString.IsNullOrEmpty(renderedChilds))
            {
                throw new NotSupportedException("Separators doesn't support nested items.");
            }

            return(MvcHtmlString.Create("<li class=\"divider\"></li>"));
        }
Esempio n. 18
0
 /// <summary>
 /// Initialize a new instance <see cref="MainMenu"/>
 /// </summary>
 public MainMenu()
 {
     Background         = Application.SystemColors.MenuBackground;
     Foreground         = Application.SystemColors.MenuForeground;
     selectedBackground = Application.SystemColors.MenuHighlight;
     selectedForeground = Application.SystemColors.MenuHighlightText;
     disabledBackground = Application.SystemColors.MenuInactiveFace;
     disabledForeground = Application.SystemColors.MenuInactiveText;
     mnemonicForeground = Application.SystemColors.MnemonicForeground;
     Items             = new MenuItemCollection(null);
     IsOpened          = false;
     selectedLevelItem = null;
     popups            = new Stack <PopupMenuWindow>();
 }
Esempio n. 19
0
        private void UpdateVisibility()
        {
            MenuItemBase NextItem     = this.GetNextItemVisible();
            MenuItemBase PreviousItem = this.GetPreviousItemVisible();

            if (NextItem == null || NextItem is MenuSeparator || PreviousItem == null || PreviousItem is MenuSeparator)
            {
                this.visible = false;
            }
            else
            {
                this.visible = true;
            }
            this.UIFactory.UpdateMenuSeparatorVisibility(this.UIItem, this.visible);
        }
Esempio n. 20
0
        public void UpdateCm(int rtuId)
        {
            var TerInfo = Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetInfoById(NodeId);

            if (TerInfo == null)
            {
                return;
            }


            //添加集中器右击菜单  西安需求  2019年5月23日13:54:21 读取 292.xml_1003 GetOptionIsThisValue

            CmItems = MenuBuilding.BulidCm(((int)TerInfo.RtuModel).ToString(), false, TerInfo);;

            //不是默认值,则要加载集中器菜单
            if (Wlst.Cr.CoreMims.SystemOption.GetOptionIsDefaults(1003, 0) == true)
            {
                return;
            }

            var sluid = EquipmentDataInfoHold.GetSluIdByRtuId(TerInfo.RtuPhyId);

            if (sluid > 0)
            {
                var TerInfoSlu = Wlst.Sr.EquipmentInfoHolding.Services.EquipmentDataInfoHold.GetInfoById(sluid);
                if (TerInfoSlu != null)
                {
                    var SluItems = MenuBuilding.BulidCm(((int)TerInfoSlu.RtuModel).ToString(), false, TerInfoSlu);


                    var menuItemFile = new MenuItemBase()
                    {
                        IsCheckable = false, IsEnabled = true, Id = 195959, Visibility = Visibility.Visible
                    };

                    menuItemFile.Text    = TerInfoSlu.RtuName;
                    menuItemFile.TextTmp = TerInfoSlu.RtuName;
                    foreach (var f in SluItems)
                    {
                        menuItemFile.CmItems.Add(f);
                    }

                    CmItems.Add(menuItemFile);
                }
            }
        }
        protected override void DetachItem(MenuItemBase item, object source)
        {
            var menuItem    = (MenuItem)item;
            var tabViewItem = source as TabViewItem;

            if (tabViewItem == null)
            {
                menuItem.Header                 = null;
                menuItem.DataContext            = null;
                menuItem.HeaderTemplate         = null;
                menuItem.HeaderTemplateSelector = null;
            }
            else
            {
                tabViewItem.DetachMenuItem(menuItem);
            }

            menuItem.Command          = null;
            menuItem.CommandParameter = null;
        }
        protected override void AttachItem(MenuItemBase item, object source)
        {
            var menuItem    = (MenuItem)item;
            var tabViewItem = source as TabViewItem;

            if (tabViewItem == null)
            {
                menuItem.Header                 = source;
                menuItem.HeaderTemplate         = TabViewControl.ItemHeaderTemplate;
                menuItem.HeaderTemplateSelector = TabViewControl.ItemHeaderTemplateSelector;
                menuItem.DataContext            = source;
            }
            else
            {
                tabViewItem.AttachMenuItem(menuItem);
            }


            menuItem.Command          = SelectCommand;
            menuItem.CommandParameter = source;
        }
        public override MvcHtmlString Render(MenuItemBase menuItemBase, MvcHtmlString renderedChilds)
        {
            if (!menuItemBase.IsRenderable)
            {
                return(MvcHtmlString.Empty);
            }

            var menuItem = menuItemBase as MenuItem;

            if (menuItem != null)
            {
                var link = _htmlHelper.LocalizedRouteLink(menuItem.ResourceKey, menuItem.RouteName, menuItem.RouteValues, surroundUsing: null);

                return(MvcHtmlString.Create(string.Format(MENU_ITEM, link, renderedChilds)));
            }

            var nonClickableMenuItem = (NonClickableMenuItem)menuItemBase;

            var linkText = ValidationMessageFormatter.WithKey(nonClickableMenuItem.ResourceKey);

            return(MvcHtmlString.Create(string.Format(NON_CLICKABLE_MENU_ITEM, linkText, renderedChilds)));
        }
Esempio n. 24
0
 private void ThrowSnowBall(MenuItemBase _aimUI)
 {
     CreateUISnowBall(_aimUI);
 }
Esempio n. 25
0
    public UISnowBall CreateUISnowBall(MenuItemBase _targetUI)
    {
        UISnowBall snowBall = null;

        for (int i = 0; i < mSnowBallList.Count; i++)
        {
            if (!mSnowBallList[i].IsUsing)
            {
                snowBall = mSnowBallList[i];
                break;
            }
        }

        if (snowBall == null)
        {
            snowBall = GameObject.Instantiate(m_SnowBallPrefab).GetComponent<UISnowBall>();
            mSnowBallList.Add(snowBall);
        }

        snowBall.transform.SetParent(m_Canvas.transform);
        snowBall.transform.position = m_SnowBallFirePos[Random.Range(0, m_SnowBallFirePos.Count)].position;
        snowBall.SetTarget(_targetUI);

        return snowBall;
    }
Esempio n. 26
0
 public bool Remove(MenuItemBase item)
 {
     return(Model.Remove(item));
 }
Esempio n. 27
0
 public bool Contains(MenuItemBase item)
 {
     return(Model.Contains(item));
 }
Esempio n. 28
0
 public void Add(MenuItemBase item)
 {
     Model.Add(item);
 }
Esempio n. 29
0
 public void Insert(int index, MenuItemBase item)
 {
     Model.Insert(index, item);
 }
Esempio n. 30
0
        public MemoContextMenu(Memo memo)
        {
            _memo = memo;

            MenuItemBase itemClear      = new MenuItemBase("Очистить", OnClear, null);
            MenuItemBase itemSelectAll  = new MenuItemBase("Выделить все", OnSelectAll, null);
            MenuItemBase itemAutoScroll = new MenuItemBase("Автоскролл", OnAutoScroll, null);
            itemAutoScroll.IsCheckable = true;
            itemAutoScroll.IsChecked   = true;

            this.Add(itemClear);
            this.Add(itemSelectAll);
            this.AddSeparator();
            this.Add(itemAutoScroll);
        }
 public MenuItemCreatedEventArgs(MenuItemBase menuItem)
 {
     this.MenuItem = menuItem;
 }
        private void CreateBtnMenu(string code, BPTrigger trigger, object bpCode, MenuItemBase miChild = null)
        {
            if (string.IsNullOrEmpty(code))
            {
                throw new ArgumentNullException("code");
            }

            // получаем кнопку
            UIButton btn;

            using (var btnMgr = IoC.Instance.Resolve <IBaseManager <UIButton> >())
                btn = btnMgr.Get(code);

            if (btn == null)
            {
                throw new DeveloperException("Can't find button with code " + code);
            }

            // Eсли кнопка будет добавляться в бар и имеет имеет ребенка и родителя, то - ListMenuItem, если только ребенка, то SubListMenuItem, а если в бар не добавляется, то Command
            // Вот такая "прозрачная" логика, будь она не ладна!
            var res = miChild != null
                ? !string.IsNullOrEmpty(btn.Parent)
                    ? new ListMenuItem()
                    : new SubListMenuItem()
                : new CommandMenuItem {
                Command = ExecuteBPCommand
            };

            // если можем добавит вложенный элемент (вне зависимости от того, что перед нами), то добавляем
            var miList = res as ListMenuItem;

            if (miList != null)
            {
                miList.MenuItems.Add(miChild);
            }

            //заполняем параметры кнопок
            res.Name             = code;
            res.IsDynamicBarItem = true;
            res.IsEnable         = true;
            res.Caption          = btn.Caption;
            res.Hint             = btn.Hint;
            res.GlyphAlignment   = GlyphAlignmentType.Top;
            res.DisplayMode      = DisplayModeType.Default;
            res.Priority         = (int)btn.Order;
            res.CommandParameter = new BusinessProcessCommandParameter(bpCode, trigger, res);

            if (!string.IsNullOrEmpty(btn.Image))
            {
                res.ImageSmall =
                    ResourceHelper.GetImageByName("wmsMLC.DCL.Resources", "ImageResources",
                                                  string.Format("{0}16", btn.Image)) ?? ImageResources.DCLDefault16.GetBitmapImage();
                res.ImageLarge =
                    ResourceHelper.GetImageByName("wmsMLC.DCL.Resources", "ImageResources",
                                                  string.Format("{0}32", btn.Image)) ?? ImageResources.DCLDefault32.GetBitmapImage();
            }
            else
            {
                res.ImageSmall = ImageResources.DCLDefault16.GetBitmapImage();
                res.ImageLarge = ImageResources.DCLDefault32.GetBitmapImage();
            }

            if (!string.IsNullOrEmpty(btn.HotKey))
            {
                var kgc    = new KeyGestureConverter();
                var hotKey = kgc.ConvertFromString(btn.HotKey) as KeyGesture;
                if (hotKey != null)
                {
                    res.HotKey = hotKey;
                }
            }

            // получаем панель. нет - используем стандартную
            var bar = string.IsNullOrEmpty(btn.Panel) ? _processBar : Menu.GetOrCreateBarItem(btn.Panel);

            if (string.IsNullOrEmpty(btn.Parent))
            {
                // если базовой не нашли, добавлем в список
                bar.MenuItems.Add(res);
            }
            else
            {
                MenuItemBase baseItem = null;
                // ищем такую кнопку
                foreach (var menuItem in bar.MenuItems)
                {
                    baseItem = GetMenuItem(menuItem, btn.Parent);
                    if (baseItem == null)
                    {
                        continue;
                    }

                    var listItem = baseItem as ListMenuItem;
                    if (listItem == null)
                    {
                        throw new DeveloperException(
                                  "Ошибка настройки кнопок меню процессов. Невозможно добавить кнопку с кодом {0} в кнопку с кодом {1} - не найден список",
                                  code, btn.Parent);
                    }

                    listItem.MenuItems.Add(res);
                    break;
                }

                if (baseItem == null)
                {
                    CreateBtnMenu(btn.Parent, null, null, res);
                }
            }
        }
        public void PopulateMenu(ProjectItemBase item)
        {
            if (item == null)
            {
                return;
            }

            MenuItems.Clear();
            MenuItemBase parentMenuItem = null;

            foreach (var command in item.OptionCommands)
            {
                MenuItemBase newMenuItem = null;

                // fake command definition
                if (command.CommandDefinition is FakeCommandDefinition)
                {
                    // reset parent
                    if (string.IsNullOrEmpty(command.CommandDefinition.Name))
                    {
                        parentMenuItem = null;
                    }
                    // fake to add separator
                    else if (command.CommandDefinition.Name == "|")
                    {
                        newMenuItem = new MenuItemSeparator();
                    }
                    // fake to set parent
                    else if (command.CommandDefinition.Name.Contains('|'))
                    {
                        // extract ancestors
                        var parentNames = command.CommandDefinition.Name.Trim().Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries);

                        // reset parent
                        if (parentNames.Length == 0)
                        {
                            parentMenuItem = null;
                        }
                        // find parent
                        else
                        {
                            parentMenuItem = MenuItems.OfType <StandardMenuItem>().FirstOrDefault(p => p.Text == parentNames[0]);
                            if (parentMenuItem == null)
                            {
                                parentMenuItem = new DisplayMenuItem(parentNames[0]);
                                MenuItems.Add(parentMenuItem);
                            }

                            for (var i = 1; i < parentNames.Length; i++)
                            {
                                var nextMenuItem = parentMenuItem.Children.OfType <StandardMenuItem>().FirstOrDefault(p => p.Text == parentNames[i]);
                                if (nextMenuItem == null)
                                {
                                    nextMenuItem = new DisplayMenuItem(parentNames[i]);
                                    parentMenuItem.Children.Add(nextMenuItem);
                                }
                                parentMenuItem = nextMenuItem;
                            }
                        }
                    }
                }
                else
                {
                    newMenuItem = new Idealde.Modules.MainMenu.Models.CommandMenuItem(command);
                    command.Tag = item;
                }

                if (newMenuItem == null)
                {
                    continue;
                }

                if (parentMenuItem != null)
                {
                    parentMenuItem.Children.Add(newMenuItem);
                }
                else
                {
                    MenuItems.Add(newMenuItem);
                }
            }
        }
Esempio n. 34
0
 public int IndexOf(MenuItemBase item)
 {
     return(Model.IndexOf(item));
 }
 public void NavigateToItem(MenuItemBase menu)
 {
     this.navigationView.SelectedItem = menu;
 }
 private void OnMenuItemCreated(MenuItemBase menuItem)
 {
     if (this.MenuItemCreated == null)
     {
         return;
     }
     this.MenuItemCreated(this, new MenuItemCreatedEventArgs(menuItem));
 }