Thread Tk::Text: Text markieren (8 answers)
Opened by Gast at 2007-05-26 19:52

PerlProfi
 2007-06-10 14:14
#46367 #46367
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Entschuldige, die Methode select() habe ich bei mir vollständig hinzugefügt, sie ist im Modul vom CPAN gar nicht vorhanden.

Allerdings musst du, wenn du tagAdd() für das Selektieren benutzt, auch tagRaise() nehmen, um den Tag immer korrekt darzustellen.
Damit hatte ich schon öfter Schwierigkeiten, dann wurde selektierter Text zwar mit blauem Hintergrund angezeigt aber mit schwarzem Fordergrund, und das sieht einfach nicht gut aus.

Die einfachste select() Methode die du in Tk.pm einfügen könntest sollte so aussehen:
Code: (dl )
1
2
3
4
5
6
7
8
sub select($$$) {
# pick parameters
my($self, $start, $end) = @_;

# select text
$self -> tagAdd('sel', $start, $end);
$self -> tagRaise('sel');
}


Bestimmt ist es schonmal jemandem aufgefallen, dass bei selektiertem Zeilenumbruch, die vollständige Zeile markiert wird.
Ich persöhnlich finde das auch sehr unschön und habe das in meiner select() Methode angepasst.
Natürlich habe ich dann noch alle Stellen im code von Tk::Text entsprechend so abgeändert, dass die select() Methode aufgerufen wird, anstatt tagAdd().
Das ist nicht sehr viel Arbeit und lohnt sich schon, wie ich finde.

MfG

View full thread Tk::Text: Text markieren