1 <!-- ##### SECTION Title ##### -->
4 <!-- ##### SECTION Short_Description ##### -->
5 A widget for displaying both trees and lists
7 <!-- ##### SECTION Long_Description ##### -->
9 Widget that displays any object that implements the <link
10 linkend="GtkTreeModel">GtkTreeModel</link> interface.
14 Please refer to the <link linkend="TreeWidget">tree widget conceptual overview</link>
15 for an overview of all the objects and data types related to the tree widget and how
19 <!-- ##### SECTION See_Also ##### -->
21 #GtkTreeViewColumn, #GtkTreeSelection, #GtkTreeDnd, #GtkTreeMode, #GtkTreeSortable, #GtkTreeModelSort, #GtkListStore, #GtkTreeStore, #GtkCellRenderer, #GtkCellEditable, #GtkCellRendererPixbuf, #GtkCellRendererText, #GtkCellRendererToggle
24 <!-- ##### SECTION Stability_Level ##### -->
27 <!-- ##### STRUCT GtkTreeView ##### -->
33 <!-- ##### SIGNAL GtkTreeView::columns-changed ##### -->
38 @treeview: the object which received the signal.
40 <!-- ##### SIGNAL GtkTreeView::cursor-changed ##### -->
45 @treeview: the object which received the signal.
47 <!-- ##### SIGNAL GtkTreeView::expand-collapse-cursor-row ##### -->
52 @treeview: the object which received the signal.
58 <!-- ##### SIGNAL GtkTreeView::move-cursor ##### -->
63 @treeview: the object which received the signal.
68 <!-- ##### SIGNAL GtkTreeView::row-activated ##### -->
73 @treeview: the object which received the signal.
77 <!-- ##### SIGNAL GtkTreeView::row-collapsed ##### -->
82 @treeview: the object which received the signal.
86 <!-- ##### SIGNAL GtkTreeView::row-expanded ##### -->
91 @treeview: the object which received the signal.
95 <!-- ##### SIGNAL GtkTreeView::select-all ##### -->
100 @treeview: the object which received the signal.
103 <!-- ##### SIGNAL GtkTreeView::select-cursor-parent ##### -->
108 @treeview: the object which received the signal.
111 <!-- ##### SIGNAL GtkTreeView::select-cursor-row ##### -->
116 @treeview: the object which received the signal.
120 <!-- ##### SIGNAL GtkTreeView::set-scroll-adjustments ##### -->
125 @treeview: the object which received the signal.
129 <!-- ##### SIGNAL GtkTreeView::start-interactive-search ##### -->
134 @treeview: the object which received the signal.
137 <!-- ##### SIGNAL GtkTreeView::test-collapse-row ##### -->
142 @treeview: the object which received the signal.
147 <!-- ##### SIGNAL GtkTreeView::test-expand-row ##### -->
152 @treeview: the object which received the signal.
157 <!-- ##### SIGNAL GtkTreeView::toggle-cursor-row ##### -->
162 @treeview: the object which received the signal.
165 <!-- ##### SIGNAL GtkTreeView::unselect-all ##### -->
170 @treeview: the object which received the signal.
173 <!-- ##### ARG GtkTreeView:enable-search ##### -->
178 <!-- ##### ARG GtkTreeView:expander-column ##### -->
183 <!-- ##### ARG GtkTreeView:fixed-height-mode ##### -->
188 <!-- ##### ARG GtkTreeView:hadjustment ##### -->
193 <!-- ##### ARG GtkTreeView:headers-clickable ##### -->
198 <!-- ##### ARG GtkTreeView:headers-visible ##### -->
203 <!-- ##### ARG GtkTreeView:hover-expand ##### -->
208 <!-- ##### ARG GtkTreeView:hover-selection ##### -->
213 <!-- ##### ARG GtkTreeView:level-indentation ##### -->
218 <!-- ##### ARG GtkTreeView:model ##### -->
223 <!-- ##### ARG GtkTreeView:reorderable ##### -->
228 <!-- ##### ARG GtkTreeView:rules-hint ##### -->
233 <!-- ##### ARG GtkTreeView:search-column ##### -->
238 <!-- ##### ARG GtkTreeView:show-expanders ##### -->
243 <!-- ##### ARG GtkTreeView:vadjustment ##### -->
248 <!-- ##### ARG GtkTreeView:allow-rules ##### -->
253 <!-- ##### ARG GtkTreeView:even-row-color ##### -->
258 <!-- ##### ARG GtkTreeView:expander-size ##### -->
263 <!-- ##### ARG GtkTreeView:horizontal-separator ##### -->
268 <!-- ##### ARG GtkTreeView:indent-expanders ##### -->
273 <!-- ##### ARG GtkTreeView:odd-row-color ##### -->
278 <!-- ##### ARG GtkTreeView:row-ending-details ##### -->
283 <!-- ##### ARG GtkTreeView:vertical-separator ##### -->
288 <!-- ##### ENUM GtkTreeViewDropPosition ##### -->
290 An enum for determining where a dropped row goes.
293 @GTK_TREE_VIEW_DROP_BEFORE: dropped row is inserted before
294 @GTK_TREE_VIEW_DROP_AFTER: dropped row is inserted after
295 @GTK_TREE_VIEW_DROP_INTO_OR_BEFORE: dropped row becomes a child or is inserted before
296 @GTK_TREE_VIEW_DROP_INTO_OR_AFTER: dropped row becomes a child or is inserted after
298 <!-- ##### STRUCT GtkTreeViewPrivate ##### -->
300 A private struct for internal use only. The definition of this
301 structure is not publically available.
305 <!-- ##### USER_FUNCTION GtkTreeViewColumnDropFunc ##### -->
307 Function type for determining whether @column can be dropped in a
308 particular spot (as determined by @prev_column and @next_column). In
309 left to right locales, @prev_column is on the left of the potential drop
310 spot, and @next_column is on the right. In right to left mode, this is
311 reversed. This function should return %TRUE if the spot is a valid drop
312 spot. Please note that returning %TRUE does not actually indicate that
313 the column drop was made, but is meant only to indicate a possible drop
317 @tree_view: A #GtkTreeView
318 @column: The #GtkTreeViewColumn being dragged
319 @prev_column: A #GtkTreeViewColumn on one side of @column
320 @next_column: A #GtkTreeViewColumn on the other side of @column
322 @Returns: %TRUE, if #column can be dropped in this spot
325 <!-- ##### USER_FUNCTION GtkTreeViewMappingFunc ##### -->
327 Function used for #gtk_tree_view_map_expanded_rows.
330 @tree_view: A #GtkTreeView
331 @path: The path that's expanded
332 @user_data: user data
335 <!-- ##### USER_FUNCTION GtkTreeViewSearchEqualFunc ##### -->
337 A function used for checking whether a row in @model matches
338 a search key string entered by the user. Note the return value
339 is reversed from what you would normally expect, though it
340 has some similarity to strcmp() returning 0 for equal strings.
343 @model: the #GtkTreeModel being searched
344 @column: the search column set by gtk_tree_view_set_search_column()
345 @key: the key string to compare with
346 @iter: a #GtkTreeIter pointing the row of @model that should be compared
348 @search_data: user data from gtk_tree_view_set_search_equal_func()
349 @Returns: %FALSE if the row matches, %TRUE otherwise.
352 <!-- ##### FUNCTION gtk_tree_view_new ##### -->
360 <!-- ##### FUNCTION gtk_tree_view_new_with_model ##### -->
369 <!-- ##### FUNCTION gtk_tree_view_get_model ##### -->
378 <!-- ##### FUNCTION gtk_tree_view_set_model ##### -->
387 <!-- ##### FUNCTION gtk_tree_view_get_selection ##### -->
396 <!-- ##### FUNCTION gtk_tree_view_get_hadjustment ##### -->
405 <!-- ##### FUNCTION gtk_tree_view_set_hadjustment ##### -->
414 <!-- ##### FUNCTION gtk_tree_view_get_vadjustment ##### -->
423 <!-- ##### FUNCTION gtk_tree_view_set_vadjustment ##### -->
432 <!-- ##### FUNCTION gtk_tree_view_get_headers_visible ##### -->
441 <!-- ##### FUNCTION gtk_tree_view_set_headers_visible ##### -->
450 <!-- ##### FUNCTION gtk_tree_view_columns_autosize ##### -->
458 <!-- ##### FUNCTION gtk_tree_view_get_headers_clickable ##### -->
467 <!-- ##### FUNCTION gtk_tree_view_set_headers_clickable ##### -->
476 <!-- ##### FUNCTION gtk_tree_view_set_rules_hint ##### -->
485 <!-- ##### FUNCTION gtk_tree_view_get_rules_hint ##### -->
494 <!-- ##### FUNCTION gtk_tree_view_append_column ##### -->
504 <!-- ##### FUNCTION gtk_tree_view_remove_column ##### -->
514 <!-- ##### FUNCTION gtk_tree_view_insert_column ##### -->
525 <!-- ##### FUNCTION gtk_tree_view_insert_column_with_attributes ##### -->
538 <!-- ##### FUNCTION gtk_tree_view_insert_column_with_data_func ##### -->
553 <!-- ##### FUNCTION gtk_tree_view_get_column ##### -->
563 <!-- ##### FUNCTION gtk_tree_view_get_columns ##### -->
572 <!-- ##### FUNCTION gtk_tree_view_move_column_after ##### -->
582 <!-- ##### FUNCTION gtk_tree_view_set_expander_column ##### -->
591 <!-- ##### FUNCTION gtk_tree_view_get_expander_column ##### -->
600 <!-- ##### FUNCTION gtk_tree_view_set_column_drag_function ##### -->
611 <!-- ##### FUNCTION gtk_tree_view_scroll_to_point ##### -->
621 <!-- ##### FUNCTION gtk_tree_view_scroll_to_cell ##### -->
634 <!-- ##### FUNCTION gtk_tree_view_set_cursor ##### -->
645 <!-- ##### FUNCTION gtk_tree_view_set_cursor_on_cell ##### -->
657 <!-- ##### FUNCTION gtk_tree_view_get_cursor ##### -->
667 <!-- ##### FUNCTION gtk_tree_view_row_activated ##### -->
677 <!-- ##### FUNCTION gtk_tree_view_expand_all ##### -->
685 <!-- ##### FUNCTION gtk_tree_view_collapse_all ##### -->
693 <!-- ##### FUNCTION gtk_tree_view_expand_to_path ##### -->
702 <!-- ##### FUNCTION gtk_tree_view_expand_row ##### -->
713 <!-- ##### FUNCTION gtk_tree_view_collapse_row ##### -->
723 <!-- ##### FUNCTION gtk_tree_view_map_expanded_rows ##### -->
733 <!-- ##### FUNCTION gtk_tree_view_row_expanded ##### -->
743 <!-- ##### FUNCTION gtk_tree_view_set_reorderable ##### -->
752 <!-- ##### FUNCTION gtk_tree_view_get_reorderable ##### -->
761 <!-- ##### FUNCTION gtk_tree_view_get_path_at_pos ##### -->
776 <!-- ##### FUNCTION gtk_tree_view_get_cell_area ##### -->
787 <!-- ##### FUNCTION gtk_tree_view_get_background_area ##### -->
798 <!-- ##### FUNCTION gtk_tree_view_get_visible_rect ##### -->
807 <!-- ##### FUNCTION gtk_tree_view_get_visible_range ##### -->
818 <!-- ##### FUNCTION gtk_tree_view_get_bin_window ##### -->
827 <!-- ##### FUNCTION gtk_tree_view_widget_to_tree_coords ##### -->
839 <!-- ##### FUNCTION gtk_tree_view_tree_to_widget_coords ##### -->
851 <!-- ##### FUNCTION gtk_tree_view_enable_model_drag_dest ##### -->
862 <!-- ##### FUNCTION gtk_tree_view_enable_model_drag_source ##### -->
874 <!-- ##### FUNCTION gtk_tree_view_unset_rows_drag_source ##### -->
882 <!-- ##### FUNCTION gtk_tree_view_unset_rows_drag_dest ##### -->
890 <!-- ##### FUNCTION gtk_tree_view_set_drag_dest_row ##### -->
900 <!-- ##### FUNCTION gtk_tree_view_get_drag_dest_row ##### -->
910 <!-- ##### FUNCTION gtk_tree_view_get_dest_row_at_pos ##### -->
923 <!-- ##### FUNCTION gtk_tree_view_create_row_drag_icon ##### -->
933 <!-- ##### FUNCTION gtk_tree_view_set_enable_search ##### -->
942 <!-- ##### FUNCTION gtk_tree_view_get_enable_search ##### -->
951 <!-- ##### FUNCTION gtk_tree_view_get_search_column ##### -->
960 <!-- ##### FUNCTION gtk_tree_view_set_search_column ##### -->
969 <!-- ##### FUNCTION gtk_tree_view_get_search_equal_func ##### -->
978 <!-- ##### FUNCTION gtk_tree_view_set_search_equal_func ##### -->
989 <!-- ##### FUNCTION gtk_tree_view_get_search_entry ##### -->
998 <!-- ##### FUNCTION gtk_tree_view_set_search_entry ##### -->
1007 <!-- ##### USER_FUNCTION GtkTreeViewSearchPositionFunc ##### -->
1017 <!-- ##### FUNCTION gtk_tree_view_get_search_position_func ##### -->
1026 <!-- ##### FUNCTION gtk_tree_view_set_search_position_func ##### -->
1037 <!-- ##### FUNCTION gtk_tree_view_get_fixed_height_mode ##### -->
1046 <!-- ##### FUNCTION gtk_tree_view_set_fixed_height_mode ##### -->
1055 <!-- ##### FUNCTION gtk_tree_view_get_hover_selection ##### -->
1064 <!-- ##### FUNCTION gtk_tree_view_set_hover_selection ##### -->
1073 <!-- ##### FUNCTION gtk_tree_view_get_hover_expand ##### -->
1082 <!-- ##### FUNCTION gtk_tree_view_set_hover_expand ##### -->
1091 <!-- ##### USER_FUNCTION GtkTreeDestroyCountFunc ##### -->
1102 <!-- ##### FUNCTION gtk_tree_view_set_destroy_count_func ##### -->
1113 <!-- ##### USER_FUNCTION GtkTreeViewRowSeparatorFunc ##### -->
1115 Function type for determining whether the row pointed to by @iter should
1116 be rendered as a separator. A common way to implement this is to have a
1117 boolean column in the model, whose values the #GtkTreeViewRowSeparatorFunc
1121 @model: the #GtkTreeModel
1122 @iter: a #GtkTreeIter pointing at a row in @model
1124 @Returns: %TRUE if the row is a separator
1127 <!-- ##### FUNCTION gtk_tree_view_get_row_separator_func ##### -->
1136 <!-- ##### FUNCTION gtk_tree_view_set_row_separator_func ##### -->