///////////////////////////////////////////////////////////////////////////////
-// Name: listbox.cpp
+// Name: src/os2/listbox.cpp
// Purpose: wxListBox
// Author: David Webster
// Modified by:
class wxListBoxItem : public wxOwnerDrawn
{
public:
- wxListBoxItem(const wxString& rsStr = "");
+ wxListBoxItem(const wxString& rsStr = wxEmptyString);
};
wxListBoxItem::wxListBoxItem(
SetMarginWidth(0);
} // end of wxListBoxItem::wxListBoxItem
-wxOwnerDrawn* wxListBox::CreateItem(
- size_t n
-)
+wxOwnerDrawn* wxListBox::CreateItem( size_t WXUNUSED(n) )
{
return new wxListBoxItem();
} // end of wxListBox::CreateItem
SetFont(*pTextFont);
//
- // Set standard wxWidgets colors for Listbox items and highlighting
+ // Set OS/2 system colours for Listbox items and highlighting
//
wxColour vColour;
- vColour.Set(wxString("WHITE"));
+ vColour = wxSystemSettingsNative::GetColour(wxSYS_COLOUR_HIGHLIGHTTEXT);
LONG lColor = (LONG)vColour.GetPixel();
,sizeof(LONG)
,(PVOID)&lColor
);
- vColour.Set(wxString("NAVY"));
+ vColour = wxSystemSettingsNative::GetColour(wxSYS_COLOUR_HIGHLIGHT);
lColor = (LONG)vColour.GetPixel();
::WinSetPresParam( m_hWnd
,PP_HILITEBACKGROUNDCOLOR
,(PVOID)&lColor
);
+ SetXComp(0);
+ SetYComp(0);
SetSize( nX
,nY
,nWidth
::WinShowWindow(GetHwnd(), TRUE);
} // end of wxListBox::DoSetItems
-int wxListBox::FindString(
- const wxString& rsString
-) const
-{
- int nPos;
- LONG lTextLength;
- PSZ zStr;
-
-
- for (nPos = 0; nPos < m_nNumItems; nPos++)
- {
- lTextLength = LONGFROMMR(::WinSendMsg(GetHwnd(), LM_QUERYITEMTEXTLENGTH, (MPARAM)nPos, (MPARAM)0));
- zStr = new char[lTextLength + 1];
- ::WinSendMsg(GetHwnd(), LM_QUERYITEMTEXT, MPFROM2SHORT(nPos, (SHORT)lTextLength), (MPARAM)zStr);
- if (rsString == (char*)zStr)
- {
- delete [] zStr;
- break;
- }
- delete [] zStr;
- }
- return nPos;
-} // end of wxListBox::FindString
-
void wxListBox::Clear()
{
#if wxUSE_OWNER_DRAWN
return (m_windowStyle & wxLB_MULTIPLE) || (m_windowStyle & wxLB_EXTENDED);
} // end of wxListBox::HasMultipleSelection
-int wxListBox::GetSelections(
- wxArrayInt& raSelections
-) const
+int wxListBox::GetSelections( wxArrayInt& raSelections ) const
{
int nCount = 0;
LONG lItem;
}
return nCount;
}
- return 0;
}
else // single-selection listbox
{
) const
{
LONG lLen = 0;
- char* zBuf;
+ wxChar* zBuf;
wxString sResult;
- wxCHECK_MSG( N >= 0 && N < m_nNumItems, "",
+ wxCHECK_MSG( N >= 0 && N < m_nNumItems, wxEmptyString,
wxT("invalid index in wxListBox::GetClientData") );
lLen = LONGFROMMR(::WinSendMsg(GetHwnd(), LM_QUERYITEMTEXTLENGTH, (MPARAM)N, (MPARAM)0));
- zBuf = new char[lLen + 1];
+ zBuf = new wxChar[lLen + 1];
::WinSendMsg(GetHwnd(), LM_QUERYITEMTEXT, MPFROM2SHORT((SHORT)N, (SHORT)lLen), (MPARAM)zBuf);
zBuf[lLen] = '\0';
sResult = zBuf;
int nListbox = 0;
int nCx;
int nCy;
+ wxFont vFont = (wxFont)GetFont();
for (int i = 0; i < m_nNumItems; i++)
{
wxGetCharSize( GetHWND()
,&nCx
,&nCy
- ,(wxFont*)&GetFont()
+ ,&vFont
);
nListbox += 3 * nCx;
{
eEvtType = wxEVT_COMMAND_LISTBOX_SELECTED;
}
- if (uParam == LN_ENTER)
+ else if (uParam == LN_ENTER)
{
eEvtType = wxEVT_COMMAND_LISTBOX_DOUBLECLICKED;
}
wxCHECK(pData, false );
- wxDC vDc;
- wxRect vRect( wxPoint( pDrawStruct->rclItem.xLeft
- ,pDrawStruct->rclItem.yTop
- )
- ,wxPoint( pDrawStruct->rclItem.xRight
- ,pDrawStruct->rclItem.yBottom
- )
- );
+ wxDC vDc;
+ wxPoint pt1( pDrawStruct->rclItem.xLeft, pDrawStruct->rclItem.yTop );
+ wxPoint pt2( pDrawStruct->rclItem.xRight, pDrawStruct->rclItem.yBottom );
+ wxRect vRect( pt1, pt2 );
vDc.SetHPS(pDrawStruct->hps);
#endif // ndef for wxUSE_OWNER_DRAWN
#endif // ndef for wxUSE_LISTBOX
-