2010-11-21 17 views
1

Nous avons un NSTextView qui doit avoir des fragments de ligne unique redessinés sur certains événements.Redessiner un seul rect pour un fragment de ligne dans NSTextView

Essentiellement, c'est un contour. Donc, quand une ligne particulière reçoit le message "tab out", nous voulons déplacer le rect contenant les glyphes plutôt que d'insérer simplement la touche de tabulation.

Des idées sur la façon d'accomplir cela?

Merci!

Répondre

1

J'ai regardé ceci pour des suggestions mais personne ne semble le prendre. Si je vous comprends bien, je vous conseille vivement de ne pas essayer de déranger les routines de dessin de la vue texte, surtout quand le système de texte Cocoa a tellement de hooks à tant de niveaux?

Il s'agit essentiellement d'un problème de formatage au niveau du paragraphe, n'est-ce pas? Pourquoi ne pas simplement définir le NSParagraphStyle du paragraphe? Vous pouvez le faire en définissant headIndent, qui est la marge avant le début du chemin de balayage de la langue de l'utilisateur (de gauche à droite, de haut en bas, etc.).

Vous pouvez intercepter -insertTab: et -insertBacktab: en utilisant la méthode déléguée -textView:doCommandBySelector: de NSTextView et prendre cela comme repère pour modifier le style de paragraphe pour le mettre en retrait aussi loin que vous le souhaitez.

+0

Il s'avère que cela ne fait pas ce que nous devons accomplir. Nous devons effectivement attraper les fragments à la disposition et les déplacer. – DexterW