use Tk; use Tk::ColumnView; use Data::Dumper; use lib "."; use strict; use warnings; my $mw = new MainWindow; #my $l1 = $pw->Label(-text => "This is the\nleft side", -background => 'yellow'); #my $l2 = $pw->Label(-text => "This is the\nright side", -background =>'cyan'); #my $l3 = $pw->Label(-text => "This is the\nright side", -background =>'cyan'); my $columnView = $mw->ColumnView( # -left_right_nav => sub {print "Hej\n"}, # -columns => 1, # -scrollbars => 'osoe', -left_right_nav => \&left_right_navigation, -up_down_nav => \&up_down_navigation, -browsecmd => sub { my $file = shift; print $file . "\n"; print Dumper(@_); } )->pack(-expand => 1, -fill => 'both'); #$columnView->setOverRideLeftRightNavigation(1); $columnView->addColumn("Root", [ "PerlMonks" ]); $columnView->addColumn("PerlMonks", [ "Seekers of Perl Wisdom", "Meditations", "PerlMonks Discussion", "Snippets", "Obfuscation", "Reviews", "Cool Uses For Perl", "Perl News", ] ); #$columnView->addColumn("Title", "./*"); #$columnView->addColumn("Title", "./*"); #$columnView->modifyColumn("Title", "./*"); #$columnView->addColumn(); $columnView->setFocusOnColunmNamed("PerlMonks"); $mw->MainLoop; sub left_right_navigation { my $nav = shift; my $selected = shift; my $single_one = shift; if ($nav eq "left") { if ($columnView->getAmountOfColumns() > 2) { $columnView->delLastColumn(); } } elsif ($nav eq "right") { $columnView->addColumn($selected); } } sub up_down_navigation { my $nav = shift; my $selected = shift; my $single_one = shift; return if (!defined($single_one)); if ($single_one eq "Seekers of Perl Wisdom") { $columnView->modifyColumn("PerlMonks", [ "Why is Perl the best?", "What is the time?" ] ); } elsif ($single_one eq "Cool Uses For Perl") { $columnView->modifyColumn("PerlMonks", [ "OS made in Perl", "Perlmodule for spacetravel"] ); } else { if ($columnView->getAmountOfColumns() == 3) { $columnView->modifyColumn("PerlMonks", [] ); } } }