X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/53a2db124c633f80bdb16336084262037d879a2c..a1bdd4ab9bb8cdcf8a14b8a64a5f5508be48ba4c:/include/wx/generic/progdlgg.h diff --git a/include/wx/generic/progdlgg.h b/include/wx/generic/progdlgg.h index 32383adb59..ce05dd40f8 100644 --- a/include/wx/generic/progdlgg.h +++ b/include/wx/generic/progdlgg.h @@ -1,13 +1,13 @@ -//////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// // Name: progdlgg.h // Purpose: wxProgressDialog class // Author: Karsten Ballueder -// Modified by: +// Modified by: Francesco Montorsi // Created: 09.05.1999 // RCS-ID: $Id$ // Copyright: (c) Karsten Ballueder // Licence: wxWindows licence -//////////////////////////////////////////////////// +/////////////////////////////////////////////////////////////////////////////// #ifndef __PROGDLGH_G__ #define __PROGDLGH_G__ @@ -23,50 +23,39 @@ class WXDLLIMPEXP_FWD_CORE wxButton; class WXDLLIMPEXP_FWD_CORE wxGauge; class WXDLLIMPEXP_FWD_CORE wxStaticText; -/* Progress dialog which shows a moving progress bar. - Taken from the Mahogany project.*/ - +/* + Progress dialog which shows a moving progress bar. + Taken from the Mahogany project. +*/ class WXDLLIMPEXP_CORE wxProgressDialog : public wxDialog { -DECLARE_DYNAMIC_CLASS(wxProgressDialog) public: - /* Creates and displays dialog, disables event handling for other - frames or parent frame to avoid recursion problems. - @param title title for window - @param message message to display in window - @param maximum value for status bar, if <= 0, no bar is shown - @param parent window or NULL - @param style is the bit mask of wxPD_XXX constants from wx/defs.h - */ wxProgressDialog(const wxString& title, const wxString& message, int maximum = 100, wxWindow *parent = NULL, int style = wxPD_APP_MODAL | wxPD_AUTO_HIDE); - /* Destructor. - Re-enables event handling for other windows. - */ + virtual ~wxProgressDialog(); - /* Update the status bar to the new value. - @param value new value - @param newmsg if used, new message to display - @returns true if ABORT button has not been pressed - */ virtual bool Update(int value, const wxString& newmsg = wxEmptyString, bool *skip = NULL); - - /* Switches the dialog to use a gauge in indeterminate mode and calls - wxGauge::Pulse() to show to the user a bit of progress */ virtual bool Pulse(const wxString& newmsg = wxEmptyString, bool *skip = NULL); + void Resume(); + + int GetValue() const; + int GetRange() const; + wxString GetMessage() const; + + void SetRange(int maximum); + + // Return whether "Cancel" or "Skip" button was pressed, always return + // false if the corresponding button is not shown. + bool WasCancelled() const; + bool WasSkipped() const; + // Must provide overload to avoid hiding it (and warnings about it) virtual void Update() { wxDialog::Update(); } - /* Can be called to continue after the cancel button has been pressed, but - the program decided to continue the operation (e.g., user didn't - confirm it) - */ - void Resume(); - virtual bool Show( bool show = true ); protected: @@ -92,7 +81,10 @@ private: void UpdateMessage(const wxString &newmsg); // common part of Update() and Pulse(), returns true if not cancelled - bool DoAfterUpdate(bool *skip); + bool DoBeforeUpdate(bool *skip); + + // common part of Update() and Pulse() + void DoAfterUpdate(); // shortcuts for enabling buttons void EnableClose(); @@ -101,7 +93,7 @@ private: void DisableSkip() { EnableSkip(false); } void DisableAbort() { EnableAbort(false); } - // the status bar + // the widget displaying current status (may be NULL) wxGauge *m_gauge; // the message displayed wxStaticText *m_msg; @@ -164,7 +156,8 @@ private: class WXDLLIMPEXP_FWD_CORE wxWindowDisabler *m_winDisabler; DECLARE_EVENT_TABLE() - DECLARE_NO_COPY_CLASS(wxProgressDialog) + DECLARE_DYNAMIC_CLASS(wxProgressDialog) + wxDECLARE_NO_COPY_CLASS(wxProgressDialog); }; #endif // wxUSE_PROGRESSDLG