in reply to Tk::Balloon and unclunky menus.

map { my $junk = $men.... $globalBaloonWidget->attach( $junk, -balloonmsg => $_->[-1] ); ...

Replies are listed 'Best First'.
Re^2: Tk::Balloon and unclunky menus.
by aplonis (Pilgrim) on Feb 01, 2012 at 16:41 UTC

    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/ 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?

      Alas and alack, I read that we just can't do Balloons for Menus on Windows. Per the post here PerlMonks Friar lamprecht says, "Windows is special in that events over Menu windows are not passed to Tk so Balloon will not work here."

        Yeah, I believe Tk::Balloon is broken on win32, but not the bit about windows being special