[Solved] [GTK] + [C] Read Row of TreeView
-
Nabend Leute,
wollte mal wissen ob einer ne Idee hat wie ich eine ganze TreeView Liste auslesen kann,
Wenn ich "gtk_tree_view_get_selection" benutze dann kann ich den markierten Wert auslesen. aber wie lese ich die ganze Liste aus ?
Eigentlich habe ich das Ziel einen bestimmten Wert zu löschen, aber das kann ich erst machen wenn ich weiß wo in der Liste der steckt.
mfg akoww
//edit
hat sich erledigt
mit hilfe gtk_tree_model_foreach wars machbar
-
Wenn ich eine Row auslese, mache ich das etwa so:
void G_MODULE_EXPORT on_changed(GtkWidget * used_widget, WorkFields * work) { GtkTreeModel *model; gchar *field; // temp. field gint i; // if (gtk_tree_selection_get_selected (GTK_TREE_SELECTION(used_widget), &model, >k_struct_w1.iter)) // { for (i = 0; i < N_COLUMNS; i++) { // Get fields of row Listview gtk_tree_model_get(model, &work->act_iter, i, // LIST_ITEM1-N_COLUMNS &field, -1); switch (i) { case LIST_ITEM1: // i = 0 strcpy(work->my_field_1, field); break; case LIST_ITEM2: // i = 1 strcpy(work->my_field_2, field); break; case LIST_ITEM3: // i = 2 [.....] default: break; } } // // Storage for field was handeled by GTK+ g_free(field); } return; }
Wenn ich das richtig verstanden habe, willst Du Deine ganze Tabelle durchsuchen... Ich habe damit jetzt keine Erfahrung... Aber vielleicht eine Fährte: Versuche es über den Iter. Die andere Frage wäre natürlich: Hast Du keine Kontrolle über den Inhalt der Tabelle (irgendwann wird sie ja schliesslich erstellt), z.B via einer DB???