#!/usr/local/bin/perl use Tk; use Tk::Pane; use Tk::Balloon; use strict; use warnings; #my $mw = new MainWindow; # Main Window our $formal_name = 'Celcius to Farienhiet Converter'; my $mw = MainWindow->new( -title => "$formal_name"); $mw->configure( -menu => my $menubar = $mw->Menu ); my $menu_help = $menubar->cascade( -label => '~Help' ); $menu_help->command( -label => "About", -command => sub { GUS::help_about::start_MainLoop() }, ); my $VARIABLE; my $VARIABLE_sec; my $numcel = 1; my $scl = $mw -> Scale(-label=>"No of Celcius Values to Enter:", -orient=>'h', -digit=>1, -from=>1, -to=>2, -variable=>\$numcel, -tickinterval=>1); my $but_sec = $mw -> Button(-text=>"Push Me", -command =>\&push_button_sec) -> pack(); sub push_button_sec { if ($numcel ==1) { my $frm_name = $mw -> Frame() -> pack(); my $lab = $frm_name -> Label(-text=>"Enter Celsius Value:") -> pack(); my $ent = $frm_name -> Entry(-textvariable=>\$VARIABLE) -> pack(); my $but = $mw -> Button(-text=>"Push Me", -command =>\&push_button_old) -> pack(); #Text Area my $frm_name2 = $mw -> Frame() -> pack(); my $lab2 = $frm_name2 -> Label(-text=>"Farienhiet:") -> pack(); my $txt = $mw -> Text(-width=>40, -height=>10) -> pack(); MainLoop; #This function will be executed when the button is pushed sub push_button_old { my $celsius = $ent -> get(); my $farienhiet = ($celsius*9/5)+32; my $msg = sprintf( "%s Celsius = %3.1f Fahrenheit\n", $celsius, $farienhiet ); $txt -> insert('end', $msg); } } if ($numcel ==2) { my $frm_name = $mw -> Frame() -> pack(); my $lab = $frm_name -> Label(-text=>"Enter Celsius Value 1:") -> pack(); my $ent = $frm_name -> Entry(-textvariable=>\$VARIABLE) -> pack(); my $frm_name_sec = $mw -> Frame() -> pack(); my $lab_sec = $frm_name_sec -> Label(-text=>"Enter Celsius Value 1:") -> pack(); my $ent_sec = $frm_name_sec -> Entry(-textvariable=>\$VARIABLE_sec) -> pack(); my $but = $mw -> Button(-text=>"Push Me", -command =>\&push_button) -> pack(); #Text Area my $frm_name2 = $mw -> Frame() -> pack(); my $lab2 = $frm_name2 -> Label(-text=>"Farienhiet1:") -> pack(); my $txt = $mw -> Text(-width=>40, -height=>2) -> pack(); my $frm_name2_sec = $mw -> Frame() -> pack(); my $lab2_sec = $frm_name2_sec -> Label(-text=>"Farienhiet2:") -> pack(); my $txt_sec = $mw -> Text(-width=>40, -height=>2) -> pack(); MainLoop; sub push_button { my $celsius = $ent -> get(); my $farienhiet = ($celsius*9/5)+32; my $msg = sprintf( "%s Celsius = %3.1f Fahrenheit\n", $celsius, $farienhiet ); $txt -> insert('end', $msg); my $celsius_sec = $ent_sec -> get(); my $farienhiet_sec = ($celsius_sec*9/5)+32; my $msg_sec = sprintf( "%s Celsius = %3.1f Fahrenheit\n", $celsius_sec, $farienhiet_sec ); $txt_sec -> insert('end', $msg); } } }