X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8f13981070bd2f78fa1c43b09c81d19832546419..07890fbeb5e65f242e8632ed957c54e188779af2:/src/generic/progdlgg.cpp?ds=sidebyside diff --git a/src/generic/progdlgg.cpp b/src/generic/progdlgg.cpp index ca8f0d5d61..77af0c76aa 100644 --- a/src/generic/progdlgg.cpp +++ b/src/generic/progdlgg.cpp @@ -522,6 +522,22 @@ 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__ +} + // ---------------------------------------------------------------------------- // event handlers // ---------------------------------------------------------------------------- @@ -687,8 +703,6 @@ void wxProgressDialog::UpdateMessage(const wxString &newmsg) { m_msg->SetLabel(newmsg); - Fit(); // adapt to the new label size - // allow the window to repaint: // NOTE: since we yield only for UI events with this call, there // should be no side-effects