1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| void CB_wordsdel(gpointer data, gpointer user_data)
{
WIN_managevoc_data_str *WIN_managevoc_data = (WIN_managevoc_data_str*) user_data;
GtkTreeIter iter;
gchar *word1, *word2, *theme;
GtkTreeModel *p_tree_model;
p_tree_model = gtk_tree_view_get_model(GTK_TREE_VIEW(WIN_managevoc_data->VocTreeview));
if(p_tree_model != NULL)
{
if(gtk_tree_model_get_iter(p_tree_model, &iter, data))
{
gtk_tree_model_get(p_tree_model, &iter, 0, &word1, 1, &word2, 2, &theme, -1);
gtk_list_store_remove(WIN_managevoc_data->Store, &iter);
free(word1);
free(word2);
free(theme);
}
}
}
void CB_wordsdelbtn(GtkWidget* treeview, gpointer data)
{
WIN_managevoc_data_str *WIN_managevoc_data = (WIN_managevoc_data_str*) data;
GtkTreeModel *p_tree_model;
p_tree_model = gtk_tree_view_get_model(GTK_TREE_VIEW(WIN_managevoc_data->VocTreeview));
WIN_managevoc_data->SelectedRows = gtk_tree_selection_get_selected_rows(WIN_managevoc_data->Selection, &p_tree_model);
g_list_foreach(WIN_managevoc_data->SelectedRows, CB_wordsdel, WIN_managevoc_data);
// free memory
g_list_foreach(WIN_managevoc_data->SelectedRows, (GFunc)gtk_tree_path_free, NULL);
g_list_free(WIN_managevoc_data->SelectedRows);
(void)treeview;
} |
Partager