X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f9eee2db810695ae4417e9935475f268bb68bbac..606ce80cc8348f7121cb126386887d2ba9c3e80e:/src/os2/listbox.cpp diff --git a/src/os2/listbox.cpp b/src/os2/listbox.cpp index 69ba786869..1d8fbd18d3 100644 --- a/src/os2/listbox.cpp +++ b/src/os2/listbox.cpp @@ -85,6 +85,23 @@ wxListBox::wxListBox() m_nSelected = 0; } // end of wxListBox::wxListBox +bool wxListBox::Create( + wxWindow* pParent +, wxWindowID vId +, const wxPoint& rPos +, const wxSize& rSize +, const wxArrayString& asChoices +, long lStyle +, const wxValidator& rValidator +, const wxString& rsName +) +{ + wxCArrayString chs(asChoices); + + return Create(pParent, vId, rPos, rSize, chs.GetCount(), chs.GetStrings(), + lStyle, rValidator, rsName); +} + bool wxListBox::Create( wxWindow* pParent , wxWindowID vId @@ -177,7 +194,7 @@ bool wxListBox::Create( SetFont(*pTextFont); // - // Set standard wxWindows colors for Listbox items and highlighting + // Set standard wxWidgets colors for Listbox items and highlighting // wxColour vColour; @@ -264,31 +281,30 @@ int wxListBox::DoAppend( const wxString& rsItem ) { - int nIndex = 0; - SHORT nIndexType = 0; + long lIndex = 0; + LONG lIndexType = 0; if (m_windowStyle & wxLB_SORT) - nIndexType = LIT_SORTASCENDING; + lIndexType = LIT_SORTASCENDING; else - nIndexType = LIT_END; - nIndex = (int)::WinSendMsg(GetHwnd(), LM_INSERTITEM, (MPARAM)nIndexType, (MPARAM)rsItem.c_str()); + lIndexType = LIT_END; + lIndex = (long)::WinSendMsg(GetHwnd(), LM_INSERTITEM, (MPARAM)lIndexType, (MPARAM)rsItem.c_str()); m_nNumItems++; #if wxUSE_OWNER_DRAWN if (m_windowStyle & wxLB_OWNERDRAW) { - wxOwnerDrawn* pNewItem = CreateItem(nIndex); // dummy argument + wxOwnerDrawn* pNewItem = CreateItem(lIndex); // dummy argument wxScreenDC vDc; - wxCoord vHeight; pNewItem->SetName(rsItem); - m_aItems.Insert(pNewItem, nIndex); - ::WinSendMsg(GetHwnd(), LM_SETITEMHANDLE, (MPARAM)((SHORT)nIndex), MPFROMP(pNewItem)); + m_aItems.Insert(pNewItem, lIndex); + ::WinSendMsg(GetHwnd(), LM_SETITEMHANDLE, (MPARAM)lIndex, MPFROMP(pNewItem)); pNewItem->SetFont(GetFont()); } #endif - return nIndex; + return (int)lIndex; } // end of wxListBox::DoAppend void wxListBox::DoSetItems( @@ -297,9 +313,8 @@ void wxListBox::DoSetItems( ) { BOOL bHideAndShow = IsShown(); - int nCount = 0; int i; - SHORT nIndexType = 0; + LONG lIndexType = 0; if (bHideAndShow) { @@ -311,10 +326,10 @@ void wxListBox::DoSetItems( { if (m_windowStyle & wxLB_SORT) - nIndexType = LIT_SORTASCENDING; + lIndexType = LIT_SORTASCENDING; else - nIndexType = LIT_END; - ::WinSendMsg(GetHwnd(), LM_INSERTITEM, (MPARAM)nIndexType, (MPARAM)raChoices[i].c_str()); + lIndexType = LIT_END; + ::WinSendMsg(GetHwnd(), LM_INSERTITEM, (MPARAM)lIndexType, (MPARAM)raChoices[i].c_str()); if (ppClientData) { @@ -618,7 +633,7 @@ void wxListBox::DoInsertItems( m_aItems.Insert(pNewItem, nIndex); ::WinSendMsg( GetHwnd() ,LM_SETITEMHANDLE - ,(MPARAM)((SHORT)nIndex) + ,(MPARAM)((LONG)nIndex) ,MPFROMP(pNewItem) ); m_nNumItems += nItems; @@ -840,7 +855,7 @@ long wxListBox::OS2OnMeasure( pMeasureStruct->rclItem.yTop = 0; pMeasureStruct->rclItem.yBottom = 0; - vHeight = vDc.GetCharHeight() * 2.5; + vHeight = (wxCoord)(vDc.GetCharHeight() * 2.5); pMeasureStruct->rclItem.yTop = (USHORT)vHeight; return long(MRFROM2SHORT((USHORT)vHeight, (USHORT)vWidth));