A question arose concerning getting a range of selections from a Text widget. Nick Ing-Simmons' answer mentions several possibilities including:
Keyboard Copy/Paste 'is' implemented of course...
Subj: RE: $Text->tag('ranges', 'sel') - does this work?
In <199512291957.OAA02609@ohm.nrl.navy.mil>
On Fri, 29 Dec 1995 14:57:42 -0500
Charles J Williams <chas@ohm.nrl.navy.mil> writes:
!I was writing a little tk perl today, and i decided to try to
!implement a copy/paste using the 'sel' tag
!
!I enabled exportselection, and then try to probe the select
!region with:
!
! $buffer = $text->tag('ranges', 'sel');
!
!$buffer comes back with one entry, the end of the selection.
That is to be expected - the scalar gets assigned the last element of the list.
!I tried:
!
! @buffer = $text->tag('ranges', 'sel');
!
!same difference.
This seems to work for me:
($start,$end) = $text->tagRanges('sel');
In perl/Tk ->tagRanges(...) is an alias for ->tag('ranges',...)The following subroutine can also probe and print the tagRanges:
sub showsel
{
my $text = @_;
my @info = $text->tagRanges('sel');
if (@info)
{
print "start=$info[0] end=$info[1]\n"
}
}
Previous | Return to table of contents | Next