Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: Tab Order for Widgets in HList

by Anonymous Monk
on Oct 19, 2011 at 13:30 UTC ( [id://932400]=note: print w/replies, xml ) Need Help??


in reply to Tab Order for Widgets in HList

Here is a stupid way to do it :)
#!/usr/bin/perl -- use strict; use warnings; use Tk; use Tk::HList; my $mw = MainWindow->new(); my $hlist = $mw->HList( -header => 0, -columns => 1 )->pack( qw/-expan +d 1 -fill both /); $hlist->add(0); $hlist->itemCreate(0, 0, -itemtype => 'window', -widget => $hlist->Ent +ry(-text => "Text0") ); $hlist->add(1); $hlist->itemCreate(1, 0, -itemtype => 'window', -widget => $hlist->Ent +ry(-text => "Text1") ); $hlist->add(2); $hlist->itemCreate(2, 0, -itemtype => 'window', -widget => $hlist->Ent +ry(-text => "Text2") ); $mw -> bind('all','<Tab>', sub { no warnings 'uninitialized'; $hlist->focus; my $origSel = $hlist->info('anchor'); $hlist->UpDown('next'); my $newSel = $hlist->info('anchor'); if( ( $origSel and $newSel ) and ( $origSel == $newSel ) ){ $hlist->selectionClear; $hlist->anchorClear; $hlist->UpDown('next'); # go back to zero } Tk::break(); }); MainLoop; __END__

Replies are listed 'Best First'.
Re^2: Tab Order for Widgets in HList
by Anonymous Monk on Oct 19, 2011 at 13:31 UTC
    And the smart way
    $mw -> bind('all','<Tab>', sub { $Tk::event->W ->focusPrev; Tk::break(); } ); $mw -> bind('all','<Shift-Tab>', sub { $Tk::event->W ->focusNext; Tk::break(); } );
      Very nice! But, for me, Shift-Tab does not work, I have to specify Shift-ISO_Left_Tab :-(
        Checking the source for Tk::MainWindow reveals that it uses the virtual <<LeftTab>>, so this should work for all, and its even simpler
        $mw->bind('all','<Tab>','focusPrev'); $mw->bind('all','<<LeftTab>>','focusNext');

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others contemplating the Monastery: (6)
As of 2024-03-29 12:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found