J'ajouterais que si seulement certaines rows ont droit à l'édition selon certaines conditions, la méthode delegate suivante est fort utile : [tt] - (BOOL)tableView:(NSTableView *)aTableView shouldEditTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex [/tt]
Oui mais là je ne suis pas tout à fait dans ce cas là ... ???
Moi j'ai 3 états, celui que vous décrivez (le texte de la cell se colorise pour pouvoir effectuer une modification) est le dernier, mais avant j'ai le fond perso qui disparaà®t pour laisser apparaà®tre la couleur de sélection sandard.
J'ai fait un petit snapshot montrant les 3 états :
Il est possible que cela vienne du fait que j'utilise la classe perso ImageAndTextCell d'Apple.
Il est possible que cela vienne du fait que j'utilise la classe perso ImageAndTextCell d'Apple.
Possible. Mais le problème peut aussi venir du delegate tableView:willDisplayCell:forTableColumn:row: qui peut modifier "à la volée" les attributs d'une NSCell (en modifiant l'attribut de couleur de fond par exemple).
Ben en fait non. Je viens d'essayer sur une table qui a des cells standards NSTextViewCell, et bien ça fait pareil ???
Ca fait pas ça chez toi ?
J'ai bien une méthode tableView: willDisplayCell: forTableColumn: row:, mais il y a une condition pour qu'elle n'agisse que pour ma NSTableView qui a les cells ImageAndTextCell. Et puis de toute façon, elle ne fait qu'attribuer l'image qui sert d'icone à la cell.
Dans quelle direction dois-je chercher ....? C'est quelle méthode qui affiche les cells dans une NSTableView quand elles sont éditées ou sélectionnées ?
Alors, pour dépatouiller le truc, je suis allé y mettre un peu le nez dedans, et j'ai trouvé l'origine du problème.
C'est la méthode de drag & drop tableView:writeRows:toPasteboard: qui cause ça !!!! Et c'est visiblement pas le code qu'elle contient qui l'embête, car même en n'y mettant rien, ça le fait quand même .... Comme ci-dessous :
Réponses
[tt]
- (BOOL)tableView:(NSTableView *)aTableView shouldEditTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex
[/tt]
Moi j'ai 3 états, celui que vous décrivez (le texte de la cell se colorise pour pouvoir effectuer une modification) est le dernier, mais avant j'ai le fond perso qui disparaà®t pour laisser apparaà®tre la couleur de sélection sandard.
J'ai fait un petit snapshot montrant les 3 états :
Il est possible que cela vienne du fait que j'utilise la classe perso ImageAndTextCell d'Apple.
Possible. Mais le problème peut aussi venir du delegate tableView:willDisplayCell:forTableColumn:row: qui peut modifier "à la volée" les attributs d'une NSCell (en modifiant l'attribut de couleur de fond par exemple).
.
Ca fait pas ça chez toi ?
J'ai bien une méthode tableView: willDisplayCell: forTableColumn: row:, mais il y a une condition pour qu'elle n'agisse que pour ma NSTableView qui a les cells ImageAndTextCell. Et puis de toute façon, elle ne fait qu'attribuer l'image qui sert d'icone à la cell.
Dans quelle direction dois-je chercher ....? C'est quelle méthode qui affiche les cells dans une NSTableView quand elles sont éditées ou sélectionnées ?
Envoie moi ton projet si tu veux que j'y jette un oeil...
.
C'est fait sur ta boite Objective Cocoa.
Je ne t'ai mis que l'essentiel pour que ce soit plus clair.
C'est la méthode de drag & drop tableView:writeRows:toPasteboard: qui cause ça !!!! Et c'est visiblement pas le code qu'elle contient qui l'embête, car même en n'y mettant rien, ça le fait quand même .... Comme ci-dessous :
Il y en a ici qui utilisent ce fond perso avec le drag & drop ?
Sinon, que faire ?