[NSButtonCell] Gestion dynamique
deftones_chrix
Membre
Bonjour,
j'ai une interrogation avec les objets NSButtonCell (que ce soit dans une TableView ou une OutlineView).
Comment initialiser l'image ainsi que le texte via la méthode delegate tableView:objectValueForTableColumn:row ?
Dans le cas d'une cellule standard, on retourne une NSString. Dans celui d'une cellule de type image, on retourne un objet NSImage. En suivant cette logique, j'ai donc tenté de retourné un NSButton. Pour ceci, j'ai fait ce code pour le test:
====================================================================================
†NSButton *button;
†button = NSButton alloc] init];<br />†[button setTitle:@"TEST";<br />†[button setImage:[NSImage imageNamed:@"MonImage";
†return button;
====================================================================================
Mais j'ai comme résultat les boutons videsâ€
Remarque: j'arrive au résultat voulu gr‚ce à la méthode tableView:willDisplayCell:forColumn:row†en affectant l'image et le titre de la cellule. †Mais je ne trouve pas cohérent de faire de cette façon pour un NSButtonCell et d'une autre pour les autres types de cellules.
Si quelqu'un a une idée
j'ai une interrogation avec les objets NSButtonCell (que ce soit dans une TableView ou une OutlineView).
Comment initialiser l'image ainsi que le texte via la méthode delegate tableView:objectValueForTableColumn:row ?
Dans le cas d'une cellule standard, on retourne une NSString. Dans celui d'une cellule de type image, on retourne un objet NSImage. En suivant cette logique, j'ai donc tenté de retourné un NSButton. Pour ceci, j'ai fait ce code pour le test:
====================================================================================
†NSButton *button;
†button = NSButton alloc] init];<br />†[button setTitle:@"TEST";<br />†[button setImage:[NSImage imageNamed:@"MonImage";
†return button;
====================================================================================
Mais j'ai comme résultat les boutons videsâ€
Remarque: j'arrive au résultat voulu gr‚ce à la méthode tableView:willDisplayCell:forColumn:row†en affectant l'image et le titre de la cellule. †Mais je ne trouve pas cohérent de faire de cette façon pour un NSButtonCell et d'une autre pour les autres types de cellules.
Si quelqu'un a une idée
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Si je me souviens bien dans le tableView:objectValue:For... tu dois en fait renvoyer un NSNumber qui vaut 0 pour un bouton désactivé et autre chose pour un état activé.