Cacau: Clique com o Botão Direito do mouse em NSStatusItem
Eu sou um desenvolvedor de .Net que precisa portar um pequeno projeto para o Mac, então não sei quase nada sobre o Objetivo C. Na verdade, o código abaixo era apenas um monte de coisas para entender e atirar no escuro.
Tentando criar um programa do Menu Status que abre uma ou outra janela, dependendo se é um clique esquerdo ou clique direito / ctrl + clique. Aqui está o que eu tenho e funciona apenas com o botão esquerdo (obviamente):
-(void) awakeFromNib{
NSBundle *bundle = [NSbundle mainBundle];
statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain];
[statusImage = [[NSImage alloc] initWithContentsOfFile:[bundle pathForResource:@"icon" ofType:@"png"]];
[statusItem setImage:statusImage];
[statusItem setToolTip:@"Program Name"];
[statusItem setHighlightMode:YES];
[statusItem setAction:@selector(openWin:)];
[statusItem setTarget: self];
}
-(void)openWin:(id)sender{
[self openLeftWindow:sender];
}
-(IBAction)openLeftWindow:(id)sender{
//Code to populate Left Click Window
[leftWindow makeKeyAndorderFront:nil];
}
-(IBAction)openRightWindow:(id)sender{
//Code to populate Right Click Window
[rightWindow makeKeyAndorderFront:nil];
}
Parece-me que a solução seria uma instrução if na função openWin () para determinar qual botão é clicado (ou se ctrl foi pressionado) e executar o código apropriado ou para tornar o menu ciente da esquerda e da direita cliques. Mas nenhum deles funcionou quando tentei fazê-lo.
Desde já, obrigado.