public void UseAsVersionsMenu() { NSMenu menu = NSApplication.SharedApplication.MainMenu.ItemWithTitle("Versions").Submenu; menu.RemoveAllItems(); menu.AddItem(current_item); menu.AddItem(NSMenuItem.SeparatorItem); menu.AddItem(new NSMenuItem("Labels") { Enabled = false }); foreach (NSMenuItem item in named_version_items) { menu.AddItem(item); } menu.AddItem(NSMenuItem.SeparatorItem); menu.AddItem(new NSMenuItem("Autosaves") { Enabled = false }); foreach (NSMenuItem item in other_version_items) { menu.AddItem(item); } menu.Update(); }
public override void NeedsUpdate(NSMenu menu) { var outlineView = ((ContextMenu)menu).outlineView; menu.RemoveAllItems(); var nodeProxy = outlineView.GetNodeProxy(outlineView.ClickedRow); if (nodeProxy?.Node == null) { return; } var items = outlineView.Delegate?.ContextMenuItemsForNode(nodeProxy.Node); if (items == null) { return; } foreach (var item in items) { menu.AddItem(item); } }
public override void MenuWillOpen(NSMenu menu) { var e = owner.viewEvents; menu.RemoveAllItems(); var visibleItems = MenuItem.None; var checkedItems = MenuItem.None; e.OnMenuItemOpening(true, out visibleItems, out checkedItems); Action <MenuItem, string, Action> addItem = (item, str, handler) => { if ((item & visibleItems) != 0) { menu.AddItem(new NSMenuItem(str, (sender, evt) => handler())); } }; addItem(MenuItem.SaveLogAs, "Save as...", e.OnSaveLogAsMenuItemClicked); addItem(MenuItem.SourceProprties, "Properties...", e.OnSourceProprtiesMenuItemClicked); addItem(MenuItem.OpenContainingFolder, "Open containing folder", e.OnOpenContainingFolderMenuItemClicked); addItem(MenuItem.ShowOnlyThisLog, "Show only this log", e.OnShowOnlyThisLogClicked); addItem(MenuItem.ShowAllLogs, "Show all logs", e.OnShowAllLogsClicked); addItem(MenuItem.CloseOthers, "Close others", e.OnCloseOthersClicked); addItem(MenuItem.CopyErrorMessage, "Copy error message", e.OnCopyErrorMessageCliecked); addItem(MenuItem.SaveMergedFilteredLog, "Save joint log...", e.OnSaveMergedFilteredLogMenuItemClicked); }
public override void MenuWillOpen(NSMenu menu) { menu.RemoveAllItems(); var menuData = owner.viewEvents.OnMenuOpening(); foreach (var item in new Dictionary <ContextMenuItem, string>() { { ContextMenuItem.ShowTime, "Show time" }, { ContextMenuItem.ShowRawMessages, "Show raw log" }, { ContextMenuItem.Copy, "Copy" }, { ContextMenuItem.ToggleBmk, "Toggle bookmark" }, { ContextMenuItem.GotoNextMessageInTheThread, "Go to next message in thread" }, { ContextMenuItem.GotoPrevMessageInTheThread, "Go to prev message in thread" }, { ContextMenuItem.DefaultAction, menuData.DefaultItemText }, }) { if ((menuData.VisibleItems & item.Key) == 0) { continue; } menu.AddItem(MakeItem(item.Key, item.Value, (menuData.CheckedItems & item.Key) != 0)); } if (menuData.ExtendededItems != null && menuData.ExtendededItems.Count > 0) { menu.AddItem(NSMenuItem.SeparatorItem); foreach (var extItem in menuData.ExtendededItems) { menu.AddItem(new NSMenuItem(extItem.Text, (sender, e) => extItem.Click())); } } }
private void CreateNsMenu() { var menu = new NSMenu(); statusItem = NSStatusBar.SystemStatusBar.CreateStatusItem(30); statusItem.Menu = menu; statusItem.Image = NSImage.ImageNamed("statusicon"); statusItem.HighlightMode = true; menu.RemoveAllItems(); browseMenuItem = new NSMenuItem("Browse Media Library", "b", delegate { Browse(NSApplication.SharedApplication); }); menu.AddItem(browseMenuItem); configureMenuItem = new NSMenuItem("Configure Media Browser", "c", delegate { Configure(NSApplication.SharedApplication); }); menu.AddItem(configureMenuItem); communityMenuItem = new NSMenuItem("Visit Community", "v", delegate { Community(NSApplication.SharedApplication); }); menu.AddItem(communityMenuItem); quitMenuItem = new NSMenuItem("Quit", "q", delegate { Quit(NSApplication.SharedApplication); }); menu.AddItem(quitMenuItem); }
public override void NeedsUpdate(NSMenu menu) { menu.RemoveAllItems(); if (Refresher != null) { menu.AddItem(Refresher); menu.AddItem(NSMenuItem.SeparatorItem); } foreach (var group in Grouping) { if (group.Key.Length == 0) { foreach (var action in group.OrderBy(t => t.ShortDescription)) { var menuItem = new NSMenuItem(action.ShortDescription); menuItem.ToolTip = action.Tooltip; menuItem.Activated += (sender, e) => action.Execute(); menu.AddItem(menuItem); } } else { var subMenu = new NSMenu { Delegate = new ActionMenuDelegate(group.ToArray(), Depth + 1) }; var submenuItem = new NSMenuItem(group.Key.FirstOrDefault() ?? "Misc"); menu.SetSubmenu(subMenu, submenuItem); menu.AddItem(submenuItem); } } }
public override void MenuDidClose(NSMenu menu) { // Send WM_CANCELMODE to cancel any grabs menu.RemoveAllItems(); owner.CancelGrab(); owner.currentMenu = null; owner.Close(); owner.is_visible = false; owner.OnVisibleChanged(EventArgs.Empty); beforePopupCalled = false; }
public override void MenuWillOpen(NSMenu menu) { menu.RemoveAllItems(); var menuData = eventsHandler.OnMenuOpening(); if (menuData.Items != null && menuData.Items.Count > 0) { foreach (var extItem in menuData.Items) { menu.AddItem(new NSMenuItem(extItem.Text, (sender, e) => extItem.Click())); } } }
private void CreateNsMenu() { var menu = new NSMenu(); statusItem = NSStatusBar.SystemStatusBar.CreateStatusItem(30); statusItem.Menu = menu; statusItem.Image = NSImage.ImageNamed("statusicon"); statusItem.HighlightMode = true; menu.RemoveAllItems(); browseMenuItem = new NSMenuItem("Browse Media Library", "b", delegate { Browse(NSApplication.SharedApplication); }); menu.AddItem(browseMenuItem); configureMenuItem = new NSMenuItem("Configure Media Browser", "c", delegate { Configure(NSApplication.SharedApplication); }); menu.AddItem(configureMenuItem); developerMenuItem = new NSMenuItem("Developer Resources"); menu.AddItem(developerMenuItem); var developerMenu = new NSMenu(); developerMenuItem.Submenu = developerMenu; apiMenuItem = new NSMenuItem("Api Documentation", "a", delegate { ApiDocs(NSApplication.SharedApplication); }); developerMenu.AddItem(apiMenuItem); githubMenuItem = new NSMenuItem("Github", "g", delegate { Github(NSApplication.SharedApplication); }); developerMenu.AddItem(githubMenuItem); communityMenuItem = new NSMenuItem("Visit Community", "v", delegate { Community(NSApplication.SharedApplication); }); menu.AddItem(communityMenuItem); quitMenuItem = new NSMenuItem("Quit", "q", delegate { Quit(NSApplication.SharedApplication); }); menu.AddItem(quitMenuItem); }
public void BeforePopup() { // Early opening before we call NSMenu.PopUpMenu beforePopupCalled = true; menu.RemoveAllItems(); foreach (ToolStripItem item in owner.Items) { var menuItem = item.ToNSMenuItem(); var actionObj = new ActionDispatcher((sender, e) => { owner.OnItemClicked(new ToolStripItemClickedEventArgs(item)); item.PerformClick(); }); menuItem.Target = actionObj; menuItem.Action = ActionDispatcher.Action; menuItem.Menu?.RemoveItem(menuItem); menu.AddItem(menuItem); } }
/// <summary> /// Initializes the menu. /// </summary> /// <param name="menu">The menu whose items are to be set.</param> internal void InitializeMenu(NSMenu menu) { _deviceConnectionViewModels.Clear(); var ports = DeviceConnectionViewModel.GetAvailableConnections(_ltoFlash); menu.RemoveAllItems(); var shortcutNumber = 0; foreach (var port in ports) { ++shortcutNumber; var menuItem = SetActiveDeviceCommand.CreateMenuItemForCommand(_group, true, null); menuItem.Title = port.Name; menuItem.Activated += HandleSetActiveDeviceCommandActivated; // doesn't use standard approach menuItem.Enabled = SetActiveDeviceCommand.CanExecute(port); if (shortcutNumber < 10) { menuItem.KeyEquivalent = shortcutNumber.ToString(); menuItem.KeyEquivalentModifierMask = NSEventModifierMask.CommandKeyMask; } _deviceConnectionViewModels[menuItem.GetHashCode()] = port; } }