I'm not sure what is going on, but its something :)
tab x 5, enter x 10
MainWindow=HASH(0xe911ac) bindtags ( MainWindow , . , all , )
Tk::Entry=HASH(0xed9414) bindtags ( Tk::Entry , .entry , . , all , )
Tk::Entry=HASH(0xed96b4) bindtags ( Tk::Entry , .entry4 , . , all , )
Tk::Entry=HASH(0xed95f4) bindtags ( Tk::Entry , .entry1 , . , all , )
Tk::Entry=HASH(0xed9664) bindtags ( Tk::Entry , .entry3 , . , all , )
Tk::Entry=HASH(0xed9644) bindtags ( Tk::Entry , .entry2 , . , all , )
MainWindow=HASH(0xe911ac) = $win
Tk::Entry=HASH(0xed9414) = $foo
Tk::Entry=HASH(0xed95f4) = $bar
Tk::Entry=HASH(0xed9644) = $baz
Tk::Entry=HASH(0xed9664) = $boo
Tk::Entry=HASH(0xed96b4) = $baa
focus Tk::Entry=HASH(0xed9414) Tk::Entry=HASH(0xed9644)
focus Tk::Entry=HASH(0xed9644) Tk::Entry=HASH(0xed9644)
focus Tk::Entry=HASH(0xed9644) Tk::Entry=HASH(0xed9644)
focus Tk::Entry=HASH(0xed9644) Tk::Entry=HASH(0xed9644)
focus Tk::Entry=HASH(0xed9644) Tk::Entry=HASH(0xed9644)
focus Tk::Entry=HASH(0xed9644) Tk::Entry=HASH(0xed9414)
focus Tk::Entry=HASH(0xed9414) Tk::Entry=HASH(0xed96b4)
focus Tk::Entry=HASH(0xed96b4) Tk::Entry=HASH(0xed95f4)
focus Tk::Entry=HASH(0xed95f4) Tk::Entry=HASH(0xed9664)
focus Tk::Entry=HASH(0xed9664) Tk::Entry=HASH(0xed9644)
focus Tk::Entry=HASH(0xed9644) Tk::Entry=HASH(0xed9414)
focus Tk::Entry=HASH(0xed9414) Tk::Entry=HASH(0xed96b4)
focus Tk::Entry=HASH(0xed96b4) Tk::Entry=HASH(0xed95f4)
focus Tk::Entry=HASH(0xed95f4) Tk::Entry=HASH(0xed9664)
focus Tk::Entry=HASH(0xed9664) Tk::Entry=HASH(0xed9644)
This works
sub defineOrder
{
my $widget;
for (my $i=0; defined( $_[$i+1] ); $i++)
{
$_[$i]->bind( '<Key-Return>', [\&focus, $_[$i+1]]);
$_[$i]->bind( '<Tab>', [\&focus, $_[$i+1]]);
}
# Uncomment this line if you want to wrap around
$_[ $#_ ]->bind('<Key-Return>', [\&focus, $_[0]]);
$_[ $#_ ]->bind('<Tab>', [\&focus, $_[0]]);
$_[0]->focus;
}
Using defineOrder($win, $foo,$baa,$bar,$boo,$baz); eliminates the need for the wraparound portion
|