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_get_level_indentation ##### -->
404 <!-- ##### FUNCTION gtk_tree_view_get_show_expanders ##### -->
413 <!-- ##### FUNCTION gtk_tree_view_set_level_indentation ##### -->
422 <!-- ##### FUNCTION gtk_tree_view_set_show_expanders ##### -->
431 <!-- ##### FUNCTION gtk_tree_view_new_with_model ##### -->
440 <!-- ##### FUNCTION gtk_tree_view_get_model ##### -->
449 <!-- ##### FUNCTION gtk_tree_view_set_model ##### -->
458 <!-- ##### FUNCTION gtk_tree_view_get_selection ##### -->
467 <!-- ##### FUNCTION gtk_tree_view_get_hadjustment ##### -->
476 <!-- ##### FUNCTION gtk_tree_view_set_hadjustment ##### -->
485 <!-- ##### FUNCTION gtk_tree_view_get_vadjustment ##### -->
494 <!-- ##### FUNCTION gtk_tree_view_set_vadjustment ##### -->
503 <!-- ##### FUNCTION gtk_tree_view_get_headers_visible ##### -->
512 <!-- ##### FUNCTION gtk_tree_view_set_headers_visible ##### -->
521 <!-- ##### FUNCTION gtk_tree_view_columns_autosize ##### -->
529 <!-- ##### FUNCTION gtk_tree_view_get_headers_clickable ##### -->
538 <!-- ##### FUNCTION gtk_tree_view_set_headers_clickable ##### -->
547 <!-- ##### FUNCTION gtk_tree_view_set_rules_hint ##### -->
556 <!-- ##### FUNCTION gtk_tree_view_get_rules_hint ##### -->
565 <!-- ##### FUNCTION gtk_tree_view_append_column ##### -->
575 <!-- ##### FUNCTION gtk_tree_view_remove_column ##### -->
585 <!-- ##### FUNCTION gtk_tree_view_insert_column ##### -->
596 <!-- ##### FUNCTION gtk_tree_view_insert_column_with_attributes ##### -->
609 <!-- ##### FUNCTION gtk_tree_view_insert_column_with_data_func ##### -->
624 <!-- ##### FUNCTION gtk_tree_view_get_column ##### -->
634 <!-- ##### FUNCTION gtk_tree_view_get_columns ##### -->
643 <!-- ##### FUNCTION gtk_tree_view_move_column_after ##### -->
653 <!-- ##### FUNCTION gtk_tree_view_set_expander_column ##### -->
662 <!-- ##### FUNCTION gtk_tree_view_get_expander_column ##### -->
671 <!-- ##### FUNCTION gtk_tree_view_set_column_drag_function ##### -->
682 <!-- ##### FUNCTION gtk_tree_view_scroll_to_point ##### -->
692 <!-- ##### FUNCTION gtk_tree_view_scroll_to_cell ##### -->
705 <!-- ##### FUNCTION gtk_tree_view_set_cursor ##### -->
716 <!-- ##### FUNCTION gtk_tree_view_set_cursor_on_cell ##### -->
728 <!-- ##### FUNCTION gtk_tree_view_get_cursor ##### -->
738 <!-- ##### FUNCTION gtk_tree_view_row_activated ##### -->
748 <!-- ##### FUNCTION gtk_tree_view_expand_all ##### -->
756 <!-- ##### FUNCTION gtk_tree_view_collapse_all ##### -->
764 <!-- ##### FUNCTION gtk_tree_view_expand_to_path ##### -->
773 <!-- ##### FUNCTION gtk_tree_view_expand_row ##### -->
784 <!-- ##### FUNCTION gtk_tree_view_collapse_row ##### -->
794 <!-- ##### FUNCTION gtk_tree_view_map_expanded_rows ##### -->
804 <!-- ##### FUNCTION gtk_tree_view_row_expanded ##### -->
814 <!-- ##### FUNCTION gtk_tree_view_set_reorderable ##### -->
823 <!-- ##### FUNCTION gtk_tree_view_get_reorderable ##### -->
832 <!-- ##### FUNCTION gtk_tree_view_get_path_at_pos ##### -->
847 <!-- ##### FUNCTION gtk_tree_view_get_cell_area ##### -->
858 <!-- ##### FUNCTION gtk_tree_view_get_background_area ##### -->
869 <!-- ##### FUNCTION gtk_tree_view_get_visible_rect ##### -->
878 <!-- ##### FUNCTION gtk_tree_view_get_visible_range ##### -->
889 <!-- ##### FUNCTION gtk_tree_view_get_bin_window ##### -->
898 <!-- ##### FUNCTION gtk_tree_view_widget_to_tree_coords ##### -->
910 <!-- ##### FUNCTION gtk_tree_view_tree_to_widget_coords ##### -->
922 <!-- ##### FUNCTION gtk_tree_view_enable_model_drag_dest ##### -->
933 <!-- ##### FUNCTION gtk_tree_view_enable_model_drag_source ##### -->
945 <!-- ##### FUNCTION gtk_tree_view_unset_rows_drag_source ##### -->
953 <!-- ##### FUNCTION gtk_tree_view_unset_rows_drag_dest ##### -->
961 <!-- ##### FUNCTION gtk_tree_view_set_drag_dest_row ##### -->
971 <!-- ##### FUNCTION gtk_tree_view_get_drag_dest_row ##### -->
981 <!-- ##### FUNCTION gtk_tree_view_get_dest_row_at_pos ##### -->
994 <!-- ##### FUNCTION gtk_tree_view_create_row_drag_icon ##### -->
1004 <!-- ##### FUNCTION gtk_tree_view_set_enable_search ##### -->
1013 <!-- ##### FUNCTION gtk_tree_view_get_enable_search ##### -->
1022 <!-- ##### FUNCTION gtk_tree_view_get_search_column ##### -->
1031 <!-- ##### FUNCTION gtk_tree_view_set_search_column ##### -->
1040 <!-- ##### FUNCTION gtk_tree_view_get_search_equal_func ##### -->
1049 <!-- ##### FUNCTION gtk_tree_view_set_search_equal_func ##### -->
1060 <!-- ##### FUNCTION gtk_tree_view_get_search_entry ##### -->
1069 <!-- ##### FUNCTION gtk_tree_view_set_search_entry ##### -->
1078 <!-- ##### USER_FUNCTION GtkTreeViewSearchPositionFunc ##### -->
1088 <!-- ##### FUNCTION gtk_tree_view_get_search_position_func ##### -->
1097 <!-- ##### FUNCTION gtk_tree_view_set_search_position_func ##### -->
1108 <!-- ##### FUNCTION gtk_tree_view_get_fixed_height_mode ##### -->
1117 <!-- ##### FUNCTION gtk_tree_view_set_fixed_height_mode ##### -->
1126 <!-- ##### FUNCTION gtk_tree_view_get_hover_selection ##### -->
1135 <!-- ##### FUNCTION gtk_tree_view_set_hover_selection ##### -->
1144 <!-- ##### FUNCTION gtk_tree_view_get_hover_expand ##### -->
1153 <!-- ##### FUNCTION gtk_tree_view_set_hover_expand ##### -->
1162 <!-- ##### USER_FUNCTION GtkTreeDestroyCountFunc ##### -->
1173 <!-- ##### FUNCTION gtk_tree_view_set_destroy_count_func ##### -->
1184 <!-- ##### USER_FUNCTION GtkTreeViewRowSeparatorFunc ##### -->
1186 Function type for determining whether the row pointed to by @iter should
1187 be rendered as a separator. A common way to implement this is to have a
1188 boolean column in the model, whose values the #GtkTreeViewRowSeparatorFunc
1192 @model: the #GtkTreeModel
1193 @iter: a #GtkTreeIter pointing at a row in @model
1195 @Returns: %TRUE if the row is a separator
1198 <!-- ##### FUNCTION gtk_tree_view_get_row_separator_func ##### -->
1207 <!-- ##### FUNCTION gtk_tree_view_set_row_separator_func ##### -->
1218 <!-- ##### FUNCTION gtk_tree_view_get_rubber_banding ##### -->
1227 <!-- ##### FUNCTION gtk_tree_view_set_rubber_banding ##### -->
1236 <!-- ##### FUNCTION gtk_tree_view_get_enable_tree_lines ##### -->
1245 <!-- ##### FUNCTION gtk_tree_view_set_enable_tree_lines ##### -->
1254 <!-- ##### ENUM GtkTreeViewGridLines ##### -->
1259 @GTK_TREE_VIEW_GRID_LINES_NONE:
1260 @GTK_TREE_VIEW_GRID_LINES_HORIZONTAL:
1261 @GTK_TREE_VIEW_GRID_LINES_VERTICAL:
1262 @GTK_TREE_VIEW_GRID_LINES_BOTH:
1264 <!-- ##### FUNCTION gtk_tree_view_get_grid_lines ##### -->
1273 <!-- ##### FUNCTION gtk_tree_view_set_grid_lines ##### -->