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
This commit is contained in:
David Webster
2002-01-07 16:51:01 +00:00
parent 5150c01688
commit 793c7f9b9c
3 changed files with 37 additions and 11 deletions

View File

@@ -72,8 +72,8 @@ void wxSystemSettingsModule::OnExit()
delete gs_fontDefault; delete gs_fontDefault;
} }
wxColour wxSystemSettings::GetSystemColour( wxColour wxSystemSettingsNative::GetColour(
int nIndex wxSystemColour nIndex
) )
{ {
COLORREF vRef; COLORREF vRef;
@@ -200,9 +200,11 @@ wxColour wxSystemSettings::GetSystemColour(
break; break;
} }
return(vCol); return(vCol);
} // end of wxSystemSettings::GetSystemColour } // end of wxSystemSettingsNative::GetColour
wxFont wxSystemSettings::GetSystemFont(int index) wxFont wxSystemSettingsNative::GetFont(
wxSystemFont index
)
{ {
// TODO // TODO
switch (index) switch (index)
@@ -236,7 +238,9 @@ wxFont wxSystemSettings::GetSystemFont(int index)
} }
// Get a system metric, e.g. scrollbar size // Get a system metric, e.g. scrollbar size
int wxSystemSettings::GetSystemMetric(int index) int wxSystemSettingsNative::GetMetric(
wxSystemMetric index
)
{ {
switch ( index) switch ( index)
{ {
@@ -357,13 +361,18 @@ int wxSystemSettings::GetSystemMetric(int index)
return 0; return 0;
} }
bool wxSystemSettings::GetCapability(int index) bool wxSystemSettingsNative::HasFeature(
wxSystemFeature index
)
{ {
switch (index) switch (index)
{ {
case wxSYS_CAN_ICONIZE_FRAME: case wxSYS_CAN_ICONIZE_FRAME:
return TRUE;
case wxSYS_CAN_DRAW_FRAME_DECORATIONS: case wxSYS_CAN_DRAW_FRAME_DECORATIONS:
return TRUE; break; return FALSE;
default: default:
return FALSE; return FALSE;
} }

View File

@@ -317,7 +317,9 @@ public:
} }
// create a new (suspended) thread (for the given thread object) // create a new (suspended) thread (for the given thread object)
bool Create(wxThread* pThread); bool Create( wxThread* pThread
,unsigned int uStackSize
);
// suspend/resume/terminate // suspend/resume/terminate
bool Suspend(); bool Suspend();
@@ -415,6 +417,7 @@ void wxThreadInternal::SetPriority(
bool wxThreadInternal::Create( bool wxThreadInternal::Create(
wxThread* pThread wxThread* pThread
, unsigned int uStackSize
) )
{ {
APIRET ulrc; APIRET ulrc;
@@ -423,7 +426,7 @@ bool wxThreadInternal::Create(
,(PFNTHREAD)wxThreadInternal::OS2ThreadStart ,(PFNTHREAD)wxThreadInternal::OS2ThreadStart
,(ULONG)pThread ,(ULONG)pThread
,CREATE_SUSPENDED | STACK_SPARSE ,CREATE_SUSPENDED | STACK_SPARSE
,8192L ,(ULONG)uStackSize
); );
if(ulrc != 0) if(ulrc != 0)
{ {
@@ -519,9 +522,11 @@ wxThread::~wxThread()
// create/start thread // 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_RESOURCE;
return wxTHREAD_NO_ERROR; return wxTHREAD_NO_ERROR;

View File

@@ -54,6 +54,9 @@ wxWindowList wxModelessWindows;
// the name of the default wxWindows class // the name of the default wxWindows class
extern const wxChar* wxCanvasClassName; extern const wxChar* wxCanvasClassName;
extern const wxChar* wxFrameClassName; extern const wxChar* wxFrameClassName;
extern void wxAssociateWinWithHandle( HWND hWnd
,wxWindowOS2* pWin
);
// ============================================================================ // ============================================================================
// wxTopLevelWindowMSW implementation // wxTopLevelWindowMSW implementation
@@ -529,6 +532,15 @@ void wxTopLevelWindowOS2::AlterChildPos()
::WinQueryWindowPos(GetHwnd(), &m_vSwpClient); ::WinQueryWindowPos(GetHwnd(), &m_vSwpClient);
} // end of wxTopLevelWindowOS2::AlterChildPos } // 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 // wxTopLevelWindowOS2 client size
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------