-    gtk_entry_set_editable( entry, TRUE );
-
-    Append(n, choices);
-
-    m_parent->DoAddChild( this );
-
-    m_focusWidget = GTK_WIDGET( entry );
-
-    PostCreation(size);
-
-    ConnectWidget( m_widget );
-
-    gtk_entry_set_text( entry, wxGTK_CONV(value) );
-
-    if (style & wxCB_READONLY)
-        gtk_entry_set_editable( entry, FALSE );
-
-    g_signal_connect_after (entry, "changed",
-                        G_CALLBACK (gtkcombobox_text_changed_callback), this);
-
-    g_signal_connect_after (m_widget, "changed",
-                        G_CALLBACK (gtkcombobox_changed_callback), this);
-
-
-    SetInitialSize(size); // need this too because this is a wxControlWithItems
-
-    return true;
-}
-
-GtkEntry *wxComboBox::GetEntry() const
-{
-    return GTK_ENTRY(GTK_BIN(m_widget)->child);
-}
-
-GtkEditable *wxComboBox::GetEditable() const
-{
-    return GTK_EDITABLE( GTK_BIN(m_widget)->child );
-}
-
-wxComboBox::~wxComboBox()
-{
-    Clear();
-
-    delete m_strings;
-}
-
-int wxComboBox::DoInsertItems(const wxArrayStringsAdapter & items,
-                              unsigned int pos,
-                              void **clientData, wxClientDataType type)
-{
-    wxCHECK_MSG( m_widget != NULL, -1, wxT("invalid combobox") );
-
-    wxASSERT_MSG( !IsSorted() || (pos == GetCount()),
-                 _T("In a sorted combobox data could only be appended"));
-
-    const int count = items.GetCount();
-
-    int n = wxNOT_FOUND;
-
-    GtkComboBox* combobox = GTK_COMBO_BOX( m_widget );
-    for( int i = 0; i < count; ++i )