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.
OPTIONS
The options recognized by DialogBox are as follows:
-title
Specify the title of the DialogBox. If this is not set, then the
name of the program is used.
-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.
-default_button
Specifies the default Button that is considered invoked when user
presses <Return> 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 -buttons option is used
as the default.
-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.
-focus
Specify the widget to receive the initial focus after popping up the
DialogBox. By default the -default_button widget receives the
initial focus.
-showcommand
A callback which is executed before displaying the DialogBox and
waiting for user input. The DialogBox itself is passed as the first
argument.
METHODS
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. The first character of widget is
lower-cased and used as the advertised name.
Show(?-global?)
Displays the Dialog until the user invokes one of the Buttons in the
bottom Frame. If the grab type -global is specified, then Show
uses that grab; otherwise it defaults to a local grab. Returns the
name of the Button invoked.
The actual Dialog is shown using the Popup method. Any other
options supplied to Show are passed to Popup, and can be used to
position the Dialog on the screen. Please read Tk::Popup for details.
ADVERTISED WIDGETS
top
The subwidget reference to the top half of the DialogBox widget, the Frame
containing widgets added by the add method.
bottom
The subwidget reference to the bottom half of the DialogBox widget, the Frame
containing the Button widgets.
B_button-text
Individual subwidget references to the Buttons in the DialogBox widget. The
subwidget name is the string B_ concatenated with the Button's -text
value.
ADVERTISED WIDGETS
top
The subwidget reference to the top half of the DialogBox widget, the Frame
containing widgets added by the add method.
bottom
The subwidget reference to the bottom half of the DialogBox widget, the Frame
containing the Button widgets.
B_button-text
Individual subwidget references to the Buttons in the DialogBox widget. The
subwidget name is the string B_ concatenated with the Button's -text
value.
BUGS
There is no way of removing a widget once it has been added to the
top Frame, unless you access the top subwidget and go through the
child widgets.
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.