This would have been a better fit for the cocoa-dev mailing list, since this has nothing to with the Xcode IDE itself.
You are setting the menu on some view (whatever pimpl->getView() returns) rather than the NSStatusItem itself. Set the menu property of the NSStatusItem rather than some view. When it's on the view, it is a contextual menu for that view, which is presumably why it shows up on top of it. Regards, Ken On Jun 8, 2015, at 9:23 PM, Dan Stenning <[email protected]> wrote: > I have this cocoa code in order to show a menu when a “menu app” or > menu-extras icon is clicked on > on the menu bar. > > Only trouble is it pops up on top of my menu-app icon, at the very top > instead of right _below_ the menu bar. What am i doing wrong ? > > here is the code in question: > > > // NOTE: pimpl->statusItem is a NSStatusItem* > > void SystemTrayIconComponent::createMenu() > { > > NSMenuItem *tItem = nil; > > pimpl->theMenu = [[NSMenu alloc] initWithTitle:@""]; > [pimpl->theMenu setAutoenablesItems:NO]; > > > [pimpl->theMenu addItemWithTitle:@"One" action:nil keyEquivalent:@""]; > [pimpl->theMenu addItemWithTitle:@"Two" action:nil keyEquivalent:@""]; > [pimpl->theMenu addItemWithTitle:@"Three" action:nil keyEquivalent:@""]; > > [pimpl->theMenu addItem:[NSMenuItem separatorItem]]; > > tItem = [pimpl->theMenu addItemWithTitle:@"Quit" > action:@selector(terminate:) keyEquivalent:@"q"]; > [tItem setKeyEquivalentModifierMask:NSCommandKeyMask]; > > NSStatusBar *statusBar = [NSStatusBar systemStatusBar]; > pimpl->statusItem = [statusBar > statusItemWithLength:NSVariableStatusItemLength]; > // [pimpl->statusItem retain]; > > [pimpl->statusItem setToolTip:@"This is our tool tip text"]; > [pimpl->statusItem setHighlightMode:YES]; > [pimpl->getView() setMenu:pimpl->theMenu]; > > } > > > void SystemTrayIconComponent::showDropdownMenu(Point<int> mousePos) > > > [pimpl->statusItem popUpStatusItemMenu: pimpl->theMenu ]; > > } > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Xcode-users mailing list ([email protected]) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/xcode-users/ken%40codeweavers.com > > This email sent to [email protected]
_______________________________________________ Do not post admin requests to the list. They will be ignored. Xcode-users mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/xcode-users/archive%40mail-archive.com This email sent to [email protected]
