X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/75a788ee9230f65330731e58889840989525129b..7e38638c3499c679f25ec0029931aad8e62e70d3:/src/univ/combobox.cpp diff --git a/src/univ/combobox.cpp b/src/univ/combobox.cpp index f347cfe1b9..2656c76d15 100644 --- a/src/univ/combobox.cpp +++ b/src/univ/combobox.cpp @@ -92,6 +92,8 @@ protected: void OnLeftUp(wxMouseEvent& event); private: + friend class wxComboBox; // it accesses our DoGetItemClientData() + DECLARE_EVENT_TABLE() }; @@ -281,6 +283,11 @@ void wxComboBox::SetValue(const wxString& value) wxComboCtrl::SetValue(value); } +void wxComboBox::WriteText(const wxString& value) +{ + if ( GetTextCtrl() ) GetTextCtrl()->WriteText(value); +} + void wxComboBox::Copy() { if ( GetTextCtrl() ) GetTextCtrl()->Copy(); @@ -335,6 +342,11 @@ void wxComboBox::SetSelection(long from, long to) if ( GetTextCtrl() ) GetTextCtrl()->SetSelection(from, to); } +void wxComboBox::GetSelection(long *from, long *to) const +{ + if ( GetTextCtrl() ) GetTextCtrl()->GetSelection(from, to); +} + void wxComboBox::SetEditable(bool editable) { if ( GetTextCtrl() ) GetTextCtrl()->SetEditable(editable); @@ -344,13 +356,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") ); @@ -410,41 +422,36 @@ int wxComboBox::GetSelection() const #endif } -int wxComboBox::DoAppend(const wxString& item) +wxString wxComboBox::GetStringSelection() const { - return GetLBox()->Append(item); + return GetLBox()->GetStringSelection(); } -int wxComboBox::DoInsert(const wxString& item, unsigned int pos) +wxClientDataType wxComboBox::GetClientDataType() const { - 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()->GetClientDataType(); } -void wxComboBox::DoSetItemClientData(unsigned int n, void* clientData) +void wxComboBox::SetClientDataType(wxClientDataType clientDataItemsType) { - GetLBox()->SetClientData(n, clientData); + GetLBox()->SetClientDataType(clientDataItemsType); } -void *wxComboBox::DoGetItemClientData(unsigned int n) const +int wxComboBox::DoInsertItems(const wxArrayStringsAdapter & items, + unsigned int pos, + void **clientData, wxClientDataType type) { - return GetLBox()->GetClientData(n); + return GetLBox()->DoInsertItems(items, pos, clientData, type); } -void wxComboBox::DoSetItemClientObject(unsigned int n, wxClientData* clientData) +void wxComboBox::DoSetItemClientData(unsigned int n, void* clientData) { - GetLBox()->SetClientObject(n, clientData); + GetLBox()->DoSetItemClientData(n, clientData); } -wxClientData* wxComboBox::DoGetItemClientObject(unsigned int n) const +void *wxComboBox::DoGetItemClientData(unsigned int n) const { - return GetLBox()->GetClientObject(n); + return GetLBox()->DoGetItemClientData(n); } bool wxComboBox::IsEditable() const