WAIT: $self->waitVariable(\$self->{RESULT}); #test result my $string = $self->{RESULT}; if( $string lt '#333333' ){ goto WAIT } else{ $self->grabRelease; $self->withdraw; &$old_focus; &$old_grab; return $self->{RESULT}; } } # end Show method #### sub get_string { my ($title, $parent, $prompt, $initial_value, $default_cancel) = @_; my $dialog = Gtk2::Dialog->new ($title, $parent, [], 'gtk-cancel' => 'cancel', 'gtk-ok' => 'accept'); my $label = Gtk2::Label->new ($prompt || ''); $dialog->vbox->add ($label); $label->show (); my $entry = Gtk2::Entry->new (); $entry->set_text ($initial_value) if defined $initial_value; $dialog->vbox->add ($entry); $entry->show (); $dialog->set_default_response ($default_ok ? 'accept' : 'cancel'); my $ret; if ('accept' eq $dialog->run ()) { $ret = $entry->get_text (); } $dialog->destroy (); return $ret; } #### use base qw/Tk::Derived Tk::DialogBox/;