<TITLE>dialog - Create and manipulate a dialog widget</TITLE>
<H1>dialog - Create and manipulate a dialog widget</H1>

</pre><H2>SYNOPSIS</H2>
<B>dialog<I> <I>pathName </I>?<I>options</I>?
</pre><H2>INHERITANCE</H2>
itk::Toplevel &lt;- Shell &lt;- Dialogshell &lt;- Dialog
</pre><H2>STANDARD OPTIONS</H2>
<P>
<table cellpadding=5>
<td valign=top>
<B>background</B><br>
</td>
<td valign=top>
<B>cursor</B><br>
</td>
<td valign=top>
<B>foreground</B><br>
</td>
<td valign=top>
</td>
</table>
<P>
See the <A HREF="http://www.sco.com/Technology/tcl/man/tk_man/options.n.html"> "options" </A> manual entry for details on the standard options.
</pre><H2>INHERITED OPTIONS</H2>
<P>
<table cellpadding=5>
<td valign=top>
<B>buttonBoxPadX</B><br>
<B>padY</B><br>
</td>
<td valign=top>
<B>buttonBoxPadY</B><br>
<B>separator</B><br>
</td>
<td valign=top>
<B>buttonBoxPos</B><br>
<B>thickness</B><br>
</td>
<td valign=top>
<B>padX</B><br>
</td>
</table>
<P>
See the <A HREF="dialogshell.n.html"> "dialogshell" </A> manual entry for details on the above inherited options.
<P>
<table cellpadding=5>
<td valign=top>
<B>height</B><br>
</td>
<td valign=top>
<B>master</B><br>
</td>
<td valign=top>
<B>modality</B><br>
</td>
<td valign=top>
<B>width</B><br>
</td>
</table>
<P>
See the "shell" manual entry for details on the above inherited options.
<P>
<table cellpadding=5>
<td valign=top>
<B>title</B><br>
</td>
<td valign=top>
</td>
<td valign=top>
</td>
<td valign=top>
</td>
</table>
<P>
See the "Toplevel" manual entry for details on the above inherited options.
</pre><HR>

</pre><H2>DESCRIPTION</H2>
<P>
The <B>dialog</B> command creates a dialog box providing standard
buttons and a child site for use in derived classes.  The buttons
include ok, apply, cancel, and help.  Methods and Options exist to 
configure the buttons and their containing box.

</pre><H2>METHODS</H2>
<P>
The <B>dialog</B> command creates a new Tcl command whose
name is <I>pathName</I>.  This
command may be used to invoke various
operations on the widget.  It has the following general form:
<pre>
<I>pathName option </I>?<I>arg arg ...</I>?
</pre>
<I>Option</I> and the <I>arg</I>s
determine the exact behavior of the command.  The following
commands are possible for dialog widgets:
</pre><H2>INHERITED METHODS</H2>
<P>
<table cellpadding=5>
<td valign=top>
<B>add</B><br>
<B>index</B><br>
</td>
<td valign=top>
<B>buttonconfigure</B><br>
<B>insert</B><br>
</td>
<td valign=top>
<B>default</B><br>
<B>invoke</B><br>
</td>
<td valign=top>
<B>hide</B><br>
<B>show</B><br>
</td>
</table>
<P>
See the <A HREF="buttonbox.n.html"> "buttonbox" </A> manual entry for details on the above inherited methods.
<P>
<table cellpadding=5>
<td valign=top>
<B>childsite</B><br>
</td>
<td valign=top>
</td>
<td valign=top>
</td>
<td valign=top>
</td>
</table>
<P>
See the <A HREF="dialogshell.n.html"> "dialogshell" </A> manual entry for details on the above inherited methods.
<P>
<table cellpadding=5>
<td valign=top>
<B>activate</B><br>
</td>
<td valign=top>
<B>center</B><br>
</td>
<td valign=top>
<B>deactivate</B><br>
</td>
<td valign=top>
</td>
</table>
<P>
See the "shell" manual entry for details on the above inherited methods.

</pre><H2>WIDGET-SPECIFIC METHODS</H2>
<DL>
<DT> <I>pathName <B>cget</B> <I>option</I>
</I></B>
<DD> Returns the current value of the configuration option given
by <I>option</I>.
<I>Option</I> may have any of the values accepted by the <B>dialog</B>
command.
</DL>
<DL>
<DT> <I>pathName</I> <B>configure</B> ?<I>option</I>? ?<I>value option value ...</I>?
</I></B>
<DD> Query or modify the configuration options of the widget.
If no <I>option</I> is specified, returns a list describing all of
the available options for <I>pathName</I> (see <B>Tk_ConfigureInfo</B> for
information on the format of this list).  If <I>option</I> is specified
with no <I>value</I>, then the command returns a list describing the
one named option (this list will be identical to the corresponding
sublist of the value returned if no <I>option</I> is specified).  If
one or more <I>option-value</I> pairs are specified, then the command
modifies the given widget option(s) to have the given value(s);  in
this case the command returns an empty string.
<I>Option</I> may have any of the values accepted by the <B>dialog</B>
command.

</DL>
</pre><H2>EXAMPLE</H2>
<pre>
 dialog .d -modality global
 .d buttonconfigure OK -command {puts OK; .d deactivate 1}
 .d buttonconfigure Apply -command {puts Apply}
 .d buttonconfigure Cancel -command {puts Cancel; .d deactivate 0}
 .d buttonconfigure Help -command {puts Help}
 
 listbox [.d childsite].lb -relief sunken
 pack [.d childsite].lb -expand yes -fill both

 if {[.d activate]} {
     puts "Exit via OK button"
 } else {
     puts "Exit via Cancel button"
 }
</pre>
</pre><H2>AUTHORS</H2>
Mark L. Ulferts
<P>
Bret A. Schuhmacher
</pre><H2>KEYWORDS</H2>
dialog, dialogshell, shell, widget
