X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/365271b573e3d0ab7512471358f98a589f18c104..1c0338c5615c351371f704b326634f58d0bf7da9:/src/univ/combobox.cpp diff --git a/src/univ/combobox.cpp b/src/univ/combobox.cpp index b615a9b537..1ca6ffd795 100644 --- a/src/univ/combobox.cpp +++ b/src/univ/combobox.cpp @@ -344,13 +344,13 @@ void wxComboBox::SetEditable(bool editable) // wxComboBox methods forwarded to wxListBox // ---------------------------------------------------------------------------- -void wxComboBox::Clear() +void wxComboBox::DoClear() { GetLBox()->Clear(); if ( GetTextCtrl() ) GetTextCtrl()->SetValue(wxEmptyString); } -void wxComboBox::Delete(unsigned int n) +void wxComboBox::DoDeleteOneItem(unsigned int n) { wxCHECK_RET( IsValid(n), _T("invalid index in wxComboBox::Delete") ); @@ -390,7 +390,11 @@ void wxComboBox::SetSelection(int n) GetLBox()->SetSelection(n); - SetText(GetLBox()->GetString(n)); + wxString str; + if ( n != wxNOT_FOUND ) + str = GetLBox()->GetString(n); + + SetText(str); } int wxComboBox::GetSelection() const @@ -406,21 +410,11 @@ int wxComboBox::GetSelection() const #endif } -int wxComboBox::DoAppend(const wxString& item) -{ - return GetLBox()->Append(item); -} - -int wxComboBox::DoInsert(const wxString& item, unsigned int pos) +int wxComboBox::DoInsertItems(const wxArrayStringsAdapter & items, + unsigned int pos, + void **clientData, wxClientDataType type) { - wxCHECK_MSG(!(GetWindowStyle() & wxCB_SORT), -1, wxT("can't insert into sorted list")); - wxCHECK_MSG(IsValidInsert(pos), -1, wxT("invalid index")); - - if (pos == GetCount()) - return DoAppend(item); - - GetLBox()->Insert(item, pos); - return pos; + return GetLBox()->DoInsertItems(items, pos, clientData, type); } void wxComboBox::DoSetItemClientData(unsigned int n, void* clientData) @@ -433,16 +427,6 @@ void *wxComboBox::DoGetItemClientData(unsigned int n) const return GetLBox()->GetClientData(n); } -void wxComboBox::DoSetItemClientObject(unsigned int n, wxClientData* clientData) -{ - GetLBox()->SetClientObject(n, clientData); -} - -wxClientData* wxComboBox::DoGetItemClientObject(unsigned int n) const -{ - return GetLBox()->GetClientObject(n); -} - bool wxComboBox::IsEditable() const { return GetTextCtrl() != NULL && (!HasFlag(wxCB_READONLY) || GetTextCtrl()->IsEditable() );