RE: text in a widget, text-widget

"Van Nieuwenhuize, Mike" <[email protected]> Tue, 25 Apr 2006 13:55:44 -0700
Newsgroups gmane.comp.lang.perl.tk
Message-ID <[email protected]>
Johan,

Here this will give you an idea how to create a link in a text widget as
well as some other tags.

HTH 

Mike

use strict;
use Tk;
use Tk::Dialog;

my $mainWindow = MainWindow->new(-title => "Test Tags");

my $sc_width  = 100;
my $sc_height = 15;

my $scrolled =  $mainWindow->Scrolled(
                                        "Text",
                                        -scrollbars => 'se',
                                        -background => 'white',
                                        -wrap       => 'none',
                                        -width      => $sc_width,
                                        -height     => $sc_height,


                                        )->pack(
                                                    -fill   => 'both',
                                                    -expand => '0',

                                                    );

#lets set up some color tags for text
$scrolled->tagConfigure('BLUE',-foreground => 'blue'); 
$scrolled->tagConfigure('LINK',-underline => 1); 
$scrolled->tagConfigure('RED',-background => 'red');
$scrolled->tagBind('LINK',"<Button-1>",sub { $scrolled->Dialog(-text =>
"Hey you pushed the link")->Show()});

my $frame = $mainWindow->Frame( -relief => 'ridge',-borderwidth => 3,);

my $exitB  = $frame->Button(
                            -text    => 'EXIT',
                            -width   => 5,
                            -command => sub { exit 0},

                            )->pack(
                                        -side   => 'left',
                                        -anchor => 'n',

                                        );

$frame->pack(
                -expand => 1,
                -fill   => 'x',

                );


$scrolled->insert('end',"Here is a green text\n",['GREEN']);
$scrolled->insert('end',"Here is a blue link\n",['BLUE','LINK']);
$scrolled->insert('end',"Here is a blue text with red
background",['BLUE','RED']);


MainLoop();

-----Original Message-----
From: [email protected] [mailto:[email protected]]
On Behalf Of Johan Meskens CS3 jmcs3
Sent: Tuesday, April 25, 2006 11:12 AM
To: [email protected]
Subject: text in a widget, text-widget


hello


i have an application with a couple of text widgets but i would like to
add some functionalities that at first and second sight are not directly
supported by the plain text widget itself
 - ?

for example i would like certain lines of text within the textwidget to
take  different background colors according to certain parameters

also i would like to be able to detect certain sentences or words that
would become 'links' and by clicking them i would open up different
windows

any suggestions to solutions and widgets for the above problems ?

 - i probably could use the canvas for the color-thing .. as i write
this ..

kind regards
jmcs3








--------the following could be unreadable @ 1145988711   ::: 
--a-=-t-g-i-
 , Bottom:
 , particular
 , ||
 , |2
 , },
 , oo,loent,uaha
 , ::::::opthe
 , lead
 , |
 , |---|
 , _________________
 , 




-++**==--++**==--++**==--++**==--++**==--++**==--++**==
This message was posted through the Stanford campus mailing list server.
If you wish to unsubscribe from this mailing list, send the message body
of "unsubscribe ptk" to [email protected]

-++**==--++**==--++**==--++**==--++**==--++**==--++**==
This message was posted through the Stanford campus mailing list
server.  If you wish to unsubscribe from this mailing list, send the
message body of "unsubscribe ptk" to [email protected]