X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a236aa2058ccf3d36e9cafc20fa7375080c4be50..e1673e527f08395de6864b09540162ca409a3c28:/src/gtk1/combobox.cpp diff --git a/src/gtk1/combobox.cpp b/src/gtk1/combobox.cpp index d6f65e2af7..27a72b2bcb 100644 --- a/src/gtk1/combobox.cpp +++ b/src/gtk1/combobox.cpp @@ -618,13 +618,24 @@ void wxComboBox::SetValue( const wxString& value ) wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") ); GtkWidget *entry = GTK_COMBO(m_widget)->entry; - wxString tmp; - if (!value.IsNull()) tmp = value; - gtk_entry_set_text( GTK_ENTRY(entry), wxGTK_CONV( tmp ) ); + gtk_entry_set_text( GTK_ENTRY(entry), wxGTK_CONV( value ) ); InvalidateBestSize(); } +void wxComboBox::WriteText(const wxString& value) +{ + wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") ); + + GtkWidget *entry = GTK_COMBO(m_widget)->entry; + GtkEditable * const edit = GTK_EDITABLE(entry); + + gtk_editable_delete_selection(edit); + gint len = gtk_editable_get_position(edit); + gtk_editable_insert_text(edit, wxGTK_CONV(value), -1, &len); + gtk_editable_set_position(edit, len); +} + void wxComboBox::Copy() { wxCHECK_RET( m_widget != NULL, wxT("invalid combobox") );