RE: DialogBox not Being Displayed
"Jack D" <[email protected]> Mon, 16 Jul 2007 17:19:22 -0600
| Newsgroups | gmane.comp.lang.perl.tk |
|---|---|
| Message-ID | <[email protected]> |
> -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Steve Waltner > Sent: Monday, July 16, 2007 12:46 PM > To: [email protected] > Subject: DialogBox not Being Displayed > > We've been running ActivePerl 5.8.0 on Windows for some time > and recently upgraded to ActivePerl 5.8.8. Along the way (ActivePerl > 5.8.4) the Perl Tk module was upgraded to 804.027. > Previously, it had been using 800.???. While this fixed the > original problem we had, it introduced a problem where the > behavior of DialogBox changed and our dialog boxes are no > longer being displayed. A code snippet that demonstrates this is: > > ======= > use Tk; > use Tk::DialogBox; > > $main = MainWindow->new(); # this creates the main dialog box > $dialog = $main->DialogBox (-title => "TITLE BAR TEXT", > -buttons => [ "Button 1","Button 2" ] ); # this creates the > desired box > $main->withdraw(); # this makes the main dialog > box invisible > $button = $dialog->Show(); # this makes the desired dialog > box appear > $main->destroy(); # this destroys the main dialog box > print "Button pushed: $button\n"; > ======= > > The problem is that the user wants to hide the main window > and still show the DialogBox. With version 4.x of > DialogBox.pm, the "withdraw" > that hides $main also keeps $dialog from being shown on the screen. This code has introduces a "transient" call likely in order to avoid having the window get hidden beneath the main window (which was a problem in 800). Unfortunately this has the side effect as you note here - i.e. If the main window is withdrawn - so is the dialog. > > How should one code it where you hide the main Tk window, but > are still allowed to show a DialogBox created off the main window? The fix is to add the following line after you create your DialogBox object. $dialog->transient(''); HTH Jack --++**==--++**==--++**==--++**==--++**==--++**==--++**== ptk mailing list [email protected] https://mailman.stanford.edu/mailman/listinfo/ptk