<refentry id="GtkTreeView">
<refmeta>
<refentrytitle>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><title>Synopsis</title>
<synopsis>

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


struct      <link linkend="GtkTreeView-struct">GtkTreeView</link>;
enum        <link linkend="GtkTreeViewDropPosition">GtkTreeViewDropPosition</link>;
struct      <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);
void        (<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="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);
void        <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);
void        <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);
void        <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);
void        <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);
void        <link linkend="gtk-tree-view-columns-autosize">gtk_tree_view_columns_autosize</link>  (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
void        <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);
void        <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);
void        <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);
void        <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);
void        <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="GtkDestroyNotify">GtkDestroyNotify</link> destroy);
void        <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);
void        <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);
void        <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);
void        <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);
void        <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);
void        <link linkend="gtk-tree-view-expand-all">gtk_tree_view_expand_all</link>        (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
void        <link linkend="gtk-tree-view-collapse-all">gtk_tree_view_collapse_all</link>      (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
<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);
void        <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);
void        <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);
void        <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);
void        <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);
void        <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="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);
void        <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);
void        <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);
void        <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);
void        <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);
void        <link linkend="gtk-tree-view-unset-rows-drag-source">gtk_tree_view_unset_rows_drag_source</link>
                                            (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
void        <link linkend="gtk-tree-view-unset-rows-drag-dest">gtk_tree_view_unset_rows_drag_dest</link>
                                            (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);
void        <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);
void        <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);
void        <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);
void        <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);
void        <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="GtkDestroyNotify">GtkDestroyNotify</link> search_destroy);
void        (<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);
void        <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="GtkDestroyNotify">GtkDestroyNotify</link> destroy);


</synopsis>
</refsynopsisdiv>

<refsect1>
<title>Object Hierarchy</title>
<synopsis>

  <link linkend="GObject">GObject</link>
   +----<link linkend="GtkObject">GtkObject</link>
         +----<link linkend="GtkWidget">GtkWidget</link>
               +----<link linkend="GtkContainer">GtkContainer</link>
                     +----GtkTreeView
</synopsis>

</refsect1>

<refsect1>
<title>Properties</title>
<synopsis>

  &quot;<link linkend="GtkTreeView--model">model</link>&quot;                <link linkend="GtkTreeModel">GtkTreeModel</link>         : Read / Write
  &quot;<link linkend="GtkTreeView--hadjustment">hadjustment</link>&quot;          <link linkend="GtkAdjustment">GtkAdjustment</link>        : Read / Write
  &quot;<link linkend="GtkTreeView--vadjustment">vadjustment</link>&quot;          <link linkend="GtkAdjustment">GtkAdjustment</link>        : Read / Write
  &quot;<link linkend="GtkTreeView--headers-visible">headers-visible</link>&quot;      <link linkend="gboolean">gboolean</link>             : Read / Write
  &quot;<link linkend="GtkTreeView--headers-clickable">headers-clickable</link>&quot;    <link linkend="gboolean">gboolean</link>             : Write
  &quot;<link linkend="GtkTreeView--expander-column">expander-column</link>&quot;      <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link>    : Read / Write
  &quot;<link linkend="GtkTreeView--reorderable">reorderable</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--enable-search">enable-search</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
</synopsis>
</refsect1>

<refsect1>
<title>Signal Prototypes</title>
<synopsis>

&quot;<link linkend="GtkTreeView-columns-changed">columns-changed</link>&quot;
            void        user_function      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTreeView-cursor-changed">cursor-changed</link>&quot;
            void        user_function      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTreeView-expand-collapse-cursor-row">expand-collapse-cursor-row</link>&quot;
            void        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);
&quot;<link linkend="GtkTreeView-move-cursor">move-cursor</link>&quot;
            <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);
&quot;<link linkend="GtkTreeView-row-activated">row-activated</link>&quot;
            void        user_function      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="GtkTreePath">GtkTreePath</link> arg1,
                                            <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTreeView-row-collapsed">row-collapsed</link>&quot;
            void        user_function      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="GtkTreeIter">GtkTreeIter</link> arg1,
                                            <link linkend="GtkTreePath">GtkTreePath</link> arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTreeView-row-expanded">row-expanded</link>&quot;
            void        user_function      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="GtkTreeIter">GtkTreeIter</link> arg1,
                                            <link linkend="GtkTreePath">GtkTreePath</link> arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTreeView-select-all">select-all</link>&quot;
            void        user_function      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTreeView-select-cursor-parent">select-cursor-parent</link>&quot;
            void        user_function      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTreeView-select-cursor-row">select-cursor-row</link>&quot;
            void        user_function      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="gboolean">gboolean</link> arg1,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTreeView-set-scroll-adjustments">set-scroll-adjustments</link>&quot;
            void        user_function      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="GtkAdjustment">GtkAdjustment</link> *arg1,
                                            <link linkend="GtkAdjustment">GtkAdjustment</link> *arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTreeView-start-interactive-search">start-interactive-search</link>&quot;
            void        user_function      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTreeView-test-collapse-row">test-collapse-row</link>&quot;
            <link linkend="gboolean">gboolean</link>    user_function      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="GtkTreeIter">GtkTreeIter</link> arg1,
                                            <link linkend="GtkTreePath">GtkTreePath</link> arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTreeView-test-expand-row">test-expand-row</link>&quot;
            <link linkend="gboolean">gboolean</link>    user_function      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="GtkTreeIter">GtkTreeIter</link> arg1,
                                            <link linkend="GtkTreePath">GtkTreePath</link> arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTreeView-toggle-cursor-row">toggle-cursor-row</link>&quot;
            void        user_function      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="gpointer">gpointer</link> user_data);
&quot;<link linkend="GtkTreeView-unselect-all">unselect-all</link>&quot;
            void        user_function      (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="gpointer">gpointer</link> user_data);
</synopsis>
</refsect1>


<refsect1>
<title>Description</title>
<para>
Widget that displays any object that implements the <link
linkend="GtkTreeModel">GtkTreeModel</link> interface.
</para>
</refsect1>

<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="GtkTreeView-struct">struct GtkTreeView</title>
<programlisting>struct GtkTreeView;</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="GtkTreeViewDropPosition">enum GtkTreeViewDropPosition</title>
<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></refsect2>
<refsect2>
<title><anchor id="GtkTreeViewPrivate">struct GtkTreeViewPrivate</title>
<programlisting>struct GtkTreeViewPrivate;</programlisting>
<para>
A private struct for internal use only.  The definition of this
structure is not publically available.
</para></refsect2>
<refsect2>
<title><anchor id="GtkTreeViewColumnDropFunc">GtkTreeViewColumnDropFunc ()</title>
<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 <literal>TRUE</literal> if the spot is a valid drop
spot.  Please note that returning <literal>TRUE</literal> does not actually indicate that
the column drop was made, but is meant only to indicate a possible drop
spot to the user.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry>A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>column</parameter>&nbsp;:</entry>
<entry>The <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> being dragged
</entry></row>
<row><entry align="right"><parameter>prev_column</parameter>&nbsp;:</entry>
<entry>A <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> on one side of <parameter>column</parameter>
</entry></row>
<row><entry align="right"><parameter>next_column</parameter>&nbsp;:</entry>
<entry>A <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> on the other side of <parameter>column</parameter>
</entry></row>
<row><entry align="right"><parameter>data</parameter>&nbsp;:</entry>
<entry>user data
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry><literal>TRUE</literal>, if <link linkend="column">column</link> can be dropped in this spot


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GtkTreeViewMappingFunc">GtkTreeViewMappingFunc ()</title>
<programlisting>void        (*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">gtk_tree_view_map_expanded_rows</link>.
</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry>A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry>The path that's expanded
</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GtkTreeViewSearchEqualFunc">GtkTreeViewSearchEqualFunc ()</title>
<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>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>model</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>column</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>key</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>iter</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>search_data</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-new">gtk_tree_view_new ()</title>
<programlisting><link linkend="GtkWidget">GtkWidget</link>*  gtk_tree_view_new               (void);</programlisting>
<para>
Creates a new <link linkend="GtkTreeView">GtkTreeView</link> widget.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> A newly created <link linkend="GtkTreeView">GtkTreeView</link> widget.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-new-with-model">gtk_tree_view_new_with_model ()</title>
<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">GtkTreeView</link> widget with the model initialized to <parameter>model</parameter>.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>model</parameter>&nbsp;:</entry>
<entry> the model.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> A newly created <link linkend="GtkTreeView">GtkTreeView</link> widget.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-model">gtk_tree_view_get_model ()</title>
<programlisting><link linkend="GtkTreeModel">GtkTreeModel</link>* gtk_tree_view_get_model       (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns the model the the <link linkend="GtkTreeView">GtkTreeView</link> is based on.  Returns <literal>NULL</literal> if the
model is unset.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> A <link linkend="GtkTreeModel">GtkTreeModel</link>, or <literal>NULL</literal> if none is currently being used.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-set-model">gtk_tree_view_set_model ()</title>
<programlisting>void        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">GtkTreeView</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 <literal>NULL</literal>, then
it will unset the old model.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeNode">GtkTreeNode</link>.
</entry></row>
<row><entry align="right"><parameter>model</parameter>&nbsp;:</entry>
<entry> The model.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-selection">gtk_tree_view_get_selection ()</title>
<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">GtkTreeSelection</link> associated with <parameter>tree_view</parameter>.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> A <link linkend="GtkTreeSelection">GtkTreeSelection</link> object.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-hadjustment">gtk_tree_view_get_hadjustment ()</title>
<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">GtkAdjustment</link> currently being used for the horizontal aspect.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> A <link linkend="GtkAdjustment">GtkAdjustment</link> object, or <literal>NULL</literal> if none is currently being
used.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-set-hadjustment">gtk_tree_view_set_hadjustment ()</title>
<programlisting>void        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">GtkAdjustment</link> for the current horizontal aspect.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>adjustment</parameter>&nbsp;:</entry>
<entry> The <link linkend="GtkAdjustment">GtkAdjustment</link> to set, or <literal>NULL</literal>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-vadjustment">gtk_tree_view_get_vadjustment ()</title>
<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">GtkAdjustment</link> currently being used for the vertical aspect.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> A <link linkend="GtkAdjustment">GtkAdjustment</link> object, or <literal>NULL</literal> if none is currently being
used.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-set-vadjustment">gtk_tree_view_set_vadjustment ()</title>
<programlisting>void        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">GtkAdjustment</link> for the current vertical aspect.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>adjustment</parameter>&nbsp;:</entry>
<entry> The <link linkend="GtkAdjustment">GtkAdjustment</link> to set, or <literal>NULL</literal>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-headers-visible">gtk_tree_view_get_headers_visible ()</title>
<programlisting><link linkend="gboolean">gboolean</link>    gtk_tree_view_get_headers_visible
                                            (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>
Returns <literal>TRUE</literal> if the headers on the <parameter>tree_view</parameter> are visible.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> Whether the headers are visible or not.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-set-headers-visible">gtk_tree_view_set_headers_visible ()</title>
<programlisting>void        gtk_tree_view_set_headers_visible
                                            (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view,
                                             <link linkend="gboolean">gboolean</link> headers_visible);</programlisting>
<para>
Sets the the visibility state of the headers.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>.
</entry></row>
<row><entry align="right"><parameter>headers_visible</parameter>&nbsp;:</entry>
<entry> <literal>TRUE</literal> if the headers are visible
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-columns-autosize">gtk_tree_view_columns_autosize ()</title>
<programlisting>void        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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-set-headers-clickable">gtk_tree_view_set_headers_clickable ()</title>
<programlisting>void        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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>.
</entry></row>
<row><entry align="right"><parameter>setting</parameter>&nbsp;:</entry>
<entry> <literal>TRUE</literal> if the columns are clickable.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-set-rules-hint">gtk_tree_view_set_rules_hint ()</title>
<programlisting>void        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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>setting</parameter>&nbsp;:</entry>
<entry> <literal>TRUE</literal> if the tree requires reading across rows
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-rules-hint">gtk_tree_view_get_rules_hint ()</title>
<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">gtk_tree_view_set_rules_hint</link>().</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if rules are useful for the user of this tree
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-append-column">gtk_tree_view_append_column ()</title>
<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.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>.
</entry></row>
<row><entry align="right"><parameter>column</parameter>&nbsp;:</entry>
<entry> The <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> to add.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> The number of columns in <parameter>tree_view</parameter> after appending.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-remove-column">gtk_tree_view_remove_column ()</title>
<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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>.
</entry></row>
<row><entry align="right"><parameter>column</parameter>&nbsp;:</entry>
<entry> The <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> to remove.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> The number of columns in <parameter>tree_view</parameter> after removing.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-insert-column">gtk_tree_view_insert_column ()</title>
<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.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>.
</entry></row>
<row><entry align="right"><parameter>column</parameter>&nbsp;:</entry>
<entry> The <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> to be inserted.
</entry></row>
<row><entry align="right"><parameter>position</parameter>&nbsp;:</entry>
<entry> The position to insert <parameter>column</parameter> in.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> The number of columns in <parameter>tree_view</parameter> after insertion.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-insert-column-with-attributes">gtk_tree_view_insert_column_with_attributes ()</title>
<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">GtkTreeViewColumn</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.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>position</parameter>&nbsp;:</entry>
<entry> The position to insert the new column in.
</entry></row>
<row><entry align="right"><parameter>title</parameter>&nbsp;:</entry>
<entry> The title to set the header to.
</entry></row>
<row><entry align="right"><parameter>cell</parameter>&nbsp;:</entry>
<entry> The <link linkend="GtkCellRenderer">GtkCellRenderer</link>.
</entry></row>
<row><entry align="right"><parameter>...</parameter>&nbsp;:</entry>
<entry> A <literal>NULL</literal>-terminated list of attributes.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> The number of columns in <parameter>tree_view</parameter> after insertion.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-insert-column-with-data-func">gtk_tree_view_insert_column_with_data_func ()</title>
<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">GtkTreeView</link>
with the given cell renderer and a <link linkend="GtkCellDataFunc">GtkCellDataFunc</link> to set cell renderer
attributes (normally using data from the model). See also
<link linkend="gtk-tree-view-column-set-cell-data-func">gtk_tree_view_column_set_cell_data_func</link>(), <link linkend="gtk-tree-view-column-pack-start">gtk_tree_view_column_pack_start</link>().</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>position</parameter>&nbsp;:</entry>
<entry> Position to insert, -1 for append
</entry></row>
<row><entry align="right"><parameter>title</parameter>&nbsp;:</entry>
<entry> column title
</entry></row>
<row><entry align="right"><parameter>cell</parameter>&nbsp;:</entry>
<entry> cell renderer for column
</entry></row>
<row><entry align="right"><parameter>func</parameter>&nbsp;:</entry>
<entry> function to set attributes of cell renderer
</entry></row>
<row><entry align="right"><parameter>data</parameter>&nbsp;:</entry>
<entry> data for <parameter>func</parameter>
</entry></row>
<row><entry align="right"><parameter>dnotify</parameter>&nbsp;:</entry>
<entry> destroy notifier for <parameter>data</parameter>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> number of columns in the tree view post-insert
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-column">gtk_tree_view_get_column ()</title>
<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">GtkTreeViewColumn</link> at the given position in the <link linkend="tree-view">tree_view</link>.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>.
</entry></row>
<row><entry align="right"><parameter>n</parameter>&nbsp;:</entry>
<entry> The position of the column, counting from 0.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> The <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link>, or <literal>NULL</literal> if the position is outside the
range of columns.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-columns">gtk_tree_view_get_columns ()</title>
<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">GList</link> of all the <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> s currently in <parameter>tree_view</parameter>.
The returned list must be freed with <link linkend="g-list-free">g_list_free</link>().</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> A list of <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> s
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-move-column-after">gtk_tree_view_move_column_after ()</title>
<programlisting>void        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 <literal>NULL</literal>, then
<parameter>column</parameter> is placed in the first position.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>column</parameter>&nbsp;:</entry>
<entry> The <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> to be moved.
</entry></row>
<row><entry align="right"><parameter>base_column</parameter>&nbsp;:</entry>
<entry> The <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> to be moved relative to, or <literal>NULL</literal>.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-set-expander-column">gtk_tree_view_set_expander_column ()</title>
<programlisting>void        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 <literal>NULL</literal>, then the expander arrow is always at the first visible
column.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>column</parameter>&nbsp;:</entry>
<entry> <literal>NULL</literal>, or the column to draw the expander arrow at.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-expander-column">gtk_tree_view_get_expander_column ()</title>
<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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> The expander column.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-set-column-drag-function">gtk_tree_view_set_column_drag_function ()</title>
<programlisting>void        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="GtkDestroyNotify">GtkDestroyNotify</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">GtkTreeViewColumn</link> being
dragged, the two <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> s determining the drop spot, and
<parameter>user_data</parameter>.  If either of the <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> arguments for the drop spot
are <literal>NULL</literal>, then they indicate an edge.  If <parameter>func</parameter> is set to be <literal>NULL</literal>, then
<parameter>tree_view</parameter> reverts to the default behavior of allowing all columns to be
dropped everywhere.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>.
</entry></row>
<row><entry align="right"><parameter>func</parameter>&nbsp;:</entry>
<entry> A function to determine which columns are reorderable, or <literal>NULL</literal>.
</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry> User data to be passed to <parameter>func</parameter>, or <literal>NULL</literal>
</entry></row>
<row><entry align="right"><parameter>destroy</parameter>&nbsp;:</entry>
<entry> Destroy notifier for <parameter>user_data</parameter>, or <literal>NULL</literal>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-scroll-to-point">gtk_tree_view_scroll_to_point ()</title>
<programlisting>void        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 window 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">gtk_tree_view_scroll_to_cell</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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>tree_x</parameter>&nbsp;:</entry>
<entry> X coordinate of new top-left pixel of visible area, or -1
</entry></row>
<row><entry align="right"><parameter>tree_y</parameter>&nbsp;:</entry>
<entry> Y coordinate of new top-left pixel of visible area, or -1
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-scroll-to-cell">gtk_tree_view_scroll_to_cell ()</title>
<programlisting>void        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 <literal>NULL</literal>, then no horizontal scrolling occurs.  Likewise,
if <parameter>path</parameter> is <literal>NULL</literal> no vertical scrolling occurs.  At a minimum, one of <parameter>column</parameter>
or <parameter>path</parameter> need to be non-<literal>NULL</literal>.  <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 <literal>FALSE</literal>, 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 it's 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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>.
</entry></row>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> The path of the row to move to, or <literal>NULL</literal>.
</entry></row>
<row><entry align="right"><parameter>column</parameter>&nbsp;:</entry>
<entry> The <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> to move horizontally to, or <literal>NULL</literal>.
</entry></row>
<row><entry align="right"><parameter>use_align</parameter>&nbsp;:</entry>
<entry> whether to use alignment arguments, or <literal>FALSE</literal>.
</entry></row>
<row><entry align="right"><parameter>row_align</parameter>&nbsp;:</entry>
<entry> The vertical alignment of the row specified by <parameter>path</parameter>.
</entry></row>
<row><entry align="right"><parameter>col_align</parameter>&nbsp;:</entry>
<entry> The horizontal alignment of the column specified by <parameter>column</parameter>.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-set-cursor">gtk_tree_view_set_cursor ()</title>
<programlisting>void        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>column</parameter> is not <literal>NULL</literal>, then focus is given to the column specified by it.
Additionally, if <parameter>column</parameter> is specified, and <parameter>start_editing</parameter> is <literal>TRUE</literal>, 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>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreePath">GtkTreePath</link>
</entry></row>
<row><entry align="right"><parameter>focus_column</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link>, or <literal>NULL</literal>
</entry></row>
<row><entry align="right"><parameter>start_editing</parameter>&nbsp;:</entry>
<entry> <literal>TRUE</literal> if the specified cell should start being edited.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-cursor">gtk_tree_view_get_cursor ()</title>
<programlisting>void        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 <literal>NULL</literal>.  If no column
currently has focus, then *<parameter>focus_column</parameter> will be <literal>NULL</literal>.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> A pointer to be filled with the current cursor path, or <literal>NULL</literal>
</entry></row>
<row><entry align="right"><parameter>focus_column</parameter>&nbsp;:</entry>
<entry> A pointer to be filled with the current focus column, or <literal>NULL</literal>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-row-activated">gtk_tree_view_row_activated ()</title>
<programlisting>void        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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> The <link linkend="GtkTreePath">GtkTreePath</link> to be activated.
</entry></row>
<row><entry align="right"><parameter>column</parameter>&nbsp;:</entry>
<entry> The <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> to be activated.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-expand-all">gtk_tree_view_expand_all ()</title>
<programlisting>void        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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-collapse-all">gtk_tree_view_collapse_all ()</title>
<programlisting>void        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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-expand-row">gtk_tree_view_expand_row ()</title>
<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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> path to a row
</entry></row>
<row><entry align="right"><parameter>open_all</parameter>&nbsp;:</entry>
<entry> whether to recursively expand, or just expand immediate children
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if the row existed and had children
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-collapse-row">gtk_tree_view_collapse_row ()</title>
<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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> path to a row in the <parameter>tree_view</parameter>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if the row was collapsed.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-map-expanded-rows">gtk_tree_view_map_expanded_rows ()</title>
<programlisting>void        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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>func</parameter>&nbsp;:</entry>
<entry> A function to be called
</entry></row>
<row><entry align="right"><parameter>data</parameter>&nbsp;:</entry>
<entry> User data to be passed to the function.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-row-expanded">gtk_tree_view_row_expanded ()</title>
<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 <literal>TRUE</literal> if the node pointed to by <parameter>path</parameter> is expanded in <parameter>tree_view</parameter>.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>.
</entry></row>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreePath">GtkTreePath</link> to test expansion state.
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if <link linkend="path">path</link> is expanded.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-set-reorderable">gtk_tree_view_set_reorderable ()</title>
<programlisting>void        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">GtkDragSourceIface</link> and the <link linkend="GtkDragDestIface">GtkDragDestIface</link>.  Both
<link linkend="GtkTreeStore">GtkTreeStore</link> and <link linkend="GtkListStore">GtkListStore</link> support these.  If <parameter>reorderable</parameter> is <literal>TRUE</literal>, 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
signals.
</para>
<para>
This function does not give you any degree of control over the order -- any
reorderering is allowed.  If more control is needed, you should probably
handle drag and drop manually.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>.
</entry></row>
<row><entry align="right"><parameter>reorderable</parameter>&nbsp;:</entry>
<entry> <literal>TRUE</literal>, if the tree can be reordered.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-reorderable">gtk_tree_view_get_reorderable ()</title>
<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">gtk_tree_view_set_reorderable</link>().</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if the tree can be reordered.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-path-at-pos">gtk_tree_view_get_path_at_pos ()</title>
<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 widget coordinates.  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 event->window ==
<link linkend="gtk-tree-view-get-bin">gtk_tree_view_get_bin</link>(). It is primarily for things like popup menus.
If <parameter>path</parameter> is non-<literal>NULL</literal>, then it will be filled with the <link linkend="GtkTreePath">GtkTreePath</link> at that
point.  This path should be freed with <link linkend="gtk-tree-path-free">gtk_tree_path_free</link>().  If <parameter>column</parameter>
is non-<literal>NULL</literal>, 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">gtk_cell_renderer_render</link>()).  This
function is only meaningful if <parameter>tree_view</parameter> is realized.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>.
</entry></row>
<row><entry align="right"><parameter>x</parameter>&nbsp;:</entry>
<entry> The x position to be identified.
</entry></row>
<row><entry align="right"><parameter>y</parameter>&nbsp;:</entry>
<entry> The y position to be identified.
</entry></row>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> A pointer to a <link linkend="GtkTreePath">GtkTreePath</link> pointer to be filled in, or <literal>NULL</literal>
</entry></row>
<row><entry align="right"><parameter>column</parameter>&nbsp;:</entry>
<entry> A pointer to a <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> pointer to be filled in, or <literal>NULL</literal>
</entry></row>
<row><entry align="right"><parameter>cell_x</parameter>&nbsp;:</entry>
<entry> A pointer where the X coordinate relative to the cell can be placed, or <literal>NULL</literal>
</entry></row>
<row><entry align="right"><parameter>cell_y</parameter>&nbsp;:</entry>
<entry> A pointer where the Y coordinate relative to the cell can be placed, or <literal>NULL</literal>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> <literal>TRUE</literal> if a row exists at that coordinate.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-cell-area">gtk_tree_view_get_cell_area ()</title>
<programlisting>void        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 tree 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
<literal>NULL</literal>, 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 <literal>NULL</literal>, 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">gtk_cell_renderer_render</link>().  This function is only valid if <link linkend="tree-view">tree_view</link> is
realized.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreePath">GtkTreePath</link> for the row, or <literal>NULL</literal> to get only horizontal coordinates
</entry></row>
<row><entry align="right"><parameter>column</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> for the column, or <literal>NULL</literal> to get only vertical coordiantes
</entry></row>
<row><entry align="right"><parameter>rect</parameter>&nbsp;:</entry>
<entry> rectangle to fill with cell rect
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-background-area">gtk_tree_view_get_background_area ()</title>
<programlisting>void        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 tree 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
<literal>NULL</literal>, 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 <literal>NULL</literal>, 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">gtk_cell_renderer_render</link>().  These background
areas tile to cover the entire tree window (except for the area used for
header buttons). Contrast with the <parameter>cell_area</parameter>, returned by
<link linkend="gtk-tree-view-get-cell-area">gtk_tree_view_get_cell_area</link>(), which returns only the cell itself, excluding
surrounding borders and the tree expander area.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreePath">GtkTreePath</link> for the row, or <literal>NULL</literal> to get only horizontal coordinates
</entry></row>
<row><entry align="right"><parameter>column</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> for the column, or <literal>NULL</literal> to get only vertical coordiantes
</entry></row>
<row><entry align="right"><parameter>rect</parameter>&nbsp;:</entry>
<entry> rectangle to fill with cell background rect
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-visible-rect">gtk_tree_view_get_visible_rect ()</title>
<programlisting>void        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 widget coordinates with
<link linkend="gtk-tree-view-tree-to-widget-coords">gtk_tree_view_tree_to_widget_coords</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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>visible_rect</parameter>&nbsp;:</entry>
<entry> rectangle to fill
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-bin-window">gtk_tree_view_get_bin_window ()</title>
<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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> A <link linkend="GdkWindow">GdkWindow</link>, or <literal>NULL</literal> when <parameter>tree_view</parameter> hasn't been realized yet
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-widget-to-tree-coords">gtk_tree_view_widget_to_tree_coords ()</title>
<programlisting>void        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>
<para>
Converts widget coordinates to coordinates for the
tree window (the full scrollable area of the tree).</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>wx</parameter>&nbsp;:</entry>
<entry> widget X coordinate
</entry></row>
<row><entry align="right"><parameter>wy</parameter>&nbsp;:</entry>
<entry> widget Y coordinate
</entry></row>
<row><entry align="right"><parameter>tx</parameter>&nbsp;:</entry>
<entry> return location for tree X coordinate
</entry></row>
<row><entry align="right"><parameter>ty</parameter>&nbsp;:</entry>
<entry> return location for tree Y coordinate
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-tree-to-widget-coords">gtk_tree_view_tree_to_widget_coords ()</title>
<programlisting>void        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>
<para>
Converts tree coordinates (coordinates in full scrollable area of the tree)
to widget coordinates.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>tx</parameter>&nbsp;:</entry>
<entry> tree X coordinate
</entry></row>
<row><entry align="right"><parameter>ty</parameter>&nbsp;:</entry>
<entry> tree Y coordinate
</entry></row>
<row><entry align="right"><parameter>wx</parameter>&nbsp;:</entry>
<entry> return location for widget X coordinate
</entry></row>
<row><entry align="right"><parameter>wy</parameter>&nbsp;:</entry>
<entry> return location for widget Y coordinate
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-enable-model-drag-dest">gtk_tree_view_enable_model_drag_dest ()</title>
<programlisting>void        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>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>targets</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>n_targets</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>actions</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-enable-model-drag-source">gtk_tree_view_enable_model_drag_source ()</title>
<programlisting>void        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>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>start_button_mask</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>targets</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>n_targets</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>actions</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-unset-rows-drag-source">gtk_tree_view_unset_rows_drag_source ()</title>
<programlisting>void        gtk_tree_view_unset_rows_drag_source
                                            (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-unset-rows-drag-dest">gtk_tree_view_unset_rows_drag_dest ()</title>
<programlisting>void        gtk_tree_view_unset_rows_drag_dest
                                            (<link linkend="GtkTreeView">GtkTreeView</link> *tree_view);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-set-drag-dest-row">gtk_tree_view_set_drag_dest_row ()</title>
<programlisting>void        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>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>pos</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-drag-dest-row">gtk_tree_view_get_drag_dest_row ()</title>
<programlisting>void        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>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>pos</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-dest-row-at-pos">gtk_tree_view_get_dest_row_at_pos ()</title>
<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>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>drag_x</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>drag_y</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>pos</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-create-row-drag-icon">gtk_tree_view_create_row_drag_icon ()</title>
<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">GdkPixmap</link> representation of the row at <parameter>path</parameter>.  This image is used
for a drag icon.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry> a <link linkend="GtkTreePath">GtkTreePath</link> in <parameter>tree_view</parameter>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> a newly-allocated pixmap of the drag icon.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-set-enable-search">gtk_tree_view_set_enable_search ()</title>
<programlisting>void        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.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>enable_search</parameter>&nbsp;:</entry>
<entry> <literal>TRUE</literal>, if the user can search interactively
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-enable-search">gtk_tree_view_get_enable_search ()</title>
<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 interactive searching.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> whether or not to let the user search interactively
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-search-column">gtk_tree_view_get_search_column ()</title>
<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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> the column the interactive search code searches in.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-set-search-column">gtk_tree_view_set_search_column ()</title>
<programlisting>void        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.  Additionally, turns on interactive searching.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>column</parameter>&nbsp;:</entry>
<entry> the column to search in
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-get-search-equal-func">gtk_tree_view_get_search_equal_func ()</title>
<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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry> the currently used compare function for the search code.
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-set-search-equal-func">gtk_tree_view_set_search_equal_func ()</title>
<programlisting>void        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="GtkDestroyNotify">GtkDestroyNotify</link> search_destroy);</programlisting>
<para>
Sets the compare function for the interactive search capabilities.</para>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>search_equal_func</parameter>&nbsp;:</entry>
<entry> the compare function to use during the search
</entry></row>
<row><entry align="right"><parameter>search_user_data</parameter>&nbsp;:</entry>
<entry> user data to pass to <parameter>search_equal_func</parameter>, or <literal>NULL</literal>
</entry></row>
<row><entry align="right"><parameter>search_destroy</parameter>&nbsp;:</entry>
<entry> Destroy notifier for <parameter>search_user_data</parameter>, or <literal>NULL</literal>
</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="GtkTreeDestroyCountFunc">GtkTreeDestroyCountFunc ()</title>
<programlisting>void        (*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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>path</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>children</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>


</entry></row>
</tbody></tgroup></informaltable></refsect2>
<refsect2>
<title><anchor id="gtk-tree-view-set-destroy-count-func">gtk_tree_view_set_destroy_count_func ()</title>
<programlisting>void        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="GtkDestroyNotify">GtkDestroyNotify</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><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>tree_view</parameter>&nbsp;:</entry>
<entry> A <link linkend="GtkTreeView">GtkTreeView</link>
</entry></row>
<row><entry align="right"><parameter>func</parameter>&nbsp;:</entry>
<entry> Function to be called when a view row is destroyed, or <literal>NULL</literal>
</entry></row>
<row><entry align="right"><parameter>data</parameter>&nbsp;:</entry>
<entry> User data to be passed to <parameter>func</parameter>, or <literal>NULL</literal>
</entry></row>
<row><entry align="right"><parameter>destroy</parameter>&nbsp;:</entry>
<entry> Destroy notifier for <parameter>data</parameter>, or <literal>NULL</literal>
</entry></row>
</tbody></tgroup></informaltable></refsect2>

</refsect1>
<refsect1>
<title>Properties</title>
<variablelist>
<varlistentry><term><anchor id="GtkTreeView--model">&quot;<literal>model</literal>&quot; (<link linkend="GtkTreeModel">GtkTreeModel</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTreeView--hadjustment">&quot;<literal>hadjustment</literal>&quot; (<link linkend="GtkAdjustment">GtkAdjustment</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTreeView--vadjustment">&quot;<literal>vadjustment</literal>&quot; (<link linkend="GtkAdjustment">GtkAdjustment</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTreeView--headers-visible">&quot;<literal>headers-visible</literal>&quot; (<link linkend="gboolean">gboolean</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTreeView--headers-clickable">&quot;<literal>headers-clickable</literal>&quot; (<link linkend="gboolean">gboolean</link> : Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTreeView--expander-column">&quot;<literal>expander-column</literal>&quot; (<link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTreeView--reorderable">&quot;<literal>reorderable</literal>&quot; (<link linkend="gboolean">gboolean</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTreeView--rules-hint">&quot;<literal>rules-hint</literal>&quot; (<link linkend="gboolean">gboolean</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTreeView--enable-search">&quot;<literal>enable-search</literal>&quot; (<link linkend="gboolean">gboolean</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>
<varlistentry><term><anchor id="GtkTreeView--search-column">&quot;<literal>search-column</literal>&quot; (<link linkend="gint">gint</link> : Read / Write)</term>
<listitem>
<para>

</para></listitem></varlistentry>

</variablelist>
</refsect1>

<refsect1>
<title>Signals</title>
<refsect2><title><anchor id="GtkTreeView-columns-changed">The &quot;columns-changed&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>treeview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTreeView-cursor-changed">The &quot;cursor-changed&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>treeview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTreeView-expand-collapse-cursor-row">The &quot;expand-collapse-cursor-row&quot; signal</title>
<programlisting>void        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);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>treeview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>arg2</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>arg3</parameter>&nbsp;:</entry>
<entry>

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTreeView-move-cursor">The &quot;move-cursor&quot; signal</title>
<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);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>treeview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>arg2</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>

</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTreeView-row-activated">The &quot;row-activated&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="GtkTreePath">GtkTreePath</link> arg1,
                                            <link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link> *arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>treeview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>arg2</parameter>&nbsp;:</entry>
<entry>

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTreeView-row-collapsed">The &quot;row-collapsed&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="GtkTreeIter">GtkTreeIter</link> arg1,
                                            <link linkend="GtkTreePath">GtkTreePath</link> arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>treeview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>arg2</parameter>&nbsp;:</entry>
<entry>

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTreeView-row-expanded">The &quot;row-expanded&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="GtkTreeIter">GtkTreeIter</link> arg1,
                                            <link linkend="GtkTreePath">GtkTreePath</link> arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>treeview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>arg2</parameter>&nbsp;:</entry>
<entry>

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTreeView-select-all">The &quot;select-all&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>treeview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTreeView-select-cursor-parent">The &quot;select-cursor-parent&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>treeview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTreeView-select-cursor-row">The &quot;select-cursor-row&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="gboolean">gboolean</link> arg1,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>treeview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTreeView-set-scroll-adjustments">The &quot;set-scroll-adjustments&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="GtkAdjustment">GtkAdjustment</link> *arg1,
                                            <link linkend="GtkAdjustment">GtkAdjustment</link> *arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>treeview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>arg2</parameter>&nbsp;:</entry>
<entry>

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTreeView-start-interactive-search">The &quot;start-interactive-search&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>treeview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTreeView-test-collapse-row">The &quot;test-collapse-row&quot; signal</title>
<programlisting><link linkend="gboolean">gboolean</link>    user_function                  (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="GtkTreeIter">GtkTreeIter</link> arg1,
                                            <link linkend="GtkTreePath">GtkTreePath</link> arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>treeview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>arg2</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>

</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTreeView-test-expand-row">The &quot;test-expand-row&quot; signal</title>
<programlisting><link linkend="gboolean">gboolean</link>    user_function                  (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="GtkTreeIter">GtkTreeIter</link> arg1,
                                            <link linkend="GtkTreePath">GtkTreePath</link> arg2,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>treeview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.
</entry></row>
<row><entry align="right"><parameter>arg1</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>arg2</parameter>&nbsp;:</entry>
<entry>
</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
<row><entry align="right"><emphasis>Returns</emphasis> :</entry><entry>

</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTreeView-toggle-cursor-row">The &quot;toggle-cursor-row&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>treeview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2><refsect2><title><anchor id="GtkTreeView-unselect-all">The &quot;unselect-all&quot; signal</title>
<programlisting>void        user_function                  (<link linkend="GtkTreeView">GtkTreeView</link> *treeview,
                                            <link linkend="gpointer">gpointer</link> user_data);</programlisting>
<para>

</para><informaltable pgwide="1" frame="none" role="params">
<tgroup cols="2">
<colspec colwidth="2*">
<colspec colwidth="8*">
<tbody>
<row><entry align="right"><parameter>treeview</parameter>&nbsp;:</entry>
<entry>the object which received the signal.

</entry></row>
<row><entry align="right"><parameter>user_data</parameter>&nbsp;:</entry>
<entry>user data set when the signal handler was connected.</entry></row>
</tbody></tgroup></informaltable></refsect2>
</refsect1>


<refsect1>
<title>See Also</title>
<para>
<link linkend="GtkTreeViewColumn">GtkTreeViewColumn</link>, <link linkend="GtkTreeSelection">GtkTreeSelection</link>, <link linkend="GtkTreeDnd">GtkTreeDnd</link>, <link linkend="GtkTreeMode">GtkTreeMode</link>, <link linkend="GtkTreeSortable">GtkTreeSortable</link>, <link linkend="GtkTreeModelSort">GtkTreeModelSort</link>, <link linkend="GtkListStore">GtkListStore</link>, <link linkend="GtkTreeStore">GtkTreeStore</link>, <link linkend="GtkCellRenderer">GtkCellRenderer</link>, <link linkend="GtkCellEditable">GtkCellEditable</link>, <link linkend="GtkCellRendererPixbuf">GtkCellRendererPixbuf</link>, <link linkend="GtkCellRendererText">GtkCellRendererText</link>, <link linkend="GtkCellRendererToggle">GtkCellRendererToggle</link>
</para>
</refsect1>

</refentry>
