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); }
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))); }
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); }
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); }
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); }
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)); }
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); }
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; } } }; }
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); }
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)); }
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); } }
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); }
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>")); }
/// <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>(); }
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); }
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))); }
private void ThrowSnowBall(MenuItemBase _aimUI) { CreateUISnowBall(_aimUI); }
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; }
public bool Remove(MenuItemBase item) { return(Model.Remove(item)); }
public bool Contains(MenuItemBase item) { return(Model.Contains(item)); }
public void Add(MenuItemBase item) { Model.Add(item); }
public void Insert(int index, MenuItemBase item) { Model.Insert(index, item); }
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); } } }
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)); }