]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/busyinfo.cpp
Allow passing multi-line strings to wxDC::DrawText(), even under MSW.
[wxWidgets.git] / src / generic / busyinfo.cpp
index 26c875b43a67b70749519392ba4f0cbcbfe4a8e1..245741c191fc9e6e572eba3f0103933fa19496a2 100644 (file)
@@ -24,6 +24,7 @@
 #endif
 
 #include "wx/busyinfo.h"
 #endif
 
 #include "wx/busyinfo.h"
+#include "wx/generic/stattextg.h"
 
 class WXDLLEXPORT wxInfoFrame : public wxFrame
 {
 
 class WXDLLEXPORT wxInfoFrame : public wxFrame
 {
@@ -31,7 +32,7 @@ public:
     wxInfoFrame(wxWindow *parent, const wxString& message);
 
 private:
     wxInfoFrame(wxWindow *parent, const wxString& message);
 
 private:
-    DECLARE_NO_COPY_CLASS(wxInfoFrame)
+    wxDECLARE_NO_COPY_CLASS(wxInfoFrame);
 };
 
 
 };
 
 
@@ -43,10 +44,14 @@ wxInfoFrame::wxInfoFrame(wxWindow *parent, const wxString& message)
 #else
                      wxSIMPLE_BORDER
 #endif
 #else
                      wxSIMPLE_BORDER
 #endif
-                     | wxFRAME_TOOL_WINDOW)
+                     | wxFRAME_TOOL_WINDOW | wxSTAY_ON_TOP)
 {
     wxPanel *panel = new wxPanel( this );
 {
     wxPanel *panel = new wxPanel( this );
+#ifdef __WXGTK__
+    wxGenericStaticText *text = new wxGenericStaticText(panel, wxID_ANY, message);
+#else
     wxStaticText *text = new wxStaticText(panel, wxID_ANY, message);
     wxStaticText *text = new wxStaticText(panel, wxID_ANY, message);
+#endif
 
     panel->SetCursor(*wxHOURGLASS_CURSOR);
     text->SetCursor(*wxHOURGLASS_CURSOR);
 
     panel->SetCursor(*wxHOURGLASS_CURSOR);
     text->SetCursor(*wxHOURGLASS_CURSOR);
@@ -114,24 +119,10 @@ wxInfoFrame::wxInfoFrame(wxWindow *parent, const wxString& message)
 
 wxBusyInfo::wxBusyInfo(const wxString& message, wxWindow *parent)
 {
 
 wxBusyInfo::wxBusyInfo(const wxString& message, wxWindow *parent)
 {
-    m_InfoFrame = new wxInfoFrame( parent, message);
-    if ( parent && parent->HasFlag(wxSTAY_ON_TOP) )
-    {
-        // we must have this flag to be in front of our parent if it has it
-        m_InfoFrame->SetWindowStyleFlag(wxSTAY_ON_TOP);
-    }
-
+    m_InfoFrame = new wxInfoFrame(parent, message);
     m_InfoFrame->Show(true);
     m_InfoFrame->Refresh();
     m_InfoFrame->Update();
     m_InfoFrame->Show(true);
     m_InfoFrame->Refresh();
     m_InfoFrame->Update();
-
-#ifdef __WXGTK20__
-    // FIXME: this is pretty bad, as any call to Yield(), but without it, the
-    //         static text is never shown and neither gdk_display_flush() nor
-    //         gdk_display_sync() nor gdk_window_process_updates() helps
-    wxMilliSleep(100);
-    wxYield();
-#endif
 }
 
 wxBusyInfo::~wxBusyInfo()
 }
 
 wxBusyInfo::~wxBusyInfo()