From af237ae405f7598c7893d6f46caaf72e64ff8fcf Mon Sep 17 00:00:00 2001 From: Francesco Montorsi Date: Tue, 2 Dec 2008 18:35:24 +0000 Subject: [PATCH] add GetValue,GetRange and GetMessage helpers git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57075 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/generic/progdlgg.h | 8 ++++++-- include/wx/palmos/progdlg.h | 6 +++++- interface/wx/progdlg.h | 27 +++++++++++++++++++++++++++ src/generic/progdlgg.cpp | 19 +++++++++++++++++++ 4 files changed, 57 insertions(+), 3 deletions(-) diff --git a/include/wx/generic/progdlgg.h b/include/wx/generic/progdlgg.h index a3ff1a8f02..aa0de14272 100644 --- a/include/wx/generic/progdlgg.h +++ b/include/wx/generic/progdlgg.h @@ -61,13 +61,17 @@ public: // Must provide overload to avoid hiding it (and warnings about it) virtual void Update() { wxDialog::Update(); } + virtual bool Show( bool show = true ); + /* 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 ); + int GetValue() const; + int GetRange() const; + wxString GetMessage() const; protected: // callback for optional abort button @@ -101,7 +105,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; diff --git a/include/wx/palmos/progdlg.h b/include/wx/palmos/progdlg.h index a6de9ec0b7..f37db2e9e0 100644 --- a/include/wx/palmos/progdlg.h +++ b/include/wx/palmos/progdlg.h @@ -2,7 +2,7 @@ // Name: wx/palmos/progdlg.h // Purpose: wxProgressDialog interface // Author: Wlodzimierz ABX Skiba -// Modified by: +// Modified by: // Created: 29.12.2004 // RCS-ID: $Id$ // Copyright: (c) Wlodzimierz Skiba @@ -35,6 +35,10 @@ public: Boolean Callback(/*PrgCallbackData */ void *data); + int GetValue() const { return m_cur; } + int GetRange() const { return m_max; } + wxString GetMessage() const { return m_msg; } + private: /*ProgressType*/ void *m_prgFrame; diff --git a/interface/wx/progdlg.h b/interface/wx/progdlg.h index 7f229492c6..a6c4127370 100644 --- a/interface/wx/progdlg.h +++ b/interface/wx/progdlg.h @@ -57,6 +57,8 @@ public: Message displayed above the progress bar. @param maximum Maximum value for the progress bar. + In the generic implementation the progress bar is constructed + only if this value is greater than zero. @param parent Parent window. @param style @@ -72,6 +74,31 @@ public: */ virtual ~wxProgressDialog(); + /** + Returns the last value passed to the Update() function or + @c wxNOT_FOUND if the dialog has no progress bar. + + @since 2.9.0 + */ + int GetValue() const; + + /** + Returns the maximum value of the progress meter, as passed to + the constructor or @c wxNOT_FOUND if the dialog has no progress bar. + + @since 2.9.0 + */ + int GetRange() const; + + /** + Returns the last message passed to the Update() function; + if you always passed wxEmptyString to Update() then the message + set through the constructor is returned. + + @since 2.9.0 + */ + wxString GetMessage() const; + /** Works like Update() but makes the gauge control run in indeterminate mode (see wxGauge documentation); sets the remaining and the estimated time labels diff --git a/src/generic/progdlgg.cpp b/src/generic/progdlgg.cpp index b3050261fe..ebf5a78e8b 100644 --- a/src/generic/progdlgg.cpp +++ b/src/generic/progdlgg.cpp @@ -487,6 +487,25 @@ bool wxProgressDialog::Show( bool show ) return wxDialog::Show(show); } +int wxProgressDialog::GetValue() const +{ + if (m_gauge) + return m_gauge->GetValue(); + return wxNOT_FOUND; +} + +int wxProgressDialog::GetRange() const +{ + if (m_gauge) + return m_gauge->GetRange(); + return wxNOT_FOUND; +} + +wxString wxProgressDialog::GetMessage() const +{ + return m_msg->GetLabel(); +} + // ---------------------------------------------------------------------------- // event handlers // ----------------------------------------------------------------------------