Changer l'édition de champs.

2»

Réponses

  • muqaddarmuqaddar Administrateur
    15:41 modifié #32
    dans 1094763897:

    dans 1094763360:

    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 :)


    Doux jésus, ça a l'air de marcher !
  • muqaddarmuqaddar Administrateur
    15:41 modifié #33
    dans 1094763897:

    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
  • muqaddarmuqaddar Administrateur
    15:41 modifié #34
    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 !
  • muqaddarmuqaddar Administrateur
    septembre 2004 modifié #35
    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
  • ClicCoolClicCool Membre
    15:41 modifié #36
    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 ???
  • ClicCoolClicCool Membre
    15:41 modifié #37
    dans 1094765443:

    ça doit pouvoir se coder on the fly, p-e à  l'intérieur du transformeur non ?
    Peut -être avec ça : - (void)setBezeled:(BOOL)flag


    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.
  • muqaddarmuqaddar Administrateur
    15:41 modifié #38
    Je vois pas encore comment je vais me passer d'outlet pour ça....
  • ClicCoolClicCool Membre
    15:41 modifié #39
    Salut Osxitan :)

    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!:
  • ClicCoolClicCool Membre
    15:41 modifié #40
    Voilà , le bug est démontrer,
    en effet il est tout à  fait reproductible et apparait dans ces conditions là  très exactement:
    • Le champ de saisi n'a pas de fond dessiné
    • un (des) Place Holder maisons sont défini dans le binding


    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):
  • muqaddarmuqaddar Administrateur
    15:41 modifié #41
    => ah oui, là , ça marche ! Bizarre...

    Question bête comme dirait petit bras ;) : c'ets quoi la diiférence entre le placeholder du panneau attributes et celui des bindings ?
  • muqaddarmuqaddar Administrateur
    15:41 modifié #42
    dans 1094811721:

    Voilà , le bug est démontrer,
    en effet il est tout à  fait reproductible et apparait dans ces conditions là  très exactement:
    • Le champ de saisi n'a pas de fond dessiné
    • un (des) Place Holder maisons sont défini dans le binding


    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):



    Merci :) Seulement tu vois une parade à  part mettre une couleur ?
  • ClicCoolClicCool Membre
    septembre 2004 modifié #43
    dans 1094812108:

    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
  • ClicCoolClicCool Membre
    15:41 modifié #44
    dans 1094811738:

    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)
  • muqaddarmuqaddar Administrateur
    15:41 modifié #45
    p-e qu'en changeant le setBezeled en édition, ça pourrait marcher ? (on sait jamais)
  • odjauodjau Membre
    15:41 modifié #46
    dans 1094811738:

    Question bête comme dirait petit bras ;) :


    Attention, va y avoir des royalties   ;D ;D ;D
Connectez-vous ou Inscrivez-vous pour répondre.