Tk::DialogBox - create and manipulate a dialog screen.
use Tk::DialogBox
...
$d = $top->DialogBox(-title => "Title", -buttons => ["OK", "Cancel"]);
$w = $d->add(Widget, args);
...
$button = $d->Show;
DialogBox is very similar to Dialog except that it allows any widget in the top frame. DialogBox creates two frames---``top'' and ``bottom''. The bottom frame shows all the
specified buttons, lined up from left to right. The top frame acts as a
container for all other widgets that can be added with the
add() method. The non-standard options recognized by
DialogBox are as follows:
- -title
-
Specify the title of the dialog box. If this is not set, then the name of
the program is used.
- -buttons
-
The buttons to display in the bottom frame. This is a reference to an array
of strings containing the text to put on each button. There is no default
value for this. If you do not specify any buttons, no buttons will be
displayed.
- -default_button
-
Specifies the default button that is considered invoked when user presses
<Return> on the dialog box. This button is highlighted. If no default
button is specified, then the first element of the array whose reference is
passed to the -buttons option is used as the default.
DialogBox supports only two methods as of now:
- add(widget, options)
-
Add the widget indicated by widget. Widget can be the name of any Tk widget (standard or contributed). Options are the options that the widget accepts. The widget is advertized as a
subwidget of DialogBox.
- Show(grab)
-
Display the dialog box, until user invokes one of the buttons in the bottom
frame. If the grab type is specified in grab, then
Show uses that grab; otherwise it uses a local grab. Returns the name of the
button invoked.
There is no way of removing a widget once it has been added to the top
frame.
There is no control over the appearance of the buttons in the bottom frame
nor is there any way to control the placement of the two frames with
respect to each other e.g. widgets to the left, buttons to the right
instead of widgets on the top and buttons on the bottom always.
Rajappa Iyer rsi@ziplink.net
This code is distributed under the same terms as Perl.
$CommentsMailTo = "perl5@dcs.ed.ac.uk"; include("../syssies_footer.inc");?>