#!/usr/bin/perl
use Glib qw/TRUE FALSE/;
use Gtk2 '-init';
sub calcolabmi
{
$peso = $pesoe->get_text;
$altezzacm = $altezzae->get_text;
$altezzam = ($altezzacm/100);
$bmi = ($peso/$altezzam/$altezzam);
$bmil->set_text($bmi);
}
sub resetall
{
$pesoe->set_text("");
$altezzae->set_text("");
$bmil->set_text("");
}
sub esci
{
Gtk2->main_quit;
}
#Start Gui
$gui = Gtk2::Window::new("toplevel");
$gui->signal_connect(destroy => \&esci);
$gui->set_position("center");
$gui->set_title("BMI");
#row1
my ($homogeneous, $spacing, $expand, $fill, $padding) = @_;
$pesol = Gtk2::Label->new("Peso (kg):");
$pesoe = Gtk2::Entry->new;
$riga1 = Gtk2::HBox::new(1, 0.2);
$riga1->pack_start($pesol, $expand, $fill, $padding);
$riga1->pack_start($pesoe, $expand, $fill, $padding);
$pesol->show;
$pesoe->show;
#row 2
$altezzal = Gtk2::Label->new("Altezza (cm):");
$altezzae = Gtk2::Entry->new;
$riga2 = Gtk2::HBox::new(1, 0.2);
$riga2->pack_start($altezzal, $expand, $fill, $padding);
$riga2->pack_start($altezzae, $expand, $fill, $padding);
$altezzal->show;
$altezzae->show;
#row 3
$ibmil = Gtk2::Label->new("BMI:");
$bmil = Gtk2::Label->new("");
$riga3 = Gtk2::HBox::new(1, 0.2);
$riga3->pack_start($ibmil, $expand, $fill, $padding);
$riga3->pack_start($bmil, $expand, $fill, $padding);
$ibmil->show;
$bmil->show;
#row 4
$bmib = Gtk2::Button->new("Calcola BMI");
$bmib->signal_connect(clicked => \&calcolabmi);
$clearb = Gtk2::Button->new("Cancella");
$clearb->signal_connect(clicked => \&resetall);
$escib = Gtk2::Button->new("Esci");
$escib->signal_connect(clicked => \&esci);
$riga4 = Gtk2::HBox::new(1, 0.2);
$riga4->pack_start($bmib,$expand, $fill, $padding);
$riga4->pack_start($clearb,$expand, $fill, $padding);
$riga4->pack_start($escib,$expand, $fill, $padding);
$bmib->show;
$clearb->show;
$escib->show;
#Cont
$cont = Gtk2::VBox::new($homogeneous, $spacing);
$cont->pack_start($riga1, $expand, $fill, $padding);
$cont->pack_start($riga2, $expand, $fill, $padding);
$cont->pack_start($riga3, $expand, $fill, $padding);
$cont->pack_start($riga4, $expand, $fill, $padding);
$riga1->show;
$riga2->show;
$riga3->show;
$riga4->show;
#Add&Show
$gui->add($cont);
$cont->show;
$gui->show;
Gtk2->main;