IB2017 has asked for the wisdom of the Perl Monks concerning the following question:
How can I create items of a Tk pop-up menu conditionally, for example with a switch 0/1 for the first command? (Possibly still using the same way to construct the -menuitems array (since I ve got increadibly many of such menus). This is how I construct my menu:
$menu = $mw->Menu(-tearoff=>0, -menuitems=>[ [command=>$MESS_0= -command=>[\&DialogMove, $obj,]], '', [command=>$MESS_1, -command=>[sub {MoveColumn('right')}, $obj,]], [command=>$MESS_2, -command=>[sub {MoveColumn('left')}, $obj,]], '', [command=>$MESS_3, -command=>[sub {HideColumn()}, $obj,]], [command=>$MESS_4, -command=>[sub { if ($ContentColumn11GLOBAL eq 11){$ContentColumn11GLOBAL=0} else {$ContentColumn11GLOBAL=11} SetViewFromSearchFrame11($ContentColumn11GLOBAL); }, $obj,]], [command=>$MESS_5, -command=>[sub { if ($ContentColumn12GLOBAL eq 12){$ContentColumn12GLOBAL=0} else {$ContentColumn12GLOBAL=12} SetViewFromSearchFrame12($ContentColumn12GLOBAL); }, $obj,]], ]); $menu->configure(-postcommand => sub { redefine_labels(); $menu->entryconfigure(2, -label => $MESS_1); $menu->entryconfigure(3, -label => $MESS_2); $menu->entryconfigure(5, -label => $MESS_3); $menu->entryconfigure(6, -label => $MESS_4); $menu->entryconfigure(7, -label => $MESS_5); });
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Tk create menu item dynamically
by kcott (Archbishop) on Mar 14, 2020 at 03:54 UTC | |
Re: Tk create menu item dynamically
by Anonymous Monk on Mar 14, 2020 at 00:54 UTC |