X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a236aa2058ccf3d36e9cafc20fa7375080c4be50..2028c33ab5a39a12bd410ac953731a56ad6377ba:/src/univ/combobox.cpp diff --git a/src/univ/combobox.cpp b/src/univ/combobox.cpp index 1ca6ffd795..2a23793d7e 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() }; @@ -183,7 +185,7 @@ void wxComboListBox::OnLeftUp(wxMouseEvent& event) wxCommandEvent evt(wxEVT_COMMAND_COMBOBOX_SELECTED,m_combo->GetId()); evt.SetInt(wxListBox::GetSelection()); evt.SetEventObject(m_combo); - m_combo->ProcessEvent(evt); + m_combo->ProcessWindowEvent(evt); event.Skip(); } @@ -203,7 +205,7 @@ wxSize wxComboListBox::GetAdjustedSize(int minWidth, void wxComboBox::Init() { - m_lbox = (wxListBox *)NULL; + m_lbox = NULL; } wxComboBox::wxComboBox(wxWindow *parent, @@ -271,7 +273,7 @@ wxComboBox::~wxComboBox() // wxComboBox methods forwarded to wxTextCtrl // ---------------------------------------------------------------------------- -wxString wxComboBox::GetValue() const +wxString wxComboBox::DoGetValue() const { return wxComboCtrl::GetValue(); } @@ -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); @@ -352,7 +364,7 @@ void wxComboBox::DoClear() void wxComboBox::DoDeleteOneItem(unsigned int n) { - wxCHECK_RET( IsValid(n), _T("invalid index in wxComboBox::Delete") ); + wxCHECK_RET( IsValid(n), wxT("invalid index in wxComboBox::Delete") ); if (GetSelection() == (int)n) if ( GetTextCtrl() ) GetTextCtrl()->SetValue(wxEmptyString); @@ -367,14 +379,14 @@ unsigned int wxComboBox::GetCount() const wxString wxComboBox::GetString(unsigned int n) const { - wxCHECK_MSG( IsValid(n), wxEmptyString, _T("invalid index in wxComboBox::GetString") ); + wxCHECK_MSG( IsValid(n), wxEmptyString, wxT("invalid index in wxComboBox::GetString") ); return GetLBox()->GetString(n); } void wxComboBox::SetString(unsigned int n, const wxString& s) { - wxCHECK_RET( IsValid(n), _T("invalid index in wxComboBox::SetString") ); + wxCHECK_RET( IsValid(n), wxT("invalid index in wxComboBox::SetString") ); GetLBox()->SetString(n, s); } @@ -386,7 +398,7 @@ int wxComboBox::FindString(const wxString& s, bool bCase) const void wxComboBox::SetSelection(int n) { - wxCHECK_RET( (n == wxNOT_FOUND || IsValid(n)), _T("invalid index in wxComboBox::Select") ); + wxCHECK_RET( (n == wxNOT_FOUND || IsValid(n)), wxT("invalid index in wxComboBox::Select") ); GetLBox()->SetSelection(n); @@ -410,6 +422,21 @@ int wxComboBox::GetSelection() const #endif } +wxString wxComboBox::GetStringSelection() const +{ + return GetLBox()->GetStringSelection(); +} + +wxClientDataType wxComboBox::GetClientDataType() const +{ + return GetLBox()->GetClientDataType(); +} + +void wxComboBox::SetClientDataType(wxClientDataType clientDataItemsType) +{ + GetLBox()->SetClientDataType(clientDataItemsType); +} + int wxComboBox::DoInsertItems(const wxArrayStringsAdapter & items, unsigned int pos, void **clientData, wxClientDataType type) @@ -419,12 +446,12 @@ int wxComboBox::DoInsertItems(const wxArrayStringsAdapter & items, void wxComboBox::DoSetItemClientData(unsigned int n, void* clientData) { - GetLBox()->SetClientData(n, clientData); + GetLBox()->DoSetItemClientData(n, clientData); } void *wxComboBox::DoGetItemClientData(unsigned int n) const { - return GetLBox()->GetClientData(n); + return GetLBox()->DoGetItemClientData(n); } bool wxComboBox::IsEditable() const