+ wxCHECK_RET( m_widget != NULL, wxT("invalid control") );
+ wxCHECK_RET( IsValid(n), wxT("invalid index in wxChoice::Delete") );
+
+ GtkComboBox* combobox = GTK_COMBO_BOX( m_widget );
+ GtkTreeModel* model = gtk_combo_box_get_model( combobox );
+ GtkListStore* store = GTK_LIST_STORE(model);
+ GtkTreeIter iter;
+ if ( !gtk_tree_model_iter_nth_child(model, &iter, NULL, n) )
+ {
+ // This is really not supposed to happen for a valid index.
+ wxFAIL_MSG(wxS("Item unexpectedly not found."));
+ return;
+ }
+ gtk_list_store_remove( store, &iter );
+
+ m_clientData.RemoveAt( n );
+ if ( m_strings )
+ m_strings->RemoveAt( n );