fonctionnement de NSTableView
meall
Membre
Bonjour,
Je veux faire une petite appli dans laquelle j'ai un NSTableView qui contient certains éléments de mon data source. Cependant ce que je voudrais c'est que en double cliquant (ou quelque chose de similaire) je puisse ouvrir le data source dans une autre fenêtre qui premettra d'afficher plus d'information du Data source. En gros, c'est une liste d'élément qu'on explose pour voir les détails...
Cependant, je ne sais pas trop comment je peux réaliser ça. Je vois que si mon NSTAbleView est en mode non éditable il y a 2 fonctions (setDoubleAction et doubleAction) qui se rapproche de ce que je cherche à faire. Je suppose que je dois utiliser le setDoubleaction (selector) et définir un selector (une methode quelque part dans mon code) à appeler en cas de double click. Je ne suis juste pas sur de comment je devrais utiliser doubleAction, ou même si je devrais l'utiliser...
Merci
Je veux faire une petite appli dans laquelle j'ai un NSTableView qui contient certains éléments de mon data source. Cependant ce que je voudrais c'est que en double cliquant (ou quelque chose de similaire) je puisse ouvrir le data source dans une autre fenêtre qui premettra d'afficher plus d'information du Data source. En gros, c'est une liste d'élément qu'on explose pour voir les détails...
Cependant, je ne sais pas trop comment je peux réaliser ça. Je vois que si mon NSTAbleView est en mode non éditable il y a 2 fonctions (setDoubleAction et doubleAction) qui se rapproche de ce que je cherche à faire. Je suppose que je dois utiliser le setDoubleaction (selector) et définir un selector (une methode quelque part dans mon code) à appeler en cas de double click. Je ne suis juste pas sur de comment je devrais utiliser doubleAction, ou même si je devrais l'utiliser...
Merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Il semble, que pour ce que tu veux faire, ta piste soit une bonne possibilité.
1) Défini dans ton Contrôle une Méthode prenant un seul paramètre genre:
-(void) doubleClicSurMaTable:(id)sender
2) crée, dans le header de ton contrôle et IB, un IBOutlet pointé sur ta table (si ce n'est déjà fait)
IBOutlet NSTableView *maTable;
3) Lors de l'initialisation de ta NSTableView (par ex dans awakeFromNib) tu fais:
[maTable setTarget: monControleur];
[maTable setDoubleAction: @selector(doubleClicSurMaTable)];
@+
ClicCool
-(IBAction)clickTableView:(id)sender
{
int rangee=[sender selectedRow];
}
Voilà , je l'avais dis, c'est du détail ::)