X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e54266add728b5cf83a4d1b2136ecfca55fdc146..5c87527c5a81eda63e7ccbda2f226ca02716e7da:/src/generic/progdlgg.cpp diff --git a/src/generic/progdlgg.cpp b/src/generic/progdlgg.cpp index 25a42355ae..94e1bed6f1 100644 --- a/src/generic/progdlgg.cpp +++ b/src/generic/progdlgg.cpp @@ -148,7 +148,6 @@ wxProgressDialog::wxProgressDialog(const wxString& title, m_msg = new wxStaticText(this, wxID_ANY, message); sizerTop->Add(m_msg, 0, wxLEFT | wxTOP, 2*LAYOUT_MARGIN); - wxSize sizeLabel = m_msg->GetSize(); if ( maximum > 0 ) { int gauge_style = wxGA_HORIZONTAL; @@ -388,7 +387,7 @@ wxProgressDialog::Update(int value, const wxString& newmsg, bool *skip) // so that we return true below and that out [Cancel] handler knew what // to do m_state = Finished; - if( !(GetWindowStyle() & wxPD_AUTO_HIDE) ) + if( !HasFlag(wxPD_AUTO_HIDE) ) { EnableClose(); DisableSkip(); @@ -402,7 +401,7 @@ wxProgressDialog::Update(int value, const wxString& newmsg, bool *skip) m_msg->SetLabel(_("Done.")); } - wxYieldIfNeeded() ; + wxYieldIfNeeded(); (void)ShowModal(); } @@ -488,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 // ---------------------------------------------------------------------------- @@ -557,7 +575,7 @@ wxProgressDialog::~wxProgressDialog() void wxProgressDialog::ReenableOtherWindows() { - if ( GetWindowStyle() & wxPD_APP_MODAL ) + if ( HasFlag(wxPD_APP_MODAL) ) { delete m_winDisabler; m_winDisabler = (wxWindowDisabler *)NULL; @@ -581,10 +599,10 @@ static void SetTimeLabel(unsigned long val, wxStaticText *label) if (val != (unsigned long)-1) { - unsigned long hours = val / 3600; - unsigned long minutes = (val % 3600) / 60; - unsigned long seconds = val % 60; - s.Printf(wxT("%lu:%02lu:%02lu"), hours, minutes, seconds); + unsigned long hours = val / 3600; + unsigned long minutes = (val % 3600) / 60; + unsigned long seconds = val % 60; + s.Printf(wxT("%lu:%02lu:%02lu"), hours, minutes, seconds); } else { @@ -650,6 +668,8 @@ void wxProgressDialog::UpdateMessage(const wxString &newmsg) { m_msg->SetLabel(newmsg); + Fit(); // adapt to the new label size + wxYieldIfNeeded() ; } }