\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{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}}{Causes the progress dialog to disappear
from screen as soon as the maximum value of the progress meter has been
reached.}
\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::Resume}\label{wxprogressdialogresume}

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

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

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

\func{bool}{Update}{
  \param{int }{value},\rtfsp
  \param{const wxString\& }{newmsg = ""}}

Updates the dialog, setting the progress bar to the new value and, if
given changes the message above it. Returns true unless the Cancel button
has 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.

\wxheading{Parameters}

\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 it is
empty (which is the default) the message is not changed.}

