BikePower
view release on metacpan or search on metacpan
BikePower/Tk.pm view on Meta::CPAN
-underline => 0,
-command => sub { $top->destroy });
my $mb_set = $menuframe->Menubutton(-text => $s{'Settings'},
-underline => 0);
$mb_set->pack(-side => 'left') if $Tk::VERSION < 800;
$mb_set->command
(-label => $s{'Load defaults'},
-underline => 5,
-command => sub { $self->load_defaults });
$mb_set->command
(-label => $s{'Load...'},
-underline => 0,
-command => sub {
my $file;
eval {
$file = $top->getOpenFile
(-defaultextension => '*.pl');
};
if ($@) {
require Tk::FileSelect;
$self->{'_load_fd'} =
$top->FileSelect(-create => 0,
-filter => "*.pl");
$file = $self->{'_load_fd'}->Show;
}
if (defined $file) {
$self->load_defaults($file);
}
});
$mb_set->command
(-label => $s{'Save as default'},
-underline => 5,
-command => sub { $self->save_defaults });
$mb_set->command
(-label => $s{'Save as...'},
-underline => 0,
-command => sub {
my $file;
eval {
$file = $top->getSaveFile
(-defaultextension => '*.pl');
};
if ($@) {
require Tk::FileSelect;
$self->{'_save_fd'} =
$top->FileSelect(-create => 1,
-filter => "*.pl");
$file = $self->{'_save_fd'}->Show;
if ($file) {
if ($file !~ /\.pl$/) {
$file .= ".pl";
}
if (-e $file) {
require Tk::Dialog;
my $d = $top->Dialog
(-title => $s{'Warning'},
-text => sprintf($s{'Overwrite existing file <%s>?'}, $file),
-default_button => $s{'No'},
-buttons => [$s{'Yes'}, $s{'No'}],
-popover => 'cursor');
return if $d->Show ne $s{'Yes'};
}
}
}
if (defined $file) {
$self->save_defaults($file);
}
});
my $mb_help = $menuframe->Menubutton(-text => $s{'Help'},
-underline => 0);
$mb_help->pack(-side => 'right') if $Tk::VERSION < 800;
$mb_help->command
(-label => $s{'About...'},
-underline => 0,
-command => sub {
require Tk::Dialog;
$top->Dialog(-text =>
"BikePower.pm $BikePower::VERSION\n" .
"(c) 1997,1998 Slaven Rezic")->Show;
},
);
$mb_help->command
(-label => $s{'Reference...'},
-underline => 0,
-command => sub {
eval {
require Tk::Pod;
Tk::Pod->Dir($FindBin::Bin);
$top->Pod(-file => 'BikePower.pm');
};
if ($@) {
require Tk::Dialog;
$top->Dialog(-text => "Error: $@")->Show;
}
});
my $f = $top->Frame->pack;
my $balloon = $f->Balloon;
load_air_resistance_icons($f);
{
my $icon;
foreach $icon ('up_down', 'change_wind') {
if (!defined $icons{$icon}) {
eval {
$icons{$icon} =
$f->Pixmap(-file => Tk::findINC("BikePower/$icon.xpm"));
};
}
}
}
my $row = 0;
my $calc_button;
my $autocalc = sub {
$calc_button->invoke if $automatic;
};
( run in 3.121 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )