X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9ff4b6ccd9c918a4b7b83a6ed263a7d545bb32fb..04fa04d8067d235ab45b5bc05b65f0679634b541:/src/generic/odcombo.cpp diff --git a/src/generic/odcombo.cpp b/src/generic/odcombo.cpp index d0ca3c11f1..6425dd145d 100644 --- a/src/generic/odcombo.cpp +++ b/src/generic/odcombo.cpp @@ -228,7 +228,7 @@ void wxVListBoxComboPopup::DismissWithEvent() m_stringValue = wxEmptyString; if ( m_stringValue != m_combo->GetValue() ) - m_combo->SetValueWithEvent(m_stringValue); + m_combo->SetValueByUser(m_stringValue); m_value = selection; @@ -371,7 +371,7 @@ bool wxVListBoxComboPopup::HandleKey( int keycode, bool saturate, wxChar keychar return true; if ( value >= 0 ) - m_combo->SetValue(m_strings[value]); + m_combo->ChangeValue(m_strings[value]); // The m_combo->SetValue() call above sets m_value to the index of this // string. But if there are more identical string, the index is of the @@ -545,7 +545,7 @@ int wxVListBoxComboPopup::Append(const wxString& item) for ( i=0; iGetValue(); - if ( strValue.length() ) + if ( !strValue.empty() ) m_value = m_strings.Index(strValue); } @@ -867,21 +877,6 @@ void wxVListBoxComboPopup::Populate( const wxArrayString& choices ) BEGIN_EVENT_TABLE(wxOwnerDrawnComboBox, wxComboCtrl) END_EVENT_TABLE() - -#if wxUSE_EXTENDED_RTTI -IMPLEMENT_DYNAMIC_CLASS2_XTI(wxOwnerDrawnComboBox, wxComboCtrl, wxControlWithItems, "wx/odcombo.h") - -wxBEGIN_PROPERTIES_TABLE(wxOwnerDrawnComboBox) -wxEND_PROPERTIES_TABLE() - -wxBEGIN_HANDLERS_TABLE(wxOwnerDrawnComboBox) -wxEND_HANDLERS_TABLE() - -wxCONSTRUCTOR_5( wxOwnerDrawnComboBox , wxWindow* , Parent , wxWindowID , Id , wxString , Value , wxPoint , Position , wxSize , Size ) -#else -IMPLEMENT_DYNAMIC_CLASS2(wxOwnerDrawnComboBox, wxComboCtrl, wxControlWithItems) -#endif - void wxOwnerDrawnComboBox::Init() { } @@ -907,7 +902,6 @@ wxOwnerDrawnComboBox::wxOwnerDrawnComboBox(wxWindow *parent, long style, const wxValidator& validator, const wxString& name) - : wxComboCtrl() { Init(); @@ -993,15 +987,22 @@ void wxOwnerDrawnComboBox::DoClear() GetVListBoxComboPopup()->Clear(); + // NB: This really needs to be SetValue() instead of ChangeValue(), + // as wxTextEntry API expects an event to be sent. SetValue(wxEmptyString); } +void wxOwnerDrawnComboBox::Clear() +{ + DoClear(); +} + void wxOwnerDrawnComboBox::DoDeleteOneItem(unsigned int n) { wxCHECK_RET( IsValid(n), wxT("invalid index in wxOwnerDrawnComboBox::Delete") ); if ( GetSelection() == (int) n ) - SetValue(wxEmptyString); + ChangeValue(wxEmptyString); GetVListBoxComboPopup()->Delete(n); } @@ -1055,7 +1056,7 @@ void wxOwnerDrawnComboBox::Select(int n) // Refresh text portion in control if ( m_text ) - m_text->SetValue( str ); + m_text->ChangeValue( str ); else m_valueString = str; @@ -1072,7 +1073,7 @@ int wxOwnerDrawnComboBox::GetSelection() const void wxOwnerDrawnComboBox::GetSelection(long *from, long *to) const { - return wxComboCtrl::GetSelection(from, to); + wxComboCtrl::GetSelection(from, to); } int wxOwnerDrawnComboBox::DoInsertItems(const wxArrayStringsAdapter& items,