Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number

Text Highlighting in Tk::Text window

by Rich36 (Chaplain)
on May 24, 2002 at 19:18 UTC ( [id://169190]=CUFP: print w/replies, xml ) Need Help??

This code is used to highlight text in a Tk::Text window. This is useful in the context of highlighting some kind of tags, but could be used for any text. By changing a value, you can turn the text highlighting on and off.

Usage (from Tk widget "-command" option):

[\&toggleTextHighlighting \$highlight, \$regex, \$widget]

Where $highlight equals 1 or 2 (highlighting on or off), $regex is the regular expression used to highlight the text, and $widget is a reference to a Text widget.

sub toggleTextHighlighting { my ($highlight, $regex, $widget) = @_; # Deference the variables that you need to get values from $highlight = ${$highlight}; $regex = ${$regex}; $widget = ${$widget}; # Create a tag to configure the text $widget->tagConfigure('foundtag', -foreground => "white", -background => "red"); if ($highlight == 1) { $widget->FindAll(-regex, -nocase, $regex); if ($widget->tagRanges('sel')) { my %startfinish = $widget->tagRanges('sel'); foreach(sort keys %startfinish) { $widget->tagAdd("foundtag", $_, $startfinish{$_}); } $widget->tagRemove('sel', '1.0', 'end'); } } else { $widget->tagRemove("foundtag", '1.0', 'end'); } }

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: CUFP [id://169190]
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (4)
As of 2024-07-23 15:20 GMT
Find Nodes?
    Voting Booth?

    No recent polls found

    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.