// 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);
// 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;
m_tempEventLoop = NULL;
}
-wxGenericProgressDialog::wxGenericProgressDialog(wxWindow *parent, int style)
+wxGenericProgressDialog::wxGenericProgressDialog()
: wxDialog()
{
- Init(parent, style);
+ Init();
}
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 )
{
- wxDialog::Create(GetParentForModalDialog(parent, style), wxID_ANY, title);
+ SetTopParent(parent);
- SetParent( GetParentForModalDialog(parent, style) );
- SetTitle( title );
+ m_parentTop = wxGetTopLevelParent(parent);
+ m_pdStyle = style;
+
+ wxWindow* const
+ realParent = GetParentForModalDialog(parent, GetWindowStyle());
+
+ if (!wxDialog::Create(realParent, wxID_ANY, title))
+ return false;
SetMaximum(maximum);
// Windows dialogs usually have buttons in the lower right corner
const int sizerFlags =
-#if defined(__WXMSW__) || defined(__WXPM__)
+#if defined(__WXMSW__) || defined(__WXPM__) || defined(__WXOSX__)
wxALIGN_RIGHT | wxALL
#else // !MSW
wxALIGN_CENTER_HORIZONTAL | wxBOTTOM | wxTOP
}
Update();
+ return true;
}
void wxGenericProgressDialog::UpdateTimeEstimates(int value,