NSMenu pour NSTableView
Bonjour à tous,
Voilà , j'ai relié un NSMenu à ma tableView... je pensais obtenir un NSMenu par rapport a la selection d'une row du tableau... mais en fait même si le tableau est vide, le menu peut s'afficher
Alors quelqu'un a une idée de comment faire pour que le menu s'affiche que par rapport aux rows ? (voir ichat par exemple)
Voilà , j'ai relié un NSMenu à ma tableView... je pensais obtenir un NSMenu par rapport a la selection d'une row du tableau... mais en fait même si le tableau est vide, le menu peut s'afficher
Alors quelqu'un a une idée de comment faire pour que le menu s'affiche que par rapport aux rows ? (voir ichat par exemple)
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Avec la connexion "menu" de NSTableView, on peut faire un clique-droit ds le vide de la table et le menu s'affiche quand même.
Je voudrais que si on fait clique-droit sur une row, celle-ci est sélectionnée et un NSMenu s'affiche au niveau de la souris
En l'interceptant, tu peux faire tes tests (table vide ou pas ?), sélectionner ta ligne et afficher ton menu.
Bon je sais pas si c'est la bonne solution mais je verrai les choses comme ça...
a+
[edit]
Pour le mousePt, y a plus simple ...
[tt]- (NSMenu *)menuForEvent:(NSEvent *)theEvent {
int row = [self rowAtPoint:[self convertPoint:[theEvent locationInWindow] fromView:nil]];
if (row == -1) return nil; // précaution élémentataire
[self selectRow:row byExtendingSelection:NO];
NSMenu* menu = [[[NSMenu alloc] init] autorelease];
[menu addItemWithTitle:@test action:NULL keyEquivalent:@""];
return menu;
}
[/tt]
http://forum.macbidouille.com/index.php?showtopic=67183&view=findpost&p=634918