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 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
|
# -- Définition des Variables Tk -- #
my ($Fenetre_Principale, $Frame_Principale);
my $color = "thistle4";
my ($Barre_Menu, $Menu_App, $Sous_Menu_App);
# -- Création de la Fenêtre Principale -- #
$Fenetre_Principale = MainWindow->new();
$Fenetre_Principale->minsize('800','600');
$Fenetre_Principale->title("Interface Admin ISOTOP");
# -- Création de la Frame Centrale -- #
$Frame_Principale = $Fenetre_Principale -> Frame(-relief => 'groove', -borderwidth =>8, -background => $color);
#tableau contenant les noms des sous menus
my @Table_Sous_Menu = ("DBI_MyAdmin");
#tableau contenant le nom des commandes dans le sous-menu Nouveau...
my @DBI_MyAdmin = ("Langue","Jetton");
#On précise quelles commandes correspondent à quel sous-menu
my %sous_menu = ("DBI_MyAdmin" => \@DBI_MyAdmin);
my %sous_menuref;
# -- Création de la barre de menu (enTête de page) -- #
$Barre_Menu = $Fenetre_Principale -> Frame(-relief => 'groove' , -borderwidth =>2, -background => $color, -foreground => 'white');
# -- Gestion des Menus -- #
# -- Menu Application -- #
$Menu_App = $Barre_Menu->Menubutton(-text => 'Application',
-font => '{Garamond} 12',
-tearoff => 0,
-background => $color,
-foreground => 'white'
);
#Création des sous menus avec leurs commandes
foreach my $m (@Table_Sous_Menu)
{
$sous_menuref{$m} = $Menu_App->menu->Menu;
my @a=values(%sous_menu);
map( $sous_menuref{$m}->add('command',-label => $_, -command => sub {Sous_Menu(@{$sous_menu{$m}});}), @{$sous_menu{$m}} );
$Menu_App->cascade(-label => $m);
#affichage des contenus des sous-menus
$Menu_App->entryconfigure($m, -menu => $sous_menuref{$m});
}
# -- Gestion de l'affichage des widget -- #
$Barre_Menu->pack(-side => 'top' , -anchor => 'n' , -fill => 'x');
$Frame_Principale->pack(-anchor => 'center', -fill => 'both', -expand => 'y');
$Menu_App->pack(-side => 'left');
# -- Lanceur d'évènement -- #
MainLoop;
# -- Fonctions Principales -- #
sub Sous_Menu
{
my ($test) = @_;
print $test;
} |
Partager