X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5d44b24ee63543390aa28e1eb4ff162da4264838..2b0246530d08cf7724d94c70d631c166f9717c2c:/src/os2/spinbutt.cpp diff --git a/src/os2/spinbutt.cpp b/src/os2/spinbutt.cpp index 55e9b2c6a3..28661af11a 100644 --- a/src/os2/spinbutt.cpp +++ b/src/os2/spinbutt.cpp @@ -9,11 +9,6 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ - #pragma implementation "spinbutt.h" - #pragma implementation "spinbutbase.h" -#endif - // For compilers that support precompilation, includes "wx.h". #include "wx/wxprec.h" @@ -32,7 +27,6 @@ extern void wxAssociateWinWithHandle( HWND hWnd ,wxWindowOS2* pWin ); -static WXFARPROC fnWndProcSpinCtrl = (WXFARPROC)NULL; IMPLEMENT_DYNAMIC_CLASS(wxSpinEvent, wxNotifyEvent) @@ -102,24 +96,6 @@ bool wxSpinButton::Create( if (m_windowStyle & wxCLIP_SIBLINGS ) lSstyle |= WS_CLIPSIBLINGS; - // - // If the parent is a scrolled window the controls must - // have this style or they will overlap the scrollbars - // - if (pParent) - if (pParent->IsKindOf(CLASSINFO(wxScrolledWindow)) || - pParent->IsKindOf(CLASSINFO(wxGenericScrolledWindow))) - lSstyle |= WS_CLIPSIBLINGS; - - SPBCDATA vCtrlData; - - vCtrlData.cbSize = sizeof(SPBCDATA); - vCtrlData.ulTextLimit = 10L; - vCtrlData.lLowerLimit = 0L; - vCtrlData.lUpperLimit = 100L; - vCtrlData.idMasterSpb = vId; - vCtrlData.pHWXCtlData = NULL; - m_hWnd = (WXHWND)::WinCreateWindow( GetWinHwnd(pParent) ,WC_SPINBUTTON ,(PSZ)NULL @@ -128,20 +104,26 @@ bool wxSpinButton::Create( ,GetWinHwnd(pParent) ,HWND_TOP ,(HMENU)vId - ,(PVOID)&vCtrlData + ,NULL ,NULL ); if (m_hWnd == 0) { return FALSE; } + SetRange(m_min, m_max); if(pParent) pParent->AddChild((wxSpinButton *)this); ::WinQueryWindowPos(m_hWnd, &vSwp); SetXComp(vSwp.x); SetYComp(vSwp.y); - SetFont(pParent->GetFont()); + wxFont* pTextFont = new wxFont( 10 + ,wxMODERN + ,wxNORMAL + ,wxNORMAL + ); + SetFont(*pTextFont); // // For OS/2 we want to hide the text portion so we can substitute an // independent text ctrl in its place. 10 device units does this @@ -154,8 +136,14 @@ bool wxSpinButton::Create( wxAssociateWinWithHandle( m_hWnd ,(wxWindowOS2*)this ); +#if 0 + // FIXME: + // Apparently, this does not work, as it crashes in setvalue/setrange calls + // What's it supposed to do anyway? ::WinSetWindowULong(GetHwnd(), QWL_USER, (LONG)this); fnWndProcSpinCtrl = (WXFARPROC)::WinSubclassWindow(m_hWnd, (PFNWP)wxSpinCtrlWndProc); +#endif + delete pTextFont; return TRUE; } // end of wxSpinButton::Create @@ -170,10 +158,12 @@ wxSpinButton::~wxSpinButton() wxSize wxSpinButton::DoGetBestSize() const { // - // OS/2 PM does not really have system metrics so we'll just set our best guess + // OS/2 PM does not really have system metrics so we'll just set it to + // 24x20 which is the size of the buttons and the borders. // Also we have no horizontal spin buttons. // - return (wxSize(10,20)); + wxSize best(24,20); + return best; } // end of wxSpinButton::DoGetBestSize // ---------------------------------------------------------------------------- @@ -182,7 +172,6 @@ wxSize wxSpinButton::DoGetBestSize() const int wxSpinButton::GetValue() const { - int nVal = 0; long lVal = 0L; char zVal[10]; @@ -197,31 +186,25 @@ int wxSpinButton::GetValue() const return ((int)lVal); } // end of wxSpinButton::GetValue -bool wxSpinButton::OS2OnScroll( - int nOrientation -, WXWORD wParam -, WXWORD wPos -, WXHWND hControl -) +bool wxSpinButton::OS2OnScroll( int WXUNUSED(nOrientation), + WXWORD WXUNUSED(wParam), + WXWORD wPos, + WXHWND hControl ) { - wxCHECK_MSG(hControl, FALSE, wxT("scrolling what?") ) + wxCHECK_MSG(hControl, false, wxT("scrolling what?") ) - wxSpinEvent vEvent( wxEVT_SCROLL_THUMBTRACK - ,m_windowId - ); - int nVal = (int)wPos; // cast is important for negative values! + wxSpinEvent vEvent( wxEVT_SCROLL_THUMBTRACK, m_windowId ); + int nVal = (int)wPos; // cast is important for negative values! vEvent.SetPosition(nVal); vEvent.SetEventObject(this); return(GetEventHandler()->ProcessEvent(vEvent)); } // end of wxSpinButton::OS2OnScroll -bool wxSpinButton::OS2Command( - WXUINT uCmd -, WXWORD wId -) +bool wxSpinButton::OS2Command( WXUINT WXUNUSED(uCmd), + WXWORD WXUNUSED(wId) ) { - return FALSE; + return false; } // end of wxSpinButton::OS2Command void wxSpinButton::SetRange(