2010-11-21 14 views
1

Wir haben eine NSTextView, bei der einzelne Zeilenfragmente bei bestimmten Ereignissen neu gezeichnet werden müssen.Ein einzelnes Rect für ein Zeilenfragment in NSTextView neu zeichnen

Im Wesentlichen ist es eine Gliederung. Wenn also eine bestimmte Zeile die Nachricht "tab-out" erhält, möchten wir das rect, das die Glyphen enthält, verschieben und nicht nur den Tab-Schlüssel einfügen.

Irgendwelche Ideen, wie man das erreicht?

Danke!

Antwort

1

Ich habe dies für irgendwelche Vorschläge gesehen, aber niemand scheint es zu nehmen.

Wenn ich Sie richtig verstehe, würde ich Sie drängen, nicht mit den Zeichnungsroutinen der Textansicht herumzuspielen, besonders wenn das Cocoa-Textsystem so viele Haken auf so vielen Ebenen hat?

Dies ist im Wesentlichen ein Formatierungsproblem auf Absatzebene, oder? Warum nicht einfach die NSParagraphStyle des Absatzes einstellen? Sie können dies tun, indem Sie den Parameter headIndent setzen, bei dem es sich um den Rand vor dem Beginn des Sweep-Pfads der Benutzersprache handelt (von links nach rechts, von oben nach unten usw.).

Sie können abfangen -insertTab: und -insertBacktab: mit NSTextView -textView:doCommandBySelector: Delegate-Methode und nehmen Sie das als Ihre Cue, um den Absatz Stil zu Einzug so weit wie Sie wollen.

+0

Es stellt sich heraus, dass dies nicht tun, was wir erreichen müssen. Wir müssen die Fragmente im Layout tatsächlich fangen und verschieben. – DexterW

Verwandte Themen