Custom OutlineView - Editer une cellule plus grande que sa vue

LeChatNoirLeChatNoir Membre, Modérateur
15:37 modifié dans API AppKit #1
Salut,
Ma custom outline est quasi finalisée.
Elle est compatible Panther (voire Jaguar mais je peux pas tester).
Je poste sur le topic lié aux tests dès que possible (là  je peux pas  :-\\).

Mais il y a un dernier point qui me chagrine :

si le texte contenu dans une cellule est plus grand que celle ci, il est tronquée au centre et "..." sont ajoutés (comme dans le finder).

Mais quand on l'édite, les "..." disparaissent et le texte apparaà®t du début jusqu'à  la fin de la cellule et est sélectionné.

Sauf que j'aimerai que le texte sélectionné soit plutôt la fin de la chaà®ne.

Comment faire ça ? Il faut faire scroller le texte ? Comment calculer à  partir de quel caractère on peut commencer ?

Merci !

Réponses

  • Eddy58Eddy58 Membre
    novembre 2005 modifié #2
    En ce qui concerne la sélection du texte et sa focalisation, ça doit être faisable avec les méthodes setSelectedRange: et scrollRangeToVisible: de la classe NSText :). Par contre sur quels paramètres te bases tu pour savoir combien de caractères tu veux sélectionner ?
    Mais pour pouvoir mettre en oeuvre ceci, il faut aussi détecter le double-clique dans le control, et à  part en surchargeant mouseDown et en récupérant le clickCount de l'event je vois pas d'autre solution.
  • LeChatNoirLeChatNoir Membre, Modérateur
    15:37 modifié #3
    Ah merci Eddy ! Je commençais à  me sentir bien seul  :(

    D'ailleurs, je n'ai aucun retours sur ma custom outline que j'ai modifiée pour la rendre compatible Panther...

    Ouinnn, personne ne m'aime ou quoi  ? :'(   :'(   :'(

    Bon, pour mon problème, j'ai avancé ce matin et j'ai utilisé effectivement scrollRangeToVisible: et ca a l'air de fonctionner.

    Je le met en oeuvre dans mon resize de cellule qui est appelé soit lors d'un textDidChange, soit lors du SelectInFrame... de ma cellule perso.

    Je différencie les 2 cas et hop, je sais faire mon scroll juste quand on édite la cellule.

    J'arrive même à  détecter le fait que le texte dépasse ou pas.

    J'ai testé le scrollRangeToVisible et ça a l'air de faire à  peu près ce que je veux.
    Par contre, ta première question est ma grande question du moment :

    Comment savoir combien de caractères je peux afficher.... ??

    Je continue mes recherches mais ca semble être du ressort du layoutManager...
Connectez-vous ou Inscrivez-vous pour répondre.