X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f9eee2db810695ae4417e9935475f268bb68bbac..1696dde5fdcc34c00440f3de8a6d8b8d3bf73f92:/src/os2/slider.cpp diff --git a/src/os2/slider.cpp b/src/os2/slider.cpp index 0a6eb8f985..1c806c968a 100644 --- a/src/os2/slider.cpp +++ b/src/os2/slider.cpp @@ -23,6 +23,8 @@ #include #endif +#if wxUSE_SLIDER + #include "wx/slider.h" #include "wx/os2/private.h" @@ -58,18 +60,18 @@ void wxSlider::AdjustSubControls( , int nSizeFlags ) { - SWP vSwp; int nXOffset = nX; int nYOffset = nY; int nCx; // slider,min,max sizes int nCy; int nCyf; - char zBuf[300]; + wxChar zBuf[300]; + wxFont vFont = this->GetFont(); wxGetCharSize( GetHWND() ,&nCx ,&nCy - ,&this->GetFont() + ,&vFont ); if ((m_windowStyle & wxSL_VERTICAL) != wxSL_VERTICAL) @@ -79,11 +81,11 @@ void wxSlider::AdjustSubControls( int nMinLen = 0; int nMaxLen = 0; - ::WinQueryWindowText((HWND)m_hStaticMin, 300, zBuf); - GetTextExtent(zBuf, &nMinLen, &nCyf, NULL, NULL, &this->GetFont()); + ::WinQueryWindowText((HWND)m_hStaticMin, 300, (PSZ)zBuf); + GetTextExtent(zBuf, &nMinLen, &nCyf, NULL, NULL, &vFont); - ::WinQueryWindowText((HWND)m_hStaticMax, 300, zBuf); - GetTextExtent(zBuf, &nMaxLen, &nCyf, NULL, NULL, &this->GetFont()); + ::WinQueryWindowText((HWND)m_hStaticMax, 300, (PSZ)zBuf); + GetTextExtent(zBuf, &nMaxLen, &nCyf, NULL, NULL, &vFont); if (m_hStaticValue) { @@ -130,11 +132,11 @@ void wxSlider::AdjustSubControls( int nMinLen = 0; int nMaxLen = 0; - ::WinQueryWindowText((HWND)m_hStaticMin, 300, zBuf); - GetTextExtent(zBuf, &nMinLen, &nCyf, NULL, NULL, &this->GetFont()); + ::WinQueryWindowText((HWND)m_hStaticMin, 300, (PSZ)zBuf); + GetTextExtent(zBuf, &nMinLen, &nCyf, NULL, NULL, &vFont); - ::WinQueryWindowText((HWND)m_hStaticMax, 300, zBuf); - GetTextExtent(zBuf, &nMaxLen, &nCyf, NULL, NULL, &this->GetFont()); + ::WinQueryWindowText((HWND)m_hStaticMax, 300, (PSZ)zBuf); + GetTextExtent(zBuf, &nMaxLen, &nCyf, NULL, NULL, &vFont); if (m_hStaticValue) { @@ -259,7 +261,7 @@ bool wxSlider::Create( // // Now create min static control // - sprintf(wxBuffer, "%d", nMinValue); + wxSprintf(wxBuffer, wxT("%d"), nMinValue); lWstyle = SS_TEXT|DT_LEFT|WS_VISIBLE; if (m_windowStyle & wxCLIP_SIBLINGS) lWstyle |= WS_CLIPSIBLINGS; @@ -354,7 +356,7 @@ bool wxSlider::Create( // // Finally, create max value static item // - sprintf(wxBuffer, "%d", nMaxValue); + wxSprintf(wxBuffer, wxT("%d"), nMaxValue); lWstyle = SS_TEXT|DT_LEFT|WS_VISIBLE; if (m_windowStyle & wxCLIP_SIBLINGS) lMsStyle |= WS_CLIPSIBLINGS; @@ -408,7 +410,7 @@ bool wxSlider::Create( wxColour vColour; - vColour.Set(wxString("BLACK")); + vColour.Set(wxString(wxT("BLACK"))); LONG lColor = (LONG)vColour.GetPixel(); @@ -453,7 +455,7 @@ bool wxSlider::Create( ,sizeof(LONG) ,(PVOID)&lColor ); - vColour.Set(wxString("BLUE")); + vColour.Set(wxString(wxT("BLUE"))); lColor = (LONG)vColour.GetPixel(); ::WinSetPresParam( m_hWnd ,PP_HILITEBACKGROUNDCOLOR @@ -461,7 +463,7 @@ bool wxSlider::Create( ,(PVOID)&lColor ); SetValue(nValue); - return TRUE; + return true; } // end of wxSlider::Create void wxSlider::DoSetSize( @@ -483,7 +485,8 @@ void wxSlider::DoSetSize( int nCyf; int nCurrentX; int nCurrentY; - char zBuf[300]; + wxChar zBuf[300]; + wxFont vFont = this->GetFont(); // // Adjust for OS/2's reverse coordinate system @@ -529,7 +532,7 @@ void wxSlider::DoSetSize( wxGetCharSize( GetHWND() ,&nCx ,&nCy - ,&this->GetFont() + ,&vFont ); if ((m_windowStyle & wxSL_VERTICAL) != wxSL_VERTICAL) @@ -539,10 +542,10 @@ void wxSlider::DoSetSize( int nMinLen = 0; int nMaxLen = 0; - ::WinQueryWindowText((HWND)m_hStaticMin, 300, zBuf); - GetTextExtent(zBuf, &nMinLen, &nCyf, NULL, NULL, &this->GetFont()); - ::WinQueryWindowText((HWND)m_hStaticMax, 300, zBuf); - GetTextExtent(zBuf, &nMaxLen, &nCyf, NULL, NULL, &this->GetFont()); + ::WinQueryWindowText((HWND)m_hStaticMin, 300, (PSZ)zBuf); + GetTextExtent(zBuf, &nMinLen, &nCyf, NULL, NULL, &vFont); + ::WinQueryWindowText((HWND)m_hStaticMax, 300, (PSZ)zBuf); + GetTextExtent(zBuf, &nMaxLen, &nCyf, NULL, NULL, &vFont); if (m_hStaticValue) { @@ -552,7 +555,7 @@ void wxSlider::DoSetSize( ::WinSetWindowPos( (HWND)m_hStaticValue ,HWND_TOP ,(LONG)nXOffset - ,(LONG)nYOffset - (nCyf * 1.2) + ,(LONG)nYOffset - (LONG)(nCyf * 1.2) ,(LONG)nNewWidth ,(LONG)nValueHeight ,SWP_ZORDER | SWP_SIZE | SWP_MOVE | SWP_SHOW @@ -562,7 +565,7 @@ void wxSlider::DoSetSize( ::WinSetWindowPos( (HWND)m_hStaticMin ,HWND_TOP ,(LONG)nXOffset - ,(LONG)nYOffset - (nCyf * 1.2) + ,(LONG)nYOffset - (LONG)(nCyf * 1.2) ,(LONG)nMinLen ,(LONG)nCy ,SWP_ZORDER | SWP_SIZE | SWP_MOVE | SWP_SHOW @@ -602,7 +605,7 @@ void wxSlider::DoSetSize( ::WinSetWindowPos( (HWND)m_hStaticMax ,HWND_TOP ,(LONG)nXOffset - ,(LONG)nYOffset - (nCyf * 1.2) + ,(LONG)nYOffset - (LONG)(nCyf * 1.2) ,(LONG)nMaxLen ,(LONG)nCy ,SWP_ZORDER | SWP_SIZE | SWP_MOVE | SWP_SHOW @@ -646,10 +649,10 @@ void wxSlider::DoSetSize( int nMinLen; int nMaxLen; - ::WinQueryWindowText((HWND)m_hStaticMin, 300, zBuf); - GetTextExtent(zBuf, &nMinLen, &nCyf, NULL, NULL, &this->GetFont()); - ::WinQueryWindowText((HWND)m_hStaticMax, 300, zBuf); - GetTextExtent(zBuf, &nMaxLen, &nCyf, NULL, NULL, &this->GetFont()); + ::WinQueryWindowText((HWND)m_hStaticMin, 300, (PSZ)zBuf); + GetTextExtent(zBuf, &nMinLen, &nCyf, NULL, NULL, &vFont); + ::WinQueryWindowText((HWND)m_hStaticMax, 300, (PSZ)zBuf); + GetTextExtent(zBuf, &nMaxLen, &nCyf, NULL, NULL, &vFont); if (m_hStaticValue) { int nNewWidth = wxMax(nMinLen, nMaxLen); @@ -863,8 +866,10 @@ void wxSlider::GetSize( wxFindMaxSize( m_hStaticValue ,&vRect ); - *pnWidth = vRect.xRight - vRect.xLeft; - *pnHeight = vRect.yBottom - vRect.yTop; + if (pnWidth) + *pnWidth = vRect.xRight - vRect.xLeft; + if (pnHeight) + *pnHeight = vRect.yTop - vRect.yBottom; } // end of wxSlider::GetSize int wxSlider::GetThumbLength() const @@ -940,7 +945,7 @@ bool wxSlider::OS2OnScroll( break; default: - return FALSE; + return false; } int nPixelRange = SHORT1FROMMR(::WinSendMsg( GetHwnd() @@ -961,7 +966,7 @@ bool wxSlider::OS2OnScroll( ,(MPARAM)0 ) ); - nNewPos = (nPixelPos/m_dPixelToRange); + nNewPos = (int)(nPixelPos/m_dPixelToRange); if (nNewPos > (m_nRangeMax - m_nRangeMin)/2) nNewPos++; if ((nNewPos < GetMin()) || (nNewPos > GetMax())) @@ -969,7 +974,7 @@ bool wxSlider::OS2OnScroll( // // Out of range - but we did process it // - return TRUE; + return true; } SetValue(nNewPos); @@ -1027,13 +1032,13 @@ void wxSlider::SetRange( if (m_hStaticMin) { wxSprintf(zBuf, wxT("%d"), m_nRangeMin); - ::WinSetWindowText((HWND)m_hStaticMin, zBuf); + ::WinSetWindowText((HWND)m_hStaticMin, (PSZ)zBuf); } if (m_hStaticMax) { wxSprintf(zBuf, wxT("%d"), m_nRangeMax); - ::WinSetWindowText((HWND)m_hStaticMax, zBuf); + ::WinSetWindowText((HWND)m_hStaticMax, (PSZ)zBuf); } } // end of wxSlider::SetRange @@ -1080,7 +1085,7 @@ void wxSlider::SetTick( int nTickPos ) { - nTickPos *= m_dPixelToRange; + nTickPos = (int)(nTickPos * m_dPixelToRange); ::WinSendMsg( GetHwnd() ,SLM_ADDDETENT ,MPFROMSHORT(nTickPos) @@ -1118,7 +1123,7 @@ void wxSlider::SetTickFreq( ::WinSendMsg(GetHwnd(), WM_SETWINDOWPARAMS, (MPARAM)&vWndParams, (MPARAM)0); for (i = 1; i < (m_nRangeMax - m_nRangeMin)/n; i++) { - nPixelPos = i * n * m_dPixelToRange; + nPixelPos = (int)(i * n * m_dPixelToRange); ::WinSendMsg( GetHwnd() ,SLM_ADDDETENT ,MPFROMSHORT(nPixelPos) @@ -1131,14 +1136,6 @@ void wxSlider::SetValue( int nValue ) { - int nPixelPos = SHORT1FROMMR(::WinSendMsg( GetHwnd() - ,SLM_QUERYSLIDERINFO - ,MPFROM2SHORT( SMA_SLIDERARMPOSITION - ,SMA_RANGEVALUE - ) - ,(MPARAM)0 - ) - ); int nPixelRange = SHORT1FROMMR(::WinSendMsg( GetHwnd() ,SLM_QUERYSLIDERINFO ,MPFROM2SHORT( SMA_SHAFTDIMENSIONS @@ -1160,7 +1157,7 @@ void wxSlider::SetValue( if (m_hStaticValue) { wxSprintf(wxBuffer, wxT("%d"), nValue); - ::WinSetWindowText((HWND)m_hStaticValue, wxBuffer); + ::WinSetWindowText((HWND)m_hStaticValue, (PSZ)wxBuffer); } } // end of wxSlider::SetValue @@ -1175,6 +1172,7 @@ bool wxSlider::Show( ::WinShowWindow((HWND)m_hStaticMin, bShow); if(m_hStaticMax) ::WinShowWindow((HWND)m_hStaticMax, bShow); - return TRUE; + return true; } // end of wxSlider::Show +#endif // wxUSE_SLIDER