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 50 51 52 53 54 55
| #Création du menu fichier, avec des sous-menus
#tableau contenant toutes les fonctions à lancer
@fonction=('creerAfficherInf','creerafficherDonClassique','creerafficherDonavcan','creerAfficherLoi','creerAfficherCan','creerAfficherMaskcla','creerAfficherCancla','creerAfficherChgt','creerAfficherChgclass','ouvrirInf','ouvrirDon','ouvrirLoi','ouvrirCan','ouvrirMaskcla','ouvrirCancla','ouvrirChgt','ouvrirChgclass');
#tableau contenant les noms des sous menus
@fichier = ("Nouveau...","Ouvrir");
#tableau contenant le nom des commandes dans le sous-menu Nouveau...
my @Nouveau = ("fichier .INF","fichier .DON classique","fichier .DON canal temporel \& spectral","fichier .LOI","fichier .CAN","fichier .MASKCLA","fichier .CANCLA","fichier .CHGT","fichier .CHGCLASS");
#tableau contenant le nom des commandes dans le sous-menu Ouvrir
my @Ouvrir =("fichier .INF","fichier .DON","fichier .LOI","fichier .CAN","fichier .MASKCLA","fichier .CANCLA","fichier .CHGT","fichier .CHGCLASS");
#On précise quelles commandes correspondent à quel sous-menu
%sous_menu = (
"Nouveau..." => \@Nouveau,
Ouvrir => \@Ouvrir);
my %sous_menuref;
use Tk;
use Tk::Balloon;
use Tk::NoteBook ;
use Tk::Dialog;
$fenetre = new MainWindow();
$fenetre -> maxsize(640,600);
$fenetre -> minsize(640,600);
$fenetre -> title("Cesbio TITE");
$zoneMenu = $fenetre->Frame(-relief=>groove);
#création du menu Fichier
my $b_menu = $zoneMenu->Menubutton (-text => 'Fichier',-relief => 'flat' ,-tearoff => 0,-menuitems=>[
['command' => 'Quitter',-command=>sub{exit(0);}]
])->pack(-side=>'left');
#création du menu Création
my $c_menu = $zoneMenu->Menubutton (-text => 'Création',-relief => 'flat' ,-tearoff => 0,-menuitems=>[
['command' => 'auto_max_vrai07',-command=>\&lancerAuto_max_vrai],
['command' => 'auto_comp_matcnf04',-command=>\&lancerAuto_comp],
])->pack(-side=>'left');
#Création des sous menus avec leurs commandes
foreach my $m (@fichier) {
$sous_menuref{$m} = $b_menu->menu->Menu;
#print"@{$sous_menu{$m}}\n";
@a=values(%sous_menu);
#print "@a\n";
map( $sous_menuref{$m}->add('command',-label => $_), @{$sous_menu{$m}} );
$b_menu->cascade(-label => $m);
#affichage des contenus des sous-menus Nouveau... et Ouvrir
$b_menu->entryconfigure($m, -menu => $sous_menuref{$m});
}
$zoneMenu->pack(-side=>'top',-anchor=>'n',-expand=>1,-fill=>'x');
$fenetre -> Label(-text=>"Gestion de fichier TITE")->pack(-side=>'top',-anchor=>'n');
$zoneRecap = $fenetre -> Scrolled("Text",-width=>70,-height=>70,-background=>"white")->pack();
MainLoop(); |
Partager