.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "DialogBox 3" .TH DialogBox 3 2023-07-25 "perl v5.38.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME Tk::DialogBox \- create and manipulate a dialog screen. .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 6 \& use Tk::DialogBox \& ... \& $d = $top\->DialogBox(\-title => "Title", \-buttons => ["OK", "Cancel"]); \& $w = $d\->add(Widget, args)\->pack; \& ... \& $button = $d\->Show; .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" \&\fBDialogBox\fR is very similar to \fBDialog\fR except that it allows any widget in the top Frame. \fBDialogBox\fR creates two Frames, \fItop\fR and \fIbottom\fR. 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 \&\fBadd()\fR method. .SH OPTIONS .IX Header "OPTIONS" The options recognized by \fBDialogBox\fR are as follows: .IP \fB\-title\fR 4 .IX Item "-title" Specify the title of the DialogBox. If this is not set, then the name of the program is used. .IP \fB\-buttons\fR 4 .IX Item "-buttons" The button names 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 button names, no Buttons are displayed. .IP \fB\-default_button\fR 4 .IX Item "-default_button" Specifies the default Button that is considered invoked when user presses on the DialogBox. This Button is highlighted. If no default Button is specified, then the first element of the array whose reference is passed to the \fB\-buttons\fR option is used as the default. .IP \fB\-cancel_button\fR 4 .IX Item "-cancel_button" Specifies the Button that is considered invoked when the user closes the DialogBox using the window manager's close button. If the \&\fB\-cancel_button\fR option is not given, and if there's only one button configured, then this button is also used as the cancel button. Otherwise no button is considered as the cancel button; in such a case \&\fBShow\fR just returns \f(CW\*(C`undef\*(C'\fR when the user closes the DialogBox. .IP \fB\-command\fR 4 .IX Item "-command" A callback which is executed after invoking an action to close the DialogBox, but before restoring focus and grab information. The selected button is passed as the first argument. .IP \fB\-focus\fR 4 .IX Item "-focus" Specify the widget to receive the initial focus after popping up the DialogBox. By default the \fB\-default_button\fR widget receives the initial focus. .IP \fB\-showcommand\fR 4 .IX Item "-showcommand" A callback which is executed before displaying the DialogBox and waiting for user input. The DialogBox itself is passed as the first argument. .SH METHODS .IX Header "METHODS" \&\fBDialogBox\fR supports only two methods as of now: .IP "\fBadd(\fR\fIwidget\fR, \fIoptions\fR\fB)\fR" 4 .IX Item "add(widget, options)" Add the widget indicated by \fIwidget\fR. \fIWidget\fR can be the name of any Tk widget (standard or contributed). \fIoptions\fR are the options that the widget accepts. The widget is advertized as a subwidget of \fBDialogBox\fR. The name of \fIwidget\fR is lower-cased and used as the advertised name. If multiple instances of \&\fIwidget\fR are created in the \fBDialogBox\fR, then only the last one gets the advertised name. \fBadd()\fR does not automatically \fBpack()\fR or \&\fBgrid()\fR \fIwidget\fR into the \fBDialogBox\fR. .IP \fBShow(\fR\fI?\-global?\fR\fB)\fR 4 .IX Item "Show(?-global?)" Displays the Dialog until the user invokes one of the Buttons in the bottom Frame. If the grab type \fI\-global\fR is specified, then \fBShow\fR uses that grab; otherwise it defaults to a local grab. Returns the name of the Button invoked. .Sp The actual Dialog is shown using the \fBPopup\fR method. Any other options supplied to \fBShow\fR are passed to \fBPopup\fR, and can be used to position the Dialog on the screen. Please read Tk::Popup for details. .IP \fBExit()\fR 4 .IX Item "Exit()" Close the dialogbox, by emulating a click on the default button. .SH "ADVERTISED WIDGETS" .IX Header "ADVERTISED WIDGETS" .IP \fBtop\fR 4 .IX Item "top" The subwidget reference to the top half of the DialogBox widget, the Frame containing widgets added by the \fBadd\fR method. .IP \fBbottom\fR 4 .IX Item "bottom" The subwidget reference to the bottom half of the DialogBox widget, the Frame containing the Button widgets. .IP "\fBB_""button\-text""\fR" 4 .IX Item "B_""button-text""" Individual subwidget references to the Buttons in the DialogBox widget. The subwidget name is the string \fIB_\fR concatenated with the Button's \-text value. .SH BUGS .IX Header "BUGS" There is no way of removing a widget once it has been added to the top Frame, unless you access the \fItop\fR subwidget and go through the child widgets. .PP 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. .SH AUTHOR .IX Header "AUTHOR" \&\fBRajappa Iyer\fR rsi@earthling.net .PP This code is distributed under the same terms as Perl.