[Résolu] NSOutlineView : redimensionnement des cellules en cours de frappe

LeChatNoirLeChatNoir Membre, Modérateur
novembre 2005 modifié dans API AppKit #1
Salut,

Je remet sur le tapis un vieux topic : http://www.objective-cocoa.org/forum/index.php?topic=1260.0 .

Donc, j'ai réussi :
* grâce à  Chacha, à  obtenir, lors de l'édition, un rectangle qui fait pile poil la taille du texte,
* grâce à  une mail list, à  faire en sorte que le champ se redimensionne lors de la frappe.

Pour le 2eme point, il suffit d'intercepter textDidChange dans ma sous classe de mon outlineview, de retailler la textView passée dans la notification et sa superview (de classe privée NSKeyboardFocus...qqchose).

Problèmes : le champs s'aggrandit et le texte saisit s'affiche mais :
* le rectangle entourant le texte (rectangle de sélection) ne suit pas,
* le texte nouvellement saisi n'a pas la même apparence que celui précédemment édité (il parait tout net alors que le texte précédemment édité est moins net avec background plus foncé...).

Je me demande donc comment redessiné ce rectangle... voire le customiser....

Any help or purpose would be appreciate !

Thanks !


Réponses

  • LeChatNoirLeChatNoir Membre, Modérateur
    novembre 2005 modifié #2
    Bon, soit ça n'intéresse personne, soit personne ne sait  :-\\

    Mais heureusement, je suis limite opiniatre et .....

    :p   <3   <b>[glow=red,2,300]J'ai trouvé !!!!!!!!!!  [/glow] :p <3 :o<br />
    Avec un savant mélange entre le code de
    * Wil Shipley (http://wilshipley.com/blog/2005/07/pimp-my-code-part-3-gradient.html) pour avoir une sélection dégradée,
    * et celui de Ryan Stevens (http://www.cocoadev.com/index.pl?CCDGradientSelectionTableView) pour le champ qui s'agrandit,

    J'arrive à  faire de chouettes trucs dans mon outlineview !

    J'suis super content !  :(renaud):
    Ca regroupe pleins de concepts en plus (vues, tracage de rect, layoutmanager, etc...). Trop génial !

    Merci à  eux  o:) :p

    Et j'espère que vous apprécierez !

    a+

    PS : j'aimerai bien mettre [résolu] dans le titre mais je sais pas faire  :-\\
  • 15:47 modifié #3
    Bien joué. Pour mettre le résolu tu édites simplement le premier message et là  tu peux modifier le titre (mais c'est bon pour une fois, c'est fait ;)).
  • AntilogAntilog Membre
    15:47 modifié #4
    dans 1132139097:

    Bon, soit ça n'intéresse personne, soit personne ne sait  :-\\

    Mais heureusement, je suis limite opiniatre et .....

    :p   <3   <b>[glow=red,2,300]J'ai trouvé !!!!!!!!!!  [/glow] :p <3 :o<br />
    []


    Super! Content pour toi!
    Comme ça avait l'air particulièrement difficile, est-ce que tu n'envisagerais pas de diffuser un exemple de code minimal pour obtenir le résultat (avec les différentes sous-classes, éventuellement).
    Non pas que ça me concerne actuellement, mais d'autres peut-être  ::)
  • LeChatNoirLeChatNoir Membre, Modérateur
    15:47 modifié #5
    Merci Renaud.
    Pas de pb pour le code. Faut juste que je peaufine car les exemples donnés sont un peu disparates.
    L'un se fait sur une TableView avec les couleurs "highlight" systèmes.
    L'autre avec des images pdf un peu pourries (je préfère la première solution) et avec 2 colonnes d'une tableview qui sont transformées en une seule en changeant l'aspect du "header".

    Et comme de mon côté, c'est une outlineview, je fusionne, corrige, modifie, etc, etc... Et comme j'ai peu de temps, c'est pas fini.

    Mais j'y pense.

    a+
Connectez-vous ou Inscrivez-vous pour répondre.