]> git.saurik.com Git - wxWidgets.git/commitdiff
compilation fixes for wxGTK1 after wxTextEntry changes (unit test still fails, Replac...
authorVadim Zeitlin <vadim@wxwidgets.org>
Wed, 26 Sep 2007 12:18:00 +0000 (12:18 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Wed, 26 Sep 2007 12:18:00 +0000 (12:18 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48950 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/gtk1/combobox.h
src/gtk1/combobox.cpp

index e46402b839034be791f9a9f42cc3f7aab180fac6..13b7b24c5548a4db71c6e6f6bded36128bd620bc 100644 (file)
@@ -94,6 +94,7 @@ public:
 
     wxString GetValue() const;
     void SetValue(const wxString& value);
+    void WriteText(const wxString& value);
 
     void Copy();
     void Cut();
index d6f65e2af791a4c7c9a2c2eaa3d7ec8f34bf9f6b..27a72b2bcbe3a047419a0f424bf4659837d01473 100644 (file)
@@ -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") );