static gboolean inf_gtk_browser_model_sort_browser_iter_to_tree_iter(InfGtkBrowserModel* mdl, InfcBrowser* browser, InfcBrowserIter* iter, GtkTreeIter* tree_iter) { GtkTreeModel* child_model; GtkTreeIter child_iter; gboolean result; child_model = gtk_tree_model_sort_get_model(GTK_TREE_MODEL_SORT(mdl)); result = inf_gtk_browser_model_browser_iter_to_tree_iter( INF_GTK_BROWSER_MODEL(child_model), browser, iter, &child_iter ); if(result == TRUE) { gtk_tree_model_sort_convert_child_iter_to_iter( GTK_TREE_MODEL_SORT(mdl), tree_iter, &child_iter ); return TRUE; } else { return FALSE; } }
void Gobby::Browser::set_selected(InfBrowser* browser, const InfBrowserIter* iter) { GtkTreeIter tree_iter; gboolean has_iter = inf_gtk_browser_model_browser_iter_to_tree_iter( INF_GTK_BROWSER_MODEL(m_sort_model), browser, iter, &tree_iter); g_assert(has_iter == TRUE); inf_gtk_browser_view_set_selected(m_browser_view, &tree_iter); }