\section{\class{wxProgressDialog}}\label{wxprogressdialog}

This class represents a dialog that shows a short message and a
progress bar. Optionally, it can display an ABORT button.

\wxheading{Derived from}

\helpref{wxFrame}{wxframe}\\
\helpref{wxWindow}{wxwindow}\\
\helpref{wxEvtHandler}{wxevthandler}\\
\helpref{wxObject}{wxobject}

\wxheading{Include files}

<wx/progdlg.h>

\latexignore{\rtfignore{\wxheading{Members}}}

\membersection{wxProgressDialog::wxProgressDialog}\label{wxprogressdialogconstr}

\func{}{wxProgressDialog}{\param{const wxString\& }{title},
 \param{const wxString\& }{message},\rtfsp
 \param{int }{maximum = 100},
 \param{wxWindow * }{parent = NULL},\rtfsp
 \param{int }{style = wxPD\_AUTO\_HIDE | wxPD\_APP\_MODAL}}

Constructor. Creates the dialog, displays it and disables user input
for other windows, or, if wxPD\_APP\_MODAL flag is not given, for its parent
window only.

\wxheading{Parameters}

\docparam{title}{Dialog title to show in titlebar.}

\docparam{message}{Message displayed above the progress bar.}

\docparam{maximum}{Maximum value for the progress bar.}

\docparam{parent}{Parent window.}

\docparam{message}{Message to show on the dialog.}

\docparam{style}{The dialog style. This is the combination of the following
bitmask constants defined in wx/defs.h:

\twocolwidtha{7cm}
\begin{twocollist}\itemsep=0pt
\twocolitem{{\bf wxPD\_APP\_MODAL}}{Make the progress dialog modal. If this flag is
not given, it is only "locally" modal - that is the input to the parent
window is disabled, but not to the other ones.}
\twocolitem{{\bf wxPD\_AUTO\_HIDE}}{By default, the progress dialog will disappear
from screen as soon as the maximum value of the progress meter has been
reached. This flag prevents it from doing it - instead the dialog will wait
until the user closes it.}
\twocolitem{{\bf wxPD\_CAN\_ABORT}}{This flag tells the dialog that it should have a
"Cancel" button which the user may press. If this happens, the next call to 
 \helpref{Update()}{wxprogressdialogupdate} will return FALSE.}
\twocolitem{{\bf wxPD\_ELAPSED\_TIME}}{This flag tells the dialog that it should show elapsed time (since creating the dialog).}
\twocolitem{{\bf wxPD\_ESTIMATED\_TIME}}{This flag tells the dialog that it should show estimated time.}
\twocolitem{{\bf wxPD\_REMAINING\_TIME}}{This flag tells the dialog that it should show remaining time.}
\twocolitem{{\bf wxPD\_SMOOTH}}{This flag tells the dialog that it should use
smooth gauge (has effect only under 32bit Windows).}
\end{twocollist}%
}

\membersection{wxProgressDialog::\destruct{wxProgressDialog}}

\func{}{\destruct{wxMessageDialog}}{\void}

Destructor. Deletes the dialog and enables all top level windows.

\membersection{wxProgressDialog::Update}\label{wxprogressdialogupdate}

\func{bool}{Update}{
  \param{int }{value = -1},\rtfsp
  \param{const char * }{newmsg = NULL},  }

Updates the dialog, setting the progress bar to the new value and, if
given changes the message above it. Returns TRUE if the ABORT button 
has \emph{not} been pressed.

If FALSE is returned, the application can either immediately destroy the dialog
or ask the user for the confirmation and if the abort is not confirmed the
dialog may be resumed with \helpref{Resume}{wxprogressdialogresume} function.

\docparam{value}{The new value of the progress meter. It must be strictly less
than the maximum value given to the constructor (i.e., as usual in C, the
index runs from $0$ to $maximum-1$).}
\docparam{newmsg}{The new messages for the progress dialog text, if none is
given the message is not changed.}

\membersection{wxProgressDialog::Resume}\label{wxprogressdialogresume}

\func{void}{Resume}{\void}

Can be used to continue with the dialog, after the user had chosen
ABORT.

