activer l'édition d'un NSTextField et valider la modification
wisky
Membre
Bonjour tout le monde,
Cela fait très longtemps que je ne suis pas venu. La faute au boulot et la pas envie de coder. Enfin bon...
Je viens d'installer xCode 3. J'ai été quelque peu dérouté dans IB mais au final c'est carrément mieux qu'avant (prise en mais en 10min).
Mais la question n'est pas là ! Alors je vous explique. J'ai un objet NSTextField qui n'est pas selectionnable et pas éditable. Je veux pouvoir le rendre éditable lors d'un double click dessus et le remettre non éditable lorsque l'utilisateur valide par entrée ou par un click à côté.
J'ai cherché du côté du delegate, mais ça ne marche pas. avez-vous une idée ?
Merci d'avance.
PS: Le site est super comme ça
Cela fait très longtemps que je ne suis pas venu. La faute au boulot et la pas envie de coder. Enfin bon...
Je viens d'installer xCode 3. J'ai été quelque peu dérouté dans IB mais au final c'est carrément mieux qu'avant (prise en mais en 10min).
Mais la question n'est pas là ! Alors je vous explique. J'ai un objet NSTextField qui n'est pas selectionnable et pas éditable. Je veux pouvoir le rendre éditable lors d'un double click dessus et le remettre non éditable lorsque l'utilisateur valide par entrée ou par un click à côté.
J'ai cherché du côté du delegate, mais ça ne marche pas. avez-vous une idée ?
Merci d'avance.
PS: Le site est super comme ça
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
NSEvent a une méthode "clickCount"
Dans Interface Builder, on peut utiliser une custom class pour les objets ; ici il suffit de mettre une custom class qui est une sous-classe à nous de NSTextField :P
PS : ne pas oublier de répercuter [super mouseDown:theEvent] par contre...
Encore une fois en n'omettant surtout pas d'appeler sur le "super" avant !
Il faut appeler sur le super au début de la méthode ? Il me semblait qu'il fallait le faire à la fin...
Quand on parle de -dealloc il faut forcément le faire après parce que si tu désalloues les variables qui contiennent les pointeurs des objets dont tu as la charge, tu ne pourras plus y accéder et tu auras du mal à nettoyer tes objets.
Dans le cas des -init il faut le faire avant parce qu'il faut que les super-classes fasse les bonnes initialisations et si jamais ça plante, t'auras du mal à le vérifier après, et il faudra là aussi que tu nettoies correctement.
Pour cette méthode, je pense que c'est kif-kif, mais il vaudrait mieux le faire en premier, comme ça on ne risque pas de modifier des trucs sensibles avant que la méthode s'exécute correctement. Et puis cette méthode fait pas mal d'appels autour, il vaut mieux que ça soit régler en premier et ensuite tu fais ta propre sauce.
Si on le fait après, y a un risque que l'action perso qu'on ait faite le gêne dans ce qu'il veut faire.