-    const int count = GetCount();
-
-    if ( (int)m_clientDataList.GetCount() < count )
-        m_clientDataList.Append( (wxObject*) NULL );
-    if ( (int)m_clientObjectList.GetCount() < count )
-        m_clientObjectList.Append( (wxObject*) NULL );
-
-    EnableEvents();
-
-    InvalidateBestSize();
-
-    return count - 1;
-}
-
-int wxComboBox::DoInsert( const wxString &item, int pos )
-{
-    wxCHECK_MSG( !(GetWindowStyle() & wxCB_SORT), -1,
-                    wxT("can't insert into sorted list"));
-
-    wxCHECK_MSG( m_widget != NULL, -1, wxT("invalid combobox") );
-
-    int count = GetCount();
-    wxCHECK_MSG( (pos >= 0) && (pos <= count), -1, wxT("invalid index") );
+    const unsigned int count = items.GetCount();
+    for( unsigned int i = 0; i < count; ++i, ++pos )
+    {
+        GtkWidget *
+            list_item = gtk_list_item_new_with_label( wxGTK_CONV( items[i] ) );