W poprzedniej wersji bibliteki Gtk+, czyli 2.x chcąc pobrać numer kolumny kontrolki GtkTreeView przy obsłudze zdarzenia row-activated korzystałem z poniższego kodu:
void aktywny_wiersz(GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data)
{
GList *lista_kolumn;
gint numer_kolumny;
lista_kolumn = gtk_tree_view_get_columns ( GTK_TREE_VIEW(column->tree_view) ) ;
numer_kolumny = g_list_index ( lista_kolumn, (gpointer) column );
g_printf ( "<<<Kolumna nr %d>>>\n", numer_kolumny );
}
Powyższy kod nie działa w Gtk+ wersji 3.x, zdaje się że brak dostępu do zmiennych prywatnych. Jakiś czas temu na jakimś anglojęzycznym forum ktoś podał mi rozwiązanie... Podpowiedź poszła już w zapomnienie :)
Akurat teraz potrzebuję przerobić programik, aby uruchomił się w Gtk+ 3
Rozwiązane:
lista_kolumn = gtk_tree_view_get_columns ( GTK_TREE_VIEW( gtk_tree_view_column_get_tree_view(column) ) ) ;