From 5fbd52da4911fbeef69fa6b58997307e8fd771cd Mon Sep 17 00:00:00 2001 From: Emmanuele Bassi Date: Thu, 13 Oct 2022 00:06:12 +0100 Subject: [PATCH] docs: Add deprecation message for GtkListStore Point to GListStore and list models instead. --- gtk/deprecated/gtkliststore.c | 140 +++++++++++++++++++--------------- gtk/deprecated/gtkliststore.h | 42 +++++----- gtk/deprecated/gtktreestore.h | 46 +++++------ 3 files changed, 124 insertions(+), 104 deletions(-) diff --git a/gtk/deprecated/gtkliststore.c b/gtk/deprecated/gtkliststore.c index f87658001e..24c6a02c95 100644 --- a/gtk/deprecated/gtkliststore.c +++ b/gtk/deprecated/gtkliststore.c @@ -104,7 +104,11 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS * } * ``` * - * # Performance Considerations + * `GtkListStore` is deprecated since GTK 4.10, and should not be used in newly + * written code. You should use [class@Gio.ListStore] instead, and the various + * list models provided by GTK. + * + * ## Performance Considerations * * Internally, the `GtkListStore` was originally implemented with a linked list * with a tail pointer. As a result, it was fast at data insertion and deletion, @@ -114,7 +118,7 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS * often and your code is expected to run on older versions of GTK, it is worth * keeping the iter around. * - * # Atomic Operations + * ## Atomic Operations * * It is important to note that only the methods * gtk_list_store_insert_with_values() and gtk_list_store_insert_with_valuesv() @@ -131,7 +135,7 @@ G_GNUC_BEGIN_IGNORE_DEPRECATIONS * `GtkTreeModel`FilterVisibleFunc to be visited with an empty row first; the * function must be prepared for that. * - * # GtkListStore as GtkBuildable + * ## GtkListStore as GtkBuildable * * The GtkListStore implementation of the [iface@Gtk.Buildable] interface allows * to specify the model columns with a `` element that may contain @@ -390,7 +394,7 @@ static gboolean iter_is_valid (GtkTreeIter *iter, GtkListStore *list_store) { - return iter != NULL && + return iter != NULL && iter->user_data != NULL && list_store->priv->stamp == iter->stamp && !g_sequence_iter_is_end (iter->user_data) && @@ -402,17 +406,27 @@ iter_is_valid (GtkTreeIter *iter, * @n_columns: number of columns in the list store * @...: all `GType` types for the columns, from first to last * - * Creates a new list store as with @n_columns columns each of the types passed - * in. Note that only types derived from standard GObject fundamental types + * Creates a new list store. + * + * The list store will have @n_columns columns, with each column using + * the given type passed to this function. + * + * + * Note that only types derived from standard GObject fundamental types * are supported. * - * As an example, `gtk_list_store_new (3, G_TYPE_INT, G_TYPE_STRING, - * GDK_TYPE_TEXTURE);` will create a new `GtkListStore` with three columns, of type - * int, string and `GdkTexture`, respectively. + * As an example: + * + * ```c + * gtk_list_store_new (3, G_TYPE_INT, G_TYPE_STRING, GDK_TYPE_TEXTURE); + * ``` + * + * will create a new `GtkListStore` with three columns, of type `int`, + * `gchararray` and `GdkTexture`, respectively. * * Returns: a new `GtkListStore` * - * Deprecated: 4.10: Use list models + * Deprecated: 4.10: Use [class@Gio.ListStore] instead */ GtkListStore * gtk_list_store_new (int n_columns, @@ -455,11 +469,13 @@ gtk_list_store_new (int n_columns, * @n_columns: number of columns in the list store * @types: (array length=n_columns): an array of `GType` types for the columns, from first to last * - * Non-vararg creation function. Used primarily by language bindings. + * Creates a new `GtkListStore`. + * + * This function is meant to be used by language bindings. * * Returns: (transfer full): a new `GtkListStore` * - * Deprecated: 4.10: Use list models + * Deprecated: 4.10: Use [class@Gio.ListStore] instead **/ GtkListStore * gtk_list_store_newv (int n_columns, @@ -494,10 +510,14 @@ gtk_list_store_newv (int n_columns, * @n_columns: Number of columns for the list store * @types: (array length=n_columns): An array length n of `GType`s * - * This function is meant primarily for `GObject`s that inherit from `GtkListStore`, - * and should only be used when constructing a new `GtkListStore`. It will not - * function after a row has been added, or a method on the `GtkTreeModel` - * interface is called. + * Sets the types of the columns of a list store. + * + * This function is meant primarily for objects that inherit + * from `GtkListStore`, and should only be used when constructing + * a new instance. + * + * This function cannot be called after a row has been added, or + * a method on the `GtkTreeModel` interface is called. * * Deprecated: 4.10: Use list models **/ @@ -661,10 +681,10 @@ gtk_list_store_get_path (GtkTreeModel *tree_model, if (g_sequence_iter_is_end (iter->user_data)) return NULL; - + path = gtk_tree_path_new (); gtk_tree_path_append_index (path, g_sequence_iter_get_position (iter->user_data)); - + return path; } @@ -681,7 +701,7 @@ gtk_list_store_get_value (GtkTreeModel *tree_model, g_return_if_fail (column < priv->n_columns); g_return_if_fail (iter_is_valid (iter, list_store)); - + list = g_sequence_get (iter->user_data); while (tmp_column-- > 0 && list) @@ -998,8 +1018,8 @@ gtk_list_store_set_vector_internal (GtkListStore *list_store, for (i = 0; i < n_values; i++) { - *emit_signal = gtk_list_store_real_set_value (list_store, - iter, + *emit_signal = gtk_list_store_real_set_value (list_store, + iter, columns[i], &values[i], FALSE) || *emit_signal; @@ -1057,7 +1077,7 @@ gtk_list_store_set_valist_internal (GtkListStore *list_store, column, &value, FALSE) || *emit_signal; - + if (func == _gtk_tree_data_list_compare_func && column == priv->sort_column_id) *maybe_need_sort = TRUE; @@ -1078,7 +1098,7 @@ gtk_list_store_set_valist_internal (GtkListStore *list_store, * * A variant of gtk_list_store_set_valist() which * takes the columns and values as two arrays, instead of - * varargs. This function is mainly intended for + * varargs. This function is mainly intended for * language-bindings and in case the number of columns to * change is not known until run-time. * @@ -1143,8 +1163,8 @@ gtk_list_store_set_valist (GtkListStore *list_store, priv = list_store->priv; - gtk_list_store_set_valist_internal (list_store, iter, - &emit_signal, + gtk_list_store_set_valist_internal (list_store, iter, + &emit_signal, &maybe_need_sort, var_args); @@ -1196,8 +1216,8 @@ gtk_list_store_set (GtkListStore *list_store, * @list_store: A `GtkListStore` * @iter: A valid `GtkTreeIter` * - * Removes the given row from the list store. After being removed, - * @iter is set to be the next valid row, or invalidated if it pointed + * Removes the given row from the list store. After being removed, + * @iter is set to be the next valid row, or invalidated if it pointed * to the last row in @list_store. * * Returns: %TRUE if @iter is valid, %FALSE if not. @@ -1221,12 +1241,12 @@ gtk_list_store_remove (GtkListStore *list_store, ptr = iter->user_data; next = g_sequence_iter_next (ptr); - + _gtk_tree_data_list_free (g_sequence_get (ptr), priv->column_headers); g_sequence_remove (iter->user_data); priv->length--; - + gtk_tree_model_row_deleted (GTK_TREE_MODEL (list_store), path); gtk_tree_path_free (path); @@ -1290,7 +1310,7 @@ gtk_list_store_insert (GtkListStore *list_store, g_assert (iter_is_valid (iter, list_store)); priv->length++; - + path = gtk_tree_path_new (); gtk_tree_path_append_index (path, position); gtk_tree_model_row_inserted (GTK_TREE_MODEL (list_store), path, iter); @@ -1303,9 +1323,9 @@ gtk_list_store_insert (GtkListStore *list_store, * @iter: (out): An unset `GtkTreeIter` to set to the new row * @sibling: (nullable): A valid `GtkTreeIter` * - * Inserts a new row before @sibling. If @sibling is %NULL, then the row will - * be appended to the end of the list. @iter will be changed to point to this - * new row. The row will be empty after this function is called. To fill in + * Inserts a new row before @sibling. If @sibling is %NULL, then the row will + * be appended to the end of the list. @iter will be changed to point to this + * new row. The row will be empty after this function is called. To fill in * values, you need to call gtk_list_store_set() or gtk_list_store_set_value(). * * Deprecated: 4.10: Use list models @@ -1317,7 +1337,7 @@ gtk_list_store_insert_before (GtkListStore *list_store, { GtkListStorePrivate *priv; GSequenceIter *after; - + g_return_if_fail (GTK_IS_LIST_STORE (list_store)); g_return_if_fail (iter != NULL); @@ -1429,7 +1449,7 @@ gtk_list_store_increment_stamp (GtkListStore *list_store) * gtk_list_store_clear: * @list_store: a `GtkListStore`. * - * Removes all rows from the list store. + * Removes all rows from the list store. * * Deprecated: 4.10: Use list models **/ @@ -1506,7 +1526,7 @@ static gboolean real_gtk_list_store_row_draggable (GtkTreeDragSource *drag_sourc { return TRUE; } - + static gboolean gtk_list_store_drag_data_delete (GtkTreeDragSource *drag_source, GtkTreePath *path) @@ -1677,7 +1697,7 @@ gtk_list_store_row_drop_possible (GtkTreeDragDest *drag_dest, out: if (src_path) gtk_tree_path_free (src_path); - + return retval; } @@ -1699,7 +1719,7 @@ gtk_list_store_reorder_func (GSequenceIter *a, return 1; return 0; } - + /** * gtk_list_store_reorder: * @store: A `GtkListStore`. @@ -1723,7 +1743,7 @@ gtk_list_store_reorder (GtkListStore *store, GHashTable *new_positions; GSequenceIter *ptr; int *order; - + g_return_if_fail (GTK_IS_LIST_STORE (store)); g_return_if_fail (!GTK_LIST_STORE_IS_SORTED (store)); g_return_if_fail (new_order != NULL); @@ -1733,7 +1753,7 @@ gtk_list_store_reorder (GtkListStore *store, order = g_new (int, g_sequence_get_length (priv->seq)); for (i = 0; i < g_sequence_get_length (priv->seq); i++) order[new_order[i]] = i; - + new_positions = g_hash_table_new (g_direct_hash, g_direct_equal); ptr = g_sequence_get_begin_iter (priv->seq); @@ -1745,11 +1765,11 @@ gtk_list_store_reorder (GtkListStore *store, ptr = g_sequence_iter_next (ptr); } g_free (order); - + g_sequence_sort_iter (priv->seq, gtk_list_store_reorder_func, new_positions); g_hash_table_destroy (new_positions); - + /* emit signal */ path = gtk_tree_path_new (); gtk_tree_model_rows_reordered (GTK_TREE_MODEL (store), @@ -1828,12 +1848,12 @@ gtk_list_store_swap (GtkListStore *store, return; old_positions = save_positions (priv->seq); - + g_sequence_swap (a->user_data, b->user_data); order = generate_order (priv->seq, old_positions); path = gtk_tree_path_new (); - + gtk_tree_model_rows_reordered (GTK_TREE_MODEL (store), path, NULL, order); @@ -1882,7 +1902,7 @@ gtk_list_store_move_before (GtkListStore *store, GtkTreeIter *position) { int pos; - + g_return_if_fail (GTK_IS_LIST_STORE (store)); g_return_if_fail (!GTK_LIST_STORE_IS_SORTED (store)); g_return_if_fail (iter_is_valid (iter, store)); @@ -1893,7 +1913,7 @@ gtk_list_store_move_before (GtkListStore *store, pos = g_sequence_iter_get_position (position->user_data); else pos = -1; - + gtk_list_store_move_to (store, iter, pos); } @@ -1915,7 +1935,7 @@ gtk_list_store_move_after (GtkListStore *store, GtkTreeIter *position) { int pos; - + g_return_if_fail (GTK_IS_LIST_STORE (store)); g_return_if_fail (!GTK_LIST_STORE_IS_SORTED (store)); g_return_if_fail (iter_is_valid (iter, store)); @@ -1926,10 +1946,10 @@ gtk_list_store_move_after (GtkListStore *store, pos = g_sequence_iter_get_position (position->user_data) + 1; else pos = 0; - + gtk_list_store_move_to (store, iter, pos); } - + /* Sorting */ static int gtk_list_store_compare_func (GSequenceIter *a, @@ -2029,7 +2049,7 @@ iter_is_sorted (GtkListStore *list_store, if (gtk_list_store_compare_func (iter->user_data, cmp, list_store) > 0) return FALSE; } - + return TRUE; } @@ -2102,7 +2122,7 @@ gtk_list_store_set_sort_column_id (GtkTreeSortable *sortable, { GtkTreeDataSortHeader *header = NULL; - header = _gtk_tree_data_list_get_header (priv->sort_list, + header = _gtk_tree_data_list_get_header (priv->sort_list, sort_column_id); /* We want to make sure that we have a function */ @@ -2134,8 +2154,8 @@ gtk_list_store_set_sort_func (GtkTreeSortable *sortable, GtkListStore *list_store = GTK_LIST_STORE (sortable); GtkListStorePrivate *priv = list_store->priv; - priv->sort_list = _gtk_tree_data_list_set_header (priv->sort_list, - sort_column_id, + priv->sort_list = _gtk_tree_data_list_set_header (priv->sort_list, + sort_column_id, func, data, destroy); if (priv->sort_column_id == sort_column_id) @@ -2262,7 +2282,7 @@ gtk_list_store_insert_with_values (GtkListStore *list_store, priv->length++; va_start (var_args, position); - gtk_list_store_set_valist_internal (list_store, iter, + gtk_list_store_set_valist_internal (list_store, iter, &changed, &maybe_need_sort, var_args); va_end (var_args); @@ -2286,9 +2306,9 @@ gtk_list_store_insert_with_values (GtkListStore *list_store, * @iter: (out) (optional): An unset `GtkTreeIter` to set to the new row * @position: position to insert the new row, or -1 for last * @columns: (array length=n_values): an array of column numbers - * @values: (array length=n_values): an array of GValues + * @values: (array length=n_values): an array of GValues * @n_values: the length of the @columns and @values arrays - * + * * A variant of gtk_list_store_insert_with_values() which * takes the columns and values as two arrays, instead of * varargs. @@ -2301,7 +2321,7 @@ void gtk_list_store_insert_with_valuesv (GtkListStore *list_store, GtkTreeIter *iter, int position, - int *columns, + int *columns, GValue *values, int n_values) { @@ -2314,8 +2334,8 @@ gtk_list_store_insert_with_valuesv (GtkListStore *list_store, gboolean changed = FALSE; gboolean maybe_need_sort = FALSE; - /* FIXME refactor to reduce overlap with - * gtk_list_store_insert_with_values() + /* FIXME refactor to reduce overlap with + * gtk_list_store_insert_with_values() */ g_return_if_fail (GTK_IS_LIST_STORE (list_store)); @@ -2340,7 +2360,7 @@ gtk_list_store_insert_with_valuesv (GtkListStore *list_store, g_assert (iter_is_valid (iter, list_store)); - priv->length++; + priv->length++; gtk_list_store_set_vector_internal (list_store, iter, &changed, &maybe_need_sort, diff --git a/gtk/deprecated/gtkliststore.h b/gtk/deprecated/gtkliststore.h index 75914bfe8a..d9c847dbbe 100644 --- a/gtk/deprecated/gtkliststore.h +++ b/gtk/deprecated/gtkliststore.h @@ -60,88 +60,88 @@ struct _GtkListStoreClass GDK_AVAILABLE_IN_ALL GType gtk_list_store_get_type (void) G_GNUC_CONST; -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) GtkListStore *gtk_list_store_new (int n_columns, ...); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) GtkListStore *gtk_list_store_newv (int n_columns, GType *types); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_set_column_types (GtkListStore *list_store, int n_columns, GType *types); /* NOTE: use gtk_tree_model_get to get values from a GtkListStore */ -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_set_value (GtkListStore *list_store, GtkTreeIter *iter, int column, GValue *value); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_set (GtkListStore *list_store, GtkTreeIter *iter, ...); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_set_valuesv (GtkListStore *list_store, GtkTreeIter *iter, int *columns, GValue *values, int n_values); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_set_valist (GtkListStore *list_store, GtkTreeIter *iter, va_list var_args); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) gboolean gtk_list_store_remove (GtkListStore *list_store, GtkTreeIter *iter); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_insert (GtkListStore *list_store, GtkTreeIter *iter, int position); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_insert_before (GtkListStore *list_store, GtkTreeIter *iter, GtkTreeIter *sibling); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_insert_after (GtkListStore *list_store, GtkTreeIter *iter, GtkTreeIter *sibling); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_insert_with_values (GtkListStore *list_store, GtkTreeIter *iter, int position, ...); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_insert_with_valuesv (GtkListStore *list_store, GtkTreeIter *iter, int position, int *columns, GValue *values, int n_values); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_prepend (GtkListStore *list_store, GtkTreeIter *iter); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_append (GtkListStore *list_store, GtkTreeIter *iter); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_clear (GtkListStore *list_store); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) gboolean gtk_list_store_iter_is_valid (GtkListStore *list_store, GtkTreeIter *iter); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_reorder (GtkListStore *store, int *new_order); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_swap (GtkListStore *store, GtkTreeIter *a, GtkTreeIter *b); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_move_after (GtkListStore *store, GtkTreeIter *iter, GtkTreeIter *position); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GListStore) void gtk_list_store_move_before (GtkListStore *store, GtkTreeIter *iter, GtkTreeIter *position); diff --git a/gtk/deprecated/gtktreestore.h b/gtk/deprecated/gtktreestore.h index 5b95363030..2d56a5845d 100644 --- a/gtk/deprecated/gtktreestore.h +++ b/gtk/deprecated/gtktreestore.h @@ -60,63 +60,63 @@ struct _GtkTreeStoreClass GDK_AVAILABLE_IN_ALL GType gtk_tree_store_get_type (void) G_GNUC_CONST; -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) GtkTreeStore *gtk_tree_store_new (int n_columns, ...); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) GtkTreeStore *gtk_tree_store_newv (int n_columns, GType *types); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_set_column_types (GtkTreeStore *tree_store, int n_columns, GType *types); /* NOTE: use gtk_tree_model_get to get values from a GtkTreeStore */ -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_set_value (GtkTreeStore *tree_store, GtkTreeIter *iter, int column, GValue *value); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_set (GtkTreeStore *tree_store, GtkTreeIter *iter, ...); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_set_valuesv (GtkTreeStore *tree_store, GtkTreeIter *iter, int *columns, GValue *values, int n_values); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_set_valist (GtkTreeStore *tree_store, GtkTreeIter *iter, va_list var_args); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) gboolean gtk_tree_store_remove (GtkTreeStore *tree_store, GtkTreeIter *iter); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_insert (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, int position); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_insert_before (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, GtkTreeIter *sibling); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_insert_after (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, GtkTreeIter *sibling); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_insert_with_values (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, int position, ...); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_insert_with_valuesv (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent, @@ -124,39 +124,39 @@ void gtk_tree_store_insert_with_valuesv (GtkTreeStore *tree_store, int *columns, GValue *values, int n_values); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_prepend (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_append (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *parent); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) gboolean gtk_tree_store_is_ancestor (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *descendant); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) int gtk_tree_store_iter_depth (GtkTreeStore *tree_store, GtkTreeIter *iter); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_clear (GtkTreeStore *tree_store); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) gboolean gtk_tree_store_iter_is_valid (GtkTreeStore *tree_store, GtkTreeIter *iter); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_reorder (GtkTreeStore *tree_store, GtkTreeIter *parent, int *new_order); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_swap (GtkTreeStore *tree_store, GtkTreeIter *a, GtkTreeIter *b); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_move_before (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *position); -GDK_DEPRECATED_IN_4_10 +GDK_DEPRECATED_IN_4_10_FOR(GtkTreeListModel) void gtk_tree_store_move_after (GtkTreeStore *tree_store, GtkTreeIter *iter, GtkTreeIter *position); -- 2.30.2