-GtkType gtk_tree_view_get_type (void);
-GtkWidget *gtk_tree_view_new (void);
-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);
-void gtk_tree_view_set_headers_clickable (GtkTreeView *tree_view,
- gboolean setting);
-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);
-GtkTreeViewColumn *gtk_tree_view_get_column (GtkTreeView *tree_view,
- gint n);
-
-void gtk_tree_view_set_expander_column (GtkTreeView *tree_view,
- gint col);
-
-gint gtk_tree_view_get_expander_column (GtkTreeView *tree_view);
+/**
+ * GtkTreeViewColumnDropFunc:
+ * @tree_view: A #GtkTreeView
+ * @column: The #GtkTreeViewColumn being dragged
+ * @prev_column: A #GtkTreeViewColumn on one side of @column
+ * @next_column: A #GtkTreeViewColumn on the other side of @column
+ * @data: (closure): user data
+ *
+ * Function type for determining whether @column can be dropped in a
+ * particular spot (as determined by @prev_column and @next_column). In
+ * left to right locales, @prev_column is on the left of the potential drop
+ * spot, and @next_column is on the right. In right to left mode, this is
+ * reversed. This function should return %TRUE if the spot is a valid drop
+ * spot. Please note that returning %TRUE does not actually indicate that
+ * the column drop was made, but is meant only to indicate a possible drop
+ * spot to the user.
+ *
+ * Returns: %TRUE, if @column can be dropped in this spot
+ */
+typedef gboolean (* GtkTreeViewColumnDropFunc) (GtkTreeView *tree_view,
+ GtkTreeViewColumn *column,
+ GtkTreeViewColumn *prev_column,
+ GtkTreeViewColumn *next_column,
+ gpointer data);
+
+/**
+ * GtkTreeViewMappingFunc:
+ * @tree_view: A #GtkTreeView
+ * @path: The path that's expanded
+ * @user_data: user data
+ *
+ * Function used for gtk_tree_view_map_expanded_rows().
+ */
+typedef void (* GtkTreeViewMappingFunc) (GtkTreeView *tree_view,
+ GtkTreePath *path,
+ gpointer user_data);
+
+/**
+ * GtkTreeViewSearchEqualFunc:
+ * @model: the #GtkTreeModel being searched
+ * @column: the search column set by gtk_tree_view_set_search_column()
+ * @key: the key string to compare with
+ * @iter: a #GtkTreeIter pointing the row of @model that should be compared
+ * with @key.
+ * @search_data: (closure): user data from gtk_tree_view_set_search_equal_func()
+ *
+ * A function used for checking whether a row in @model matches
+ * a search key string entered by the user. Note the return value
+ * is reversed from what you would normally expect, though it
+ * has some similarity to strcmp() returning 0 for equal strings.
+ *
+ * Returns: %FALSE if the row matches, %TRUE otherwise.
+ */
+typedef gboolean (*GtkTreeViewSearchEqualFunc) (GtkTreeModel *model,
+ gint column,
+ const gchar *key,
+ GtkTreeIter *iter,
+ gpointer search_data);
+
+/**
+ * GtkTreeViewRowSeparatorFunc:
+ * @model: the #GtkTreeModel
+ * @iter: a #GtkTreeIter pointing at a row in @model
+ * @data: (closure): user data
+ *
+ * Function type for determining whether the row pointed to by @iter should
+ * be rendered as a separator. A common way to implement this is to have a
+ * boolean column in the model, whose values the #GtkTreeViewRowSeparatorFunc
+ * returns.
+ *
+ * Returns: %TRUE if the row is a separator
+ */
+typedef gboolean (*GtkTreeViewRowSeparatorFunc) (GtkTreeModel *model,
+ GtkTreeIter *iter,
+ gpointer data);
+typedef void (*GtkTreeViewSearchPositionFunc) (GtkTreeView *tree_view,
+ GtkWidget *search_dialog,
+ gpointer user_data);
+
+
+/* Creators */
+GType gtk_tree_view_get_type (void) G_GNUC_CONST;
+GtkWidget *gtk_tree_view_new (void);
+GtkWidget *gtk_tree_view_new_with_model (GtkTreeModel *model);
+
+/* Accessors */
+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);
+
+GDK_DEPRECATED_IN_3_0_FOR(gtk_scrollable_get_hadjustment)
+GtkAdjustment *gtk_tree_view_get_hadjustment (GtkTreeView *tree_view);
+GDK_DEPRECATED_IN_3_0_FOR(gtk_scrollable_set_hadjustment)
+void gtk_tree_view_set_hadjustment (GtkTreeView *tree_view,
+ GtkAdjustment *adjustment);
+GDK_DEPRECATED_IN_3_0_FOR(gtk_scrollable_get_vadjustment)
+GtkAdjustment *gtk_tree_view_get_vadjustment (GtkTreeView *tree_view);
+GDK_DEPRECATED_IN_3_0_FOR(gtk_scrollable_set_vadjustment)
+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);
+GDK_AVAILABLE_IN_3_8
+gboolean gtk_tree_view_get_activate_on_single_click (GtkTreeView *tree_view);
+GDK_AVAILABLE_IN_3_8
+void gtk_tree_view_set_activate_on_single_click (GtkTreeView *tree_view,
+ gboolean single);
+
+/* Column funtions */
+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,
+ ...) G_GNUC_NULL_TERMINATED;
+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);
+
+GDK_AVAILABLE_IN_3_4
+guint gtk_tree_view_get_n_columns (GtkTreeView *tree_view);
+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);