That seems not to quite work. After several tries I reduced my usage to a simpler experimental case, thus...
my $whatever;
use subs qw/bar/;
map {
my $menu = $menubar->cascade( -label => '~' . $_->[0],
-menuitems => $_->[1]);
$balloon->attach( $menu, -state => 'balloon',
-msg => 'foo');
} [ 'Foo', bar ];
sub bar {
[
['command', 'This', -command => sub {
$whatever = 'Does this.'}],
['command', 'That', -command => sub {
$whatever = 'Does that'}],
]
}
But I get the error...
Can't locate object method "OnDestroy"
via package "Tk::Menu::Cascade" at
C:/Strawbery/perl/site/lib/Tk/Balloon.pm line 139.
The difference is that I'm not even mapping the argument for -msg => as $_->[2] or $_->[-1] but just giving unmapped 'foo'. Any thoughts? |