X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3b2fb7a165afff85ee2fdf65c4df4cc84fd343af..fa5f4858288ebd8e031b9d3e89d4ec89e8f212e7:/src/generic/progdlgg.cpp diff --git a/src/generic/progdlgg.cpp b/src/generic/progdlgg.cpp index 68b58cada4..ef7b89b24e 100644 --- a/src/generic/progdlgg.cpp +++ b/src/generic/progdlgg.cpp @@ -99,7 +99,7 @@ wxProgressDialog::wxProgressDialog(const wxString& title, int maximum, wxWindow *parent, int style) - : wxDialog(GetParentForModalDialog(parent), wxID_ANY, title), + : wxDialog(GetParentForModalDialog(parent, style), wxID_ANY, title), m_skip(false), m_delay(3), m_hasAbortButton(false), @@ -522,6 +522,34 @@ wxString wxProgressDialog::GetMessage() const return m_msg->GetLabel(); } +void wxProgressDialog::SetRange(int maximum) +{ + wxASSERT_MSG(m_gauge, "The dialog should have been constructed with a range > 0"); + wxASSERT_MSG(maximum > 0, "Invalid range"); + + m_gauge->SetRange(maximum); + m_maximum = maximum; + +#if defined(__WXMSW__) || defined(__WXPM__) + // we can't have values > 65,536 in the progress control under Windows, so + // scale everything down + m_factor = m_maximum / 65536 + 1; + m_maximum /= m_factor; +#endif // __WXMSW__ +} + + +bool wxProgressDialog::WasCancelled() const +{ + return m_hasAbortButton && m_state == Canceled; +} + +bool wxProgressDialog::WasSkipped() const +{ + return m_hasSkipButton && m_skip; +} + + // ---------------------------------------------------------------------------- // event handlers // ----------------------------------------------------------------------------