En fait, il faudrait le même système que le carnet d'adresse : si le champ devient vide en édition, ça remet une valeur par défaut (No selction, toto, titi...etc), sinon, du moment que y'a un caractère, ça le prend en compte...
Ce devrait être faisable avec le Null Place Holder
Pour ça tu peux encadrer le champs d'une NSBox dont tu bindes (encore ) la propriété Hiden avec isEditable du champs. Mais là le cadre apparâit dès que c'est éditable et pas seulement quand c'est édité. Je regarde de plus près ce qu'on peut faire
Pas bête du tout, même si ça fait bidouille... p'tit génie
Saperlipopette, j'ai le même soucis par contre avec le Null Place Holder, qui se voit sous l'édition du texte. Il doit y avoir une possibilité d'arranger ça !
J'ai trouvé ce que je voulais faire en mode édition : passer le border comme ds les atributes, text border, 3è icône, c'est propre et discret, ça doit pouvoir se coder on the fly, p-e à l'intérieur du transformeur non ?
Peut -être avec ça : - (void)setBezeled:(BOOL)flag
J'avoue que j'ai jamais vu ça ! pourtant en reproduisant ton soft, j'ai le même comportement. Du pain sur la planche à venir pour débrouiller ça. On dirait que dès qu'on édite le champ il oublie qu'il a un contenu ???
Ben il semble que ce soit un véritable bug qui est à l'origine de la surimpression des places holders sur tes champs quand ils passent en mode d'édition.Â
En effet:
1) après vérification de tes bindings: pas d'erreur détectée et il Y A BIEN une sélection et une valeur en cours alors que les place holders se surimprimment.
2) si tu paramètre ton champs dans IB (panneau attributes) pour lui assigner un fond (Mercury par ex) en veillant à ce que la boite Drawn soit cochée, tout rentre dans l'ordre: les places holders restent tranquiles et ne s'affichent que quand on les siffle :rose!:
Merci Seulement tu vois une parade à part mettre une couleur ?
Ben, je cherche encore, mais pour le moment, à part attendre qu'Apple corrige ce bug, je vois pas :-\
{EDIT] A moins que t'envisages d'écrire ta propre classe TextFieldSansFond bien sur mais j'ai bien peur qu'il soit plus rapide d'attendre Apple et Tiger ;D
c'ets quoi la diiférence entre le placeholder du panneau attributes et celui des bindings ?
Le place holder est une nouvelle propriété des NSTextFieldCell (depuis OsX 10.3). Il s'affiche en grisé quand il n'y a pas de valeur pour le champ. Il disparait dès que le champs a le focus en saisie ou quand il contient une valeur. Défini sous IB c'est un PlaceHolderString, défini à la volée ce peut être aussi un placeHolderAttributedString.
Je ne l'ai jamais utilisé mais il me semble que la présence d'un binding sur le champ prend le pas sur ce PlaceHolder même si aucun Place Holder n'est défini dans le binding. (à tester)
Réponses
Doux jésus, ça a l'air de marcher !
Pas bête du tout, même si ça fait bidouille... p'tit génie
Il doit y avoir une possibilité d'arranger ça !
Peut -être avec ça : - (void)setBezeled:(BOOL)flag
pourtant en reproduisant ton soft, j'ai le même comportement.
Du pain sur la planche à venir pour débrouiller ça.
On dirait que dès qu'on édite le champ il oublie qu'il a un contenu ???
La propriété Bezeled n'est pas bindable sous I.B., mais y'a en effet des chances qu'on puisse la binder à la volée dans l'AppController
C'est sur ce serait plus propre.
Ben il semble que ce soit un véritable bug qui est à l'origine de la surimpression des places holders sur tes champs quand ils passent en mode d'édition.Â
En effet:
1) après vérification de tes bindings: pas d'erreur détectée et il Y A BIEN une sélection et une valeur en cours alors que les place holders se surimprimment.
2) si tu paramètre ton champs dans IB (panneau attributes) pour lui assigner un fond (Mercury par ex) en veillant à ce que la boite Drawn soit cochée, tout rentre dans l'ordre: les places holders restent tranquiles et ne s'affichent que quand on les siffle :rose!:
en effet il est tout à fait reproductible et apparait dans ces conditions là très exactement:
Chaque fois que ces 2 conditions sont réunis, le place holder s'affiche dès que le champs prend le focus et entre en édition.
:rose!: :rose!: :rose!: :rose!: :rose!:
Non, non, je vous en prie, c'était facile 8) :boss):
Question bête comme dirait petit bras : c'ets quoi la diiférence entre le placeholder du panneau attributes et celui des bindings ?
Merci Seulement tu vois une parade à part mettre une couleur ?
Ben, je cherche encore, mais pour le moment, à part attendre qu'Apple corrige ce bug, je vois pas :-\
{EDIT] A moins que t'envisages d'écrire ta propre classe TextFieldSansFond bien sur mais j'ai bien peur qu'il soit plus rapide d'attendre Apple et Tiger ;D
Le place holder est une nouvelle propriété des NSTextFieldCell (depuis OsX 10.3). Il s'affiche en grisé quand il n'y a pas de valeur pour le champ.
Il disparait dès que le champs a le focus en saisie ou quand il contient une valeur.
Défini sous IB c'est un PlaceHolderString, défini à la volée ce peut être aussi un placeHolderAttributedString.
Je ne l'ai jamais utilisé mais il me semble que la présence d'un binding sur le champ prend le pas sur ce PlaceHolder même si aucun Place Holder n'est défini dans le binding. (à tester)
Attention, va y avoir des royalties ;D ;D ;D