X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/695f550bfaa08c237dec723bdd1eddf0eacbc741..654c223bc7c5457e407ff7d127a8129c821b07e4:/src/generic/progdlgg.cpp diff --git a/src/generic/progdlgg.cpp b/src/generic/progdlgg.cpp index 6f4fec1fe8..2f77e37bf0 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; @@ -182,9 +181,6 @@ wxProgressDialog::wxProgressDialog(const wxString& title, m_break = 0; m_ctdelay = 0; - // if we are going to have at least one label, remember it in this var - wxStaticText *label = NULL; - // also count how many labels we really have size_t nTimeLabels = 0; @@ -194,7 +190,6 @@ wxProgressDialog::wxProgressDialog(const wxString& title, { nTimeLabels++; - label = m_elapsed = CreateLabel(_("Elapsed time:"), sizerLabels); } @@ -202,7 +197,6 @@ wxProgressDialog::wxProgressDialog(const wxString& title, { nTimeLabels++; - label = m_estimated = CreateLabel(_("Estimated time:"), sizerLabels); } @@ -210,7 +204,6 @@ wxProgressDialog::wxProgressDialog(const wxString& title, { nTimeLabels++; - label = m_remaining = CreateLabel(_("Remaining time:"), sizerLabels); } sizerTop->Add(sizerLabels, 0, wxALIGN_CENTER_HORIZONTAL | wxTOP, LAYOUT_MARGIN); @@ -394,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(); @@ -408,7 +401,7 @@ wxProgressDialog::Update(int value, const wxString& newmsg, bool *skip) m_msg->SetLabel(_("Done.")); } - wxYieldIfNeeded() ; + wxYieldIfNeeded(); (void)ShowModal(); } @@ -494,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 // ---------------------------------------------------------------------------- @@ -563,10 +575,10 @@ wxProgressDialog::~wxProgressDialog() void wxProgressDialog::ReenableOtherWindows() { - if ( GetWindowStyle() & wxPD_APP_MODAL ) + if ( HasFlag(wxPD_APP_MODAL) ) { delete m_winDisabler; - m_winDisabler = (wxWindowDisabler *)NULL; + m_winDisabler = NULL; } else { @@ -587,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 { @@ -656,6 +668,8 @@ void wxProgressDialog::UpdateMessage(const wxString &newmsg) { m_msg->SetLabel(newmsg); + Fit(); // adapt to the new label size + wxYieldIfNeeded() ; } }