]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/busyinfo.cpp
Improved handling of anchors in wxHTML: scroll to better position (patch #11406).
[wxWidgets.git] / src / generic / busyinfo.cpp
index 9def84ca346e444e1f3ab0442e2c08cc84373f59..245741c191fc9e6e572eba3f0103933fa19496a2 100644 (file)
@@ -1,15 +1,12 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        busyinfo.cpp
+// Name:        src/generic/busyinfo.cpp
 // Purpose:     Information window when app is busy
 // Author:      Vaclav Slavik
 // Copyright:   (c) 1999 Vaclav Slavik
+// RCS-ID:      $Id$
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-#pragma implementation "busyinfo.h"
-#endif
-
 #include "wx/wxprec.h"
 
 #ifdef __BORLANDC__
 
 #if wxUSE_BUSYINFO
 
-#include "wx/stattext.h"
-#include "wx/panel.h"
-#include "wx/utils.h"
+// for all others, include the necessary headers
+#ifndef WX_PRECOMP
+    #include "wx/frame.h"
+    #include "wx/stattext.h"
+    #include "wx/panel.h"
+    #include "wx/utils.h"
+#endif
+
 #include "wx/busyinfo.h"
+#include "wx/generic/stattextg.h"
+
+class WXDLLEXPORT wxInfoFrame : public wxFrame
+{
+public:
+    wxInfoFrame(wxWindow *parent, const wxString& message);
+
+private:
+    wxDECLARE_NO_COPY_CLASS(wxInfoFrame);
+};
 
 
 wxInfoFrame::wxInfoFrame(wxWindow *parent, const wxString& message)
            : wxFrame(parent, wxID_ANY, wxT("Busy"),
                      wxDefaultPosition, wxDefaultSize,
 #if defined(__WXX11__)
-                     wxTHICK_FRAME
+                     wxRESIZE_BORDER
 #else
                      wxSIMPLE_BORDER
 #endif
-                     | wxFRAME_TOOL_WINDOW)
+                     | wxFRAME_TOOL_WINDOW | wxSTAY_ON_TOP)
 {
     wxPanel *panel = new wxPanel( this );
+#ifdef __WXGTK__
+    wxGenericStaticText *text = new wxGenericStaticText(panel, wxID_ANY, message);
+#else
     wxStaticText *text = new wxStaticText(panel, wxID_ANY, message);
+#endif
 
     panel->SetCursor(*wxHOURGLASS_CURSOR);
     text->SetCursor(*wxHOURGLASS_CURSOR);
@@ -52,7 +68,7 @@ wxInfoFrame::wxInfoFrame(wxWindow *parent, const wxString& message)
     int                             nParentWidth = parent->GetClientSize().x;
     int                             nColor;
 
-    SetBackgroundColour("WHITE");
+    SetBackgroundColour(wxT("WHITE"));
     nColor = (LONG)GetBackgroundColour().GetPixel();
 
     ::WinSetPresParam( GetHwnd()
@@ -60,7 +76,7 @@ wxInfoFrame::wxInfoFrame(wxWindow *parent, const wxString& message)
                       ,sizeof(LONG)
                       ,(PVOID)&nColor
                      );
-    panel->SetBackgroundColour("WHITE");
+    panel->SetBackgroundColour(wxT("WHITE"));
     nColor = (LONG)panel->GetBackgroundColour().GetPixel();
 
     ::WinSetPresParam( GetHwndOf(panel)
@@ -81,7 +97,7 @@ wxInfoFrame::wxInfoFrame(wxWindow *parent, const wxString& message)
                       ,nHeight
                       ,SWP_SIZE | SWP_MOVE | SWP_ACTIVATE
                      );
-    text->SetBackgroundColour("WHITE");
+    text->SetBackgroundColour(wxT("WHITE"));
     nColor = (LONG)text->GetBackgroundColour().GetPixel();
 
     ::WinSetPresParam( GetHwndOf(text)
@@ -103,24 +119,16 @@ wxInfoFrame::wxInfoFrame(wxWindow *parent, const wxString& message)
 
 wxBusyInfo::wxBusyInfo(const wxString& message, wxWindow *parent)
 {
-    m_InfoFrame = new wxInfoFrame( parent, message);
+    m_InfoFrame = new wxInfoFrame(parent, message);
     m_InfoFrame->Show(true);
-#ifdef __WXMAC__
-    m_InfoFrame->Update() ;
-#else
-    wxYield();
     m_InfoFrame->Refresh();
-    wxYield();
-#endif
+    m_InfoFrame->Update();
 }
 
 wxBusyInfo::~wxBusyInfo()
 {
     m_InfoFrame->Show(false);
     m_InfoFrame->Close();
-    wxYield();
 }
 
-#endif
-  // wxUSE_BUSYINFO
-
+#endif // wxUSE_BUSYINFO