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]

Reply via email to