Custom OutlineView - Editer une cellule plus grande que sa vue
LeChatNoir
Membre, Modérateur
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 !
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 !
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
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.
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...