use strict "vars"; use Tk; use Tk; use Tk::TabFrame; use Tk::Balloon; my ($a_tbfr, $tab_mw, $b_tbfr, $frame_wg); my ($lb_str, $en_str, %tabwg, $tabwg_item, $current_product, $gen_str, + $j, $j_str, %wg, $wg_item, $att_res); my ($msgarea, $balloon_msg, $status_msg, $bl_str); my ($button_sc, $toplevel_entry_wg, $toplevel_wg, $balloon); $current_product = 'unset'; $tab_mw = MainWindow->new; $tab_mw->Label(-text => 'Tabbed Frame to Check Tooltips')->grid(-row = +> 0); # create the tabbed frame $a_tbfr = $tab_mw->TabFrame ( -font =>'-adobe-times-medium-r-bold--14', -tabcurve =>4, -padx => 10, -pady => 10, -width => 400 ); # add button that gives additional screen with button $button_sc = $tab_mw->Button( -text => 'See top level widget', -command => sub { $toplevel_wg->deiconify(); $toplevel_wg->raise(); }) ->grid(-row => 2); # create the message area for tooltips $msgarea = $tab_mw->Label(-borderwidth => 2, -relief => 'groove') ->grid(-row => 3); # create a ballon for this message area etc $balloon = $tab_mw->Balloon(-statusbar => $msgarea); # create the tabbed frames each with a label and entry box $a_tbfr->grid ('-row' => 1); for($j = 1; $j <= 3; $j ++) { $j_str = "Tab " . $j; $tabwg{$j_str} = $a_tbfr->Frame ( -caption => $j_str, ); $lb_str = "Tab " . $j . '_Label'; $wg{$lb_str} = $tabwg{$j_str}->Label(-text => "Text in Label in $j +_str", -width => 50)->grid(-row => 2, -column=>0); $en_str = "Tab " . $j . '_Entry'; $wg{$en_str} = $tabwg{$j_str}->Entry (-text => $en_str, -width => 20)->grid(-row => 3, -column=>0); $balloon_msg = "Tab " . $j . " balloon / tooltips message"; $status_msg = "Tab " . $j . " status message"; $att_res = $balloon->attach($wg{$en_str}, -balloonmsg => $balloon_ +msg, -statusmsg => $status_msg); print "attach result <$att_res> for widget <$en_str>\n"; } # create a TopLevel widget $toplevel_wg = $tab_mw->Toplevel(); # create an entry box for this toplevel widget $toplevel_wg->Label(-text => "Text above entry box")->grid(-row => 0); $toplevel_entry_wg = $toplevel_wg->Entry(-width => 20)->grid(-row => 1 +, -column=>0); $toplevel_wg->Label(-text => "Text below entry box")->grid(-row => 2); # withdraw the second toplevel widget $toplevel_wg->withdraw(); $att_res = $balloon->attach($toplevel_entry_wg, -balloonmsg => "toplev +el entry box balloon/tooltip", -statusmsg => "toplevel entry box sta +tus"); print "attach result <$att_res> forwidget <top_level_entry>\n"; MainLoop;
In reply to Re^2: How to get balloons (tooltips) on toplevel widget
by merrymonk
in thread How to get balloons (tooltips) on toplevel widget
by merrymonk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |