X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c84030e020e56735cb4b7c1534e99d21a8bb48c0..8bd410eb8082d9e009ece7cc279faa5f73ea1f5e:/src/osx/combobox_osx.cpp?ds=sidebyside diff --git a/src/osx/combobox_osx.cpp b/src/osx/combobox_osx.cpp index 91bc6fa638..cd4fc9518a 100644 --- a/src/osx/combobox_osx.cpp +++ b/src/osx/combobox_osx.cpp @@ -62,13 +62,10 @@ bool wxComboBox::Create(wxWindow *parent, wxWindowID id, if ( !wxControl::Create( parent, id, pos, size, style, validator, name ) ) return false; - - if (style & wxCB_READONLY) - wxLogWarning("wxCB_READONLY style not supported by OS X Cocoa. Use wxChoice instead."); - - if (style & wxCB_SORT) - wxLogWarning("wxCB_SORT style not currently supported by OS X Cocoa."); - + + wxASSERT_MSG( !(style & wxCB_SORT), + "wxCB_SORT not currently supported by wxOSX/Cocoa"); + m_peer = wxWidgetImpl::CreateComboBox( this, parent, id, NULL, pos, size, style, GetExtraStyle() ); MacPostControlCreate( pos, size ); @@ -123,19 +120,19 @@ int wxComboBox::DoInsertItems(const wxArrayStringsAdapter& items, // ---------------------------------------------------------------------------- void wxComboBox::DoSetItemClientData(unsigned int n, void* clientData) { - wxCHECK_RET( IsValid(n), wxT("wxChoice::DoSetItemClientData: invalid index") ); + wxCHECK_RET( IsValid(n), "invalid index" ); m_datas[n] = (char*)clientData ; } void * wxComboBox::DoGetItemClientData(unsigned int n) const { - wxCHECK_MSG( IsValid(n), NULL, wxT("wxChoice::DoGetClientData: invalid index") ); + wxCHECK_MSG( IsValid(n), NULL, "invalid index" ); return (void *)m_datas[n]; } -unsigned int wxComboBox::GetCount() const +unsigned int wxComboBox::GetCount() const { return GetComboPeer()->GetNumberOfItems(); } @@ -155,7 +152,7 @@ void wxComboBox::GetSelection(long *from, long *to) const { wxTextEntry::GetSelection(from, to); } - + int wxComboBox::GetSelection() const { return GetComboPeer()->GetSelectedItem(); @@ -174,8 +171,15 @@ void wxComboBox::SetSelection(long from, long to) int wxComboBox::FindString(const wxString& s, bool bCase) const { if (!bCase) - wxLogWarning("wxComboBox::FindString on Mac doesn't currently support case insensitive search."); - + { + for (int i = 0; i < GetCount(); i++) + { + if (s.IsSameAs(GetString(i), false)) + return i; + } + return wxNOT_FOUND; + } + return GetComboPeer()->FindString(s); }