Synopsis#include <gtk/gtk.h> GtkTreeView; enum GtkTreeViewDropPosition; GtkTreeViewPrivate; gboolean (*GtkTreeViewColumnDropFunc) (GtkTreeView *tree_view, GtkTreeViewColumn *column, GtkTreeViewColumn *prev_column, GtkTreeViewColumn *next_column, gpointer data); void (*GtkTreeViewMappingFunc) (GtkTreeView *tree_view, GtkTreePath *path, gpointer user_data); gboolean (*GtkTreeViewSearchEqualFunc) (GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer search_data); GtkWidget* gtk_tree_view_new (void); gint gtk_tree_view_get_level_indentation (GtkTreeView *tree_view); gboolean gtk_tree_view_get_show_expanders (GtkTreeView *tree_view); void gtk_tree_view_set_level_indentation (GtkTreeView *tree_view, gint indentation); void gtk_tree_view_set_show_expanders (GtkTreeView *tree_view, gboolean enabled); GtkWidget* gtk_tree_view_new_with_model (GtkTreeModel *model); GtkTreeModel* gtk_tree_view_get_model (GtkTreeView *tree_view); void gtk_tree_view_set_model (GtkTreeView *tree_view, GtkTreeModel *model); GtkTreeSelection* gtk_tree_view_get_selection (GtkTreeView *tree_view); GtkAdjustment* gtk_tree_view_get_hadjustment (GtkTreeView *tree_view); void gtk_tree_view_set_hadjustment (GtkTreeView *tree_view, GtkAdjustment *adjustment); GtkAdjustment* gtk_tree_view_get_vadjustment (GtkTreeView *tree_view); void gtk_tree_view_set_vadjustment (GtkTreeView *tree_view, GtkAdjustment *adjustment); gboolean gtk_tree_view_get_headers_visible (GtkTreeView *tree_view); void gtk_tree_view_set_headers_visible (GtkTreeView *tree_view, gboolean headers_visible); void gtk_tree_view_columns_autosize (GtkTreeView *tree_view); gboolean gtk_tree_view_get_headers_clickable (GtkTreeView *tree_view); void gtk_tree_view_set_headers_clickable (GtkTreeView *tree_view, gboolean setting); void gtk_tree_view_set_rules_hint (GtkTreeView *tree_view, gboolean setting); gboolean gtk_tree_view_get_rules_hint (GtkTreeView *tree_view); gint gtk_tree_view_append_column (GtkTreeView *tree_view, GtkTreeViewColumn *column); gint gtk_tree_view_remove_column (GtkTreeView *tree_view, GtkTreeViewColumn *column); gint gtk_tree_view_insert_column (GtkTreeView *tree_view, GtkTreeViewColumn *column, gint position); gint gtk_tree_view_insert_column_with_attributes (GtkTreeView *tree_view, gint position, const gchar *title, GtkCellRenderer *cell, ...); gint gtk_tree_view_insert_column_with_data_func (GtkTreeView *tree_view, gint position, const gchar *title, GtkCellRenderer *cell, GtkTreeCellDataFunc func, gpointer data, GDestroyNotify dnotify); GtkTreeViewColumn* gtk_tree_view_get_column (GtkTreeView *tree_view, gint n); GList* gtk_tree_view_get_columns (GtkTreeView *tree_view); void gtk_tree_view_move_column_after (GtkTreeView *tree_view, GtkTreeViewColumn *column, GtkTreeViewColumn *base_column); void gtk_tree_view_set_expander_column (GtkTreeView *tree_view, GtkTreeViewColumn *column); GtkTreeViewColumn* gtk_tree_view_get_expander_column (GtkTreeView *tree_view); void gtk_tree_view_set_column_drag_function (GtkTreeView *tree_view, GtkTreeViewColumnDropFunc func, gpointer user_data, GDestroyNotify destroy); void gtk_tree_view_scroll_to_point (GtkTreeView *tree_view, gint tree_x, gint tree_y); void gtk_tree_view_scroll_to_cell (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gboolean use_align, gfloat row_align, gfloat col_align); void gtk_tree_view_set_cursor (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *focus_column, gboolean start_editing); void gtk_tree_view_set_cursor_on_cell (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *focus_column, GtkCellRenderer *focus_cell, gboolean start_editing); void gtk_tree_view_get_cursor (GtkTreeView *tree_view, GtkTreePath **path, GtkTreeViewColumn **focus_column); void gtk_tree_view_row_activated (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column); void gtk_tree_view_expand_all (GtkTreeView *tree_view); void gtk_tree_view_collapse_all (GtkTreeView *tree_view); void gtk_tree_view_expand_to_path (GtkTreeView *tree_view, GtkTreePath *path); gboolean gtk_tree_view_expand_row (GtkTreeView *tree_view, GtkTreePath *path, gboolean open_all); gboolean gtk_tree_view_collapse_row (GtkTreeView *tree_view, GtkTreePath *path); void gtk_tree_view_map_expanded_rows (GtkTreeView *tree_view, GtkTreeViewMappingFunc func, gpointer data); gboolean gtk_tree_view_row_expanded (GtkTreeView *tree_view, GtkTreePath *path); void gtk_tree_view_set_reorderable (GtkTreeView *tree_view, gboolean reorderable); gboolean gtk_tree_view_get_reorderable (GtkTreeView *tree_view); gboolean gtk_tree_view_get_path_at_pos (GtkTreeView *tree_view, gint x, gint y, GtkTreePath **path, GtkTreeViewColumn **column, gint *cell_x, gint *cell_y); void gtk_tree_view_get_cell_area (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, GdkRectangle *rect); void gtk_tree_view_get_background_area (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, GdkRectangle *rect); void gtk_tree_view_get_visible_rect (GtkTreeView *tree_view, GdkRectangle *visible_rect); gboolean gtk_tree_view_get_visible_range (GtkTreeView *tree_view, GtkTreePath **start_path, GtkTreePath **end_path); GdkWindow* gtk_tree_view_get_bin_window (GtkTreeView *tree_view); void gtk_tree_view_widget_to_tree_coords (GtkTreeView *tree_view, gint wx, gint wy, gint *tx, gint *ty); void gtk_tree_view_tree_to_widget_coords (GtkTreeView *tree_view, gint tx, gint ty, gint *wx, gint *wy); void gtk_tree_view_convert_bin_window_to_tree_coords (GtkTreeView *tree_view, gint bx, gint by, gint *tx, gint *ty); void gtk_tree_view_convert_bin_window_to_widget_coords (GtkTreeView *tree_view, gint bx, gint by, gint *wx, gint *wy); void gtk_tree_view_convert_tree_to_bin_window_coords (GtkTreeView *tree_view, gint tx, gint ty, gint *bx, gint *by); void gtk_tree_view_convert_tree_to_widget_coords (GtkTreeView *tree_view, gint tx, gint ty, gint *wx, gint *wy); void gtk_tree_view_convert_widget_to_bin_window_coords (GtkTreeView *tree_view, gint wx, gint wy, gint *bx, gint *by); void gtk_tree_view_convert_widget_to_tree_coords (GtkTreeView *tree_view, gint wx, gint wy, gint *tx, gint *ty); void gtk_tree_view_enable_model_drag_dest (GtkTreeView *tree_view, const GtkTargetEntry *targets, gint n_targets, GdkDragAction actions); void gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view, GdkModifierType start_button_mask, const GtkTargetEntry *targets, gint n_targets, GdkDragAction actions); void gtk_tree_view_unset_rows_drag_source (GtkTreeView *tree_view); void gtk_tree_view_unset_rows_drag_dest (GtkTreeView *tree_view); void gtk_tree_view_set_drag_dest_row (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewDropPosition pos); void gtk_tree_view_get_drag_dest_row (GtkTreeView *tree_view, GtkTreePath **path, GtkTreeViewDropPosition *pos); gboolean gtk_tree_view_get_dest_row_at_pos (GtkTreeView *tree_view, gint drag_x, gint drag_y, GtkTreePath **path, GtkTreeViewDropPosition *pos); GdkPixmap* gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view, GtkTreePath *path); void gtk_tree_view_set_enable_search (GtkTreeView *tree_view, gboolean enable_search); gboolean gtk_tree_view_get_enable_search (GtkTreeView *tree_view); gint gtk_tree_view_get_search_column (GtkTreeView *tree_view); void gtk_tree_view_set_search_column (GtkTreeView *tree_view, gint column); GtkTreeViewSearchEqualFunc gtk_tree_view_get_search_equal_func (GtkTreeView *tree_view); void gtk_tree_view_set_search_equal_func (GtkTreeView *tree_view, GtkTreeViewSearchEqualFunc search_equal_func, gpointer search_user_data, GDestroyNotify search_destroy); GtkEntry* gtk_tree_view_get_search_entry (GtkTreeView *tree_view); void gtk_tree_view_set_search_entry (GtkTreeView *tree_view, GtkEntry *entry); void (*GtkTreeViewSearchPositionFunc) (GtkTreeView *tree_view, GtkWidget *search_dialog, gpointer user_data); GtkTreeViewSearchPositionFunc gtk_tree_view_get_search_position_func (GtkTreeView *tree_view); void gtk_tree_view_set_search_position_func (GtkTreeView *tree_view, GtkTreeViewSearchPositionFunc func, gpointer data, GDestroyNotify destroy); gboolean gtk_tree_view_get_fixed_height_mode (GtkTreeView *tree_view); void gtk_tree_view_set_fixed_height_mode (GtkTreeView *tree_view, gboolean enable); gboolean gtk_tree_view_get_hover_selection (GtkTreeView *tree_view); void gtk_tree_view_set_hover_selection (GtkTreeView *tree_view, gboolean hover); gboolean gtk_tree_view_get_hover_expand (GtkTreeView *tree_view); void gtk_tree_view_set_hover_expand (GtkTreeView *tree_view, gboolean expand); void (*GtkTreeDestroyCountFunc) (GtkTreeView *tree_view, GtkTreePath *path, gint children, gpointer user_data); void gtk_tree_view_set_destroy_count_func (GtkTreeView *tree_view, GtkTreeDestroyCountFunc func, gpointer data, GDestroyNotify destroy); gboolean (*GtkTreeViewRowSeparatorFunc) (GtkTreeModel *model, GtkTreeIter *iter, gpointer data); GtkTreeViewRowSeparatorFunc gtk_tree_view_get_row_separator_func (GtkTreeView *tree_view); void gtk_tree_view_set_row_separator_func (GtkTreeView *tree_view, GtkTreeViewRowSeparatorFunc func, gpointer data, GDestroyNotify destroy); gboolean gtk_tree_view_get_rubber_banding (GtkTreeView *tree_view); void gtk_tree_view_set_rubber_banding (GtkTreeView *tree_view, gboolean enable); gboolean gtk_tree_view_is_rubber_banding_active (GtkTreeView *tree_view); gboolean gtk_tree_view_get_enable_tree_lines (GtkTreeView *tree_view); void gtk_tree_view_set_enable_tree_lines (GtkTreeView *tree_view, gboolean enabled); enum GtkTreeViewGridLines; GtkTreeViewGridLines gtk_tree_view_get_grid_lines (GtkTreeView *tree_view); void gtk_tree_view_set_grid_lines (GtkTreeView *tree_view, GtkTreeViewGridLines grid_lines); void gtk_tree_view_set_tooltip_row (GtkTreeView *tree_view, GtkTooltip *tooltip, GtkTreePath *path); void gtk_tree_view_set_tooltip_cell (GtkTreeView *tree_view, GtkTooltip *tooltip, GtkTreePath *path, GtkTreeViewColumn *column, GtkCellRenderer *cell); gboolean gtk_tree_view_get_tooltip_context (GtkTreeView *tree_view, gint *x, gint *y, gboolean keyboard_tip, GtkTreeModel **model, GtkTreePath **path, GtkTreeIter *iter); gint gtk_tree_view_get_tooltip_column (GtkTreeView *tree_view); void gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view, gint column); Object HierarchyGObject +----GInitiallyUnowned +----GtkObject +----GtkWidget +----GtkContainer +----GtkTreeView Properties"enable-grid-lines" GtkTreeViewGridLines : Read / Write "enable-search" gboolean : Read / Write "enable-tree-lines" gboolean : Read / Write "expander-column" GtkTreeViewColumn* : Read / Write "fixed-height-mode" gboolean : Read / Write "hadjustment" GtkAdjustment* : Read / Write "headers-clickable" gboolean : Read / Write "headers-visible" gboolean : Read / Write "hover-expand" gboolean : Read / Write "hover-selection" gboolean : Read / Write "level-indentation" gint : Read / Write "model" GtkTreeModel* : Read / Write "reorderable" gboolean : Read / Write "rubber-banding" gboolean : Read / Write "rules-hint" gboolean : Read / Write "search-column" gint : Read / Write "show-expanders" gboolean : Read / Write "tooltip-column" gint : Read / Write "vadjustment" GtkAdjustment* : Read / Write Style Properties"allow-rules" gboolean : Read "even-row-color" GdkColor* : Read "expander-size" gint : Read "grid-line-pattern" gchar* : Read "grid-line-width" gint : Read "horizontal-separator" gint : Read "indent-expanders" gboolean : Read "odd-row-color" GdkColor* : Read "row-ending-details" gboolean : Read "tree-line-pattern" gchar* : Read "tree-line-width" gint : Read "vertical-separator" gint : Read Signals"columns-changed" : Run Last "cursor-changed" : Run Last "expand-collapse-cursor-row" : Run Last / Action "move-cursor" : Run Last / Action "row-activated" : Run Last / Action "row-collapsed" : Run Last "row-expanded" : Run Last "select-all" : Run Last / Action "select-cursor-parent" : Run Last / Action "select-cursor-row" : Run Last / Action "set-scroll-adjustments" : Run Last / Action "start-interactive-search" : Run Last / Action "test-collapse-row" : Run Last "test-expand-row" : Run Last "toggle-cursor-row" : Run Last / Action "unselect-all" : Run Last / Action DescriptionWidget that displays any object that implements the GtkTreeModel interface. Please refer to the tree widget conceptual overview for an overview of all the objects and data types related to the tree widget and how they work together. Several different coordinate systems are exposed in the GtkTreeView API. These are:
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 GtkTreeView as GtkBuildableThe GtkTreeView implementation of the GtkBuildable interface accepts GtkTreeViewColumn objects as <child> elements in UI definitions. Example 19. A UI definition fragment with GtkTreeView <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> </object> Detailsenum GtkTreeViewDropPositiontypedef enum { /* drop before/after this row */ GTK_TREE_VIEW_DROP_BEFORE, GTK_TREE_VIEW_DROP_AFTER, /* drop as a child of this row (with fallback to before or after * if into is not possible) */ GTK_TREE_VIEW_DROP_INTO_OR_BEFORE, GTK_TREE_VIEW_DROP_INTO_OR_AFTER } GtkTreeViewDropPosition; An enum for determining where a dropped row goes. GtkTreeViewPrivatetypedef struct _GtkTreeViewPrivate GtkTreeViewPrivate; A private struct for internal use only. The definition of this structure is not publically available. GtkTreeViewColumnDropFunc ()gboolean (*GtkTreeViewColumnDropFunc) (GtkTreeView *tree_view, GtkTreeViewColumn *column, GtkTreeViewColumn *prev_column, GtkTreeViewColumn *next_column, gpointer data);
Function type for determining whether
GtkTreeViewMappingFunc ()void (*GtkTreeViewMappingFunc) (GtkTreeView *tree_view, GtkTreePath *path, gpointer user_data); Function used for gtk_tree_view_map_expanded_rows.
GtkTreeViewSearchEqualFunc ()gboolean (*GtkTreeViewSearchEqualFunc) (GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer search_data);
A function used for checking whether a row in
gtk_tree_view_new ()GtkWidget* gtk_tree_view_new (void); Creates a new GtkTreeView widget.
gtk_tree_view_get_level_indentation ()gint gtk_tree_view_get_level_indentation (GtkTreeView *tree_view);
Returns the amount, in pixels, of extra indentation for child levels
in
Since 2.12 gtk_tree_view_get_show_expanders ()gboolean gtk_tree_view_get_show_expanders (GtkTreeView *tree_view);
Returns whether or not expanders are drawn in
Since 2.12 gtk_tree_view_set_level_indentation ()void gtk_tree_view_set_level_indentation (GtkTreeView *tree_view, gint indentation);
Sets the amount of extra indentation for child levels to use in
Since 2.12 gtk_tree_view_set_show_expanders ()void gtk_tree_view_set_show_expanders (GtkTreeView *tree_view, gboolean enabled);
Sets whether to draw and enable expanders and indent child rows in
Since 2.12 gtk_tree_view_new_with_model ()GtkWidget* gtk_tree_view_new_with_model (GtkTreeModel *model);
Creates a new GtkTreeView widget with the model initialized to
gtk_tree_view_get_model ()GtkTreeModel* gtk_tree_view_get_model (GtkTreeView *tree_view);
Returns the model the GtkTreeView is based on. Returns
gtk_tree_view_set_model ()void gtk_tree_view_set_model (GtkTreeView *tree_view, GtkTreeModel *model);
Sets the model for a GtkTreeView. If the
gtk_tree_view_get_selection ()GtkTreeSelection* gtk_tree_view_get_selection (GtkTreeView *tree_view);
Gets the GtkTreeSelection associated with
gtk_tree_view_get_hadjustment ()GtkAdjustment* gtk_tree_view_get_hadjustment (GtkTreeView *tree_view); Gets the GtkAdjustment currently being used for the horizontal aspect.
gtk_tree_view_set_hadjustment ()void gtk_tree_view_set_hadjustment (GtkTreeView *tree_view, GtkAdjustment *adjustment); Sets the GtkAdjustment for the current horizontal aspect.
gtk_tree_view_get_vadjustment ()GtkAdjustment* gtk_tree_view_get_vadjustment (GtkTreeView *tree_view); Gets the GtkAdjustment currently being used for the vertical aspect.
gtk_tree_view_set_vadjustment ()void gtk_tree_view_set_vadjustment (GtkTreeView *tree_view, GtkAdjustment *adjustment); Sets the GtkAdjustment for the current vertical aspect.
gtk_tree_view_get_headers_visible ()gboolean gtk_tree_view_get_headers_visible (GtkTreeView *tree_view);
Returns
gtk_tree_view_set_headers_visible ()void gtk_tree_view_set_headers_visible (GtkTreeView *tree_view, gboolean headers_visible); Sets the visibility state of the headers.
gtk_tree_view_columns_autosize ()void gtk_tree_view_columns_autosize (GtkTreeView *tree_view); Resizes all columns to their optimal width. Only works after the treeview has been realized.
gtk_tree_view_get_headers_clickable ()gboolean gtk_tree_view_get_headers_clickable (GtkTreeView *tree_view); Returns whether all header columns are clickable.
Since 2.10 gtk_tree_view_set_headers_clickable ()void gtk_tree_view_set_headers_clickable (GtkTreeView *tree_view, gboolean setting); Allow the column title buttons to be clicked.
gtk_tree_view_set_rules_hint ()void gtk_tree_view_set_rules_hint (GtkTreeView *tree_view, gboolean setting); This function tells GTK+ that the user interface for your application requires users to read across tree rows and associate cells with one another. By default, GTK+ will then render the tree with alternating row colors. Do not use it just because you prefer the appearance of the ruled tree; that's a question for the theme. Some themes will draw tree rows in alternating colors even when rules are turned off, and users who prefer that appearance all the time can choose those themes. You should call this function only as a semantic hint to the theme engine that your tree makes alternating colors useful from a functional standpoint (since it has lots of columns, generally).
gtk_tree_view_get_rules_hint ()gboolean gtk_tree_view_get_rules_hint (GtkTreeView *tree_view);
Gets the setting set by
gtk_tree_view_append_column ()gint gtk_tree_view_append_column (GtkTreeView *tree_view, GtkTreeViewColumn *column);
Appends
gtk_tree_view_remove_column ()gint gtk_tree_view_remove_column (GtkTreeView *tree_view, GtkTreeViewColumn *column);
Removes
gtk_tree_view_insert_column ()gint gtk_tree_view_insert_column (GtkTreeView *tree_view, GtkTreeViewColumn *column, gint position);
This inserts the
gtk_tree_view_insert_column_with_attributes ()gint gtk_tree_view_insert_column_with_attributes (GtkTreeView *tree_view, gint position, const gchar *title, GtkCellRenderer *cell, ...);
Creates a new GtkTreeViewColumn and inserts it into the
gtk_tree_view_insert_column_with_data_func ()gint gtk_tree_view_insert_column_with_data_func (GtkTreeView *tree_view, gint position, const gchar *title, GtkCellRenderer *cell, GtkTreeCellDataFunc func, gpointer data, GDestroyNotify dnotify);
Convenience function that inserts a new column into the GtkTreeView
with the given cell renderer and a GtkCellDataFunc to set cell renderer
attributes (normally using data from the model). See also
gtk_tree_view_get_column ()GtkTreeViewColumn* gtk_tree_view_get_column (GtkTreeView *tree_view, gint n); Gets the GtkTreeViewColumn at the given position in the tree_view.
gtk_tree_view_get_columns ()GList* gtk_tree_view_get_columns (GtkTreeView *tree_view);
Returns a GList of all the GtkTreeViewColumn s currently in
gtk_tree_view_move_column_after ()void gtk_tree_view_move_column_after (GtkTreeView *tree_view, GtkTreeViewColumn *column, GtkTreeViewColumn *base_column);
Moves
gtk_tree_view_set_expander_column ()void gtk_tree_view_set_expander_column (GtkTreeView *tree_view, GtkTreeViewColumn *column);
Sets the column to draw the expander arrow at. It must be in If you do not want expander arrow to appear in your tree, set the expander column to a hidden column.
gtk_tree_view_get_expander_column ()GtkTreeViewColumn* gtk_tree_view_get_expander_column (GtkTreeView *tree_view); Returns the column that is the current expander column. This column has the expander arrow drawn next to it.
gtk_tree_view_set_column_drag_function ()void gtk_tree_view_set_column_drag_function (GtkTreeView *tree_view, GtkTreeViewColumnDropFunc func, gpointer user_data, GDestroyNotify destroy);
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
gtk_tree_view_scroll_to_point ()void gtk_tree_view_scroll_to_point (GtkTreeView *tree_view, gint tree_x, gint tree_y);
Scrolls the tree view such that the top-left corner of the visible
area is
If either
gtk_tree_view_scroll_to_cell ()void gtk_tree_view_scroll_to_cell (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gboolean use_align, gfloat row_align, gfloat col_align);
Moves the alignments of
If
This function only works if the model is set, and
gtk_tree_view_set_cursor ()void gtk_tree_view_set_cursor (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *focus_column, gboolean start_editing);
Sets the current keyboard focus to be at
gtk_tree_view_set_cursor_on_cell ()void gtk_tree_view_set_cursor_on_cell (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *focus_column, GtkCellRenderer *focus_cell, gboolean start_editing);
Sets the current keyboard focus to be at
Since 2.2 gtk_tree_view_get_cursor ()void gtk_tree_view_get_cursor (GtkTreeView *tree_view, GtkTreePath **path, GtkTreeViewColumn **focus_column);
Fills in
The returned GtkTreePath must be freed with
gtk_tree_view_row_activated ()void gtk_tree_view_row_activated (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column);
Activates the cell determined by
gtk_tree_view_expand_all ()void gtk_tree_view_expand_all (GtkTreeView *tree_view);
Recursively expands all nodes in the
gtk_tree_view_collapse_all ()void gtk_tree_view_collapse_all (GtkTreeView *tree_view);
Recursively collapses all visible, expanded nodes in
gtk_tree_view_expand_to_path ()void gtk_tree_view_expand_to_path (GtkTreeView *tree_view, GtkTreePath *path);
Expands the row at
Since 2.2 gtk_tree_view_expand_row ()gboolean gtk_tree_view_expand_row (GtkTreeView *tree_view, GtkTreePath *path, gboolean open_all); Opens the row so its children are visible.
gtk_tree_view_collapse_row ()gboolean gtk_tree_view_collapse_row (GtkTreeView *tree_view, GtkTreePath *path); Collapses a row (hides its child rows, if they exist).
gtk_tree_view_map_expanded_rows ()void gtk_tree_view_map_expanded_rows (GtkTreeView *tree_view, GtkTreeViewMappingFunc func, gpointer data);
Calls
gtk_tree_view_row_expanded ()gboolean gtk_tree_view_row_expanded (GtkTreeView *tree_view, GtkTreePath *path);
Returns
gtk_tree_view_set_reorderable ()void gtk_tree_view_set_reorderable (GtkTreeView *tree_view, gboolean reorderable);
This function is a convenience function to allow you to reorder
models that support the GtkDragSourceIface and the
GtkDragDestIface. Both GtkTreeStore and GtkListStore support
these. If 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.
gtk_tree_view_get_reorderable ()gboolean gtk_tree_view_get_reorderable (GtkTreeView *tree_view);
Retrieves whether the user can reorder the tree via drag-and-drop. See
gtk_tree_view_get_path_at_pos ()gboolean gtk_tree_view_get_path_at_pos (GtkTreeView *tree_view, gint x, gint y, GtkTreePath **path, GtkTreeViewColumn **column, gint *cell_x, gint *cell_y);
Finds the path at the point (
For converting widget coordinates (eg. the ones you get from
GtkWidget::query-tooltip), please see
gtk_tree_view_get_cell_area ()void gtk_tree_view_get_cell_area (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, GdkRectangle *rect);
Fills the bounding rectangle in bin_window coordinates for the cell at the
row specified by
gtk_tree_view_get_background_area ()void gtk_tree_view_get_background_area (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, GdkRectangle *rect);
Fills the bounding rectangle in bin_window coordinates for the cell at the
row specified by
gtk_tree_view_get_visible_rect ()void gtk_tree_view_get_visible_rect (GtkTreeView *tree_view, GdkRectangle *visible_rect);
Fills
gtk_tree_view_get_visible_range ()gboolean gtk_tree_view_get_visible_range (GtkTreeView *tree_view, GtkTreePath **start_path, GtkTreePath **end_path);
Sets
The paths should be freed with
Since 2.8 gtk_tree_view_get_bin_window ()GdkWindow* gtk_tree_view_get_bin_window (GtkTreeView *tree_view);
Returns the window that
gtk_tree_view_widget_to_tree_coords ()void gtk_tree_view_widget_to_tree_coords (GtkTreeView *tree_view, gint wx, gint wy, gint *tx, gint *ty); Warning
Converts bin_window coordinates to coordinates for the tree (the full scrollable area of the tree).
gtk_tree_view_tree_to_widget_coords ()void gtk_tree_view_tree_to_widget_coords (GtkTreeView *tree_view, gint tx, gint ty, gint *wx, gint *wy); Warning
Converts tree coordinates (coordinates in full scrollable area of the tree) to bin_window coordinates.
gtk_tree_view_convert_bin_window_to_tree_coords ()void gtk_tree_view_convert_bin_window_to_tree_coords (GtkTreeView *tree_view, gint bx, gint by, gint *tx, gint *ty); Converts bin_window coordinates to coordinates for the tree (the full scrollable area of the tree).
Since 2.12 gtk_tree_view_convert_bin_window_to_widget_coords ()void gtk_tree_view_convert_bin_window_to_widget_coords (GtkTreeView *tree_view, gint bx, gint by, gint *wx, gint *wy);
Converts bin_window coordinates (see
Since 2.12 gtk_tree_view_convert_tree_to_bin_window_coords ()void gtk_tree_view_convert_tree_to_bin_window_coords (GtkTreeView *tree_view, gint tx, gint ty, gint *bx, gint *by); Converts tree coordinates (coordinates in full scrollable area of the tree) to bin_window coordinates.
Since 2.12 gtk_tree_view_convert_tree_to_widget_coords ()void gtk_tree_view_convert_tree_to_widget_coords (GtkTreeView *tree_view, gint tx, gint ty, gint *wx, gint *wy); Converts tree coordinates (coordinates in full scrollable area of the tree) to widget coordinates.
Since 2.12 gtk_tree_view_convert_widget_to_bin_window_coords ()void gtk_tree_view_convert_widget_to_bin_window_coords (GtkTreeView *tree_view, gint wx, gint wy, gint *bx, gint *by);
Converts widget coordinates to coordinates for the bin_window
(see
Since 2.12 gtk_tree_view_convert_widget_to_tree_coords ()void gtk_tree_view_convert_widget_to_tree_coords (GtkTreeView *tree_view, gint wx, gint wy, gint *tx, gint *ty); Converts widget coordinates to coordinates for the tree (the full scrollable area of the tree).
Since 2.12 gtk_tree_view_enable_model_drag_dest ()void gtk_tree_view_enable_model_drag_dest (GtkTreeView *tree_view, const GtkTargetEntry *targets, gint n_targets, GdkDragAction actions);
Turns
gtk_tree_view_enable_model_drag_source ()void gtk_tree_view_enable_model_drag_source (GtkTreeView *tree_view, GdkModifierType start_button_mask, const GtkTargetEntry *targets, gint n_targets, GdkDragAction actions);
Turns
gtk_tree_view_unset_rows_drag_source ()void gtk_tree_view_unset_rows_drag_source (GtkTreeView *tree_view);
Undoes the effect of
gtk_tree_view_unset_rows_drag_dest ()void gtk_tree_view_unset_rows_drag_dest (GtkTreeView *tree_view);
Undoes the effect of
gtk_tree_view_set_drag_dest_row ()void gtk_tree_view_set_drag_dest_row (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewDropPosition pos); Sets the row that is highlighted for feedback.
gtk_tree_view_get_drag_dest_row ()void gtk_tree_view_get_drag_dest_row (GtkTreeView *tree_view, GtkTreePath **path, GtkTreeViewDropPosition *pos); Gets information about the row that is highlighted for feedback.
gtk_tree_view_get_dest_row_at_pos ()gboolean gtk_tree_view_get_dest_row_at_pos (GtkTreeView *tree_view, gint drag_x, gint drag_y, GtkTreePath **path, GtkTreeViewDropPosition *pos);
Determines the destination row for a given position.
gtk_tree_view_create_row_drag_icon ()GdkPixmap* gtk_tree_view_create_row_drag_icon (GtkTreeView *tree_view, GtkTreePath *path);
Creates a GdkPixmap representation of the row at
gtk_tree_view_set_enable_search ()void gtk_tree_view_set_enable_search (GtkTreeView *tree_view, gboolean enable_search);
If
Note that even if this is
gtk_tree_view_get_enable_search ()gboolean gtk_tree_view_get_enable_search (GtkTreeView *tree_view); Returns whether or not the tree allows to start interactive searching by typing in text.
gtk_tree_view_get_search_column ()gint gtk_tree_view_get_search_column (GtkTreeView *tree_view); Gets the column searched on by the interactive search code.
gtk_tree_view_set_search_column ()void gtk_tree_view_set_search_column (GtkTreeView *tree_view, gint column);
Sets 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.
Note that
gtk_tree_view_get_search_equal_func ()GtkTreeViewSearchEqualFunc gtk_tree_view_get_search_equal_func (GtkTreeView *tree_view); Returns the compare function currently in use.
gtk_tree_view_set_search_equal_func ()void gtk_tree_view_set_search_equal_func (GtkTreeView *tree_view, GtkTreeViewSearchEqualFunc search_equal_func, gpointer search_user_data, GDestroyNotify search_destroy);
Sets the compare function for the interactive search capabilities; note
that somewhat like
gtk_tree_view_get_search_entry ()GtkEntry* gtk_tree_view_get_search_entry (GtkTreeView *tree_view);
Returns the GtkEntry which is currently in use as interactive search
entry for
Since 2.10 gtk_tree_view_set_search_entry ()void gtk_tree_view_set_search_entry (GtkTreeView *tree_view, GtkEntry *entry);
Sets the entry which the interactive search code will use for this
Since 2.10 GtkTreeViewSearchPositionFunc ()void (*GtkTreeViewSearchPositionFunc) (GtkTreeView *tree_view, GtkWidget *search_dialog, gpointer user_data);
gtk_tree_view_get_search_position_func ()GtkTreeViewSearchPositionFunc gtk_tree_view_get_search_position_func (GtkTreeView *tree_view); Returns the positioning function currently in use.
Since 2.10 gtk_tree_view_set_search_position_func ()void gtk_tree_view_set_search_position_func (GtkTreeView *tree_view, GtkTreeViewSearchPositionFunc func, gpointer data, GDestroyNotify destroy); Sets the function to use when positioning the seach dialog.
Since 2.10 gtk_tree_view_get_fixed_height_mode ()gboolean gtk_tree_view_get_fixed_height_mode (GtkTreeView *tree_view);
Returns whether fixed height mode is turned on for
Since 2.6 gtk_tree_view_set_fixed_height_mode ()void gtk_tree_view_set_fixed_height_mode (GtkTreeView *tree_view, gboolean enable);
Enables or disables the fixed height mode of
Since 2.6 gtk_tree_view_get_hover_selection ()gboolean gtk_tree_view_get_hover_selection (GtkTreeView *tree_view);
Returns whether hover selection mode is turned on for
Since 2.6 gtk_tree_view_set_hover_selection ()void gtk_tree_view_set_hover_selection (GtkTreeView *tree_view, gboolean hover);
Enables of disables the hover selection mode of
Since 2.6 gtk_tree_view_get_hover_expand ()gboolean gtk_tree_view_get_hover_expand (GtkTreeView *tree_view);
Returns whether hover expansion mode is turned on for
Since 2.6 gtk_tree_view_set_hover_expand ()void gtk_tree_view_set_hover_expand (GtkTreeView *tree_view, gboolean expand);
Enables of disables the hover expansion mode of
Since 2.6 GtkTreeDestroyCountFunc ()void (*GtkTreeDestroyCountFunc) (GtkTreeView *tree_view, GtkTreePath *path, gint children, gpointer user_data);
gtk_tree_view_set_destroy_count_func ()void gtk_tree_view_set_destroy_count_func (GtkTreeView *tree_view, GtkTreeDestroyCountFunc func, gpointer data, GDestroyNotify destroy); This function should almost never be used. It is meant for private use by ATK for determining the number of visible children that are removed when the user collapses a row, or a row is deleted.
GtkTreeViewRowSeparatorFunc ()gboolean (*GtkTreeViewRowSeparatorFunc) (GtkTreeModel *model, GtkTreeIter *iter, gpointer data);
Function type for determining whether the row pointed to by
gtk_tree_view_get_row_separator_func ()GtkTreeViewRowSeparatorFunc gtk_tree_view_get_row_separator_func (GtkTreeView *tree_view); Returns the current row separator function.
Since 2.6 gtk_tree_view_set_row_separator_func ()void gtk_tree_view_set_row_separator_func (GtkTreeView *tree_view, GtkTreeViewRowSeparatorFunc func, gpointer data, GDestroyNotify destroy);
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
Since 2.6 gtk_tree_view_get_rubber_banding ()gboolean gtk_tree_view_get_rubber_banding (GtkTreeView *tree_view);
Returns whether rubber banding is turned on for
Since 2.10 gtk_tree_view_set_rubber_banding ()void gtk_tree_view_set_rubber_banding (GtkTreeView *tree_view, gboolean enable);
Enables or disables rubber banding in
Since 2.10 gtk_tree_view_is_rubber_banding_active ()gboolean gtk_tree_view_is_rubber_banding_active (GtkTreeView *tree_view);
Returns whether a rubber banding operation is currently being done
in
Since 2.12 gtk_tree_view_get_enable_tree_lines ()gboolean gtk_tree_view_get_enable_tree_lines (GtkTreeView *tree_view);
Returns whether or not tree lines are drawn in
Since 2.10 gtk_tree_view_set_enable_tree_lines ()void gtk_tree_view_set_enable_tree_lines (GtkTreeView *tree_view, gboolean enabled);
Sets whether to draw lines interconnecting the expanders in
Since 2.10 enum GtkTreeViewGridLinestypedef enum { GTK_TREE_VIEW_GRID_LINES_NONE, GTK_TREE_VIEW_GRID_LINES_HORIZONTAL, GTK_TREE_VIEW_GRID_LINES_VERTICAL, GTK_TREE_VIEW_GRID_LINES_BOTH } GtkTreeViewGridLines;
gtk_tree_view_get_grid_lines ()GtkTreeViewGridLines gtk_tree_view_get_grid_lines (GtkTreeView *tree_view);
Returns which grid lines are enabled in
Since 2.10 gtk_tree_view_set_grid_lines ()void gtk_tree_view_set_grid_lines (GtkTreeView *tree_view, GtkTreeViewGridLines grid_lines);
Sets which grid lines to draw in
Since 2.10 gtk_tree_view_set_tooltip_row ()void gtk_tree_view_set_tooltip_row (GtkTreeView *tree_view, GtkTooltip *tooltip, GtkTreePath *path);
Sets the tip area of
Since 2.12 gtk_tree_view_set_tooltip_cell ()void gtk_tree_view_set_tooltip_cell (GtkTreeView *tree_view, GtkTooltip *tooltip, GtkTreePath *path, GtkTreeViewColumn *column, GtkCellRenderer *cell);
Sets the tip area of
Note that if
Since 2.12 gtk_tree_view_get_tooltip_context ()gboolean gtk_tree_view_get_tooltip_context (GtkTreeView *tree_view, gint *x, gint *y, gboolean keyboard_tip, GtkTreeModel **model, GtkTreePath **path, GtkTreeIter *iter);
This function is supposed to be used in a "query-tooltip"
signal handler for GtkTreeView. The
The return value indicates whether there is a tree view row at the given
coordinates (
Since 2.12 gtk_tree_view_get_tooltip_column ()gint gtk_tree_view_get_tooltip_column (GtkTreeView *tree_view);
Returns the column of
Since 2.12 gtk_tree_view_set_tooltip_column ()void gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view, gint column);
If you only plan to have simple (text-only) tooltips on full rows, you
can use this function to have GtkTreeView handle these automatically
for you.
When enabled, "has-tooltip" will be set to
Note that the signal handler sets the text with
Since 2.12 Property DetailsThe
|
|
the object on which the signal is emitted |
|
user data set when the signal handler was connected. |
"cursor-changed"
signalvoid user_function (GtkTreeView *tree_view, gpointer user_data) : Run Last
The position of the cursor (focused cell) has changed.
|
the object on which the signal is emitted |
|
user data set when the signal handler was connected. |
"expand-collapse-cursor-row"
signalgboolean user_function (GtkTreeView *treeview, gboolean arg1, gboolean arg2, gboolean arg3, gpointer user_data) : Run Last / Action
|
the object which received the signal. |
|
|
|
|
|
|
|
user data set when the signal handler was connected. |
Returns : |
"move-cursor"
signalgboolean user_function (GtkTreeView *treeview, GtkMovementStep arg1, gint arg2, gpointer user_data) : Run Last / Action
|
the object which received the signal. |
|
|
|
|
|
user data set when the signal handler was connected. |
Returns : |
"row-activated"
signalvoid user_function (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data) : Run Last / Action
The "row-activated" signal is emitted when the method
gtk_tree_view_row_activated()
is called or the user double clicks
a treeview row. It is also emitted when a non-editable row is
selected and one of the keys: Space, Shift+Space, Return or
Enter is pressed.
For selection handling refer to the tree widget conceptual overview as well as GtkTreeSelection.
|
the object on which the signal is emitted |
|
the GtkTreePath for the activated row |
|
the GtkTreeViewColumn in which the activation occurred |
|
user data set when the signal handler was connected. |
"row-collapsed"
signalvoid user_function (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data) : Run Last
The given row has been collapsed (child nodes are hidden).
|
the object on which the signal is emitted |
|
the tree iter of the collapsed row |
|
a tree path that points to the row |
|
user data set when the signal handler was connected. |
"row-expanded"
signalvoid user_function (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data) : Run Last
The given row has been expanded (child nodes are shown).
|
the object on which the signal is emitted |
|
the tree iter of the expanded row |
|
a tree path that points to the row |
|
user data set when the signal handler was connected. |
"select-all"
signalgboolean user_function (GtkTreeView *treeview, gpointer user_data) : Run Last / Action
|
the object which received the signal. |
|
user data set when the signal handler was connected. |
Returns : |
"select-cursor-parent"
signalgboolean user_function (GtkTreeView *treeview, gpointer user_data) : Run Last / Action
|
the object which received the signal. |
|
user data set when the signal handler was connected. |
Returns : |
"select-cursor-row"
signalgboolean user_function (GtkTreeView *treeview, gboolean arg1, gpointer user_data) : Run Last / Action
|
the object which received the signal. |
|
|
|
user data set when the signal handler was connected. |
Returns : |
"set-scroll-adjustments"
signalvoid user_function (GtkTreeView *treeview, GtkAdjustment *arg1, GtkAdjustment *arg2, gpointer user_data) : Run Last / Action
|
the object which received the signal. |
|
|
|
|
|
user data set when the signal handler was connected. |
"start-interactive-search"
signalgboolean user_function (GtkTreeView *treeview, gpointer user_data) : Run Last / Action
|
the object which received the signal. |
|
user data set when the signal handler was connected. |
Returns : |
"test-collapse-row"
signalgboolean user_function (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data) : Run Last
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.
|
the object on which the signal is emitted |
|
the tree iter of the row to collapse |
|
a tree path that points to the row |
|
user data set when the signal handler was connected. |
Returns : |
FALSE to allow collapsing, TRUE to reject
|
"test-expand-row"
signalgboolean user_function (GtkTreeView *tree_view, GtkTreeIter *iter, GtkTreePath *path, gpointer user_data) : Run Last
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.
|
the object on which the signal is emitted |
|
the tree iter of the row to expand |
|
a tree path that points to the row |
|
user data set when the signal handler was connected. |
Returns : |
FALSE to allow expansion, TRUE to reject
|
"toggle-cursor-row"
signalgboolean user_function (GtkTreeView *treeview, gpointer user_data) : Run Last / Action
|
the object which received the signal. |
|
user data set when the signal handler was connected. |
Returns : |
"unselect-all"
signalgboolean user_function (GtkTreeView *treeview, gpointer user_data) : Run Last / Action
|
the object which received the signal. |
|
user data set when the signal handler was connected. |
Returns : |
GtkTreeViewColumn, GtkTreeSelection, GtkTreeDnd, GtkTreeMode, GtkTreeSortable, GtkTreeModelSort, GtkListStore, GtkTreeStore, GtkCellRenderer, GtkCellEditable, GtkCellRendererPixbuf, GtkCellRendererText, GtkCellRendererToggle