\section{\module{EasyDialogs} ---
         Basic Macintosh dialogs}

\declaremodule{standard}{EasyDialogs}
  \platform{Mac}
\modulesynopsis{Basic Macintosh dialogs.}


The \module{EasyDialogs} module contains some simple dialogs for
the Macintosh.  All routines have an optional parameter \var{id} with
which you can override the DLOG resource used for the dialog, as long
as the item numbers correspond. See the source for details.

The \module{EasyDialogs} module defines the following functions:


\begin{funcdesc}{Message}{str}
A modal dialog with the message text \var{str}, which should be at
most 255 characters long, is displayed. Control is returned when the
user clicks ``OK''.
\end{funcdesc}

\begin{funcdesc}{AskString}{prompt\optional{, default}}
Ask the user to input a string value, in a modal dialog. \var{prompt}
is the prompt message, the optional \var{default} arg is the initial
value for the string. All strings can be at most 255 bytes
long. \function{AskString()} returns the string entered or \code{None}
in case the user cancelled.
\end{funcdesc}

\begin{funcdesc}{AskPassword}{prompt\optional{, default}}
Ask the user to input a string value, in a modal dialog. Like
\method{AskString}, but with the text shown as bullets. \var{prompt}
is the prompt message, the optional \var{default} arg is the initial
value for the string. All strings can be at most 255 bytes
long. \function{AskString()} returns the string entered or \code{None}
in case the user cancelled.
\end{funcdesc}

\begin{funcdesc}{AskYesNoCancel}{question\optional{, default}}
Present a dialog with text \var{question} and three buttons labelled
``yes'', ``no'' and ``cancel''. Return \code{1} for yes, \code{0} for
no and \code{-1} for cancel. The default return value chosen by
hitting return is \code{0}. This can be changed with the optional
\var{default} argument.
\end{funcdesc}

\begin{funcdesc}{ProgressBar}{\optional{title\optional{, maxval\optional{,
    label}}}}
Display a modeless progress dialog with a thermometer bar. \var{title}
is the text string displayed (default ``Working...''), \var{maxval} is
the value at which progress is complete (default
\code{100}). \var{label} is the text that is displayed over the progress
bar itself.  The returned object has two methods,
\code{set(\var{value})}, which sets the value of the progress bar, and
\code{label(\var{text})}, which sets the text of the label. The bar
remains visible until the object returned is discarded.

The progress bar has a ``cancel'' button. [NOTE: how does the cancel
button behave?]
\end{funcdesc}


\begin{funcdesc}{GetArgv}{\optional{optionlist\optional{
    commandlist\optional{, addoldfile\optional{, addnewfile\optional{,
    addfolder\optional{, id}}}}}}}
Displays a dialog which aids the user in constructing a command-line
argument list.  Returns the list in \code{sys.argv} format, suitable for
passing as an argument to \function{getopt.getopt()}.  \var{addoldfile},
\var{addnewfile}, and \var{addfolder} are boolean arguments.  When
nonzero, they enable the user to insert into the command line paths to
an existing file, a (possibly) not-yet-existent file, and a folder,
respectively.  (Note: Option arguments must appear in the command line
before file and folder arguments in order to be recognized by
\function{getopt.getopt()}.)  Arguments containing spaces can be
specified by enclosing them within single or double quotes.  A
\exception{SystemExit} exception is raised if the user presses the
``Cancel'' button.

\var{optionlist} is a list that determines a popup menu from which the
allowed options are selected.  Its items can take one of two forms:
\var{optstr} or \code{(\var{optstr}, \var{descr})}.  When present,
\var{descr} is a short descriptive string that is displayed in the
dialog while this option is selected in the popup menu.  The
correspondence between \var{optstr}s and command-line arguments is:

\begin{tableii}{l|l}{textrm}{\var{optstr} format}{Command-line format}
\lineii{\code{x}}
       {\programopt{-x} (short option)}
\lineii{\code{x:} or \code{x=}}
       {\programopt{-x} (short option with value)}
\lineii{\code{xyz}}
       {\longprogramopt{xyz} (long option)}
\lineii{\code{xyz:} or \code{xyz=}}
       {\longprogramopt{xyz} (long option with value)}
\end{tableii}

\var{commandlist} is a list of items of the form \var{cmdstr} or
\code{(\var{cmdstr}, \var{descr})}, where \var{descr} is as above.  The
\var{cmdstr}s will appear in a popup menu.  When chosen, the text of
\var{cmdstr} will be appended to the command line as is, except that a
trailing \character{:} or \character{=} (if present) will be trimmed
off.

\versionadded{2.0}
\end{funcdesc}
