static void inf_gtk_browser_model_sort_set_browser_cb(InfGtkBrowserModel* model, GtkTreePath* path, GtkTreeIter* iter, InfcBrowser* browser, gpointer user_data) { GtkTreeModelSort* model_sort; GtkTreePath* own_path; GtkTreeIter own_iter; model_sort = GTK_TREE_MODEL_SORT(user_data); own_path = gtk_tree_model_sort_convert_child_path_to_path(model_sort, path); gtk_tree_model_sort_convert_child_iter_to_iter(model_sort, &own_iter, iter); inf_gtk_browser_model_set_browser( INF_GTK_BROWSER_MODEL(user_data), own_path, &own_iter, browser ); gtk_tree_path_free(own_path); }
static void inf_gtk_browser_model_filter_set_browser_cb(InfGtkBrowserModel* model, GtkTreePath* path, GtkTreeIter* iter, InfcBrowser* browser, gpointer user_data) { GtkTreeModelFilter* model_filter; GtkTreePath* own_path; GtkTreeIter own_iter; gboolean result; model_filter = GTK_TREE_MODEL_FILTER(user_data); result = gtk_tree_model_filter_convert_child_iter_to_iter( model_filter, &own_iter, iter ); if(result == TRUE) { own_path = gtk_tree_model_filter_convert_child_path_to_path( model_filter, path ); g_assert(own_path != NULL); inf_gtk_browser_model_set_browser( INF_GTK_BROWSER_MODEL(user_data), own_path, &own_iter, browser ); gtk_tree_path_free(own_path); } }