X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/516ed23a948380fab200457b5adb2907e0b180a0..404b319a85dadd7decf7a5a5331020520031a41c:/src/generic/progdlgg.cpp diff --git a/src/generic/progdlgg.cpp b/src/generic/progdlgg.cpp index 129cd47b39..7f48ba31f3 100644 --- a/src/generic/progdlgg.cpp +++ b/src/generic/progdlgg.cpp @@ -87,7 +87,7 @@ wxIMPLEMENT_CLASS(wxProgressDialog, wxDialog) // wxGenericProgressDialog creation // ---------------------------------------------------------------------------- -void wxGenericProgressDialog::Init(wxWindow *parent, int style) +void wxGenericProgressDialog::Init() { // we may disappear at any moment, let the others know about it SetExtraStyle(GetExtraStyle() | wxWS_EX_TRANSIENT); @@ -95,9 +95,8 @@ void wxGenericProgressDialog::Init(wxWindow *parent, int style) // Initialize all our members that we always use (even when we don't // create a valid window in this class). - m_pdStyle = style; - - m_parentTop = wxGetTopLevelParent(parent); + m_pdStyle = 0; + m_parentTop = NULL; m_gauge = NULL; m_msg = NULL; @@ -129,10 +128,10 @@ void wxGenericProgressDialog::Init(wxWindow *parent, int style) m_tempEventLoop = NULL; } -wxGenericProgressDialog::wxGenericProgressDialog(wxWindow *parent, int style) +wxGenericProgressDialog::wxGenericProgressDialog() : wxDialog() { - Init(parent, style); + Init(); } wxGenericProgressDialog::wxGenericProgressDialog(const wxString& title, @@ -142,24 +141,32 @@ wxGenericProgressDialog::wxGenericProgressDialog(const wxString& title, int style) : wxDialog() { - Init(parent, style); + Init(); Create( title, message, maximum, parent, style ); } -void wxGenericProgressDialog::Create( const wxString& title, +void wxGenericProgressDialog::SetTopParent(wxWindow* parent) +{ + m_parentTop = GetParentForModalDialog(parent, GetWindowStyle()); +} + +bool wxGenericProgressDialog::Create( const wxString& title, const wxString& message, int maximum, wxWindow *parent, int style ) { - // Notice that GetParentForModalDialog() needs the dialog window style, not - // our wxProgressDialog-specific style. + SetTopParent(parent); + + m_parentTop = wxGetTopLevelParent(parent); + m_pdStyle = style; + wxWindow* const realParent = GetParentForModalDialog(parent, GetWindowStyle()); - wxDialog::Create(realParent, wxID_ANY, title); - SetTitle( title ); + if (!wxDialog::Create(realParent, wxID_ANY, title)) + return false; SetMaximum(maximum); @@ -309,6 +316,7 @@ void wxGenericProgressDialog::Create( const wxString& title, } Update(); + return true; } void wxGenericProgressDialog::UpdateTimeEstimates(int value,