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-grid-lines ##### -->
178 <!-- ##### ARG GtkTreeView:enable-search ##### -->
183 <!-- ##### ARG GtkTreeView:enable-tree-lines ##### -->
188 <!-- ##### ARG GtkTreeView:expander-column ##### -->
193 <!-- ##### ARG GtkTreeView:fixed-height-mode ##### -->
198 <!-- ##### ARG GtkTreeView:hadjustment ##### -->
203 <!-- ##### ARG GtkTreeView:headers-clickable ##### -->
208 <!-- ##### ARG GtkTreeView:headers-visible ##### -->
213 <!-- ##### ARG GtkTreeView:hover-expand ##### -->
218 <!-- ##### ARG GtkTreeView:hover-selection ##### -->
223 <!-- ##### ARG GtkTreeView:level-indentation ##### -->
228 <!-- ##### ARG GtkTreeView:model ##### -->
233 <!-- ##### ARG GtkTreeView:reorderable ##### -->
238 <!-- ##### ARG GtkTreeView:rubber-banding ##### -->
243 <!-- ##### ARG GtkTreeView:rules-hint ##### -->
248 <!-- ##### ARG GtkTreeView:search-column ##### -->
253 <!-- ##### ARG GtkTreeView:show-expanders ##### -->
258 <!-- ##### ARG GtkTreeView:vadjustment ##### -->
263 <!-- ##### ARG GtkTreeView:allow-rules ##### -->
268 <!-- ##### ARG GtkTreeView:even-row-color ##### -->
273 <!-- ##### ARG GtkTreeView:expander-size ##### -->
278 <!-- ##### ARG GtkTreeView:grid-line-pattern ##### -->
283 <!-- ##### ARG GtkTreeView:grid-line-width ##### -->
288 <!-- ##### ARG GtkTreeView:horizontal-separator ##### -->
293 <!-- ##### ARG GtkTreeView:indent-expanders ##### -->
298 <!-- ##### ARG GtkTreeView:odd-row-color ##### -->
303 <!-- ##### ARG GtkTreeView:row-ending-details ##### -->
308 <!-- ##### ARG GtkTreeView:tree-line-pattern ##### -->
313 <!-- ##### ARG GtkTreeView:tree-line-width ##### -->
318 <!-- ##### ARG GtkTreeView:vertical-separator ##### -->
323 <!-- ##### ENUM GtkTreeViewDropPosition ##### -->
325 An enum for determining where a dropped row goes.
328 @GTK_TREE_VIEW_DROP_BEFORE: dropped row is inserted before
329 @GTK_TREE_VIEW_DROP_AFTER: dropped row is inserted after
330 @GTK_TREE_VIEW_DROP_INTO_OR_BEFORE: dropped row becomes a child or is inserted before
331 @GTK_TREE_VIEW_DROP_INTO_OR_AFTER: dropped row becomes a child or is inserted after
333 <!-- ##### STRUCT GtkTreeViewPrivate ##### -->
335 A private struct for internal use only. The definition of this
336 structure is not publically available.
340 <!-- ##### USER_FUNCTION GtkTreeViewColumnDropFunc ##### -->
342 Function type for determining whether @column can be dropped in a
343 particular spot (as determined by @prev_column and @next_column). In
344 left to right locales, @prev_column is on the left of the potential drop
345 spot, and @next_column is on the right. In right to left mode, this is
346 reversed. This function should return %TRUE if the spot is a valid drop
347 spot. Please note that returning %TRUE does not actually indicate that
348 the column drop was made, but is meant only to indicate a possible drop
352 @tree_view: A #GtkTreeView
353 @column: The #GtkTreeViewColumn being dragged
354 @prev_column: A #GtkTreeViewColumn on one side of @column
355 @next_column: A #GtkTreeViewColumn on the other side of @column
357 @Returns: %TRUE, if #column can be dropped in this spot
360 <!-- ##### USER_FUNCTION GtkTreeViewMappingFunc ##### -->
362 Function used for #gtk_tree_view_map_expanded_rows.
365 @tree_view: A #GtkTreeView
366 @path: The path that's expanded
367 @user_data: user data
370 <!-- ##### USER_FUNCTION GtkTreeViewSearchEqualFunc ##### -->
372 A function used for checking whether a row in @model matches
373 a search key string entered by the user. Note the return value
374 is reversed from what you would normally expect, though it
375 has some similarity to strcmp() returning 0 for equal strings.
378 @model: the #GtkTreeModel being searched
379 @column: the search column set by gtk_tree_view_set_search_column()
380 @key: the key string to compare with
381 @iter: a #GtkTreeIter pointing the row of @model that should be compared
383 @search_data: user data from gtk_tree_view_set_search_equal_func()
384 @Returns: %FALSE if the row matches, %TRUE otherwise.
387 <!-- ##### FUNCTION gtk_tree_view_new ##### -->
395 <!-- ##### FUNCTION gtk_tree_view_new_with_model ##### -->
404 <!-- ##### FUNCTION gtk_tree_view_get_model ##### -->
413 <!-- ##### FUNCTION gtk_tree_view_set_model ##### -->
422 <!-- ##### FUNCTION gtk_tree_view_get_selection ##### -->
431 <!-- ##### FUNCTION gtk_tree_view_get_hadjustment ##### -->
440 <!-- ##### FUNCTION gtk_tree_view_set_hadjustment ##### -->
449 <!-- ##### FUNCTION gtk_tree_view_get_vadjustment ##### -->
458 <!-- ##### FUNCTION gtk_tree_view_set_vadjustment ##### -->
467 <!-- ##### FUNCTION gtk_tree_view_get_headers_visible ##### -->
476 <!-- ##### FUNCTION gtk_tree_view_set_headers_visible ##### -->
485 <!-- ##### FUNCTION gtk_tree_view_columns_autosize ##### -->
493 <!-- ##### FUNCTION gtk_tree_view_get_headers_clickable ##### -->
502 <!-- ##### FUNCTION gtk_tree_view_set_headers_clickable ##### -->
511 <!-- ##### FUNCTION gtk_tree_view_set_rules_hint ##### -->
520 <!-- ##### FUNCTION gtk_tree_view_get_rules_hint ##### -->
529 <!-- ##### FUNCTION gtk_tree_view_append_column ##### -->
539 <!-- ##### FUNCTION gtk_tree_view_remove_column ##### -->
549 <!-- ##### FUNCTION gtk_tree_view_insert_column ##### -->
560 <!-- ##### FUNCTION gtk_tree_view_insert_column_with_attributes ##### -->
573 <!-- ##### FUNCTION gtk_tree_view_insert_column_with_data_func ##### -->
588 <!-- ##### FUNCTION gtk_tree_view_get_column ##### -->
598 <!-- ##### FUNCTION gtk_tree_view_get_columns ##### -->
607 <!-- ##### FUNCTION gtk_tree_view_move_column_after ##### -->
617 <!-- ##### FUNCTION gtk_tree_view_set_expander_column ##### -->
626 <!-- ##### FUNCTION gtk_tree_view_get_expander_column ##### -->
635 <!-- ##### FUNCTION gtk_tree_view_set_column_drag_function ##### -->
646 <!-- ##### FUNCTION gtk_tree_view_scroll_to_point ##### -->
656 <!-- ##### FUNCTION gtk_tree_view_scroll_to_cell ##### -->
669 <!-- ##### FUNCTION gtk_tree_view_set_cursor ##### -->
680 <!-- ##### FUNCTION gtk_tree_view_set_cursor_on_cell ##### -->
692 <!-- ##### FUNCTION gtk_tree_view_get_cursor ##### -->
702 <!-- ##### FUNCTION gtk_tree_view_row_activated ##### -->
712 <!-- ##### FUNCTION gtk_tree_view_expand_all ##### -->
720 <!-- ##### FUNCTION gtk_tree_view_collapse_all ##### -->
728 <!-- ##### FUNCTION gtk_tree_view_expand_to_path ##### -->
737 <!-- ##### FUNCTION gtk_tree_view_expand_row ##### -->
748 <!-- ##### FUNCTION gtk_tree_view_collapse_row ##### -->
758 <!-- ##### FUNCTION gtk_tree_view_map_expanded_rows ##### -->
768 <!-- ##### FUNCTION gtk_tree_view_row_expanded ##### -->
778 <!-- ##### FUNCTION gtk_tree_view_set_reorderable ##### -->
787 <!-- ##### FUNCTION gtk_tree_view_get_reorderable ##### -->
796 <!-- ##### FUNCTION gtk_tree_view_get_path_at_pos ##### -->
811 <!-- ##### FUNCTION gtk_tree_view_get_cell_area ##### -->
822 <!-- ##### FUNCTION gtk_tree_view_get_background_area ##### -->
833 <!-- ##### FUNCTION gtk_tree_view_get_visible_rect ##### -->
842 <!-- ##### FUNCTION gtk_tree_view_get_visible_range ##### -->
853 <!-- ##### FUNCTION gtk_tree_view_get_bin_window ##### -->
862 <!-- ##### FUNCTION gtk_tree_view_widget_to_tree_coords ##### -->
874 <!-- ##### FUNCTION gtk_tree_view_tree_to_widget_coords ##### -->
886 <!-- ##### FUNCTION gtk_tree_view_enable_model_drag_dest ##### -->
897 <!-- ##### FUNCTION gtk_tree_view_enable_model_drag_source ##### -->
909 <!-- ##### FUNCTION gtk_tree_view_unset_rows_drag_source ##### -->
917 <!-- ##### FUNCTION gtk_tree_view_unset_rows_drag_dest ##### -->
925 <!-- ##### FUNCTION gtk_tree_view_set_drag_dest_row ##### -->
935 <!-- ##### FUNCTION gtk_tree_view_get_drag_dest_row ##### -->
945 <!-- ##### FUNCTION gtk_tree_view_get_dest_row_at_pos ##### -->
958 <!-- ##### FUNCTION gtk_tree_view_create_row_drag_icon ##### -->
968 <!-- ##### FUNCTION gtk_tree_view_set_enable_search ##### -->
977 <!-- ##### FUNCTION gtk_tree_view_get_enable_search ##### -->
986 <!-- ##### FUNCTION gtk_tree_view_get_search_column ##### -->
995 <!-- ##### FUNCTION gtk_tree_view_set_search_column ##### -->
1004 <!-- ##### FUNCTION gtk_tree_view_get_search_equal_func ##### -->
1013 <!-- ##### FUNCTION gtk_tree_view_set_search_equal_func ##### -->
1024 <!-- ##### FUNCTION gtk_tree_view_get_search_entry ##### -->
1033 <!-- ##### FUNCTION gtk_tree_view_set_search_entry ##### -->
1042 <!-- ##### USER_FUNCTION GtkTreeViewSearchPositionFunc ##### -->
1052 <!-- ##### FUNCTION gtk_tree_view_get_search_position_func ##### -->
1061 <!-- ##### FUNCTION gtk_tree_view_set_search_position_func ##### -->
1072 <!-- ##### FUNCTION gtk_tree_view_get_fixed_height_mode ##### -->
1081 <!-- ##### FUNCTION gtk_tree_view_set_fixed_height_mode ##### -->
1090 <!-- ##### FUNCTION gtk_tree_view_get_hover_selection ##### -->
1099 <!-- ##### FUNCTION gtk_tree_view_set_hover_selection ##### -->
1108 <!-- ##### FUNCTION gtk_tree_view_get_hover_expand ##### -->
1117 <!-- ##### FUNCTION gtk_tree_view_set_hover_expand ##### -->
1126 <!-- ##### USER_FUNCTION GtkTreeDestroyCountFunc ##### -->
1137 <!-- ##### FUNCTION gtk_tree_view_set_destroy_count_func ##### -->
1148 <!-- ##### USER_FUNCTION GtkTreeViewRowSeparatorFunc ##### -->
1150 Function type for determining whether the row pointed to by @iter should
1151 be rendered as a separator. A common way to implement this is to have a
1152 boolean column in the model, whose values the #GtkTreeViewRowSeparatorFunc
1156 @model: the #GtkTreeModel
1157 @iter: a #GtkTreeIter pointing at a row in @model
1159 @Returns: %TRUE if the row is a separator
1162 <!-- ##### FUNCTION gtk_tree_view_get_row_separator_func ##### -->
1171 <!-- ##### FUNCTION gtk_tree_view_set_row_separator_func ##### -->
1182 <!-- ##### FUNCTION gtk_tree_view_get_rubber_banding ##### -->
1191 <!-- ##### FUNCTION gtk_tree_view_set_rubber_banding ##### -->