From 793c7f9b9c65b2ec07549d4608f8a0c347bb2edd Mon Sep 17 00:00:00 2001 From: David Webster Date: Mon, 7 Jan 2002 16:51:01 +0000 Subject: [PATCH] toplevel fixes to deal with base class fixes. Create interface change to support passing in stacksize and OS/2 SystemSettingsNative support git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13440 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/os2/settings.cpp | 23 ++++++++++++++++------- src/os2/thread.cpp | 13 +++++++++---- src/os2/toplevel.cpp | 12 ++++++++++++ 3 files changed, 37 insertions(+), 11 deletions(-) diff --git a/src/os2/settings.cpp b/src/os2/settings.cpp index 6745891e57..1dc15fcfac 100644 --- a/src/os2/settings.cpp +++ b/src/os2/settings.cpp @@ -72,8 +72,8 @@ void wxSystemSettingsModule::OnExit() delete gs_fontDefault; } -wxColour wxSystemSettings::GetSystemColour( - int nIndex +wxColour wxSystemSettingsNative::GetColour( + wxSystemColour nIndex ) { COLORREF vRef; @@ -200,9 +200,11 @@ wxColour wxSystemSettings::GetSystemColour( break; } return(vCol); -} // end of wxSystemSettings::GetSystemColour +} // end of wxSystemSettingsNative::GetColour -wxFont wxSystemSettings::GetSystemFont(int index) +wxFont wxSystemSettingsNative::GetFont( + wxSystemFont index +) { // TODO switch (index) @@ -236,7 +238,9 @@ wxFont wxSystemSettings::GetSystemFont(int index) } // Get a system metric, e.g. scrollbar size -int wxSystemSettings::GetSystemMetric(int index) +int wxSystemSettingsNative::GetMetric( + wxSystemMetric index +) { switch ( index) { @@ -357,13 +361,18 @@ int wxSystemSettings::GetSystemMetric(int index) return 0; } -bool wxSystemSettings::GetCapability(int index) +bool wxSystemSettingsNative::HasFeature( + wxSystemFeature index +) { switch (index) { case wxSYS_CAN_ICONIZE_FRAME: + return TRUE; + case wxSYS_CAN_DRAW_FRAME_DECORATIONS: - return TRUE; break; + return FALSE; + default: return FALSE; } diff --git a/src/os2/thread.cpp b/src/os2/thread.cpp index f7890fa084..c8cd9a7968 100644 --- a/src/os2/thread.cpp +++ b/src/os2/thread.cpp @@ -317,7 +317,9 @@ public: } // create a new (suspended) thread (for the given thread object) - bool Create(wxThread* pThread); + bool Create( wxThread* pThread + ,unsigned int uStackSize + ); // suspend/resume/terminate bool Suspend(); @@ -415,6 +417,7 @@ void wxThreadInternal::SetPriority( bool wxThreadInternal::Create( wxThread* pThread +, unsigned int uStackSize ) { APIRET ulrc; @@ -423,7 +426,7 @@ bool wxThreadInternal::Create( ,(PFNTHREAD)wxThreadInternal::OS2ThreadStart ,(ULONG)pThread ,CREATE_SUSPENDED | STACK_SPARSE - ,8192L + ,(ULONG)uStackSize ); if(ulrc != 0) { @@ -519,9 +522,11 @@ wxThread::~wxThread() // create/start thread // ------------------- -wxThreadError wxThread::Create() +wxThreadError wxThread::Create( + unsigned int uStackSize +) { - if ( !m_internal->Create(this) ) + if ( !m_internal->Create(this, uStackSize) ) return wxTHREAD_NO_RESOURCE; return wxTHREAD_NO_ERROR; diff --git a/src/os2/toplevel.cpp b/src/os2/toplevel.cpp index ced8e43b34..3f5b059d66 100644 --- a/src/os2/toplevel.cpp +++ b/src/os2/toplevel.cpp @@ -54,6 +54,9 @@ wxWindowList wxModelessWindows; // the name of the default wxWindows class extern const wxChar* wxCanvasClassName; extern const wxChar* wxFrameClassName; +extern void wxAssociateWinWithHandle( HWND hWnd + ,wxWindowOS2* pWin + ); // ============================================================================ // wxTopLevelWindowMSW implementation @@ -529,6 +532,15 @@ void wxTopLevelWindowOS2::AlterChildPos() ::WinQueryWindowPos(GetHwnd(), &m_vSwpClient); } // end of wxTopLevelWindowOS2::AlterChildPos +void wxTopLevelWindowOS2::UpdateInternalSize( + wxWindow* pChild +, int nHeight +) +{ + pChild->MoveChildren(m_vSwpClient.cy - nHeight); + ::WinQueryWindowPos(GetHwnd(), &m_vSwpClient); +} // end of wxTopLevelWindowOS2::UpdateInternalSize + // ---------------------------------------------------------------------------- // wxTopLevelWindowOS2 client size // ---------------------------------------------------------------------------- -- 2.45.2