D
doni
Hi,
I am trying to do some error checking on my Entry Widget in this Perl/
Tk test program. I would like to check if the user has entered some
text under Filename before he starts pressing the "Load" button. Will
"validate command" option under Entry Widget work for this. Can anyone
point me how should I go about this.
Here is the source code.
#!/usr/bin/perl
use Tk;
$mw = MainWindow->new;
$mw->configure(-title=>'Test',
-background=>'blue',
-width=>"700",
-height=>"500");
$info = "Start Loading Filename...";
# Create necessary widgets
$f = $mw->Frame->pack(-side => 'top',
-fill => 'x');
$f->Label(-text => "Filename:")->pack(-side => 'left',
-anchor =>
'center');
$f->Entry(-textvariable => \$filename)->pack(-side => 'left',
-
anchor => 'w',
-fill
=> 'x',
-
expand => 1);
$f->Button(-text => "Exit",
-activebackground => "red",
-underline => 1,
-command => sub {exit;})->pack(-side => 'right');
$f->Button(-text=>"Clear",
-command=> sub {$t->delete("0.0",'end')})->pack(-
side=>'right',
-anchor=>'s');
$f->Button(-text => "Save",
-command => \&save_file)->pack(-side => 'right',
-
anchor => 'e');
$f->Button(-text => "Load",
-command => \&load_file)->pack(-side => 'right',
-
anchor => 'e');
$mw->Label(-textvariable => \$info,
-relief => 'ridge')->pack(-side => 'bottom',
-fill => 'x');
$t = $mw->Scrolled("Text")->pack(-side => 'bottom',
-fill => 'both',
-expand => 1);
MainLoop;
# load_file checks to see what the filename is and loads it if
possible
sub load_file {
$info = "Loading file '$filename'...";
$t->delete("1.0", "end");
if (!open(FH, "/$filename")) {
$t->insert("end", "ERROR: Could not open $filename\n");
return;
}
while (<FH>) { $t->insert("end", $_); }
close (FH);
$info = "File '$filename' loaded";
}
# save_file saves the file using the filename in the Entry box.
sub save_file {
$info = "Saving '$filename'";
open (FH, ">$filename");
print FH $t->get("1.0", "end");
$info = "Saved.";
}
Thanks,
doni
I am trying to do some error checking on my Entry Widget in this Perl/
Tk test program. I would like to check if the user has entered some
text under Filename before he starts pressing the "Load" button. Will
"validate command" option under Entry Widget work for this. Can anyone
point me how should I go about this.
Here is the source code.
#!/usr/bin/perl
use Tk;
$mw = MainWindow->new;
$mw->configure(-title=>'Test',
-background=>'blue',
-width=>"700",
-height=>"500");
$info = "Start Loading Filename...";
# Create necessary widgets
$f = $mw->Frame->pack(-side => 'top',
-fill => 'x');
$f->Label(-text => "Filename:")->pack(-side => 'left',
-anchor =>
'center');
$f->Entry(-textvariable => \$filename)->pack(-side => 'left',
-
anchor => 'w',
-fill
=> 'x',
-
expand => 1);
$f->Button(-text => "Exit",
-activebackground => "red",
-underline => 1,
-command => sub {exit;})->pack(-side => 'right');
$f->Button(-text=>"Clear",
-command=> sub {$t->delete("0.0",'end')})->pack(-
side=>'right',
-anchor=>'s');
$f->Button(-text => "Save",
-command => \&save_file)->pack(-side => 'right',
-
anchor => 'e');
$f->Button(-text => "Load",
-command => \&load_file)->pack(-side => 'right',
-
anchor => 'e');
$mw->Label(-textvariable => \$info,
-relief => 'ridge')->pack(-side => 'bottom',
-fill => 'x');
$t = $mw->Scrolled("Text")->pack(-side => 'bottom',
-fill => 'both',
-expand => 1);
MainLoop;
# load_file checks to see what the filename is and loads it if
possible
sub load_file {
$info = "Loading file '$filename'...";
$t->delete("1.0", "end");
if (!open(FH, "/$filename")) {
$t->insert("end", "ERROR: Could not open $filename\n");
return;
}
while (<FH>) { $t->insert("end", $_); }
close (FH);
$info = "File '$filename' loaded";
}
# save_file saves the file using the filename in the Entry box.
sub save_file {
$info = "Saving '$filename'";
open (FH, ">$filename");
print FH $t->get("1.0", "end");
$info = "Saved.";
}
Thanks,
doni