### Function

# Gtk TreeSelectionFunc

#### Declaration

    gboolean
    TreeSelectionFunc (
      GtkTreeSelection* selection,
      GtkTreeModel* model,
      GtkTreePath* path,
      gboolean path_currently_selected,
      gpointer data
    )

#### Description [src]

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.

#### Parameters

`selection` | `GtkTreeSelection`
| A `GtkTreeSelection`.
| The data is owned by the caller of the function.
`model` | `GtkTreeModel`
| A `GtkTreeModel` being viewed.
| The data is owned by the caller of the function.
`path` | `GtkTreePath`
| The `GtkTreePath` of the row in question.
| The data is owned by the caller of the function.
`path_currently_selected` | `gboolean`
| `TRUE`, if the path is currently selected.
`data` | `gpointer`
| User data.

#### Return value

Returns: | `gboolean`
| `TRUE`, if the selection state of the row can be toggled.