2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: progdlg.h
|
2008-03-10 11:24:38 -04:00
|
|
|
// Purpose: interface of wxProgressDialog
|
2008-03-08 08:52:38 -05:00
|
|
|
// Author: wxWidgets team
|
|
|
|
// RCS-ID: $Id$
|
|
|
|
// Licence: wxWindows license
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/**
|
|
|
|
@class wxProgressDialog
|
|
|
|
@wxheader{progdlg.h}
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
This class represents a dialog that shows a short message and a
|
|
|
|
progress bar. Optionally, it can display ABORT and SKIP buttons,
|
|
|
|
the elapsed, remaining and estimated time for the end of the progress.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@beginStyleTable
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxPD_APP_MODAL}
|
2008-03-08 08:52:38 -05:00
|
|
|
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.
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxPD_AUTO_HIDE}
|
2008-03-08 08:52:38 -05:00
|
|
|
Causes the progress dialog to disappear from screen as soon as the
|
|
|
|
maximum value of the progress meter has been reached.
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxPD_SMOOTH}
|
2008-03-08 08:52:38 -05:00
|
|
|
Causes smooth progress of the gauge control.
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxPD_CAN_ABORT}
|
2008-03-08 08:52:38 -05:00
|
|
|
This flag tells the dialog that it should have a "Cancel" button
|
|
|
|
which the user may press. If this happens, the next call to
|
|
|
|
Update() will return @false.
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxPD_CAN_SKIP}
|
2008-03-08 08:52:38 -05:00
|
|
|
This flag tells the dialog that it should have a "Skip" button
|
|
|
|
which the user may press. If this happens, the next call to
|
|
|
|
Update() will return @true in its skip parameter.
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxPD_ELAPSED_TIME}
|
2008-03-08 08:52:38 -05:00
|
|
|
This flag tells the dialog that it should show elapsed time (since
|
|
|
|
creating the dialog).
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxPD_ESTIMATED_TIME}
|
2008-03-08 08:52:38 -05:00
|
|
|
This flag tells the dialog that it should show estimated time.
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxPD_REMAINING_TIME}
|
2008-03-08 08:52:38 -05:00
|
|
|
This flag tells the dialog that it should show remaining time.
|
|
|
|
@endStyleTable
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@library{wxbase}
|
|
|
|
@category{cmndlg}
|
|
|
|
*/
|
|
|
|
class wxProgressDialog : public wxDialog
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
/**
|
|
|
|
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.
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param title
|
2008-03-09 08:33:59 -04:00
|
|
|
Dialog title to show in titlebar.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param message
|
2008-03-09 08:33:59 -04:00
|
|
|
Message displayed above the progress bar.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param maximum
|
2008-03-09 08:33:59 -04:00
|
|
|
Maximum value for the progress bar.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param parent
|
2008-03-09 08:33:59 -04:00
|
|
|
Parent window.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param style
|
2008-03-09 08:33:59 -04:00
|
|
|
The dialog style. See wxProgressDialog.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
wxProgressDialog(const wxString& title, const wxString& message,
|
|
|
|
int maximum = 100,
|
2008-03-09 08:33:59 -04:00
|
|
|
wxWindow* parent = NULL,
|
2008-03-08 08:52:38 -05:00
|
|
|
int style = wxPD_AUTO_HIDE | wxPD_APP_MODAL);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Destructor. Deletes the dialog and enables all top level windows.
|
|
|
|
*/
|
|
|
|
~wxProgressDialog();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Just like Update() but makes
|
|
|
|
the gauge control run in indeterminate mode (see wxGauge documentation),
|
|
|
|
sets the remaining and the estimated time labels (if present) to @c Unknown and
|
|
|
|
moves
|
|
|
|
the progress bar a bit to indicate that some progress was done.
|
|
|
|
*/
|
|
|
|
virtual bool Pulse(const wxString& newmsg = "",
|
2008-03-09 08:33:59 -04:00
|
|
|
bool* skip = NULL);
|
2008-03-08 08:52:38 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Can be used to continue with the dialog, after the user had chosen
|
|
|
|
ABORT.
|
|
|
|
*/
|
|
|
|
void Resume();
|
|
|
|
|
|
|
|
/**
|
|
|
|
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 Resume() function.
|
2008-03-20 09:45:17 -04:00
|
|
|
|
2008-03-08 09:43:31 -05:00
|
|
|
@param value
|
2008-03-09 08:33:59 -04:00
|
|
|
The new value of the progress meter. It should be less than or
|
|
|
|
equal to the maximum value given to the constructor and the dialog is
|
|
|
|
closed if
|
|
|
|
it is equal to the maximum.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param newmsg
|
2008-03-09 08:33:59 -04:00
|
|
|
The new messages for the progress dialog text, if it is
|
|
|
|
empty (which is the default) the message is not changed.
|
2008-03-08 09:43:31 -05:00
|
|
|
@param skip
|
2008-03-09 08:33:59 -04:00
|
|
|
If "Skip" button was pressed since last
|
|
|
|
Update call, this is set to @true.
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
|
|
|
virtual bool Update(int value, const wxString& newmsg = "",
|
2008-03-09 08:33:59 -04:00
|
|
|
bool* skip = NULL);
|
2008-03-08 08:52:38 -05:00
|
|
|
};
|
2008-03-10 11:24:38 -04:00
|
|
|
|