Gérer un NSButonCell dans un NSTableView
Eddy58
Membre
J'initialise une NSTableColumn avec un NSButonCell de la façon suivante :
Ensuite, quand je teste, et clique sur les switch dans la colonne, l'état n'est pas gardé.
Comment faire pour gérer le changement d'état et la récupération d'état des switchs ?
Je pense que la méthode delegate pour changer l'apparence des cells joue un role important, je n'ai pas encore essayé, quelqu'un a-t-il un bon exemple ou un bon tuyau (sans bindings svp ) ;D
<br />NSButtonCell *switchButtonCell=[[NSButtonCell alloc] init];<br />[switchButtonCell setButtonType:NSSwitchButton];<br />[switchButtonCell setImagePosition:NSImageOnly];<br />[switchButtonCell setTitle:@""];<br />[[clientsMaintenancesTableView tableColumnWithIdentifier:@"essai"] setDataCell:switchButtonCell];<br />[switchButtonCell release];<br />
Ensuite, quand je teste, et clique sur les switch dans la colonne, l'état n'est pas gardé.
Comment faire pour gérer le changement d'état et la récupération d'état des switchs ?
Je pense que la méthode delegate pour changer l'apparence des cells joue un role important, je n'ai pas encore essayé, quelqu'un a-t-il un bon exemple ou un bon tuyau (sans bindings svp ) ;D
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
il suffit d'implémenter
- (void) tableView: (NSTableView*) aTableView setObjectValue: (id) anObject forTableColumn: (NSTableColumn*) aTableColumn row: (int) rowIndex
dans la datasource - le paramètre 'anObject' reçu sera un NSNumber.
dans l'autre sens, pour mettre la valeur, dans
- (id) tableView: (NSTableView*) aTableView objectValueForTableColumn: (NSTableColumn*) aTableColumn row: (int) rowIndex
renvoyer un objet de type NSNumber..
Par ailleurs, ton setImagePosition est inutile...
Doc apple
N'hésitez pas à les encapsuler en hyperlink dans un mot.
La doc Apple, je l'ai déjà parcourue de long en large, et elle est loin d'être exhaustive sur le sujet de la gestion des boutons dans les NSTableviews...Le coup du NSNumber faut le savoir. ;D Je suppose que c'est aussi avec NSNumber que l'on gère les autres types de boutons...
Le setImagePosition a toute son utilité, car en lui fournissant le paramètre NSImageOnly, cela a pour effet de centrer le bouton dans sa colonne, sinon il s'aligne à gauche.
Bon voici un petit récapitulatif résumé pour ceux qui se poseraient des questions plus tard sur le sujet :
Puis en cliquand sur le petit triangle à droite de l'entête tu demande image seulement pour les buttoncell.
chez mois ça marche