void LogEvents(ISubmenu menu) { foreach (var item in menu.Items.OfType <ButtonMenuItem>()) { LogClickEvents(item); } }
void LogEvents(ISubmenu menu) { foreach (var item in menu.Items.OfType<ButtonMenuItem>()) { LogClickEvents(item); } }
public static MenuItem GetItem(this ISubmenu parent, string text) { if (Platform.Instance.IsGtk) { return(parent.Items.FirstOrDefault(i => i.Text == text.Replace("&", ""))); } return(parent.Items.FirstOrDefault(i => i.Text == text)); }
public void GenerateMenu(ISubmenu subMenu) { var file = subMenu.Items.GetSubmenu("&File"); file.Items.AddSeparator(600); file.Items.Add(new Commands.NextNote(this), 600); file.Items.Add(new Commands.PreviousNote(this), 600); file.Items.AddSeparator(600); }
void LogEvents(ISubmenu menu) { if (menu == null) return; foreach (var item in menu.Items) { LogClickEvents(item); } }
public static CheckMenuItem CreateCheckItem(this ISubmenu parent, string text) { var itm = new CheckMenuItem { Text = text }; parent.Items.Add(itm); return(itm); }
public static ButtonMenuItem CreateItem(this ISubmenu parent, string text) { var itm = new ButtonMenuItem { Text = text }; parent.Items.Add(itm); return(itm); }
void LogEvents(ISubmenu menu) { if (menu == null) { return; } foreach (var item in menu.Items) { LogClickEvents(item); } }
public static CheckMenuItem CreateCheckItem(this ISubmenu parent, string text, bool isChecked = false, EventHandler <EventArgs>?changeHandler = null) { var itm = new CheckMenuItem { Text = text, Checked = isChecked, }; if (changeHandler != null) { itm.CheckedChanged += changeHandler; } parent.Items.Add(itm); return(itm); }
/// <summary> /// Gets an enumeration of all children of the specified submenu. /// </summary> /// <remarks> /// This traverses all items of the submenu, and any children of those items if they implement <see cref="ISubmenu"/> /// as well. /// </remarks> /// <param name="submenu">Submenu to get all child menu items for.</param> /// <returns>Enumeration of all child menu items of the specified submenu.</returns> public static IEnumerable <MenuItem> GetChildren(this ISubmenu submenu) { foreach (var item in submenu.Items) { yield return(item); var childmenu = item as ISubmenu; if (childmenu != null) { foreach (var child in childmenu.GetChildren()) { yield return(child); } } } }
public static ButtonMenuItem CreateItem(this ISubmenu parent, string text, bool enabled = true, EventHandler <EventArgs>?clickHandler = null, Keys shortcut = default) { var itm = new ButtonMenuItem { Text = text, Enabled = enabled, Shortcut = shortcut }; if (clickHandler != null) { itm.Click += clickHandler; } parent.Items.Add(itm); return(itm); }
private MenuItem FindMenu(ISubmenu menu, Keys keyData) { foreach (var item in menu.Items) { if (item.Shortcut == keyData) { return(item); } if (item is ISubmenu submenu) { var child = FindMenu(submenu, keyData); if (child != null) { return(child); } } } return(null); }
public DynamicMenuBar() { var count = 0; var menu = Application.Instance.MainForm.Menu; ISubmenu editMenu = menu.Items.GetSubmenu("Edit"); // selection of which menu to add/remove var menuToEdit = new DropDown { DataStore = menu.Items.OfType <ISubmenu>().Union(new ISubmenu[] { menu }).ToList(), ItemTextBinding = Binding.Delegate((MenuItem item) => item.Text, defaultGetValue: "Main Menu") }; menuToEdit.SelectedValueBinding.Bind(() => editMenu, v => editMenu = v as ISubmenu); // tag to identify items that we've added var dynamicTag = new object(); // button to add a new item var addToEditMenu = new Button { Text = "Add MenuItem" }; addToEditMenu.Click += (sender, e) => { var itemNumber = ++count; var item = new ButtonMenuItem { Text = "Dynamic Menu Item " + itemNumber, Tag = dynamicTag }; item.Click += (s, ee) => Log.Write(item, "Clicked " + itemNumber); editMenu.Items.Add(item); }; // button to remove the item var removeFromEditMenu = new Button { Text = "Remove MenuItem" }; removeFromEditMenu.Click += (sender, e) => { var item = editMenu.Items.LastOrDefault(r => Equals(r.Tag, dynamicTag)); if (item != null) { editMenu.Items.Remove(item); } }; // layout of the form Content = new TableLayout { Rows = { null, TableLayout.Horizontal(null,new Label { Text = "Submenu to add to",VerticalAlignment = VerticalAlignment.Center }, menuToEdit, null), TableLayout.Horizontal(null,addToEditMenu, removeFromEditMenu, null), null } }; }
public EtoMenuBuilder(ISubmenu menu) { this.menu = menu; menu.Items.Clear(); justStartedSection = true; }
public MenuItem GetFontMenu(CharacterHandler handler, int order = 600, Action <BitFont> selectFont = null, Func <BitFont, bool> fontSelected = null, ISubmenu subMenu = null) { Actions.ChangeFont mainChangeFont = null; var aiChangeFonts = subMenu ?? new ButtonMenuItem { Text = "Change Font", Order = order }; foreach (var fontSet in GetFonts()) { var aiFontSet = aiChangeFonts.Items.GetSubmenu(fontSet.Name); foreach (var font in fontSet.Fonts) { var chfont = new Actions.ChangeFont(mainChangeFont, handler, font); if (fontSelected != null) { chfont.Checked = fontSelected(font); } if (mainChangeFont == null) { mainChangeFont = chfont; } if (selectFont != null) { chfont.Executed += (sender, e) => selectFont(((Actions.ChangeFont)sender).Font); } aiFontSet.Items.Add(chfont); } } return(aiChangeFonts as MenuItem); }