X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8907154c1a8a6882c6797d1f16393ddfb23e7f3a..f645356813e0479e74db69e15e915384922001ea:/src/os2/spinctrl.cpp?ds=sidebyside diff --git a/src/os2/spinctrl.cpp b/src/os2/spinctrl.cpp index 9b9ca7ada7..2771654ab0 100644 --- a/src/os2/spinctrl.cpp +++ b/src/os2/spinctrl.cpp @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: msw/spinctrl.cpp -// Purpose: wxSpinCtrl class implementation for Win32 +// Name: src/os2/spinctrl.cpp +// Purpose: wxSpinCtrl class implementation for OS/2 // Author: David Webster // Modified by: // Created: 10/15/99 @@ -40,8 +40,6 @@ extern void wxAssociateWinWithHandle( HWND hWnd static WXFARPROC fnWndProcSpinCtrl = (WXFARPROC)NULL; wxArraySpins wxSpinCtrl::m_svAllSpins; -IMPLEMENT_DYNAMIC_CLASS(wxSpinCtrl, wxControl) - BEGIN_EVENT_TABLE(wxSpinCtrl, wxSpinButton) EVT_CHAR(wxSpinCtrl::OnChar) EVT_SPIN(wxID_ANY, wxSpinCtrl::OnSpinChange) @@ -122,19 +120,20 @@ bool wxSpinCtrl::Create( wxWindow* pParent, int nInitial, const wxString& rsName ) { - SWP vSwp; - if (vId == wxID_ANY) m_windowId = NewControlId(); else m_windowId = vId; - m_backgroundColour = pParent->GetBackgroundColour(); - m_foregroundColour = pParent->GetForegroundColour(); + if (pParent) + { + m_backgroundColour = pParent->GetBackgroundColour(); + m_foregroundColour = pParent->GetForegroundColour(); + } SetName(rsName); SetParent(pParent); m_windowStyle = lStyle; - int lSstyle = 0L; + int lSstyle = 0L; lSstyle = WS_VISIBLE | WS_TABSTOP | @@ -171,20 +170,11 @@ 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); - SetSize( rPos.x - ,rPos.y - ,rSize.x - ,rSize.y - ); + + SetFont(*wxSMALL_FONT); + SetXComp(0); + SetYComp(0); + SetSize( rPos.x, rPos.y, rSize.x, rSize.y ); SetRange(nMin, nMax); SetValue(nInitial); @@ -198,7 +188,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 +204,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 +221,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( @@ -314,7 +297,7 @@ wxSpinCtrl* wxSpinCtrl::GetSpinForTextCtrl( // sanity check wxASSERT_MSG( pSpin->m_hWndBuddy == hWndBuddy, - _T("wxSpinCtrl has incorrect buddy HWND!") ); + wxT("wxSpinCtrl has incorrect buddy HWND!") ); return pSpin; } // end of wxSpinCtrl::GetSpinForTextCtrl @@ -351,7 +334,7 @@ void wxSpinCtrl::OnChar ( InitCommandEvent(vEvent); vEvent.SetString(sVal); vEvent.SetInt(GetValue()); - if (GetEventHandler()->ProcessEvent(vEvent)) + if (HandleWindowEvent(vEvent)) return; break; } @@ -369,7 +352,7 @@ void wxSpinCtrl::OnChar ( vEventNav.SetDirection(!rEvent.ShiftDown()); vEventNav.SetWindowChange(rEvent.ControlDown()); vEventNav.SetEventObject(this); - if (GetParent()->GetEventHandler()->ProcessEvent(vEventNav)) + if (GetParent()->HandleWindowEvent(vEventNav)) return; } break; @@ -391,7 +374,7 @@ void wxSpinCtrl::OnSpinChange( vEvent.SetEventObject(this); vEvent.SetInt(rEventSpin.GetPosition()); - (void)GetEventHandler()->ProcessEvent(vEvent); + (void)HandleWindowEvent(vEvent); if (rEventSpin.GetSkipped()) { vEvent.Skip(); @@ -424,7 +407,7 @@ bool wxSpinCtrl::ProcessTextCommand( WXWORD wCmd, vEvent.SetString(sVal); vEvent.SetInt(GetValue()); - return (GetEventHandler()->ProcessEvent(vEvent)); + return (HandleWindowEvent(vEvent)); } case SPBN_SETFOCUS: @@ -435,7 +418,7 @@ bool wxSpinCtrl::ProcessTextCommand( WXWORD wCmd, ); vEvent.SetEventObject(this); - return(GetEventHandler()->ProcessEvent(vEvent)); + return(HandleWindowEvent(vEvent)); } default: break; @@ -474,7 +457,7 @@ void wxSpinCtrl::SetValue( { long lVal; - lVal = atol((char*)rsText.c_str()); + lVal = atol(rsText.c_str()); wxSpinButton::SetValue(lVal); } // end of wxSpinCtrl::SetValue