1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| #!/opt/perl_5.8.8/bin/perl -w
use warnings;
use strict;
use Tk;
use Tk::Tree;
use Data::Dumper;
my $mw = Tk::MainWindow->new();
$mw->minsize( 400 , 200 );
my $Frame = $mw->Frame()->pack();
#liste des elements de l'arbre avec la hierarchie (en dur)
my @elements=('listCollections',
'listCollections@test0',
'listCollections@test0@test0.0',
'listCollections@test0@test0.0@test0.0.0',
'listCollections@test0@test0.0@test0.0.1',
'listCollections@test0@test0.1',
'listCollections@test2',
'listCollections@test2',
'listCollections@test0@test2.0'
);
#creation du widget arbre
my $tree = $Frame->Scrolled(
'Tree',
-highlightthickness => 0,
-relief => 'flat',
-scrollbars => 'osoe',
-borderwidth => 1,
-separator => '@',
-drawbranch => 'true',
-indicator => 'true',
-width => '50',
-height => '10',
-selectborderwidth => '0',)->pack();
#creation de l'arbre
$tree->autosetmode;
foreach(@elements){
my @chemin=split(/\@/,$_);
my $test = $tree->info( 'exists', $_ );
$tree->add($_, -text => $chemin[-1], -itemtype, 'text') unless( $test );
}
#voir le nom de l'element selectionné
$tree->bind('<Button-1>',sub{ print Dumper($tree->info( 'selection' ))."\n" });
MainLoop(); |
Partager