+ GtkTextBuffer *text_buffer = gtk_text_view_get_buffer( GTK_TEXT_VIEW(m_text) );
+ // TODO: call wahtever is needed to delete the selection
+ gtk_text_buffer_insert_at_cursor( text_buffer, buffer, strlen(buffer) );
+
+#else // GTK 1.x
+ // After cursor movements, gtk_text_get_point() is wrong by one.
+ gtk_text_set_point( GTK_TEXT(m_text), GET_EDITABLE_POS(m_text) );
+
+ // always use m_defaultStyle, even if it is empty as otherwise
+ // resetting the style and appending some more text wouldn't work: if
+ // we don't specify the style explicitly, the old style would be used
+ gtk_editable_delete_selection( GTK_EDITABLE(m_text) );
+ wxGtkTextInsert(m_text, m_defaultStyle, text.c_str(), text.Len());
+
+ // Bring editable's cursor back uptodate.
+ SET_EDITABLE_POS(m_text, gtk_text_get_point( GTK_TEXT(m_text) ));
+#endif // GTK 1.x/2.0
+ }
+ else // single line