[Résolu] NSTableView + Custom Row + Bindings... Une solution simple ?
LeChatNoir
Membre, Modérateur
Salut à tous !
Ca faisait un bout de temps que j'avais pas posté ici !
Pourtant, c'est pas faute de coder ! Mon client FTP avance toujours bon an mal an.
Mais bon, faut croire que je deviens autonome :P
Mais bon, pas tout à fait encore puisque j'ai un nouveau problème.
J'explique :
J'ai une NSTableView qui abrite les transferts en cours (fichier source, cible, progression, etc).
Toutes les information sont dans mon modèle qui est bindé à un NSArrayController qui lui même est bindé à ma TableView.
J'ai donc 1 colonne pour le nom de fichier source, 1 pour l'avancement, etc, etc....
Maintenant, je veux "polisher" tout ça et je comptais carrément faire une cellule dans laquelle j'organise mes informations comme je veux, en mode graphique puisque rien ne sera éditable.
Et ben, figurez vous que je sais pas bien comment faire... :-\\
Je souhaite faire ça en gardant bien sûr mon organistation actuelle, c-a-d modèle/ArrayController/TableView, le tout "lié" par "bindings" (un peu redondant tous ces liens !!).
Je pensais sous classer une NSCell et faire tout ça dans le drawRect mais je ne sais pas (dans ce drawRect) récupérer les infos à afficher....
Merci de votre aide !!!
a+
Ca faisait un bout de temps que j'avais pas posté ici !
Pourtant, c'est pas faute de coder ! Mon client FTP avance toujours bon an mal an.
Mais bon, faut croire que je deviens autonome :P
Mais bon, pas tout à fait encore puisque j'ai un nouveau problème.
J'explique :
J'ai une NSTableView qui abrite les transferts en cours (fichier source, cible, progression, etc).
Toutes les information sont dans mon modèle qui est bindé à un NSArrayController qui lui même est bindé à ma TableView.
J'ai donc 1 colonne pour le nom de fichier source, 1 pour l'avancement, etc, etc....
Maintenant, je veux "polisher" tout ça et je comptais carrément faire une cellule dans laquelle j'organise mes informations comme je veux, en mode graphique puisque rien ne sera éditable.
Et ben, figurez vous que je sais pas bien comment faire... :-\\
Je souhaite faire ça en gardant bien sûr mon organistation actuelle, c-a-d modèle/ArrayController/TableView, le tout "lié" par "bindings" (un peu redondant tous ces liens !!).
Je pensais sous classer une NSCell et faire tout ça dans le drawRect mais je ne sais pas (dans ce drawRect) récupérer les infos à afficher....
Merci de votre aide !!!
a+
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
ou alors que tu postes aussi sur un autre forum en tant que AppleAndMe...
NSCell permet de représenter "visuellement" une valeur.
Donc, pour récupérer la valeur que tu dois "visuellement" dessiner (dans drawRect:), il te suffit d'appeller intValue, floatValue, stringValue, etc... sur ta cellule à dessiner (en l'occurence self).
Tu peux aussi utiliser objectValue : cela permet de dessiner un NSCell avec un objet non-standard (qui n'est ni NSNumber, ni NSString).
.
Aie, j'suis repéré !!!
Bof, je poste pas plus sur "the other" forum d'ailleurs.
Et j'aurai bien aimé resté LeChatNoir mais c'était pris :-\\
Sinon, merci de ta réponse mais en fait, je comptais ne faire qu'une colonne dans ma tableView donc 1 seule NSCell. Et récupérer toutes les infos dans cette seule NSCell.
Du coup, ta réponse me met un peu (beaucoup) sur la voie : il me suffit de "grouper" ces réponses dans un dictionnaire (d'ailleurs, c'est le cas) et de binder la cellule au dico.
Et comme ça dans ma NSCell, je récupère [self valueForKey:@mon info1], [self valueForKey:"mon info2"] etc, etc.
C'est ça l'idée ?
Par contre, je ne sais pas si tu peux binder ton dictionnaire entier à ta cellule (via NSTableView).
.
Trop cool !
Merci Bru
J'ai regardé d'un peu plus prêt et je confirme : ça fonctionne !
A un détail prêt : il ne faut pas faire [self valueFroKey:@maClé] mais
self objectValue] valueForKey:@"MaClé";
Et le tour est joué !
Je dispose de toutes les infos de mon dico et je les agence comme il me plait.
a+