sub Wait { my $cw = shift; $cw->Callback(-showcommand => $cw); $cw->waitVariable(\$cw->{'selected_button'}); $cw->grabRelease if Tk::Exists($cw); $cw->withdraw if Tk::Exists($cw); $cw->Callback(-command => $cw->{'selected_button'}); } #### $cw->waitVariable(\$cw->{'selected_button'}); #### $cw->{'selected_button'} #### my $gui_mw_wrapper = new MainWindow; my $gui_warn_text; . . . $gui_warn_text = $gui_mw_wrapper -> Dialog( -title=>$title, -text=>$message, -width=>$text_width, -font=>"Times 12 normal", -buttons=>["OK"], -wraplength=>$text_width_pixels); $dbg_answer = $gui_warn_text -> Show(); #### my $gui_src_wrapper_frm_wr; . . . $gui_src_wrapper_frm_wr = $gui_mw_wrapper -> Toplevel( -title=>"Tree", -borderwidth=>1); #### $gui_warn_frm = $gui_mw_wrapper -> Toplevel( -title=>$title, -relief=>"ridge", -borderwidth=>3); $gui_warn_text = $gui_warn_frm -> Scrolled( "ROText", -scrollbars=>"ose", -font=>"Times 12 normal", -width=>$text_width, -height=>$text_height, -wrap=>"word"); $gui_warn_button = $gui_warn_frm -> Button( -text=>"OK", -command=>[sub {my($ptr) = @_; $ptr -> destroy();},$gui_warn_frm]); $gui_warn_frm -> geometry("+300+50"); $gui_warn_frm -> raise($gui_mw_wrapper); $gui_warn_text -> grid( -row=>0, -column=>0); $gui_warn_button -> grid( -row=>1, -column=>0); $gui_warn_text -> insert("end",$message); $gui_mw_wrapper -> update; $gui_warn_frm -> waitWindow;