]> git.saurik.com Git - wxWidgets.git/commitdiff
Some OS/2 Updates
authorDavid Webster <Dave.Webster@bhmi.com>
Tue, 6 Aug 2002 03:34:32 +0000 (03:34 +0000)
committerDavid Webster <Dave.Webster@bhmi.com>
Tue, 6 Aug 2002 03:34:32 +0000 (03:34 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/generic/busyinfo.cpp
src/generic/progdlgg.cpp

index 884318fbe736c86d74ea3b2bbd296d6d674e262d..f2aa47c06151ff0be041a0a7ae4f8671cbec7d01 100644 (file)
@@ -42,6 +42,54 @@ wxInfoFrame::wxInfoFrame(wxWindow *parent, const wxString& message)
     // make the frame of at least the standard size (400*80) but big enough
     // for the text we show
     wxSize sizeText = text->GetBestSize();
+#ifdef __WXPM__
+    int                             nX = 0;
+    int                             nY = 0;
+    int                             nWidth = 0;
+    int                             nHeight = 0;
+    int                             nParentHeight = parent->GetClientSize().y;
+    int                             nParentWidth = parent->GetClientSize().x;
+    int                             nColor;
+
+    SetBackgroundColour("WHITE");
+    nColor = (LONG)GetBackgroundColour().GetPixel();
+
+    ::WinSetPresParam( GetHwnd()
+                      ,PP_BACKGROUNDCOLOR
+                      ,sizeof(LONG)
+                      ,(PVOID)&nColor
+                     );
+    panel->SetBackgroundColour("WHITE");
+    nColor = (LONG)panel->GetBackgroundColour().GetPixel();
+
+    ::WinSetPresParam( GetHwndOf(panel)
+                      ,PP_BACKGROUNDCOLOR
+                      ,sizeof(LONG)
+                      ,(PVOID)&nColor
+                     );
+    nWidth = wxMax(sizeText.x, 340) + 60;
+    nHeight = wxMax(sizeText.y, 40) + 40;
+    nX = (nParentWidth - nWidth) / 2;
+    nY = (nParentHeight / 2) - (nHeight / 2);
+    nY = nParentHeight - (nY + nHeight);
+    ::WinSetWindowPos( m_hFrame
+                      ,HWND_TOP
+                      ,nX
+                      ,nY
+                      ,nWidth
+                      ,nHeight
+                      ,SWP_SIZE | SWP_MOVE | SWP_ACTIVATE
+                     );
+    text->SetBackgroundColour("WHITE");
+    nColor = (LONG)text->GetBackgroundColour().GetPixel();
+
+    ::WinSetPresParam( GetHwndOf(text)
+                      ,PP_BACKGROUNDCOLOR
+                      ,sizeof(LONG)
+                      ,(PVOID)&nColor
+                     );
+    text->Center(wxBOTH);
+#else
     SetClientSize(wxMax(sizeText.x, 340) + 60, wxMax(sizeText.y, 40) + 40);
 
     // need to size the panel correctly first so that text->Centre() works
@@ -49,6 +97,7 @@ wxInfoFrame::wxInfoFrame(wxWindow *parent, const wxString& message)
 
     text->Centre(wxBOTH);
     Centre(wxBOTH);
+#endif
 }
 
 wxBusyInfo::wxBusyInfo(const wxString& message, wxWindow *parent)
index c6ca37e085d5493a04e66fa512ecefb7dcc23717..d59ecc17983f7375f33e17f7d2df71096088df0d 100644 (file)
@@ -108,7 +108,7 @@ wxProgressDialog::wxProgressDialog(wxString const &title,
     m_state = hasAbortButton ? Continue : Uncancelable;
     m_maximum = maximum;
 
-#ifdef __WXMSW__
+#if defined(__WXMSW__) || defined(__WXPM__)
     // we can't have values > 65,536 in the progress control under Windows, so
     // scale everything down
     m_factor = m_maximum / 65536 + 1;
@@ -212,7 +212,7 @@ wxProgressDialog::wxProgressDialog(wxString const &title,
         c = new wxLayoutConstraints;
 
         // Windows dialogs usually have buttons in the lower right corner
-#ifdef __WXMSW__
+#if defined(__WXMSW__) || defined(__WXPM__)
         c->right.SameAs(this, wxRight, 2*LAYOUT_X_MARGIN);
 #else // !MSW
         c->centreX.SameAs(this, wxCentreX);
@@ -285,7 +285,7 @@ wxStaticText *wxProgressDialog::CreateLabel(const wxString& text,
 
     // VZ: I like the labels be centered - if the others don't mind, you may
     //     remove "#ifdef __WXMSW__" and use it for all ports
-#ifdef __WXMSW__
+#if defined(__WXMSW__) || defined(__WXPM__)
     c->left.SameAs(this, wxCentreX, LAYOUT_X_MARGIN);
 #else // !MSW
     c->right.SameAs(this, wxRight, 2*LAYOUT_X_MARGIN);