X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2996bcde9c1b96e2b8659a6eaf7201b56085abbb..c15521c67eb8aba1994240262ba973aa11ef0086:/src/generic/busyinfo.cpp diff --git a/src/generic/busyinfo.cpp b/src/generic/busyinfo.cpp index 0b94f12ab5..884318fbe7 100644 --- a/src/generic/busyinfo.cpp +++ b/src/generic/busyinfo.cpp @@ -25,18 +25,35 @@ wxInfoFrame::wxInfoFrame(wxWindow *parent, const wxString& message) - : wxFrame(parent, -1, "", wxPoint(0, 0), wxSize(400, 80), wxTHICK_FRAME | wxSIMPLE_BORDER | wxFRAME_TOOL_WINDOW) + : wxFrame(parent, -1, wxT("Busy"), + wxDefaultPosition, wxDefaultSize, +#if defined(__WXX11__) + wxTHICK_FRAME | wxFRAME_TOOL_WINDOW) +#else + wxSIMPLE_BORDER | wxFRAME_TOOL_WINDOW) +#endif { - wxPanel *p = new wxPanel( this ); - wxStaticText *s = new wxStaticText( p, -1, message, wxPoint(20, 20), wxSize(360, 40), wxALIGN_CENTER ); + wxPanel *panel = new wxPanel( this ); + wxStaticText *text = new wxStaticText(panel, -1, message); + + panel->SetCursor(*wxHOURGLASS_CURSOR); + text->SetCursor(*wxHOURGLASS_CURSOR); + + // make the frame of at least the standard size (400*80) but big enough + // for the text we show + wxSize sizeText = text->GetBestSize(); + SetClientSize(wxMax(sizeText.x, 340) + 60, wxMax(sizeText.y, 40) + 40); + + // need to size the panel correctly first so that text->Centre() works + panel->SetSize(GetClientSize()); + + text->Centre(wxBOTH); Centre(wxBOTH); - p->SetCursor(*wxHOURGLASS_CURSOR); - s->SetCursor(*wxHOURGLASS_CURSOR); } -wxBusyInfo::wxBusyInfo(const wxString& message) : wxObject() +wxBusyInfo::wxBusyInfo(const wxString& message, wxWindow *parent) { - m_InfoFrame = new wxInfoFrame( (wxWindow*) NULL, message); + m_InfoFrame = new wxInfoFrame( parent, message); m_InfoFrame->Show(TRUE); wxYield(); m_InfoFrame->Refresh();