m_stringValue = wxEmptyString;
if ( m_stringValue != m_combo->GetValue() )
- m_combo->SetValueWithEvent(m_stringValue);
+ m_combo->SetValueByUser(m_stringValue);
m_value = selection;
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
for ( i=0; i<strings.GetCount(); i++ )
{
- if ( item.CmpNoCase(strings.Item(i)) < 0 )
+ if ( item.CmpNoCase(strings.Item(i)) <= 0 )
{
pos = (int)i;
break;
GetVListBoxComboPopup()->Clear();
+ // NB: This really needs to be SetValue() instead of ChangeValue(),
+ // as wxTextEntry API expects an event to be sent.
SetValue(wxEmptyString);
}
wxCHECK_RET( IsValid(n), wxT("invalid index in wxOwnerDrawnComboBox::Delete") );
if ( GetSelection() == (int) n )
- SetValue(wxEmptyString);
+ ChangeValue(wxEmptyString);
GetVListBoxComboPopup()->Delete(n);
}
// Refresh text portion in control
if ( m_text )
- m_text->SetValue( str );
+ m_text->ChangeValue( str );
else
m_valueString = str;