From: Stefan Neis Date: Wed, 19 Jul 2006 20:52:06 +0000 (+0000) Subject: Sizing fixes according to patch #1523304. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/61a028dc4af537da90fd52935a75afc9056ecd09 Sizing fixes according to patch #1523304. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40194 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/os2/spinbutt.cpp b/src/os2/spinbutt.cpp index 0c25a24f01..c176baa141 100644 --- a/src/os2/spinbutt.cpp +++ b/src/os2/spinbutt.cpp @@ -118,12 +118,8 @@ bool wxSpinButton::Create( ::WinQueryWindowPos(m_hWnd, &vSwp); SetXComp(vSwp.x); SetYComp(vSwp.y-5); // compensate for the associated TextControl border - wxFont* pTextFont = new wxFont( 10 - ,wxMODERN - ,wxNORMAL - ,wxNORMAL - ); - SetFont(*pTextFont); + + SetFont(*wxSMALL_FONT); // // For OS/2 we want to hide the text portion so we can substitute an // independent text ctrl in its place. @@ -144,7 +140,6 @@ bool wxSpinButton::Create( ::WinSetWindowULong(GetHwnd(), QWL_USER, (LONG)this); fnWndProcSpinCtrl = (WXFARPROC)::WinSubclassWindow(m_hWnd, (PFNWP)wxSpinCtrlWndProc); #endif - delete pTextFont; return TRUE; } // end of wxSpinButton::Create @@ -159,12 +154,12 @@ wxSpinButton::~wxSpinButton() wxSize wxSpinButton::DoGetBestSize() const { // - // OS/2 PM does not really have system metrics so we'll just set it to - // 26x20 which is the size of the buttons and the borders. - // Also we have no horizontal spin buttons. + // OS/2 PM does not really have system metrics so we'll just set it to + // a square based on its height. // - wxSize best(26,20); - return best; + RECTL vRect; + ::WinQueryWindowRect(GetHwnd(),&vRect); + return wxSize(vRect.yTop,vRect.yTop); } // end of wxSpinButton::DoGetBestSize // ---------------------------------------------------------------------------- diff --git a/src/os2/spinctrl.cpp b/src/os2/spinctrl.cpp index a7da77ea4e..a6048ce89c 100644 --- a/src/os2/spinctrl.cpp +++ b/src/os2/spinctrl.cpp @@ -171,15 +171,10 @@ bool wxSpinCtrl::Create( wxWindow* pParent, m_hWndBuddy = m_hWnd; // One in the same for OS/2 if(pParent) pParent->AddChild((wxSpinButton *)this); - wxFont* pTextFont = new wxFont( 10 - ,wxMODERN - ,wxNORMAL - ,wxNORMAL - ); - SetFont(*pTextFont); - ::WinQueryWindowPos(m_hWnd, &vSwp); - SetXComp(vSwp.x); - SetYComp(vSwp.y); + + SetFont(*wxSMALL_FONT); + SetXComp(0); + SetYComp(0); SetSize( rPos.x ,rPos.y ,rSize.x @@ -198,7 +193,6 @@ bool wxSpinCtrl::Create( wxWindow* pParent, ::WinSetWindowULong(GetHwnd(), QWL_USER, (LONG)this); fnWndProcSpinCtrl = (WXFARPROC)::WinSubclassWindow(m_hWnd, (PFNWP)wxSpinCtrlWndProc); m_svAllSpins.Add(this); - delete pTextFont; return true; } // end of wxSpinCtrl::Create @@ -215,7 +209,7 @@ wxSize wxSpinCtrl::DoGetBestSize() const ,&nHeight ,&vFont ); - nHeight = EDIT_HEIGHT_FROM_CHAR_HEIGHT(nHeight); + nHeight = EDIT_HEIGHT_FROM_CHAR_HEIGHT(nHeight)+4; if (vSizeBtn.y < nHeight) { @@ -232,13 +226,7 @@ void wxSpinCtrl::DoGetPosition( , int* pnY ) const { - WXHWND hWnd = GetHWND(); - - wxConstCast(this, wxSpinCtrl)->m_hWnd = m_hWndBuddy; - wxSpinButton::DoGetPosition( pnX - ,pnY - ); - wxConstCast(this, wxSpinCtrl)->m_hWnd = hWnd; + wxSpinButton::DoGetPosition( pnX,pnY ); } // end of wxpinCtrl::DoGetPosition void wxSpinCtrl::DoGetSize(