void wxListBox::SetString(unsigned int n, const wxString& label) { wxCHECK_RET( m_treeview != NULL, wxT("invalid listbox") ); GtkTreeIter iter; wxCHECK_RET(GTKGetIteratorFor(n, &iter), "invalid index"); wxTreeEntry* entry = GetEntry(m_liststore, &iter, this); // update the item itself wx_tree_entry_set_label(entry, wxGTK_CONV(label)); // signal row changed GtkTreeModel* tree_model = GTK_TREE_MODEL(m_liststore); wxGtkTreePath path(gtk_tree_model_get_path(tree_model, &iter)); gtk_tree_model_row_changed(tree_model, path, &iter); }
int wxListBox::DoInsertOneItem(const wxString& item, unsigned int pos) { wxTreeEntry* entry = wx_tree_entry_new(); wx_tree_entry_set_label(entry, wxGTK_CONV(item)); wx_tree_entry_set_destroy_func(entry, (wxTreeEntryDestroy)tree_entry_destroy_cb, this); #if wxUSE_CHECKLISTBOX int entryCol = int(m_hasCheckBoxes); #else int entryCol = 0; #endif gtk_list_store_insert_with_values(m_liststore, NULL, pos, entryCol, entry, -1); g_object_unref(entry); return pos; }