<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
               "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'">
<!ENTITY version SYSTEM "version.xml">
<!ENTITY pi "&#960;">
<!ENTITY solidus "&#8260;">
]>
<refentry id="GtkTreeView">
<refmeta>
<refentrytitle role="top_of_page" id="GtkTreeView.top_of_page">GtkTreeView</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>GTK4 Library</refmiscinfo>
</refmeta>
<refnamediv>
<refname>GtkTreeView</refname>
<refpurpose>A widget for displaying both trees and lists</refpurpose>
</refnamediv>

<refsect1 id="GtkTreeView.functions" role="functions_proto">
<title role="functions_proto.title">Functions</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="functions_proto_type" colwidth="150px"/>
<colspec colname="functions_proto_name"/>
<tbody>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="GtkTreeViewColumnDropFunc">*GtkTreeViewColumnDropFunc</link><phrase role="c_punctuation">)</phrase>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="GtkTreeViewMappingFunc">*GtkTreeViewMappingFunc</link><phrase role="c_punctuation">)</phrase>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="GtkTreeViewSearchEqualFunc">*GtkTreeViewSearchEqualFunc</link><phrase role="c_punctuation">)</phrase>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-tree-view-new">gtk_tree_view_new</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-level-indentation">gtk_tree_view_get_level_indentation</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-show-expanders">gtk_tree_view_get_show_expanders</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-level-indentation">gtk_tree_view_set_level_indentation</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-show-expanders">gtk_tree_view_set_show_expanders</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-tree-view-new-with-model">gtk_tree_view_new_with_model</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkTreeModel"><returnvalue>GtkTreeModel</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-model">gtk_tree_view_get_model</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-model">gtk_tree_view_set_model</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkTreeSelection"><returnvalue>GtkTreeSelection</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-selection">gtk_tree_view_get_selection</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-headers-visible">gtk_tree_view_get_headers_visible</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-headers-visible">gtk_tree_view_set_headers_visible</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-columns-autosize">gtk_tree_view_columns_autosize</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-headers-clickable">gtk_tree_view_get_headers_clickable</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-headers-clickable">gtk_tree_view_set_headers_clickable</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-activate-on-single-click">gtk_tree_view_set_activate_on_single_click</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-activate-on-single-click">gtk_tree_view_get_activate_on_single_click</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-append-column">gtk_tree_view_append_column</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-remove-column">gtk_tree_view_remove_column</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-insert-column">gtk_tree_view_insert_column</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-insert-column-with-attributes">gtk_tree_view_insert_column_with_attributes</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-insert-column-with-data-func">gtk_tree_view_insert_column_with_data_func</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="guint"><returnvalue>guint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-n-columns">gtk_tree_view_get_n_columns</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkTreeViewColumn"><returnvalue>GtkTreeViewColumn</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-column">gtk_tree_view_get_column</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GList"><returnvalue>GList</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-columns">gtk_tree_view_get_columns</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-move-column-after">gtk_tree_view_move_column_after</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-expander-column">gtk_tree_view_set_expander_column</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkTreeViewColumn"><returnvalue>GtkTreeViewColumn</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-expander-column">gtk_tree_view_get_expander_column</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-column-drag-function">gtk_tree_view_set_column_drag_function</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-scroll-to-point">gtk_tree_view_scroll_to_point</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-scroll-to-cell">gtk_tree_view_scroll_to_cell</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-cursor">gtk_tree_view_set_cursor</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-cursor-on-cell">gtk_tree_view_set_cursor_on_cell</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-cursor">gtk_tree_view_get_cursor</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-row-activated">gtk_tree_view_row_activated</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-expand-all">gtk_tree_view_expand_all</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-collapse-all">gtk_tree_view_collapse_all</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-expand-to-path">gtk_tree_view_expand_to_path</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-expand-row">gtk_tree_view_expand_row</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-collapse-row">gtk_tree_view_collapse_row</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-map-expanded-rows">gtk_tree_view_map_expanded_rows</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-row-expanded">gtk_tree_view_row_expanded</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-reorderable">gtk_tree_view_set_reorderable</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-reorderable">gtk_tree_view_get_reorderable</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-path-at-pos">gtk_tree_view_get_path_at_pos</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-is-blank-at-pos">gtk_tree_view_is_blank_at_pos</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-cell-area">gtk_tree_view_get_cell_area</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-background-area">gtk_tree_view_get_background_area</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-visible-rect">gtk_tree_view_get_visible_rect</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-visible-range">gtk_tree_view_get_visible_range</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-convert-bin-window-to-tree-coords">gtk_tree_view_convert_bin_window_to_tree_coords</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-convert-bin-window-to-widget-coords">gtk_tree_view_convert_bin_window_to_widget_coords</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-convert-tree-to-bin-window-coords">gtk_tree_view_convert_tree_to_bin_window_coords</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-convert-tree-to-widget-coords">gtk_tree_view_convert_tree_to_widget_coords</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-convert-widget-to-bin-window-coords">gtk_tree_view_convert_widget_to_bin_window_coords</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-convert-widget-to-tree-coords">gtk_tree_view_convert_widget_to_tree_coords</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-enable-model-drag-dest">gtk_tree_view_enable_model_drag_dest</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-enable-model-drag-source">gtk_tree_view_enable_model_drag_source</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-unset-rows-drag-source">gtk_tree_view_unset_rows_drag_source</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-unset-rows-drag-dest">gtk_tree_view_unset_rows_drag_dest</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-drag-dest-row">gtk_tree_view_set_drag_dest_row</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-drag-dest-row">gtk_tree_view_get_drag_dest_row</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-dest-row-at-pos">gtk_tree_view_get_dest_row_at_pos</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GdkPaintable"><returnvalue>GdkPaintable</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-tree-view-create-row-drag-icon">gtk_tree_view_create_row_drag_icon</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-enable-search">gtk_tree_view_set_enable_search</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-enable-search">gtk_tree_view_get_enable_search</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-search-column">gtk_tree_view_get_search_column</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-search-column">gtk_tree_view_set_search_column</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkTreeViewSearchEqualFunc"><returnvalue>GtkTreeViewSearchEqualFunc</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-search-equal-func">gtk_tree_view_get_search_equal_func</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-search-equal-func">gtk_tree_view_set_search_equal_func</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkEditable"><returnvalue>GtkEditable</returnvalue></link>&#160;*
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-search-entry">gtk_tree_view_get_search_entry</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-search-entry">gtk_tree_view_set_search_entry</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-fixed-height-mode">gtk_tree_view_get_fixed_height_mode</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-fixed-height-mode">gtk_tree_view_set_fixed_height_mode</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-hover-selection">gtk_tree_view_get_hover_selection</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-hover-selection">gtk_tree_view_set_hover_selection</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-hover-expand">gtk_tree_view_get_hover_expand</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-hover-expand">gtk_tree_view_set_hover_expand</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><phrase role="c_punctuation">(</phrase><link linkend="GtkTreeViewRowSeparatorFunc">*GtkTreeViewRowSeparatorFunc</link><phrase role="c_punctuation">)</phrase>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkTreeViewRowSeparatorFunc"><returnvalue>GtkTreeViewRowSeparatorFunc</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-row-separator-func">gtk_tree_view_get_row_separator_func</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-row-separator-func">gtk_tree_view_set_row_separator_func</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-rubber-banding">gtk_tree_view_get_rubber_banding</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-rubber-banding">gtk_tree_view_set_rubber_banding</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-is-rubber-banding-active">gtk_tree_view_is_rubber_banding_active</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-enable-tree-lines">gtk_tree_view_get_enable_tree_lines</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-enable-tree-lines">gtk_tree_view_set_enable_tree_lines</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="GtkTreeViewGridLines"><returnvalue>GtkTreeViewGridLines</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-grid-lines">gtk_tree_view_get_grid_lines</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-grid-lines">gtk_tree_view_set_grid_lines</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-tooltip-row">gtk_tree_view_set_tooltip_row</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-tooltip-cell">gtk_tree_view_set_tooltip_cell</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-tooltip-context">gtk_tree_view_get_tooltip_context</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="gint"><returnvalue>gint</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-get-tooltip-column">gtk_tree_view_get_tooltip_column</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>
<row><entry role="function_type"><link linkend="void"><returnvalue>void</returnvalue></link>
</entry><entry role="function_name"><link linkend="gtk-tree-view-set-tooltip-column">gtk_tree_view_set_tooltip_column</link>&#160;<phrase role="c_punctuation">()</phrase></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkTreeView.properties" role="properties">
<title role="properties.title">Properties</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="properties_type" colwidth="150px"/>
<colspec colname="properties_name" colwidth="300px"/>
<colspec colname="properties_flags" colwidth="200px"/>
<tbody>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkTreeView--activate-on-single-click">activate-on-single-click</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkTreeViewGridLines"><type>GtkTreeViewGridLines</type></link></entry><entry role="property_name"><link linkend="GtkTreeView--enable-grid-lines">enable-grid-lines</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkTreeView--enable-search">enable-search</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkTreeView--enable-tree-lines">enable-tree-lines</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkTreeView--expander-column">expander-column</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkTreeView--fixed-height-mode">fixed-height-mode</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkTreeView--headers-clickable">headers-clickable</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkTreeView--headers-visible">headers-visible</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkTreeView--hover-expand">hover-expand</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkTreeView--hover-selection">hover-selection</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkTreeView--level-indentation">level-indentation</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link>&#160;*</entry><entry role="property_name"><link linkend="GtkTreeView--model">model</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkTreeView--reorderable">reorderable</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkTreeView--rubber-banding">rubber-banding</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkTreeView--search-column">search-column</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gboolean"><type>gboolean</type></link></entry><entry role="property_name"><link linkend="GtkTreeView--show-expanders">show-expanders</link></entry><entry role="property_flags">Read / Write</entry></row>
<row><entry role="property_type"><link linkend="gint"><type>gint</type></link></entry><entry role="property_name"><link linkend="GtkTreeView--tooltip-column">tooltip-column</link></entry><entry role="property_flags">Read / Write</entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkTreeView.signals" role="signal_proto">
<title role="signal_proto.title">Signals</title>
<informaltable frame="none">
<tgroup cols="3">
<colspec colname="signal_proto_type" colwidth="150px"/>
<colspec colname="signal_proto_name" colwidth="300px"/>
<colspec colname="signal_proto_flags" colwidth="200px"/>
<tbody>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTreeView-columns-changed">columns-changed</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTreeView-cursor-changed">cursor-changed</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTreeView-expand-collapse-cursor-row">expand-collapse-cursor-row</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTreeView-move-cursor">move-cursor</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTreeView-row-activated">row-activated</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTreeView-row-collapsed">row-collapsed</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="void"><returnvalue>void</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTreeView-row-expanded">row-expanded</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTreeView-select-all">select-all</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTreeView-select-cursor-parent">select-cursor-parent</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTreeView-select-cursor-row">select-cursor-row</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTreeView-start-interactive-search">start-interactive-search</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTreeView-test-collapse-row">test-collapse-row</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTreeView-test-expand-row">test-expand-row</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTreeView-toggle-cursor-row">toggle-cursor-row</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>
<row><entry role="signal_type"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link></entry><entry role="signal_name"><link linkend="GtkTreeView-unselect-all">unselect-all</link></entry><entry role="signal_flags"><link linkend="G-SIGNAL-ACTION:CAPS">Action</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkTreeView.other" role="other_proto">
<title role="other_proto.title">Types and Values</title>
<informaltable pgwide="1" frame="none">
<tgroup cols="2">
<colspec colname="other_proto_type" colwidth="150px"/>
<colspec colname="other_proto_name"/>
<tbody>
<row><entry role="datatype_keyword"></entry><entry role="function_name"><link linkend="GtkTreeView-struct">GtkTreeView</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GtkTreeViewDropPosition">GtkTreeViewDropPosition</link></entry></row>
<row><entry role="datatype_keyword">enum</entry><entry role="function_name"><link linkend="GtkTreeViewGridLines">GtkTreeViewGridLines</link></entry></row>

</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 id="GtkTreeView.object-hierarchy" role="object_hierarchy">
<title role="object_hierarchy.title">Object Hierarchy</title>
<screen>    <link linkend="GObject">GObject</link>
    <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GInitiallyUnowned">GInitiallyUnowned</link>
        <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> <link linkend="GtkWidget">GtkWidget</link>
            <phrase role="lineart">&#9584;&#9472;&#9472;</phrase> GtkTreeView
</screen>
</refsect1>
<refsect1 id="GtkTreeView.implemented-interfaces" role="impl_interfaces">
<title role="impl_interfaces.title">Implemented Interfaces</title>
<para>
GtkTreeView implements
 <link linkend="AtkImplementorIface">AtkImplementorIface</link>,  <link linkend="GtkBuildable">GtkBuildable</link>,  <link linkend="GtkConstraintTarget">GtkConstraintTarget</link> and  <link linkend="GtkScrollable">GtkScrollable</link>.</para>

</refsect1>

<refsect1 id="GtkTreeView.includes"><title>Includes</title><synopsis>#include &lt;gtk/gtk.h&gt;
</synopsis></refsect1>

<refsect1 id="GtkTreeView.description" role="desc">
<title role="desc.title">Description</title>
<para>Widget that displays any object that implements the <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> interface.</para>
<para>Please refer to the
<link linkend="TreeWidget">tree widget conceptual overview</link>
for an overview of all the objects and data types related
to the tree widget and how they work together.</para>
<para>Several different coordinate systems are exposed in the GtkTreeView API.
These are:</para>
<para><inlinemediaobject><imageobject><imagedata fileref="tree-view-coordinates.png"></imagedata></imageobject><textobject><phrase></phrase></textobject></inlinemediaobject></para>
<para>Coordinate systems in GtkTreeView API:</para>
<itemizedlist>
<listitem>
<para>Widget coordinates: Coordinates relative to the widget (usually <literal>widget-&gt;window</literal>).</para>
</listitem>
<listitem>
<para>Bin window coordinates: Coordinates relative to the window that GtkTreeView renders to.</para>
</listitem>
<listitem>
<para>Tree coordinates: Coordinates relative to the entire scrollable area of GtkTreeView. These
coordinates start at (0, 0) for row 0 of the tree.</para>
</listitem>
</itemizedlist>
<para>Several functions are available for converting between the different
coordinate systems.  The most common translations are between widget and bin
window coordinates and between bin window and tree coordinates. For the
former you can use <link linkend="gtk-tree-view-convert-widget-to-bin-window-coords"><function>gtk_tree_view_convert_widget_to_bin_window_coords()</function></link>
(and vice versa), for the latter <link linkend="gtk-tree-view-convert-bin-window-to-tree-coords"><function>gtk_tree_view_convert_bin_window_to_tree_coords()</function></link>
(and vice versa).</para>
<refsect2><title>GtkTreeView as GtkBuildable</title><para>The GtkTreeView implementation of the GtkBuildable interface accepts
<link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> objects as &lt;child> elements and exposes the internal
<link linkend="GtkTreeSelection"><type>GtkTreeSelection</type></link> in UI definitions.</para>
<para>An example of a UI definition fragment with GtkTreeView:</para>
<informalexample><programlisting role="example"><![CDATA[
<object class="GtkTreeView" id="treeview">
  <property name="model">liststore1</property>
  <child>
    <object class="GtkTreeViewColumn" id="test-column">
      <property name="title">Test</property>
      <child>
        <object class="GtkCellRendererText" id="test-renderer"/>
        <attributes>
          <attribute name="text">1</attribute>
        </attributes>
      </child>
    </object>
  </child>
  <child internal-child="selection">
    <object class="GtkTreeSelection" id="selection">
      <signal name="changed" handler="on_treeview_selection_changed"/>
    </object>
  </child>
</object>
]]></programlisting></informalexample>
<para></para>
</refsect2>
<refsect2><title>CSS nodes</title><informalexample><programlisting role="example"><![CDATA[
treeview.view
├── header
│   ├── <column header>
┊   ┊
│   ╰── <column header>
│
├── [rubberband]
╰── [dndtarget]
]]></programlisting></informalexample>
<para></para>
<para>GtkTreeView has a main CSS node with name treeview and style class .view.
It has a subnode with name header, which is the parent for all the column
header widgets' CSS nodes.</para>
<para>For rubberband selection, a subnode with name rubberband is used.</para>
<para>For the drop target location during DND, a subnode with name dndtarget is used.</para>
</refsect2>

</refsect1>
<refsect1 id="GtkTreeView.functions_details" role="details">
<title role="details.title">Functions</title>
<refsect2 id="GtkTreeViewColumnDropFunc" role="function">
<title>GtkTreeViewColumnDropFunc&#160;()</title>
<indexterm zone="GtkTreeViewColumnDropFunc"><primary>GtkTreeViewColumnDropFunc</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
<phrase role="c_punctuation">(</phrase>*GtkTreeViewColumnDropFunc<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                              <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *column</parameter>,
                              <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *prev_column</parameter>,
                              <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *next_column</parameter>,
                              <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
<para>Function type for determining whether <parameter>column</parameter>
 can be dropped in a
particular spot (as determined by <parameter>prev_column</parameter>
 and <parameter>next_column</parameter>
).  In
left to right locales, <parameter>prev_column</parameter>
 is on the left of the potential drop
spot, and <parameter>next_column</parameter>
 is on the right.  In right to left mode, this is
reversed.  This function should return <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the spot is a valid drop
spot.  Please note that returning <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> does not actually indicate that
the column drop was made, but is meant only to indicate a possible drop
spot to the user.</para>
<refsect3 id="GtkTreeViewColumnDropFunc.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> being dragged</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>prev_column</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> on one side of <parameter>column</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>next_column</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> on the other side of <parameter>column</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>user data. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>closure</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="GtkTreeViewColumnDropFunc.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, if <parameter>column</parameter>
can be dropped in this spot</para>
</refsect3></refsect2>
<refsect2 id="GtkTreeViewMappingFunc" role="function">
<title>GtkTreeViewMappingFunc&#160;()</title>
<indexterm zone="GtkTreeViewMappingFunc"><primary>GtkTreeViewMappingFunc</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
<phrase role="c_punctuation">(</phrase>*GtkTreeViewMappingFunc<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                           <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path</parameter>,
                           <parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>);</programlisting>
<para>Function used for <link linkend="gtk-tree-view-map-expanded-rows"><function>gtk_tree_view_map_expanded_rows()</function></link>.</para>
<refsect3 id="GtkTreeViewMappingFunc.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>The path that’s expanded</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>user_data</para></entry>
<entry role="parameter_description"><para>user data</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GtkTreeViewSearchEqualFunc" role="function">
<title>GtkTreeViewSearchEqualFunc&#160;()</title>
<indexterm zone="GtkTreeViewSearchEqualFunc"><primary>GtkTreeViewSearchEqualFunc</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
<phrase role="c_punctuation">(</phrase>*GtkTreeViewSearchEqualFunc<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> *model</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> column</parameter>,
                               <parameter>const <link linkend="gchar"><type>gchar</type></link> *key</parameter>,
                               <parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *iter</parameter>,
                               <parameter><link linkend="gpointer"><type>gpointer</type></link> search_data</parameter>);</programlisting>
<para>A function used for checking whether a row in <parameter>model</parameter>
 matches
a search key string entered by the user. Note the return value
is reversed from what you would normally expect, though it
has some similarity to <link linkend="strcmp"><function>strcmp()</function></link> returning 0 for equal strings.</para>
<refsect3 id="GtkTreeViewSearchEqualFunc.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>model</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> being searched</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>the search column set by <link linkend="gtk-tree-view-set-search-column"><function>gtk_tree_view_set_search_column()</function></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>key</para></entry>
<entry role="parameter_description"><para>the key string to compare with</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> pointing the row of <parameter>model</parameter>
that should be compared
with <parameter>key</parameter>
.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>search_data</para></entry>
<entry role="parameter_description"><para>user data from <link linkend="gtk-tree-view-set-search-equal-func"><function>gtk_tree_view_set_search_equal_func()</function></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>closure</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="GtkTreeViewSearchEqualFunc.returns" role="returns">
<title>Returns</title>
<para> <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if the row matches, <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> otherwise.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-new" role="function">
<title>gtk_tree_view_new&#160;()</title>
<indexterm zone="gtk-tree-view-new"><primary>gtk_tree_view_new</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_tree_view_new (<parameter><type>void</type></parameter>);</programlisting>
<para>Creates a new <link linkend="GtkTreeView"><type>GtkTreeView</type></link> widget.</para>
<refsect3 id="gtk-tree-view-new.returns" role="returns">
<title>Returns</title>
<para> A newly created <link linkend="GtkTreeView"><type>GtkTreeView</type></link> widget.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-level-indentation" role="function">
<title>gtk_tree_view_get_level_indentation&#160;()</title>
<indexterm zone="gtk-tree-view-get-level-indentation"><primary>gtk_tree_view_get_level_indentation</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_tree_view_get_level_indentation (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns the amount, in pixels, of extra indentation for child levels
in <parameter>tree_view</parameter>
.</para>
<refsect3 id="gtk-tree-view-get-level-indentation.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-level-indentation.returns" role="returns">
<title>Returns</title>
<para> the amount of extra indentation for child levels in
<parameter>tree_view</parameter>
.  A return value of 0 means that this feature is disabled.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-show-expanders" role="function">
<title>gtk_tree_view_get_show_expanders&#160;()</title>
<indexterm zone="gtk-tree-view-get-show-expanders"><primary>gtk_tree_view_get_show_expanders</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_get_show_expanders (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns whether or not expanders are drawn in <parameter>tree_view</parameter>
.</para>
<refsect3 id="gtk-tree-view-get-show-expanders.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-show-expanders.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if expanders are drawn in <parameter>tree_view</parameter>
, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>
otherwise.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-level-indentation" role="function">
<title>gtk_tree_view_set_level_indentation&#160;()</title>
<indexterm zone="gtk-tree-view-set-level-indentation"><primary>gtk_tree_view_set_level_indentation</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_level_indentation (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                     <parameter><link linkend="gint"><type>gint</type></link> indentation</parameter>);</programlisting>
<para>Sets the amount of extra indentation for child levels to use in <parameter>tree_view</parameter>

in addition to the default indentation.  The value should be specified in
pixels, a value of 0 disables this feature and in this case only the default
indentation will be used.
This does not have any visible effects for lists.</para>
<refsect3 id="gtk-tree-view-set-level-indentation.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>indentation</para></entry>
<entry role="parameter_description"><para>the amount, in pixels, of extra indentation in <parameter>tree_view</parameter>
.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-show-expanders" role="function">
<title>gtk_tree_view_set_show_expanders&#160;()</title>
<indexterm zone="gtk-tree-view-set-show-expanders"><primary>gtk_tree_view_set_show_expanders</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_show_expanders (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                  <parameter><link linkend="gboolean"><type>gboolean</type></link> enabled</parameter>);</programlisting>
<para>Sets whether to draw and enable expanders and indent child rows in
<parameter>tree_view</parameter>
.  When disabled there will be no expanders visible in trees
and there will be no way to expand and collapse rows by default.  Also
note that hiding the expanders will disable the default indentation.  You
can set a custom indentation in this case using
<link linkend="gtk-tree-view-set-level-indentation"><function>gtk_tree_view_set_level_indentation()</function></link>.
This does not have any visible effects for lists.</para>
<refsect3 id="gtk-tree-view-set-show-expanders.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>enabled</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to enable expander drawing, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-new-with-model" role="function">
<title>gtk_tree_view_new_with_model&#160;()</title>
<indexterm zone="gtk-tree-view-new-with-model"><primary>gtk_tree_view_new_with_model</primary></indexterm>
<programlisting language="C"><link linkend="GtkWidget"><returnvalue>GtkWidget</returnvalue></link>&#160;*
gtk_tree_view_new_with_model (<parameter><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> *model</parameter>);</programlisting>
<para>Creates a new <link linkend="GtkTreeView"><type>GtkTreeView</type></link> widget with the model initialized to <parameter>model</parameter>
.</para>
<refsect3 id="gtk-tree-view-new-with-model.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>model</para></entry>
<entry role="parameter_description"><para>the model.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-new-with-model.returns" role="returns">
<title>Returns</title>
<para> A newly created <link linkend="GtkTreeView"><type>GtkTreeView</type></link> widget.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-model" role="function">
<title>gtk_tree_view_get_model&#160;()</title>
<indexterm zone="gtk-tree-view-get-model"><primary>gtk_tree_view_get_model</primary></indexterm>
<programlisting language="C"><link linkend="GtkTreeModel"><returnvalue>GtkTreeModel</returnvalue></link>&#160;*
gtk_tree_view_get_model (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns the model the <link linkend="GtkTreeView"><type>GtkTreeView</type></link> is based on.  Returns <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the
model is unset.</para>
<refsect3 id="gtk-tree-view-get-model.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-model.returns" role="returns">
<title>Returns</title>
<para>A <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if
none is currently being used. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>][<acronym>nullable</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-model" role="function">
<title>gtk_tree_view_set_model&#160;()</title>
<indexterm zone="gtk-tree-view-set-model"><primary>gtk_tree_view_set_model</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_model (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                         <parameter><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> *model</parameter>);</programlisting>
<para>Sets the model for a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.  If the <parameter>tree_view</parameter>
 already has a model
set, it will remove it before setting the new model.  If <parameter>model</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>,
then it will unset the old model.</para>
<refsect3 id="gtk-tree-view-set-model.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>model</para></entry>
<entry role="parameter_description"><para>The model. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-selection" role="function">
<title>gtk_tree_view_get_selection&#160;()</title>
<indexterm zone="gtk-tree-view-get-selection"><primary>gtk_tree_view_get_selection</primary></indexterm>
<programlisting language="C"><link linkend="GtkTreeSelection"><returnvalue>GtkTreeSelection</returnvalue></link>&#160;*
gtk_tree_view_get_selection (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Gets the <link linkend="GtkTreeSelection"><type>GtkTreeSelection</type></link> associated with <parameter>tree_view</parameter>
.</para>
<refsect3 id="gtk-tree-view-get-selection.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-selection.returns" role="returns">
<title>Returns</title>
<para>A <link linkend="GtkTreeSelection"><type>GtkTreeSelection</type></link> object. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-headers-visible" role="function">
<title>gtk_tree_view_get_headers_visible&#160;()</title>
<indexterm zone="gtk-tree-view-get-headers-visible"><primary>gtk_tree_view_get_headers_visible</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_get_headers_visible (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the headers on the <parameter>tree_view</parameter>
 are visible.</para>
<refsect3 id="gtk-tree-view-get-headers-visible.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-headers-visible.returns" role="returns">
<title>Returns</title>
<para> Whether the headers are visible or not.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-headers-visible" role="function">
<title>gtk_tree_view_set_headers_visible&#160;()</title>
<indexterm zone="gtk-tree-view-set-headers-visible"><primary>gtk_tree_view_set_headers_visible</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_headers_visible (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                   <parameter><link linkend="gboolean"><type>gboolean</type></link> headers_visible</parameter>);</programlisting>
<para>Sets the visibility state of the headers.</para>
<refsect3 id="gtk-tree-view-set-headers-visible.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>headers_visible</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the headers are visible</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-columns-autosize" role="function">
<title>gtk_tree_view_columns_autosize&#160;()</title>
<indexterm zone="gtk-tree-view-columns-autosize"><primary>gtk_tree_view_columns_autosize</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_columns_autosize (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Resizes all columns to their optimal width. Only works after the
treeview has been realized.</para>
<refsect3 id="gtk-tree-view-columns-autosize.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-headers-clickable" role="function">
<title>gtk_tree_view_get_headers_clickable&#160;()</title>
<indexterm zone="gtk-tree-view-get-headers-clickable"><primary>gtk_tree_view_get_headers_clickable</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_get_headers_clickable (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns whether all header columns are clickable.</para>
<refsect3 id="gtk-tree-view-get-headers-clickable.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-headers-clickable.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if all header columns are clickable, otherwise <link linkend="FALSE:CAPS"><literal>FALSE</literal></link></para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-headers-clickable" role="function">
<title>gtk_tree_view_set_headers_clickable&#160;()</title>
<indexterm zone="gtk-tree-view-set-headers-clickable"><primary>gtk_tree_view_set_headers_clickable</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_headers_clickable (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                     <parameter><link linkend="gboolean"><type>gboolean</type></link> setting</parameter>);</programlisting>
<para>Allow the column title buttons to be clicked.</para>
<refsect3 id="gtk-tree-view-set-headers-clickable.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>setting</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the columns are clickable.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-activate-on-single-click" role="function">
<title>gtk_tree_view_set_activate_on_single_click&#160;()</title>
<indexterm zone="gtk-tree-view-set-activate-on-single-click"><primary>gtk_tree_view_set_activate_on_single_click</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_activate_on_single_click
                               (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                <parameter><link linkend="gboolean"><type>gboolean</type></link> single</parameter>);</programlisting>
<para>Cause the <link linkend="GtkTreeView-row-activated"><type>“row-activated”</type></link> signal to be emitted
on a single click instead of a double click.</para>
<refsect3 id="gtk-tree-view-set-activate-on-single-click.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>single</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to emit row-activated on a single click</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-activate-on-single-click" role="function">
<title>gtk_tree_view_get_activate_on_single_click&#160;()</title>
<indexterm zone="gtk-tree-view-get-activate-on-single-click"><primary>gtk_tree_view_get_activate_on_single_click</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_get_activate_on_single_click
                               (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Gets the setting set by <link linkend="gtk-tree-view-set-activate-on-single-click"><function>gtk_tree_view_set_activate_on_single_click()</function></link>.</para>
<refsect3 id="gtk-tree-view-get-activate-on-single-click.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-activate-on-single-click.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if row-activated will be emitted on a single click</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-append-column" role="function">
<title>gtk_tree_view_append_column&#160;()</title>
<indexterm zone="gtk-tree-view-append-column"><primary>gtk_tree_view_append_column</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_tree_view_append_column (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                             <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *column</parameter>);</programlisting>
<para>Appends <parameter>column</parameter>
 to the list of columns. If <parameter>tree_view</parameter>
 has “fixed_height”
mode enabled, then <parameter>column</parameter>
 must have its “sizing” property set to be
GTK_TREE_VIEW_COLUMN_FIXED.</para>
<refsect3 id="gtk-tree-view-append-column.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> to add.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-append-column.returns" role="returns">
<title>Returns</title>
<para> The number of columns in <parameter>tree_view</parameter>
after appending.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-remove-column" role="function">
<title>gtk_tree_view_remove_column&#160;()</title>
<indexterm zone="gtk-tree-view-remove-column"><primary>gtk_tree_view_remove_column</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_tree_view_remove_column (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                             <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *column</parameter>);</programlisting>
<para>Removes <parameter>column</parameter>
 from <parameter>tree_view</parameter>
.</para>
<refsect3 id="gtk-tree-view-remove-column.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> to remove.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-remove-column.returns" role="returns">
<title>Returns</title>
<para> The number of columns in <parameter>tree_view</parameter>
after removing.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-insert-column" role="function">
<title>gtk_tree_view_insert_column&#160;()</title>
<indexterm zone="gtk-tree-view-insert-column"><primary>gtk_tree_view_insert_column</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_tree_view_insert_column (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                             <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *column</parameter>,
                             <parameter><link linkend="gint"><type>gint</type></link> position</parameter>);</programlisting>
<para>This inserts the <parameter>column</parameter>
 into the <parameter>tree_view</parameter>
 at <parameter>position</parameter>
.  If <parameter>position</parameter>
 is
-1, then the column is inserted at the end. If <parameter>tree_view</parameter>
 has
“fixed_height” mode enabled, then <parameter>column</parameter>
 must have its “sizing” property
set to be GTK_TREE_VIEW_COLUMN_FIXED.</para>
<refsect3 id="gtk-tree-view-insert-column.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> to be inserted.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>position</para></entry>
<entry role="parameter_description"><para>The position to insert <parameter>column</parameter>
in.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-insert-column.returns" role="returns">
<title>Returns</title>
<para> The number of columns in <parameter>tree_view</parameter>
after insertion.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-insert-column-with-attributes" role="function">
<title>gtk_tree_view_insert_column_with_attributes&#160;()</title>
<indexterm zone="gtk-tree-view-insert-column-with-attributes"><primary>gtk_tree_view_insert_column_with_attributes</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_tree_view_insert_column_with_attributes
                               (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> position</parameter>,
                                <parameter>const <link linkend="gchar"><type>gchar</type></link> *title</parameter>,
                                <parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                                <parameter>...</parameter>);</programlisting>
<para>Creates a new <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> and inserts it into the <parameter>tree_view</parameter>
 at
<parameter>position</parameter>
.  If <parameter>position</parameter>
 is -1, then the newly created column is inserted at
the end.  The column is initialized with the attributes given. If <parameter>tree_view</parameter>

has “fixed_height” mode enabled, then the new column will have its sizing
property set to be GTK_TREE_VIEW_COLUMN_FIXED.</para>
<refsect3 id="gtk-tree-view-insert-column-with-attributes.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>position</para></entry>
<entry role="parameter_description"><para>The position to insert the new column in</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>title</para></entry>
<entry role="parameter_description"><para>The title to set the header to</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>cell</para></entry>
<entry role="parameter_description"><para>The <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>...</para></entry>
<entry role="parameter_description"><para>A <link linkend="NULL:CAPS"><literal>NULL</literal></link>-terminated list of attributes</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-insert-column-with-attributes.returns" role="returns">
<title>Returns</title>
<para> The number of columns in <parameter>tree_view</parameter>
after insertion.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-insert-column-with-data-func" role="function">
<title>gtk_tree_view_insert_column_with_data_func&#160;()</title>
<indexterm zone="gtk-tree-view-insert-column-with-data-func"><primary>gtk_tree_view_insert_column_with_data_func</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_tree_view_insert_column_with_data_func
                               (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> position</parameter>,
                                <parameter>const <link linkend="gchar"><type>gchar</type></link> *title</parameter>,
                                <parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>,
                                <parameter><link linkend="GtkTreeCellDataFunc"><type>GtkTreeCellDataFunc</type></link> func</parameter>,
                                <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>,
                                <parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> dnotify</parameter>);</programlisting>
<para>Convenience function that inserts a new column into the <link linkend="GtkTreeView"><type>GtkTreeView</type></link>
with the given cell renderer and a <link linkend="GtkTreeCellDataFunc"><type>GtkTreeCellDataFunc</type></link> to set cell renderer
attributes (normally using data from the model). See also
<link linkend="gtk-tree-view-column-set-cell-data-func"><function>gtk_tree_view_column_set_cell_data_func()</function></link>, <link linkend="gtk-tree-view-column-pack-start"><function>gtk_tree_view_column_pack_start()</function></link>.
If <parameter>tree_view</parameter>
 has “fixed_height” mode enabled, then the new column will have its
“sizing” property set to be GTK_TREE_VIEW_COLUMN_FIXED.</para>
<refsect3 id="gtk-tree-view-insert-column-with-data-func.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>position</para></entry>
<entry role="parameter_description"><para>Position to insert, -1 for append</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>title</para></entry>
<entry role="parameter_description"><para>column title</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>cell</para></entry>
<entry role="parameter_description"><para>cell renderer for column</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>func</para></entry>
<entry role="parameter_description"><para>function to set attributes of cell renderer</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>data for <parameter>func</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>dnotify</para></entry>
<entry role="parameter_description"><para>destroy notifier for <parameter>data</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-insert-column-with-data-func.returns" role="returns">
<title>Returns</title>
<para> number of columns in the tree view post-insert</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-n-columns" role="function">
<title>gtk_tree_view_get_n_columns&#160;()</title>
<indexterm zone="gtk-tree-view-get-n-columns"><primary>gtk_tree_view_get_n_columns</primary></indexterm>
<programlisting language="C"><link linkend="guint"><returnvalue>guint</returnvalue></link>
gtk_tree_view_get_n_columns (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Queries the number of columns in the given <parameter>tree_view</parameter>
.</para>
<refsect3 id="gtk-tree-view-get-n-columns.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-n-columns.returns" role="returns">
<title>Returns</title>
<para> The number of columns in the <parameter>tree_view</parameter>
</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-column" role="function">
<title>gtk_tree_view_get_column&#160;()</title>
<indexterm zone="gtk-tree-view-get-column"><primary>gtk_tree_view_get_column</primary></indexterm>
<programlisting language="C"><link linkend="GtkTreeViewColumn"><returnvalue>GtkTreeViewColumn</returnvalue></link>&#160;*
gtk_tree_view_get_column (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                          <parameter><link linkend="gint"><type>gint</type></link> n</parameter>);</programlisting>
<para>Gets the <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> at the given position in the <link linkend="tree-view"><type>tree_view</type></link>.</para>
<refsect3 id="gtk-tree-view-get-column.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>n</para></entry>
<entry role="parameter_description"><para>The position of the column, counting from 0.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-column.returns" role="returns">
<title>Returns</title>
<para>The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> if the
position is outside the range of columns. </para>
<para><emphasis role="annotation">[<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-columns" role="function">
<title>gtk_tree_view_get_columns&#160;()</title>
<indexterm zone="gtk-tree-view-get-columns"><primary>gtk_tree_view_get_columns</primary></indexterm>
<programlisting language="C"><link linkend="GList"><returnvalue>GList</returnvalue></link>&#160;*
gtk_tree_view_get_columns (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns a <link linkend="GList"><type>GList</type></link> of all the <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> s currently in <parameter>tree_view</parameter>
.
The returned list must be freed with <link linkend="g-list-free"><function>g_list_free()</function></link>.</para>
<refsect3 id="gtk-tree-view-get-columns.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-columns.returns" role="returns">
<title>Returns</title>
<para>A list of <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> s. </para>
<para><emphasis role="annotation">[<acronym>element-type</acronym> GtkTreeViewColumn][<acronym>transfer container</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-move-column-after" role="function">
<title>gtk_tree_view_move_column_after&#160;()</title>
<indexterm zone="gtk-tree-view-move-column-after"><primary>gtk_tree_view_move_column_after</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_move_column_after (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                 <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *column</parameter>,
                                 <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *base_column</parameter>);</programlisting>
<para>Moves <parameter>column</parameter>
 to be after to <parameter>base_column</parameter>
.  If <parameter>base_column</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, then
<parameter>column</parameter>
 is placed in the first position.</para>
<refsect3 id="gtk-tree-view-move-column-after.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> to be moved.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>base_column</para></entry>
<entry role="parameter_description"><para>The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> to be moved relative to, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-expander-column" role="function">
<title>gtk_tree_view_set_expander_column&#160;()</title>
<indexterm zone="gtk-tree-view-set-expander-column"><primary>gtk_tree_view_set_expander_column</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_expander_column (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                   <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *column</parameter>);</programlisting>
<para>Sets the column to draw the expander arrow at. It must be in <parameter>tree_view</parameter>
.  
If <parameter>column</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, then the expander arrow is always at the first 
visible column.</para>
<para>If you do not want expander arrow to appear in your tree, set the 
expander column to a hidden column.</para>
<refsect3 id="gtk-tree-view-set-expander-column.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para><link linkend="NULL:CAPS"><literal>NULL</literal></link>, or the column to draw the expander arrow at. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>nullable</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-expander-column" role="function">
<title>gtk_tree_view_get_expander_column&#160;()</title>
<indexterm zone="gtk-tree-view-get-expander-column"><primary>gtk_tree_view_get_expander_column</primary></indexterm>
<programlisting language="C"><link linkend="GtkTreeViewColumn"><returnvalue>GtkTreeViewColumn</returnvalue></link>&#160;*
gtk_tree_view_get_expander_column (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns the column that is the current expander column.
This column has the expander arrow drawn next to it.</para>
<refsect3 id="gtk-tree-view-get-expander-column.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-expander-column.returns" role="returns">
<title>Returns</title>
<para>The expander column. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-column-drag-function" role="function">
<title>gtk_tree_view_set_column_drag_function&#160;()</title>
<indexterm zone="gtk-tree-view-set-column-drag-function"><primary>gtk_tree_view_set_column_drag_function</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_column_drag_function
                               (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                <parameter><link linkend="GtkTreeViewColumnDropFunc"><type>GtkTreeViewColumnDropFunc</type></link> func</parameter>,
                                <parameter><link linkend="gpointer"><type>gpointer</type></link> user_data</parameter>,
                                <parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> destroy</parameter>);</programlisting>
<para>Sets a user function for determining where a column may be dropped when
dragged.  This function is called on every column pair in turn at the
beginning of a column drag to determine where a drop can take place.  The
arguments passed to <parameter>func</parameter>
 are: the <parameter>tree_view</parameter>
, the <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> being
dragged, the two <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> s determining the drop spot, and
<parameter>user_data</parameter>
.  If either of the <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> arguments for the drop spot
are <link linkend="NULL:CAPS"><literal>NULL</literal></link>, then they indicate an edge.  If <parameter>func</parameter>
 is set to be <link linkend="NULL:CAPS"><literal>NULL</literal></link>, then
<parameter>tree_view</parameter>
 reverts to the default behavior of allowing all columns to be
dropped everywhere.</para>
<refsect3 id="gtk-tree-view-set-column-drag-function.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>func</para></entry>
<entry role="parameter_description"><para>A function to determine which columns are reorderable, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>user_data</para></entry>
<entry role="parameter_description"><para>User data to be passed to <parameter>func</parameter>
, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>closure</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>destroy</para></entry>
<entry role="parameter_description"><para>Destroy notifier for <parameter>user_data</parameter>
, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-scroll-to-point" role="function">
<title>gtk_tree_view_scroll_to_point&#160;()</title>
<indexterm zone="gtk-tree-view-scroll-to-point"><primary>gtk_tree_view_scroll_to_point</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_scroll_to_point (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> tree_x</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> tree_y</parameter>);</programlisting>
<para>Scrolls the tree view such that the top-left corner of the visible
area is <parameter>tree_x</parameter>
, <parameter>tree_y</parameter>
, where <parameter>tree_x</parameter>
 and <parameter>tree_y</parameter>
 are specified
in tree coordinates.  The <parameter>tree_view</parameter>
 must be realized before
this function is called.  If it isn't, you probably want to be
using <link linkend="gtk-tree-view-scroll-to-cell"><function>gtk_tree_view_scroll_to_cell()</function></link>.</para>
<para>If either <parameter>tree_x</parameter>
 or <parameter>tree_y</parameter>
 are -1, then that direction isn’t scrolled.</para>
<refsect3 id="gtk-tree-view-scroll-to-point.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>tree_x</para></entry>
<entry role="parameter_description"><para>X coordinate of new top-left pixel of visible area, or -1</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>tree_y</para></entry>
<entry role="parameter_description"><para>Y coordinate of new top-left pixel of visible area, or -1</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-scroll-to-cell" role="function">
<title>gtk_tree_view_scroll_to_cell&#160;()</title>
<indexterm zone="gtk-tree-view-scroll-to-cell"><primary>gtk_tree_view_scroll_to_cell</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_scroll_to_cell (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                              <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path</parameter>,
                              <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *column</parameter>,
                              <parameter><link linkend="gboolean"><type>gboolean</type></link> use_align</parameter>,
                              <parameter><link linkend="gfloat"><type>gfloat</type></link> row_align</parameter>,
                              <parameter><link linkend="gfloat"><type>gfloat</type></link> col_align</parameter>);</programlisting>
<para>Moves the alignments of <parameter>tree_view</parameter>
 to the position specified by <parameter>column</parameter>
 and
<parameter>path</parameter>
.  If <parameter>column</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, then no horizontal scrolling occurs.  Likewise,
if <parameter>path</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link> no vertical scrolling occurs.  At a minimum, one of <parameter>column</parameter>

or <parameter>path</parameter>
 need to be non-<link linkend="NULL:CAPS"><literal>NULL</literal></link>.  <parameter>row_align</parameter>
 determines where the row is
placed, and <parameter>col_align</parameter>
 determines where <parameter>column</parameter>
 is placed.  Both are expected
to be between 0.0 and 1.0. 0.0 means left/top alignment, 1.0 means
right/bottom alignment, 0.5 means center.</para>
<para>If <parameter>use_align</parameter>
 is <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>, then the alignment arguments are ignored, and the
tree does the minimum amount of work to scroll the cell onto the screen.
This means that the cell will be scrolled to the edge closest to its current
position.  If the cell is currently visible on the screen, nothing is done.</para>
<para>This function only works if the model is set, and <parameter>path</parameter>
 is a valid row on the
model.  If the model changes before the <parameter>tree_view</parameter>
 is realized, the centered
path will be modified to reflect this change.</para>
<refsect3 id="gtk-tree-view-scroll-to-cell.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>The path of the row to move to, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> to move horizontally to, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>use_align</para></entry>
<entry role="parameter_description"><para>whether to use alignment arguments, or <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>row_align</para></entry>
<entry role="parameter_description"><para>The vertical alignment of the row specified by <parameter>path</parameter>
.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>col_align</para></entry>
<entry role="parameter_description"><para>The horizontal alignment of the column specified by <parameter>column</parameter>
.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-cursor" role="function">
<title>gtk_tree_view_set_cursor&#160;()</title>
<indexterm zone="gtk-tree-view-set-cursor"><primary>gtk_tree_view_set_cursor</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_cursor (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                          <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path</parameter>,
                          <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *focus_column</parameter>,
                          <parameter><link linkend="gboolean"><type>gboolean</type></link> start_editing</parameter>);</programlisting>
<para>Sets the current keyboard focus to be at <parameter>path</parameter>
, and selects it.  This is
useful when you want to focus the user’s attention on a particular row.  If
<parameter>focus_column</parameter>
 is not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, then focus is given to the column specified by 
it. Additionally, if <parameter>focus_column</parameter>
 is specified, and <parameter>start_editing</parameter>
 is 
<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, then editing should be started in the specified cell.  
This function is often followed by <parameter>gtk_widget_grab_focus</parameter>
 (<parameter>tree_view</parameter>
) 
in order to give keyboard focus to the widget.  Please note that editing 
can only happen when the widget is realized.</para>
<para>If <parameter>path</parameter>
 is invalid for <parameter>model</parameter>
, the current cursor (if any) will be unset
and the function will return without failing.</para>
<refsect3 id="gtk-tree-view-set-cursor.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreePath"><type>GtkTreePath</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>focus_column</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>start_editing</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the specified cell should start being edited.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-cursor-on-cell" role="function">
<title>gtk_tree_view_set_cursor_on_cell&#160;()</title>
<indexterm zone="gtk-tree-view-set-cursor-on-cell"><primary>gtk_tree_view_set_cursor_on_cell</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_cursor_on_cell (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                  <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path</parameter>,
                                  <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *focus_column</parameter>,
                                  <parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *focus_cell</parameter>,
                                  <parameter><link linkend="gboolean"><type>gboolean</type></link> start_editing</parameter>);</programlisting>
<para>Sets the current keyboard focus to be at <parameter>path</parameter>
, and selects it.  This is
useful when you want to focus the user’s attention on a particular row.  If
<parameter>focus_column</parameter>
 is not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, then focus is given to the column specified by
it. If <parameter>focus_column</parameter>
 and <parameter>focus_cell</parameter>
 are not <link linkend="NULL:CAPS"><literal>NULL</literal></link>, and <parameter>focus_column</parameter>

contains 2 or more editable or activatable cells, then focus is given to
the cell specified by <parameter>focus_cell</parameter>
. Additionally, if <parameter>focus_column</parameter>
 is
specified, and <parameter>start_editing</parameter>
 is <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, then editing should be started in
the specified cell.  This function is often followed by
<parameter>gtk_widget_grab_focus</parameter>
 (<parameter>tree_view</parameter>
) in order to give keyboard focus to the
widget.  Please note that editing can only happen when the widget is
realized.</para>
<para>If <parameter>path</parameter>
 is invalid for <parameter>model</parameter>
, the current cursor (if any) will be unset
and the function will return without failing.</para>
<refsect3 id="gtk-tree-view-set-cursor-on-cell.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreePath"><type>GtkTreePath</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>focus_column</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>focus_cell</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link>, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>start_editing</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the specified cell should start being edited.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-cursor" role="function">
<title>gtk_tree_view_get_cursor&#160;()</title>
<indexterm zone="gtk-tree-view-get-cursor"><primary>gtk_tree_view_get_cursor</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_get_cursor (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                          <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> **path</parameter>,
                          <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> **focus_column</parameter>);</programlisting>
<para>Fills in <parameter>path</parameter>
 and <parameter>focus_column</parameter>
 with the current path and focus column.  If
the cursor isn’t currently set, then *<parameter>path</parameter>
 will be <link linkend="NULL:CAPS"><literal>NULL</literal></link>.  If no column
currently has focus, then *<parameter>focus_column</parameter>
 will be <link linkend="NULL:CAPS"><literal>NULL</literal></link>.</para>
<para>The returned <link linkend="GtkTreePath"><type>GtkTreePath</type></link> must be freed with <link linkend="gtk-tree-path-free"><function>gtk_tree_path_free()</function></link> when
you are done with it.</para>
<refsect3 id="gtk-tree-view-get-cursor.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>A pointer to be
filled with the current cursor path, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>transfer full</acronym>][<acronym>optional</acronym>][<acronym>nullable</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>focus_column</para></entry>
<entry role="parameter_description"><para>A
pointer to be filled with the current focus column, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>transfer none</acronym>][<acronym>optional</acronym>][<acronym>nullable</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-row-activated" role="function">
<title>gtk_tree_view_row_activated&#160;()</title>
<indexterm zone="gtk-tree-view-row-activated"><primary>gtk_tree_view_row_activated</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_row_activated (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                             <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path</parameter>,
                             <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *column</parameter>);</programlisting>
<para>Activates the cell determined by <parameter>path</parameter>
 and <parameter>column</parameter>
.</para>
<refsect3 id="gtk-tree-view-row-activated.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>The <link linkend="GtkTreePath"><type>GtkTreePath</type></link> to be activated.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>The <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> to be activated.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-expand-all" role="function">
<title>gtk_tree_view_expand_all&#160;()</title>
<indexterm zone="gtk-tree-view-expand-all"><primary>gtk_tree_view_expand_all</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_expand_all (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Recursively expands all nodes in the <parameter>tree_view</parameter>
.</para>
<refsect3 id="gtk-tree-view-expand-all.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-collapse-all" role="function">
<title>gtk_tree_view_collapse_all&#160;()</title>
<indexterm zone="gtk-tree-view-collapse-all"><primary>gtk_tree_view_collapse_all</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_collapse_all (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Recursively collapses all visible, expanded nodes in <parameter>tree_view</parameter>
.</para>
<refsect3 id="gtk-tree-view-collapse-all.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-expand-to-path" role="function">
<title>gtk_tree_view_expand_to_path&#160;()</title>
<indexterm zone="gtk-tree-view-expand-to-path"><primary>gtk_tree_view_expand_to_path</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_expand_to_path (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                              <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path</parameter>);</programlisting>
<para>Expands the row at <parameter>path</parameter>
. This will also expand all parent rows of
<parameter>path</parameter>
 as necessary.</para>
<refsect3 id="gtk-tree-view-expand-to-path.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>path to a row.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-expand-row" role="function">
<title>gtk_tree_view_expand_row&#160;()</title>
<indexterm zone="gtk-tree-view-expand-row"><primary>gtk_tree_view_expand_row</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_expand_row (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                          <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path</parameter>,
                          <parameter><link linkend="gboolean"><type>gboolean</type></link> open_all</parameter>);</programlisting>
<para>Opens the row so its children are visible.</para>
<refsect3 id="gtk-tree-view-expand-row.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>path to a row</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>open_all</para></entry>
<entry role="parameter_description"><para>whether to recursively expand, or just expand immediate children</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-expand-row.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the row existed and had children</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-collapse-row" role="function">
<title>gtk_tree_view_collapse_row&#160;()</title>
<indexterm zone="gtk-tree-view-collapse-row"><primary>gtk_tree_view_collapse_row</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_collapse_row (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                            <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path</parameter>);</programlisting>
<para>Collapses a row (hides its child rows, if they exist).</para>
<refsect3 id="gtk-tree-view-collapse-row.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>path to a row in the <parameter>tree_view</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-collapse-row.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the row was collapsed.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-map-expanded-rows" role="function">
<title>gtk_tree_view_map_expanded_rows&#160;()</title>
<indexterm zone="gtk-tree-view-map-expanded-rows"><primary>gtk_tree_view_map_expanded_rows</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_map_expanded_rows (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                 <parameter><link linkend="GtkTreeViewMappingFunc"><type>GtkTreeViewMappingFunc</type></link> func</parameter>,
                                 <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
<para>Calls <parameter>func</parameter>
 on all expanded rows.</para>
<refsect3 id="gtk-tree-view-map-expanded-rows.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>func</para></entry>
<entry role="parameter_description"><para>A function to be called. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>scope call</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>User data to be passed to the function.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-row-expanded" role="function">
<title>gtk_tree_view_row_expanded&#160;()</title>
<indexterm zone="gtk-tree-view-row-expanded"><primary>gtk_tree_view_row_expanded</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_row_expanded (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                            <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path</parameter>);</programlisting>
<para>Returns <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the node pointed to by <parameter>path</parameter>
 is expanded in <parameter>tree_view</parameter>
.</para>
<refsect3 id="gtk-tree-view-row-expanded.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreePath"><type>GtkTreePath</type></link> to test expansion state.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-row-expanded.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <link linkend="path"><type>path</type></link> is expanded.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-reorderable" role="function">
<title>gtk_tree_view_set_reorderable&#160;()</title>
<indexterm zone="gtk-tree-view-set-reorderable"><primary>gtk_tree_view_set_reorderable</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_reorderable (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                               <parameter><link linkend="gboolean"><type>gboolean</type></link> reorderable</parameter>);</programlisting>
<para>This function is a convenience function to allow you to reorder
models that support the <link linkend="GtkTreeDragSourceIface"><type>GtkTreeDragSourceIface</type></link> and the
<link linkend="GtkTreeDragDestIface"><type>GtkTreeDragDestIface</type></link>.  Both <link linkend="GtkTreeStore"><type>GtkTreeStore</type></link> and <link linkend="GtkListStore"><type>GtkListStore</type></link> support
these.  If <parameter>reorderable</parameter>
 is <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, then the user can reorder the
model by dragging and dropping rows. The developer can listen to
these changes by connecting to the model’s <link linkend="GtkTreeModel-row-inserted"><type>“row-inserted”</type></link>
and <link linkend="GtkTreeModel-row-deleted"><type>“row-deleted”</type></link> signals. The reordering is implemented
by setting up the tree view as a drag source and destination.
Therefore, drag and drop can not be used in a reorderable view for any
other purpose.</para>
<para>This function does not give you any degree of control over the order -- any
reordering is allowed.  If more control is needed, you should probably
handle drag and drop manually.</para>
<refsect3 id="gtk-tree-view-set-reorderable.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>reorderable</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, if the tree can be reordered.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-reorderable" role="function">
<title>gtk_tree_view_get_reorderable&#160;()</title>
<indexterm zone="gtk-tree-view-get-reorderable"><primary>gtk_tree_view_get_reorderable</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_get_reorderable (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Retrieves whether the user can reorder the tree via drag-and-drop. See
<link linkend="gtk-tree-view-set-reorderable"><function>gtk_tree_view_set_reorderable()</function></link>.</para>
<refsect3 id="gtk-tree-view-get-reorderable.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-reorderable.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the tree can be reordered.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-path-at-pos" role="function">
<title>gtk_tree_view_get_path_at_pos&#160;()</title>
<indexterm zone="gtk-tree-view-get-path-at-pos"><primary>gtk_tree_view_get_path_at_pos</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_get_path_at_pos (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> x</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> y</parameter>,
                               <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> **path</parameter>,
                               <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> **column</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> *cell_x</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> *cell_y</parameter>);</programlisting>
<para>Finds the path at the point (<parameter>x</parameter>
, <parameter>y</parameter>
), relative to bin_window coordinates.
That is, <parameter>x</parameter>
 and <parameter>y</parameter>
 are relative to an events coordinates. Widget-relative
coordinates must be converted using
<link linkend="gtk-tree-view-convert-widget-to-bin-window-coords"><function>gtk_tree_view_convert_widget_to_bin_window_coords()</function></link>. It is primarily for
things like popup menus. If <parameter>path</parameter>
 is non-<link linkend="NULL:CAPS"><literal>NULL</literal></link>, then it will be filled
with the <link linkend="GtkTreePath"><type>GtkTreePath</type></link> at that point.  This path should be freed with
<link linkend="gtk-tree-path-free"><function>gtk_tree_path_free()</function></link>.  If <parameter>column</parameter>
 is non-<link linkend="NULL:CAPS"><literal>NULL</literal></link>, then it will be filled
with the column at that point.  <parameter>cell_x</parameter>
 and <parameter>cell_y</parameter>
 return the coordinates
relative to the cell background (i.e. the <parameter>background_area</parameter>
 passed to
<link linkend="gtk-cell-renderer-render"><function>gtk_cell_renderer_render()</function></link>).  This function is only meaningful if
<parameter>tree_view</parameter>
 is realized.  Therefore this function will always return <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>
if <parameter>tree_view</parameter>
 is not realized or does not have a model.</para>
<para>For converting widget coordinates (eg. the ones you get from
GtkWidget::query-tooltip), please see
<link linkend="gtk-tree-view-convert-widget-to-bin-window-coords"><function>gtk_tree_view_convert_widget_to_bin_window_coords()</function></link>.</para>
<refsect3 id="gtk-tree-view-get-path-at-pos.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>x</para></entry>
<entry role="parameter_description"><para>The x position to be identified (relative to bin_window).</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>y</para></entry>
<entry role="parameter_description"><para>The y position to be identified (relative to bin_window).</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>A pointer to a <link linkend="GtkTreePath"><type>GtkTreePath</type></link>
pointer to be filled in, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>][<acronym>nullable</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>A pointer to
a <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> pointer to be filled in, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>transfer none</acronym>][<acronym>optional</acronym>][<acronym>nullable</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>cell_x</para></entry>
<entry role="parameter_description"><para>A pointer where the X coordinate
relative to the cell can be placed, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>cell_y</para></entry>
<entry role="parameter_description"><para>A pointer where the Y coordinate
relative to the cell can be placed, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-path-at-pos.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if a row exists at that coordinate.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-is-blank-at-pos" role="function">
<title>gtk_tree_view_is_blank_at_pos&#160;()</title>
<indexterm zone="gtk-tree-view-is-blank-at-pos"><primary>gtk_tree_view_is_blank_at_pos</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_is_blank_at_pos (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> x</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> y</parameter>,
                               <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> **path</parameter>,
                               <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> **column</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> *cell_x</parameter>,
                               <parameter><link linkend="gint"><type>gint</type></link> *cell_y</parameter>);</programlisting>
<para>Determine whether the point (<parameter>x</parameter>
, <parameter>y</parameter>
) in <parameter>tree_view</parameter>
 is blank, that is no
cell content nor an expander arrow is drawn at the location. If so, the
location can be considered as the background. You might wish to take
special action on clicks on the background, such as clearing a current
selection, having a custom context menu or starting rubber banding.</para>
<para>The <parameter>x</parameter>
 and <parameter>y</parameter>
 coordinate that are provided must be relative to bin_window
coordinates.  Widget-relative coordinates must be converted using
<link linkend="gtk-tree-view-convert-widget-to-bin-window-coords"><function>gtk_tree_view_convert_widget_to_bin_window_coords()</function></link>.</para>
<para>For converting widget coordinates (eg. the ones you get from
GtkWidget::query-tooltip), please see
<link linkend="gtk-tree-view-convert-widget-to-bin-window-coords"><function>gtk_tree_view_convert_widget_to_bin_window_coords()</function></link>.</para>
<para>The <parameter>path</parameter>
, <parameter>column</parameter>
, <parameter>cell_x</parameter>
 and <parameter>cell_y</parameter>
 arguments will be filled in
likewise as for <link linkend="gtk-tree-view-get-path-at-pos"><function>gtk_tree_view_get_path_at_pos()</function></link>.  Please see
<link linkend="gtk-tree-view-get-path-at-pos"><function>gtk_tree_view_get_path_at_pos()</function></link> for more information.</para>
<refsect3 id="gtk-tree-view-is-blank-at-pos.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>x</para></entry>
<entry role="parameter_description"><para>The x position to be identified (relative to bin_window)</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>y</para></entry>
<entry role="parameter_description"><para>The y position to be identified (relative to bin_window)</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>A pointer to a <link linkend="GtkTreePath"><type>GtkTreePath</type></link> pointer to
be filled in, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>][<acronym>nullable</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>A pointer to a
<link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> pointer to be filled in, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>transfer none</acronym>][<acronym>optional</acronym>][<acronym>nullable</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>cell_x</para></entry>
<entry role="parameter_description"><para>A pointer where the X coordinate relative to the
cell can be placed, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>cell_y</para></entry>
<entry role="parameter_description"><para>A pointer where the Y coordinate relative to the
cell can be placed, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-is-blank-at-pos.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the area at the given coordinates is blank,
<link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-cell-area" role="function">
<title>gtk_tree_view_get_cell_area&#160;()</title>
<indexterm zone="gtk-tree-view-get-cell-area"><primary>gtk_tree_view_get_cell_area</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_get_cell_area (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                             <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path</parameter>,
                             <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *column</parameter>,
                             <parameter><link linkend="GdkRectangle"><type>GdkRectangle</type></link> *rect</parameter>);</programlisting>
<para>Fills the bounding rectangle in bin_window coordinates for the cell at the
row specified by <parameter>path</parameter>
 and the column specified by <parameter>column</parameter>
.  If <parameter>path</parameter>
 is
<link linkend="NULL:CAPS"><literal>NULL</literal></link>, or points to a path not currently displayed, the <parameter>y</parameter>
 and <parameter>height</parameter>
 fields
of the rectangle will be filled with 0. If <parameter>column</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, the <parameter>x</parameter>
 and <parameter>width</parameter>

fields will be filled with 0.  The sum of all cell rects does not cover the
entire tree; there are extra pixels in between rows, for example. The
returned rectangle is equivalent to the <parameter>cell_area</parameter>
 passed to
<link linkend="gtk-cell-renderer-render"><function>gtk_cell_renderer_render()</function></link>.  This function is only valid if <parameter>tree_view</parameter>
 is
realized.</para>
<refsect3 id="gtk-tree-view-get-cell-area.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreePath"><type>GtkTreePath</type></link> for the row, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to get only horizontal coordinates. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> for the column, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to get only vertical coordinates. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>rect</para></entry>
<entry role="parameter_description"><para>rectangle to fill with cell rect. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-background-area" role="function">
<title>gtk_tree_view_get_background_area&#160;()</title>
<indexterm zone="gtk-tree-view-get-background-area"><primary>gtk_tree_view_get_background_area</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_get_background_area (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                   <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path</parameter>,
                                   <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *column</parameter>,
                                   <parameter><link linkend="GdkRectangle"><type>GdkRectangle</type></link> *rect</parameter>);</programlisting>
<para>Fills the bounding rectangle in bin_window coordinates for the cell at the
row specified by <parameter>path</parameter>
 and the column specified by <parameter>column</parameter>
.  If <parameter>path</parameter>
 is
<link linkend="NULL:CAPS"><literal>NULL</literal></link>, or points to a node not found in the tree, the <parameter>y</parameter>
 and <parameter>height</parameter>
 fields of
the rectangle will be filled with 0. If <parameter>column</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, the <parameter>x</parameter>
 and <parameter>width</parameter>

fields will be filled with 0.  The returned rectangle is equivalent to the
<parameter>background_area</parameter>
 passed to <link linkend="gtk-cell-renderer-render"><function>gtk_cell_renderer_render()</function></link>.  These background
areas tile to cover the entire bin window.  Contrast with the <parameter>cell_area</parameter>
,
returned by <link linkend="gtk-tree-view-get-cell-area"><function>gtk_tree_view_get_cell_area()</function></link>, which returns only the cell
itself, excluding surrounding borders and the tree expander area.</para>
<refsect3 id="gtk-tree-view-get-background-area.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreePath"><type>GtkTreePath</type></link> for the row, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to get only horizontal coordinates. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> for the column, or <link linkend="NULL:CAPS"><literal>NULL</literal></link> to get only vertical coordiantes. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>rect</para></entry>
<entry role="parameter_description"><para>rectangle to fill with cell background rect. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-visible-rect" role="function">
<title>gtk_tree_view_get_visible_rect&#160;()</title>
<indexterm zone="gtk-tree-view-get-visible-rect"><primary>gtk_tree_view_get_visible_rect</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_get_visible_rect (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                <parameter><link linkend="GdkRectangle"><type>GdkRectangle</type></link> *visible_rect</parameter>);</programlisting>
<para>Fills <parameter>visible_rect</parameter>
 with the currently-visible region of the
buffer, in tree coordinates. Convert to bin_window coordinates with
<link linkend="gtk-tree-view-convert-tree-to-bin-window-coords"><function>gtk_tree_view_convert_tree_to_bin_window_coords()</function></link>.
Tree coordinates start at 0,0 for row 0 of the tree, and cover the entire
scrollable area of the tree.</para>
<refsect3 id="gtk-tree-view-get-visible-rect.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>visible_rect</para></entry>
<entry role="parameter_description"><para>rectangle to fill. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-visible-range" role="function">
<title>gtk_tree_view_get_visible_range&#160;()</title>
<indexterm zone="gtk-tree-view-get-visible-range"><primary>gtk_tree_view_get_visible_range</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_get_visible_range (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                 <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> **start_path</parameter>,
                                 <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> **end_path</parameter>);</programlisting>
<para>Sets <parameter>start_path</parameter>
 and <parameter>end_path</parameter>
 to be the first and last visible path.
Note that there may be invisible paths in between.</para>
<para>The paths should be freed with <link linkend="gtk-tree-path-free"><function>gtk_tree_path_free()</function></link> after use.</para>
<refsect3 id="gtk-tree-view-get-visible-range.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>start_path</para></entry>
<entry role="parameter_description"><para>Return location for start of region,
or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>end_path</para></entry>
<entry role="parameter_description"><para>Return location for end of region, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-visible-range.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, if valid paths were placed in <parameter>start_path</parameter>
and <parameter>end_path</parameter>
.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-convert-bin-window-to-tree-coords" role="function">
<title>gtk_tree_view_convert_bin_window_to_tree_coords&#160;()</title>
<indexterm zone="gtk-tree-view-convert-bin-window-to-tree-coords"><primary>gtk_tree_view_convert_bin_window_to_tree_coords</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_convert_bin_window_to_tree_coords
                               (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> bx</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> by</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *tx</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *ty</parameter>);</programlisting>
<para>Converts bin_window coordinates to coordinates for the
tree (the full scrollable area of the tree).</para>
<refsect3 id="gtk-tree-view-convert-bin-window-to-tree-coords.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>bx</para></entry>
<entry role="parameter_description"><para>X coordinate relative to bin_window</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>by</para></entry>
<entry role="parameter_description"><para>Y coordinate relative to bin_window</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>tx</para></entry>
<entry role="parameter_description"><para>return location for tree X coordinate. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>ty</para></entry>
<entry role="parameter_description"><para>return location for tree Y coordinate. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-convert-bin-window-to-widget-coords" role="function">
<title>gtk_tree_view_convert_bin_window_to_widget_coords&#160;()</title>
<indexterm zone="gtk-tree-view-convert-bin-window-to-widget-coords"><primary>gtk_tree_view_convert_bin_window_to_widget_coords</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_convert_bin_window_to_widget_coords
                               (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> bx</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> by</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *wx</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *wy</parameter>);</programlisting>
<para>Converts bin_window coordinates to widget relative coordinates.</para>
<refsect3 id="gtk-tree-view-convert-bin-window-to-widget-coords.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>bx</para></entry>
<entry role="parameter_description"><para>bin_window X coordinate</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>by</para></entry>
<entry role="parameter_description"><para>bin_window Y coordinate</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>wx</para></entry>
<entry role="parameter_description"><para>return location for widget X coordinate. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>wy</para></entry>
<entry role="parameter_description"><para>return location for widget Y coordinate. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-convert-tree-to-bin-window-coords" role="function">
<title>gtk_tree_view_convert_tree_to_bin_window_coords&#160;()</title>
<indexterm zone="gtk-tree-view-convert-tree-to-bin-window-coords"><primary>gtk_tree_view_convert_tree_to_bin_window_coords</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_convert_tree_to_bin_window_coords
                               (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> tx</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> ty</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *bx</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *by</parameter>);</programlisting>
<para>Converts tree coordinates (coordinates in full scrollable area of the tree)
to bin_window coordinates.</para>
<refsect3 id="gtk-tree-view-convert-tree-to-bin-window-coords.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>tx</para></entry>
<entry role="parameter_description"><para>tree X coordinate</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>ty</para></entry>
<entry role="parameter_description"><para>tree Y coordinate</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>bx</para></entry>
<entry role="parameter_description"><para>return location for X coordinate relative to bin_window. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>by</para></entry>
<entry role="parameter_description"><para>return location for Y coordinate relative to bin_window. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-convert-tree-to-widget-coords" role="function">
<title>gtk_tree_view_convert_tree_to_widget_coords&#160;()</title>
<indexterm zone="gtk-tree-view-convert-tree-to-widget-coords"><primary>gtk_tree_view_convert_tree_to_widget_coords</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_convert_tree_to_widget_coords
                               (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> tx</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> ty</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *wx</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *wy</parameter>);</programlisting>
<para>Converts tree coordinates (coordinates in full scrollable area of the tree)
to widget coordinates.</para>
<refsect3 id="gtk-tree-view-convert-tree-to-widget-coords.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>tx</para></entry>
<entry role="parameter_description"><para>X coordinate relative to the tree</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>ty</para></entry>
<entry role="parameter_description"><para>Y coordinate relative to the tree</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>wx</para></entry>
<entry role="parameter_description"><para>return location for widget X coordinate. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>wy</para></entry>
<entry role="parameter_description"><para>return location for widget Y coordinate. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-convert-widget-to-bin-window-coords" role="function">
<title>gtk_tree_view_convert_widget_to_bin_window_coords&#160;()</title>
<indexterm zone="gtk-tree-view-convert-widget-to-bin-window-coords"><primary>gtk_tree_view_convert_widget_to_bin_window_coords</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_convert_widget_to_bin_window_coords
                               (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> wx</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> wy</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *bx</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *by</parameter>);</programlisting>
<para>Converts widget coordinates to coordinates for the bin_window.</para>
<refsect3 id="gtk-tree-view-convert-widget-to-bin-window-coords.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>wx</para></entry>
<entry role="parameter_description"><para>X coordinate relative to the widget</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>wy</para></entry>
<entry role="parameter_description"><para>Y coordinate relative to the widget</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>bx</para></entry>
<entry role="parameter_description"><para>return location for bin_window X coordinate. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>by</para></entry>
<entry role="parameter_description"><para>return location for bin_window Y coordinate. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-convert-widget-to-tree-coords" role="function">
<title>gtk_tree_view_convert_widget_to_tree_coords&#160;()</title>
<indexterm zone="gtk-tree-view-convert-widget-to-tree-coords"><primary>gtk_tree_view_convert_widget_to_tree_coords</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_convert_widget_to_tree_coords
                               (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> wx</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> wy</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *tx</parameter>,
                                <parameter><link linkend="gint"><type>gint</type></link> *ty</parameter>);</programlisting>
<para>Converts widget coordinates to coordinates for the
tree (the full scrollable area of the tree).</para>
<refsect3 id="gtk-tree-view-convert-widget-to-tree-coords.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>wx</para></entry>
<entry role="parameter_description"><para>X coordinate relative to the widget</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>wy</para></entry>
<entry role="parameter_description"><para>Y coordinate relative to the widget</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>tx</para></entry>
<entry role="parameter_description"><para>return location for tree X coordinate. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>ty</para></entry>
<entry role="parameter_description"><para>return location for tree Y coordinate. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-enable-model-drag-dest" role="function">
<title>gtk_tree_view_enable_model_drag_dest&#160;()</title>
<indexterm zone="gtk-tree-view-enable-model-drag-dest"><primary>gtk_tree_view_enable_model_drag_dest</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_enable_model_drag_dest (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                      <parameter><link linkend="GdkContentFormats"><type>GdkContentFormats</type></link> *formats</parameter>,
                                      <parameter><link linkend="GdkDragAction"><type>GdkDragAction</type></link> actions</parameter>);</programlisting>
<para>Turns <parameter>tree_view</parameter>
 into a drop destination for automatic DND. Calling
this method sets <link linkend="GtkTreeView--reorderable"><type>“reorderable”</type></link> to <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>.</para>
<refsect3 id="gtk-tree-view-enable-model-drag-dest.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>formats</para></entry>
<entry role="parameter_description"><para>the target formats that the drag will support</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>actions</para></entry>
<entry role="parameter_description"><para>the bitmask of possible actions for a drag from this
widget</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-enable-model-drag-source" role="function">
<title>gtk_tree_view_enable_model_drag_source&#160;()</title>
<indexterm zone="gtk-tree-view-enable-model-drag-source"><primary>gtk_tree_view_enable_model_drag_source</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_enable_model_drag_source
                               (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                <parameter><link linkend="GdkModifierType"><type>GdkModifierType</type></link> start_button_mask</parameter>,
                                <parameter><link linkend="GdkContentFormats"><type>GdkContentFormats</type></link> *formats</parameter>,
                                <parameter><link linkend="GdkDragAction"><type>GdkDragAction</type></link> actions</parameter>);</programlisting>
<para>Turns <parameter>tree_view</parameter>
 into a drag source for automatic DND. Calling this
method sets <link linkend="GtkTreeView--reorderable"><type>“reorderable”</type></link> to <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>.</para>
<refsect3 id="gtk-tree-view-enable-model-drag-source.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>start_button_mask</para></entry>
<entry role="parameter_description"><para>Mask of allowed buttons to start drag</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>formats</para></entry>
<entry role="parameter_description"><para>the target formats that the drag will support</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>actions</para></entry>
<entry role="parameter_description"><para>the bitmask of possible actions for a drag from this
widget</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-unset-rows-drag-source" role="function">
<title>gtk_tree_view_unset_rows_drag_source&#160;()</title>
<indexterm zone="gtk-tree-view-unset-rows-drag-source"><primary>gtk_tree_view_unset_rows_drag_source</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_unset_rows_drag_source (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Undoes the effect of
<link linkend="gtk-tree-view-enable-model-drag-source"><function>gtk_tree_view_enable_model_drag_source()</function></link>. Calling this method sets
<link linkend="GtkTreeView--reorderable"><type>“reorderable”</type></link> to <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>.</para>
<refsect3 id="gtk-tree-view-unset-rows-drag-source.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-unset-rows-drag-dest" role="function">
<title>gtk_tree_view_unset_rows_drag_dest&#160;()</title>
<indexterm zone="gtk-tree-view-unset-rows-drag-dest"><primary>gtk_tree_view_unset_rows_drag_dest</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_unset_rows_drag_dest (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Undoes the effect of
<link linkend="gtk-tree-view-enable-model-drag-dest"><function>gtk_tree_view_enable_model_drag_dest()</function></link>. Calling this method sets
<link linkend="GtkTreeView--reorderable"><type>“reorderable”</type></link> to <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>.</para>
<refsect3 id="gtk-tree-view-unset-rows-drag-dest.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-drag-dest-row" role="function">
<title>gtk_tree_view_set_drag_dest_row&#160;()</title>
<indexterm zone="gtk-tree-view-set-drag-dest-row"><primary>gtk_tree_view_set_drag_dest_row</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_drag_dest_row (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                 <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path</parameter>,
                                 <parameter><link linkend="GtkTreeViewDropPosition"><type>GtkTreeViewDropPosition</type></link> pos</parameter>);</programlisting>
<para>Sets the row that is highlighted for feedback.
If <parameter>path</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, an existing highlight is removed.</para>
<refsect3 id="gtk-tree-view-set-drag-dest-row.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>The path of the row to highlight, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>pos</para></entry>
<entry role="parameter_description"><para>Specifies whether to drop before, after or into the row</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-drag-dest-row" role="function">
<title>gtk_tree_view_get_drag_dest_row&#160;()</title>
<indexterm zone="gtk-tree-view-get-drag-dest-row"><primary>gtk_tree_view_get_drag_dest_row</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_get_drag_dest_row (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                 <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> **path</parameter>,
                                 <parameter><link linkend="GtkTreeViewDropPosition"><type>GtkTreeViewDropPosition</type></link> *pos</parameter>);</programlisting>
<para>Gets information about the row that is highlighted for feedback.</para>
<refsect3 id="gtk-tree-view-get-drag-dest-row.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>Return location for the path of the highlighted row, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>][<acronym>nullable</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>pos</para></entry>
<entry role="parameter_description"><para>Return location for the drop position, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-dest-row-at-pos" role="function">
<title>gtk_tree_view_get_dest_row_at_pos&#160;()</title>
<indexterm zone="gtk-tree-view-get-dest-row-at-pos"><primary>gtk_tree_view_get_dest_row_at_pos</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_get_dest_row_at_pos (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                   <parameter><link linkend="gint"><type>gint</type></link> drag_x</parameter>,
                                   <parameter><link linkend="gint"><type>gint</type></link> drag_y</parameter>,
                                   <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> **path</parameter>,
                                   <parameter><link linkend="GtkTreeViewDropPosition"><type>GtkTreeViewDropPosition</type></link> *pos</parameter>);</programlisting>
<para>Determines the destination row for a given position.  <parameter>drag_x</parameter>
 and
<parameter>drag_y</parameter>
 are expected to be in widget coordinates.  This function is only
meaningful if <parameter>tree_view</parameter>
 is realized.  Therefore this function will always
return <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> if <parameter>tree_view</parameter>
 is not realized or does not have a model.</para>
<refsect3 id="gtk-tree-view-get-dest-row-at-pos.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>drag_x</para></entry>
<entry role="parameter_description"><para>the position to determine the destination row for</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>drag_y</para></entry>
<entry role="parameter_description"><para>the position to determine the destination row for</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>Return location for the path of
the highlighted row, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>][<acronym>nullable</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>pos</para></entry>
<entry role="parameter_description"><para>Return location for the drop position, or
<link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-dest-row-at-pos.returns" role="returns">
<title>Returns</title>
<para> whether there is a row at the given position, <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if this
is indeed the case.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-create-row-drag-icon" role="function">
<title>gtk_tree_view_create_row_drag_icon&#160;()</title>
<indexterm zone="gtk-tree-view-create-row-drag-icon"><primary>gtk_tree_view_create_row_drag_icon</primary></indexterm>
<programlisting language="C"><link linkend="GdkPaintable"><returnvalue>GdkPaintable</returnvalue></link>&#160;*
gtk_tree_view_create_row_drag_icon (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                    <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path</parameter>);</programlisting>
<para>Creates a <link linkend="cairo-surface-t"><type>cairo_surface_t</type></link> representation of the row at <parameter>path</parameter>
.  
This image is used for a drag icon.</para>
<refsect3 id="gtk-tree-view-create-row-drag-icon.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreePath"><type>GtkTreePath</type></link> in <parameter>tree_view</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-create-row-drag-icon.returns" role="returns">
<title>Returns</title>
<para>a newly-allocated surface of the drag icon. </para>
<para><emphasis role="annotation">[<acronym>transfer full</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-enable-search" role="function">
<title>gtk_tree_view_set_enable_search&#160;()</title>
<indexterm zone="gtk-tree-view-set-enable-search"><primary>gtk_tree_view_set_enable_search</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_enable_search (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                 <parameter><link linkend="gboolean"><type>gboolean</type></link> enable_search</parameter>);</programlisting>
<para>If <parameter>enable_search</parameter>
 is set, then the user can type in text to search through
the tree interactively (this is sometimes called "typeahead find").</para>
<para>Note that even if this is <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>, the user can still initiate a search 
using the “start-interactive-search” key binding.</para>
<refsect3 id="gtk-tree-view-set-enable-search.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>enable_search</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, if the user can search interactively</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-enable-search" role="function">
<title>gtk_tree_view_get_enable_search&#160;()</title>
<indexterm zone="gtk-tree-view-get-enable-search"><primary>gtk_tree_view_get_enable_search</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_get_enable_search (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns whether or not the tree allows to start interactive searching 
by typing in text.</para>
<refsect3 id="gtk-tree-view-get-enable-search.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-enable-search.returns" role="returns">
<title>Returns</title>
<para> whether or not to let the user search interactively</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-search-column" role="function">
<title>gtk_tree_view_get_search_column&#160;()</title>
<indexterm zone="gtk-tree-view-get-search-column"><primary>gtk_tree_view_get_search_column</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_tree_view_get_search_column (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Gets the column searched on by the interactive search code.</para>
<refsect3 id="gtk-tree-view-get-search-column.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-search-column.returns" role="returns">
<title>Returns</title>
<para> the column the interactive search code searches in.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-search-column" role="function">
<title>gtk_tree_view_set_search_column&#160;()</title>
<indexterm zone="gtk-tree-view-set-search-column"><primary>gtk_tree_view_set_search_column</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_search_column (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                 <parameter><link linkend="gint"><type>gint</type></link> column</parameter>);</programlisting>
<para>Sets <parameter>column</parameter>
 as the column where the interactive search code should
search in for the current model. </para>
<para>If the search column is set, users can use the “start-interactive-search”
key binding to bring up search popup. The enable-search property controls
whether simply typing text will also start an interactive search.</para>
<para>Note that <parameter>column</parameter>
 refers to a column of the current model. The search 
column is reset to -1 when the model is changed.</para>
<refsect3 id="gtk-tree-view-set-search-column.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>the column of the model to search in, or -1 to disable searching</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-search-equal-func" role="function">
<title>gtk_tree_view_get_search_equal_func&#160;()</title>
<indexterm zone="gtk-tree-view-get-search-equal-func"><primary>gtk_tree_view_get_search_equal_func</primary></indexterm>
<programlisting language="C"><link linkend="GtkTreeViewSearchEqualFunc"><returnvalue>GtkTreeViewSearchEqualFunc</returnvalue></link>
gtk_tree_view_get_search_equal_func (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns the compare function currently in use.</para>

<para><emphasis role="annotation">[<acronym>skip</acronym>]</emphasis></para><refsect3 id="gtk-tree-view-get-search-equal-func.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-search-equal-func.returns" role="returns">
<title>Returns</title>
<para> the currently used compare function for the search code.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-search-equal-func" role="function">
<title>gtk_tree_view_set_search_equal_func&#160;()</title>
<indexterm zone="gtk-tree-view-set-search-equal-func"><primary>gtk_tree_view_set_search_equal_func</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_search_equal_func (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                     <parameter><link linkend="GtkTreeViewSearchEqualFunc"><type>GtkTreeViewSearchEqualFunc</type></link> search_equal_func</parameter>,
                                     <parameter><link linkend="gpointer"><type>gpointer</type></link> search_user_data</parameter>,
                                     <parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> search_destroy</parameter>);</programlisting>
<para>Sets the compare function for the interactive search capabilities; note
that somewhat like <link linkend="strcmp"><function>strcmp()</function></link> returning 0 for equality
<link linkend="GtkTreeViewSearchEqualFunc"><type>GtkTreeViewSearchEqualFunc</type></link> returns <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> on matches.</para>
<refsect3 id="gtk-tree-view-set-search-equal-func.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>search_equal_func</para></entry>
<entry role="parameter_description"><para>the compare function to use during the search</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>search_user_data</para></entry>
<entry role="parameter_description"><para>user data to pass to <parameter>search_equal_func</parameter>
, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>search_destroy</para></entry>
<entry role="parameter_description"><para>Destroy notifier for <parameter>search_user_data</parameter>
, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-search-entry" role="function">
<title>gtk_tree_view_get_search_entry&#160;()</title>
<indexterm zone="gtk-tree-view-get-search-entry"><primary>gtk_tree_view_get_search_entry</primary></indexterm>
<programlisting language="C"><link linkend="GtkEditable"><returnvalue>GtkEditable</returnvalue></link>&#160;*
gtk_tree_view_get_search_entry (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns the <link linkend="GtkEntry"><type>GtkEntry</type></link> which is currently in use as interactive search
entry for <parameter>tree_view</parameter>
.  In case the built-in entry is being used, <link linkend="NULL:CAPS"><literal>NULL</literal></link>
will be returned.</para>
<refsect3 id="gtk-tree-view-get-search-entry.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-search-entry.returns" role="returns">
<title>Returns</title>
<para>the entry currently in use as search entry. </para>
<para><emphasis role="annotation">[<acronym>transfer none</acronym>]</emphasis></para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-search-entry" role="function">
<title>gtk_tree_view_set_search_entry&#160;()</title>
<indexterm zone="gtk-tree-view-set-search-entry"><primary>gtk_tree_view_set_search_entry</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_search_entry (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                <parameter><link linkend="GtkEditable"><type>GtkEditable</type></link> *entry</parameter>);</programlisting>
<para>Sets the entry which the interactive search code will use for this
<parameter>tree_view</parameter>
.  This is useful when you want to provide a search entry
in our interface at all time at a fixed position.  Passing <link linkend="NULL:CAPS"><literal>NULL</literal></link> for
<parameter>entry</parameter>
 will make the interactive search code use the built-in popup
entry again.</para>
<refsect3 id="gtk-tree-view-set-search-entry.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>A <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>entry</para></entry>
<entry role="parameter_description"><para>the entry the interactive search code of <parameter>tree_view</parameter>
should use or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-fixed-height-mode" role="function">
<title>gtk_tree_view_get_fixed_height_mode&#160;()</title>
<indexterm zone="gtk-tree-view-get-fixed-height-mode"><primary>gtk_tree_view_get_fixed_height_mode</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_get_fixed_height_mode (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns whether fixed height mode is turned on for <parameter>tree_view</parameter>
.</para>
<refsect3 id="gtk-tree-view-get-fixed-height-mode.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-fixed-height-mode.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>tree_view</parameter>
is in fixed height mode</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-fixed-height-mode" role="function">
<title>gtk_tree_view_set_fixed_height_mode&#160;()</title>
<indexterm zone="gtk-tree-view-set-fixed-height-mode"><primary>gtk_tree_view_set_fixed_height_mode</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_fixed_height_mode (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                     <parameter><link linkend="gboolean"><type>gboolean</type></link> enable</parameter>);</programlisting>
<para>Enables or disables the fixed height mode of <parameter>tree_view</parameter>
. 
Fixed height mode speeds up <link linkend="GtkTreeView"><type>GtkTreeView</type></link> by assuming that all 
rows have the same height. 
Only enable this option if all rows are the same height and all
columns are of type <link linkend="GTK-TREE-VIEW-COLUMN-FIXED:CAPS"><literal>GTK_TREE_VIEW_COLUMN_FIXED</literal></link>.</para>
<refsect3 id="gtk-tree-view-set-fixed-height-mode.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link> </para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>enable</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to enable fixed height mode</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-hover-selection" role="function">
<title>gtk_tree_view_get_hover_selection&#160;()</title>
<indexterm zone="gtk-tree-view-get-hover-selection"><primary>gtk_tree_view_get_hover_selection</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_get_hover_selection (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns whether hover selection mode is turned on for <parameter>tree_view</parameter>
.</para>
<refsect3 id="gtk-tree-view-get-hover-selection.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-hover-selection.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>tree_view</parameter>
is in hover selection mode</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-hover-selection" role="function">
<title>gtk_tree_view_set_hover_selection&#160;()</title>
<indexterm zone="gtk-tree-view-set-hover-selection"><primary>gtk_tree_view_set_hover_selection</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_hover_selection (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                   <parameter><link linkend="gboolean"><type>gboolean</type></link> hover</parameter>);</programlisting>
<para>Enables or disables the hover selection mode of <parameter>tree_view</parameter>
.
Hover selection makes the selected row follow the pointer.
Currently, this works only for the selection modes 
<link linkend="GTK-SELECTION-SINGLE:CAPS"><literal>GTK_SELECTION_SINGLE</literal></link> and <link linkend="GTK-SELECTION-BROWSE:CAPS"><literal>GTK_SELECTION_BROWSE</literal></link>.</para>
<refsect3 id="gtk-tree-view-set-hover-selection.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>hover</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to enable hover selection mode</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-hover-expand" role="function">
<title>gtk_tree_view_get_hover_expand&#160;()</title>
<indexterm zone="gtk-tree-view-get-hover-expand"><primary>gtk_tree_view_get_hover_expand</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_get_hover_expand (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns whether hover expansion mode is turned on for <parameter>tree_view</parameter>
.</para>
<refsect3 id="gtk-tree-view-get-hover-expand.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-hover-expand.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>tree_view</parameter>
is in hover expansion mode</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-hover-expand" role="function">
<title>gtk_tree_view_set_hover_expand&#160;()</title>
<indexterm zone="gtk-tree-view-set-hover-expand"><primary>gtk_tree_view_set_hover_expand</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_hover_expand (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                <parameter><link linkend="gboolean"><type>gboolean</type></link> expand</parameter>);</programlisting>
<para>Enables or disables the hover expansion mode of <parameter>tree_view</parameter>
.
Hover expansion makes rows expand or collapse if the pointer 
moves over them.</para>
<refsect3 id="gtk-tree-view-set-hover-expand.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>expand</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to enable hover selection mode</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GtkTreeViewRowSeparatorFunc" role="function">
<title>GtkTreeViewRowSeparatorFunc&#160;()</title>
<indexterm zone="GtkTreeViewRowSeparatorFunc"><primary>GtkTreeViewRowSeparatorFunc</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
<phrase role="c_punctuation">(</phrase>*GtkTreeViewRowSeparatorFunc<phrase role="c_punctuation">)</phrase> (<parameter><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> *model</parameter>,
                                <parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *iter</parameter>,
                                <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
<para>Function type for determining whether the row pointed to by <parameter>iter</parameter>
 should
be rendered as a separator. A common way to implement this is to have a
boolean column in the model, whose values the <link linkend="GtkTreeViewRowSeparatorFunc"><type>GtkTreeViewRowSeparatorFunc</type></link>
returns.</para>
<refsect3 id="GtkTreeViewRowSeparatorFunc.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>model</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> pointing at a row in <parameter>model</parameter>
</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>user data. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>closure</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="GtkTreeViewRowSeparatorFunc.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the row is a separator</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-row-separator-func" role="function">
<title>gtk_tree_view_get_row_separator_func&#160;()</title>
<indexterm zone="gtk-tree-view-get-row-separator-func"><primary>gtk_tree_view_get_row_separator_func</primary></indexterm>
<programlisting language="C"><link linkend="GtkTreeViewRowSeparatorFunc"><returnvalue>GtkTreeViewRowSeparatorFunc</returnvalue></link>
gtk_tree_view_get_row_separator_func (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns the current row separator function.</para>

<para><emphasis role="annotation">[<acronym>skip</acronym>]</emphasis></para><refsect3 id="gtk-tree-view-get-row-separator-func.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-row-separator-func.returns" role="returns">
<title>Returns</title>
<para> the current row separator function.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-row-separator-func" role="function">
<title>gtk_tree_view_set_row_separator_func&#160;()</title>
<indexterm zone="gtk-tree-view-set-row-separator-func"><primary>gtk_tree_view_set_row_separator_func</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_row_separator_func (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                      <parameter><link linkend="GtkTreeViewRowSeparatorFunc"><type>GtkTreeViewRowSeparatorFunc</type></link> func</parameter>,
                                      <parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>,
                                      <parameter><link linkend="GDestroyNotify"><type>GDestroyNotify</type></link> destroy</parameter>);</programlisting>
<para>Sets the row separator function, which is used to determine
whether a row should be drawn as a separator. If the row separator
function is <link linkend="NULL:CAPS"><literal>NULL</literal></link>, no separators are drawn. This is the default value.</para>
<refsect3 id="gtk-tree-view-set-row-separator-func.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>func</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeViewRowSeparatorFunc"><type>GtkTreeViewRowSeparatorFunc</type></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>data</para></entry>
<entry role="parameter_description"><para>user data to pass to <parameter>func</parameter>
, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>destroy</para></entry>
<entry role="parameter_description"><para>destroy notifier for <parameter>data</parameter>
, or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-rubber-banding" role="function">
<title>gtk_tree_view_get_rubber_banding&#160;()</title>
<indexterm zone="gtk-tree-view-get-rubber-banding"><primary>gtk_tree_view_get_rubber_banding</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_get_rubber_banding (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns whether rubber banding is turned on for <parameter>tree_view</parameter>
.  If the
selection mode is <link linkend="GTK-SELECTION-MULTIPLE:CAPS"><type>GTK_SELECTION_MULTIPLE</type></link>, rubber banding will allow the
user to select multiple rows by dragging the mouse.</para>
<refsect3 id="gtk-tree-view-get-rubber-banding.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-rubber-banding.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if rubber banding in <parameter>tree_view</parameter>
is enabled.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-rubber-banding" role="function">
<title>gtk_tree_view_set_rubber_banding&#160;()</title>
<indexterm zone="gtk-tree-view-set-rubber-banding"><primary>gtk_tree_view_set_rubber_banding</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_rubber_banding (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                  <parameter><link linkend="gboolean"><type>gboolean</type></link> enable</parameter>);</programlisting>
<para>Enables or disables rubber banding in <parameter>tree_view</parameter>
.  If the selection mode
is <link linkend="GTK-SELECTION-MULTIPLE:CAPS"><type>GTK_SELECTION_MULTIPLE</type></link>, rubber banding will allow the user to select
multiple rows by dragging the mouse.</para>
<refsect3 id="gtk-tree-view-set-rubber-banding.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>enable</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to enable rubber banding</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-is-rubber-banding-active" role="function">
<title>gtk_tree_view_is_rubber_banding_active&#160;()</title>
<indexterm zone="gtk-tree-view-is-rubber-banding-active"><primary>gtk_tree_view_is_rubber_banding_active</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_is_rubber_banding_active
                               (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns whether a rubber banding operation is currently being done
in <parameter>tree_view</parameter>
.</para>
<refsect3 id="gtk-tree-view-is-rubber-banding-active.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-is-rubber-banding-active.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if a rubber banding operation is currently being
done in <parameter>tree_view</parameter>
.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-enable-tree-lines" role="function">
<title>gtk_tree_view_get_enable_tree_lines&#160;()</title>
<indexterm zone="gtk-tree-view-get-enable-tree-lines"><primary>gtk_tree_view_get_enable_tree_lines</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_get_enable_tree_lines (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns whether or not tree lines are drawn in <parameter>tree_view</parameter>
.</para>
<refsect3 id="gtk-tree-view-get-enable-tree-lines.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-enable-tree-lines.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if tree lines are drawn in <parameter>tree_view</parameter>
, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>
otherwise.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-enable-tree-lines" role="function">
<title>gtk_tree_view_set_enable_tree_lines&#160;()</title>
<indexterm zone="gtk-tree-view-set-enable-tree-lines"><primary>gtk_tree_view_set_enable_tree_lines</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_enable_tree_lines (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                     <parameter><link linkend="gboolean"><type>gboolean</type></link> enabled</parameter>);</programlisting>
<para>Sets whether to draw lines interconnecting the expanders in <parameter>tree_view</parameter>
.
This does not have any visible effects for lists.</para>
<refsect3 id="gtk-tree-view-set-enable-tree-lines.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>enabled</para></entry>
<entry role="parameter_description"><para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to enable tree line drawing, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-grid-lines" role="function">
<title>gtk_tree_view_get_grid_lines&#160;()</title>
<indexterm zone="gtk-tree-view-get-grid-lines"><primary>gtk_tree_view_get_grid_lines</primary></indexterm>
<programlisting language="C"><link linkend="GtkTreeViewGridLines"><returnvalue>GtkTreeViewGridLines</returnvalue></link>
gtk_tree_view_get_grid_lines (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns which grid lines are enabled in <parameter>tree_view</parameter>
.</para>
<refsect3 id="gtk-tree-view-get-grid-lines.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-grid-lines.returns" role="returns">
<title>Returns</title>
<para> a <link linkend="GtkTreeViewGridLines"><type>GtkTreeViewGridLines</type></link> value indicating which grid lines
are enabled.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-grid-lines" role="function">
<title>gtk_tree_view_set_grid_lines&#160;()</title>
<indexterm zone="gtk-tree-view-set-grid-lines"><primary>gtk_tree_view_set_grid_lines</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_grid_lines (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                              <parameter><link linkend="GtkTreeViewGridLines"><type>GtkTreeViewGridLines</type></link> grid_lines</parameter>);</programlisting>
<para>Sets which grid lines to draw in <parameter>tree_view</parameter>
.</para>
<refsect3 id="gtk-tree-view-set-grid-lines.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>grid_lines</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeViewGridLines"><type>GtkTreeViewGridLines</type></link> value indicating which grid lines to
enable.</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-tooltip-row" role="function">
<title>gtk_tree_view_set_tooltip_row&#160;()</title>
<indexterm zone="gtk-tree-view-set-tooltip-row"><primary>gtk_tree_view_set_tooltip_row</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_tooltip_row (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                               <parameter><link linkend="GtkTooltip"><type>GtkTooltip</type></link> *tooltip</parameter>,
                               <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path</parameter>);</programlisting>
<para>Sets the tip area of <parameter>tooltip</parameter>
 to be the area covered by the row at <parameter>path</parameter>
.
See also <link linkend="gtk-tree-view-set-tooltip-column"><function>gtk_tree_view_set_tooltip_column()</function></link> for a simpler alternative.
See also <link linkend="gtk-tooltip-set-tip-area"><function>gtk_tooltip_set_tip_area()</function></link>.</para>
<refsect3 id="gtk-tree-view-set-tooltip-row.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>tooltip</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTooltip"><type>GtkTooltip</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreePath"><type>GtkTreePath</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-tooltip-cell" role="function">
<title>gtk_tree_view_set_tooltip_cell&#160;()</title>
<indexterm zone="gtk-tree-view-set-tooltip-cell"><primary>gtk_tree_view_set_tooltip_cell</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_tooltip_cell (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                <parameter><link linkend="GtkTooltip"><type>GtkTooltip</type></link> *tooltip</parameter>,
                                <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path</parameter>,
                                <parameter><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *column</parameter>,
                                <parameter><link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> *cell</parameter>);</programlisting>
<para>Sets the tip area of <parameter>tooltip</parameter>
 to the area <parameter>path</parameter>
, <parameter>column</parameter>
 and <parameter>cell</parameter>
 have
in common.  For example if <parameter>path</parameter>
 is <link linkend="NULL:CAPS"><literal>NULL</literal></link> and <parameter>column</parameter>
 is set, the tip
area will be set to the full area covered by <parameter>column</parameter>
.  See also
<link linkend="gtk-tooltip-set-tip-area"><function>gtk_tooltip_set_tip_area()</function></link>.</para>
<para>Note that if <parameter>path</parameter>
 is not specified and <parameter>cell</parameter>
 is set and part of a column
containing the expander, the tooltip might not show and hide at the correct
position.  In such cases <parameter>path</parameter>
 must be set to the current node under the
mouse cursor for this function to operate correctly.</para>
<para>See also <link linkend="gtk-tree-view-set-tooltip-column"><function>gtk_tree_view_set_tooltip_column()</function></link> for a simpler alternative.</para>
<refsect3 id="gtk-tree-view-set-tooltip-cell.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>tooltip</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTooltip"><type>GtkTooltip</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreePath"><type>GtkTreePath</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>cell</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>allow-none</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-tooltip-context" role="function">
<title>gtk_tree_view_get_tooltip_context&#160;()</title>
<indexterm zone="gtk-tree-view-get-tooltip-context"><primary>gtk_tree_view_get_tooltip_context</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
gtk_tree_view_get_tooltip_context (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                   <parameter><link linkend="gint"><type>gint</type></link> *x</parameter>,
                                   <parameter><link linkend="gint"><type>gint</type></link> *y</parameter>,
                                   <parameter><link linkend="gboolean"><type>gboolean</type></link> keyboard_tip</parameter>,
                                   <parameter><link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> **model</parameter>,
                                   <parameter><link linkend="GtkTreePath"><type>GtkTreePath</type></link> **path</parameter>,
                                   <parameter><link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *iter</parameter>);</programlisting>
<para>This function is supposed to be used in a <link linkend="GtkWidget-query-tooltip"><type>“query-tooltip”</type></link>
signal handler for <link linkend="GtkTreeView"><type>GtkTreeView</type></link>.  The <parameter>x</parameter>
, <parameter>y</parameter>
 and <parameter>keyboard_tip</parameter>
 values
which are received in the signal handler, should be passed to this
function without modification.</para>
<para>The return value indicates whether there is a tree view row at the given
coordinates (<link linkend="TRUE:CAPS"><literal>TRUE</literal></link>) or not (<link linkend="FALSE:CAPS"><literal>FALSE</literal></link>) for mouse tooltips.  For keyboard
tooltips the row returned will be the cursor row.  When <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>, then any of
<parameter>model</parameter>
, <parameter>path</parameter>
 and <parameter>iter</parameter>
 which have been provided will be set to point to
that row and the corresponding model.  <parameter>x</parameter>
 and <parameter>y</parameter>
 will always be converted
to be relative to <parameter>tree_view</parameter>
’s bin_window if <parameter>keyboard_tooltip</parameter>
 is <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>.</para>
<refsect3 id="gtk-tree-view-get-tooltip-context.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>x</para></entry>
<entry role="parameter_description"><para>the x coordinate (relative to widget coordinates). </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>inout</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>y</para></entry>
<entry role="parameter_description"><para>the y coordinate (relative to widget coordinates). </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>inout</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>keyboard_tip</para></entry>
<entry role="parameter_description"><para>whether this is a keyboard tooltip or not</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>model</para></entry>
<entry role="parameter_description"><para>a pointer to
receive a <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>][<acronym>nullable</acronym>][<acronym>transfer none</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>a pointer to receive a <link linkend="GtkTreePath"><type>GtkTreePath</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>a pointer to receive a <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> or <link linkend="NULL:CAPS"><literal>NULL</literal></link>. </para></entry>
<entry role="parameter_annotations"><emphasis role="annotation">[<acronym>out</acronym>][<acronym>optional</acronym>]</emphasis></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-tooltip-context.returns" role="returns">
<title>Returns</title>
<para> whether or not the given tooltip context points to a row.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-get-tooltip-column" role="function">
<title>gtk_tree_view_get_tooltip_column&#160;()</title>
<indexterm zone="gtk-tree-view-get-tooltip-column"><primary>gtk_tree_view_get_tooltip_column</primary></indexterm>
<programlisting language="C"><link linkend="gint"><returnvalue>gint</returnvalue></link>
gtk_tree_view_get_tooltip_column (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>);</programlisting>
<para>Returns the column of <parameter>tree_view</parameter>
’s model which is being used for
displaying tooltips on <parameter>tree_view</parameter>
’s rows.</para>
<refsect3 id="gtk-tree-view-get-tooltip-column.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="gtk-tree-view-get-tooltip-column.returns" role="returns">
<title>Returns</title>
<para> the index of the tooltip column that is currently being
used, or -1 if this is disabled.</para>
</refsect3></refsect2>
<refsect2 id="gtk-tree-view-set-tooltip-column" role="function">
<title>gtk_tree_view_set_tooltip_column&#160;()</title>
<indexterm zone="gtk-tree-view-set-tooltip-column"><primary>gtk_tree_view_set_tooltip_column</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
gtk_tree_view_set_tooltip_column (<parameter><link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view</parameter>,
                                  <parameter><link linkend="gint"><type>gint</type></link> column</parameter>);</programlisting>
<para>If you only plan to have simple (text-only) tooltips on full rows, you
can use this function to have <link linkend="GtkTreeView"><type>GtkTreeView</type></link> handle these automatically
for you. <parameter>column</parameter>
 should be set to the column in <parameter>tree_view</parameter>
’s model
containing the tooltip texts, or -1 to disable this feature.</para>
<para>When enabled, <link linkend="GtkWidget--has-tooltip"><type>“has-tooltip”</type></link> will be set to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> and
<parameter>tree_view</parameter>
 will connect a <link linkend="GtkWidget-query-tooltip"><type>“query-tooltip”</type></link> signal handler.</para>
<para>Note that the signal handler sets the text with <link linkend="gtk-tooltip-set-markup"><function>gtk_tooltip_set_markup()</function></link>,
so &amp;, &lt;, etc have to be escaped in the text.</para>
<refsect3 id="gtk-tree-view-set-tooltip-column.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>a <link linkend="GtkTreeView"><type>GtkTreeView</type></link></para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>an integer, which is a valid column number for <parameter>tree_view</parameter>
’s model</para></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkTreeView.other_details" role="details">
<title role="details.title">Types and Values</title>
<refsect2 id="GtkTreeView-struct" role="struct">
<title>GtkTreeView</title>
<indexterm zone="GtkTreeView-struct"><primary>GtkTreeView</primary></indexterm>
<programlisting language="C">typedef struct _GtkTreeView GtkTreeView;</programlisting>
</refsect2>
<refsect2 id="GtkTreeViewDropPosition" role="enum">
<title>enum GtkTreeViewDropPosition</title>
<indexterm zone="GtkTreeViewDropPosition"><primary>GtkTreeViewDropPosition</primary></indexterm>
<para>An enum for determining where a dropped row goes.</para>
<refsect3 id="GtkTreeViewDropPosition.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TREE-VIEW-DROP-BEFORE:CAPS">GTK_TREE_VIEW_DROP_BEFORE</para></entry>
<entry role="enum_member_description"><para>dropped row is inserted before</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TREE-VIEW-DROP-AFTER:CAPS">GTK_TREE_VIEW_DROP_AFTER</para></entry>
<entry role="enum_member_description"><para>dropped row is inserted after</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TREE-VIEW-DROP-INTO-OR-BEFORE:CAPS">GTK_TREE_VIEW_DROP_INTO_OR_BEFORE</para></entry>
<entry role="enum_member_description"><para>dropped row becomes a child or is inserted before</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TREE-VIEW-DROP-INTO-OR-AFTER:CAPS">GTK_TREE_VIEW_DROP_INTO_OR_AFTER</para></entry>
<entry role="enum_member_description"><para>dropped row becomes a child or is inserted after</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>
<refsect2 id="GtkTreeViewGridLines" role="enum">
<title>enum GtkTreeViewGridLines</title>
<indexterm zone="GtkTreeViewGridLines"><primary>GtkTreeViewGridLines</primary></indexterm>
<para>Used to indicate which grid lines to draw in a tree view.</para>
<refsect3 id="GtkTreeViewGridLines.members" role="enum_members">
<title>Members</title>
<informaltable role="enum_members_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="enum_members_name" colwidth="300px"/>
<colspec colname="enum_members_description"/>
<colspec colname="enum_members_annotations" colwidth="200px"/>
<tbody>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TREE-VIEW-GRID-LINES-NONE:CAPS">GTK_TREE_VIEW_GRID_LINES_NONE</para></entry>
<entry role="enum_member_description"><para>No grid lines.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TREE-VIEW-GRID-LINES-HORIZONTAL:CAPS">GTK_TREE_VIEW_GRID_LINES_HORIZONTAL</para></entry>
<entry role="enum_member_description"><para>Horizontal grid lines.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TREE-VIEW-GRID-LINES-VERTICAL:CAPS">GTK_TREE_VIEW_GRID_LINES_VERTICAL</para></entry>
<entry role="enum_member_description"><para>Vertical grid lines.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
<row role="constant"><entry role="enum_member_name"><para id="GTK-TREE-VIEW-GRID-LINES-BOTH:CAPS">GTK_TREE_VIEW_GRID_LINES_BOTH</para></entry>
<entry role="enum_member_description"><para>Horizontal and vertical grid lines.</para>
</entry>
<entry role="enum_member_annotations"></entry>
</row>
</tbody></tgroup></informaltable>
</refsect3></refsect2>

</refsect1>
<refsect1 id="GtkTreeView.property-details" role="property_details">
<title role="property_details.title">Property Details</title>
<refsect2 id="GtkTreeView--activate-on-single-click" role="property"><title>The <literal>“activate-on-single-click”</literal> property</title>
<indexterm zone="GtkTreeView--activate-on-single-click"><primary>GtkTreeView:activate-on-single-click</primary></indexterm>
<programlisting>  “activate-on-single-click” <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>The activate-on-single-click property specifies whether the "row-activated" signal
will be emitted after a single click.</para>
<para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkTreeView--enable-grid-lines" role="property"><title>The <literal>“enable-grid-lines”</literal> property</title>
<indexterm zone="GtkTreeView--enable-grid-lines"><primary>GtkTreeView:enable-grid-lines</primary></indexterm>
<programlisting>  “enable-grid-lines”        <link linkend="GtkTreeViewGridLines"><type>GtkTreeViewGridLines</type></link></programlisting>
<para>Whether grid lines should be drawn in the tree view.</para><para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
<para>Default value: GTK_TREE_VIEW_GRID_LINES_NONE</para>
</refsect2>
<refsect2 id="GtkTreeView--enable-search" role="property"><title>The <literal>“enable-search”</literal> property</title>
<indexterm zone="GtkTreeView--enable-search"><primary>GtkTreeView:enable-search</primary></indexterm>
<programlisting>  “enable-search”            <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>View allows user to search through columns interactively.</para><para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkTreeView--enable-tree-lines" role="property"><title>The <literal>“enable-tree-lines”</literal> property</title>
<indexterm zone="GtkTreeView--enable-tree-lines"><primary>GtkTreeView:enable-tree-lines</primary></indexterm>
<programlisting>  “enable-tree-lines”        <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether tree lines should be drawn in the tree view.</para><para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkTreeView--expander-column" role="property"><title>The <literal>“expander-column”</literal> property</title>
<indexterm zone="GtkTreeView--expander-column"><primary>GtkTreeView:expander-column</primary></indexterm>
<programlisting>  “expander-column”          <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link>&#160;*</programlisting>
<para>Set the column for the expander column.</para><para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkTreeView--fixed-height-mode" role="property"><title>The <literal>“fixed-height-mode”</literal> property</title>
<indexterm zone="GtkTreeView--fixed-height-mode"><primary>GtkTreeView:fixed-height-mode</primary></indexterm>
<programlisting>  “fixed-height-mode”        <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Setting the ::fixed-height-mode property to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> speeds up

<link linkend="GtkTreeView"><type>GtkTreeView</type></link> by assuming that all rows have the same height.

Only enable this option if all rows are the same height.

Please see <link linkend="gtk-tree-view-set-fixed-height-mode"><function>gtk_tree_view_set_fixed_height_mode()</function></link> for more

information on this option.</para>
<para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkTreeView--headers-clickable" role="property"><title>The <literal>“headers-clickable”</literal> property</title>
<indexterm zone="GtkTreeView--headers-clickable"><primary>GtkTreeView:headers-clickable</primary></indexterm>
<programlisting>  “headers-clickable”        <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Column headers respond to click events.</para><para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkTreeView--headers-visible" role="property"><title>The <literal>“headers-visible”</literal> property</title>
<indexterm zone="GtkTreeView--headers-visible"><primary>GtkTreeView:headers-visible</primary></indexterm>
<programlisting>  “headers-visible”          <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Show the column header buttons.</para><para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkTreeView--hover-expand" role="property"><title>The <literal>“hover-expand”</literal> property</title>
<indexterm zone="GtkTreeView--hover-expand"><primary>GtkTreeView:hover-expand</primary></indexterm>
<programlisting>  “hover-expand”             <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Enables or disables the hover expansion mode of <parameter>tree_view</parameter>
.
Hover expansion makes rows expand or collapse if the pointer moves

over them.</para>
<para>This mode is primarily intended for treeviews in popups, e.g.
in <link linkend="GtkComboBox"><type>GtkComboBox</type></link> or <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link>.</para>
<para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkTreeView--hover-selection" role="property"><title>The <literal>“hover-selection”</literal> property</title>
<indexterm zone="GtkTreeView--hover-selection"><primary>GtkTreeView:hover-selection</primary></indexterm>
<programlisting>  “hover-selection”          <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Enables or disables the hover selection mode of <parameter>tree_view</parameter>
.
Hover selection makes the selected row follow the pointer.
Currently, this works only for the selection modes

<link linkend="GTK-SELECTION-SINGLE:CAPS"><literal>GTK_SELECTION_SINGLE</literal></link> and <link linkend="GTK-SELECTION-BROWSE:CAPS"><literal>GTK_SELECTION_BROWSE</literal></link>.</para>
<para>This mode is primarily intended for treeviews in popups, e.g.
in <link linkend="GtkComboBox"><type>GtkComboBox</type></link> or <link linkend="GtkEntryCompletion"><type>GtkEntryCompletion</type></link>.</para>
<para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkTreeView--level-indentation" role="property"><title>The <literal>“level-indentation”</literal> property</title>
<indexterm zone="GtkTreeView--level-indentation"><primary>GtkTreeView:level-indentation</primary></indexterm>
<programlisting>  “level-indentation”        <link linkend="gint"><type>gint</type></link></programlisting>
<para>Extra indentation for each level.</para>
<para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= 0</para>
<para>Default value: 0</para>
</refsect2>
<refsect2 id="GtkTreeView--model" role="property"><title>The <literal>“model”</literal> property</title>
<indexterm zone="GtkTreeView--model"><primary>GtkTreeView:model</primary></indexterm>
<programlisting>  “model”                    <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link>&#160;*</programlisting>
<para>The model for the tree view.</para><para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
</refsect2>
<refsect2 id="GtkTreeView--reorderable" role="property"><title>The <literal>“reorderable”</literal> property</title>
<indexterm zone="GtkTreeView--reorderable"><primary>GtkTreeView:reorderable</primary></indexterm>
<programlisting>  “reorderable”              <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>View is reorderable.</para><para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkTreeView--rubber-banding" role="property"><title>The <literal>“rubber-banding”</literal> property</title>
<indexterm zone="GtkTreeView--rubber-banding"><primary>GtkTreeView:rubber-banding</primary></indexterm>
<programlisting>  “rubber-banding”           <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para>Whether to enable selection of multiple items by dragging the mouse pointer.</para><para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
<para>Default value: FALSE</para>
</refsect2>
<refsect2 id="GtkTreeView--search-column" role="property"><title>The <literal>“search-column”</literal> property</title>
<indexterm zone="GtkTreeView--search-column"><primary>GtkTreeView:search-column</primary></indexterm>
<programlisting>  “search-column”            <link linkend="gint"><type>gint</type></link></programlisting>
<para>Model column to search through during interactive search.</para><para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= -1</para>
<para>Default value: -1</para>
</refsect2>
<refsect2 id="GtkTreeView--show-expanders" role="property"><title>The <literal>“show-expanders”</literal> property</title>
<indexterm zone="GtkTreeView--show-expanders"><primary>GtkTreeView:show-expanders</primary></indexterm>
<programlisting>  “show-expanders”           <link linkend="gboolean"><type>gboolean</type></link></programlisting>
<para><link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if the view has expanders.</para>
<para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
<para>Default value: TRUE</para>
</refsect2>
<refsect2 id="GtkTreeView--tooltip-column" role="property"><title>The <literal>“tooltip-column”</literal> property</title>
<indexterm zone="GtkTreeView--tooltip-column"><primary>GtkTreeView:tooltip-column</primary></indexterm>
<programlisting>  “tooltip-column”           <link linkend="gint"><type>gint</type></link></programlisting>
<para>The column in the model containing the tooltip texts for the rows.</para><para>Owner: GtkTreeView</para>
<para>Flags: Read / Write</para>
<para>Allowed values: &gt;= -1</para>
<para>Default value: -1</para>
</refsect2>

</refsect1>
<refsect1 id="GtkTreeView.signal-details" role="signals">
<title role="signals.title">Signal Details</title>
<refsect2 id="GtkTreeView-columns-changed" role="signal"><title>The <literal>“columns-changed”</literal> signal</title>
<indexterm zone="GtkTreeView-columns-changed"><primary>GtkTreeView::columns-changed</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The number of columns of the treeview has changed.</para>
<refsect3 id="GtkTreeView-columns-changed.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>the object on which the signal is emitted </para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="GtkTreeView-cursor-changed" role="signal"><title>The <literal>“cursor-changed”</literal> signal</title>
<indexterm zone="GtkTreeView-cursor-changed"><primary>GtkTreeView::cursor-changed</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The position of the cursor (focused cell) has changed.</para>
<refsect3 id="GtkTreeView-cursor-changed.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>the object on which the signal is emitted</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="GtkTreeView-expand-collapse-cursor-row" role="signal"><title>The <literal>“expand-collapse-cursor-row”</literal> signal</title>
<indexterm zone="GtkTreeView-expand-collapse-cursor-row"><primary>GtkTreeView::expand-collapse-cursor-row</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkTreeView"><type>GtkTreeView</type></link> *treeview,
               <link linkend="gboolean"><type>gboolean</type></link>     arg1,
               <link linkend="gboolean"><type>gboolean</type></link>     arg2,
               <link linkend="gboolean"><type>gboolean</type></link>     arg3,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTreeView-move-cursor" role="signal"><title>The <literal>“move-cursor”</literal> signal</title>
<indexterm zone="GtkTreeView-move-cursor"><primary>GtkTreeView::move-cursor</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkTreeView"><type>GtkTreeView</type></link>    *tree_view,
               <link linkend="GtkMovementStep"><type>GtkMovementStep</type></link> step,
               <link linkend="gint"><type>gint</type></link>            direction,
               <link linkend="gboolean"><type>gboolean</type></link>        extend,
               <link linkend="gboolean"><type>gboolean</type></link>        modify,
               <link linkend="gpointer"><type>gpointer</type></link>        user_data)</programlisting>
<para>The <link linkend="GtkTreeView-move-cursor"><type>“move-cursor”</type></link> signal is a <link linkend="GtkBindingSignal">keybinding
signal</link> which gets emitted when the user
presses one of the cursor keys.</para>
<para>Applications should not connect to it, but may emit it with
<link linkend="g-signal-emit-by-name"><function>g_signal_emit_by_name()</function></link> if they need to control the cursor
programmatically. In contrast to <link linkend="gtk-tree-view-set-cursor"><function>gtk_tree_view_set_cursor()</function></link> and
<link linkend="gtk-tree-view-set-cursor-on-cell"><function>gtk_tree_view_set_cursor_on_cell()</function></link> when moving horizontally
<link linkend="GtkTreeView-move-cursor"><type>“move-cursor”</type></link> does not reset the current selection.</para>
<refsect3 id="GtkTreeView-move-cursor.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>the object on which the signal is emitted.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>step</para></entry>
<entry role="parameter_description"><para>the granularity of the move, as a <link linkend="GtkMovementStep"><type>GtkMovementStep</type></link>.
<link linkend="GTK-MOVEMENT-LOGICAL-POSITIONS:CAPS"><literal>GTK_MOVEMENT_LOGICAL_POSITIONS</literal></link>, <link linkend="GTK-MOVEMENT-VISUAL-POSITIONS:CAPS"><literal>GTK_MOVEMENT_VISUAL_POSITIONS</literal></link>,
<link linkend="GTK-MOVEMENT-DISPLAY-LINES:CAPS"><literal>GTK_MOVEMENT_DISPLAY_LINES</literal></link>, <link linkend="GTK-MOVEMENT-PAGES:CAPS"><literal>GTK_MOVEMENT_PAGES</literal></link> and
<link linkend="GTK-MOVEMENT-BUFFER-ENDS:CAPS"><literal>GTK_MOVEMENT_BUFFER_ENDS</literal></link> are supported.
<link linkend="GTK-MOVEMENT-LOGICAL-POSITIONS:CAPS"><literal>GTK_MOVEMENT_LOGICAL_POSITIONS</literal></link> and <link linkend="GTK-MOVEMENT-VISUAL-POSITIONS:CAPS"><literal>GTK_MOVEMENT_VISUAL_POSITIONS</literal></link>
are treated identically.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>direction</para></entry>
<entry role="parameter_description"><para>the direction to move: +1 to move forwards; -1 to move
backwards. The resulting movement is undefined for all other values.</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>extend</para></entry>
<entry role="parameter_description"><para>whether to extend the selection</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>modify</para></entry>
<entry role="parameter_description"><para>whether to modify the selection</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="GtkTreeView-move-cursor.returns" role="returns">
<title>Returns</title>
<para> <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> if <parameter>step</parameter>
is supported, <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> otherwise.</para>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTreeView-row-activated" role="signal"><title>The <literal>“row-activated”</literal> signal</title>
<indexterm zone="GtkTreeView-row-activated"><primary>GtkTreeView::row-activated</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTreeView"><type>GtkTreeView</type></link>       *tree_view,
               <link linkend="GtkTreePath"><type>GtkTreePath</type></link>       *path,
               <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> *column,
               <link linkend="gpointer"><type>gpointer</type></link>           user_data)</programlisting>
<para>The "row-activated" signal is emitted when the method
<link linkend="gtk-tree-view-row-activated"><function>gtk_tree_view_row_activated()</function></link> is called, when the user double
clicks a treeview row with the "activate-on-single-click"
property set to <link linkend="FALSE:CAPS"><literal>FALSE</literal></link>, or when the user single clicks a row when
the "activate-on-single-click" property set to <link linkend="TRUE:CAPS"><literal>TRUE</literal></link>. It is also
emitted when a non-editable row is selected and one of the keys:
Space, Shift+Space, Return or Enter is pressed.</para>
<para>For selection handling refer to the
<link linkend="TreeWidget">tree widget conceptual overview</link>
as well as <link linkend="GtkTreeSelection"><type>GtkTreeSelection</type></link>.</para>
<refsect3 id="GtkTreeView-row-activated.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>the object on which the signal is emitted</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkTreePath"><type>GtkTreePath</type></link> for the activated row</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>column</para></entry>
<entry role="parameter_description"><para>the <link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link> in which the activation occurred</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTreeView-row-collapsed" role="signal"><title>The <literal>“row-collapsed”</literal> signal</title>
<indexterm zone="GtkTreeView-row-collapsed"><primary>GtkTreeView::row-collapsed</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view,
               <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *iter,
               <link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The given row has been collapsed (child nodes are hidden).</para>
<refsect3 id="GtkTreeView-row-collapsed.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>the object on which the signal is emitted</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>the tree iter of the collapsed row</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>a tree path that points to the row </para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="GtkTreeView-row-expanded" role="signal"><title>The <literal>“row-expanded”</literal> signal</title>
<indexterm zone="GtkTreeView-row-expanded"><primary>GtkTreeView::row-expanded</primary></indexterm>
<programlisting language="C"><link linkend="void"><returnvalue>void</returnvalue></link>
user_function (<link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view,
               <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *iter,
               <link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The given row has been expanded (child nodes are shown).</para>
<refsect3 id="GtkTreeView-row-expanded.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>the object on which the signal is emitted</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>the tree iter of the expanded row</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>a tree path that points to the row </para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="GtkTreeView-select-all" role="signal"><title>The <literal>“select-all”</literal> signal</title>
<indexterm zone="GtkTreeView-select-all"><primary>GtkTreeView::select-all</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkTreeView"><type>GtkTreeView</type></link> *treeview,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTreeView-select-cursor-parent" role="signal"><title>The <literal>“select-cursor-parent”</literal> signal</title>
<indexterm zone="GtkTreeView-select-cursor-parent"><primary>GtkTreeView::select-cursor-parent</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkTreeView"><type>GtkTreeView</type></link> *treeview,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTreeView-select-cursor-row" role="signal"><title>The <literal>“select-cursor-row”</literal> signal</title>
<indexterm zone="GtkTreeView-select-cursor-row"><primary>GtkTreeView::select-cursor-row</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkTreeView"><type>GtkTreeView</type></link> *treeview,
               <link linkend="gboolean"><type>gboolean</type></link>     arg1,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTreeView-start-interactive-search" role="signal"><title>The <literal>“start-interactive-search”</literal> signal</title>
<indexterm zone="GtkTreeView-start-interactive-search"><primary>GtkTreeView::start-interactive-search</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkTreeView"><type>GtkTreeView</type></link> *treeview,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTreeView-test-collapse-row" role="signal"><title>The <literal>“test-collapse-row”</literal> signal</title>
<indexterm zone="GtkTreeView-test-collapse-row"><primary>GtkTreeView::test-collapse-row</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view,
               <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *iter,
               <link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The given row is about to be collapsed (hide its children nodes). Use this
signal if you need to control the collapsibility of individual rows.</para>
<refsect3 id="GtkTreeView-test-collapse-row.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>the object on which the signal is emitted</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>the tree iter of the row to collapse</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>a tree path that points to the row </para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="GtkTreeView-test-collapse-row.returns" role="returns">
<title>Returns</title>
<para> <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to allow collapsing, <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to reject</para>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="GtkTreeView-test-expand-row" role="signal"><title>The <literal>“test-expand-row”</literal> signal</title>
<indexterm zone="GtkTreeView-test-expand-row"><primary>GtkTreeView::test-expand-row</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkTreeView"><type>GtkTreeView</type></link> *tree_view,
               <link linkend="GtkTreeIter"><type>GtkTreeIter</type></link> *iter,
               <link linkend="GtkTreePath"><type>GtkTreePath</type></link> *path,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>The given row is about to be expanded (show its children nodes). Use this
signal if you need to control the expandability of individual rows.</para>
<refsect3 id="GtkTreeView-test-expand-row.parameters" role="parameters">
<title>Parameters</title>
<informaltable role="parameters_table" pgwide="1" frame="none">
<tgroup cols="3">
<colspec colname="parameters_name" colwidth="150px"/>
<colspec colname="parameters_description"/>
<colspec colname="parameters_annotations" colwidth="200px"/>
<tbody>
<row><entry role="parameter_name"><para>tree_view</para></entry>
<entry role="parameter_description"><para>the object on which the signal is emitted</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>iter</para></entry>
<entry role="parameter_description"><para>the tree iter of the row to expand</para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><para>path</para></entry>
<entry role="parameter_description"><para>a tree path that points to the row </para></entry>
<entry role="parameter_annotations"></entry></row>
<row><entry role="parameter_name"><simpara>user_data</simpara></entry>
<entry role="parameter_description"><simpara>user data set when the signal handler was connected.</simpara></entry>
<entry role="parameter_annotations"></entry></row>
</tbody></tgroup></informaltable>
</refsect3><refsect3 id="GtkTreeView-test-expand-row.returns" role="returns">
<title>Returns</title>
<para> <link linkend="FALSE:CAPS"><literal>FALSE</literal></link> to allow expansion, <link linkend="TRUE:CAPS"><literal>TRUE</literal></link> to reject</para>
</refsect3><para>Flags: <link linkend="G-SIGNAL-RUN-LAST:CAPS">Run Last</link></para>
</refsect2><refsect2 id="GtkTreeView-toggle-cursor-row" role="signal"><title>The <literal>“toggle-cursor-row”</literal> signal</title>
<indexterm zone="GtkTreeView-toggle-cursor-row"><primary>GtkTreeView::toggle-cursor-row</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkTreeView"><type>GtkTreeView</type></link> *treeview,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2><refsect2 id="GtkTreeView-unselect-all" role="signal"><title>The <literal>“unselect-all”</literal> signal</title>
<indexterm zone="GtkTreeView-unselect-all"><primary>GtkTreeView::unselect-all</primary></indexterm>
<programlisting language="C"><link linkend="gboolean"><returnvalue>gboolean</returnvalue></link>
user_function (<link linkend="GtkTreeView"><type>GtkTreeView</type></link> *treeview,
               <link linkend="gpointer"><type>gpointer</type></link>     user_data)</programlisting>
<para>Flags: <link linkend="G-SIGNAL-ACTION:CAPS">Action</link></para>
</refsect2>
</refsect1>
<refsect1 id="GtkTreeView.see-also">
<title>See Also</title>
<para><link linkend="GtkTreeViewColumn"><type>GtkTreeViewColumn</type></link>, <link linkend="GtkTreeSelection"><type>GtkTreeSelection</type></link>, <link linkend="GtkTreeModel"><type>GtkTreeModel</type></link>,
<link linkend="gtk3-GtkTreeView-drag-and-drop">GtkTreeView drag-and-drop</link>,
<link linkend="GtkTreeSortable"><type>GtkTreeSortable</type></link>, <link linkend="GtkTreeModelSort"><type>GtkTreeModelSort</type></link>, <link linkend="GtkListStore"><type>GtkListStore</type></link>, <link linkend="GtkTreeStore"><type>GtkTreeStore</type></link>,
<link linkend="GtkCellRenderer"><type>GtkCellRenderer</type></link>, <link linkend="GtkCellEditable"><type>GtkCellEditable</type></link>, <link linkend="GtkCellRendererPixbuf"><type>GtkCellRendererPixbuf</type></link>,
<link linkend="GtkCellRendererText"><type>GtkCellRendererText</type></link>, <link linkend="GtkCellRendererToggle"><type>GtkCellRendererToggle</type></link></para>

</refsect1>

</refentry>
