GtkTreeSelection The selection object for #GtkTreeView The #GtkTreeSelection object is a helper object to manage the selection for a #GtkTreeView widget. The #GtkTreeSelection object is automatically created when a new #GtkTreeView widget is created, and cannot exist independentally of this widget. The primary reason the #GtkTreeSelection objects exists is for cleanliness of code and API. That is, there is no conceptual reason all these functions could not be methods on the #GtkTreeView widget instead of a separate function. The #GtkTreeSelection object is gotten from a #GtkTreeView by calling gtk_tree_view_get_selection(). It can be manipulated to check the selection status of the tree, as well as select and deselect individual rows. Selection is done completely view side. As a result, multiple views of the same model can have completely different selections. Additionally, you cannot change the selection of a row on the model that is not currently displayed by the view without expanding its parents first. One of the important things to remember when monitoring the selection of a view is that the "changed" signal is mostly a hint. That is, it may only emit one signal when a range of rows is selected. Additionally, it may on occasion emit a "changed" signal when nothing has happened (mostly as a result of programmers calling select_row on an already selected row). #GtkTreeView, #GtkTreeViewColumn, #GtkTreeDnd, #GtkTreeMode, #GtkTreeSortable, #GtkTreeModelSort, #GtkListStore, #GtkTreeStore, #GtkCellRenderer, #GtkCellEditable, #GtkCellRendererPixbuf, #GtkCellRendererText, #GtkCellRendererToggle A function used by gtk_tree_selection_set_select_function() to filter whether or not a row may be selected. It is called whenever a row's state might change. A return value of %TRUE indicates to @selection that it is okay to change the selection. @selection: A #GtkTreeSelection @model: A #GtkTreeModel being viewed @path: The #GtkTreePath of the row in question @path_currently_selected: %TRUE, if the path is currently selected @data: user data @Returns: %TRUE, if the selection state of the row can be toggled A function used by gtk_tree_selection_selected_foreach() to map all selected rows. It will be called on every selected row in the view. @model: The #GtkTreeModel being viewed @path: The #GtkTreePath of a selected row @iter: A #GtkTreeIter pointing to a selected row @data: user data @selection: @type: @selection: @Returns: @selection: @func: @data: @destroy: @selection: @Returns: @selection: @Returns: @selection: @model: @iter: @Returns: @selection: @func: @data: @selection: @path: @selection: @path: @selection: @path: @Returns: @selection: @iter: @selection: @iter: @selection: @iter: @Returns: @selection: @selection: @selection: @start_path: @end_path: Emitted whenever the selection has (possibly) changed. Please note that this signal is @treeselection: the object which received the signal.