if (OS.GTK_VERSION < OS.VERSION (2, 8, 0)) {  OS.gtk_widget_realize (handle); GdkRectangle cellRect = new GdkRectangle (); OS.gtk_tree_view_get_cell_area (handle, path, 0, cellRect); GdkRectangle visibleRect = new GdkRectangle (); OS.gtk_tree_view_get_visible_rect (handle, visibleRect); OS.gtk_tree_view_scroll_to_point (handle, -1, visibleRect.y + cellRect.y); }
public void setTopIndex (int index) {	checkWidget();	if (!(0 <= index && index < OS.gtk_tree_model_iter_n_children (modelHandle, 0))) return;	// FIXME - For some reason, sometimes the tree scrolls to the wrong place	int /*long*/ iter = OS.g_malloc (OS.GtkTreeIter_sizeof ());	OS.gtk_tree_model_iter_nth_child (modelHandle, iter, 0, index);	int /*long*/ path = OS.gtk_tree_model_get_path (modelHandle, iter);	OS.gtk_tree_view_scroll_to_cell (handle, path, 0, true, 0, 0);	OS.gtk_tree_path_free (path);	OS.g_free (iter);}