<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
]>
<!--ENTITY index-Objects-Grouped SYSTEM "objects_grouped.sgml"-->
<refentry id="GtkTreeView">
<refmeta>
<refentrytitle role="top_of_page" id="GtkTreeView.top_of_page">GtkTreeView</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>GtkTreeView</refname>
<refpurpose>A widget for displaying both trees and lists</refpurpose>
</refnamediv>

<refsynopsisdiv id="GtkTreeView.synopsis" role="synopsis">
<title role="synopsis.title">Synopsis</title>

<synopsis>

#include &lt;gtk/gtk.h&gt;

                    <link linkend="GtkTreeView-struct">GtkTreeView</link>;
enum                <link linkend="GtkTreeViewDropPosition">GtkTreeViewDropPosition</link>;
                    <link linkend="GtkTreeViewPrivate">GtkTreeViewPrivate</link>;
<link linkend="gboolean">gboolean</link>            (<link linkend="GtkTreeViewColumnDropFunc">*GtkTreeViewColumnDropFunc</link>)        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *prev_column,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *next_column,
                                                         <link linkend="gpointer">gpointer</link> data);
<link linkend="void">void</link>                (<link linkend="GtkTreeViewMappingFunc">*GtkTreeViewMappingFunc</link>)           (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="gpointer">gpointer</link> user_data);
<link linkend="gboolean">gboolean</link>            (<link linkend="GtkTreeViewSearchEqualFunc">*GtkTreeViewSearchEqualFunc</link>)       (<link linkend="GtkTreeModel">GtkTreeModel</link> *model,
                                                         <link linkend="gint">gint</link> column,
                                                         const <link linkend="gchar">gchar</link> *key,
                                                         <link linkend="GtkTreeIter">GtkTreeIter</link> *iter,
                                                         <link linkend="gpointer">gpointer</link> search_data);
<link linkend="GtkWidget">GtkWidget</link> *         <link linkend="gtk-tree-view-new">gtk_tree_view_new</link>                   (void);
<link linkend="gint">gint</link>                <link linkend="gtk-tree-view-get-level-indentation">gtk_tree_view_get_level_indentation</link> (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-get-show-expanders">gtk_tree_view_get_show_expanders</link>    (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-level-indentation">gtk_tree_view_set_level_indentation</link> (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> indentation);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-show-expanders">gtk_tree_view_set_show_expanders</link>    (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> enabled);
<link linkend="GtkWidget">GtkWidget</link> *         <link linkend="gtk-tree-view-new-with-model">gtk_tree_view_new_with_model</link>        (<link linkend="GtkTreeModel">GtkTreeModel</link> *model);
<link linkend="GtkTreeModel">GtkTreeModel</link> *      <link linkend="gtk-tree-view-get-model">gtk_tree_view_get_model</link>             (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-model">gtk_tree_view_set_model</link>             (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeModel">GtkTreeModel</link> *model);
<link linkend="GtkTreeSelection">GtkTreeSelection</link> *  <link linkend="gtk-tree-view-get-selection">gtk_tree_view_get_selection</link>         (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="GtkAdjustment">GtkAdjustment</link> *     <link linkend="gtk-tree-view-get-hadjustment">gtk_tree_view_get_hadjustment</link>       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-hadjustment">gtk_tree_view_set_hadjustment</link>       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkAdjustment">GtkAdjustment</link> *adjustment);
<link linkend="GtkAdjustment">GtkAdjustment</link> *     <link linkend="gtk-tree-view-get-vadjustment">gtk_tree_view_get_vadjustment</link>       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-vadjustment">gtk_tree_view_set_vadjustment</link>       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkAdjustment">GtkAdjustment</link> *adjustment);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-get-headers-visible">gtk_tree_view_get_headers_visible</link>   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-headers-visible">gtk_tree_view_set_headers_visible</link>   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> headers_visible);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-columns-autosize">gtk_tree_view_columns_autosize</link>      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-get-headers-clickable">gtk_tree_view_get_headers_clickable</link> (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-headers-clickable">gtk_tree_view_set_headers_clickable</link> (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> setting);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-rules-hint">gtk_tree_view_set_rules_hint</link>        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> setting);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-get-rules-hint">gtk_tree_view_get_rules_hint</link>        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="gint">gint</link>                <link linkend="gtk-tree-view-append-column">gtk_tree_view_append_column</link>         (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column);
<link linkend="gint">gint</link>                <link linkend="gtk-tree-view-remove-column">gtk_tree_view_remove_column</link>         (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column);
<link linkend="gint">gint</link>                <link linkend="gtk-tree-view-insert-column">gtk_tree_view_insert_column</link>         (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column,
                                                         <link linkend="gint">gint</link> position);
<link linkend="gint">gint</link>                <link linkend="gtk-tree-view-insert-column-with-attributes">gtk_tree_view_insert_column_with_attributes</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> position,
                                                         const <link linkend="gchar">gchar</link> *title,
                                                         <link linkend="GtkCellRenderer">GtkCellRenderer</link> *cell,
                                                         ...);
<link linkend="gint">gint</link>                <link linkend="gtk-tree-view-insert-column-with-data-func">gtk_tree_view_insert_column_with_data_func</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> position,
                                                         const <link linkend="gchar">gchar</link> *title,
                                                         <link linkend="GtkCellRenderer">GtkCellRenderer</link> *cell,
                                                         <link linkend="GtkTreeCellDataFunc">GtkTreeCellDataFunc</link> func,
                                                         <link linkend="gpointer">gpointer</link> data,
                                                         <link linkend="GDestroyNotify">GDestroyNotify</link> dnotify);
<link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> * <link linkend="gtk-tree-view-get-column">gtk_tree_view_get_column</link>            (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> n);
<link linkend="GList">GList</link> *             <link linkend="gtk-tree-view-get-columns">gtk_tree_view_get_columns</link>           (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-move-column-after">gtk_tree_view_move_column_after</link>     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *base_column);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-expander-column">gtk_tree_view_set_expander_column</link>   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column);
<link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> * <link linkend="gtk-tree-view-get-expander-column">gtk_tree_view_get_expander_column</link>   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-column-drag-function">gtk_tree_view_set_column_drag_function</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewColumnDropFunc">GtkTreeViewColumnDropFunc</link> func,
                                                         <link linkend="gpointer">gpointer</link> user_data,
                                                         <link linkend="GDestroyNotify">GDestroyNotify</link> destroy);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-scroll-to-point">gtk_tree_view_scroll_to_point</link>       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> tree_x,
                                                         <link linkend="gint">gint</link> tree_y);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-scroll-to-cell">gtk_tree_view_scroll_to_cell</link>        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column,
                                                         <link linkend="gboolean">gboolean</link> use_align,
                                                         <link linkend="gfloat">gfloat</link> row_align,
                                                         <link linkend="gfloat">gfloat</link> col_align);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-cursor">gtk_tree_view_set_cursor</link>            (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *focus_column,
                                                         <link linkend="gboolean">gboolean</link> start_editing);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-cursor-on-cell">gtk_tree_view_set_cursor_on_cell</link>    (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *focus_column,
                                                         <link linkend="GtkCellRenderer">GtkCellRenderer</link> *focus_cell,
                                                         <link linkend="gboolean">gboolean</link> start_editing);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-get-cursor">gtk_tree_view_get_cursor</link>            (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> **path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> **focus_column);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-row-activated">gtk_tree_view_row_activated</link>         (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-expand-all">gtk_tree_view_expand_all</link>            (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-collapse-all">gtk_tree_view_collapse_all</link>          (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-expand-to-path">gtk_tree_view_expand_to_path</link>        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-expand-row">gtk_tree_view_expand_row</link>            (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="gboolean">gboolean</link> open_all);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-collapse-row">gtk_tree_view_collapse_row</link>          (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-map-expanded-rows">gtk_tree_view_map_expanded_rows</link>     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewMappingFunc">GtkTreeViewMappingFunc</link> func,
                                                         <link linkend="gpointer">gpointer</link> data);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-row-expanded">gtk_tree_view_row_expanded</link>          (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-reorderable">gtk_tree_view_set_reorderable</link>       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> reorderable);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-get-reorderable">gtk_tree_view_get_reorderable</link>       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-get-path-at-pos">gtk_tree_view_get_path_at_pos</link>       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> x,
                                                         <link linkend="gint">gint</link> y,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> **path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> **column,
                                                         <link linkend="gint">gint</link> *cell_x,
                                                         <link linkend="gint">gint</link> *cell_y);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-get-cell-area">gtk_tree_view_get_cell_area</link>         (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column,
                                                         <link linkend="GdkRectangle">GdkRectangle</link> *rect);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-get-background-area">gtk_tree_view_get_background_area</link>   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column,
                                                         <link linkend="GdkRectangle">GdkRectangle</link> *rect);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-get-visible-rect">gtk_tree_view_get_visible_rect</link>      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GdkRectangle">GdkRectangle</link> *visible_rect);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-get-visible-range">gtk_tree_view_get_visible_range</link>     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> **start_path,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> **end_path);
<link linkend="GdkWindow">GdkWindow</link> *         <link linkend="gtk-tree-view-get-bin-window">gtk_tree_view_get_bin_window</link>        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-widget-to-tree-coords">gtk_tree_view_widget_to_tree_coords</link> (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> wx,
                                                         <link linkend="gint">gint</link> wy,
                                                         <link linkend="gint">gint</link> *tx,
                                                         <link linkend="gint">gint</link> *ty);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-tree-to-widget-coords">gtk_tree_view_tree_to_widget_coords</link> (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> tx,
                                                         <link linkend="gint">gint</link> ty,
                                                         <link linkend="gint">gint</link> *wx,
                                                         <link linkend="gint">gint</link> *wy);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-convert-bin-window-to-tree-coords">gtk_tree_view_convert_bin_window_to_tree_coords</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> bx,
                                                         <link linkend="gint">gint</link> by,
                                                         <link linkend="gint">gint</link> *tx,
                                                         <link linkend="gint">gint</link> *ty);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-convert-bin-window-to-widget-coords">gtk_tree_view_convert_bin_window_to_widget_coords</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> bx,
                                                         <link linkend="gint">gint</link> by,
                                                         <link linkend="gint">gint</link> *wx,
                                                         <link linkend="gint">gint</link> *wy);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-convert-tree-to-bin-window-coords">gtk_tree_view_convert_tree_to_bin_window_coords</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> tx,
                                                         <link linkend="gint">gint</link> ty,
                                                         <link linkend="gint">gint</link> *bx,
                                                         <link linkend="gint">gint</link> *by);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-convert-tree-to-widget-coords">gtk_tree_view_convert_tree_to_widget_coords</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> tx,
                                                         <link linkend="gint">gint</link> ty,
                                                         <link linkend="gint">gint</link> *wx,
                                                         <link linkend="gint">gint</link> *wy);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-convert-widget-to-bin-window-coords">gtk_tree_view_convert_widget_to_bin_window_coords</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> wx,
                                                         <link linkend="gint">gint</link> wy,
                                                         <link linkend="gint">gint</link> *bx,
                                                         <link linkend="gint">gint</link> *by);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-convert-widget-to-tree-coords">gtk_tree_view_convert_widget_to_tree_coords</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> wx,
                                                         <link linkend="gint">gint</link> wy,
                                                         <link linkend="gint">gint</link> *tx,
                                                         <link linkend="gint">gint</link> *ty);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-enable-model-drag-dest">gtk_tree_view_enable_model_drag_dest</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         const <link linkend="GtkTargetEntry">GtkTargetEntry</link> *targets,
                                                         <link linkend="gint">gint</link> n_targets,
                                                         <link linkend="GdkDragAction">GdkDragAction</link> actions);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-enable-model-drag-source">gtk_tree_view_enable_model_drag_source</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GdkModifierType">GdkModifierType</link> start_button_mask,
                                                         const <link linkend="GtkTargetEntry">GtkTargetEntry</link> *targets,
                                                         <link linkend="gint">gint</link> n_targets,
                                                         <link linkend="GdkDragAction">GdkDragAction</link> actions);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-unset-rows-drag-source">gtk_tree_view_unset_rows_drag_source</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-unset-rows-drag-dest">gtk_tree_view_unset_rows_drag_dest</link>  (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-drag-dest-row">gtk_tree_view_set_drag_dest_row</link>     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="GtkTreeViewDropPosition">GtkTreeViewDropPosition</link> pos);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-get-drag-dest-row">gtk_tree_view_get_drag_dest_row</link>     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> **path,
                                                         <link linkend="GtkTreeViewDropPosition">GtkTreeViewDropPosition</link> *pos);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-get-dest-row-at-pos">gtk_tree_view_get_dest_row_at_pos</link>   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> drag_x,
                                                         <link linkend="gint">gint</link> drag_y,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> **path,
                                                         <link linkend="GtkTreeViewDropPosition">GtkTreeViewDropPosition</link> *pos);
<link linkend="GdkPixmap">GdkPixmap</link> *         <link linkend="gtk-tree-view-create-row-drag-icon">gtk_tree_view_create_row_drag_icon</link>  (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-enable-search">gtk_tree_view_set_enable_search</link>     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> enable_search);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-get-enable-search">gtk_tree_view_get_enable_search</link>     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="gint">gint</link>                <link linkend="gtk-tree-view-get-search-column">gtk_tree_view_get_search_column</link>     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-search-column">gtk_tree_view_set_search_column</link>     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> column);
<link linkend="GtkTreeViewSearchEqualFunc">GtkTreeViewSearchEqualFunc</link>  <link linkend="gtk-tree-view-get-search-equal-func">gtk_tree_view_get_search_equal_func</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-search-equal-func">gtk_tree_view_set_search_equal_func</link> (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewSearchEqualFunc">GtkTreeViewSearchEqualFunc</link> search_equal_func,
                                                         <link linkend="gpointer">gpointer</link> search_user_data,
                                                         <link linkend="GDestroyNotify">GDestroyNotify</link> search_destroy);
<link linkend="GtkEntry">GtkEntry</link> *          <link linkend="gtk-tree-view-get-search-entry">gtk_tree_view_get_search_entry</link>      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-search-entry">gtk_tree_view_set_search_entry</link>      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkEntry">GtkEntry</link> *entry);
<link linkend="void">void</link>                (<link linkend="GtkTreeViewSearchPositionFunc">*GtkTreeViewSearchPositionFunc</link>)    (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkWidget">GtkWidget</link> *search_dialog,
                                                         <link linkend="gpointer">gpointer</link> user_data);
<link linkend="GtkTreeViewSearchPositionFunc">GtkTreeViewSearchPositionFunc</link>  <link linkend="gtk-tree-view-get-search-position-func">gtk_tree_view_get_search_position_func</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-search-position-func">gtk_tree_view_set_search_position_func</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewSearchPositionFunc">GtkTreeViewSearchPositionFunc</link> func,
                                                         <link linkend="gpointer">gpointer</link> data,
                                                         <link linkend="GDestroyNotify">GDestroyNotify</link> destroy);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-get-fixed-height-mode">gtk_tree_view_get_fixed_height_mode</link> (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-fixed-height-mode">gtk_tree_view_set_fixed_height_mode</link> (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> enable);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-get-hover-selection">gtk_tree_view_get_hover_selection</link>   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-hover-selection">gtk_tree_view_set_hover_selection</link>   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> hover);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-get-hover-expand">gtk_tree_view_get_hover_expand</link>      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-hover-expand">gtk_tree_view_set_hover_expand</link>      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> expand);
<link linkend="void">void</link>                (<link linkend="GtkTreeDestroyCountFunc">*GtkTreeDestroyCountFunc</link>)          (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="gint">gint</link> children,
                                                         <link linkend="gpointer">gpointer</link> user_data);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-destroy-count-func">gtk_tree_view_set_destroy_count_func</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeDestroyCountFunc">GtkTreeDestroyCountFunc</link> func,
                                                         <link linkend="gpointer">gpointer</link> data,
                                                         <link linkend="GDestroyNotify">GDestroyNotify</link> destroy);
<link linkend="gboolean">gboolean</link>            (<link linkend="GtkTreeViewRowSeparatorFunc">*GtkTreeViewRowSeparatorFunc</link>)      (<link linkend="GtkTreeModel">GtkTreeModel</link> *model,
                                                         <link linkend="GtkTreeIter">GtkTreeIter</link> *iter,
                                                         <link linkend="gpointer">gpointer</link> data);
<link linkend="GtkTreeViewRowSeparatorFunc">GtkTreeViewRowSeparatorFunc</link>  <link linkend="gtk-tree-view-get-row-separator-func">gtk_tree_view_get_row_separator_func</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-row-separator-func">gtk_tree_view_set_row_separator_func</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewRowSeparatorFunc">GtkTreeViewRowSeparatorFunc</link> func,
                                                         <link linkend="gpointer">gpointer</link> data,
                                                         <link linkend="GDestroyNotify">GDestroyNotify</link> destroy);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-get-rubber-banding">gtk_tree_view_get_rubber_banding</link>    (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-rubber-banding">gtk_tree_view_set_rubber_banding</link>    (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> enable);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-is-rubber-banding-active">gtk_tree_view_is_rubber_banding_active</link>
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-get-enable-tree-lines">gtk_tree_view_get_enable_tree_lines</link> (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-enable-tree-lines">gtk_tree_view_set_enable_tree_lines</link> (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> enabled);
enum                <link linkend="GtkTreeViewGridLines">GtkTreeViewGridLines</link>;
<link linkend="GtkTreeViewGridLines">GtkTreeViewGridLines</link>  <link linkend="gtk-tree-view-get-grid-lines">gtk_tree_view_get_grid_lines</link>      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-grid-lines">gtk_tree_view_set_grid_lines</link>        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewGridLines">GtkTreeViewGridLines</link> grid_lines);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-tooltip-row">gtk_tree_view_set_tooltip_row</link>       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTooltip">GtkTooltip</link> *tooltip,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-tooltip-cell">gtk_tree_view_set_tooltip_cell</link>      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTooltip">GtkTooltip</link> *tooltip,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column,
                                                         <link linkend="GtkCellRenderer">GtkCellRenderer</link> *cell);
<link linkend="gboolean">gboolean</link>            <link linkend="gtk-tree-view-get-tooltip-context">gtk_tree_view_get_tooltip_context</link>   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> *x,
                                                         <link linkend="gint">gint</link> *y,
                                                         <link linkend="gboolean">gboolean</link> keyboard_tip,
                                                         <link linkend="GtkTreeModel">GtkTreeModel</link> **model,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> **path,
                                                         <link linkend="GtkTreeIter">GtkTreeIter</link> *iter);
<link linkend="gint">gint</link>                <link linkend="gtk-tree-view-get-tooltip-column">gtk_tree_view_get_tooltip_column</link>    (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<link linkend="void">void</link>                <link linkend="gtk-tree-view-set-tooltip-column">gtk_tree_view_set_tooltip_column</link>    (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> column);
</synopsis>
</refsynopsisdiv>

<refsect1 id="GtkTreeView.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<synopsis>
  <link linkend="GObject">GObject</link>
   +----<link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
         +----<link linkend="GtkObject">GtkObject</link>
               +----<link linkend="GtkWidget">GtkWidget</link>
                     +----<link linkend="GtkContainer">GtkContainer</link>
                           +----GtkTreeView
</synopsis>
</refsect1>



<refsect1 id="GtkTreeView.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
GtkTreeView implements
 <link linkend="AtkImplementorIface">AtkImplementorIface</link> and  <link linkend="GtkBuildable">GtkBuildable</link>.</para>
</refsect1>


<refsect1 id="GtkTreeView.properties" role="properties">
<title role="properties.title">Properties</title>
<synopsis>
  &quot;<link linkend="GtkTreeView--enable-grid-lines">enable-grid-lines</link>&quot;        <link linkend="GtkTreeViewGridLines">GtkTreeViewGridLines</link>  : Read / Write
  &quot;<link linkend="GtkTreeView--enable-search">enable-search</link>&quot;            <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkTreeView--enable-tree-lines">enable-tree-lines</link>&quot;        <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkTreeView--expander-column">expander-column</link>&quot;          <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link>*    : Read / Write
  &quot;<link linkend="GtkTreeView--fixed-height-mode">fixed-height-mode</link>&quot;        <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkTreeView--hadjustment">hadjustment</link>&quot;              <link linkend="GtkAdjustment">GtkAdjustment</link>*        : Read / Write
  &quot;<link linkend="GtkTreeView--headers-clickable">headers-clickable</link>&quot;        <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkTreeView--headers-visible">headers-visible</link>&quot;          <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkTreeView--hover-expand">hover-expand</link>&quot;             <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkTreeView--hover-selection">hover-selection</link>&quot;          <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkTreeView--level-indentation">level-indentation</link>&quot;        <link linkend="gint">gint</link>                  : Read / Write
  &quot;<link linkend="GtkTreeView--model">model</link>&quot;                    <link linkend="GtkTreeModel">GtkTreeModel</link>*         : Read / Write
  &quot;<link linkend="GtkTreeView--reorderable">reorderable</link>&quot;              <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkTreeView--rubber-banding">rubber-banding</link>&quot;           <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkTreeView--rules-hint">rules-hint</link>&quot;               <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkTreeView--search-column">search-column</link>&quot;            <link linkend="gint">gint</link>                  : Read / Write
  &quot;<link linkend="GtkTreeView--show-expanders">show-expanders</link>&quot;           <link linkend="gboolean">gboolean</link>              : Read / Write
  &quot;<link linkend="GtkTreeView--tooltip-column">tooltip-column</link>&quot;           <link linkend="gint">gint</link>                  : Read / Write
  &quot;<link linkend="GtkTreeView--vadjustment">vadjustment</link>&quot;              <link linkend="GtkAdjustment">GtkAdjustment</link>*        : Read / Write
</synopsis>
</refsect1>
<refsect1 id="GtkTreeView.style-properties" role="style_properties">
<title role="style_properties.title">Style Properties</title>
<synopsis>
  &quot;<link linkend="GtkTreeView--s-allow-rules">allow-rules</link>&quot;              <link linkend="gboolean">gboolean</link>              : Read
  &quot;<link linkend="GtkTreeView--s-even-row-color">even-row-color</link>&quot;           <link linkend="GdkColor">GdkColor</link>*             : Read
  &quot;<link linkend="GtkTreeView--s-expander-size">expander-size</link>&quot;            <link linkend="gint">gint</link>                  : Read
  &quot;<link linkend="GtkTreeView--s-grid-line-pattern">grid-line-pattern</link>&quot;        <link linkend="gchar">gchar</link>*                : Read
  &quot;<link linkend="GtkTreeView--s-grid-line-width">grid-line-width</link>&quot;          <link linkend="gint">gint</link>                  : Read
  &quot;<link linkend="GtkTreeView--s-horizontal-separator">horizontal-separator</link>&quot;     <link linkend="gint">gint</link>                  : Read
  &quot;<link linkend="GtkTreeView--s-indent-expanders">indent-expanders</link>&quot;         <link linkend="gboolean">gboolean</link>              : Read
  &quot;<link linkend="GtkTreeView--s-odd-row-color">odd-row-color</link>&quot;            <link linkend="GdkColor">GdkColor</link>*             : Read
  &quot;<link linkend="GtkTreeView--s-row-ending-details">row-ending-details</link>&quot;       <link linkend="gboolean">gboolean</link>              : Read
  &quot;<link linkend="GtkTreeView--s-tree-line-pattern">tree-line-pattern</link>&quot;        <link linkend="gchar">gchar</link>*                : Read
  &quot;<link linkend="GtkTreeView--s-tree-line-width">tree-line-width</link>&quot;          <link linkend="gint">gint</link>                  : Read
  &quot;<link linkend="GtkTreeView--s-vertical-separator">vertical-separator</link>&quot;       <link linkend="gint">gint</link>                  : Read
</synopsis>
</refsect1>

<refsect1 id="GtkTreeView.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<synopsis>
  &quot;<link linkend="GtkTreeView-columns-changed">columns-changed</link>&quot;                                : Run Last
  &quot;<link linkend="GtkTreeView-cursor-changed">cursor-changed</link>&quot;                                 : Run Last
  &quot;<link linkend="GtkTreeView-expand-collapse-cursor-row">expand-collapse-cursor-row</link>&quot;                     : Run Last / Action
  &quot;<link linkend="GtkTreeView-move-cursor">move-cursor</link>&quot;                                    : Run Last / Action
  &quot;<link linkend="GtkTreeView-row-activated">row-activated</link>&quot;                                  : Run Last / Action
  &quot;<link linkend="GtkTreeView-row-collapsed">row-collapsed</link>&quot;                                  : Run Last
  &quot;<link linkend="GtkTreeView-row-expanded">row-expanded</link>&quot;                                   : Run Last
  &quot;<link linkend="GtkTreeView-select-all">select-all</link>&quot;                                     : Run Last / Action
  &quot;<link linkend="GtkTreeView-select-cursor-parent">select-cursor-parent</link>&quot;                           : Run Last / Action
  &quot;<link linkend="GtkTreeView-select-cursor-row">select-cursor-row</link>&quot;                              : Run Last / Action
  &quot;<link linkend="GtkTreeView-set-scroll-adjustments">set-scroll-adjustments</link>&quot;                         : Run Last / Action
  &quot;<link linkend="GtkTreeView-start-interactive-search">start-interactive-search</link>&quot;                       : Run Last / Action
  &quot;<link linkend="GtkTreeView-test-collapse-row">test-collapse-row</link>&quot;                              : Run Last
  &quot;<link linkend="GtkTreeView-test-expand-row">test-expand-row</link>&quot;                                : Run Last
  &quot;<link linkend="GtkTreeView-toggle-cursor-row">toggle-cursor-row</link>&quot;                              : Run Last / Action
  &quot;<link linkend="GtkTreeView-unselect-all">unselect-all</link>&quot;                                   : Run Last / Action
</synopsis>
</refsect1>


<refsect1 id="GtkTreeView.description" role="desc">
<title role="desc.title">Description</title>
<para>
Widget that displays any object that implements the <link
linkend="GtkTreeModel">GtkTreeModel</link> interface.
</para>
<para>
Please refer to the <link linkend="TreeWidget">tree widget conceptual
overview</link> for an overview of all the objects and data types related
to the tree widget and how they work together.
</para>
<para>
Several different coordinate systems are exposed in the GtkTreeView API.
These are:
<inlinegraphic fileref="tree-view-coordinates.png" format="PNG"></inlinegraphic>
  <simplelist>
    <member>Widget coordinates -- coordinates relative to the widget
    (usually <literal>widget-&gt;window</literal>.</member>
    <member>Bin window coordinates -- coordinates relative to the window
    that GtkTreeView renders to.</member>
    <member>Tree coordinates -- coordinates relative to the entire scrollable
    area of GtkTreeView.  These coordinates start at (0, 0) for row 0 of the
    tree.</member>
  </simplelist>
</para>
<para>
Several functions are available for converting between the different
coordinate systems.  The most common translations are between widget and bin
window coordinates and between bin window and tree coordinates.  For the
former you can use <link linkend="gtk-tree-view-convert-widget-to-bin-window-coords"><function>gtk_tree_view_convert_widget_to_bin_window_coords()</function></link>
(and vice versa), for the latter <link linkend="gtk-tree-view-convert-bin-window-to-tree-coords"><function>gtk_tree_view_convert_bin_window_to_tree_coords()</function></link>
(and vice versa).
</para>
<refsect2 id="GtkTreeView-BUILDER-UI">
<title>GtkTreeView as GtkBuildable</title>
<para>
The GtkTreeView implementation of the GtkBuildable interface accepts
GtkTreeViewColumn objects as &lt;child&gt; elements in UI definitions.
</para>
<example>
<title>A UI definition fragment with GtkTreeView</title>
<programlisting><![CDATA[
<object class="GtkTreeView" id="treeview">
  <property name="model">liststore1</property>
  <child>
    <object class="GtkTreeViewColumn" id="test-column">
      <property name="title">Test</property>
      <child>
        <object class="GtkCellRendererText" id="test-renderer"/>
        <attributes>
          <attribute name="text">1</attribute>
        </attributes>
      </child>
    </object>
  </child>
</object>
]]></programlisting>
</example>
</refsect2>
</refsect1>

<refsect1 id="GtkTreeView.details" role="details">
<title role="details.title">Details</title>
<refsect2 id="GtkTreeView-struct" role="struct">
<title>GtkTreeView</title>
<indexterm zone="GtkTreeView-struct"><primary sortas="TreeView">GtkTreeView</primary></indexterm><programlisting>typedef struct _GtkTreeView GtkTreeView;</programlisting>
<para>
</para></refsect2>
<refsect2 id="GtkTreeViewDropPosition" role="enum">
<title>enum GtkTreeViewDropPosition</title>
<indexterm zone="GtkTreeViewDropPosition"><primary sortas="TreeViewDropPosition">GtkTreeViewDropPosition</primary></indexterm><programlisting>typedef enum
{
  /* drop before/after this row */
  GTK_TREE_VIEW_DROP_BEFORE,
  GTK_TREE_VIEW_DROP_AFTER,
  /* drop as a child of this row (with fallback to before or after
   * if into is not possible)
   */
  GTK_TREE_VIEW_DROP_INTO_OR_BEFORE,
  GTK_TREE_VIEW_DROP_INTO_OR_AFTER
} GtkTreeViewDropPosition;
</programlisting>
<para>
An enum for determining where a dropped row goes.
</para><variablelist role="enum">
<varlistentry id="GTK-TREE-VIEW-DROP-BEFORE--CAPS" role="constant">
<term><literal>GTK_TREE_VIEW_DROP_BEFORE</literal></term>
<listitem><simpara>dropped row is inserted before
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-TREE-VIEW-DROP-AFTER--CAPS" role="constant">
<term><literal>GTK_TREE_VIEW_DROP_AFTER</literal></term>
<listitem><simpara>dropped row is inserted after
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-TREE-VIEW-DROP-INTO-OR-BEFORE--CAPS" role="constant">
<term><literal>GTK_TREE_VIEW_DROP_INTO_OR_BEFORE</literal></term>
<listitem><simpara>dropped row becomes a child or is inserted before
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-TREE-VIEW-DROP-INTO-OR-AFTER--CAPS" role="constant">
<term><literal>GTK_TREE_VIEW_DROP_INTO_OR_AFTER</literal></term>
<listitem><simpara>dropped row becomes a child or is inserted after
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="GtkTreeViewPrivate" role="struct">
<title>GtkTreeViewPrivate</title>
<indexterm zone="GtkTreeViewPrivate"><primary sortas="TreeViewPrivate">GtkTreeViewPrivate</primary></indexterm><programlisting>typedef struct _GtkTreeViewPrivate GtkTreeViewPrivate;</programlisting>
<para>
A private struct for internal use only.  The definition of this
structure is not publically available.
</para></refsect2>
<refsect2 id="GtkTreeViewColumnDropFunc" role="function">
<title>GtkTreeViewColumnDropFunc ()</title>
<indexterm zone="GtkTreeViewColumnDropFunc"><primary sortas="TreeViewColumnDropFunc">GtkTreeViewColumnDropFunc</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            (*GtkTreeViewColumnDropFunc)        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *prev_column,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *next_column,
                                                         <link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Function type for determining whether <parameter>column</parameter> can be dropped in a
particular spot (as determined by <parameter>prev_column</parameter> and <parameter>next_column</parameter>).  In
left to right locales, <parameter>prev_column</parameter> is on the left of the potential drop
spot, and <parameter>next_column</parameter> is on the right.  In right to left mode, this is
reversed.  This function should return <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the spot is a valid drop
spot.  Please note that returning <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> does not actually indicate that
the column drop was made, but is meant only to indicate a possible drop
spot to the user.
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&#160;:</term>
<listitem><simpara>The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> being dragged
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>prev_column</parameter>&#160;:</term>
<listitem><simpara>A <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> on one side of <parameter>column</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>next_column</parameter>&#160;:</term>
<listitem><simpara>A <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> on the other side of <parameter>column</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>user data
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>%TRUE, if <link linkend="column"><type>column</type></link> can be dropped in this spot
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GtkTreeViewMappingFunc" role="function">
<title>GtkTreeViewMappingFunc ()</title>
<indexterm zone="GtkTreeViewMappingFunc"><primary sortas="TreeViewMappingFunc">GtkTreeViewMappingFunc</primary></indexterm><programlisting><link linkend="void">void</link>                (*GtkTreeViewMappingFunc)           (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>
Function used for <link linkend="gtk-tree-view-map-expanded-rows"><type>gtk_tree_view_map_expanded_rows</type></link>.
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara>The path that's expanded
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GtkTreeViewSearchEqualFunc" role="function">
<title>GtkTreeViewSearchEqualFunc ()</title>
<indexterm zone="GtkTreeViewSearchEqualFunc"><primary sortas="TreeViewSearchEqualFunc">GtkTreeViewSearchEqualFunc</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            (*GtkTreeViewSearchEqualFunc)       (<link linkend="GtkTreeModel">GtkTreeModel</link> *model,
                                                         <link linkend="gint">gint</link> column,
                                                         const <link linkend="gchar">gchar</link> *key,
                                                         <link linkend="GtkTreeIter">GtkTreeIter</link> *iter,
                                                         <link linkend="gpointer">gpointer</link> search_data);</programlisting>
<para>
A function used for checking whether a row in <parameter>model</parameter> matches
a search key string entered by the user. Note the return value
is reversed from what you would normally expect, though it
has some similarity to <link linkend="strcmp"><function>strcmp()</function></link> returning 0 for equal strings.
</para><variablelist role="params">
<varlistentry><term><parameter>model</parameter>&#160;:</term>
<listitem><simpara>the <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> being searched
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&#160;:</term>
<listitem><simpara>the search column set by <link linkend="gtk-tree-view-set-search-column"><function>gtk_tree_view_set_search_column()</function></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&#160;:</term>
<listitem><simpara>the key string to compare with
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>iter</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> pointing the row of <parameter>model</parameter> that should be compared
  with <parameter>key</parameter>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>search_data</parameter>&#160;:</term>
<listitem><simpara>user data from <link linkend="gtk-tree-view-set-search-equal-func"><function>gtk_tree_view_set_search_equal_func()</function></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>%FALSE if the row matches, <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-new" role="function">
<title>gtk_tree_view_new ()</title>
<indexterm zone="gtk-tree-view-new"><primary sortas="tree_view_new">gtk_tree_view_new</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link> *         gtk_tree_view_new                   (void);</programlisting>
<para>
Creates a new <link linkend="GtkTreeView"><type>GtkTreeView</type></link> widget.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> A newly created <link linkend="GtkTreeView"><type>GtkTreeView</type></link> widget.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-level-indentation" role="function" condition="since:2.12">
<title>gtk_tree_view_get_level_indentation ()</title>
<indexterm zone="gtk-tree-view-get-level-indentation" role="2.12"><primary sortas="tree_view_get_level_indentation">gtk_tree_view_get_level_indentation</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_tree_view_get_level_indentation (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns the amount, in pixels, of extra indentation for child levels
in <parameter>tree_view</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the amount of extra indentation for child levels in
<parameter>tree_view</parameter>.  A return value of 0 means that this feature is disabled.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-tree-view-get-show-expanders" role="function" condition="since:2.12">
<title>gtk_tree_view_get_show_expanders ()</title>
<indexterm zone="gtk-tree-view-get-show-expanders" role="2.12"><primary sortas="tree_view_get_show_expanders">gtk_tree_view_get_show_expanders</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_get_show_expanders    (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns whether or not expanders are drawn in <parameter>tree_view</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if expanders are drawn in <parameter>tree_view</parameter>, <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>
otherwise.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-tree-view-set-level-indentation" role="function" condition="since:2.12">
<title>gtk_tree_view_set_level_indentation ()</title>
<indexterm zone="gtk-tree-view-set-level-indentation" role="2.12"><primary sortas="tree_view_set_level_indentation">gtk_tree_view_set_level_indentation</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_level_indentation (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> indentation);</programlisting>
<para>
Sets the amount of extra indentation for child levels to use in <parameter>tree_view</parameter>
in addition to the default indentation.  The value should be specified in
pixels, a value of 0 disables this feature and in this case only the default
indentation will be used.
This does not have any visible effects for lists.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>indentation</parameter>&#160;:</term>
<listitem><simpara> the amount, in pixels, of extra indentation in <parameter>tree_view</parameter>.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-tree-view-set-show-expanders" role="function" condition="since:2.12">
<title>gtk_tree_view_set_show_expanders ()</title>
<indexterm zone="gtk-tree-view-set-show-expanders" role="2.12"><primary sortas="tree_view_set_show_expanders">gtk_tree_view_set_show_expanders</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_show_expanders    (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> enabled);</programlisting>
<para>
Sets whether to draw and enable expanders and indent child rows in
<parameter>tree_view</parameter>.  When disabled there will be no expanders visible in trees
and there will be no way to expand and collapse rows by default.  Also
note that hiding the expanders will disable the default indentation.  You
can set a custom indentation in this case using
<link linkend="gtk-tree-view-set-level-indentation"><function>gtk_tree_view_set_level_indentation()</function></link>.
This does not have any visible effects for lists.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>enabled</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> to enable expander drawing, <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-tree-view-new-with-model" role="function">
<title>gtk_tree_view_new_with_model ()</title>
<indexterm zone="gtk-tree-view-new-with-model"><primary sortas="tree_view_new_with_model">gtk_tree_view_new_with_model</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link> *         gtk_tree_view_new_with_model        (<link linkend="GtkTreeModel">GtkTreeModel</link> *model);</programlisting>
<para>
Creates a new <link linkend="GtkTreeView"><type>GtkTreeView</type></link> widget with the model initialized to <parameter>model</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>model</parameter>&#160;:</term>
<listitem><simpara> the model.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> A newly created <link linkend="GtkTreeView"><type>GtkTreeView</type></link> widget.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-model" role="function">
<title>gtk_tree_view_get_model ()</title>
<indexterm zone="gtk-tree-view-get-model"><primary sortas="tree_view_get_model">gtk_tree_view_get_model</primary></indexterm><programlisting><link linkend="GtkTreeModel">GtkTreeModel</link> *      gtk_tree_view_get_model             (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns the model the <link linkend="GtkTreeView"><type>GtkTreeView</type></link> is based on.  Returns <link linkend="NULL--CAPS"><literal>NULL</literal></link> if the
model is unset.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> A <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if none is currently being used.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-set-model" role="function">
<title>gtk_tree_view_set_model ()</title>
<indexterm zone="gtk-tree-view-set-model"><primary sortas="tree_view_set_model">gtk_tree_view_set_model</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_model             (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeModel">GtkTreeModel</link> *model);</programlisting>
<para>
Sets the model for a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.  If the <parameter>tree_view</parameter> already has a model
set, it will remove it before setting the new model.  If <parameter>model</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, 
then it will unset the old model.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeNode"><type>GtkTreeNode</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>model</parameter>&#160;:</term>
<listitem><simpara> The model.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-selection" role="function">
<title>gtk_tree_view_get_selection ()</title>
<indexterm zone="gtk-tree-view-get-selection"><primary sortas="tree_view_get_selection">gtk_tree_view_get_selection</primary></indexterm><programlisting><link linkend="GtkTreeSelection">GtkTreeSelection</link> *  gtk_tree_view_get_selection         (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Gets the <link linkend="GtkTreeSelection"><type>GtkTreeSelection</type></link> associated with <parameter>tree_view</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> A <link linkend="GtkTreeSelection"><type>GtkTreeSelection</type></link> object.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-hadjustment" role="function">
<title>gtk_tree_view_get_hadjustment ()</title>
<indexterm zone="gtk-tree-view-get-hadjustment"><primary sortas="tree_view_get_hadjustment">gtk_tree_view_get_hadjustment</primary></indexterm><programlisting><link linkend="GtkAdjustment">GtkAdjustment</link> *     gtk_tree_view_get_hadjustment       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Gets the <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link> currently being used for the horizontal aspect.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> A <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link> object, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if none is currently being
used.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-set-hadjustment" role="function">
<title>gtk_tree_view_set_hadjustment ()</title>
<indexterm zone="gtk-tree-view-set-hadjustment"><primary sortas="tree_view_set_hadjustment">gtk_tree_view_set_hadjustment</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_hadjustment       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkAdjustment">GtkAdjustment</link> *adjustment);</programlisting>
<para>
Sets the <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link> for the current horizontal aspect.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>adjustment</parameter>&#160;:</term>
<listitem><simpara> The <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link> to set, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-vadjustment" role="function">
<title>gtk_tree_view_get_vadjustment ()</title>
<indexterm zone="gtk-tree-view-get-vadjustment"><primary sortas="tree_view_get_vadjustment">gtk_tree_view_get_vadjustment</primary></indexterm><programlisting><link linkend="GtkAdjustment">GtkAdjustment</link> *     gtk_tree_view_get_vadjustment       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Gets the <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link> currently being used for the vertical aspect.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> A <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link> object, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if none is currently being
used.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-set-vadjustment" role="function">
<title>gtk_tree_view_set_vadjustment ()</title>
<indexterm zone="gtk-tree-view-set-vadjustment"><primary sortas="tree_view_set_vadjustment">gtk_tree_view_set_vadjustment</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_vadjustment       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkAdjustment">GtkAdjustment</link> *adjustment);</programlisting>
<para>
Sets the <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link> for the current vertical aspect.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>adjustment</parameter>&#160;:</term>
<listitem><simpara> The <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link> to set, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-headers-visible" role="function">
<title>gtk_tree_view_get_headers_visible ()</title>
<indexterm zone="gtk-tree-view-get-headers-visible"><primary sortas="tree_view_get_headers_visible">gtk_tree_view_get_headers_visible</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_get_headers_visible   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the headers on the <parameter>tree_view</parameter> are visible.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> Whether the headers are visible or not.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-set-headers-visible" role="function">
<title>gtk_tree_view_set_headers_visible ()</title>
<indexterm zone="gtk-tree-view-set-headers-visible"><primary sortas="tree_view_set_headers_visible">gtk_tree_view_set_headers_visible</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_headers_visible   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> headers_visible);</programlisting>
<para>
Sets the visibility state of the headers.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>headers_visible</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the headers are visible
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-columns-autosize" role="function">
<title>gtk_tree_view_columns_autosize ()</title>
<indexterm zone="gtk-tree-view-columns-autosize"><primary sortas="tree_view_columns_autosize">gtk_tree_view_columns_autosize</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_columns_autosize      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Resizes all columns to their optimal width. Only works after the
treeview has been realized.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-headers-clickable" role="function" condition="since:2.10">
<title>gtk_tree_view_get_headers_clickable ()</title>
<indexterm zone="gtk-tree-view-get-headers-clickable" role="2.10"><primary sortas="tree_view_get_headers_clickable">gtk_tree_view_get_headers_clickable</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_get_headers_clickable (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns whether all header columns are clickable.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if all header columns are clickable, otherwise <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-tree-view-set-headers-clickable" role="function">
<title>gtk_tree_view_set_headers_clickable ()</title>
<indexterm zone="gtk-tree-view-set-headers-clickable"><primary sortas="tree_view_set_headers_clickable">gtk_tree_view_set_headers_clickable</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_headers_clickable (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> setting);</programlisting>
<para>
Allow the column title buttons to be clicked.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>setting</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the columns are clickable.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-set-rules-hint" role="function">
<title>gtk_tree_view_set_rules_hint ()</title>
<indexterm zone="gtk-tree-view-set-rules-hint"><primary sortas="tree_view_set_rules_hint">gtk_tree_view_set_rules_hint</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_rules_hint        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> setting);</programlisting>
<para>
This function tells GTK+ that the user interface for your
application requires users to read across tree rows and associate
cells with one another. By default, GTK+ will then render the tree
with alternating row colors. Do <emphasis>not</emphasis> use it
just because you prefer the appearance of the ruled tree; that's a
question for the theme. Some themes will draw tree rows in
alternating colors even when rules are turned off, and users who
prefer that appearance all the time can choose those themes. You
should call this function only as a <emphasis>semantic</emphasis>
hint to the theme engine that your tree makes alternating colors
useful from a functional standpoint (since it has lots of columns,
generally).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>setting</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the tree requires reading across rows
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-rules-hint" role="function">
<title>gtk_tree_view_get_rules_hint ()</title>
<indexterm zone="gtk-tree-view-get-rules-hint"><primary sortas="tree_view_get_rules_hint">gtk_tree_view_get_rules_hint</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_get_rules_hint        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Gets the setting set by <link linkend="gtk-tree-view-set-rules-hint"><function>gtk_tree_view_set_rules_hint()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if rules are useful for the user of this tree
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-append-column" role="function">
<title>gtk_tree_view_append_column ()</title>
<indexterm zone="gtk-tree-view-append-column"><primary sortas="tree_view_append_column">gtk_tree_view_append_column</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_tree_view_append_column         (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column);</programlisting>
<para>
Appends <parameter>column</parameter> to the list of columns. If <parameter>tree_view</parameter> has "fixed_height"
mode enabled, then <parameter>column</parameter> must have its "sizing" property set to be
GTK_TREE_VIEW_COLUMN_FIXED.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&#160;:</term>
<listitem><simpara> The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> to add.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The number of columns in <parameter>tree_view</parameter> after appending.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-remove-column" role="function">
<title>gtk_tree_view_remove_column ()</title>
<indexterm zone="gtk-tree-view-remove-column"><primary sortas="tree_view_remove_column">gtk_tree_view_remove_column</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_tree_view_remove_column         (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column);</programlisting>
<para>
Removes <parameter>column</parameter> from <parameter>tree_view</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&#160;:</term>
<listitem><simpara> The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> to remove.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The number of columns in <parameter>tree_view</parameter> after removing.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-insert-column" role="function">
<title>gtk_tree_view_insert_column ()</title>
<indexterm zone="gtk-tree-view-insert-column"><primary sortas="tree_view_insert_column">gtk_tree_view_insert_column</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_tree_view_insert_column         (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column,
                                                         <link linkend="gint">gint</link> position);</programlisting>
<para>
This inserts the <parameter>column</parameter> into the <parameter>tree_view</parameter> at <parameter>position</parameter>.  If <parameter>position</parameter> is
-1, then the column is inserted at the end. If <parameter>tree_view</parameter> has
"fixed_height" mode enabled, then <parameter>column</parameter> must have its "sizing" property
set to be GTK_TREE_VIEW_COLUMN_FIXED.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&#160;:</term>
<listitem><simpara> The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> to be inserted.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>position</parameter>&#160;:</term>
<listitem><simpara> The position to insert <parameter>column</parameter> in.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The number of columns in <parameter>tree_view</parameter> after insertion.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-insert-column-with-attributes" role="function">
<title>gtk_tree_view_insert_column_with_attributes ()</title>
<indexterm zone="gtk-tree-view-insert-column-with-attributes"><primary sortas="tree_view_insert_column_with_attributes">gtk_tree_view_insert_column_with_attributes</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_tree_view_insert_column_with_attributes
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> position,
                                                         const <link linkend="gchar">gchar</link> *title,
                                                         <link linkend="GtkCellRenderer">GtkCellRenderer</link> *cell,
                                                         ...);</programlisting>
<para>
Creates a new <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> and inserts it into the <parameter>tree_view</parameter> at
<parameter>position</parameter>.  If <parameter>position</parameter> is -1, then the newly created column is inserted at
the end.  The column is initialized with the attributes given. If <parameter>tree_view</parameter>
has "fixed_height" mode enabled, then the new column will have its sizing
property set to be GTK_TREE_VIEW_COLUMN_FIXED.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>position</parameter>&#160;:</term>
<listitem><simpara> The position to insert the new column in.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>title</parameter>&#160;:</term>
<listitem><simpara> The title to set the header to.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>cell</parameter>&#160;:</term>
<listitem><simpara> The <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>...</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="NULL--CAPS"><literal>NULL</literal></link>-terminated list of attributes.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The number of columns in <parameter>tree_view</parameter> after insertion.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-insert-column-with-data-func" role="function">
<title>gtk_tree_view_insert_column_with_data_func ()</title>
<indexterm zone="gtk-tree-view-insert-column-with-data-func"><primary sortas="tree_view_insert_column_with_data_func">gtk_tree_view_insert_column_with_data_func</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_tree_view_insert_column_with_data_func
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> position,
                                                         const <link linkend="gchar">gchar</link> *title,
                                                         <link linkend="GtkCellRenderer">GtkCellRenderer</link> *cell,
                                                         <link linkend="GtkTreeCellDataFunc">GtkTreeCellDataFunc</link> func,
                                                         <link linkend="gpointer">gpointer</link> data,
                                                         <link linkend="GDestroyNotify">GDestroyNotify</link> dnotify);</programlisting>
<para>
Convenience function that inserts a new column into the <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
with the given cell renderer and a <link linkend="GtkCellDataFunc"><type>GtkCellDataFunc</type></link> to set cell renderer
attributes (normally using data from the model). See also
<link linkend="gtk-tree-view-column-set-cell-data-func"><function>gtk_tree_view_column_set_cell_data_func()</function></link>, <link linkend="gtk-tree-view-column-pack-start"><function>gtk_tree_view_column_pack_start()</function></link>.
If <parameter>tree_view</parameter> has "fixed_height" mode enabled, then the new column will have its
"sizing" property set to be GTK_TREE_VIEW_COLUMN_FIXED.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>position</parameter>&#160;:</term>
<listitem><simpara> Position to insert, -1 for append
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>title</parameter>&#160;:</term>
<listitem><simpara> column title
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>cell</parameter>&#160;:</term>
<listitem><simpara> cell renderer for column
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>func</parameter>&#160;:</term>
<listitem><simpara> function to set attributes of cell renderer
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara> data for <parameter>func</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>dnotify</parameter>&#160;:</term>
<listitem><simpara> destroy notifier for <parameter>data</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> number of columns in the tree view post-insert
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-column" role="function">
<title>gtk_tree_view_get_column ()</title>
<indexterm zone="gtk-tree-view-get-column"><primary sortas="tree_view_get_column">gtk_tree_view_get_column</primary></indexterm><programlisting><link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> * gtk_tree_view_get_column            (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> n);</programlisting>
<para>
Gets the <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> at the given position in the <link linkend="tree-view"><type>tree_view</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>n</parameter>&#160;:</term>
<listitem><simpara> The position of the column, counting from 0.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> if the position is outside the
range of columns.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-columns" role="function">
<title>gtk_tree_view_get_columns ()</title>
<indexterm zone="gtk-tree-view-get-columns"><primary sortas="tree_view_get_columns">gtk_tree_view_get_columns</primary></indexterm><programlisting><link linkend="GList">GList</link> *             gtk_tree_view_get_columns           (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns a <link linkend="GList"><type>GList</type></link> of all the <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> s currently in <parameter>tree_view</parameter>.
The returned list must be freed with <link linkend="g-list-free"><function>g_list_free()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> A list of <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> s
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-move-column-after" role="function">
<title>gtk_tree_view_move_column_after ()</title>
<indexterm zone="gtk-tree-view-move-column-after"><primary sortas="tree_view_move_column_after">gtk_tree_view_move_column_after</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_move_column_after     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *base_column);</programlisting>
<para>
Moves <parameter>column</parameter> to be after to <parameter>base_column</parameter>.  If <parameter>base_column</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, then
<parameter>column</parameter> is placed in the first position.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&#160;:</term>
<listitem><simpara> The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> to be moved.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>base_column</parameter>&#160;:</term>
<listitem><simpara> The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> to be moved relative to, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-set-expander-column" role="function">
<title>gtk_tree_view_set_expander_column ()</title>
<indexterm zone="gtk-tree-view-set-expander-column"><primary sortas="tree_view_set_expander_column">gtk_tree_view_set_expander_column</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_expander_column   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column);</programlisting>
<para>
Sets the column to draw the expander arrow at. It must be in <parameter>tree_view</parameter>.  
If <parameter>column</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, then the expander arrow is always at the first 
visible column.
</para>
<para>
If you do not want expander arrow to appear in your tree, set the 
expander column to a hidden column.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&#160;:</term>
<listitem><simpara> <link linkend="NULL--CAPS"><literal>NULL</literal></link>, or the column to draw the expander arrow at.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-expander-column" role="function">
<title>gtk_tree_view_get_expander_column ()</title>
<indexterm zone="gtk-tree-view-get-expander-column"><primary sortas="tree_view_get_expander_column">gtk_tree_view_get_expander_column</primary></indexterm><programlisting><link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> * gtk_tree_view_get_expander_column   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns the column that is the current expander column.  This
column has the expander arrow drawn next to it.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> The expander column.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-set-column-drag-function" role="function">
<title>gtk_tree_view_set_column_drag_function ()</title>
<indexterm zone="gtk-tree-view-set-column-drag-function"><primary sortas="tree_view_set_column_drag_function">gtk_tree_view_set_column_drag_function</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_column_drag_function
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewColumnDropFunc">GtkTreeViewColumnDropFunc</link> func,
                                                         <link linkend="gpointer">gpointer</link> user_data,
                                                         <link linkend="GDestroyNotify">GDestroyNotify</link> destroy);</programlisting>
<para>
Sets a user function for determining where a column may be dropped when
dragged.  This function is called on every column pair in turn at the
beginning of a column drag to determine where a drop can take place.  The
arguments passed to <parameter>func</parameter> are: the <parameter>tree_view</parameter>, the <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> being
dragged, the two <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> s determining the drop spot, and
<parameter>user_data</parameter>.  If either of the <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> arguments for the drop spot
are <link linkend="NULL--CAPS"><literal>NULL</literal></link>, then they indicate an edge.  If <parameter>func</parameter> is set to be <link linkend="NULL--CAPS"><literal>NULL</literal></link>, then
<parameter>tree_view</parameter> reverts to the default behavior of allowing all columns to be
dropped everywhere.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>func</parameter>&#160;:</term>
<listitem><simpara> A function to determine which columns are reorderable, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara> User data to be passed to <parameter>func</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>destroy</parameter>&#160;:</term>
<listitem><simpara> Destroy notifier for <parameter>user_data</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-scroll-to-point" role="function">
<title>gtk_tree_view_scroll_to_point ()</title>
<indexterm zone="gtk-tree-view-scroll-to-point"><primary sortas="tree_view_scroll_to_point">gtk_tree_view_scroll_to_point</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_scroll_to_point       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> tree_x,
                                                         <link linkend="gint">gint</link> tree_y);</programlisting>
<para>
Scrolls the tree view such that the top-left corner of the visible
area is <parameter>tree_x</parameter>, <parameter>tree_y</parameter>, where <parameter>tree_x</parameter> and <parameter>tree_y</parameter> are specified
in tree coordinates.  The <parameter>tree_view</parameter> must be realized before
this function is called.  If it isn't, you probably want to be
using <link linkend="gtk-tree-view-scroll-to-cell"><function>gtk_tree_view_scroll_to_cell()</function></link>.
</para>
<para>
If either <parameter>tree_x</parameter> or <parameter>tree_y</parameter> are -1, then that direction isn't scrolled.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tree_x</parameter>&#160;:</term>
<listitem><simpara> X coordinate of new top-left pixel of visible area, or -1
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tree_y</parameter>&#160;:</term>
<listitem><simpara> Y coordinate of new top-left pixel of visible area, or -1
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-scroll-to-cell" role="function">
<title>gtk_tree_view_scroll_to_cell ()</title>
<indexterm zone="gtk-tree-view-scroll-to-cell"><primary sortas="tree_view_scroll_to_cell">gtk_tree_view_scroll_to_cell</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_scroll_to_cell        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column,
                                                         <link linkend="gboolean">gboolean</link> use_align,
                                                         <link linkend="gfloat">gfloat</link> row_align,
                                                         <link linkend="gfloat">gfloat</link> col_align);</programlisting>
<para>
Moves the alignments of <parameter>tree_view</parameter> to the position specified by <parameter>column</parameter> and
<parameter>path</parameter>.  If <parameter>column</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, then no horizontal scrolling occurs.  Likewise,
if <parameter>path</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link> no vertical scrolling occurs.  At a minimum, one of <parameter>column</parameter>
or <parameter>path</parameter> need to be non-<link linkend="NULL--CAPS"><literal>NULL</literal></link>.  <parameter>row_align</parameter> determines where the row is
placed, and <parameter>col_align</parameter> determines where <parameter>column</parameter> is placed.  Both are expected
to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means
right/bottom alignment, 0.5 means center.
</para>
<para>
If <parameter>use_align</parameter> is <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>, then the alignment arguments are ignored, and the
tree does the minimum amount of work to scroll the cell onto the screen.
This means that the cell will be scrolled to the edge closest to its current
position.  If the cell is currently visible on the screen, nothing is done.
</para>
<para>
This function only works if the model is set, and <parameter>path</parameter> is a valid row on the
model.  If the model changes before the <parameter>tree_view</parameter> is realized, the centered
path will be modified to reflect this change.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> The path of the row to move to, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&#160;:</term>
<listitem><simpara> The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> to move horizontally to, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>use_align</parameter>&#160;:</term>
<listitem><simpara> whether to use alignment arguments, or <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>row_align</parameter>&#160;:</term>
<listitem><simpara> The vertical alignment of the row specified by <parameter>path</parameter>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>col_align</parameter>&#160;:</term>
<listitem><simpara> The horizontal alignment of the column specified by <parameter>column</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-set-cursor" role="function">
<title>gtk_tree_view_set_cursor ()</title>
<indexterm zone="gtk-tree-view-set-cursor"><primary sortas="tree_view_set_cursor">gtk_tree_view_set_cursor</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_cursor            (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *focus_column,
                                                         <link linkend="gboolean">gboolean</link> start_editing);</programlisting>
<para>
Sets the current keyboard focus to be at <parameter>path</parameter>, and selects it.  This is
useful when you want to focus the user's attention on a particular row.  If
<parameter>focus_column</parameter> is not <link linkend="NULL--CAPS"><literal>NULL</literal></link>, then focus is given to the column specified by 
it. Additionally, if <parameter>focus_column</parameter> is specified, and <parameter>start_editing</parameter> is 
<link linkend="TRUE--CAPS"><literal>TRUE</literal></link>, then editing should be started in the specified cell.  
This function is often followed by <parameter>gtk_widget_grab_focus</parameter> (<parameter>tree_view</parameter>) 
in order to give keyboard focus to the widget.  Please note that editing 
can only happen when the widget is realized.
</para>
<para>
If <parameter>path</parameter> is invalid for <parameter>model</parameter>, the current cursor (if any) will be unset
and the function will return without failing.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreePath"><type>GtkTreePath</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>focus_column</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>start_editing</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the specified cell should start being edited.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-set-cursor-on-cell" role="function" condition="since:2.2">
<title>gtk_tree_view_set_cursor_on_cell ()</title>
<indexterm zone="gtk-tree-view-set-cursor-on-cell" role="2.2"><primary sortas="tree_view_set_cursor_on_cell">gtk_tree_view_set_cursor_on_cell</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_cursor_on_cell    (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *focus_column,
                                                         <link linkend="GtkCellRenderer">GtkCellRenderer</link> *focus_cell,
                                                         <link linkend="gboolean">gboolean</link> start_editing);</programlisting>
<para>
Sets the current keyboard focus to be at <parameter>path</parameter>, and selects it.  This is
useful when you want to focus the user's attention on a particular row.  If
<parameter>focus_column</parameter> is not <link linkend="NULL--CAPS"><literal>NULL</literal></link>, then focus is given to the column specified by
it. If <parameter>focus_column</parameter> and <parameter>focus_cell</parameter> are not <link linkend="NULL--CAPS"><literal>NULL</literal></link>, and <parameter>focus_column</parameter>
contains 2 or more editable or activatable cells, then focus is given to
the cell specified by <parameter>focus_cell</parameter>. Additionally, if <parameter>focus_column</parameter> is
specified, and <parameter>start_editing</parameter> is <link linkend="TRUE--CAPS"><literal>TRUE</literal></link>, then editing should be started in
the specified cell.  This function is often followed by
<parameter>gtk_widget_grab_focus</parameter> (<parameter>tree_view</parameter>) in order to give keyboard focus to the
widget.  Please note that editing can only happen when the widget is
realized.
</para>
<para>
If <parameter>path</parameter> is invalid for <parameter>model</parameter>, the current cursor (if any) will be unset
and the function will return without failing.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreePath"><type>GtkTreePath</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>focus_column</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>focus_cell</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>start_editing</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the specified cell should start being edited.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gtk-tree-view-get-cursor" role="function">
<title>gtk_tree_view_get_cursor ()</title>
<indexterm zone="gtk-tree-view-get-cursor"><primary sortas="tree_view_get_cursor">gtk_tree_view_get_cursor</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_get_cursor            (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> **path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> **focus_column);</programlisting>
<para>
Fills in <parameter>path</parameter> and <parameter>focus_column</parameter> with the current path and focus column.  If
the cursor isn't currently set, then *<parameter>path</parameter> will be <link linkend="NULL--CAPS"><literal>NULL</literal></link>.  If no column
currently has focus, then *<parameter>focus_column</parameter> will be <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
</para>
<para>
The returned <link linkend="GtkTreePath"><type>GtkTreePath</type></link> must be freed with <link linkend="gtk-tree-path-free"><function>gtk_tree_path_free()</function></link> when
you are done with it.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> A pointer to be filled with the current cursor path, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>focus_column</parameter>&#160;:</term>
<listitem><simpara> A pointer to be filled with the current focus column, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-row-activated" role="function">
<title>gtk_tree_view_row_activated ()</title>
<indexterm zone="gtk-tree-view-row-activated"><primary sortas="tree_view_row_activated">gtk_tree_view_row_activated</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_row_activated         (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column);</programlisting>
<para>
Activates the cell determined by <parameter>path</parameter> and <parameter>column</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> The <link linkend="GtkTreePath"><type>GtkTreePath</type></link> to be activated.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&#160;:</term>
<listitem><simpara> The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> to be activated.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-expand-all" role="function">
<title>gtk_tree_view_expand_all ()</title>
<indexterm zone="gtk-tree-view-expand-all"><primary sortas="tree_view_expand_all">gtk_tree_view_expand_all</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_expand_all            (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Recursively expands all nodes in the <parameter>tree_view</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-collapse-all" role="function">
<title>gtk_tree_view_collapse_all ()</title>
<indexterm zone="gtk-tree-view-collapse-all"><primary sortas="tree_view_collapse_all">gtk_tree_view_collapse_all</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_collapse_all          (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Recursively collapses all visible, expanded nodes in <parameter>tree_view</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-expand-to-path" role="function" condition="since:2.2">
<title>gtk_tree_view_expand_to_path ()</title>
<indexterm zone="gtk-tree-view-expand-to-path" role="2.2"><primary sortas="tree_view_expand_to_path">gtk_tree_view_expand_to_path</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_expand_to_path        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path);</programlisting>
<para>
Expands the row at <parameter>path</parameter>. This will also expand all parent rows of
<parameter>path</parameter> as necessary.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> path to a row.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.2</para></refsect2>
<refsect2 id="gtk-tree-view-expand-row" role="function">
<title>gtk_tree_view_expand_row ()</title>
<indexterm zone="gtk-tree-view-expand-row"><primary sortas="tree_view_expand_row">gtk_tree_view_expand_row</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_expand_row            (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="gboolean">gboolean</link> open_all);</programlisting>
<para>
Opens the row so its children are visible.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> path to a row
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>open_all</parameter>&#160;:</term>
<listitem><simpara> whether to recursively expand, or just expand immediate children
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the row existed and had children
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-collapse-row" role="function">
<title>gtk_tree_view_collapse_row ()</title>
<indexterm zone="gtk-tree-view-collapse-row"><primary sortas="tree_view_collapse_row">gtk_tree_view_collapse_row</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_collapse_row          (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path);</programlisting>
<para>
Collapses a row (hides its child rows, if they exist).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> path to a row in the <parameter>tree_view</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the row was collapsed.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-map-expanded-rows" role="function">
<title>gtk_tree_view_map_expanded_rows ()</title>
<indexterm zone="gtk-tree-view-map-expanded-rows"><primary sortas="tree_view_map_expanded_rows">gtk_tree_view_map_expanded_rows</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_map_expanded_rows     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewMappingFunc">GtkTreeViewMappingFunc</link> func,
                                                         <link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Calls <parameter>func</parameter> on all expanded rows.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>func</parameter>&#160;:</term>
<listitem><simpara> A function to be called
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara> User data to be passed to the function.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-row-expanded" role="function">
<title>gtk_tree_view_row_expanded ()</title>
<indexterm zone="gtk-tree-view-row-expanded"><primary sortas="tree_view_row_expanded">gtk_tree_view_row_expanded</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_row_expanded          (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path);</programlisting>
<para>
Returns <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the node pointed to by <parameter>path</parameter> is expanded in <parameter>tree_view</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreePath"><type>GtkTreePath</type></link> to test expansion state.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <link linkend="path"><type>path</type></link> is expanded.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-set-reorderable" role="function">
<title>gtk_tree_view_set_reorderable ()</title>
<indexterm zone="gtk-tree-view-set-reorderable"><primary sortas="tree_view_set_reorderable">gtk_tree_view_set_reorderable</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_reorderable       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> reorderable);</programlisting>
<para>
This function is a convenience function to allow you to reorder
models that support the <link linkend="GtkDragSourceIface"><type>GtkDragSourceIface</type></link> and the
<link linkend="GtkDragDestIface"><type>GtkDragDestIface</type></link>.  Both <link linkend="GtkTreeStore"><type>GtkTreeStore</type></link> and <link linkend="GtkListStore"><type>GtkListStore</type></link> support
these.  If <parameter>reorderable</parameter> is <link linkend="TRUE--CAPS"><literal>TRUE</literal></link>, then the user can reorder the
model by dragging and dropping rows. The developer can listen to
these changes by connecting to the model's row_inserted and
row_deleted signals. The reordering is implemented by setting up
the tree view as a drag source and destination. Therefore, drag and
drop can not be used in a reorderable view for any other purpose.
</para>
<para>
This function does not give you any degree of control over the order -- any
reordering is allowed.  If more control is needed, you should probably
handle drag and drop manually.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>reorderable</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link>, if the tree can be reordered.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-reorderable" role="function">
<title>gtk_tree_view_get_reorderable ()</title>
<indexterm zone="gtk-tree-view-get-reorderable"><primary sortas="tree_view_get_reorderable">gtk_tree_view_get_reorderable</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_get_reorderable       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Retrieves whether the user can reorder the tree via drag-and-drop. See
<link linkend="gtk-tree-view-set-reorderable"><function>gtk_tree_view_set_reorderable()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the tree can be reordered.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-path-at-pos" role="function">
<title>gtk_tree_view_get_path_at_pos ()</title>
<indexterm zone="gtk-tree-view-get-path-at-pos"><primary sortas="tree_view_get_path_at_pos">gtk_tree_view_get_path_at_pos</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_get_path_at_pos       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> x,
                                                         <link linkend="gint">gint</link> y,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> **path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> **column,
                                                         <link linkend="gint">gint</link> *cell_x,
                                                         <link linkend="gint">gint</link> *cell_y);</programlisting>
<para>
Finds the path at the point (<parameter>x</parameter>, <parameter>y</parameter>), relative to bin_window coordinates
(please see <link linkend="gtk-tree-view-get-bin-window"><function>gtk_tree_view_get_bin_window()</function></link>).
That is, <parameter>x</parameter> and <parameter>y</parameter> are relative to an events coordinates. <parameter>x</parameter> and <parameter>y</parameter> must
come from an event on the <parameter>tree_view</parameter> only where <literal>event->window ==
gtk_tree_view_get_bin_window (<!-- -->)</literal>. It is primarily for
things like popup menus. If <parameter>path</parameter> is non-<link linkend="NULL--CAPS"><literal>NULL</literal></link>, then it will be filled
with the <link linkend="GtkTreePath"><type>GtkTreePath</type></link> at that point.  This path should be freed with
<link linkend="gtk-tree-path-free"><function>gtk_tree_path_free()</function></link>.  If <parameter>column</parameter> is non-<link linkend="NULL--CAPS"><literal>NULL</literal></link>, then it will be filled
with the column at that point.  <parameter>cell_x</parameter> and <parameter>cell_y</parameter> return the coordinates
relative to the cell background (i.e. the <parameter>background_area</parameter> passed to
<link linkend="gtk-cell-renderer-render"><function>gtk_cell_renderer_render()</function></link>).  This function is only meaningful if
<parameter>tree_view</parameter> is realized.  Therefore this function will always return <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>
if <parameter>tree_view</parameter> is not realized or does not have a model.
</para>
<para>
For converting widget coordinates (eg. the ones you get from
GtkWidget::query-tooltip), please see
<link linkend="gtk-tree-view-convert-widget-to-bin-window-coords"><function>gtk_tree_view_convert_widget_to_bin_window_coords()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x</parameter>&#160;:</term>
<listitem><simpara> The x position to be identified (relative to bin_window).
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&#160;:</term>
<listitem><simpara> The y position to be identified (relative to bin_window).
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> A pointer to a <link linkend="GtkTreePath"><type>GtkTreePath</type></link> pointer to be filled in, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&#160;:</term>
<listitem><simpara> A pointer to a <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> pointer to be filled in, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>cell_x</parameter>&#160;:</term>
<listitem><simpara> A pointer where the X coordinate relative to the cell can be placed, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>cell_y</parameter>&#160;:</term>
<listitem><simpara> A pointer where the Y coordinate relative to the cell can be placed, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if a row exists at that coordinate.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-cell-area" role="function">
<title>gtk_tree_view_get_cell_area ()</title>
<indexterm zone="gtk-tree-view-get-cell-area"><primary sortas="tree_view_get_cell_area">gtk_tree_view_get_cell_area</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_get_cell_area         (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column,
                                                         <link linkend="GdkRectangle">GdkRectangle</link> *rect);</programlisting>
<para>
Fills the bounding rectangle in bin_window coordinates for the cell at the
row specified by <parameter>path</parameter> and the column specified by <parameter>column</parameter>.  If <parameter>path</parameter> is
<link linkend="NULL--CAPS"><literal>NULL</literal></link>, or points to a path not currently displayed, the <parameter>y</parameter> and <parameter>height</parameter> fields
of the rectangle will be filled with 0. If <parameter>column</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, the <parameter>x</parameter> and <parameter>width</parameter>
fields will be filled with 0.  The sum of all cell rects does not cover the
entire tree; there are extra pixels in between rows, for example. The
returned rectangle is equivalent to the <parameter>cell_area</parameter> passed to
<link linkend="gtk-cell-renderer-render"><function>gtk_cell_renderer_render()</function></link>.  This function is only valid if <parameter>tree_view</parameter> is
realized.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreePath"><type>GtkTreePath</type></link> for the row, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to get only horizontal coordinates
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> for the column, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to get only vertical coordinates
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>rect</parameter>&#160;:</term>
<listitem><simpara> rectangle to fill with cell rect
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-background-area" role="function">
<title>gtk_tree_view_get_background_area ()</title>
<indexterm zone="gtk-tree-view-get-background-area"><primary sortas="tree_view_get_background_area">gtk_tree_view_get_background_area</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_get_background_area   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column,
                                                         <link linkend="GdkRectangle">GdkRectangle</link> *rect);</programlisting>
<para>
Fills the bounding rectangle in bin_window coordinates for the cell at the
row specified by <parameter>path</parameter> and the column specified by <parameter>column</parameter>.  If <parameter>path</parameter> is
<link linkend="NULL--CAPS"><literal>NULL</literal></link>, or points to a node not found in the tree, the <parameter>y</parameter> and <parameter>height</parameter> fields of
the rectangle will be filled with 0. If <parameter>column</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, the <parameter>x</parameter> and <parameter>width</parameter>
fields will be filled with 0.  The returned rectangle is equivalent to the
<parameter>background_area</parameter> passed to <link linkend="gtk-cell-renderer-render"><function>gtk_cell_renderer_render()</function></link>.  These background
areas tile to cover the entire bin window.  Contrast with the <parameter>cell_area</parameter>,
returned by <link linkend="gtk-tree-view-get-cell-area"><function>gtk_tree_view_get_cell_area()</function></link>, which returns only the cell
itself, excluding surrounding borders and the tree expander area.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreePath"><type>GtkTreePath</type></link> for the row, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to get only horizontal coordinates
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> for the column, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> to get only vertical coordiantes
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>rect</parameter>&#160;:</term>
<listitem><simpara> rectangle to fill with cell background rect
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-visible-rect" role="function">
<title>gtk_tree_view_get_visible_rect ()</title>
<indexterm zone="gtk-tree-view-get-visible-rect"><primary sortas="tree_view_get_visible_rect">gtk_tree_view_get_visible_rect</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_get_visible_rect      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GdkRectangle">GdkRectangle</link> *visible_rect);</programlisting>
<para>
Fills <parameter>visible_rect</parameter> with the currently-visible region of the
buffer, in tree coordinates. Convert to bin_window coordinates with
<link linkend="gtk-tree-view-convert-tree-to-bin-window-coords"><function>gtk_tree_view_convert_tree_to_bin_window_coords()</function></link>.
Tree coordinates start at 0,0 for row 0 of the tree, and cover the entire
scrollable area of the tree.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>visible_rect</parameter>&#160;:</term>
<listitem><simpara> rectangle to fill
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-visible-range" role="function" condition="since:2.8">
<title>gtk_tree_view_get_visible_range ()</title>
<indexterm zone="gtk-tree-view-get-visible-range" role="2.8"><primary sortas="tree_view_get_visible_range">gtk_tree_view_get_visible_range</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_get_visible_range     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> **start_path,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> **end_path);</programlisting>
<para>
Sets <parameter>start_path</parameter> and <parameter>end_path</parameter> to be the first and last visible path.
Note that there may be invisible paths in between.
</para>
<para>
The paths should be freed with <link linkend="gtk-tree-path-free"><function>gtk_tree_path_free()</function></link> after use.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>start_path</parameter>&#160;:</term>
<listitem><simpara> Return location for start of region, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>end_path</parameter>&#160;:</term>
<listitem><simpara> Return location for end of region, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link>, if valid paths were placed in <parameter>start_path</parameter> and <parameter>end_path</parameter>.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.8</para></refsect2>
<refsect2 id="gtk-tree-view-get-bin-window" role="function">
<title>gtk_tree_view_get_bin_window ()</title>
<indexterm zone="gtk-tree-view-get-bin-window"><primary sortas="tree_view_get_bin_window">gtk_tree_view_get_bin_window</primary></indexterm><programlisting><link linkend="GdkWindow">GdkWindow</link> *         gtk_tree_view_get_bin_window        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns the window that <parameter>tree_view</parameter> renders to.  This is used primarily to
compare to <literal>event->window</literal> to confirm that the event on
<parameter>tree_view</parameter> is on the right window.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> A <link linkend="GdkWindow"><type>GdkWindow</type></link>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link> when <parameter>tree_view</parameter> hasn't been realized yet
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-widget-to-tree-coords" role="function" condition="deprecated">
<title>gtk_tree_view_widget_to_tree_coords ()</title>
<indexterm zone="gtk-tree-view-widget-to-tree-coords" role="deprecated"><primary sortas="tree_view_widget_to_tree_coords">gtk_tree_view_widget_to_tree_coords</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_widget_to_tree_coords (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> wx,
                                                         <link linkend="gint">gint</link> wy,
                                                         <link linkend="gint">gint</link> *tx,
                                                         <link linkend="gint">gint</link> *ty);</programlisting>
<warning><para><literal>gtk_tree_view_widget_to_tree_coords</literal> has been deprecated since version 2.12 and should not be used in newly-written code. Due to historial reasons the name of this function is
incorrect.  For converting coordinates relative to the widget to
bin_window coordinates, please see
<link linkend="gtk-tree-view-convert-widget-to-bin-window-coords"><function>gtk_tree_view_convert_widget_to_bin_window_coords()</function></link>.</para></warning>
<para>
Converts bin_window coordinates to coordinates for the
tree (the full scrollable area of the tree).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>wx</parameter>&#160;:</term>
<listitem><simpara> X coordinate relative to bin_window
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>wy</parameter>&#160;:</term>
<listitem><simpara> Y coordinate relative to bin_window
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tx</parameter>&#160;:</term>
<listitem><simpara> return location for tree X coordinate
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ty</parameter>&#160;:</term>
<listitem><simpara> return location for tree Y coordinate
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-tree-to-widget-coords" role="function" condition="deprecated">
<title>gtk_tree_view_tree_to_widget_coords ()</title>
<indexterm zone="gtk-tree-view-tree-to-widget-coords" role="deprecated"><primary sortas="tree_view_tree_to_widget_coords">gtk_tree_view_tree_to_widget_coords</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_tree_to_widget_coords (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> tx,
                                                         <link linkend="gint">gint</link> ty,
                                                         <link linkend="gint">gint</link> *wx,
                                                         <link linkend="gint">gint</link> *wy);</programlisting>
<warning><para><literal>gtk_tree_view_tree_to_widget_coords</literal> has been deprecated since version 2.12 and should not be used in newly-written code. Due to historial reasons the name of this function is
incorrect.  For converting bin_window coordinates to coordinates relative
to bin_window, please see
<link linkend="gtk-tree-view-convert-bin-window-to-widget-coords"><function>gtk_tree_view_convert_bin_window_to_widget_coords()</function></link>.</para></warning>
<para>
Converts tree coordinates (coordinates in full scrollable area of the tree)
to bin_window coordinates.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tx</parameter>&#160;:</term>
<listitem><simpara> tree X coordinate
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ty</parameter>&#160;:</term>
<listitem><simpara> tree Y coordinate
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>wx</parameter>&#160;:</term>
<listitem><simpara> return location for X coordinate relative to bin_window
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>wy</parameter>&#160;:</term>
<listitem><simpara> return location for Y coordinate relative to bin_window
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-convert-bin-window-to-tree-coords" role="function" condition="since:2.12">
<title>gtk_tree_view_convert_bin_window_to_tree_coords ()</title>
<indexterm zone="gtk-tree-view-convert-bin-window-to-tree-coords" role="2.12"><primary sortas="tree_view_convert_bin_window_to_tree_coords">gtk_tree_view_convert_bin_window_to_tree_coords</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_convert_bin_window_to_tree_coords
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> bx,
                                                         <link linkend="gint">gint</link> by,
                                                         <link linkend="gint">gint</link> *tx,
                                                         <link linkend="gint">gint</link> *ty);</programlisting>
<para>
Converts bin_window coordinates to coordinates for the
tree (the full scrollable area of the tree).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>bx</parameter>&#160;:</term>
<listitem><simpara> X coordinate relative to bin_window
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>by</parameter>&#160;:</term>
<listitem><simpara> Y coordinate relative to bin_window
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tx</parameter>&#160;:</term>
<listitem><simpara> return location for tree X coordinate
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ty</parameter>&#160;:</term>
<listitem><simpara> return location for tree Y coordinate
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-tree-view-convert-bin-window-to-widget-coords" role="function" condition="since:2.12">
<title>gtk_tree_view_convert_bin_window_to_widget_coords ()</title>
<indexterm zone="gtk-tree-view-convert-bin-window-to-widget-coords" role="2.12"><primary sortas="tree_view_convert_bin_window_to_widget_coords">gtk_tree_view_convert_bin_window_to_widget_coords</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_convert_bin_window_to_widget_coords
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> bx,
                                                         <link linkend="gint">gint</link> by,
                                                         <link linkend="gint">gint</link> *wx,
                                                         <link linkend="gint">gint</link> *wy);</programlisting>
<para>
Converts bin_window coordinates (see <link linkend="gtk-tree-view-get-bin-window"><function>gtk_tree_view_get_bin_window()</function></link>)
to widget relative coordinates.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>bx</parameter>&#160;:</term>
<listitem><simpara> bin_window X coordinate
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>by</parameter>&#160;:</term>
<listitem><simpara> bin_window Y coordinate
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>wx</parameter>&#160;:</term>
<listitem><simpara> return location for widget X coordinate
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>wy</parameter>&#160;:</term>
<listitem><simpara> return location for widget Y coordinate
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-tree-view-convert-tree-to-bin-window-coords" role="function" condition="since:2.12">
<title>gtk_tree_view_convert_tree_to_bin_window_coords ()</title>
<indexterm zone="gtk-tree-view-convert-tree-to-bin-window-coords" role="2.12"><primary sortas="tree_view_convert_tree_to_bin_window_coords">gtk_tree_view_convert_tree_to_bin_window_coords</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_convert_tree_to_bin_window_coords
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> tx,
                                                         <link linkend="gint">gint</link> ty,
                                                         <link linkend="gint">gint</link> *bx,
                                                         <link linkend="gint">gint</link> *by);</programlisting>
<para>
Converts tree coordinates (coordinates in full scrollable area of the tree)
to bin_window coordinates.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tx</parameter>&#160;:</term>
<listitem><simpara> tree X coordinate
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ty</parameter>&#160;:</term>
<listitem><simpara> tree Y coordinate
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>bx</parameter>&#160;:</term>
<listitem><simpara> return location for X coordinate relative to bin_window
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>by</parameter>&#160;:</term>
<listitem><simpara> return location for Y coordinate relative to bin_window
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-tree-view-convert-tree-to-widget-coords" role="function" condition="since:2.12">
<title>gtk_tree_view_convert_tree_to_widget_coords ()</title>
<indexterm zone="gtk-tree-view-convert-tree-to-widget-coords" role="2.12"><primary sortas="tree_view_convert_tree_to_widget_coords">gtk_tree_view_convert_tree_to_widget_coords</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_convert_tree_to_widget_coords
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> tx,
                                                         <link linkend="gint">gint</link> ty,
                                                         <link linkend="gint">gint</link> *wx,
                                                         <link linkend="gint">gint</link> *wy);</programlisting>
<para>
Converts tree coordinates (coordinates in full scrollable area of the tree)
to widget coordinates.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tx</parameter>&#160;:</term>
<listitem><simpara> X coordinate relative to the tree
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ty</parameter>&#160;:</term>
<listitem><simpara> Y coordinate relative to the tree
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>wx</parameter>&#160;:</term>
<listitem><simpara> return location for widget X coordinate
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>wy</parameter>&#160;:</term>
<listitem><simpara> return location for widget Y coordinate
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-tree-view-convert-widget-to-bin-window-coords" role="function" condition="since:2.12">
<title>gtk_tree_view_convert_widget_to_bin_window_coords ()</title>
<indexterm zone="gtk-tree-view-convert-widget-to-bin-window-coords" role="2.12"><primary sortas="tree_view_convert_widget_to_bin_window_coords">gtk_tree_view_convert_widget_to_bin_window_coords</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_convert_widget_to_bin_window_coords
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> wx,
                                                         <link linkend="gint">gint</link> wy,
                                                         <link linkend="gint">gint</link> *bx,
                                                         <link linkend="gint">gint</link> *by);</programlisting>
<para>
Converts widget coordinates to coordinates for the bin_window
(see <link linkend="gtk-tree-view-get-bin-window"><function>gtk_tree_view_get_bin_window()</function></link>).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>wx</parameter>&#160;:</term>
<listitem><simpara> X coordinate relative to the widget
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>wy</parameter>&#160;:</term>
<listitem><simpara> Y coordinate relative to the widget
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>bx</parameter>&#160;:</term>
<listitem><simpara> return location for bin_window X coordinate
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>by</parameter>&#160;:</term>
<listitem><simpara> return location for bin_window Y coordinate
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-tree-view-convert-widget-to-tree-coords" role="function" condition="since:2.12">
<title>gtk_tree_view_convert_widget_to_tree_coords ()</title>
<indexterm zone="gtk-tree-view-convert-widget-to-tree-coords" role="2.12"><primary sortas="tree_view_convert_widget_to_tree_coords">gtk_tree_view_convert_widget_to_tree_coords</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_convert_widget_to_tree_coords
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> wx,
                                                         <link linkend="gint">gint</link> wy,
                                                         <link linkend="gint">gint</link> *tx,
                                                         <link linkend="gint">gint</link> *ty);</programlisting>
<para>
Converts widget coordinates to coordinates for the
tree (the full scrollable area of the tree).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>wx</parameter>&#160;:</term>
<listitem><simpara> X coordinate relative to the widget
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>wy</parameter>&#160;:</term>
<listitem><simpara> Y coordinate relative to the widget
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tx</parameter>&#160;:</term>
<listitem><simpara> return location for tree X coordinate
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>ty</parameter>&#160;:</term>
<listitem><simpara> return location for tree Y coordinate
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-tree-view-enable-model-drag-dest" role="function">
<title>gtk_tree_view_enable_model_drag_dest ()</title>
<indexterm zone="gtk-tree-view-enable-model-drag-dest"><primary sortas="tree_view_enable_model_drag_dest">gtk_tree_view_enable_model_drag_dest</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_enable_model_drag_dest
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         const <link linkend="GtkTargetEntry">GtkTargetEntry</link> *targets,
                                                         <link linkend="gint">gint</link> n_targets,
                                                         <link linkend="GdkDragAction">GdkDragAction</link> actions);</programlisting>
<para>
Turns <parameter>tree_view</parameter> into a drop destination for automatic DND. Calling
this method sets <link linkend="GtkTreeView--reorderable"><type>"reorderable"</type></link> to <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>targets</parameter>&#160;:</term>
<listitem><simpara> the table of targets that the drag will support
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>n_targets</parameter>&#160;:</term>
<listitem><simpara> the number of items in <parameter>targets</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>actions</parameter>&#160;:</term>
<listitem><simpara> the bitmask of possible actions for a drag from this
   widget
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-enable-model-drag-source" role="function">
<title>gtk_tree_view_enable_model_drag_source ()</title>
<indexterm zone="gtk-tree-view-enable-model-drag-source"><primary sortas="tree_view_enable_model_drag_source">gtk_tree_view_enable_model_drag_source</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_enable_model_drag_source
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GdkModifierType">GdkModifierType</link> start_button_mask,
                                                         const <link linkend="GtkTargetEntry">GtkTargetEntry</link> *targets,
                                                         <link linkend="gint">gint</link> n_targets,
                                                         <link linkend="GdkDragAction">GdkDragAction</link> actions);</programlisting>
<para>
Turns <parameter>tree_view</parameter> into a drag source for automatic DND. Calling this
method sets <link linkend="GtkTreeView--reorderable"><type>"reorderable"</type></link> to <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>start_button_mask</parameter>&#160;:</term>
<listitem><simpara> Mask of allowed buttons to start drag
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>targets</parameter>&#160;:</term>
<listitem><simpara> the table of targets that the drag will support
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>n_targets</parameter>&#160;:</term>
<listitem><simpara> the number of items in <parameter>targets</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>actions</parameter>&#160;:</term>
<listitem><simpara> the bitmask of possible actions for a drag from this
   widget
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-unset-rows-drag-source" role="function">
<title>gtk_tree_view_unset_rows_drag_source ()</title>
<indexterm zone="gtk-tree-view-unset-rows-drag-source"><primary sortas="tree_view_unset_rows_drag_source">gtk_tree_view_unset_rows_drag_source</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_unset_rows_drag_source
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Undoes the effect of
<link linkend="gtk-tree-view-enable-model-drag-source"><function>gtk_tree_view_enable_model_drag_source()</function></link>. Calling this method sets
<link linkend="GtkTreeView--reorderable"><type>"reorderable"</type></link> to <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-unset-rows-drag-dest" role="function">
<title>gtk_tree_view_unset_rows_drag_dest ()</title>
<indexterm zone="gtk-tree-view-unset-rows-drag-dest"><primary sortas="tree_view_unset_rows_drag_dest">gtk_tree_view_unset_rows_drag_dest</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_unset_rows_drag_dest  (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Undoes the effect of
<link linkend="gtk-tree-view-enable-model-drag-dest"><function>gtk_tree_view_enable_model_drag_dest()</function></link>. Calling this method sets
<link linkend="GtkTreeView--reorderable"><type>"reorderable"</type></link> to <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-set-drag-dest-row" role="function">
<title>gtk_tree_view_set_drag_dest_row ()</title>
<indexterm zone="gtk-tree-view-set-drag-dest-row"><primary sortas="tree_view_set_drag_dest_row">gtk_tree_view_set_drag_dest_row</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_drag_dest_row     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="GtkTreeViewDropPosition">GtkTreeViewDropPosition</link> pos);</programlisting>
<para>
Sets the row that is highlighted for feedback.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> The path of the row to highlight, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pos</parameter>&#160;:</term>
<listitem><simpara> Specifies whether to drop before, after or into the row
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-drag-dest-row" role="function">
<title>gtk_tree_view_get_drag_dest_row ()</title>
<indexterm zone="gtk-tree-view-get-drag-dest-row"><primary sortas="tree_view_get_drag_dest_row">gtk_tree_view_get_drag_dest_row</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_get_drag_dest_row     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> **path,
                                                         <link linkend="GtkTreeViewDropPosition">GtkTreeViewDropPosition</link> *pos);</programlisting>
<para>
Gets information about the row that is highlighted for feedback.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> Return location for the path of the highlighted row, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pos</parameter>&#160;:</term>
<listitem><simpara> Return location for the drop position, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-dest-row-at-pos" role="function">
<title>gtk_tree_view_get_dest_row_at_pos ()</title>
<indexterm zone="gtk-tree-view-get-dest-row-at-pos"><primary sortas="tree_view_get_dest_row_at_pos">gtk_tree_view_get_dest_row_at_pos</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_get_dest_row_at_pos   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> drag_x,
                                                         <link linkend="gint">gint</link> drag_y,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> **path,
                                                         <link linkend="GtkTreeViewDropPosition">GtkTreeViewDropPosition</link> *pos);</programlisting>
<para>
Determines the destination row for a given position.  <parameter>drag_x</parameter> and
<parameter>drag_y</parameter> are expected to be in widget coordinates.  This function is only
meaningful if <parameter>tree_view</parameter> is realized.  Therefore this function will always
return <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> if <parameter>tree_view</parameter> is not realized or does not have a model.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>drag_x</parameter>&#160;:</term>
<listitem><simpara> the position to determine the destination row for
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>drag_y</parameter>&#160;:</term>
<listitem><simpara> the position to determine the destination row for
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> Return location for the path of the highlighted row, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pos</parameter>&#160;:</term>
<listitem><simpara> Return location for the drop position, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> whether there is a row at the given position, <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if this
is indeed the case.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-create-row-drag-icon" role="function">
<title>gtk_tree_view_create_row_drag_icon ()</title>
<indexterm zone="gtk-tree-view-create-row-drag-icon"><primary sortas="tree_view_create_row_drag_icon">gtk_tree_view_create_row_drag_icon</primary></indexterm><programlisting><link linkend="GdkPixmap">GdkPixmap</link> *         gtk_tree_view_create_row_drag_icon  (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path);</programlisting>
<para>
Creates a <link linkend="GdkPixmap"><type>GdkPixmap</type></link> representation of the row at <parameter>path</parameter>.  
This image is used for a drag icon.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreePath"><type>GtkTreePath</type></link> in <parameter>tree_view</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a newly-allocated pixmap of the drag icon.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-set-enable-search" role="function">
<title>gtk_tree_view_set_enable_search ()</title>
<indexterm zone="gtk-tree-view-set-enable-search"><primary sortas="tree_view_set_enable_search">gtk_tree_view_set_enable_search</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_enable_search     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> enable_search);</programlisting>
<para>
If <parameter>enable_search</parameter> is set, then the user can type in text to search through
the tree interactively (this is sometimes called "typeahead find").
</para>
<para>
Note that even if this is <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>, the user can still initiate a search 
using the "start-interactive-search" key binding.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>enable_search</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link>, if the user can search interactively
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-enable-search" role="function">
<title>gtk_tree_view_get_enable_search ()</title>
<indexterm zone="gtk-tree-view-get-enable-search"><primary sortas="tree_view_get_enable_search">gtk_tree_view_get_enable_search</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_get_enable_search     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns whether or not the tree allows to start interactive searching 
by typing in text.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> whether or not to let the user search interactively
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-search-column" role="function">
<title>gtk_tree_view_get_search_column ()</title>
<indexterm zone="gtk-tree-view-get-search-column"><primary sortas="tree_view_get_search_column">gtk_tree_view_get_search_column</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_tree_view_get_search_column     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Gets the column searched on by the interactive search code.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the column the interactive search code searches in.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-set-search-column" role="function">
<title>gtk_tree_view_set_search_column ()</title>
<indexterm zone="gtk-tree-view-set-search-column"><primary sortas="tree_view_set_search_column">gtk_tree_view_set_search_column</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_search_column     (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> column);</programlisting>
<para>
Sets <parameter>column</parameter> as the column where the interactive search code should
search in for the current model. 
</para>
<para>
If the search column is set, users can use the "start-interactive-search"
key binding to bring up search popup. The enable-search property controls
whether simply typing text will also start an interactive search.
</para>
<para>
Note that <parameter>column</parameter> refers to a column of the current model. The search 
column is reset to -1 when the model is changed.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&#160;:</term>
<listitem><simpara> the column of the model to search in, or -1 to disable searching
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-search-equal-func" role="function">
<title>gtk_tree_view_get_search_equal_func ()</title>
<indexterm zone="gtk-tree-view-get-search-equal-func"><primary sortas="tree_view_get_search_equal_func">gtk_tree_view_get_search_equal_func</primary></indexterm><programlisting><link linkend="GtkTreeViewSearchEqualFunc">GtkTreeViewSearchEqualFunc</link>  gtk_tree_view_get_search_equal_func
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns the compare function currently in use.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the currently used compare function for the search code.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-set-search-equal-func" role="function">
<title>gtk_tree_view_set_search_equal_func ()</title>
<indexterm zone="gtk-tree-view-set-search-equal-func"><primary sortas="tree_view_set_search_equal_func">gtk_tree_view_set_search_equal_func</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_search_equal_func (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewSearchEqualFunc">GtkTreeViewSearchEqualFunc</link> search_equal_func,
                                                         <link linkend="gpointer">gpointer</link> search_user_data,
                                                         <link linkend="GDestroyNotify">GDestroyNotify</link> search_destroy);</programlisting>
<para>
Sets the compare function for the interactive search capabilities; note
that somewhat like <link linkend="strcmp"><function>strcmp()</function></link> returning 0 for equality
<link linkend="GtkTreeViewSearchEqualFunc"><type>GtkTreeViewSearchEqualFunc</type></link> returns <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> on matches.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>search_equal_func</parameter>&#160;:</term>
<listitem><simpara> the compare function to use during the search
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>search_user_data</parameter>&#160;:</term>
<listitem><simpara> user data to pass to <parameter>search_equal_func</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>search_destroy</parameter>&#160;:</term>
<listitem><simpara> Destroy notifier for <parameter>search_user_data</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-search-entry" role="function" condition="since:2.10">
<title>gtk_tree_view_get_search_entry ()</title>
<indexterm zone="gtk-tree-view-get-search-entry" role="2.10"><primary sortas="tree_view_get_search_entry">gtk_tree_view_get_search_entry</primary></indexterm><programlisting><link linkend="GtkEntry">GtkEntry</link> *          gtk_tree_view_get_search_entry      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns the <link linkend="GtkEntry"><type>GtkEntry</type></link> which is currently in use as interactive search
entry for <parameter>tree_view</parameter>.  In case the built-in entry is being used, <link linkend="NULL--CAPS"><literal>NULL</literal></link>
will be returned.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the entry currently in use as search entry.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-tree-view-set-search-entry" role="function" condition="since:2.10">
<title>gtk_tree_view_set_search_entry ()</title>
<indexterm zone="gtk-tree-view-set-search-entry" role="2.10"><primary sortas="tree_view_set_search_entry">gtk_tree_view_set_search_entry</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_search_entry      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkEntry">GtkEntry</link> *entry);</programlisting>
<para>
Sets the entry which the interactive search code will use for this
<parameter>tree_view</parameter>.  This is useful when you want to provide a search entry
in our interface at all time at a fixed position.  Passing <link linkend="NULL--CAPS"><literal>NULL</literal></link> for
<parameter>entry</parameter> will make the interactive search code use the built-in popup
entry again.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>entry</parameter>&#160;:</term>
<listitem><simpara> the entry the interactive search code of <parameter>tree_view</parameter> should use or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="GtkTreeViewSearchPositionFunc" role="function">
<title>GtkTreeViewSearchPositionFunc ()</title>
<indexterm zone="GtkTreeViewSearchPositionFunc"><primary sortas="TreeViewSearchPositionFunc">GtkTreeViewSearchPositionFunc</primary></indexterm><programlisting><link linkend="void">void</link>                (*GtkTreeViewSearchPositionFunc)    (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkWidget">GtkWidget</link> *search_dialog,
                                                         <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>search_dialog</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-search-position-func" role="function" condition="since:2.10">
<title>gtk_tree_view_get_search_position_func ()</title>
<indexterm zone="gtk-tree-view-get-search-position-func" role="2.10"><primary sortas="tree_view_get_search_position_func">gtk_tree_view_get_search_position_func</primary></indexterm><programlisting><link linkend="GtkTreeViewSearchPositionFunc">GtkTreeViewSearchPositionFunc</link>  gtk_tree_view_get_search_position_func
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns the positioning function currently in use.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the currently used function for positioning the search dialog.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-tree-view-set-search-position-func" role="function" condition="since:2.10">
<title>gtk_tree_view_set_search_position_func ()</title>
<indexterm zone="gtk-tree-view-set-search-position-func" role="2.10"><primary sortas="tree_view_set_search_position_func">gtk_tree_view_set_search_position_func</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_search_position_func
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewSearchPositionFunc">GtkTreeViewSearchPositionFunc</link> func,
                                                         <link linkend="gpointer">gpointer</link> data,
                                                         <link linkend="GDestroyNotify">GDestroyNotify</link> destroy);</programlisting>
<para>
Sets the function to use when positioning the search dialog.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>func</parameter>&#160;:</term>
<listitem><simpara> the function to use to position the search dialog, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
   to use the default search position function
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara> user data to pass to <parameter>func</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>destroy</parameter>&#160;:</term>
<listitem><simpara> Destroy notifier for <parameter>data</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-tree-view-get-fixed-height-mode" role="function" condition="since:2.6">
<title>gtk_tree_view_get_fixed_height_mode ()</title>
<indexterm zone="gtk-tree-view-get-fixed-height-mode" role="2.6"><primary sortas="tree_view_get_fixed_height_mode">gtk_tree_view_get_fixed_height_mode</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_get_fixed_height_mode (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns whether fixed height mode is turned on for <parameter>tree_view</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>tree_view</parameter> is in fixed height mode

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.6</para></refsect2>
<refsect2 id="gtk-tree-view-set-fixed-height-mode" role="function" condition="since:2.6">
<title>gtk_tree_view_set_fixed_height_mode ()</title>
<indexterm zone="gtk-tree-view-set-fixed-height-mode" role="2.6"><primary sortas="tree_view_set_fixed_height_mode">gtk_tree_view_set_fixed_height_mode</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_fixed_height_mode (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> enable);</programlisting>
<para>
Enables or disables the fixed height mode of <parameter>tree_view</parameter>. 
Fixed height mode speeds up <link linkend="GtkTreeView"><type>GtkTreeView</type></link> by assuming that all 
rows have the same height. 
Only enable this option if all rows are the same height and all
columns are of type <link linkend="GTK-TREE-VIEW-COLUMN-FIXED--CAPS"><literal>GTK_TREE_VIEW_COLUMN_FIXED</literal></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link> 
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>enable</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> to enable fixed height mode
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.6</para></refsect2>
<refsect2 id="gtk-tree-view-get-hover-selection" role="function" condition="since:2.6">
<title>gtk_tree_view_get_hover_selection ()</title>
<indexterm zone="gtk-tree-view-get-hover-selection" role="2.6"><primary sortas="tree_view_get_hover_selection">gtk_tree_view_get_hover_selection</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_get_hover_selection   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns whether hover selection mode is turned on for <parameter>tree_view</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>tree_view</parameter> is in hover selection mode

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.6</para></refsect2>
<refsect2 id="gtk-tree-view-set-hover-selection" role="function" condition="since:2.6">
<title>gtk_tree_view_set_hover_selection ()</title>
<indexterm zone="gtk-tree-view-set-hover-selection" role="2.6"><primary sortas="tree_view_set_hover_selection">gtk_tree_view_set_hover_selection</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_hover_selection   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> hover);</programlisting>
<para>
Enables of disables the hover selection mode of <parameter>tree_view</parameter>.
Hover selection makes the selected row follow the pointer.
Currently, this works only for the selection modes 
<link linkend="GTK-SELECTION-SINGLE--CAPS"><literal>GTK_SELECTION_SINGLE</literal></link> and <link linkend="GTK-SELECTION-BROWSE--CAPS"><literal>GTK_SELECTION_BROWSE</literal></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>hover</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> to enable hover selection mode
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.6</para></refsect2>
<refsect2 id="gtk-tree-view-get-hover-expand" role="function" condition="since:2.6">
<title>gtk_tree_view_get_hover_expand ()</title>
<indexterm zone="gtk-tree-view-get-hover-expand" role="2.6"><primary sortas="tree_view_get_hover_expand">gtk_tree_view_get_hover_expand</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_get_hover_expand      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns whether hover expansion mode is turned on for <parameter>tree_view</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if <parameter>tree_view</parameter> is in hover expansion mode

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.6</para></refsect2>
<refsect2 id="gtk-tree-view-set-hover-expand" role="function" condition="since:2.6">
<title>gtk_tree_view_set_hover_expand ()</title>
<indexterm zone="gtk-tree-view-set-hover-expand" role="2.6"><primary sortas="tree_view_set_hover_expand">gtk_tree_view_set_hover_expand</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_hover_expand      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> expand);</programlisting>
<para>
Enables of disables the hover expansion mode of <parameter>tree_view</parameter>.
Hover expansion makes rows expand or collapse if the pointer 
moves over them.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>expand</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> to enable hover selection mode
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.6</para></refsect2>
<refsect2 id="GtkTreeDestroyCountFunc" role="function">
<title>GtkTreeDestroyCountFunc ()</title>
<indexterm zone="GtkTreeDestroyCountFunc"><primary sortas="TreeDestroyCountFunc">GtkTreeDestroyCountFunc</primary></indexterm><programlisting><link linkend="void">void</link>                (*GtkTreeDestroyCountFunc)          (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="gint">gint</link> children,
                                                         <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>children</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-set-destroy-count-func" role="function">
<title>gtk_tree_view_set_destroy_count_func ()</title>
<indexterm zone="gtk-tree-view-set-destroy-count-func"><primary sortas="tree_view_set_destroy_count_func">gtk_tree_view_set_destroy_count_func</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_destroy_count_func
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeDestroyCountFunc">GtkTreeDestroyCountFunc</link> func,
                                                         <link linkend="gpointer">gpointer</link> data,
                                                         <link linkend="GDestroyNotify">GDestroyNotify</link> destroy);</programlisting>
<para>
This function should almost never be used.  It is meant for private use by
ATK for determining the number of visible children that are removed when the
user collapses a row, or a row is deleted.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>func</parameter>&#160;:</term>
<listitem><simpara> Function to be called when a view row is destroyed, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara> User data to be passed to <parameter>func</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>destroy</parameter>&#160;:</term>
<listitem><simpara> Destroy notifier for <parameter>data</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="GtkTreeViewRowSeparatorFunc" role="function">
<title>GtkTreeViewRowSeparatorFunc ()</title>
<indexterm zone="GtkTreeViewRowSeparatorFunc"><primary sortas="TreeViewRowSeparatorFunc">GtkTreeViewRowSeparatorFunc</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            (*GtkTreeViewRowSeparatorFunc)      (<link linkend="GtkTreeModel">GtkTreeModel</link> *model,
                                                         <link linkend="GtkTreeIter">GtkTreeIter</link> *iter,
                                                         <link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Function type for determining whether the row pointed to by <parameter>iter</parameter> should
be rendered as a separator. A common way to implement this is to have a
boolean column in the model, whose values the <link linkend="GtkTreeViewRowSeparatorFunc"><type>GtkTreeViewRowSeparatorFunc</type></link>
returns.
</para><variablelist role="params">
<varlistentry><term><parameter>model</parameter>&#160;:</term>
<listitem><simpara>the <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>iter</parameter>&#160;:</term>
<listitem><simpara>a <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> pointing at a row in <parameter>model</parameter>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara>user data
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>%TRUE if the row is a separator
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-row-separator-func" role="function" condition="since:2.6">
<title>gtk_tree_view_get_row_separator_func ()</title>
<indexterm zone="gtk-tree-view-get-row-separator-func" role="2.6"><primary sortas="tree_view_get_row_separator_func">gtk_tree_view_get_row_separator_func</primary></indexterm><programlisting><link linkend="GtkTreeViewRowSeparatorFunc">GtkTreeViewRowSeparatorFunc</link>  gtk_tree_view_get_row_separator_func
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns the current row separator function.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the current row separator function.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.6</para></refsect2>
<refsect2 id="gtk-tree-view-set-row-separator-func" role="function" condition="since:2.6">
<title>gtk_tree_view_set_row_separator_func ()</title>
<indexterm zone="gtk-tree-view-set-row-separator-func" role="2.6"><primary sortas="tree_view_set_row_separator_func">gtk_tree_view_set_row_separator_func</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_row_separator_func
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewRowSeparatorFunc">GtkTreeViewRowSeparatorFunc</link> func,
                                                         <link linkend="gpointer">gpointer</link> data,
                                                         <link linkend="GDestroyNotify">GDestroyNotify</link> destroy);</programlisting>
<para>
Sets the row separator function, which is used to determine
whether a row should be drawn as a separator. If the row separator
function is <link linkend="NULL--CAPS"><literal>NULL</literal></link>, no separators are drawn. This is the default value.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>func</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeViewRowSeparatorFunc"><type>GtkTreeViewRowSeparatorFunc</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&#160;:</term>
<listitem><simpara> user data to pass to <parameter>func</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>destroy</parameter>&#160;:</term>
<listitem><simpara> destroy notifier for <parameter>data</parameter>, or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.6</para></refsect2>
<refsect2 id="gtk-tree-view-get-rubber-banding" role="function" condition="since:2.10">
<title>gtk_tree_view_get_rubber_banding ()</title>
<indexterm zone="gtk-tree-view-get-rubber-banding" role="2.10"><primary sortas="tree_view_get_rubber_banding">gtk_tree_view_get_rubber_banding</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_get_rubber_banding    (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns whether rubber banding is turned on for <parameter>tree_view</parameter>.  If the
selection mode is <link linkend="GTK-SELECTION-MULTIPLE--CAPS"><type>GTK_SELECTION_MULTIPLE</type></link>, rubber banding will allow the
user to select multiple rows by dragging the mouse.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if rubber banding in <parameter>tree_view</parameter> is enabled.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-tree-view-set-rubber-banding" role="function" condition="since:2.10">
<title>gtk_tree_view_set_rubber_banding ()</title>
<indexterm zone="gtk-tree-view-set-rubber-banding" role="2.10"><primary sortas="tree_view_set_rubber_banding">gtk_tree_view_set_rubber_banding</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_rubber_banding    (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> enable);</programlisting>
<para>
Enables or disables rubber banding in <parameter>tree_view</parameter>.  If the selection mode
is <link linkend="GTK-SELECTION-MULTIPLE--CAPS"><type>GTK_SELECTION_MULTIPLE</type></link>, rubber banding will allow the user to select
multiple rows by dragging the mouse.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>enable</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> to enable rubber banding
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-tree-view-is-rubber-banding-active" role="function" condition="since:2.12">
<title>gtk_tree_view_is_rubber_banding_active ()</title>
<indexterm zone="gtk-tree-view-is-rubber-banding-active" role="2.12"><primary sortas="tree_view_is_rubber_banding_active">gtk_tree_view_is_rubber_banding_active</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_is_rubber_banding_active
                                                        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns whether a rubber banding operation is currently being done
in <parameter>tree_view</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if a rubber banding operation is currently being
done in <parameter>tree_view</parameter>.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-tree-view-get-enable-tree-lines" role="function" condition="since:2.10">
<title>gtk_tree_view_get_enable_tree_lines ()</title>
<indexterm zone="gtk-tree-view-get-enable-tree-lines" role="2.10"><primary sortas="tree_view_get_enable_tree_lines">gtk_tree_view_get_enable_tree_lines</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_get_enable_tree_lines (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns whether or not tree lines are drawn in <parameter>tree_view</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if tree lines are drawn in <parameter>tree_view</parameter>, <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>
otherwise.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-tree-view-set-enable-tree-lines" role="function" condition="since:2.10">
<title>gtk_tree_view_set_enable_tree_lines ()</title>
<indexterm zone="gtk-tree-view-set-enable-tree-lines" role="2.10"><primary sortas="tree_view_set_enable_tree_lines">gtk_tree_view_set_enable_tree_lines</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_enable_tree_lines (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gboolean">gboolean</link> enabled);</programlisting>
<para>
Sets whether to draw lines interconnecting the expanders in <parameter>tree_view</parameter>.
This does not have any visible effects for lists.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>enabled</parameter>&#160;:</term>
<listitem><simpara> <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> to enable tree line drawing, <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> otherwise.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="GtkTreeViewGridLines" role="enum">
<title>enum GtkTreeViewGridLines</title>
<indexterm zone="GtkTreeViewGridLines"><primary sortas="TreeViewGridLines">GtkTreeViewGridLines</primary></indexterm><programlisting>typedef enum
{
  GTK_TREE_VIEW_GRID_LINES_NONE,
  GTK_TREE_VIEW_GRID_LINES_HORIZONTAL,
  GTK_TREE_VIEW_GRID_LINES_VERTICAL,
  GTK_TREE_VIEW_GRID_LINES_BOTH
} GtkTreeViewGridLines;
</programlisting>
<para>
Used to indicate which grid lines to draw in a tree view.
</para><variablelist role="enum">
<varlistentry id="GTK-TREE-VIEW-GRID-LINES-NONE--CAPS" role="constant">
<term><literal>GTK_TREE_VIEW_GRID_LINES_NONE</literal></term>
<listitem><simpara>No grid lines.
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-TREE-VIEW-GRID-LINES-HORIZONTAL--CAPS" role="constant">
<term><literal>GTK_TREE_VIEW_GRID_LINES_HORIZONTAL</literal></term>
<listitem><simpara>Horizontal grid lines.
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-TREE-VIEW-GRID-LINES-VERTICAL--CAPS" role="constant">
<term><literal>GTK_TREE_VIEW_GRID_LINES_VERTICAL</literal></term>
<listitem><simpara>Vertical grid lines.
</simpara></listitem>
</varlistentry>
<varlistentry id="GTK-TREE-VIEW-GRID-LINES-BOTH--CAPS" role="constant">
<term><literal>GTK_TREE_VIEW_GRID_LINES_BOTH</literal></term>
<listitem><simpara>Horizontal and vertical grid lines.
</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2 id="gtk-tree-view-get-grid-lines" role="function" condition="since:2.10">
<title>gtk_tree_view_get_grid_lines ()</title>
<indexterm zone="gtk-tree-view-get-grid-lines" role="2.10"><primary sortas="tree_view_get_grid_lines">gtk_tree_view_get_grid_lines</primary></indexterm><programlisting><link linkend="GtkTreeViewGridLines">GtkTreeViewGridLines</link>  gtk_tree_view_get_grid_lines      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns which grid lines are enabled in <parameter>tree_view</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> a <link linkend="GtkTreeViewGridLines"><type>GtkTreeViewGridLines</type></link> value indicating which grid lines
are enabled.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-tree-view-set-grid-lines" role="function" condition="since:2.10">
<title>gtk_tree_view_set_grid_lines ()</title>
<indexterm zone="gtk-tree-view-set-grid-lines" role="2.10"><primary sortas="tree_view_set_grid_lines">gtk_tree_view_set_grid_lines</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_grid_lines        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTreeViewGridLines">GtkTreeViewGridLines</link> grid_lines);</programlisting>
<para>
Sets which grid lines to draw in <parameter>tree_view</parameter>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>grid_lines</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeViewGridLines"><type>GtkTreeViewGridLines</type></link> value indicating which grid lines to
enable.
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.10</para></refsect2>
<refsect2 id="gtk-tree-view-set-tooltip-row" role="function" condition="since:2.12">
<title>gtk_tree_view_set_tooltip_row ()</title>
<indexterm zone="gtk-tree-view-set-tooltip-row" role="2.12"><primary sortas="tree_view_set_tooltip_row">gtk_tree_view_set_tooltip_row</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_tooltip_row       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTooltip">GtkTooltip</link> *tooltip,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path);</programlisting>
<para>
Sets the tip area of <parameter>tooltip</parameter> to be the area covered by the row at <parameter>path</parameter>.
See also <link linkend="gtk-tree-view-set-tooltip-column"><function>gtk_tree_view_set_tooltip_column()</function></link> for a simpler alternative.
See also <link linkend="gtk-tooltip-set-tip-area"><function>gtk_tooltip_set_tip_area()</function></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tooltip</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTooltip"><type>GtkTooltip</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreePath"><type>GtkTreePath</type></link>
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-tree-view-set-tooltip-cell" role="function" condition="since:2.12">
<title>gtk_tree_view_set_tooltip_cell ()</title>
<indexterm zone="gtk-tree-view-set-tooltip-cell" role="2.12"><primary sortas="tree_view_set_tooltip_cell">gtk_tree_view_set_tooltip_cell</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_tooltip_cell      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="GtkTooltip">GtkTooltip</link> *tooltip,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                         <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column,
                                                         <link linkend="GtkCellRenderer">GtkCellRenderer</link> *cell);</programlisting>
<para>
Sets the tip area of <parameter>tooltip</parameter> to the area <parameter>path</parameter>, <parameter>column</parameter> and <parameter>cell</parameter> have
in common.  For example if <parameter>path</parameter> is <link linkend="NULL--CAPS"><literal>NULL</literal></link> and <parameter>column</parameter> is set, the tip
area will be set to the full area covered by <parameter>column</parameter>.  See also
<link linkend="gtk-tooltip-set-tip-area"><function>gtk_tooltip_set_tip_area()</function></link>.
</para>
<para>
Note that if <parameter>path</parameter> is not specified and <parameter>cell</parameter> is set and part of a column
containing the expander, the tooltip might not show and hide at the correct
position.  In such cases <parameter>path</parameter> must be set to the current node under the
mouse cursor for this function to operate correctly.
</para>
<para>
See also <link linkend="gtk-tree-view-set-tooltip-column"><function>gtk_tree_view_set_tooltip_column()</function></link> for a simpler alternative.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>tooltip</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTooltip"><type>GtkTooltip</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreePath"><type>GtkTreePath</type></link> or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>cell</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-tree-view-get-tooltip-context" role="function" condition="since:2.12">
<title>gtk_tree_view_get_tooltip_context ()</title>
<indexterm zone="gtk-tree-view-get-tooltip-context" role="2.12"><primary sortas="tree_view_get_tooltip_context">gtk_tree_view_get_tooltip_context</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            gtk_tree_view_get_tooltip_context   (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> *x,
                                                         <link linkend="gint">gint</link> *y,
                                                         <link linkend="gboolean">gboolean</link> keyboard_tip,
                                                         <link linkend="GtkTreeModel">GtkTreeModel</link> **model,
                                                         <link linkend="GtkTreePath">GtkTreePath</link> **path,
                                                         <link linkend="GtkTreeIter">GtkTreeIter</link> *iter);</programlisting>
<para>
This function is supposed to be used in a <link linkend="GtkWidget-query-tooltip"><type>"query-tooltip"</type></link>
signal handler for <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.  The <parameter>x</parameter>, <parameter>y</parameter> and <parameter>keyboard_tip</parameter> values
which are received in the signal handler, should be passed to this
function without modification.
</para>
<para>
The return value indicates whether there is a tree view row at the given
coordinates (<link linkend="TRUE--CAPS"><literal>TRUE</literal></link>) or not (<link linkend="FALSE--CAPS"><literal>FALSE</literal></link>) for mouse tooltips.  For keyboard
tooltips the row returned will be the cursor row.  When <link linkend="TRUE--CAPS"><literal>TRUE</literal></link>, then any of
<parameter>model</parameter>, <parameter>path</parameter> and <parameter>iter</parameter> which have been provided will be set to point to
that row and the corresponding model.  <parameter>x</parameter> and <parameter>y</parameter> will always be converted
to be relative to <parameter>tree_view</parameter>'s bin_window if <parameter>keyboard_tooltip</parameter> is <link linkend="FALSE--CAPS"><literal>FALSE</literal></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>x</parameter>&#160;:</term>
<listitem><simpara> the x coordinate (relative to widget coordinates)
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>y</parameter>&#160;:</term>
<listitem><simpara> the y coordinate (relative to widget coordinates)
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>keyboard_tip</parameter>&#160;:</term>
<listitem><simpara> whether this is a keyboard tooltip or not
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>model</parameter>&#160;:</term>
<listitem><simpara> a pointer to receive a <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> a pointer to receive a <link linkend="GtkTreePath"><type>GtkTreePath</type></link> or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>iter</parameter>&#160;:</term>
<listitem><simpara> a pointer to receive a <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> or <link linkend="NULL--CAPS"><literal>NULL</literal></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> whether or not the given tooltip context points to a row.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-tree-view-get-tooltip-column" role="function" condition="since:2.12">
<title>gtk_tree_view_get_tooltip_column ()</title>
<indexterm zone="gtk-tree-view-get-tooltip-column" role="2.12"><primary sortas="tree_view_get_tooltip_column">gtk_tree_view_get_tooltip_column</primary></indexterm><programlisting><link linkend="gint">gint</link>                gtk_tree_view_get_tooltip_column    (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns the column of <parameter>tree_view</parameter>'s model which is being used for
displaying tooltips on <parameter>tree_view</parameter>'s rows.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> the index of the tooltip column that is currently being
used, or -1 if this is disabled.

</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>
<refsect2 id="gtk-tree-view-set-tooltip-column" role="function" condition="since:2.12">
<title>gtk_tree_view_set_tooltip_column ()</title>
<indexterm zone="gtk-tree-view-set-tooltip-column" role="2.12"><primary sortas="tree_view_set_tooltip_column">gtk_tree_view_set_tooltip_column</primary></indexterm><programlisting><link linkend="void">void</link>                gtk_tree_view_set_tooltip_column    (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                         <link linkend="gint">gint</link> column);</programlisting>
<para>
If you only plan to have simple (text-only) tooltips on full rows, you
can use this function to have <link linkend="GtkTreeView"><type>GtkTreeView</type></link> handle these automatically
for you. <parameter>column</parameter> should be set to the column in <parameter>tree_view</parameter>'s model
containing the tooltip texts, or -1 to disable this feature.
</para>
<para>
When enabled, <link linkend="GtkWidget-has-tooltip"><type>"has-tooltip"</type></link> will be set to <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> and
<parameter>tree_view</parameter> will connect a <link linkend="GtkWidget-query-tooltip"><type>"query-tooltip"</type></link> signal handler.
</para>
<para>
Note that the signal handler sets the text with <link linkend="gtk-tooltip-set-markup"><function>gtk_tooltip_set_markup()</function></link>,
so &amp;, &lt;, etc have to be escaped in the text.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&#160;:</term>
<listitem><simpara> an integer, which is a valid column number for <parameter>tree_view</parameter>'s model
</simpara></listitem></varlistentry>
</variablelist><para role="since">Since 2.12</para></refsect2>

</refsect1>
<refsect1 id="GtkTreeView.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkTreeView--enable-grid-lines" role="property"><title>The <literal>&quot;enable-grid-lines&quot;</literal> property</title>
<indexterm zone="GtkTreeView--enable-grid-lines"><primary sortas="TreeView:enable-grid-lines">GtkTreeView:enable-grid-lines</primary></indexterm><programlisting>  &quot;enable-grid-lines&quot;        <link linkend="GtkTreeViewGridLines">GtkTreeViewGridLines</link>  : Read / Write</programlisting>
<para>Whether grid lines should be drawn in the tree view.</para><para>Default value: GTK_TREE_VIEW_GRID_LINES_NONE</para>
</refsect2>
<refsect2 id="GtkTreeView--enable-search" role="property"><title>The <literal>&quot;enable-search&quot;</literal> property</title>
<indexterm zone="GtkTreeView--enable-search"><primary sortas="TreeView:enable-search">GtkTreeView:enable-search</primary></indexterm><programlisting>  &quot;enable-search&quot;            <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>View allows user to search through columns interactively.</para><para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkTreeView--enable-tree-lines" role="property"><title>The <literal>&quot;enable-tree-lines&quot;</literal> property</title>
<indexterm zone="GtkTreeView--enable-tree-lines"><primary sortas="TreeView:enable-tree-lines">GtkTreeView:enable-tree-lines</primary></indexterm><programlisting>  &quot;enable-tree-lines&quot;        <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>Whether tree lines should be drawn in the tree view.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkTreeView--expander-column" role="property"><title>The <literal>&quot;expander-column&quot;</literal> property</title>
<indexterm zone="GtkTreeView--expander-column"><primary sortas="TreeView:expander-column">GtkTreeView:expander-column</primary></indexterm><programlisting>  &quot;expander-column&quot;          <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link>*    : Read / Write</programlisting>
<para>Set the column for the expander column.</para></refsect2>
<refsect2 id="GtkTreeView--fixed-height-mode" role="property"><title>The <literal>&quot;fixed-height-mode&quot;</literal> property</title>
<indexterm zone="GtkTreeView--fixed-height-mode" role="2.4"><primary sortas="TreeView:fixed-height-mode">GtkTreeView:fixed-height-mode</primary></indexterm><programlisting>  &quot;fixed-height-mode&quot;        <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>
Setting the ::fixed-height-mode property to <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> speeds up
<link linkend="GtkTreeView"><type>GtkTreeView</type></link> by assuming that all rows have the same height. 
Only enable this option if all rows are the same height.  
Please see <link linkend="gtk-tree-view-set-fixed-height-mode"><function>gtk_tree_view_set_fixed_height_mode()</function></link> for more 
information on this option.</para>
<para>
</para><para>Default value: FALSE</para>
<para>Since 2.4</para>
</refsect2>
<refsect2 id="GtkTreeView--hadjustment" role="property"><title>The <literal>&quot;hadjustment&quot;</literal> property</title>
<indexterm zone="GtkTreeView--hadjustment"><primary sortas="TreeView:hadjustment">GtkTreeView:hadjustment</primary></indexterm><programlisting>  &quot;hadjustment&quot;              <link linkend="GtkAdjustment">GtkAdjustment</link>*        : Read / Write</programlisting>
<para>Horizontal Adjustment for the widget.</para></refsect2>
<refsect2 id="GtkTreeView--headers-clickable" role="property"><title>The <literal>&quot;headers-clickable&quot;</literal> property</title>
<indexterm zone="GtkTreeView--headers-clickable"><primary sortas="TreeView:headers-clickable">GtkTreeView:headers-clickable</primary></indexterm><programlisting>  &quot;headers-clickable&quot;        <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>Column headers respond to click events.</para><para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkTreeView--headers-visible" role="property"><title>The <literal>&quot;headers-visible&quot;</literal> property</title>
<indexterm zone="GtkTreeView--headers-visible"><primary sortas="TreeView:headers-visible">GtkTreeView:headers-visible</primary></indexterm><programlisting>  &quot;headers-visible&quot;          <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>Show the column header buttons.</para><para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkTreeView--hover-expand" role="property"><title>The <literal>&quot;hover-expand&quot;</literal> property</title>
<indexterm zone="GtkTreeView--hover-expand" role="2.6"><primary sortas="TreeView:hover-expand">GtkTreeView:hover-expand</primary></indexterm><programlisting>  &quot;hover-expand&quot;             <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>
Enables of disables the hover expansion mode of <parameter>tree_view</parameter>.
Hover expansion makes rows expand or collapse if the pointer moves 
over them.
</para>
<para>
This mode is primarily intended for treeviews in popups, e.g.
in <link linkend="GtkComboBox"><type>GtkComboBox</type></link> or <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link>.</para>
<para>
</para><para>Default value: FALSE</para>
<para>Since 2.6</para>
</refsect2>
<refsect2 id="GtkTreeView--hover-selection" role="property"><title>The <literal>&quot;hover-selection&quot;</literal> property</title>
<indexterm zone="GtkTreeView--hover-selection" role="2.6"><primary sortas="TreeView:hover-selection">GtkTreeView:hover-selection</primary></indexterm><programlisting>  &quot;hover-selection&quot;          <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>
Enables of disables the hover selection mode of <parameter>tree_view</parameter>.
Hover selection makes the selected row follow the pointer.
Currently, this works only for the selection modes 
<link linkend="GTK-SELECTION-SINGLE--CAPS"><literal>GTK_SELECTION_SINGLE</literal></link> and <link linkend="GTK-SELECTION-BROWSE--CAPS"><literal>GTK_SELECTION_BROWSE</literal></link>.
</para>
<para>
This mode is primarily intended for treeviews in popups, e.g.
in <link linkend="GtkComboBox"><type>GtkComboBox</type></link> or <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link>.</para>
<para>
</para><para>Default value: FALSE</para>
<para>Since 2.6</para>
</refsect2>
<refsect2 id="GtkTreeView--level-indentation" role="property"><title>The <literal>&quot;level-indentation&quot;</literal> property</title>
<indexterm zone="GtkTreeView--level-indentation" role="2.12"><primary sortas="TreeView:level-indentation">GtkTreeView:level-indentation</primary></indexterm><programlisting>  &quot;level-indentation&quot;        <link linkend="gint">gint</link>                  : Read / Write</programlisting>
<para>
Extra indentation for each level.</para>
<para>
</para><para>Allowed values: &gt;= 0</para>
<para>Default value: 0</para>
<para>Since 2.12</para>
</refsect2>
<refsect2 id="GtkTreeView--model" role="property"><title>The <literal>&quot;model&quot;</literal> property</title>
<indexterm zone="GtkTreeView--model"><primary sortas="TreeView:model">GtkTreeView:model</primary></indexterm><programlisting>  &quot;model&quot;                    <link linkend="GtkTreeModel">GtkTreeModel</link>*         : Read / Write</programlisting>
<para>The model for the tree view.</para></refsect2>
<refsect2 id="GtkTreeView--reorderable" role="property"><title>The <literal>&quot;reorderable&quot;</literal> property</title>
<indexterm zone="GtkTreeView--reorderable"><primary sortas="TreeView:reorderable">GtkTreeView:reorderable</primary></indexterm><programlisting>  &quot;reorderable&quot;              <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>View is reorderable.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkTreeView--rubber-banding" role="property"><title>The <literal>&quot;rubber-banding&quot;</literal> property</title>
<indexterm zone="GtkTreeView--rubber-banding"><primary sortas="TreeView:rubber-banding">GtkTreeView:rubber-banding</primary></indexterm><programlisting>  &quot;rubber-banding&quot;           <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>Whether to enable selection of multiple items by dragging the mouse pointer.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkTreeView--rules-hint" role="property"><title>The <literal>&quot;rules-hint&quot;</literal> property</title>
<indexterm zone="GtkTreeView--rules-hint"><primary sortas="TreeView:rules-hint">GtkTreeView:rules-hint</primary></indexterm><programlisting>  &quot;rules-hint&quot;               <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>Set a hint to the theme engine to draw rows in alternating colors.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkTreeView--search-column" role="property"><title>The <literal>&quot;search-column&quot;</literal> property</title>
<indexterm zone="GtkTreeView--search-column"><primary sortas="TreeView:search-column">GtkTreeView:search-column</primary></indexterm><programlisting>  &quot;search-column&quot;            <link linkend="gint">gint</link>                  : Read / Write</programlisting>
<para>Model column to search through during interactive search.</para><para>Allowed values: &gt;= G_MAXULONG</para>
<para>Default value: -1</para>
</refsect2>
<refsect2 id="GtkTreeView--show-expanders" role="property"><title>The <literal>&quot;show-expanders&quot;</literal> property</title>
<indexterm zone="GtkTreeView--show-expanders" role="2.12"><primary sortas="TreeView:show-expanders">GtkTreeView:show-expanders</primary></indexterm><programlisting>  &quot;show-expanders&quot;           <link linkend="gboolean">gboolean</link>              : Read / Write</programlisting>
<para>
<link linkend="TRUE--CAPS"><literal>TRUE</literal></link> if the view has expanders.</para>
<para>
</para><para>Default value: TRUE</para>
<para>Since 2.12</para>
</refsect2>
<refsect2 id="GtkTreeView--tooltip-column" role="property"><title>The <literal>&quot;tooltip-column&quot;</literal> property</title>
<indexterm zone="GtkTreeView--tooltip-column"><primary sortas="TreeView:tooltip-column">GtkTreeView:tooltip-column</primary></indexterm><programlisting>  &quot;tooltip-column&quot;           <link linkend="gint">gint</link>                  : Read / Write</programlisting>
<para>The column in the model containing the tooltip texts for the rows.</para><para>Allowed values: &gt;= G_MAXULONG</para>
<para>Default value: -1</para>
</refsect2>
<refsect2 id="GtkTreeView--vadjustment" role="property"><title>The <literal>&quot;vadjustment&quot;</literal> property</title>
<indexterm zone="GtkTreeView--vadjustment"><primary sortas="TreeView:vadjustment">GtkTreeView:vadjustment</primary></indexterm><programlisting>  &quot;vadjustment&quot;              <link linkend="GtkAdjustment">GtkAdjustment</link>*        : Read / Write</programlisting>
<para>Vertical Adjustment for the widget.</para></refsect2>

</refsect1>
<refsect1 id="GtkTreeView.style-property-details" role="style_properties_details">
<title role="style_properties_details.title">Style Property Details</title>
<refsect2 id="GtkTreeView--s-allow-rules" role="property"><title>The <literal>&quot;allow-rules&quot;</literal> style property</title>
<indexterm zone="GtkTreeView--s-allow-rules"><primary sortas="TreeView:allow-rules">GtkTreeView:allow-rules</primary></indexterm><programlisting>  &quot;allow-rules&quot;              <link linkend="gboolean">gboolean</link>              : Read</programlisting>
<para>Allow drawing of alternating color rows.</para><para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkTreeView--s-even-row-color" role="property"><title>The <literal>&quot;even-row-color&quot;</literal> style property</title>
<indexterm zone="GtkTreeView--s-even-row-color"><primary sortas="TreeView:even-row-color">GtkTreeView:even-row-color</primary></indexterm><programlisting>  &quot;even-row-color&quot;           <link linkend="GdkColor">GdkColor</link>*             : Read</programlisting>
<para>Color to use for even rows.</para></refsect2>
<refsect2 id="GtkTreeView--s-expander-size" role="property"><title>The <literal>&quot;expander-size&quot;</literal> style property</title>
<indexterm zone="GtkTreeView--s-expander-size"><primary sortas="TreeView:expander-size">GtkTreeView:expander-size</primary></indexterm><programlisting>  &quot;expander-size&quot;            <link linkend="gint">gint</link>                  : Read</programlisting>
<para>Size of the expander arrow.</para><para>Allowed values: &gt;= 0</para>
<para>Default value: 12</para>
</refsect2>
<refsect2 id="GtkTreeView--s-grid-line-pattern" role="property"><title>The <literal>&quot;grid-line-pattern&quot;</literal> style property</title>
<indexterm zone="GtkTreeView--s-grid-line-pattern"><primary sortas="TreeView:grid-line-pattern">GtkTreeView:grid-line-pattern</primary></indexterm><programlisting>  &quot;grid-line-pattern&quot;        <link linkend="gchar">gchar</link>*                : Read</programlisting>
<para>Dash pattern used to draw the tree view grid lines.</para><para>Default value: "\001\001"</para>
</refsect2>
<refsect2 id="GtkTreeView--s-grid-line-width" role="property"><title>The <literal>&quot;grid-line-width&quot;</literal> style property</title>
<indexterm zone="GtkTreeView--s-grid-line-width"><primary sortas="TreeView:grid-line-width">GtkTreeView:grid-line-width</primary></indexterm><programlisting>  &quot;grid-line-width&quot;          <link linkend="gint">gint</link>                  : Read</programlisting>
<para>Width, in pixels, of the tree view grid lines.</para><para>Allowed values: &gt;= 0</para>
<para>Default value: 1</para>
</refsect2>
<refsect2 id="GtkTreeView--s-horizontal-separator" role="property"><title>The <literal>&quot;horizontal-separator&quot;</literal> style property</title>
<indexterm zone="GtkTreeView--s-horizontal-separator"><primary sortas="TreeView:horizontal-separator">GtkTreeView:horizontal-separator</primary></indexterm><programlisting>  &quot;horizontal-separator&quot;     <link linkend="gint">gint</link>                  : Read</programlisting>
<para>Horizontal space between cells.  Must be an even number.</para><para>Allowed values: &gt;= 0</para>
<para>Default value: 2</para>
</refsect2>
<refsect2 id="GtkTreeView--s-indent-expanders" role="property"><title>The <literal>&quot;indent-expanders&quot;</literal> style property</title>
<indexterm zone="GtkTreeView--s-indent-expanders"><primary sortas="TreeView:indent-expanders">GtkTreeView:indent-expanders</primary></indexterm><programlisting>  &quot;indent-expanders&quot;         <link linkend="gboolean">gboolean</link>              : Read</programlisting>
<para>Make the expanders indented.</para><para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkTreeView--s-odd-row-color" role="property"><title>The <literal>&quot;odd-row-color&quot;</literal> style property</title>
<indexterm zone="GtkTreeView--s-odd-row-color"><primary sortas="TreeView:odd-row-color">GtkTreeView:odd-row-color</primary></indexterm><programlisting>  &quot;odd-row-color&quot;            <link linkend="GdkColor">GdkColor</link>*             : Read</programlisting>
<para>Color to use for odd rows.</para></refsect2>
<refsect2 id="GtkTreeView--s-row-ending-details" role="property"><title>The <literal>&quot;row-ending-details&quot;</literal> style property</title>
<indexterm zone="GtkTreeView--s-row-ending-details"><primary sortas="TreeView:row-ending-details">GtkTreeView:row-ending-details</primary></indexterm><programlisting>  &quot;row-ending-details&quot;       <link linkend="gboolean">gboolean</link>              : Read</programlisting>
<para>Enable extended row background theming.</para><para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkTreeView--s-tree-line-pattern" role="property"><title>The <literal>&quot;tree-line-pattern&quot;</literal> style property</title>
<indexterm zone="GtkTreeView--s-tree-line-pattern"><primary sortas="TreeView:tree-line-pattern">GtkTreeView:tree-line-pattern</primary></indexterm><programlisting>  &quot;tree-line-pattern&quot;        <link linkend="gchar">gchar</link>*                : Read</programlisting>
<para>Dash pattern used to draw the tree view lines.</para><para>Default value: "\001\001"</para>
</refsect2>
<refsect2 id="GtkTreeView--s-tree-line-width" role="property"><title>The <literal>&quot;tree-line-width&quot;</literal> style property</title>
<indexterm zone="GtkTreeView--s-tree-line-width"><primary sortas="TreeView:tree-line-width">GtkTreeView:tree-line-width</primary></indexterm><programlisting>  &quot;tree-line-width&quot;          <link linkend="gint">gint</link>                  : Read</programlisting>
<para>Width, in pixels, of the tree view lines.</para><para>Allowed values: &gt;= 0</para>
<para>Default value: 1</para>
</refsect2>
<refsect2 id="GtkTreeView--s-vertical-separator" role="property"><title>The <literal>&quot;vertical-separator&quot;</literal> style property</title>
<indexterm zone="GtkTreeView--s-vertical-separator"><primary sortas="TreeView:vertical-separator">GtkTreeView:vertical-separator</primary></indexterm><programlisting>  &quot;vertical-separator&quot;       <link linkend="gint">gint</link>                  : Read</programlisting>
<para>Vertical space between cells.  Must be an even number.</para><para>Allowed values: &gt;= 0</para>
<para>Default value: 2</para>
</refsect2>
</refsect1>

<refsect1 id="GtkTreeView.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="GtkTreeView-columns-changed" role="signal"><title>The <literal>&quot;columns-changed&quot;</literal> signal</title>
<indexterm zone="GtkTreeView-columns-changed"><primary sortas="TreeView::columns-changed">GtkTreeView::columns-changed</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last</programlisting>
<para>
The number of columns of the treeview has changed.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> the object on which the signal is emitted
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkTreeView-cursor-changed" role="signal"><title>The <literal>&quot;cursor-changed&quot;</literal> signal</title>
<indexterm zone="GtkTreeView-cursor-changed"><primary sortas="TreeView::cursor-changed">GtkTreeView::cursor-changed</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last</programlisting>
<para>
The position of the cursor (focused cell) has changed.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> the object on which the signal is emitted
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkTreeView-expand-collapse-cursor-row" role="signal"><title>The <literal>&quot;expand-collapse-cursor-row&quot;</literal> signal</title>
<indexterm zone="GtkTreeView-expand-collapse-cursor-row"><primary sortas="TreeView::expand-collapse-cursor-row">GtkTreeView::expand-collapse-cursor-row</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                                        <link linkend="gboolean">gboolean</link>     arg1,
                                                        <link linkend="gboolean">gboolean</link>     arg2,
                                                        <link linkend="gboolean">gboolean</link>     arg3,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last / Action</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg2</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg3</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkTreeView-move-cursor" role="signal"><title>The <literal>&quot;move-cursor&quot;</literal> signal</title>
<indexterm zone="GtkTreeView-move-cursor"><primary sortas="TreeView::move-cursor">GtkTreeView::move-cursor</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="GtkTreeView">GtkTreeView</link>    *treeview,
                                                        <link linkend="GtkMovementStep">GtkMovementStep</link> arg1,
                                                        <link linkend="gint">gint</link>            arg2,
                                                        <link linkend="gpointer">gpointer</link>        user_data)      : Run Last / Action</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg2</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkTreeView-row-activated" role="signal"><title>The <literal>&quot;row-activated&quot;</literal> signal</title>
<indexterm zone="GtkTreeView-row-activated"><primary sortas="TreeView::row-activated">GtkTreeView::row-activated</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkTreeView">GtkTreeView</link>       *tree_view,
                                                        <link linkend="GtkTreePath">GtkTreePath</link>       *path,
                                                        <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *column,
                                                        <link linkend="gpointer">gpointer</link>           user_data)      : Run Last / Action</programlisting>
<para>
The "row-activated" signal is emitted when the method
<link linkend="gtk-tree-view-row-activated"><function>gtk_tree_view_row_activated()</function></link> is called or the user double clicks 
a treeview row. It is also emitted when a non-editable row is 
selected and one of the keys: Space, Shift+Space, Return or 
Enter is pressed.
</para>
<para>
For selection handling refer to the <link linkend="TreeWidget">tree 
widget conceptual overview</link> as well as <link linkend="GtkTreeSelection"><type>GtkTreeSelection</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> the object on which the signal is emitted
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkTreePath"><type>GtkTreePath</type></link> for the activated row
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>column</parameter>&#160;:</term>
<listitem><simpara> the <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> in which the activation occurred
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkTreeView-row-collapsed" role="signal"><title>The <literal>&quot;row-collapsed&quot;</literal> signal</title>
<indexterm zone="GtkTreeView-row-collapsed"><primary sortas="TreeView::row-collapsed">GtkTreeView::row-collapsed</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                        <link linkend="GtkTreeIter">GtkTreeIter</link> *iter,
                                                        <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last</programlisting>
<para>
The given row has been collapsed (child nodes are hidden).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> the object on which the signal is emitted
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>iter</parameter>&#160;:</term>
<listitem><simpara> the tree iter of the collapsed row
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> a tree path that points to the row 
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkTreeView-row-expanded" role="signal"><title>The <literal>&quot;row-expanded&quot;</literal> signal</title>
<indexterm zone="GtkTreeView-row-expanded"><primary sortas="TreeView::row-expanded">GtkTreeView::row-expanded</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                        <link linkend="GtkTreeIter">GtkTreeIter</link> *iter,
                                                        <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last</programlisting>
<para>
The given row has been expanded (child nodes are shown).</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> the object on which the signal is emitted
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>iter</parameter>&#160;:</term>
<listitem><simpara> the tree iter of the expanded row
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> a tree path that points to the row 
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkTreeView-select-all" role="signal"><title>The <literal>&quot;select-all&quot;</literal> signal</title>
<indexterm zone="GtkTreeView-select-all"><primary sortas="TreeView::select-all">GtkTreeView::select-all</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last / Action</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkTreeView-select-cursor-parent" role="signal"><title>The <literal>&quot;select-cursor-parent&quot;</literal> signal</title>
<indexterm zone="GtkTreeView-select-cursor-parent"><primary sortas="TreeView::select-cursor-parent">GtkTreeView::select-cursor-parent</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last / Action</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkTreeView-select-cursor-row" role="signal"><title>The <literal>&quot;select-cursor-row&quot;</literal> signal</title>
<indexterm zone="GtkTreeView-select-cursor-row"><primary sortas="TreeView::select-cursor-row">GtkTreeView::select-cursor-row</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                                        <link linkend="gboolean">gboolean</link>     arg1,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last / Action</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>arg1</parameter>&#160;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkTreeView-set-scroll-adjustments" role="signal"><title>The <literal>&quot;set-scroll-adjustments&quot;</literal> signal</title>
<indexterm zone="GtkTreeView-set-scroll-adjustments"><primary sortas="TreeView::set-scroll-adjustments">GtkTreeView::set-scroll-adjustments</primary></indexterm><programlisting><link linkend="void">void</link>                user_function                      (<link linkend="GtkTreeView">GtkTreeView</link>   *horizontal,
                                                        <link linkend="GtkAdjustment">GtkAdjustment</link> *vertical,
                                                        <link linkend="GtkAdjustment">GtkAdjustment</link> *arg2,
                                                        <link linkend="gpointer">gpointer</link>       user_data)       : Run Last / Action</programlisting>
<para>
Set the scroll adjustments for the tree view. Usually scrolled containers
like <link linkend="GtkScrolledWindow"><type>GtkScrolledWindow</type></link> will emit this signal to connect two instances
of <link linkend="GtkScrollbar"><type>GtkScrollbar</type></link> to the scroll directions of the <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>horizontal</parameter>&#160;:</term>
<listitem><simpara> the horizontal <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>vertical</parameter>&#160;:</term>
<listitem><simpara> the vertical <link linkend="GtkAdjustment"><type>GtkAdjustment</type></link>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkTreeView-start-interactive-search" role="signal"><title>The <literal>&quot;start-interactive-search&quot;</literal> signal</title>
<indexterm zone="GtkTreeView-start-interactive-search"><primary sortas="TreeView::start-interactive-search">GtkTreeView::start-interactive-search</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last / Action</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkTreeView-test-collapse-row" role="signal"><title>The <literal>&quot;test-collapse-row&quot;</literal> signal</title>
<indexterm zone="GtkTreeView-test-collapse-row"><primary sortas="TreeView::test-collapse-row">GtkTreeView::test-collapse-row</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                        <link linkend="GtkTreeIter">GtkTreeIter</link> *iter,
                                                        <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last</programlisting>
<para>
The given row is about to be collapsed (hide its children nodes). Use this
signal if you need to control the collapsibility of individual rows.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> the object on which the signal is emitted
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>iter</parameter>&#160;:</term>
<listitem><simpara> the tree iter of the row to collapse
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> a tree path that points to the row 
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> to allow collapsing, <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> to reject
</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkTreeView-test-expand-row" role="signal"><title>The <literal>&quot;test-expand-row&quot;</literal> signal</title>
<indexterm zone="GtkTreeView-test-expand-row"><primary sortas="TreeView::test-expand-row">GtkTreeView::test-expand-row</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                                        <link linkend="GtkTreeIter">GtkTreeIter</link> *iter,
                                                        <link linkend="GtkTreePath">GtkTreePath</link> *path,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last</programlisting>
<para>
The given row is about to be expanded (show its children nodes). Use this
signal if you need to control the expandability of individual rows.</para>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara> the object on which the signal is emitted
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>iter</parameter>&#160;:</term>
<listitem><simpara> the tree iter of the row to expand
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>path</parameter>&#160;:</term>
<listitem><simpara> a tree path that points to the row 
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara> <link linkend="FALSE--CAPS"><literal>FALSE</literal></link> to allow expansion, <link linkend="TRUE--CAPS"><literal>TRUE</literal></link> to reject
</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkTreeView-toggle-cursor-row" role="signal"><title>The <literal>&quot;toggle-cursor-row&quot;</literal> signal</title>
<indexterm zone="GtkTreeView-toggle-cursor-row"><primary sortas="TreeView::toggle-cursor-row">GtkTreeView::toggle-cursor-row</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last / Action</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2><refsect2 id="GtkTreeView-unselect-all" role="signal"><title>The <literal>&quot;unselect-all&quot;</literal> signal</title>
<indexterm zone="GtkTreeView-unselect-all"><primary sortas="TreeView::unselect-all">GtkTreeView::unselect-all</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>            user_function                      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                                        <link linkend="gpointer">gpointer</link>     user_data)      : Run Last / Action</programlisting>
<para>
</para><variablelist role="params">
<varlistentry><term><parameter>tree_view</parameter>&#160;:</term>
<listitem><simpara>the object which received the signal.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>user_data</parameter>&#160;:</term>
<listitem><simpara>user data set when the signal handler was connected.</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis>&#160;:</term><listitem><simpara>
</simpara></listitem></varlistentry>
</variablelist></refsect2>
</refsect1>


<refsect1 id="GtkTreeView.see-also">
<title>See Also</title>
<para>
<link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link>, <link linkend="GtkTreeSelection"><type>GtkTreeSelection</type></link>, <link linkend="GtkTreeDnd"><type>GtkTreeDnd</type></link>, <link linkend="GtkTreeMode"><type>GtkTreeMode</type></link>, <link linkend="GtkTreeSortable"><type>GtkTreeSortable</type></link>, <link linkend="GtkTreeModelSort"><type>GtkTreeModelSort</type></link>, <link linkend="GtkListStore"><type>GtkListStore</type></link>, <link linkend="GtkTreeStore"><type>GtkTreeStore</type></link>, <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link>, <link linkend="GtkCellEditable"><type>GtkCellEditable</type></link>, <link linkend="GtkCellRendererPixbuf"><type>GtkCellRendererPixbuf</type></link>, <link linkend="GtkCellRendererText"><type>GtkCellRendererText</type></link>, <link linkend="GtkCellRendererToggle"><type>GtkCellRendererToggle</type></link>
</para>
</refsect1>

</refentry>
