From 94640e0414bbf7ebe161bef98f55a946b8fae310 Mon Sep 17 00:00:00 2001 From: David Webster <Dave.Webster@bhmi.com> Date: Tue, 6 Aug 2002 03:34:32 +0000 Subject: [PATCH] Some OS/2 Updates git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16377 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/busyinfo.cpp | 49 ++++++++++++++++++++++++++++++++++++++++ src/generic/progdlgg.cpp | 6 ++--- 2 files changed, 52 insertions(+), 3 deletions(-) diff --git a/src/generic/busyinfo.cpp b/src/generic/busyinfo.cpp index 884318fbe7..f2aa47c061 100644 --- a/src/generic/busyinfo.cpp +++ b/src/generic/busyinfo.cpp @@ -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) diff --git a/src/generic/progdlgg.cpp b/src/generic/progdlgg.cpp index c6ca37e085..d59ecc1798 100644 --- a/src/generic/progdlgg.cpp +++ b/src/generic/progdlgg.cpp @@ -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); -- 2.47.2