\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}