[gtk/deprecate-all-the-cells: 6/10] Deprecate treeviews and cell renderers




commit 3e227f5f48f6865cc19787a8ada90ae9e720840a
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Oct 7 17:47:28 2022 -0400

    Deprecate treeviews and cell renderers
    
    This includes
    
    GtkCellArea
    GtkCellAreaBox
    GtkCellAreaContext
    GtkCellEditable
    GtkCellRenderer
    GtkCellRendererAccel
    GtkCellRendererCombo
    GtkCellRendererPixbuf
    GtkCellRendererProgress
    GtkCellRendererSpin
    GtkCellRendererSpinner
    GtkCellRendererText
    GtkCellRendererToggle
    GtkCellView
    GtkComboBox
    GtkComboBoxText
    GtkIconView
    GtkListStore
    GtkTreeModel
    GtkTreeModelFilter
    GtkTreeModelSort
    GtkTreeStore
    GtkTreeView
    GtkTreeViewColumn
    GtkTreeSelection

 demos/gtk-demo/filtermodel.c                       |   2 +
 demos/gtk-demo/list_store.c                        |   2 +
 gtk/a11y/gtkatspiselection.c                       |   6 +-
 gtk/{ => deprecated}/gtkcellarea.c                 |  93 ++++++++++-
 gtk/{ => deprecated}/gtkcellarea.h                 |  98 +++++------
 gtk/{ => deprecated}/gtkcellareabox.c              |  13 +-
 gtk/{ => deprecated}/gtkcellareabox.h              |  12 +-
 gtk/{ => deprecated}/gtkcellareaboxcontext.c       |   2 +
 .../gtkcellareaboxcontextprivate.h                 |   6 +-
 gtk/{ => deprecated}/gtkcellareacontext.c          |  22 +++
 gtk/{ => deprecated}/gtkcellareacontext.h          |  22 +--
 gtk/{ => deprecated}/gtkcelleditable.c             |   5 +
 gtk/{ => deprecated}/gtkcelleditable.h             |   6 +-
 gtk/{ => deprecated}/gtkcelllayout.c               |  22 +++
 gtk/{ => deprecated}/gtkcelllayout.h               |  24 +--
 gtk/{ => deprecated}/gtkcellrenderer.c             |  56 +++++++
 gtk/{ => deprecated}/gtkcellrenderer.h             |  56 +++----
 gtk/{ => deprecated}/gtkcellrendereraccel.c        |   3 +
 gtk/{ => deprecated}/gtkcellrendereraccel.h        |   4 +-
 gtk/{ => deprecated}/gtkcellrenderercombo.c        |   9 +-
 gtk/{ => deprecated}/gtkcellrenderercombo.h        |   6 +-
 gtk/{ => deprecated}/gtkcellrendererpixbuf.c       |   4 +
 gtk/{ => deprecated}/gtkcellrendererpixbuf.h       |   4 +-
 gtk/{ => deprecated}/gtkcellrendererprogress.c     |   3 +
 gtk/{ => deprecated}/gtkcellrendererprogress.h     |   4 +-
 gtk/{ => deprecated}/gtkcellrendererspin.c         |   3 +
 gtk/{ => deprecated}/gtkcellrendererspin.h         |   4 +-
 gtk/{ => deprecated}/gtkcellrendererspinner.c      |   4 +
 gtk/{ => deprecated}/gtkcellrendererspinner.h      |   4 +-
 gtk/{ => deprecated}/gtkcellrenderertext.c         |   8 +-
 gtk/{ => deprecated}/gtkcellrenderertext.h         |   6 +-
 gtk/{ => deprecated}/gtkcellrenderertoggle.c       |  18 +-
 gtk/{ => deprecated}/gtkcellrenderertoggle.h       |  16 +-
 gtk/{ => deprecated}/gtkcellview.c                 |  30 ++++
 gtk/{ => deprecated}/gtkcellview.h                 |  34 ++--
 gtk/{ => deprecated}/gtkcombobox.c                 |  58 +++++++
 gtk/{ => deprecated}/gtkcombobox.h                 |  60 +++----
 gtk/{ => deprecated}/gtkcomboboxprivate.h          |   0
 gtk/{ => deprecated}/gtkcomboboxtext.c             |  24 +++
 gtk/{ => deprecated}/gtkcomboboxtext.h             |  24 +--
 gtk/deprecated/gtkentrycompletion.h                |  10 +-
 gtk/{ => deprecated}/gtkiconview.c                 | 128 ++++++++++++++
 gtk/{ => deprecated}/gtkiconview.h                 | 132 +++++++--------
 gtk/{ => deprecated}/gtkiconviewprivate.h          |   2 +-
 gtk/{ => deprecated}/gtkliststore.c                |  35 ++++
 gtk/{ => deprecated}/gtkliststore.h                |  46 ++---
 gtk/{ => deprecated}/gtktreedatalist.c             |   2 +
 gtk/{ => deprecated}/gtktreedatalistprivate.h      |   4 +-
 gtk/{ => deprecated}/gtktreednd.c                  |  16 ++
 gtk/{ => deprecated}/gtktreednd.h                  |  22 +--
 gtk/{ => deprecated}/gtktreemodel.c                | 120 +++++++++++++
 gtk/{ => deprecated}/gtktreemodel.h                | 118 ++++++-------
 gtk/{ => deprecated}/gtktreemodelfilter.c          |  23 +++
 gtk/{ => deprecated}/gtktreemodelfilter.h          |  24 +--
 gtk/{ => deprecated}/gtktreemodelsort.c            |  17 ++
 gtk/{ => deprecated}/gtktreemodelsort.h            |  22 +--
 gtk/{ => deprecated}/gtktreepopover.c              |   2 +
 gtk/{ => deprecated}/gtktreepopoverprivate.h       |   0
 gtk/{ => deprecated}/gtktreeprivate.h              |   6 +-
 gtk/{ => deprecated}/gtktreerbtree.c               |   2 +
 gtk/{ => deprecated}/gtktreerbtreeprivate.h        |   0
 gtk/{ => deprecated}/gtktreeselection.c            |  48 ++++++
 gtk/{ => deprecated}/gtktreeselection.h            |  42 ++---
 gtk/{ => deprecated}/gtktreesortable.c             |  14 ++
 gtk/{ => deprecated}/gtktreesortable.h             |  14 +-
 gtk/{ => deprecated}/gtktreestore.c                |  43 +++++
 gtk/{ => deprecated}/gtktreestore.h                |  50 +++---
 gtk/{ => deprecated}/gtktreeview.c                 | 183 ++++++++++++++++++++
 gtk/{ => deprecated}/gtktreeview.h                 | 186 ++++++++++-----------
 gtk/{ => deprecated}/gtktreeviewcolumn.c           | 112 ++++++++++++-
 gtk/{ => deprecated}/gtktreeviewcolumn.h           | 114 ++++++-------
 gtk/deprecated/meson.build                         |  60 +++++++
 gtk/gtk.h                                          |  56 +++----
 gtk/gtkcustompaperunixdialog.c                     |   2 +-
 gtk/gtkentry.c                                     |   8 +-
 gtk/gtkentryprivate.h                              |   6 +-
 gtk/gtkfilechooserentry.c                          |   4 +-
 gtk/gtkfilechooserprivate.h                        |   8 +-
 gtk/gtkfilechooserwidget.c                         |  13 +-
 gtk/gtkfilesystemmodel.c                           |   8 +-
 gtk/gtkfilesystemmodel.h                           |   2 +-
 gtk/gtkmountoperation.c                            |   1 -
 gtk/gtkpagesetupunixdialog.c                       |   2 -
 gtk/gtkplacessidebar.c                             |   1 -
 gtk/gtkplacesview.c                                |   4 +
 gtk/gtkprinteroptionwidget.c                       |   1 -
 gtk/gtksearchenginemodel.c                         |   2 +
 gtk/gtkspinbutton.c                                |   6 +-
 gtk/inspector/actions.c                            |   1 -
 gtk/inspector/meson.build                          |   1 -
 gtk/inspector/object-tree.c                        |  15 +-
 gtk/inspector/object-tree.h                        |   2 +-
 gtk/inspector/prop-editor.c                        |  10 +-
 gtk/inspector/recorder.c                           |   1 -
 gtk/inspector/tree-data.c                          |   5 +-
 gtk/inspector/window.c                             |   1 -
 gtk/meson.build                                    |  60 -------
 testsuite/gtk/rbtree.c                             |   2 +-
 98 files changed, 1859 insertions(+), 737 deletions(-)
---
diff --git a/demos/gtk-demo/filtermodel.c b/demos/gtk-demo/filtermodel.c
index b4f07337b1..78056eecc7 100644
--- a/demos/gtk-demo/filtermodel.c
+++ b/demos/gtk-demo/filtermodel.c
@@ -9,6 +9,8 @@
 #include <gtk/gtk.h>
 #include <stdlib.h>
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 enum {
   WIDTH_COLUMN,
   HEIGHT_COLUMN,
diff --git a/demos/gtk-demo/list_store.c b/demos/gtk-demo/list_store.c
index 7619a51a68..e71e78e4a3 100644
--- a/demos/gtk-demo/list_store.c
+++ b/demos/gtk-demo/list_store.c
@@ -7,6 +7,8 @@
 
 #include <gtk/gtk.h>
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 static GtkWidget *window = NULL;
 static GtkTreeModel *model = NULL;
 static guint timeout = 0;
diff --git a/gtk/a11y/gtkatspiselection.c b/gtk/a11y/gtkatspiselection.c
index 9ac86b7b11..e5d9172f14 100644
--- a/gtk/a11y/gtkatspiselection.c
+++ b/gtk/a11y/gtkatspiselection.c
@@ -31,7 +31,7 @@
 #include "gtklistbase.h"
 #include "gtklistbox.h"
 #include "gtkflowbox.h"
-#include "gtkcombobox.h"
+#include "deprecated/gtkcombobox.h"
 #include "gtkstackswitcher.h"
 #include "gtknotebook.h"
 #include "gtklistview.h"
@@ -618,6 +618,8 @@ static const GDBusInterfaceVTable flowbox_vtable = {
 /* }}} */
 /* {{{ GtkComboBox */
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 static void
 combobox_handle_method (GDBusConnection       *connection,
                         const gchar           *sender,
@@ -713,6 +715,8 @@ static const GDBusInterfaceVTable combobox_vtable = {
   NULL
 };
 
+G_GNUC_END_IGNORE_DEPRECATIONS
+
 /* }}} */
 /* {{{ GtkStackSwitcher */
 
diff --git a/gtk/gtkcellarea.c b/gtk/deprecated/gtkcellarea.c
similarity index 99%
rename from gtk/gtkcellarea.c
rename to gtk/deprecated/gtkcellarea.c
index 5d4f0c3eaf..7f8d9c88b4 100644
--- a/gtk/gtkcellarea.c
+++ b/gtk/deprecated/gtkcellarea.c
@@ -343,9 +343,9 @@
 #include <string.h>
 #include <stdlib.h>
 
-#include "gtkcelllayout.h"
+#include "deprecated/gtkcelllayout.h"
 #include "gtkcellarea.h"
-#include "gtkcellareacontext.h"
+#include "deprecated/gtkcellareacontext.h"
 #include "gtkmarshalers.h"
 #include "gtkprivate.h"
 #include "gtksnapshot.h"
@@ -354,6 +354,7 @@
 
 #include <gobject/gvaluecollector.h>
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 
 /* GObjectClass */
 static void      gtk_cell_area_dispose                             (GObject            *object);
@@ -1587,6 +1588,8 @@ gtk_cell_area_buildable_custom_tag_end (GtkBuildable *buildable,
  * @renderer: the `GtkCellRenderer` to add to @area
  *
  * Adds @renderer to @area with the default child cell properties.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_add (GtkCellArea        *area,
@@ -1604,6 +1607,8 @@ gtk_cell_area_add (GtkCellArea        *area,
  * @renderer: the `GtkCellRenderer` to remove from @area
  *
  * Removes @renderer from @area.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_remove (GtkCellArea        *area,
@@ -1658,6 +1663,8 @@ get_has_renderer (GtkCellRenderer  *renderer,
  * Checks if @area contains @renderer.
  *
  * Returns: %TRUE if @renderer is in the @area.
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_cell_area_has_renderer (GtkCellArea     *area,
@@ -1680,6 +1687,8 @@ gtk_cell_area_has_renderer (GtkCellArea     *area,
  * @callback_data: user provided data pointer
  *
  * Calls @callback for every `GtkCellRenderer` in @area.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_foreach (GtkCellArea        *area,
@@ -1737,6 +1746,8 @@ gtk_cell_area_foreach_alloc (GtkCellArea          *area,
  * Delegates event handling to a `GtkCellArea`.
  *
  * Returns: %TRUE if the event was handled by @area.
+ *
+ * Deprecated: 4.10
  */
 int
 gtk_cell_area_event (GtkCellArea          *area,
@@ -1777,6 +1788,8 @@ gtk_cell_area_event (GtkCellArea          *area,
  *
  * Snapshots @area’s cells according to @area’s layout onto at
  * the given coordinates.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_snapshot (GtkCellArea          *area,
@@ -1830,6 +1843,8 @@ get_cell_allocation (GtkCellRenderer        *renderer,
  *
  * Derives the allocation of @renderer inside @area if @area
  * were to be renderered in @cell_area.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_get_cell_allocation (GtkCellArea          *area,
@@ -1886,6 +1901,8 @@ get_cell_by_position (GtkCellRenderer     *renderer,
  * returns the full cell allocation for it inside @cell_area.
  *
  * Returns: (transfer none): the `GtkCellRenderer` at @x and @y.
+ *
+ * Deprecated: 4.10
  */
 GtkCellRenderer *
 gtk_cell_area_get_cell_at_position (GtkCellArea          *area,
@@ -1929,6 +1946,8 @@ gtk_cell_area_get_cell_at_position (GtkCellArea          *area,
  * which was used to request the size of those rows of data).
  *
  * Returns: (transfer full): a newly created `GtkCellArea`Context which can be used with @area.
+ *
+ * Deprecated: 4.10
  */
 GtkCellAreaContext *
 gtk_cell_area_create_context (GtkCellArea *area)
@@ -1956,6 +1975,8 @@ gtk_cell_area_create_context (GtkCellArea *area)
  * to be displayed.
  *
  * Returns: (transfer full): a newly created `GtkCellArea`Context copy of @context.
+ *
+ * Deprecated: 4.10
  */
 GtkCellAreaContext *
 gtk_cell_area_copy_context (GtkCellArea        *area,
@@ -2000,6 +2021,8 @@ gtk_cell_area_get_request_mode (GtkCellArea *area)
  * to check the @minimum_width and @natural_width of this call but rather to
  * consult gtk_cell_area_context_get_preferred_width() after a series of
  * requests.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_get_preferred_width (GtkCellArea        *area,
@@ -2038,6 +2061,8 @@ gtk_cell_area_get_preferred_width (GtkCellArea        *area,
  * requested with gtk_cell_area_get_preferred_width() again and then
  * the full width of the requested rows checked again with
  * gtk_cell_area_context_get_preferred_width().
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_get_preferred_height_for_width (GtkCellArea        *area,
@@ -2072,6 +2097,8 @@ gtk_cell_area_get_preferred_height_for_width (GtkCellArea        *area,
  * to check the @minimum_height and @natural_height of this call but rather to
  * consult gtk_cell_area_context_get_preferred_height() after a series of
  * requests.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_get_preferred_height (GtkCellArea        *area,
@@ -2110,6 +2137,8 @@ gtk_cell_area_get_preferred_height (GtkCellArea        *area,
  * requested with gtk_cell_area_get_preferred_height() again and then
  * the full height of the requested rows checked again with
  * gtk_cell_area_context_get_preferred_height().
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_get_preferred_width_for_height (GtkCellArea        *area,
@@ -2141,6 +2170,8 @@ gtk_cell_area_get_preferred_width_for_height (GtkCellArea        *area,
  *
  * Connects an @attribute to apply values from @column for the
  * `GtkTreeModel` in use.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_attribute_connect (GtkCellArea        *area,
@@ -2207,6 +2238,8 @@ gtk_cell_area_attribute_connect (GtkCellArea        *area,
  * Disconnects @attribute for the @renderer in @area so that
  * attribute will no longer be updated with values from the
  * model.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_attribute_disconnect (GtkCellArea        *area,
@@ -2250,6 +2283,8 @@ gtk_cell_area_attribute_disconnect (GtkCellArea        *area,
  * or -1 if the attribute is not mapped.
  *
  * Returns: the model column, or -1
+ *
+ * Deprecated: 4.10
  */
 int
 gtk_cell_area_attribute_get_column (GtkCellArea     *area,
@@ -2288,6 +2323,8 @@ gtk_cell_area_attribute_get_column (GtkCellArea     *area,
  *
  * Applies any connected attributes to the renderers in
  * @area by pulling the values from @tree_model.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_apply_attributes (GtkCellArea  *area,
@@ -2339,6 +2376,8 @@ gtk_cell_area_get_current_path_string (GtkCellArea *area)
  * @pspec: the `GParamSpec` for the property
  *
  * Installs a cell property on a cell area class.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_class_install_cell_property (GtkCellAreaClass   *aclass,
@@ -2375,6 +2414,8 @@ gtk_cell_area_class_install_cell_property (GtkCellAreaClass   *aclass,
  * Finds a cell property of a cell area class by name.
  *
  * Returns: (transfer none): the `GParamSpec` of the child property
+ *
+ * Deprecated: 4.10
  */
 GParamSpec*
 gtk_cell_area_class_find_cell_property (GtkCellAreaClass   *aclass,
@@ -2399,6 +2440,8 @@ gtk_cell_area_class_find_cell_property (GtkCellAreaClass   *aclass,
  * Returns: (array length=n_properties) (transfer container): a newly
  *     allocated %NULL-terminated array of `GParamSpec`*.  The array
  *     must be freed with g_free().
+ *
+ * Deprecated: 4.10
  */
 GParamSpec**
 gtk_cell_area_class_list_cell_properties (GtkCellAreaClass  *aclass,
@@ -2428,6 +2471,8 @@ gtk_cell_area_class_list_cell_properties (GtkCellAreaClass  *aclass,
  *
  * Adds @renderer to @area, setting cell properties at the same time.
  * See gtk_cell_area_add() and gtk_cell_area_cell_set() for more details.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_add_with_properties (GtkCellArea        *area,
@@ -2466,6 +2511,8 @@ gtk_cell_area_add_with_properties (GtkCellArea        *area,
  *           with @first_prop_name
  *
  * Sets one or more cell properties for @cell in @area.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_cell_set (GtkCellArea        *area,
@@ -2492,6 +2539,8 @@ gtk_cell_area_cell_set (GtkCellArea        *area,
  *     optionally by more name/return location pairs, followed by %NULL
  *
  * Gets the values of one or more cell properties for @renderer in @area.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_cell_get (GtkCellArea        *area,
@@ -2563,6 +2612,8 @@ area_set_cell_property (GtkCellArea     *area,
  *           with @first_prop_name
  *
  * Sets one or more cell properties for @renderer in @area.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_cell_set_valist (GtkCellArea        *area,
@@ -2623,6 +2674,8 @@ gtk_cell_area_cell_set_valist (GtkCellArea        *area,
  *     optionally by more name/return location pairs, followed by %NULL
  *
  * Gets the values of one or more cell properties for @renderer in @area.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_cell_get_valist (GtkCellArea        *area,
@@ -2680,6 +2733,8 @@ gtk_cell_area_cell_get_valist (GtkCellArea        *area,
  * @value: the value to set the cell property to
  *
  * Sets a cell property for @renderer in @area.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_cell_set_property (GtkCellArea        *area,
@@ -2716,6 +2771,8 @@ gtk_cell_area_cell_set_property (GtkCellArea        *area,
  * @value: a location to return the value
  *
  * Gets the value of a cell property for @renderer in @area.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_cell_get_property (GtkCellArea        *area,
@@ -2785,6 +2842,8 @@ gtk_cell_area_cell_get_property (GtkCellArea        *area,
  * after applying new attributes to @area.
  *
  * Returns: whether @area can do anything when activated.
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_cell_area_is_activatable (GtkCellArea *area)
@@ -2808,6 +2867,8 @@ gtk_cell_area_is_activatable (GtkCellArea *area)
  * to how it lays out cells.
  *
  * Returns: %TRUE if focus remains inside @area as a result of this call.
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_cell_area_focus (GtkCellArea      *area,
@@ -2833,6 +2894,8 @@ gtk_cell_area_focus (GtkCellArea      *area,
  * can also activate a widget if it currently has the focus.
  *
  * Returns: Whether @area was successfully activated.
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_cell_area_activate (GtkCellArea         *area,
@@ -2859,6 +2922,8 @@ gtk_cell_area_activate (GtkCellArea         *area,
  * `GtkCellAreaClass.focus()` or `GtkCellAreaClass.event()`,
  * however it can also be used to implement functions such
  * as gtk_tree_view_set_cursor_on_cell().
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_set_focus_cell (GtkCellArea     *area,
@@ -2897,6 +2962,8 @@ gtk_cell_area_set_focus_cell (GtkCellArea     *area,
  * Retrieves the currently focused cell for @area
  *
  * Returns: (transfer none) (nullable): the currently focused cell in @area.
+ *
+ * Deprecated: 4.10
  */
 GtkCellRenderer *
 gtk_cell_area_get_focus_cell (GtkCellArea *area)
@@ -2925,6 +2992,8 @@ gtk_cell_area_get_focus_cell (GtkCellArea *area)
  *
  * Events handled by focus siblings can also activate the given
  * focusable @renderer.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_add_focus_sibling (GtkCellArea     *area,
@@ -2968,6 +3037,8 @@ gtk_cell_area_add_focus_sibling (GtkCellArea     *area,
  *
  * Removes @sibling from @renderer’s focus sibling list
  * (see gtk_cell_area_add_focus_sibling()).
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_remove_focus_sibling (GtkCellArea     *area,
@@ -3003,6 +3074,8 @@ gtk_cell_area_remove_focus_sibling (GtkCellArea     *area,
  * (see gtk_cell_area_add_focus_sibling()).
  *
  * Returns: %TRUE if @sibling is a focus sibling of @renderer
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_cell_area_is_focus_sibling (GtkCellArea     *area,
@@ -3038,6 +3111,8 @@ gtk_cell_area_is_focus_sibling (GtkCellArea     *area,
  *
  * Returns: (element-type GtkCellRenderer) (transfer none): A `GList` of `GtkCellRenderer`s.
  *       The returned list is internal and should not be freed.
+ *
+ * Deprecated: 4.10
  */
 const GList *
 gtk_cell_area_get_focus_siblings (GtkCellArea     *area,
@@ -3066,6 +3141,8 @@ gtk_cell_area_get_focus_siblings (GtkCellArea     *area,
  *
  * Returns: (nullable) (transfer none): the `GtkCellRenderer`
  *   for which @renderer is a sibling
+ *
+ * Deprecated: 4.10
  */
 GtkCellRenderer *
 gtk_cell_area_get_focus_from_sibling (GtkCellArea          *area,
@@ -3205,6 +3282,8 @@ gtk_cell_area_set_edit_widget (GtkCellArea     *area,
  * being edited.
  *
  * Returns: (transfer none) (nullable): The currently edited `GtkCellRenderer`
+ *
+ * Deprecated: 4.10
  */
 GtkCellRenderer   *
 gtk_cell_area_get_edited_cell (GtkCellArea *area)
@@ -3224,6 +3303,8 @@ gtk_cell_area_get_edited_cell (GtkCellArea *area)
  * to edit the currently edited cell.
  *
  * Returns: (transfer none) (nullable): The currently active `GtkCellEditable` widget
+ *
+ * Deprecated: 4.10
  */
 GtkCellEditable *
 gtk_cell_area_get_edit_widget (GtkCellArea *area)
@@ -3251,6 +3332,8 @@ gtk_cell_area_get_edit_widget (GtkCellArea *area)
  * implementation.
  *
  * Returns: whether cell activation was successful
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_cell_area_activate_cell (GtkCellArea          *area,
@@ -3344,6 +3427,8 @@ gtk_cell_area_activate_cell (GtkCellArea          *area,
  * edit widget.
  *
  * See gtk_cell_area_get_edited_cell() and gtk_cell_area_get_edit_widget().
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_stop_editing (GtkCellArea *area,
@@ -3396,6 +3481,8 @@ gtk_cell_area_stop_editing (GtkCellArea *area,
  * This is a convenience function for `GtkCellArea` implementations
  * to get the inner area where a given `GtkCellRenderer` will be
  * rendered. It removes any padding previously added by gtk_cell_area_request_renderer().
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_inner_cell_area (GtkCellArea        *area,
@@ -3448,6 +3535,8 @@ gtk_cell_area_inner_cell_area (GtkCellArea        *area,
  * function to request size and then use gtk_cell_area_inner_cell_area()
  * at render and event time since this function will add padding
  * around the cell for focus painting.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_request_renderer (GtkCellArea        *area,
diff --git a/gtk/gtkcellarea.h b/gtk/deprecated/gtkcellarea.h
similarity index 96%
rename from gtk/gtkcellarea.h
rename to gtk/deprecated/gtkcellarea.h
index 85ddaf0616..9ce52f37b1 100644
--- a/gtk/gtkcellarea.h
+++ b/gtk/deprecated/gtkcellarea.h
@@ -26,9 +26,9 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtkcellrenderer.h>
 #include <gtk/gtkwidget.h>
-#include <gtk/gtktreemodel.h>
+#include <gtk/deprecated/gtkcellrenderer.h>
+#include <gtk/deprecated/gtktreemodel.h>
 
 G_BEGIN_DECLS
 
@@ -269,20 +269,20 @@ GDK_AVAILABLE_IN_ALL
 GType                 gtk_cell_area_get_type                       (void) G_GNUC_CONST;
 
 /* Basic methods */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_add                            (GtkCellArea          *area,
                                                                     GtkCellRenderer      *renderer);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_remove                         (GtkCellArea          *area,
                                                                     GtkCellRenderer      *renderer);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean              gtk_cell_area_has_renderer                   (GtkCellArea          *area,
                                                                     GtkCellRenderer      *renderer);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_foreach                        (GtkCellArea          *area,
                                                                     GtkCellCallback       callback,
                                                                     gpointer              callback_data);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_foreach_alloc                  (GtkCellArea          *area,
                                                                     GtkCellAreaContext   *context,
                                                                     GtkWidget            *widget,
@@ -290,14 +290,14 @@ void                  gtk_cell_area_foreach_alloc                  (GtkCellArea
                                                                     const GdkRectangle   *background_area,
                                                                     GtkCellAllocCallback  callback,
                                                                     gpointer              callback_data);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                   gtk_cell_area_event                          (GtkCellArea          *area,
                                                                     GtkCellAreaContext   *context,
                                                                     GtkWidget            *widget,
                                                                     GdkEvent             *event,
                                                                     const GdkRectangle   *cell_area,
                                                                     GtkCellRendererState  flags);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_snapshot                       (GtkCellArea          *area,
                                                                     GtkCellAreaContext   *context,
                                                                     GtkWidget            *widget,
@@ -307,14 +307,14 @@ void                  gtk_cell_area_snapshot                       (GtkCellArea
                                                                     GtkCellRendererState  flags,
                                                                     gboolean              paint_focus);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_get_cell_allocation            (GtkCellArea          *area,
                                                                     GtkCellAreaContext   *context,
                                                                     GtkWidget            *widget,
                                                                     GtkCellRenderer      *renderer,
                                                                     const GdkRectangle   *cell_area,
                                                                     GdkRectangle         *allocation);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellRenderer      *gtk_cell_area_get_cell_at_position           (GtkCellArea          *area,
                                                                     GtkCellAreaContext   *context,
                                                                     GtkWidget            *widget,
@@ -324,179 +324,179 @@ GtkCellRenderer      *gtk_cell_area_get_cell_at_position           (GtkCellArea
                                                                     GdkRectangle         *alloc_area);
 
 /* Geometry */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellAreaContext   *gtk_cell_area_create_context                 (GtkCellArea        *area);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellAreaContext   *gtk_cell_area_copy_context                   (GtkCellArea        *area,
                                                                     GtkCellAreaContext *context);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkSizeRequestMode    gtk_cell_area_get_request_mode               (GtkCellArea        *area);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_get_preferred_width            (GtkCellArea        *area,
                                                                     GtkCellAreaContext *context,
                                                                     GtkWidget          *widget,
                                                                     int                *minimum_width,
                                                                     int                *natural_width);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_get_preferred_height_for_width (GtkCellArea        *area,
                                                                     GtkCellAreaContext *context,
                                                                     GtkWidget          *widget,
                                                                     int                 width,
                                                                     int                *minimum_height,
                                                                     int                *natural_height);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_get_preferred_height           (GtkCellArea        *area,
                                                                     GtkCellAreaContext *context,
                                                                     GtkWidget          *widget,
                                                                     int                *minimum_height,
                                                                     int                *natural_height);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_get_preferred_width_for_height (GtkCellArea        *area,
                                                                     GtkCellAreaContext *context,
                                                                     GtkWidget          *widget,
                                                                     int                 height,
                                                                     int                *minimum_width,
                                                                     int                *natural_width);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 const char *         gtk_cell_area_get_current_path_string        (GtkCellArea        *area);
 
 
 /* Attributes */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_apply_attributes               (GtkCellArea        *area,
                                                                     GtkTreeModel       *tree_model,
                                                                     GtkTreeIter        *iter,
                                                                     gboolean            is_expander,
                                                                     gboolean            is_expanded);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_attribute_connect              (GtkCellArea        *area,
                                                                     GtkCellRenderer    *renderer,
                                                                     const char         *attribute,
                                                                     int                 column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_attribute_disconnect           (GtkCellArea        *area,
                                                                     GtkCellRenderer    *renderer,
                                                                     const char         *attribute);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                   gtk_cell_area_attribute_get_column           (GtkCellArea        *area,
                                                                     GtkCellRenderer    *renderer,
                                                                     const char         *attribute);
 
 
 /* Cell Properties */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_class_install_cell_property    (GtkCellAreaClass   *aclass,
                                                                     guint               property_id,
                                                                     GParamSpec         *pspec);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GParamSpec*           gtk_cell_area_class_find_cell_property       (GtkCellAreaClass   *aclass,
                                                                     const char         *property_name);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GParamSpec**          gtk_cell_area_class_list_cell_properties     (GtkCellAreaClass   *aclass,
                                                                     guint                   *n_properties);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_add_with_properties            (GtkCellArea        *area,
                                                                     GtkCellRenderer    *renderer,
                                                                     const char      *first_prop_name,
                                                                     ...) G_GNUC_NULL_TERMINATED;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_cell_set                       (GtkCellArea        *area,
                                                                     GtkCellRenderer    *renderer,
                                                                     const char         *first_prop_name,
                                                                     ...) G_GNUC_NULL_TERMINATED;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_cell_get                       (GtkCellArea        *area,
                                                                     GtkCellRenderer    *renderer,
                                                                     const char         *first_prop_name,
                                                                     ...) G_GNUC_NULL_TERMINATED;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_cell_set_valist                (GtkCellArea        *area,
                                                                     GtkCellRenderer    *renderer,
                                                                     const char         *first_property_name,
                                                                     va_list             var_args);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_cell_get_valist                (GtkCellArea        *area,
                                                                     GtkCellRenderer    *renderer,
                                                                     const char         *first_property_name,
                                                                     va_list             var_args);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_cell_set_property              (GtkCellArea        *area,
                                                                     GtkCellRenderer    *renderer,
                                                                     const char         *property_name,
                                                                     const GValue       *value);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_cell_get_property              (GtkCellArea        *area,
                                                                     GtkCellRenderer    *renderer,
                                                                     const char         *property_name,
                                                                     GValue             *value);
 
 /* Focus */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean              gtk_cell_area_is_activatable                 (GtkCellArea         *area);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean              gtk_cell_area_activate                       (GtkCellArea         *area,
                                                                     GtkCellAreaContext  *context,
                                                                     GtkWidget           *widget,
                                                                     const GdkRectangle  *cell_area,
                                                                     GtkCellRendererState flags,
                                                                     gboolean             edit_only);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean              gtk_cell_area_focus                          (GtkCellArea         *area,
                                                                     GtkDirectionType     direction);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_set_focus_cell                 (GtkCellArea          *area,
                                                                     GtkCellRenderer      *renderer);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellRenderer      *gtk_cell_area_get_focus_cell                 (GtkCellArea          *area);
 
 
 /* Focus siblings */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_add_focus_sibling              (GtkCellArea          *area,
                                                                     GtkCellRenderer      *renderer,
                                                                     GtkCellRenderer      *sibling);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_remove_focus_sibling           (GtkCellArea          *area,
                                                                     GtkCellRenderer      *renderer,
                                                                     GtkCellRenderer      *sibling);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean              gtk_cell_area_is_focus_sibling               (GtkCellArea          *area,
                                                                     GtkCellRenderer      *renderer,
                                                                     GtkCellRenderer      *sibling);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 const GList *         gtk_cell_area_get_focus_siblings             (GtkCellArea          *area,
                                                                     GtkCellRenderer      *renderer);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellRenderer      *gtk_cell_area_get_focus_from_sibling         (GtkCellArea          *area,
                                                                     GtkCellRenderer      *renderer);
 
 /* Cell Activation/Editing */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellRenderer      *gtk_cell_area_get_edited_cell                (GtkCellArea          *area);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellEditable      *gtk_cell_area_get_edit_widget                (GtkCellArea          *area);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean              gtk_cell_area_activate_cell                  (GtkCellArea          *area,
                                                                     GtkWidget            *widget,
                                                                     GtkCellRenderer      *renderer,
                                                                     GdkEvent             *event,
                                                                     const GdkRectangle   *cell_area,
                                                                     GtkCellRendererState  flags);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_stop_editing                   (GtkCellArea          *area,
                                                                     gboolean              canceled);
 
 /* Functions for area implementations */
 
 /* Distinguish the inner cell area from the whole requested area including margins */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_inner_cell_area                (GtkCellArea        *area,
                                                                     GtkWidget          *widget,
                                                                     const GdkRectangle *cell_area,
                                                                     GdkRectangle       *inner_area);
 
 /* Request the size of a cell while respecting the cell margins (requests are margin inclusive) */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                  gtk_cell_area_request_renderer               (GtkCellArea        *area,
                                                                     GtkCellRenderer    *renderer,
                                                                     GtkOrientation      orientation,
diff --git a/gtk/gtkcellareabox.c b/gtk/deprecated/gtkcellareabox.c
similarity index 99%
rename from gtk/gtkcellareabox.c
rename to gtk/deprecated/gtkcellareabox.c
index cfacb38866..4ac2f80a53 100644
--- a/gtk/gtkcellareabox.c
+++ b/gtk/deprecated/gtkcellareabox.c
@@ -46,12 +46,13 @@
 
 #include "config.h"
 #include "gtkorientable.h"
-#include "gtkcelllayout.h"
+#include "deprecated/gtkcelllayout.h"
 #include "gtkcellareabox.h"
 #include "gtkcellareaboxcontextprivate.h"
 #include "gtktypebuiltins.h"
 #include "gtkprivate.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 
 /* GObjectClass */
 static void      gtk_cell_area_box_finalize                       (GObject              *object);
@@ -2103,6 +2104,8 @@ _gtk_cell_area_box_group_visible (GtkCellAreaBox  *box,
  * Creates a new `GtkCellAreaBox`.
  *
  * Returns: a newly created `GtkCellAreaBox`
+ *
+ * Deprecated: 4.10
  */
 GtkCellArea *
 gtk_cell_area_box_new (void)
@@ -2123,6 +2126,8 @@ gtk_cell_area_box_new (void)
  *
  * The @renderer is packed after any other `GtkCellRenderer` packed
  * with reference to the start of @box.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_box_pack_start  (GtkCellAreaBox  *box,
@@ -2164,6 +2169,8 @@ gtk_cell_area_box_pack_start  (GtkCellAreaBox  *box,
  *
  * The @renderer is packed after (away from end of) any other
  * `GtkCellRenderer` packed with reference to the end of @box.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_box_pack_end (GtkCellAreaBox  *box,
@@ -2199,6 +2206,8 @@ gtk_cell_area_box_pack_end (GtkCellAreaBox  *box,
  * Gets the spacing added between cell renderers.
  *
  * Returns: the space added between cell renderers in @box.
+ *
+ * Deprecated: 4.10
  */
 int
 gtk_cell_area_box_get_spacing (GtkCellAreaBox  *box)
@@ -2216,6 +2225,8 @@ gtk_cell_area_box_get_spacing (GtkCellAreaBox  *box)
  * @spacing: the space to add between `GtkCellRenderer`s
  *
  * Sets the spacing to add between cell renderers in @box.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_box_set_spacing (GtkCellAreaBox  *box,
diff --git a/gtk/gtkcellareabox.h b/gtk/deprecated/gtkcellareabox.h
similarity index 94%
rename from gtk/gtkcellareabox.h
rename to gtk/deprecated/gtkcellareabox.h
index a74c016afa..ade84e0db4 100644
--- a/gtk/gtkcellareabox.h
+++ b/gtk/deprecated/gtkcellareabox.h
@@ -26,7 +26,7 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtkcellarea.h>
+#include <gtk/deprecated/gtkcellarea.h>
 
 G_BEGIN_DECLS
 
@@ -39,23 +39,23 @@ typedef struct _GtkCellAreaBox              GtkCellAreaBox;
 GDK_AVAILABLE_IN_ALL
 GType        gtk_cell_area_box_get_type    (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellArea *gtk_cell_area_box_new         (void);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_cell_area_box_pack_start  (GtkCellAreaBox  *box,
                                             GtkCellRenderer *renderer,
                                             gboolean         expand,
                                             gboolean         align,
                                             gboolean         fixed);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_cell_area_box_pack_end    (GtkCellAreaBox  *box,
                                             GtkCellRenderer *renderer,
                                             gboolean         expand,
                                             gboolean         align,
                                             gboolean         fixed);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int          gtk_cell_area_box_get_spacing (GtkCellAreaBox  *box);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_cell_area_box_set_spacing (GtkCellAreaBox  *box,
                                             int              spacing);
 
diff --git a/gtk/gtkcellareaboxcontext.c b/gtk/deprecated/gtkcellareaboxcontext.c
similarity index 99%
rename from gtk/gtkcellareaboxcontext.c
rename to gtk/deprecated/gtkcellareaboxcontext.c
index f56f857c22..5bf0dd1238 100644
--- a/gtk/gtkcellareaboxcontext.c
+++ b/gtk/deprecated/gtkcellareaboxcontext.c
@@ -26,6 +26,8 @@
 
 #include "gtkprivate.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /* GObjectClass */
 static void      _gtk_cell_area_box_context_finalize              (GObject               *object);
 
diff --git a/gtk/gtkcellareaboxcontextprivate.h b/gtk/deprecated/gtkcellareaboxcontextprivate.h
similarity index 98%
rename from gtk/gtkcellareaboxcontextprivate.h
rename to gtk/deprecated/gtkcellareaboxcontextprivate.h
index 104a0218be..aff5e22689 100644
--- a/gtk/gtkcellareaboxcontextprivate.h
+++ b/gtk/deprecated/gtkcellareaboxcontextprivate.h
@@ -26,9 +26,9 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtkcellareacontext.h>
-#include <gtk/gtkcellareabox.h>
-#include <gtk/gtkcellrenderer.h>
+#include <gtk/deprecated/gtkcellareacontext.h>
+#include <gtk/deprecated/gtkcellareabox.h>
+#include <gtk/deprecated/gtkcellrenderer.h>
 #include <gtk/gtksizerequest.h>
 
 G_BEGIN_DECLS
diff --git a/gtk/gtkcellareacontext.c b/gtk/deprecated/gtkcellareacontext.c
similarity index 98%
rename from gtk/gtkcellareacontext.c
rename to gtk/deprecated/gtkcellareacontext.c
index d562400142..e16680888a 100644
--- a/gtk/gtkcellareacontext.c
+++ b/gtk/deprecated/gtkcellareacontext.c
@@ -41,6 +41,8 @@
 #include "gtkcellareacontext.h"
 #include "gtkprivate.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /* GObjectClass */
 static void gtk_cell_area_context_dispose       (GObject            *object);
 static void gtk_cell_area_context_get_property  (GObject            *object,
@@ -306,6 +308,8 @@ gtk_cell_area_context_real_allocate (GtkCellAreaContext *context,
  * compute a proper allocation.
  *
  * Returns: (transfer none): the `GtkCellArea` this context was created by.
+ *
+ * Deprecated: 4.10
  */
 GtkCellArea *
 gtk_cell_area_context_get_area (GtkCellAreaContext *context)
@@ -343,6 +347,8 @@ gtk_cell_area_context_get_area (GtkCellAreaContext *context)
  * in the allocated width necessitates a recalculation
  * of all the displayed row heights using
  * gtk_cell_area_get_preferred_height_for_width().
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_context_reset (GtkCellAreaContext *context)
@@ -370,6 +376,8 @@ gtk_cell_area_context_reset (GtkCellAreaContext *context)
  * and vertical orientations producing a homogeneous effect of the
  * rows. This is generally the case for `GtkTreeView` when
  * `GtkTreeView:fixed-height-mode` is enabled.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_context_allocate (GtkCellAreaContext *context,
@@ -392,6 +400,8 @@ gtk_cell_area_context_allocate (GtkCellAreaContext *context,
  *
  * After gtk_cell_area_context_reset() is called and/or before ever
  * requesting the size of a `GtkCellArea`, the returned values are 0.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context,
@@ -420,6 +430,8 @@ gtk_cell_area_context_get_preferred_width (GtkCellAreaContext *context,
  *
  * After gtk_cell_area_context_reset() is called and/or before ever
  * requesting the size of a `GtkCellArea`, the returned values are 0.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context,
@@ -449,6 +461,8 @@ gtk_cell_area_context_get_preferred_height (GtkCellAreaContext *context,
  *
  * After gtk_cell_area_context_reset() is called and/or before ever
  * requesting the size of a `GtkCellArea`, the returned values are -1.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context,
@@ -477,6 +491,8 @@ gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *contex
  *
  * After gtk_cell_area_context_reset() is called and/or before ever
  * requesting the size of a `GtkCellArea`, the returned values are -1.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context,
@@ -504,6 +520,8 @@ gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *contex
  * If the context was not allocated in width or height, or if the
  * context was recently reset with gtk_cell_area_context_reset(),
  * the returned value will be -1.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_context_get_allocation (GtkCellAreaContext *context,
@@ -534,6 +552,8 @@ gtk_cell_area_context_get_allocation (GtkCellAreaContext *context,
  * the request process over a series of `GtkTreeModel` rows to
  * progressively push the requested width over a series of
  * gtk_cell_area_get_preferred_width() requests.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context,
@@ -576,6 +596,8 @@ gtk_cell_area_context_push_preferred_width (GtkCellAreaContext *context,
  * the request process over a series of `GtkTreeModel` rows to
  * progressively push the requested height over a series of
  * gtk_cell_area_get_preferred_height() requests.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context,
diff --git a/gtk/gtkcellareacontext.h b/gtk/deprecated/gtkcellareacontext.h
similarity index 96%
rename from gtk/gtkcellareacontext.h
rename to gtk/deprecated/gtkcellareacontext.h
index 953a1837db..c2d5a1b8a5 100644
--- a/gtk/gtkcellareacontext.h
+++ b/gtk/deprecated/gtkcellareacontext.h
@@ -26,7 +26,7 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtkcellarea.h>
+#include <gtk/deprecated/gtkcellarea.h>
 
 G_BEGIN_DECLS
 
@@ -87,37 +87,37 @@ GDK_AVAILABLE_IN_ALL
 GType        gtk_cell_area_context_get_type              (void) G_GNUC_CONST;
 
 /* Main apis */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellArea *gtk_cell_area_context_get_area                        (GtkCellAreaContext *context);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_cell_area_context_allocate                        (GtkCellAreaContext *context,
                                                                     int                 width,
                                                                     int                 height);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_cell_area_context_reset                           (GtkCellAreaContext *context);
 
 /* Apis for GtkCellArea clients to consult cached values
  * for a series of GtkTreeModel rows
  */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_cell_area_context_get_preferred_width            (GtkCellAreaContext *context,
                                                                    int                *minimum_width,
                                                                    int                *natural_width);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_cell_area_context_get_preferred_height           (GtkCellAreaContext *context,
                                                                    int                *minimum_height,
                                                                    int                *natural_height);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_cell_area_context_get_preferred_height_for_width (GtkCellAreaContext *context,
                                                                    int                 width,
                                                                    int                *minimum_height,
                                                                    int                *natural_height);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_cell_area_context_get_preferred_width_for_height (GtkCellAreaContext *context,
                                                                    int                 height,
                                                                    int                *minimum_width,
                                                                    int                *natural_width);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_cell_area_context_get_allocation                 (GtkCellAreaContext *context,
                                                                    int                *width,
                                                                    int                *height);
@@ -125,11 +125,11 @@ void         gtk_cell_area_context_get_allocation                 (GtkCellAreaCo
 /* Apis for GtkCellArea implementations to update cached values
  * for multiple GtkTreeModel rows
  */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_cell_area_context_push_preferred_width  (GtkCellAreaContext *context,
                                                           int                 minimum_width,
                                                           int                 natural_width);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_cell_area_context_push_preferred_height (GtkCellAreaContext *context,
                                                           int                 minimum_height,
                                                           int                 natural_height);
diff --git a/gtk/gtkcelleditable.c b/gtk/deprecated/gtkcelleditable.c
similarity index 98%
rename from gtk/gtkcelleditable.c
rename to gtk/deprecated/gtkcelleditable.c
index facd4e85bb..719c328030 100644
--- a/gtk/gtkcelleditable.c
+++ b/gtk/deprecated/gtkcelleditable.c
@@ -30,6 +30,7 @@
 #include "gtkmarshalers.h"
 #include "gtkprivate.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 
 typedef GtkCellEditableIface GtkCellEditableInterface;
 G_DEFINE_INTERFACE(GtkCellEditable, gtk_cell_editable, GTK_TYPE_WIDGET)
@@ -128,6 +129,8 @@ gtk_cell_editable_start_editing (GtkCellEditable *cell_editable,
  * @cell_editable: A `GtkCellEditable`
  *
  * Emits the `GtkCellEditable::editing-done` signal.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_editable_editing_done (GtkCellEditable *cell_editable)
@@ -142,6 +145,8 @@ gtk_cell_editable_editing_done (GtkCellEditable *cell_editable)
  * @cell_editable: A `GtkCellEditable`
  *
  * Emits the `GtkCellEditable::remove-widget` signal.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_cell_editable_remove_widget (GtkCellEditable *cell_editable)
diff --git a/gtk/gtkcelleditable.h b/gtk/deprecated/gtkcelleditable.h
similarity index 97%
rename from gtk/gtkcelleditable.h
rename to gtk/deprecated/gtkcelleditable.h
index be60227448..57db7cbe00 100644
--- a/gtk/gtkcelleditable.h
+++ b/gtk/deprecated/gtkcelleditable.h
@@ -62,12 +62,12 @@ struct _GtkCellEditableIface
 GDK_AVAILABLE_IN_ALL
 GType gtk_cell_editable_get_type      (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void  gtk_cell_editable_start_editing (GtkCellEditable *cell_editable,
                                       GdkEvent        *event);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void  gtk_cell_editable_editing_done  (GtkCellEditable *cell_editable);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void  gtk_cell_editable_remove_widget (GtkCellEditable *cell_editable);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCellEditable, g_object_unref)
diff --git a/gtk/gtkcelllayout.c b/gtk/deprecated/gtkcelllayout.c
similarity index 99%
rename from gtk/gtkcelllayout.c
rename to gtk/deprecated/gtkcelllayout.c
index 158c20b240..417e4b4e75 100644
--- a/gtk/gtkcelllayout.c
+++ b/gtk/deprecated/gtkcelllayout.c
@@ -135,6 +135,8 @@
 #include "gtkcelllayout.h"
 #include "gtkbuilderprivate.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 #define warn_no_cell_area(func)                                        \
   g_critical ("%s: Called but no GtkCellArea is available yet", func)
 
@@ -360,6 +362,8 @@ gtk_cell_layout_default_get_cells (GtkCellLayout *cell_layout)
  * is divided evenly between cells for which @expand is %TRUE.
  *
  * Note that reusing the same cell renderer is not supported.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_layout_pack_start (GtkCellLayout   *cell_layout,
@@ -383,6 +387,8 @@ gtk_cell_layout_pack_start (GtkCellLayout   *cell_layout,
  * divided evenly between cells for which @expand is %TRUE.
  *
  * Note that reusing the same cell renderer is not supported.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_layout_pack_end (GtkCellLayout   *cell_layout,
@@ -401,6 +407,8 @@ gtk_cell_layout_pack_end (GtkCellLayout   *cell_layout,
  *
  * Unsets all the mappings on all renderers on @cell_layout and
  * removes all renderers from @cell_layout.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_layout_clear (GtkCellLayout *cell_layout)
@@ -446,6 +454,8 @@ gtk_cell_layout_set_attributesv (GtkCellLayout   *cell_layout,
  * The attributes should be in attribute/column order, as in
  * gtk_cell_layout_add_attribute(). All existing attributes are
  * removed, and replaced with the new attributes.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_layout_set_attributes (GtkCellLayout   *cell_layout,
@@ -476,6 +486,8 @@ gtk_cell_layout_set_attributes (GtkCellLayout   *cell_layout,
  * example if column 2 of the model contains strings, you could have the
  * “text” attribute of a `GtkCellRendererText` get its values from column 2.
  * In this context "attribute" and "property" are used interchangeably.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_layout_add_attribute (GtkCellLayout   *cell_layout,
@@ -506,6 +518,8 @@ gtk_cell_layout_add_attribute (GtkCellLayout   *cell_layout,
  * cell renderer(s) as appropriate.
  *
  * @func may be %NULL to remove a previously set function.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_layout_set_cell_data_func (GtkCellLayout         *cell_layout,
@@ -528,6 +542,8 @@ gtk_cell_layout_set_cell_data_func (GtkCellLayout         *cell_layout,
  *
  * Clears all existing attributes previously set with
  * gtk_cell_layout_set_attributes().
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_layout_clear_attributes (GtkCellLayout   *cell_layout,
@@ -549,6 +565,8 @@ gtk_cell_layout_clear_attributes (GtkCellLayout   *cell_layout,
  *
  * Note that @cell has already to be packed into @cell_layout
  * for this to function properly.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_layout_reorder (GtkCellLayout   *cell_layout,
@@ -571,6 +589,8 @@ gtk_cell_layout_reorder (GtkCellLayout   *cell_layout,
  *   a list of cell renderers. The list, but not the renderers has
  *   been newly allocated and should be freed with g_list_free()
  *   when no longer needed.
+ *
+ * Deprecated: 4.10
  */
 GList *
 gtk_cell_layout_get_cells (GtkCellLayout *cell_layout)
@@ -589,6 +609,8 @@ gtk_cell_layout_get_cells (GtkCellLayout *cell_layout)
  * is used by @cell_layout.
  *
  * Returns: (transfer none) (nullable): the cell area used by @cell_layout
+ *
+ * Deprecated: 4.10
  */
 GtkCellArea *
 gtk_cell_layout_get_area (GtkCellLayout *cell_layout)
diff --git a/gtk/gtkcelllayout.h b/gtk/deprecated/gtkcelllayout.h
similarity index 96%
rename from gtk/gtkcelllayout.h
rename to gtk/deprecated/gtkcelllayout.h
index 7ef60f6c49..c460c34258 100644
--- a/gtk/gtkcelllayout.h
+++ b/gtk/deprecated/gtkcelllayout.h
@@ -22,8 +22,8 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtkcellrenderer.h>
-#include <gtk/gtkcellarea.h>
+#include <gtk/deprecated/gtkcellrenderer.h>
+#include <gtk/deprecated/gtkcellarea.h>
 #include <gtk/gtkbuildable.h>
 #include <gtk/gtkbuilder.h>
 
@@ -110,41 +110,41 @@ struct _GtkCellLayoutIface
 
 GDK_AVAILABLE_IN_ALL
 GType gtk_cell_layout_get_type           (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void  gtk_cell_layout_pack_start         (GtkCellLayout         *cell_layout,
                                           GtkCellRenderer       *cell,
                                           gboolean               expand);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void  gtk_cell_layout_pack_end           (GtkCellLayout         *cell_layout,
                                           GtkCellRenderer       *cell,
                                           gboolean               expand);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GList *gtk_cell_layout_get_cells         (GtkCellLayout         *cell_layout);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void  gtk_cell_layout_clear              (GtkCellLayout         *cell_layout);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void  gtk_cell_layout_set_attributes     (GtkCellLayout         *cell_layout,
                                           GtkCellRenderer       *cell,
                                           ...) G_GNUC_NULL_TERMINATED;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void  gtk_cell_layout_add_attribute      (GtkCellLayout         *cell_layout,
                                           GtkCellRenderer       *cell,
                                           const char            *attribute,
                                           int                    column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void  gtk_cell_layout_set_cell_data_func (GtkCellLayout         *cell_layout,
                                           GtkCellRenderer       *cell,
                                           GtkCellLayoutDataFunc  func,
                                           gpointer               func_data,
                                           GDestroyNotify         destroy);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void  gtk_cell_layout_clear_attributes   (GtkCellLayout         *cell_layout,
                                           GtkCellRenderer       *cell);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void  gtk_cell_layout_reorder            (GtkCellLayout         *cell_layout,
                                           GtkCellRenderer       *cell,
                                           int                    position);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellArea *gtk_cell_layout_get_area    (GtkCellLayout         *cell_layout);
 
 gboolean _gtk_cell_layout_buildable_custom_tag_start (GtkBuildable       *buildable,
diff --git a/gtk/gtkcellrenderer.c b/gtk/deprecated/gtkcellrenderer.c
similarity index 98%
rename from gtk/gtkcellrenderer.c
rename to gtk/deprecated/gtkcellrenderer.c
index 80937d571e..a0254f8a64 100644
--- a/gtk/gtkcellrenderer.c
+++ b/gtk/deprecated/gtkcellrenderer.c
@@ -26,6 +26,8 @@
 #include "gtktreeprivate.h"
 #include "gtktypebuiltins.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /**
  * GtkCellRenderer:
  *
@@ -638,6 +640,8 @@ set_cell_bg_color (GtkCellRenderer *cell,
  * blank space around the cell, and also the area containing the tree expander;
  * so the @background_area rectangles for all cells tile to cover the entire
  * @window.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_cell_renderer_snapshot (GtkCellRenderer      *cell,
@@ -711,6 +715,8 @@ gtk_cell_renderer_snapshot (GtkCellRenderer      *cell,
  * toggles when it gets a mouse click.
  *
  * Returns: %TRUE if the event was consumed/handled
+ *
+ * Deprecated: 4.10
  **/
 gboolean
 gtk_cell_renderer_activate (GtkCellRenderer      *cell,
@@ -758,6 +764,8 @@ gtk_cell_renderer_activate (GtkCellRenderer      *cell,
  *
  * Returns: (nullable) (transfer none): A new `GtkCellEditable` for editing this
  *   @cell, or %NULL if editing is not possible
+ *
+ * Deprecated: 4.10
  **/
 GtkCellEditable *
 gtk_cell_renderer_start_editing (GtkCellRenderer      *cell,
@@ -810,6 +818,8 @@ gtk_cell_renderer_start_editing (GtkCellRenderer      *cell,
  * @height: the height of the cell renderer, or -1
  *
  * Sets the renderer size to be explicit, independent of the properties set.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_cell_renderer_set_fixed_size (GtkCellRenderer *cell,
@@ -850,6 +860,8 @@ gtk_cell_renderer_set_fixed_size (GtkCellRenderer *cell,
  * @height: (out) (optional): location to fill in with the fixed height of the cell
  *
  * Fills in @width and @height with the appropriate size of @cell.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_renderer_get_fixed_size (GtkCellRenderer *cell,
@@ -875,6 +887,8 @@ gtk_cell_renderer_get_fixed_size (GtkCellRenderer *cell,
  * @yalign: the y alignment of the cell renderer
  *
  * Sets the renderer’s alignment within its available space.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_cell_renderer_set_alignment (GtkCellRenderer *cell,
@@ -916,6 +930,8 @@ gtk_cell_renderer_set_alignment (GtkCellRenderer *cell,
  * @yalign: (out) (optional): location to fill in with the y alignment of the cell
  *
  * Fills in @xalign and @yalign with the appropriate values of @cell.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_renderer_get_alignment (GtkCellRenderer *cell,
@@ -941,6 +957,8 @@ gtk_cell_renderer_get_alignment (GtkCellRenderer *cell,
  * @ypad: the y padding of the cell renderer
  *
  * Sets the renderer’s padding.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_cell_renderer_set_padding (GtkCellRenderer *cell,
@@ -981,6 +999,8 @@ gtk_cell_renderer_set_padding (GtkCellRenderer *cell,
  * @ypad: (out) (optional): location to fill in with the y padding of the cell
  *
  * Fills in @xpad and @ypad with the appropriate values of @cell.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_renderer_get_padding (GtkCellRenderer *cell,
@@ -1005,6 +1025,8 @@ gtk_cell_renderer_get_padding (GtkCellRenderer *cell,
  * @visible: the visibility of the cell
  *
  * Sets the cell renderer’s visibility.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_cell_renderer_set_visible (GtkCellRenderer *cell,
@@ -1030,6 +1052,8 @@ gtk_cell_renderer_set_visible (GtkCellRenderer *cell,
  * Returns the cell renderer’s visibility.
  *
  * Returns: %TRUE if the cell renderer is visible
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_cell_renderer_get_visible (GtkCellRenderer *cell)
@@ -1045,6 +1069,8 @@ gtk_cell_renderer_get_visible (GtkCellRenderer *cell)
  * @sensitive: the sensitivity of the cell
  *
  * Sets the cell renderer’s sensitivity.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_cell_renderer_set_sensitive (GtkCellRenderer *cell,
@@ -1070,6 +1096,8 @@ gtk_cell_renderer_set_sensitive (GtkCellRenderer *cell,
  * Returns the cell renderer’s sensitivity.
  *
  * Returns: %TRUE if the cell renderer is sensitive
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell)
@@ -1087,6 +1115,8 @@ gtk_cell_renderer_get_sensitive (GtkCellRenderer *cell)
  * Checks whether the cell renderer can do something when activated.
  *
  * Returns: %TRUE if the cell renderer can do anything when activated
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_cell_renderer_is_activatable (GtkCellRenderer *cell)
@@ -1115,6 +1145,8 @@ gtk_cell_renderer_is_activatable (GtkCellRenderer *cell)
  * This function should be called by cell renderer implementations
  * in response to the `GtkCellEditable::editing-done` signal of
  * `GtkCellEditable`.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_cell_renderer_stop_editing (GtkCellRenderer *cell,
@@ -1319,6 +1351,8 @@ _gtk_cell_renderer_calc_offset    (GtkCellRenderer      *cell,
  * or a width-for-height layout.
  *
  * Returns: The `GtkSizeRequestMode` preferred by this renderer.
+ *
+ * Deprecated: 4.10
  */
 GtkSizeRequestMode
 gtk_cell_renderer_get_request_mode (GtkCellRenderer *cell)
@@ -1336,6 +1370,8 @@ gtk_cell_renderer_get_request_mode (GtkCellRenderer *cell)
  * @natural_size: (out) (optional): location to store the natural size
  *
  * Retrieves a renderer’s natural size when rendered to @widget.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_renderer_get_preferred_width (GtkCellRenderer *cell,
@@ -1382,6 +1418,8 @@ gtk_cell_renderer_get_preferred_width (GtkCellRenderer *cell,
  * @natural_size: (out) (optional): location to store the natural size
  *
  * Retrieves a renderer’s natural size when rendered to @widget.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_renderer_get_preferred_height (GtkCellRenderer *cell,
@@ -1430,6 +1468,8 @@ gtk_cell_renderer_get_preferred_height (GtkCellRenderer *cell,
  *
  * Retrieves a cell renderers’s minimum and natural width if it were rendered to 
  * @widget with the specified @height.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_renderer_get_preferred_width_for_height (GtkCellRenderer *cell,
@@ -1478,6 +1518,8 @@ gtk_cell_renderer_get_preferred_width_for_height (GtkCellRenderer *cell,
  *
  * Retrieves a cell renderers’s minimum and natural height if it were rendered to 
  * @widget with the specified @width.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_renderer_get_preferred_height_for_width (GtkCellRenderer *cell,
@@ -1525,6 +1567,8 @@ gtk_cell_renderer_get_preferred_height_for_width (GtkCellRenderer *cell,
  *
  * Retrieves the minimum and natural size of a cell taking
  * into account the widget’s preference for height-for-width management.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_renderer_get_preferred_size (GtkCellRenderer *cell,
@@ -1586,6 +1630,8 @@ gtk_cell_renderer_get_preferred_size (GtkCellRenderer *cell,
  *
  * Gets the aligned area used by @cell inside @cell_area. Used for finding
  * the appropriate edit and focus rectangle.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_renderer_get_aligned_area (GtkCellRenderer      *cell,
@@ -1621,6 +1667,8 @@ gtk_cell_renderer_get_aligned_area (GtkCellRenderer      *cell,
  * the given `GtkCellRenderer`State.
  *
  * Returns: the widget state flags applying to @cell
+ *
+ * Deprecated: 4.10
  **/
 GtkStateFlags
 gtk_cell_renderer_get_state (GtkCellRenderer      *cell,
@@ -1665,6 +1713,8 @@ gtk_cell_renderer_get_state (GtkCellRenderer      *cell,
  * @is_expander: whether @cell is an expander
  *
  * Sets whether the given `GtkCellRenderer` is an expander.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_renderer_set_is_expander (GtkCellRenderer *cell,
@@ -1691,6 +1741,8 @@ gtk_cell_renderer_set_is_expander (GtkCellRenderer *cell,
  * Checks whether the given `GtkCellRenderer` is an expander.
  *
  * Returns: %TRUE if @cell is an expander, and %FALSE otherwise
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_cell_renderer_get_is_expander (GtkCellRenderer *cell)
@@ -1708,6 +1760,8 @@ gtk_cell_renderer_get_is_expander (GtkCellRenderer *cell)
  * @is_expanded: whether @cell should be expanded
  *
  * Sets whether the given `GtkCellRenderer` is expanded.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_renderer_set_is_expanded (GtkCellRenderer *cell,
@@ -1734,6 +1788,8 @@ gtk_cell_renderer_set_is_expanded (GtkCellRenderer *cell,
  * Checks whether the given `GtkCellRenderer` is expanded.
  *
  * Returns: %TRUE if the cell renderer is expanded
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_cell_renderer_get_is_expanded (GtkCellRenderer *cell)
diff --git a/gtk/gtkcellrenderer.h b/gtk/deprecated/gtkcellrenderer.h
similarity index 96%
rename from gtk/gtkcellrenderer.h
rename to gtk/deprecated/gtkcellrenderer.h
index 1d6034775a..dabcc7aac8 100644
--- a/gtk/gtkcellrenderer.h
+++ b/gtk/deprecated/gtkcellrenderer.h
@@ -22,7 +22,7 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtkcelleditable.h>
+#include <gtk/deprecated/gtkcelleditable.h>
 
 G_BEGIN_DECLS
 
@@ -171,49 +171,49 @@ struct _GtkCellRendererClass
 GDK_AVAILABLE_IN_ALL
 GType              gtk_cell_renderer_get_type       (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkSizeRequestMode gtk_cell_renderer_get_request_mode               (GtkCellRenderer    *cell);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void               gtk_cell_renderer_get_preferred_width            (GtkCellRenderer    *cell,
                                                                      GtkWidget          *widget,
                                                                      int                *minimum_size,
                                                                      int                *natural_size);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void               gtk_cell_renderer_get_preferred_height_for_width (GtkCellRenderer    *cell,
                                                                      GtkWidget          *widget,
                                                                      int                 width,
                                                                      int                *minimum_height,
                                                                      int                *natural_height);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void               gtk_cell_renderer_get_preferred_height           (GtkCellRenderer    *cell,
                                                                      GtkWidget          *widget,
                                                                      int                *minimum_size,
                                                                      int                *natural_size);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void               gtk_cell_renderer_get_preferred_width_for_height (GtkCellRenderer    *cell,
                                                                      GtkWidget          *widget,
                                                                      int                 height,
                                                                      int                *minimum_width,
                                                                      int                *natural_width);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void               gtk_cell_renderer_get_preferred_size             (GtkCellRenderer    *cell,
                                                                      GtkWidget          *widget,
                                                                      GtkRequisition     *minimum_size,
                                                                      GtkRequisition     *natural_size);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void               gtk_cell_renderer_get_aligned_area               (GtkCellRenderer    *cell,
                                                                     GtkWidget          *widget,
                                                                     GtkCellRendererState flags,
                                                                     const GdkRectangle *cell_area,
                                                                     GdkRectangle       *aligned_area);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_cell_renderer_snapshot       (GtkCellRenderer      *cell,
                                                    GtkSnapshot          *snapshot,
                                                   GtkWidget            *widget,
                                                   const GdkRectangle   *background_area,
                                                   const GdkRectangle   *cell_area,
                                                   GtkCellRendererState  flags);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean         gtk_cell_renderer_activate       (GtkCellRenderer      *cell,
                                                   GdkEvent             *event,
                                                   GtkWidget            *widget,
@@ -221,7 +221,7 @@ gboolean         gtk_cell_renderer_activate       (GtkCellRenderer      *cell,
                                                   const GdkRectangle   *background_area,
                                                   const GdkRectangle   *cell_area,
                                                   GtkCellRendererState  flags);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellEditable *gtk_cell_renderer_start_editing  (GtkCellRenderer      *cell,
                                                   GdkEvent             *event,
                                                   GtkWidget            *widget,
@@ -230,65 +230,65 @@ GtkCellEditable *gtk_cell_renderer_start_editing  (GtkCellRenderer      *cell,
                                                   const GdkRectangle   *cell_area,
                                                   GtkCellRendererState  flags);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_cell_renderer_set_fixed_size (GtkCellRenderer      *cell,
                                                   int                   width,
                                                   int                   height);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_cell_renderer_get_fixed_size (GtkCellRenderer      *cell,
                                                   int                  *width,
                                                   int                  *height);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_cell_renderer_set_alignment  (GtkCellRenderer      *cell,
                                                    float                 xalign,
                                                    float                 yalign);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_cell_renderer_get_alignment  (GtkCellRenderer      *cell,
                                                    float                *xalign,
                                                    float                *yalign);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_cell_renderer_set_padding    (GtkCellRenderer      *cell,
                                                    int                   xpad,
                                                    int                   ypad);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_cell_renderer_get_padding    (GtkCellRenderer      *cell,
                                                    int                  *xpad,
                                                    int                  *ypad);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_cell_renderer_set_visible    (GtkCellRenderer      *cell,
                                                    gboolean              visible);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean         gtk_cell_renderer_get_visible    (GtkCellRenderer      *cell);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_cell_renderer_set_sensitive  (GtkCellRenderer      *cell,
                                                    gboolean              sensitive);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean         gtk_cell_renderer_get_sensitive  (GtkCellRenderer      *cell);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean         gtk_cell_renderer_is_activatable (GtkCellRenderer      *cell);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_cell_renderer_set_is_expander (GtkCellRenderer     *cell,
                                                     gboolean             is_expander);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean         gtk_cell_renderer_get_is_expander (GtkCellRenderer     *cell);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_cell_renderer_set_is_expanded (GtkCellRenderer     *cell,
                                                     gboolean             is_expanded);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean         gtk_cell_renderer_get_is_expanded (GtkCellRenderer     *cell);
 
 
 
 
 /* For use by cell renderer implementations only */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_cell_renderer_stop_editing   (GtkCellRenderer      *cell,
                                                    gboolean              canceled);
 
@@ -301,7 +301,7 @@ void            _gtk_cell_renderer_calc_offset    (GtkCellRenderer      *cell,
                                                    int                  *x_offset,
                                                    int                  *y_offset);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkStateFlags   gtk_cell_renderer_get_state       (GtkCellRenderer      *cell,
                                                    GtkWidget            *widget,
                                                    GtkCellRendererState  cell_state);
diff --git a/gtk/gtkcellrendereraccel.c b/gtk/deprecated/gtkcellrendereraccel.c
similarity index 99%
rename from gtk/gtkcellrendereraccel.c
rename to gtk/deprecated/gtkcellrendereraccel.c
index f6286337a7..34c5e329c9 100644
--- a/gtk/gtkcellrendereraccel.c
+++ b/gtk/deprecated/gtkcellrendereraccel.c
@@ -31,6 +31,7 @@
 #include "gtknative.h"
 #include "gtkbinlayout.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 
 /**
  * GtkCellRendererAccel:
@@ -265,6 +266,8 @@ gtk_cell_renderer_accel_class_init (GtkCellRendererAccelClass *cell_accel_class)
  * Creates a new `GtkCellRendererAccel`.
  * 
  * Returns: the new cell renderer
+ *
+ * Deprecated: 4.10
  */
 GtkCellRenderer *
 gtk_cell_renderer_accel_new (void)
diff --git a/gtk/gtkcellrendereraccel.h b/gtk/deprecated/gtkcellrendereraccel.h
similarity index 96%
rename from gtk/gtkcellrendereraccel.h
rename to gtk/deprecated/gtkcellrendereraccel.h
index bacf559992..df3abcdd71 100644
--- a/gtk/gtkcellrendereraccel.h
+++ b/gtk/deprecated/gtkcellrendereraccel.h
@@ -22,7 +22,7 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtkcellrenderertext.h>
+#include <gtk/deprecated/gtkcellrenderertext.h>
 
 G_BEGIN_DECLS
 
@@ -48,7 +48,7 @@ typedef enum
 
 GDK_AVAILABLE_IN_ALL
 GType            gtk_cell_renderer_accel_get_type        (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellRenderer *gtk_cell_renderer_accel_new             (void);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCellRendererAccel, g_object_unref)
diff --git a/gtk/gtkcellrenderercombo.c b/gtk/deprecated/gtkcellrenderercombo.c
similarity index 98%
rename from gtk/gtkcellrenderercombo.c
rename to gtk/deprecated/gtkcellrenderercombo.c
index 399721065b..73bb66f102 100644
--- a/gtk/gtkcellrenderercombo.c
+++ b/gtk/deprecated/gtkcellrenderercombo.c
@@ -19,13 +19,14 @@
 #include <string.h>
 
 #include "gtkentry.h"
-#include "gtkcelllayout.h"
+#include "deprecated/gtkcelllayout.h"
 #include "gtkcellrenderercombo.h"
-#include "gtkcellrenderertext.h"
-#include "gtkcombobox.h"
+#include "deprecated/gtkcellrenderertext.h"
+#include "deprecated/gtkcombobox.h"
 #include "gtkmarshalers.h"
 #include "gtkprivate.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 
 /**
  * GtkCellRendererCombo:
@@ -225,6 +226,8 @@ gtk_cell_renderer_combo_init (GtkCellRendererCombo *self)
  * a different string in each row of the `GtkTreeView`.
  *
  * Returns: the new cell renderer
+ *
+ * Deprecated: 4.10
  */
 GtkCellRenderer *
 gtk_cell_renderer_combo_new (void)
diff --git a/gtk/gtkcellrenderercombo.h b/gtk/deprecated/gtkcellrenderercombo.h
similarity index 93%
rename from gtk/gtkcellrenderercombo.h
rename to gtk/deprecated/gtkcellrenderercombo.h
index 5f7eb6fba9..5ae2a60303 100644
--- a/gtk/gtkcellrenderercombo.h
+++ b/gtk/deprecated/gtkcellrenderercombo.h
@@ -22,8 +22,8 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtktreemodel.h>
-#include <gtk/gtkcellrenderertext.h>
+#include <gtk/deprecated/gtktreemodel.h>
+#include <gtk/deprecated/gtkcellrenderertext.h>
 
 G_BEGIN_DECLS
 
@@ -35,7 +35,7 @@ typedef struct _GtkCellRendererCombo              GtkCellRendererCombo;
 
 GDK_AVAILABLE_IN_ALL
 GType            gtk_cell_renderer_combo_get_type (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellRenderer *gtk_cell_renderer_combo_new      (void);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCellRendererCombo, g_object_unref)
diff --git a/gtk/gtkcellrendererpixbuf.c b/gtk/deprecated/gtkcellrendererpixbuf.c
similarity index 99%
rename from gtk/gtkcellrendererpixbuf.c
rename to gtk/deprecated/gtkcellrendererpixbuf.c
index b0c541123c..ff62bd976e 100644
--- a/gtk/gtkcellrendererpixbuf.c
+++ b/gtk/deprecated/gtkcellrendererpixbuf.c
@@ -29,6 +29,8 @@
 #include <cairo-gobject.h>
 #include <stdlib.h>
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /**
  * GtkCellRendererPixbuf:
  *
@@ -409,6 +411,8 @@ gtk_cell_renderer_pixbuf_set_property (GObject      *object,
  * `GtkTreeView`.
  * 
  * Returns: the new cell renderer
+ *
+ * Deprecated: 4.10
  **/
 GtkCellRenderer *
 gtk_cell_renderer_pixbuf_new (void)
diff --git a/gtk/gtkcellrendererpixbuf.h b/gtk/deprecated/gtkcellrendererpixbuf.h
similarity index 96%
rename from gtk/gtkcellrendererpixbuf.h
rename to gtk/deprecated/gtkcellrendererpixbuf.h
index 6dd04d4d85..3cee275218 100644
--- a/gtk/gtkcellrendererpixbuf.h
+++ b/gtk/deprecated/gtkcellrendererpixbuf.h
@@ -22,7 +22,7 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtkcellrenderer.h>
+#include <gtk/deprecated/gtkcellrenderer.h>
 
 
 G_BEGIN_DECLS
@@ -36,7 +36,7 @@ typedef struct _GtkCellRendererPixbuf              GtkCellRendererPixbuf;
 
 GDK_AVAILABLE_IN_ALL
 GType            gtk_cell_renderer_pixbuf_get_type (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellRenderer *gtk_cell_renderer_pixbuf_new      (void);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCellRendererPixbuf, g_object_unref)
diff --git a/gtk/gtkcellrendererprogress.c b/gtk/deprecated/gtkcellrendererprogress.c
similarity index 99%
rename from gtk/gtkcellrendererprogress.c
rename to gtk/deprecated/gtkcellrendererprogress.c
index 6bee958e69..be8c6edaad 100644
--- a/gtk/gtkcellrendererprogress.c
+++ b/gtk/deprecated/gtkcellrendererprogress.c
@@ -33,6 +33,7 @@
 #include "gtksnapshot.h"
 #include "gtkstylecontext.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 
 /**
  * GtkCellRendererProgress:
@@ -718,6 +719,8 @@ gtk_cell_renderer_progress_init (GtkCellRendererProgress *cellprogress)
  * Creates a new `GtkCellRendererProgress`.
  *
  * Returns: the new cell renderer
+ *
+ * Deprecated: 4.10
  **/
 GtkCellRenderer*
 gtk_cell_renderer_progress_new (void)
diff --git a/gtk/gtkcellrendererprogress.h b/gtk/deprecated/gtkcellrendererprogress.h
similarity index 96%
rename from gtk/gtkcellrendererprogress.h
rename to gtk/deprecated/gtkcellrendererprogress.h
index b1a9c04e3e..1015eb04b0 100644
--- a/gtk/gtkcellrendererprogress.h
+++ b/gtk/deprecated/gtkcellrendererprogress.h
@@ -30,7 +30,7 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtkcellrenderer.h>
+#include <gtk/deprecated/gtkcellrenderer.h>
 
 G_BEGIN_DECLS
 
@@ -42,7 +42,7 @@ typedef struct _GtkCellRendererProgress         GtkCellRendererProgress;
 
 GDK_AVAILABLE_IN_ALL
 GType           gtk_cell_renderer_progress_get_type (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellRenderer* gtk_cell_renderer_progress_new      (void);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCellRendererProgress, g_object_unref)
diff --git a/gtk/gtkcellrendererspin.c b/gtk/deprecated/gtkcellrendererspin.c
similarity index 99%
rename from gtk/gtkcellrendererspin.c
rename to gtk/deprecated/gtkcellrendererspin.c
index 92a12e6010..60c878726e 100644
--- a/gtk/gtkcellrendererspin.c
+++ b/gtk/deprecated/gtkcellrendererspin.c
@@ -28,6 +28,7 @@
 #include "gtkentry.h"
 #include "gtkeventcontrollerkey.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 
 /**
  * GtkCellRendererSpin:
@@ -368,6 +369,8 @@ gtk_cell_renderer_spin_start_editing (GtkCellRenderer      *cell,
  * Creates a new `GtkCellRendererSpin`. 
  *
  * Returns: a new `GtkCellRendererSpin`
+ *
+ * Deprecated: 4.10
  */
 GtkCellRenderer *
 gtk_cell_renderer_spin_new (void)
diff --git a/gtk/gtkcellrendererspin.h b/gtk/deprecated/gtkcellrendererspin.h
similarity index 95%
rename from gtk/gtkcellrendererspin.h
rename to gtk/deprecated/gtkcellrendererspin.h
index 5f94cc4b47..9cfbffe875 100644
--- a/gtk/gtkcellrendererspin.h
+++ b/gtk/deprecated/gtkcellrendererspin.h
@@ -22,7 +22,7 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtkcellrenderertext.h>
+#include <gtk/deprecated/gtkcellrenderertext.h>
 
 G_BEGIN_DECLS
 
@@ -34,7 +34,7 @@ typedef struct _GtkCellRendererSpin        GtkCellRendererSpin;
 
 GDK_AVAILABLE_IN_ALL
 GType            gtk_cell_renderer_spin_get_type (void);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellRenderer *gtk_cell_renderer_spin_new      (void);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCellRendererSpin, g_object_unref)
diff --git a/gtk/gtkcellrendererspinner.c b/gtk/deprecated/gtkcellrendererspinner.c
similarity index 99%
rename from gtk/gtkcellrendererspinner.c
rename to gtk/deprecated/gtkcellrendererspinner.c
index c7d0d12822..c32a09e294 100644
--- a/gtk/gtkcellrendererspinner.c
+++ b/gtk/deprecated/gtkcellrendererspinner.c
@@ -37,6 +37,8 @@
 
 #include <math.h>
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /**
  * GtkCellRendererSpinner:
  *
@@ -223,6 +225,8 @@ gtk_cell_renderer_spinner_init (GtkCellRendererSpinner *cell)
  * activity.
  *
  * Returns: a new `GtkCellRenderer`
+ *
+ * Deprecated: 4.10
  */
 GtkCellRenderer *
 gtk_cell_renderer_spinner_new (void)
diff --git a/gtk/gtkcellrendererspinner.h b/gtk/deprecated/gtkcellrendererspinner.h
similarity index 96%
rename from gtk/gtkcellrendererspinner.h
rename to gtk/deprecated/gtkcellrendererspinner.h
index 68b701bb3b..7d4600a00b 100644
--- a/gtk/gtkcellrendererspinner.h
+++ b/gtk/deprecated/gtkcellrendererspinner.h
@@ -25,7 +25,7 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtkcellrenderer.h>
+#include <gtk/deprecated/gtkcellrenderer.h>
 
 G_BEGIN_DECLS
 
@@ -37,7 +37,7 @@ typedef struct _GtkCellRendererSpinner        GtkCellRendererSpinner;
 
 GDK_AVAILABLE_IN_ALL
 GType            gtk_cell_renderer_spinner_get_type (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellRenderer *gtk_cell_renderer_spinner_new      (void);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkCellRendererSpinner, g_object_unref)
diff --git a/gtk/gtkcellrenderertext.c b/gtk/deprecated/gtkcellrenderertext.c
similarity index 99%
rename from gtk/gtkcellrenderertext.c
rename to gtk/deprecated/gtkcellrenderertext.c
index d2dedcd491..579c450c1d 100644
--- a/gtk/gtkcellrenderertext.c
+++ b/gtk/deprecated/gtkcellrenderertext.c
@@ -28,10 +28,12 @@
 #include "gtksizerequest.h"
 #include "gtksnapshot.h"
 #include "gtkstylecontextprivate.h"
-#include "gtktreeprivate.h"
+#include "deprecated/gtktreeprivate.h"
 
 #include <stdlib.h>
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /**
  * GtkCellRendererText:
  *
@@ -1298,6 +1300,8 @@ gtk_cell_renderer_text_set_property (GObject      *object,
  * of the `GtkTreeView`.
  * 
  * Returns: the new cell renderer
+ *
+ * Deprecated: 4.10
  **/
 GtkCellRenderer *
 gtk_cell_renderer_text_new (void)
@@ -1758,6 +1762,8 @@ gtk_cell_renderer_text_start_editing (GtkCellRenderer      *cell,
  * if calculating the size of a cell is too slow (ie, a massive number of cells
  * displayed).  If @number_of_rows is -1, then the fixed height is unset, and
  * the height is determined by the properties again.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_cell_renderer_text_set_fixed_height_from_font (GtkCellRendererText *renderer,
diff --git a/gtk/gtkcellrenderertext.h b/gtk/deprecated/gtkcellrenderertext.h
similarity index 96%
rename from gtk/gtkcellrenderertext.h
rename to gtk/deprecated/gtkcellrenderertext.h
index e02a31ee74..d17d09ea25 100644
--- a/gtk/gtkcellrenderertext.h
+++ b/gtk/deprecated/gtkcellrenderertext.h
@@ -23,7 +23,7 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtkcellrenderer.h>
+#include <gtk/deprecated/gtkcellrenderer.h>
 
 
 G_BEGIN_DECLS
@@ -59,10 +59,10 @@ struct _GtkCellRendererTextClass
 
 GDK_AVAILABLE_IN_ALL
 GType            gtk_cell_renderer_text_get_type (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellRenderer *gtk_cell_renderer_text_new      (void);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_cell_renderer_text_set_fixed_height_from_font (GtkCellRendererText *renderer,
                                                                    int                  number_of_rows);
 
diff --git a/gtk/gtkcellrenderertoggle.c b/gtk/deprecated/gtkcellrenderertoggle.c
similarity index 98%
rename from gtk/gtkcellrenderertoggle.c
rename to gtk/deprecated/gtkcellrenderertoggle.c
index 02778c5bf6..2dd6cd0d03 100644
--- a/gtk/gtkcellrenderertoggle.c
+++ b/gtk/deprecated/gtkcellrenderertoggle.c
@@ -27,10 +27,12 @@
 #include "gtksnapshot.h"
 #include "gtkstylecontextprivate.h"
 #include "gtkwidgetprivate.h"
-#include "gtktreeprivate.h"
+#include "deprecated/gtktreeprivate.h"
 
 #include <stdlib.h>
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /**
  * GtkCellRendererToggle:
  *
@@ -324,6 +326,8 @@ gtk_cell_renderer_toggle_set_property (GObject      *object,
  * the model.
  *
  * Returns: the new cell renderer
+ *
+ * Deprecated: 4.10
  **/
 GtkCellRenderer *
 gtk_cell_renderer_toggle_new (void)
@@ -532,6 +536,8 @@ gtk_cell_renderer_toggle_activate (GtkCellRenderer      *cell,
  * before rendering each cell in the model (for `GtkTreeView`, you set
  * up a per-row setting using `GtkTreeViewColumn` to associate model
  * columns with cell renderer properties).
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_cell_renderer_toggle_set_radio (GtkCellRendererToggle *toggle,
@@ -551,6 +557,8 @@ gtk_cell_renderer_toggle_set_radio (GtkCellRendererToggle *toggle,
  * Returns whether we’re rendering radio toggles rather than checkboxes. 
  * 
  * Returns: %TRUE if we’re rendering radio toggles rather than checkboxes
+ *
+ * Deprecated: 4.10
  **/
 gboolean
 gtk_cell_renderer_toggle_get_radio (GtkCellRendererToggle *toggle)
@@ -570,6 +578,8 @@ gtk_cell_renderer_toggle_get_radio (GtkCellRendererToggle *toggle)
  * gtk_cell_renderer_toggle_set_active().
  *
  * Returns: %TRUE if the cell renderer is active.
+ *
+ * Deprecated: 4.10
  **/
 gboolean
 gtk_cell_renderer_toggle_get_active (GtkCellRendererToggle *toggle)
@@ -587,6 +597,8 @@ gtk_cell_renderer_toggle_get_active (GtkCellRendererToggle *toggle)
  * @setting: the value to set.
  *
  * Activates or deactivates a cell renderer.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_cell_renderer_toggle_set_active (GtkCellRendererToggle *toggle,
@@ -605,6 +617,8 @@ gtk_cell_renderer_toggle_set_active (GtkCellRendererToggle *toggle,
  * gtk_cell_renderer_toggle_set_activatable().
  *
  * Returns: %TRUE if the cell renderer is activatable.
+ *
+ * Deprecated: 4.10
  **/
 gboolean
 gtk_cell_renderer_toggle_get_activatable (GtkCellRendererToggle *toggle)
@@ -622,6 +636,8 @@ gtk_cell_renderer_toggle_get_activatable (GtkCellRendererToggle *toggle)
  * @setting: the value to set.
  *
  * Makes the cell renderer activatable.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_cell_renderer_toggle_set_activatable (GtkCellRendererToggle *toggle,
diff --git a/gtk/gtkcellrenderertoggle.h b/gtk/deprecated/gtkcellrenderertoggle.h
similarity index 92%
rename from gtk/gtkcellrenderertoggle.h
rename to gtk/deprecated/gtkcellrenderertoggle.h
index 7cc80afa2e..acea749fd9 100644
--- a/gtk/gtkcellrenderertoggle.h
+++ b/gtk/deprecated/gtkcellrenderertoggle.h
@@ -22,7 +22,7 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtkcellrenderer.h>
+#include <gtk/deprecated/gtkcellrenderer.h>
 
 
 G_BEGIN_DECLS
@@ -37,24 +37,24 @@ typedef struct _GtkCellRendererToggle              GtkCellRendererToggle;
 
 GDK_AVAILABLE_IN_ALL
 GType            gtk_cell_renderer_toggle_get_type       (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkCellRenderer *gtk_cell_renderer_toggle_new            (void);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean         gtk_cell_renderer_toggle_get_radio      (GtkCellRendererToggle *toggle);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_cell_renderer_toggle_set_radio      (GtkCellRendererToggle *toggle,
                                                           gboolean               radio);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean        gtk_cell_renderer_toggle_get_active      (GtkCellRendererToggle *toggle);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void            gtk_cell_renderer_toggle_set_active      (GtkCellRendererToggle *toggle,
                                                           gboolean               setting);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean        gtk_cell_renderer_toggle_get_activatable (GtkCellRendererToggle *toggle);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void            gtk_cell_renderer_toggle_set_activatable (GtkCellRendererToggle *toggle,
                                                           gboolean               setting);
 
diff --git a/gtk/gtkcellview.c b/gtk/deprecated/gtkcellview.c
similarity index 99%
rename from gtk/gtkcellview.c
rename to gtk/deprecated/gtkcellview.c
index 3cb455c120..395baa5ad0 100644
--- a/gtk/gtkcellview.c
+++ b/gtk/deprecated/gtkcellview.c
@@ -32,6 +32,8 @@
 
 #include <string.h>
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /**
  * GtkCellView:
  *
@@ -806,6 +808,8 @@ row_changed_cb (GtkTreeModel         *model,
  * Creates a new `GtkCellView` widget.
  *
  * Returns: A newly created `GtkCellView` widget.
+ *
+ * Deprecated: 4.10
  */
 GtkWidget *
 gtk_cell_view_new (void)
@@ -832,6 +836,8 @@ gtk_cell_view_new (void)
  * possible.
  *
  * Returns: A newly created `GtkCellView` widget.
+ *
+ * Deprecated: 4.10
  */
 GtkWidget *
 gtk_cell_view_new_with_context (GtkCellArea        *area,
@@ -854,6 +860,8 @@ gtk_cell_view_new_with_context (GtkCellArea        *area,
  * to it, and makes it show @text.
  *
  * Returns: A newly created `GtkCellView` widget.
+ *
+ * Deprecated: 4.10
  */
 GtkWidget *
 gtk_cell_view_new_with_text (const char *text)
@@ -885,6 +893,8 @@ gtk_cell_view_new_with_text (const char *text)
  * the [Pango text markup language](https://docs.gtk.org/Pango/pango_markup.html).
  *
  * Returns: A newly created `GtkCellView` widget.
+ *
+ * Deprecated: 4.10
  */
 GtkWidget *
 gtk_cell_view_new_with_markup (const char *markup)
@@ -915,6 +925,8 @@ gtk_cell_view_new_with_markup (const char *markup)
  * to it, and makes it show @texture.
  *
  * Returns: A newly created `GtkCellView` widget.
+ *
+ * Deprecated: 4.10
  */
 GtkWidget *
 gtk_cell_view_new_with_texture (GdkTexture *texture)
@@ -946,6 +958,8 @@ gtk_cell_view_new_with_texture (GdkTexture *texture)
  * 
  * Sets a property of a cell renderer of @cell_view, and
  * makes sure the display of @cell_view is updated.
+ *
+ * Deprecated: 4.10
  */
 static void
 gtk_cell_view_set_value (GtkCellView     *cell_view,
@@ -968,6 +982,8 @@ gtk_cell_view_set_value (GtkCellView     *cell_view,
  * Sets the model for @cell_view.  If @cell_view already has a model
  * set, it will remove it before setting the new model.  If @model is
  * %NULL, then it will unset the old model.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_view_set_model (GtkCellView  *cell_view,
@@ -1010,6 +1026,8 @@ gtk_cell_view_set_model (GtkCellView  *cell_view,
  * returned.
  *
  * Returns: (nullable) (transfer none): a `GtkTreeModel` used
+ *
+ * Deprecated: 4.10
  */
 GtkTreeModel *
 gtk_cell_view_get_model (GtkCellView *cell_view)
@@ -1032,6 +1050,8 @@ gtk_cell_view_get_model (GtkCellView *cell_view)
  * this is not normally a desired result, but may be
  * a needed intermediate state if say, the model for
  * the `GtkCellView` becomes temporarily empty.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_cell_view_set_displayed_row (GtkCellView *cell_view,
@@ -1064,6 +1084,8 @@ gtk_cell_view_set_displayed_row (GtkCellView *cell_view,
  * %NULL is returned.
  *
  * Returns: (nullable) (transfer full): the currently displayed row
+ *
+ * Deprecated: 4.10
  */
 GtkTreePath *
 gtk_cell_view_get_displayed_row (GtkCellView *cell_view)
@@ -1087,6 +1109,8 @@ gtk_cell_view_get_displayed_row (GtkCellView *cell_view)
  *
  * Returns: whether @cell_view draws all of its
  * cells in a sensitive state
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_cell_view_get_draw_sensitive (GtkCellView     *cell_view)
@@ -1107,6 +1131,8 @@ gtk_cell_view_get_draw_sensitive (GtkCellView     *cell_view)
  * cells in a sensitive state, this is used by `GtkComboBox` menus
  * to ensure that rows with insensitive cells that contain
  * children appear sensitive in the parent menu item.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_view_set_draw_sensitive (GtkCellView     *cell_view,
@@ -1133,6 +1159,8 @@ gtk_cell_view_set_draw_sensitive (GtkCellView     *cell_view,
  *
  * Returns: whether @cell_view requests space to fit
  * the entire `GtkTreeModel`.
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_cell_view_get_fit_model (GtkCellView     *cell_view)
@@ -1154,6 +1182,8 @@ gtk_cell_view_get_fit_model (GtkCellView     *cell_view)
  * This is used by `GtkComboBox` to ensure that the cell view displayed on
  * the combo box’s button always gets enough space and does not resize
  * when selection changes.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_cell_view_set_fit_model (GtkCellView *cell_view,
diff --git a/gtk/gtkcellview.h b/gtk/deprecated/gtkcellview.h
similarity index 86%
rename from gtk/gtkcellview.h
rename to gtk/deprecated/gtkcellview.h
index 77c131c46e..796d26de2d 100644
--- a/gtk/gtkcellview.h
+++ b/gtk/deprecated/gtkcellview.h
@@ -23,10 +23,10 @@
 #endif
 
 #include <gtk/gtkwidget.h>
-#include <gtk/gtkcellrenderer.h>
-#include <gtk/gtkcellarea.h>
-#include <gtk/gtkcellareacontext.h>
-#include <gtk/gtktreemodel.h>
+#include <gtk/deprecated/gtkcellrenderer.h>
+#include <gtk/deprecated/gtkcellarea.h>
+#include <gtk/deprecated/gtkcellareacontext.h>
+#include <gtk/deprecated/gtktreemodel.h>
 
 G_BEGIN_DECLS
 
@@ -38,35 +38,35 @@ typedef struct _GtkCellView             GtkCellView;
 
 GDK_AVAILABLE_IN_ALL
 GType             gtk_cell_view_get_type                (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget        *gtk_cell_view_new                     (void);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget        *gtk_cell_view_new_with_context        (GtkCellArea        *area,
                                                          GtkCellAreaContext *context);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget        *gtk_cell_view_new_with_text           (const char      *text);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget        *gtk_cell_view_new_with_markup         (const char      *markup);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget        *gtk_cell_view_new_with_texture        (GdkTexture      *texture);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void              gtk_cell_view_set_model               (GtkCellView     *cell_view,
                                                          GtkTreeModel    *model);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeModel     *gtk_cell_view_get_model               (GtkCellView     *cell_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void              gtk_cell_view_set_displayed_row       (GtkCellView     *cell_view,
                                                          GtkTreePath     *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreePath      *gtk_cell_view_get_displayed_row       (GtkCellView     *cell_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean          gtk_cell_view_get_draw_sensitive      (GtkCellView     *cell_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void              gtk_cell_view_set_draw_sensitive      (GtkCellView     *cell_view,
                                                          gboolean         draw_sensitive);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean          gtk_cell_view_get_fit_model           (GtkCellView     *cell_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void              gtk_cell_view_set_fit_model           (GtkCellView     *cell_view,
                                                          gboolean         fit_model);
 
diff --git a/gtk/gtkcombobox.c b/gtk/deprecated/gtkcombobox.c
similarity index 98%
rename from gtk/gtkcombobox.c
rename to gtk/deprecated/gtkcombobox.c
index 09a36bfa1e..6283a644d5 100644
--- a/gtk/gtkcombobox.c
+++ b/gtk/deprecated/gtkcombobox.c
@@ -42,6 +42,8 @@
 #include <string.h>
 #include <stdarg.h>
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /**
  * GtkComboBox:
  *
@@ -1370,6 +1372,8 @@ gtk_combo_box_menu_popup (GtkComboBox *combo_box)
  * applications should have little use for it.
  *
  * Before calling this, @combo_box must be mapped, or nothing will happen.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_popup (GtkComboBox *combo_box)
@@ -1391,6 +1395,8 @@ gtk_combo_box_popup (GtkComboBox *combo_box)
  * previously only used for list-mode combo boxes, and those were removed
  * in GTK 4. However, it is retained in case similar functionality is added
  * back later.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_popup_for_device (GtkComboBox *combo_box,
@@ -1440,6 +1446,8 @@ gtk_combo_box_real_popdown (GtkComboBox *combo_box)
  *
  * This function is mostly intended for use by accessibility technologies;
  * applications should have little use for it.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_popdown (GtkComboBox *combo_box)
@@ -1842,6 +1850,8 @@ gtk_combo_box_cell_layout_get_area (GtkCellLayout *cell_layout)
  * Creates a new empty `GtkComboBox`.
  *
  * Returns: A new `GtkComboBox`
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 GtkWidget *
 gtk_combo_box_new (void)
@@ -1859,6 +1869,8 @@ gtk_combo_box_new (void)
  * by calling [method@Gtk.ComboBox.set_entry_text_column]. 
  *
  * Returns: A new `GtkComboBox`
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 GtkWidget *
 gtk_combo_box_new_with_entry (void)
@@ -1873,6 +1885,8 @@ gtk_combo_box_new_with_entry (void)
  * Creates a new `GtkComboBox` with a model.
  *
  * Returns: A new `GtkComboBox`
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 GtkWidget *
 gtk_combo_box_new_with_model (GtkTreeModel *model)
@@ -1895,6 +1909,8 @@ gtk_combo_box_new_with_model (GtkTreeModel *model)
  * See also [ctor@Gtk.ComboBox.new_with_entry].
  *
  * Returns: A new `GtkComboBox`
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 GtkWidget *
 gtk_combo_box_new_with_model_and_entry (GtkTreeModel *model)
@@ -1918,6 +1934,8 @@ gtk_combo_box_new_with_model_and_entry (GtkTreeModel *model)
  *
  * Returns: An integer which is the index of the currently active item,
  *   or -1 if there’s no active item
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 int
 gtk_combo_box_get_active (GtkComboBox *combo_box)
@@ -1948,6 +1966,8 @@ gtk_combo_box_get_active (GtkComboBox *combo_box)
  *   or -1 to have no active item
  *
  * Sets the active item of @combo_box to be the item at @index.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_set_active (GtkComboBox *combo_box,
@@ -2045,6 +2065,8 @@ gtk_combo_box_set_active_internal (GtkComboBox *combo_box,
  * If no item is active, @iter is left unchanged.
  *
  * Returns: %TRUE if @iter was set, %FALSE otherwise
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 gboolean
 gtk_combo_box_get_active_iter (GtkComboBox     *combo_box,
@@ -2074,6 +2096,8 @@ gtk_combo_box_get_active_iter (GtkComboBox     *combo_box,
  * Sets the current active item to be the one referenced by @iter.
  *
  * If @iter is %NULL, the active item is unset.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_set_active_iter (GtkComboBox     *combo_box,
@@ -2103,6 +2127,8 @@ gtk_combo_box_set_active_iter (GtkComboBox     *combo_box,
  * Note that this function does not clear the cell renderers, you have to
  * call [method@Gtk.CellLayout.clear] yourself if you need to set up different
  * cell renderers for the new model.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_set_model (GtkComboBox  *combo_box,
@@ -2164,6 +2190,8 @@ out:
  *
  * Returns: (nullable) (transfer none): A `GtkTreeModel` which was passed
  *   during construction.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 GtkTreeModel *
 gtk_combo_box_get_model (GtkComboBox *combo_box)
@@ -2521,6 +2549,8 @@ gtk_combo_box_start_editing (GtkCellEditable *cell_editable,
  *
  * If @fixed is %TRUE, the popup's width is set to match the
  * allocated width of the combo box.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_set_popup_fixed_width (GtkComboBox *combo_box,
@@ -2545,6 +2575,8 @@ gtk_combo_box_set_popup_fixed_width (GtkComboBox *combo_box,
  * Gets whether the popup uses a fixed width.
  *
  * Returns: %TRUE if the popup uses a fixed width
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 gboolean
 gtk_combo_box_get_popup_fixed_width (GtkComboBox *combo_box)
@@ -2563,6 +2595,8 @@ gtk_combo_box_get_popup_fixed_width (GtkComboBox *combo_box)
  * Returns the current row separator function.
  *
  * Returns: (nullable): the current row separator function.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 GtkTreeViewRowSeparatorFunc
 gtk_combo_box_get_row_separator_func (GtkComboBox *combo_box)
@@ -2586,6 +2620,8 @@ gtk_combo_box_get_row_separator_func (GtkComboBox *combo_box)
  *
  * If the row separator function is %NULL, no separators are drawn.
  * This is the default value.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_set_row_separator_func (GtkComboBox                 *combo_box,
@@ -2618,6 +2654,8 @@ gtk_combo_box_set_row_separator_func (GtkComboBox                 *combo_box,
  *
  * Sets whether the dropdown button of the combo box should update
  * its sensitivity depending on the model contents.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_set_button_sensitivity (GtkComboBox        *combo_box,
@@ -2648,6 +2686,8 @@ gtk_combo_box_set_button_sensitivity (GtkComboBox        *combo_box,
  *   if the button is always insensitive or %GTK_SENSITIVITY_AUTO
  *   if it is only sensitive as long as the model has one item to
  *   be selected.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 GtkSensitivityType
 gtk_combo_box_get_button_sensitivity (GtkComboBox *combo_box)
@@ -2666,6 +2706,8 @@ gtk_combo_box_get_button_sensitivity (GtkComboBox *combo_box)
  * Returns whether the combo box has an entry.
  *
  * Returns: whether there is an entry in @combo_box.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 gboolean
 gtk_combo_box_get_has_entry (GtkComboBox *combo_box)
@@ -2693,6 +2735,8 @@ gtk_combo_box_get_has_entry (GtkComboBox *combo_box)
  *
  * This is only relevant if @combo_box has been created with
  * [property@Gtk.ComboBox:has-entry] as %TRUE.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_set_entry_text_column (GtkComboBox *combo_box,
@@ -2726,6 +2770,8 @@ gtk_combo_box_set_entry_text_column (GtkComboBox *combo_box,
  * from to display in the internal entry.
  *
  * Returns: A column in the data source model of @combo_box.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 int
 gtk_combo_box_get_entry_text_column (GtkComboBox *combo_box)
@@ -2802,6 +2848,8 @@ gtk_combo_box_buildable_get_internal_child (GtkBuildable *buildable,
  *
  * The column @id_column in the model of @combo_box must be of type
  * %G_TYPE_STRING.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_set_id_column (GtkComboBox *combo_box,
@@ -2831,6 +2879,8 @@ gtk_combo_box_set_id_column (GtkComboBox *combo_box,
  * for values from.
  *
  * Returns: A column in the data source model of @combo_box.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 int
 gtk_combo_box_get_id_column (GtkComboBox *combo_box)
@@ -2861,6 +2911,8 @@ gtk_combo_box_get_id_column (GtkComboBox *combo_box)
  * ID value, then %NULL is returned.
  *
  * Returns: (nullable): the ID of the active row
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 const char *
 gtk_combo_box_get_active_id (GtkComboBox *combo_box)
@@ -2914,6 +2966,8 @@ gtk_combo_box_get_active_id (GtkComboBox *combo_box)
  * Returns: %TRUE if a row with a matching ID was found. If a %NULL
  *   @active_id was given to unset the active row, the function
  *   always returns %TRUE.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 gboolean
 gtk_combo_box_set_active_id (GtkComboBox *combo_box,
@@ -2977,6 +3031,8 @@ gtk_combo_box_get_popup (GtkComboBox *combo_box)
  * @child: (nullable): the child widget
  *
  * Sets the child widget of @combo_box.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_set_child (GtkComboBox *combo_box,
@@ -3003,6 +3059,8 @@ gtk_combo_box_set_child (GtkComboBox *combo_box,
  * Gets the child widget of @combo_box.
  *
  * Returns: (nullable) (transfer none): the child widget of @combo_box
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 GtkWidget *
 gtk_combo_box_get_child (GtkComboBox *combo_box)
diff --git a/gtk/gtkcombobox.h b/gtk/deprecated/gtkcombobox.h
similarity index 89%
rename from gtk/gtkcombobox.h
rename to gtk/deprecated/gtkcombobox.h
index 3740801fa9..0f2b5c31cb 100644
--- a/gtk/gtkcombobox.h
+++ b/gtk/deprecated/gtkcombobox.h
@@ -23,8 +23,8 @@
 #endif
 
 #include <gtk/gtkwidget.h>
-#include <gtk/gtktreemodel.h>
-#include <gtk/gtktreeview.h>
+#include <gtk/deprecated/gtktreemodel.h>
+#include <gtk/deprecated/gtktreeview.h>
 
 G_BEGIN_DECLS
 
@@ -71,87 +71,87 @@ struct _GtkComboBoxClass
 /* construction */
 GDK_AVAILABLE_IN_ALL
 GType         gtk_combo_box_get_type                 (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget    *gtk_combo_box_new                      (void);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget    *gtk_combo_box_new_with_entry           (void);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget    *gtk_combo_box_new_with_model           (GtkTreeModel *model);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget    *gtk_combo_box_new_with_model_and_entry (GtkTreeModel *model);
 
 /* get/set active item */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int           gtk_combo_box_get_active       (GtkComboBox     *combo_box);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_combo_box_set_active       (GtkComboBox     *combo_box,
                                               int              index_);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean      gtk_combo_box_get_active_iter  (GtkComboBox     *combo_box,
                                               GtkTreeIter     *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_combo_box_set_active_iter  (GtkComboBox     *combo_box,
                                               GtkTreeIter     *iter);
 
 /* getters and setters */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_combo_box_set_model        (GtkComboBox     *combo_box,
                                               GtkTreeModel    *model);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeModel *gtk_combo_box_get_model        (GtkComboBox     *combo_box);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeViewRowSeparatorFunc gtk_combo_box_get_row_separator_func (GtkComboBox                *combo_box);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                        gtk_combo_box_set_row_separator_func (GtkComboBox                *combo_box,
                                                                   GtkTreeViewRowSeparatorFunc func,
                                                                   gpointer                    data,
                                                                   GDestroyNotify              destroy);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void               gtk_combo_box_set_button_sensitivity (GtkComboBox        *combo_box,
                                                          GtkSensitivityType  sensitivity);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkSensitivityType gtk_combo_box_get_button_sensitivity (GtkComboBox        *combo_box);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean           gtk_combo_box_get_has_entry          (GtkComboBox        *combo_box);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void               gtk_combo_box_set_entry_text_column  (GtkComboBox        *combo_box,
                                                          int                 text_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                gtk_combo_box_get_entry_text_column  (GtkComboBox        *combo_box);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void               gtk_combo_box_set_popup_fixed_width  (GtkComboBox      *combo_box,
                                                          gboolean          fixed);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean           gtk_combo_box_get_popup_fixed_width  (GtkComboBox      *combo_box);
 
 /* programmatic control */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_combo_box_popup            (GtkComboBox     *combo_box);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_combo_box_popup_for_device (GtkComboBox     *combo_box,
                                               GdkDevice       *device);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_combo_box_popdown          (GtkComboBox     *combo_box);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int           gtk_combo_box_get_id_column        (GtkComboBox *combo_box);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_combo_box_set_id_column        (GtkComboBox *combo_box,
                                                   int          id_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 const char * gtk_combo_box_get_active_id        (GtkComboBox *combo_box);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean      gtk_combo_box_set_active_id        (GtkComboBox *combo_box,
                                                   const char *active_id);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_combo_box_set_child            (GtkComboBox *combo_box,
                                                   GtkWidget   *child);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget *   gtk_combo_box_get_child            (GtkComboBox *combo_box);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkComboBox, g_object_unref)
diff --git a/gtk/gtkcomboboxprivate.h b/gtk/deprecated/gtkcomboboxprivate.h
similarity index 100%
rename from gtk/gtkcomboboxprivate.h
rename to gtk/deprecated/gtkcomboboxprivate.h
diff --git a/gtk/gtkcomboboxtext.c b/gtk/deprecated/gtkcomboboxtext.c
similarity index 97%
rename from gtk/gtkcomboboxtext.c
rename to gtk/deprecated/gtkcomboboxtext.c
index 9415544359..9d48f5aca4 100644
--- a/gtk/gtkcomboboxtext.c
+++ b/gtk/deprecated/gtkcomboboxtext.c
@@ -28,6 +28,8 @@
 
 #include <string.h>
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /**
  * GtkComboBoxText:
  *
@@ -350,6 +352,8 @@ gtk_combo_box_text_buildable_custom_finished (GtkBuildable *buildable,
  * Creates a new `GtkComboBoxText`.
  *
  * Returns: A new `GtkComboBoxText`
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 GtkWidget *
 gtk_combo_box_text_new (void)
@@ -364,6 +368,8 @@ gtk_combo_box_text_new (void)
  * Creates a new `GtkComboBoxText` with an entry.
  *
  * Returns: a new `GtkComboBoxText`
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 GtkWidget *
 gtk_combo_box_text_new_with_entry (void)
@@ -382,6 +388,8 @@ gtk_combo_box_text_new_with_entry (void)
  *
  * This is the same as calling [method@Gtk.ComboBoxText.insert_text]
  * with a position of -1.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_text_append_text (GtkComboBoxText *combo_box,
@@ -399,6 +407,8 @@ gtk_combo_box_text_append_text (GtkComboBoxText *combo_box,
  *
  * This is the same as calling [method@Gtk.ComboBoxText.insert_text]
  * with a position of 0.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_text_prepend_text (GtkComboBoxText *combo_box,
@@ -419,6 +429,8 @@ gtk_combo_box_text_prepend_text (GtkComboBoxText *combo_box,
  *
  * This is the same as calling [method@Gtk.ComboBoxText.insert]
  * with a %NULL ID string.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_text_insert_text (GtkComboBoxText *combo_box,
@@ -440,6 +452,8 @@ gtk_combo_box_text_insert_text (GtkComboBoxText *combo_box,
  *
  * This is the same as calling [method@Gtk.ComboBoxText.insert]
  * with a position of -1.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_text_append (GtkComboBoxText *combo_box,
@@ -461,6 +475,8 @@ gtk_combo_box_text_append (GtkComboBoxText *combo_box,
  *
  * This is the same as calling [method@Gtk.ComboBoxText.insert]
  * with a position of 0.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_text_prepend (GtkComboBoxText *combo_box,
@@ -484,6 +500,8 @@ gtk_combo_box_text_prepend (GtkComboBoxText *combo_box,
  * See [property@Gtk.ComboBox:id-column].
  *
  * If @position is negative then @text is appended.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_text_insert (GtkComboBoxText *combo_box,
@@ -535,6 +553,8 @@ gtk_combo_box_text_insert (GtkComboBoxText *combo_box,
  * @position: Index of the item to remove
  *
  * Removes the string at @position from @combo_box.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_text_remove (GtkComboBoxText *combo_box,
@@ -560,6 +580,8 @@ gtk_combo_box_text_remove (GtkComboBoxText *combo_box,
  * @combo_box: A `GtkComboBoxText`
  *
  * Removes all the text entries from the combo box.
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 void
 gtk_combo_box_text_remove_all (GtkComboBoxText *combo_box)
@@ -586,6 +608,8 @@ gtk_combo_box_text_remove_all (GtkComboBoxText *combo_box)
  * Returns: (nullable) (transfer full): a newly allocated
  *   string containing the currently active text.
  *   Must be freed with g_free().
+ *
+ * Deprecated: 4.10: Use GtkDropDown
  */
 char *
 gtk_combo_box_text_get_active_text (GtkComboBoxText *combo_box)
diff --git a/gtk/gtkcomboboxtext.h b/gtk/deprecated/gtkcomboboxtext.h
similarity index 91%
rename from gtk/gtkcomboboxtext.h
rename to gtk/deprecated/gtkcomboboxtext.h
index d90cc9d19b..c879af4ceb 100644
--- a/gtk/gtkcomboboxtext.h
+++ b/gtk/deprecated/gtkcomboboxtext.h
@@ -23,7 +23,7 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtkcombobox.h>
+#include <gtk/deprecated/gtkcombobox.h>
 
 G_BEGIN_DECLS
 
@@ -35,38 +35,38 @@ typedef struct _GtkComboBoxText GtkComboBoxText;
 
 GDK_AVAILABLE_IN_ALL
 GType         gtk_combo_box_text_get_type        (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget*    gtk_combo_box_text_new             (void);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget*    gtk_combo_box_text_new_with_entry  (void);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_combo_box_text_append_text     (GtkComboBoxText     *combo_box,
                                                   const char          *text);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_combo_box_text_insert_text     (GtkComboBoxText     *combo_box,
                                                   int                  position,
                                                   const char          *text);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_combo_box_text_prepend_text    (GtkComboBoxText     *combo_box,
                                                   const char          *text);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_combo_box_text_remove          (GtkComboBoxText     *combo_box,
                                                   int                  position);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_combo_box_text_remove_all      (GtkComboBoxText     *combo_box);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 char         *gtk_combo_box_text_get_active_text (GtkComboBoxText     *combo_box);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_combo_box_text_insert          (GtkComboBoxText     *combo_box,
                                                   int                  position,
                                                   const char          *id,
                                                   const char          *text);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_combo_box_text_append          (GtkComboBoxText     *combo_box,
                                                   const char          *id,
                                                   const char          *text);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_combo_box_text_prepend         (GtkComboBoxText     *combo_box,
                                                   const char          *id,
                                                   const char          *text);
diff --git a/gtk/deprecated/gtkentrycompletion.h b/gtk/deprecated/gtkentrycompletion.h
index 042b302ed7..f4cc55508c 100644
--- a/gtk/deprecated/gtkentrycompletion.h
+++ b/gtk/deprecated/gtkentrycompletion.h
@@ -23,11 +23,11 @@
 #endif
 
 #include <gdk/gdk.h>
-#include <gtk/gtktreemodel.h>
-#include <gtk/gtkliststore.h>
-#include <gtk/gtkcellarea.h>
-#include <gtk/gtktreeviewcolumn.h>
-#include <gtk/gtktreemodelfilter.h>
+#include <gtk/deprecated/gtktreemodel.h>
+#include <gtk/deprecated/gtkliststore.h>
+#include <gtk/deprecated/gtkcellarea.h>
+#include <gtk/deprecated/gtktreeviewcolumn.h>
+#include <gtk/deprecated/gtktreemodelfilter.h>
 
 G_BEGIN_DECLS
 
diff --git a/gtk/gtkiconview.c b/gtk/deprecated/gtkiconview.c
similarity index 98%
rename from gtk/gtkiconview.c
rename to gtk/deprecated/gtkiconview.c
index 2def92cd4a..0e4e31933c 100644
--- a/gtk/gtkiconview.c
+++ b/gtk/deprecated/gtkiconview.c
@@ -47,6 +47,8 @@
 
 #include <string.h>
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /**
  * GtkIconView:
  *
@@ -1932,6 +1934,8 @@ gtk_icon_view_remove_editable (GtkCellArea            *area,
  * This function is often followed by `gtk_widget_grab_focus 
  * (icon_view)` in order to give keyboard focus to the widget.  
  * Please note that editing can only happen when the widget is realized.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_set_cursor (GtkIconView     *icon_view,
@@ -1986,6 +1990,8 @@ gtk_icon_view_set_cursor (GtkIconView     *icon_view,
  * The returned `GtkTreePath` must be freed with gtk_tree_path_free().
  *
  * Returns: %TRUE if the cursor is set.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 gboolean
 gtk_icon_view_get_cursor (GtkIconView      *icon_view,
@@ -3811,6 +3817,8 @@ gtk_icon_view_move_cursor_start_end (GtkIconView *icon_view,
  * This function only works if the model is set, and @path is a valid row on 
  * the model. If the model changes before the @icon_view is realized, the 
  * centered path will be modified to reflect this change.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_scroll_to_path (GtkIconView *icon_view,
@@ -4003,6 +4011,8 @@ _gtk_icon_view_set_cell_data (GtkIconView     *icon_view,
  * Creates a new `GtkIconView` widget
  * 
  * Returns: A newly created `GtkIconView` widget
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 GtkWidget *
 gtk_icon_view_new (void)
@@ -4018,6 +4028,8 @@ gtk_icon_view_new (void)
  * specified @area to layout cells inside the icons.
  * 
  * Returns: A newly created `GtkIconView` widget
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 GtkWidget *
 gtk_icon_view_new_with_area (GtkCellArea *area)
@@ -4032,6 +4044,8 @@ gtk_icon_view_new_with_area (GtkCellArea *area)
  * Creates a new `GtkIconView` widget with the model @model.
  * 
  * Returns: A newly created `GtkIconView` widget.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 GtkWidget *
 gtk_icon_view_new_with_model (GtkTreeModel *model)
@@ -4049,6 +4063,8 @@ gtk_icon_view_new_with_model (GtkTreeModel *model)
  *
  * Returns: (nullable) (transfer full): The `GtkTreePath` corresponding
  * to the icon or %NULL if no icon exists at that position.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 GtkTreePath *
 gtk_icon_view_get_path_at_pos (GtkIconView *icon_view,
@@ -4082,6 +4098,8 @@ gtk_icon_view_get_path_at_pos (GtkIconView *icon_view,
  * Gets the path and cell for the icon at the given position.
  *
  * Returns: %TRUE if an item exists at the specified position
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 gboolean 
 gtk_icon_view_get_item_at_pos (GtkIconView      *icon_view,
@@ -4124,6 +4142,8 @@ gtk_icon_view_get_item_at_pos (GtkIconView      *icon_view,
  * This function is only valid if @icon_view is realized.
  *
  * Returns: %FALSE if there is no such item, %TRUE otherwise
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 gboolean
 gtk_icon_view_get_cell_rect (GtkIconView     *icon_view,
@@ -4173,6 +4193,8 @@ gtk_icon_view_get_cell_rect (GtkIconView     *icon_view,
  * Sets the tip area of @tooltip to be the area covered by the item at @path.
  * See also gtk_icon_view_set_tooltip_column() for a simpler alternative.
  * See also gtk_tooltip_set_tip_area().
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 void 
 gtk_icon_view_set_tooltip_item (GtkIconView     *icon_view,
@@ -4196,6 +4218,8 @@ gtk_icon_view_set_tooltip_item (GtkIconView     *icon_view,
  * the item pointed to by @path. See also gtk_tooltip_set_tip_area().
  *
  * See also gtk_icon_view_set_tooltip_column() for a simpler alternative.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 void
 gtk_icon_view_set_tooltip_cell (GtkIconView     *icon_view,
@@ -4238,6 +4262,8 @@ gtk_icon_view_set_tooltip_cell (GtkIconView     *icon_view,
  * that row and the corresponding model.
  *
  * Returns: whether or not the given tooltip context points to an item
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 gboolean
 gtk_icon_view_get_tooltip_context (GtkIconView   *icon_view,
@@ -4333,6 +4359,8 @@ gtk_icon_view_set_tooltip_query_cb (GtkWidget  *widget,
  *
  * Note that the signal handler sets the text with gtk_tooltip_set_markup(),
  * so &, <, etc have to be escaped in the text.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 void
 gtk_icon_view_set_tooltip_column (GtkIconView *icon_view,
@@ -4373,6 +4401,8 @@ gtk_icon_view_set_tooltip_column (GtkIconView *icon_view,
  *
  * Returns: the index of the tooltip column that is currently being
  * used, or -1 if this is disabled.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 int
 gtk_icon_view_get_tooltip_column (GtkIconView *icon_view)
@@ -4394,6 +4424,8 @@ gtk_icon_view_get_tooltip_column (GtkIconView *icon_view)
  * Both paths should be freed with gtk_tree_path_free() after use.
  *
  * Returns: %TRUE, if valid paths were placed in @start_path and @end_path
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 gboolean
 gtk_icon_view_get_visible_range (GtkIconView  *icon_view,
@@ -4449,6 +4481,8 @@ gtk_icon_view_get_visible_range (GtkIconView  *icon_view,
  * 
  * Calls a function for each selected icon. Note that the model or
  * selection cannot be modified from within this function.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_selected_foreach (GtkIconView           *icon_view,
@@ -4475,6 +4509,8 @@ gtk_icon_view_selected_foreach (GtkIconView           *icon_view,
  * @mode: The selection mode
  * 
  * Sets the selection mode of the @icon_view.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_set_selection_mode (GtkIconView      *icon_view,
@@ -4501,6 +4537,8 @@ gtk_icon_view_set_selection_mode (GtkIconView      *icon_view,
  * Gets the selection mode of the @icon_view.
  *
  * Returns: the current selection mode
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 GtkSelectionMode
 gtk_icon_view_get_selection_mode (GtkIconView *icon_view)
@@ -4519,6 +4557,8 @@ gtk_icon_view_get_selection_mode (GtkIconView *icon_view)
  * If the @icon_view already has a model set, it will remove
  * it before setting the new model.  If @model is %NULL, then
  * it will unset the old model.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_set_model (GtkIconView *icon_view,
@@ -4631,6 +4671,8 @@ gtk_icon_view_set_model (GtkIconView *icon_view,
  * model is unset.
  *
  * Returns: (nullable) (transfer none): The currently used `GtkTreeModel`
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 GtkTreeModel *
 gtk_icon_view_get_model (GtkIconView *icon_view)
@@ -4743,6 +4785,8 @@ update_pixbuf_cell (GtkIconView *icon_view)
  * 
  * Sets the column with text for @icon_view to be @column. The text
  * column must be of type `G_TYPE_STRING`.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_set_text_column (GtkIconView *icon_view,
@@ -4780,6 +4824,8 @@ gtk_icon_view_set_text_column (GtkIconView *icon_view,
  * Returns the column with text for @icon_view.
  *
  * Returns: the text column, or -1 if it’s unset.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 int
 gtk_icon_view_get_text_column (GtkIconView  *icon_view)
@@ -4798,6 +4844,8 @@ gtk_icon_view_get_text_column (GtkIconView  *icon_view)
  * @column. The markup column must be of type `G_TYPE_STRING`.
  * If the markup column is set to something, it overrides
  * the text column set by gtk_icon_view_set_text_column().
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_set_markup_column (GtkIconView *icon_view,
@@ -4835,6 +4883,8 @@ gtk_icon_view_set_markup_column (GtkIconView *icon_view,
  * Returns the column with markup text for @icon_view.
  *
  * Returns: the markup column, or -1 if it’s unset.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 int
 gtk_icon_view_get_markup_column (GtkIconView  *icon_view)
@@ -4851,6 +4901,8 @@ gtk_icon_view_get_markup_column (GtkIconView  *icon_view)
  * 
  * Sets the column with pixbufs for @icon_view to be @column. The pixbuf
  * column must be of type `GDK_TYPE_PIXBUF`
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_set_pixbuf_column (GtkIconView *icon_view,
@@ -4889,6 +4941,8 @@ gtk_icon_view_set_pixbuf_column (GtkIconView *icon_view,
  * Returns the column with pixbufs for @icon_view.
  *
  * Returns: the pixbuf column, or -1 if it’s unset.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 int
 gtk_icon_view_get_pixbuf_column (GtkIconView  *icon_view)
@@ -4904,6 +4958,8 @@ gtk_icon_view_get_pixbuf_column (GtkIconView  *icon_view)
  * @path: The `GtkTreePath` to be selected.
  * 
  * Selects the row at @path.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_select_path (GtkIconView *icon_view,
@@ -4929,6 +4985,8 @@ gtk_icon_view_select_path (GtkIconView *icon_view,
  * @path: The `GtkTreePath` to be unselected.
  * 
  * Unselects the row at @path.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_unselect_path (GtkIconView *icon_view,
@@ -4971,6 +5029,8 @@ gtk_icon_view_unselect_path (GtkIconView *icon_view,
  * ]|
  *
  * Returns: (element-type GtkTreePath) (transfer full): A `GList` containing a `GtkTreePath` for each 
selected row.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 GList *
 gtk_icon_view_get_selected_items (GtkIconView *icon_view)
@@ -5001,6 +5061,8 @@ gtk_icon_view_get_selected_items (GtkIconView *icon_view)
  * 
  * Selects all the icons. @icon_view must has its selection mode set
  * to %GTK_SELECTION_MULTIPLE.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_select_all (GtkIconView *icon_view)
@@ -5034,6 +5096,8 @@ gtk_icon_view_select_all (GtkIconView *icon_view)
  * @icon_view: A `GtkIconView`.
  * 
  * Unselects all the icons.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_unselect_all (GtkIconView *icon_view)
@@ -5060,6 +5124,8 @@ gtk_icon_view_unselect_all (GtkIconView *icon_view)
  * selected. If @path does not point to a valid location, %FALSE is returned.
  * 
  * Returns: %TRUE if @path is selected.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 gboolean
 gtk_icon_view_path_is_selected (GtkIconView *icon_view,
@@ -5089,6 +5155,8 @@ gtk_icon_view_path_is_selected (GtkIconView *icon_view,
  * displayed. Row numbers start at 0.
  *
  * Returns: The row in which the item is displayed
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 int
 gtk_icon_view_get_item_row (GtkIconView *icon_view,
@@ -5118,6 +5186,8 @@ gtk_icon_view_get_item_row (GtkIconView *icon_view,
  * displayed. Column numbers start at 0.
  *
  * Returns: The column in which the item is displayed
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 int
 gtk_icon_view_get_item_column (GtkIconView *icon_view,
@@ -5144,6 +5214,8 @@ gtk_icon_view_get_item_column (GtkIconView *icon_view,
  * @path: The `GtkTreePath` to be activated
  * 
  * Activates the item determined by @path.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_item_activated (GtkIconView      *icon_view,
@@ -5162,6 +5234,8 @@ gtk_icon_view_item_activated (GtkIconView      *icon_view,
  * 
  * Sets the ::item-orientation property which determines whether the labels 
  * are drawn beside the icons instead of below.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void 
 gtk_icon_view_set_item_orientation (GtkIconView    *icon_view,
@@ -5199,6 +5273,8 @@ gtk_icon_view_set_item_orientation (GtkIconView    *icon_view,
  * whether the labels are drawn beside the icons instead of below. 
  * 
  * Returns: the relative position of texts and icons 
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 GtkOrientation
 gtk_icon_view_get_item_orientation (GtkIconView *icon_view)
@@ -5218,6 +5294,8 @@ gtk_icon_view_get_item_orientation (GtkIconView *icon_view)
  * many columns the icons are arranged. If @columns is
  * -1, the number of columns will be chosen automatically 
  * to fill the available area. 
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 void 
 gtk_icon_view_set_columns (GtkIconView *icon_view,
@@ -5245,6 +5323,8 @@ gtk_icon_view_set_columns (GtkIconView *icon_view,
  * Returns the value of the ::columns property.
  * 
  * Returns: the number of columns, or -1
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 int
 gtk_icon_view_get_columns (GtkIconView *icon_view)
@@ -5262,6 +5342,8 @@ gtk_icon_view_get_columns (GtkIconView *icon_view)
  * Sets the ::item-width property which specifies the width 
  * to use for each item. If it is set to -1, the icon view will 
  * automatically determine a suitable item size.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 void 
 gtk_icon_view_set_item_width (GtkIconView *icon_view,
@@ -5291,6 +5373,8 @@ gtk_icon_view_set_item_width (GtkIconView *icon_view,
  * Returns the value of the ::item-width property.
  * 
  * Returns: the width of a single item, or -1
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 int
 gtk_icon_view_get_item_width (GtkIconView *icon_view)
@@ -5309,6 +5393,8 @@ gtk_icon_view_get_item_width (GtkIconView *icon_view)
  * Sets the ::spacing property which specifies the space 
  * which is inserted between the cells (i.e. the icon and 
  * the text) of an item.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 void 
 gtk_icon_view_set_spacing (GtkIconView *icon_view,
@@ -5336,6 +5422,8 @@ gtk_icon_view_set_spacing (GtkIconView *icon_view,
  * Returns the value of the ::spacing property.
  * 
  * Returns: the space between cells 
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 int
 gtk_icon_view_get_spacing (GtkIconView *icon_view)
@@ -5352,6 +5440,8 @@ gtk_icon_view_get_spacing (GtkIconView *icon_view)
  * 
  * Sets the ::row-spacing property which specifies the space 
  * which is inserted between the rows of the icon view.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 void 
 gtk_icon_view_set_row_spacing (GtkIconView *icon_view,
@@ -5379,6 +5469,8 @@ gtk_icon_view_set_row_spacing (GtkIconView *icon_view,
  * Returns the value of the ::row-spacing property.
  * 
  * Returns: the space between rows
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 int
 gtk_icon_view_get_row_spacing (GtkIconView *icon_view)
@@ -5395,6 +5487,8 @@ gtk_icon_view_get_row_spacing (GtkIconView *icon_view)
  * 
  * Sets the ::column-spacing property which specifies the space 
  * which is inserted between the columns of the icon view.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 void 
 gtk_icon_view_set_column_spacing (GtkIconView *icon_view,
@@ -5422,6 +5516,8 @@ gtk_icon_view_set_column_spacing (GtkIconView *icon_view,
  * Returns the value of the ::column-spacing property.
  * 
  * Returns: the space between columns
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 int
 gtk_icon_view_get_column_spacing (GtkIconView *icon_view)
@@ -5439,6 +5535,8 @@ gtk_icon_view_get_column_spacing (GtkIconView *icon_view)
  * Sets the ::margin property which specifies the space 
  * which is inserted at the top, bottom, left and right 
  * of the icon view.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 void 
 gtk_icon_view_set_margin (GtkIconView *icon_view,
@@ -5466,6 +5564,8 @@ gtk_icon_view_set_margin (GtkIconView *icon_view,
  * Returns the value of the ::margin property.
  * 
  * Returns: the space at the borders 
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 int
 gtk_icon_view_get_margin (GtkIconView *icon_view)
@@ -5482,6 +5582,8 @@ gtk_icon_view_get_margin (GtkIconView *icon_view)
  *
  * Sets the `GtkIconView`:item-padding property which specifies the padding
  * around each of the icon view’s items.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 void
 gtk_icon_view_set_item_padding (GtkIconView *icon_view,
@@ -5509,6 +5611,8 @@ gtk_icon_view_set_item_padding (GtkIconView *icon_view,
  * Returns the value of the ::item-padding property.
  * 
  * Returns: the padding around items
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 int
 gtk_icon_view_get_item_padding (GtkIconView *icon_view)
@@ -6234,6 +6338,8 @@ gtk_icon_view_drag_data_received (GObject *source,
  *
  * Turns @icon_view into a drag source for automatic DND. Calling this
  * method sets `GtkIconView`:reorderable to %FALSE.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_enable_model_drag_source (GtkIconView              *icon_view,
@@ -6260,6 +6366,8 @@ gtk_icon_view_enable_model_drag_source (GtkIconView              *icon_view,
  *
  * Turns @icon_view into a drop destination for automatic DND. Calling this
  * method sets `GtkIconView`:reorderable to %FALSE.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_enable_model_drag_dest (GtkIconView       *icon_view,
@@ -6297,6 +6405,8 @@ gtk_icon_view_enable_model_drag_dest (GtkIconView       *icon_view,
  * 
  * Undoes the effect of gtk_icon_view_enable_model_drag_source(). Calling this
  * method sets `GtkIconView`:reorderable to %FALSE.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_unset_model_drag_source (GtkIconView *icon_view)
@@ -6318,6 +6428,8 @@ gtk_icon_view_unset_model_drag_source (GtkIconView *icon_view)
  * 
  * Undoes the effect of gtk_icon_view_enable_model_drag_dest(). Calling this
  * method sets `GtkIconView`:reorderable to %FALSE.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_unset_model_drag_dest (GtkIconView *icon_view)
@@ -6345,6 +6457,8 @@ gtk_icon_view_unset_model_drag_dest (GtkIconView *icon_view)
  * @pos: Specifies where to drop, relative to the item
  *
  * Sets the item that is highlighted for feedback.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 void
 gtk_icon_view_set_drag_dest_item (GtkIconView              *icon_view,
@@ -6403,6 +6517,8 @@ gtk_icon_view_set_drag_dest_item (GtkIconView              *icon_view,
  * @pos: (out) (optional): Return location for the drop position
  *
  * Gets information about the item that is highlighted for feedback.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  */
 void
 gtk_icon_view_get_drag_dest_item (GtkIconView              *icon_view,
@@ -6434,6 +6550,8 @@ gtk_icon_view_get_drag_dest_item (GtkIconView              *icon_view,
  * Determines the destination item for a given position.
  * 
  * Returns: whether there is an item at the given position.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 gboolean
 gtk_icon_view_get_dest_item_at_pos (GtkIconView              *icon_view,
@@ -6493,6 +6611,8 @@ gtk_icon_view_get_dest_item_at_pos (GtkIconView              *icon_view,
  * This image is used for a drag icon.
  *
  * Returns: (transfer full) (nullable): a newly-allocated `GdkPaintable` of the drag icon.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 GdkPaintable *
 gtk_icon_view_create_drag_icon (GtkIconView *icon_view,
@@ -6542,6 +6662,8 @@ gtk_icon_view_create_drag_icon (GtkIconView *icon_view,
  * See gtk_icon_view_set_reorderable().
  *
  * Returns: %TRUE if the list can be reordered.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 gboolean
 gtk_icon_view_get_reorderable (GtkIconView *icon_view)
@@ -6568,6 +6690,8 @@ gtk_icon_view_get_reorderable (GtkIconView *icon_view)
  * 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.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_set_reorderable (GtkIconView *icon_view,
@@ -6610,6 +6734,8 @@ gtk_icon_view_set_reorderable (GtkIconView *icon_view,
  *
  * Causes the `GtkIconView`::item-activated signal to be emitted on
  * a single click instead of a double click.
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 void
 gtk_icon_view_set_activate_on_single_click (GtkIconView *icon_view,
@@ -6633,6 +6759,8 @@ gtk_icon_view_set_activate_on_single_click (GtkIconView *icon_view,
  * Gets the setting set by gtk_icon_view_set_activate_on_single_click().
  *
  * Returns: %TRUE if item-activated will be emitted on a single click
+ *
+ * Deprecated: 4.10: Use GtkGridView instead
  **/
 gboolean
 gtk_icon_view_get_activate_on_single_click (GtkIconView *icon_view)
diff --git a/gtk/gtkiconview.h b/gtk/deprecated/gtkiconview.h
similarity index 89%
rename from gtk/gtkiconview.h
rename to gtk/deprecated/gtkiconview.h
index b16153d809..dc98100bd0 100644
--- a/gtk/gtkiconview.h
+++ b/gtk/deprecated/gtkiconview.h
@@ -23,10 +23,10 @@
 #endif
 
 #include <gtk/gtkwidget.h>
-#include <gtk/gtktreemodel.h>
-#include <gtk/gtkcellrenderer.h>
-#include <gtk/gtkcellarea.h>
 #include <gtk/gtktooltip.h>
+#include <gtk/deprecated/gtktreemodel.h>
+#include <gtk/deprecated/gtkcellrenderer.h>
+#include <gtk/deprecated/gtkcellarea.h>
 
 G_BEGIN_DECLS
 
@@ -74,138 +74,138 @@ typedef enum
 
 GDK_AVAILABLE_IN_ALL
 GType          gtk_icon_view_get_type          (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget *    gtk_icon_view_new               (void);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget *    gtk_icon_view_new_with_area     (GtkCellArea    *area);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget *    gtk_icon_view_new_with_model    (GtkTreeModel   *model);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void           gtk_icon_view_set_model         (GtkIconView    *icon_view,
                                                 GtkTreeModel   *model);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeModel * gtk_icon_view_get_model         (GtkIconView    *icon_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void           gtk_icon_view_set_text_column   (GtkIconView    *icon_view,
                                                 int             column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int            gtk_icon_view_get_text_column   (GtkIconView    *icon_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void           gtk_icon_view_set_markup_column (GtkIconView    *icon_view,
                                                 int             column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int            gtk_icon_view_get_markup_column (GtkIconView    *icon_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void           gtk_icon_view_set_pixbuf_column (GtkIconView    *icon_view,
                                                 int             column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int            gtk_icon_view_get_pixbuf_column (GtkIconView    *icon_view);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void           gtk_icon_view_set_item_orientation (GtkIconView    *icon_view,
                                                    GtkOrientation  orientation);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkOrientation gtk_icon_view_get_item_orientation (GtkIconView    *icon_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void           gtk_icon_view_set_columns       (GtkIconView    *icon_view,
                                                 int             columns);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int            gtk_icon_view_get_columns       (GtkIconView    *icon_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void           gtk_icon_view_set_item_width    (GtkIconView    *icon_view,
                                                 int             item_width);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int            gtk_icon_view_get_item_width    (GtkIconView    *icon_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void           gtk_icon_view_set_spacing       (GtkIconView    *icon_view,
                                                 int             spacing);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int            gtk_icon_view_get_spacing       (GtkIconView    *icon_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void           gtk_icon_view_set_row_spacing   (GtkIconView    *icon_view,
                                                 int             row_spacing);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int            gtk_icon_view_get_row_spacing   (GtkIconView    *icon_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void           gtk_icon_view_set_column_spacing (GtkIconView    *icon_view,
                                                 int             column_spacing);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int            gtk_icon_view_get_column_spacing (GtkIconView    *icon_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void           gtk_icon_view_set_margin        (GtkIconView    *icon_view,
                                                 int             margin);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int            gtk_icon_view_get_margin        (GtkIconView    *icon_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void           gtk_icon_view_set_item_padding  (GtkIconView    *icon_view,
                                                 int             item_padding);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int            gtk_icon_view_get_item_padding  (GtkIconView    *icon_view);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreePath *  gtk_icon_view_get_path_at_pos   (GtkIconView     *icon_view,
                                                 int              x,
                                                 int              y);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean       gtk_icon_view_get_item_at_pos   (GtkIconView     *icon_view,
                                                 int               x,
                                                 int               y,
                                                 GtkTreePath     **path,
                                                 GtkCellRenderer **cell);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean       gtk_icon_view_get_visible_range (GtkIconView      *icon_view,
                                                 GtkTreePath     **start_path,
                                                 GtkTreePath     **end_path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void           gtk_icon_view_set_activate_on_single_click (GtkIconView  *icon_view,
                                                            gboolean      single);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean       gtk_icon_view_get_activate_on_single_click (GtkIconView  *icon_view);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void           gtk_icon_view_selected_foreach   (GtkIconView            *icon_view,
                                                  GtkIconViewForeachFunc  func,
                                                  gpointer                data);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void           gtk_icon_view_set_selection_mode (GtkIconView            *icon_view,
                                                  GtkSelectionMode        mode);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkSelectionMode gtk_icon_view_get_selection_mode (GtkIconView            *icon_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_icon_view_select_path        (GtkIconView            *icon_view,
                                                    GtkTreePath            *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_icon_view_unselect_path      (GtkIconView            *icon_view,
                                                    GtkTreePath            *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean         gtk_icon_view_path_is_selected   (GtkIconView            *icon_view,
                                                    GtkTreePath            *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int              gtk_icon_view_get_item_row       (GtkIconView            *icon_view,
                                                    GtkTreePath            *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int              gtk_icon_view_get_item_column    (GtkIconView            *icon_view,
                                                    GtkTreePath            *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GList           *gtk_icon_view_get_selected_items (GtkIconView            *icon_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_icon_view_select_all         (GtkIconView            *icon_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_icon_view_unselect_all       (GtkIconView            *icon_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_icon_view_item_activated     (GtkIconView            *icon_view,
                                                    GtkTreePath            *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_icon_view_set_cursor         (GtkIconView            *icon_view,
                                                    GtkTreePath            *path,
                                                    GtkCellRenderer        *cell,
                                                    gboolean                start_editing);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean         gtk_icon_view_get_cursor         (GtkIconView            *icon_view,
                                                    GtkTreePath           **path,
                                                    GtkCellRenderer       **cell);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_icon_view_scroll_to_path     (GtkIconView            *icon_view,
                                                    GtkTreePath            *path,
                                                    gboolean                use_align,
@@ -213,62 +213,62 @@ void             gtk_icon_view_scroll_to_path     (GtkIconView            *icon_
                                                    float                   col_align);
 
 /* Drag-and-Drop support */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_icon_view_enable_model_drag_source (GtkIconView              *icon_view,
                                                                GdkModifierType           start_button_mask,
                                                                GdkContentFormats        *formats,
                                                                GdkDragAction             actions);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_icon_view_enable_model_drag_dest   (GtkIconView              *icon_view,
                                                                GdkContentFormats        *formats,
                                                                GdkDragAction             actions);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_icon_view_unset_model_drag_source  (GtkIconView              *icon_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_icon_view_unset_model_drag_dest    (GtkIconView              *icon_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_icon_view_set_reorderable          (GtkIconView              *icon_view,
                                                                gboolean                  reorderable);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean               gtk_icon_view_get_reorderable          (GtkIconView              *icon_view);
 
 
 /* These are useful to implement your own custom stuff. */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_icon_view_set_drag_dest_item       (GtkIconView              *icon_view,
                                                                GtkTreePath              *path,
                                                                GtkIconViewDropPosition   pos);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_icon_view_get_drag_dest_item       (GtkIconView              *icon_view,
                                                                GtkTreePath             **path,
                                                                GtkIconViewDropPosition  *pos);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean               gtk_icon_view_get_dest_item_at_pos     (GtkIconView              *icon_view,
                                                                int                       drag_x,
                                                                int                       drag_y,
                                                                GtkTreePath             **path,
                                                                GtkIconViewDropPosition  *pos);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GdkPaintable          *gtk_icon_view_create_drag_icon         (GtkIconView              *icon_view,
                                                                GtkTreePath              *path);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean gtk_icon_view_get_cell_rect                          (GtkIconView     *icon_view,
                                                                GtkTreePath     *path,
                                                                GtkCellRenderer *cell,
                                                                GdkRectangle    *rect);
 
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void    gtk_icon_view_set_tooltip_item                        (GtkIconView     *icon_view,
                                                                GtkTooltip      *tooltip,
                                                                GtkTreePath     *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void    gtk_icon_view_set_tooltip_cell                        (GtkIconView     *icon_view,
                                                                GtkTooltip      *tooltip,
                                                                GtkTreePath     *path,
                                                                GtkCellRenderer *cell);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean gtk_icon_view_get_tooltip_context                    (GtkIconView       *icon_view,
                                                                int                x,
                                                                int                y,
@@ -276,10 +276,10 @@ gboolean gtk_icon_view_get_tooltip_context                    (GtkIconView
                                                                GtkTreeModel     **model,
                                                                GtkTreePath      **path,
                                                                GtkTreeIter       *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void     gtk_icon_view_set_tooltip_column                     (GtkIconView       *icon_view,
                                                                int                column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int      gtk_icon_view_get_tooltip_column                     (GtkIconView       *icon_view);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkIconView, g_object_unref)
diff --git a/gtk/gtkiconviewprivate.h b/gtk/deprecated/gtkiconviewprivate.h
similarity index 99%
rename from gtk/gtkiconviewprivate.h
rename to gtk/deprecated/gtkiconviewprivate.h
index b5fa1358d1..657366b2b8 100644
--- a/gtk/gtkiconviewprivate.h
+++ b/gtk/deprecated/gtkiconviewprivate.h
@@ -15,7 +15,7 @@
  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
-#include "gtk/gtkiconview.h"
+#include "gtk/deprecated/gtkiconview.h"
 #include "gtk/gtkcssnodeprivate.h"
 #include "gtk/gtkeventcontrollermotion.h"
 #include "gtk/gtkdragsource.h"
diff --git a/gtk/gtkliststore.c b/gtk/deprecated/gtkliststore.c
similarity index 98%
rename from gtk/gtkliststore.c
rename to gtk/deprecated/gtkliststore.c
index 4e442bed31..f87658001e 100644
--- a/gtk/gtkliststore.c
+++ b/gtk/deprecated/gtkliststore.c
@@ -27,6 +27,7 @@
 #include "gtkbuildable.h"
 #include "gtkbuilderprivate.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 
 /**
  * GtkListStore:
@@ -410,6 +411,8 @@ iter_is_valid (GtkTreeIter  *iter,
  * int, string and `GdkTexture`, respectively.
  *
  * Returns: a new `GtkListStore`
+ *
+ * Deprecated: 4.10: Use list models
  */
 GtkListStore *
 gtk_list_store_new (int n_columns,
@@ -455,6 +458,8 @@ gtk_list_store_new (int n_columns,
  * Non-vararg creation function.  Used primarily by language bindings.
  *
  * Returns: (transfer full): a new `GtkListStore`
+ *
+ * Deprecated: 4.10: Use list models
  **/
 GtkListStore *
 gtk_list_store_newv (int    n_columns,
@@ -493,6 +498,8 @@ gtk_list_store_newv (int    n_columns,
  * 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.
+ *
+ * Deprecated: 4.10: Use list models
  **/
 void
 gtk_list_store_set_column_types (GtkListStore *list_store,
@@ -920,6 +927,7 @@ gtk_list_store_real_set_value (GtkListStore *list_store,
  * The type of @value must be convertible to the type of the
  * column.
  *
+ * Deprecated: 4.10: Use list models
  **/
 void
 gtk_list_store_set_value (GtkListStore *list_store,
@@ -1073,6 +1081,8 @@ gtk_list_store_set_valist_internal (GtkListStore *list_store,
  * varargs. This function is mainly intended for 
  * language-bindings and in case the number of columns to
  * change is not known until run-time.
+ *
+ * Deprecated: 4.10: Use list models
  */
 void
 gtk_list_store_set_valuesv (GtkListStore *list_store,
@@ -1117,6 +1127,7 @@ gtk_list_store_set_valuesv (GtkListStore *list_store,
  * See gtk_list_store_set(); this version takes a va_list for use by language
  * bindings.
  *
+ * Deprecated: 4.10: Use list models
  **/
 void
 gtk_list_store_set_valist (GtkListStore *list_store,
@@ -1165,6 +1176,8 @@ gtk_list_store_set_valist (GtkListStore *list_store,
  *
  * The value will be referenced by the store if it is a %G_TYPE_OBJECT, and it
  * will be copied if it is a %G_TYPE_STRING or %G_TYPE_BOXED.
+ *
+ * Deprecated: 4.10: Use list models
  */
 void
 gtk_list_store_set (GtkListStore *list_store,
@@ -1188,6 +1201,8 @@ gtk_list_store_set (GtkListStore *list_store,
  * to the last row in @list_store.
  *
  * Returns: %TRUE if @iter is valid, %FALSE if not.
+ *
+ * Deprecated: 4.10: Use list models
  **/
 gboolean
 gtk_list_store_remove (GtkListStore *list_store,
@@ -1240,6 +1255,7 @@ gtk_list_store_remove (GtkListStore *list_store,
  * 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
  **/
 void
 gtk_list_store_insert (GtkListStore *list_store,
@@ -1292,6 +1308,7 @@ gtk_list_store_insert (GtkListStore *list_store,
  * 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
  **/
 void
 gtk_list_store_insert_before (GtkListStore *list_store,
@@ -1328,6 +1345,7 @@ gtk_list_store_insert_before (GtkListStore *list_store,
  * 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
  **/
 void
 gtk_list_store_insert_after (GtkListStore *list_store,
@@ -1362,6 +1380,7 @@ gtk_list_store_insert_after (GtkListStore *list_store,
  * 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
  **/
 void
 gtk_list_store_prepend (GtkListStore *list_store,
@@ -1382,6 +1401,7 @@ gtk_list_store_prepend (GtkListStore *list_store,
  * 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
  **/
 void
 gtk_list_store_append (GtkListStore *list_store,
@@ -1411,6 +1431,7 @@ gtk_list_store_increment_stamp (GtkListStore *list_store)
  *
  * Removes all rows from the list store.  
  *
+ * Deprecated: 4.10: Use list models
  **/
 void
 gtk_list_store_clear (GtkListStore *list_store)
@@ -1443,6 +1464,8 @@ gtk_list_store_clear (GtkListStore *list_store)
  * purposes.
  *
  * Returns: %TRUE if the iter is valid, %FALSE if the iter is invalid.
+ *
+ * Deprecated: 4.10: Use list models
  **/
 gboolean
 gtk_list_store_iter_is_valid (GtkListStore *list_store,
@@ -1687,6 +1710,8 @@ gtk_list_store_reorder_func (GSequenceIter *a,
  *
  * Reorders @store to follow the order indicated by @new_order. Note that
  * this function only works with unsorted stores.
+ *
+ * Deprecated: 4.10: Use list models
  **/
 void
 gtk_list_store_reorder (GtkListStore *store,
@@ -1779,6 +1804,8 @@ generate_order (GSequence *seq,
  *
  * Swaps @a and @b in @store. Note that this function only works with
  * unsorted stores.
+ *
+ * Deprecated: 4.10: Use list models
  **/
 void
 gtk_list_store_swap (GtkListStore *store,
@@ -1846,6 +1873,8 @@ gtk_list_store_move_to (GtkListStore *store,
  * Moves @iter in @store to the position before @position. Note that this
  * function only works with unsorted stores. If @position is %NULL, @iter
  * will be moved to the end of the list.
+ *
+ * Deprecated: 4.10: Use list models
  **/
 void
 gtk_list_store_move_before (GtkListStore *store,
@@ -1877,6 +1906,8 @@ gtk_list_store_move_before (GtkListStore *store,
  * Moves @iter in @store to the position after @position. Note that this
  * function only works with unsorted stores. If @position is %NULL, @iter
  * will be moved to the start of the list.
+ *
+ * Deprecated: 4.10: Use list models
  **/
 void
 gtk_list_store_move_after (GtkListStore *store,
@@ -2185,6 +2216,8 @@ gtk_list_store_has_default_sort_func (GtkTreeSortable *sortable)
  * Since emitting the `GtkTreeModel::rows-reordered` signal repeatedly can
  * affect the performance of the program, gtk_list_store_insert_with_values()
  * should generally be preferred when inserting rows in a sorted list store.
+ *
+ * Deprecated: 4.10: Use list models
  */
 void
 gtk_list_store_insert_with_values (GtkListStore *list_store,
@@ -2261,6 +2294,8 @@ gtk_list_store_insert_with_values (GtkListStore *list_store,
  * varargs.
  *
  * This function is mainly intended for language-bindings.
+ *
+ * Deprecated: 4.10: Use list models
  */
 void
 gtk_list_store_insert_with_valuesv (GtkListStore *list_store,
diff --git a/gtk/gtkliststore.h b/gtk/deprecated/gtkliststore.h
similarity index 90%
rename from gtk/gtkliststore.h
rename to gtk/deprecated/gtkliststore.h
index a83871e87b..75914bfe8a 100644
--- a/gtk/gtkliststore.h
+++ b/gtk/deprecated/gtkliststore.h
@@ -23,8 +23,8 @@
 #endif
 
 #include <gdk/gdk.h>
-#include <gtk/gtktreemodel.h>
-#include <gtk/gtktreesortable.h>
+#include <gtk/deprecated/gtktreemodel.h>
+#include <gtk/deprecated/gtktreesortable.h>
 
 
 G_BEGIN_DECLS
@@ -60,88 +60,88 @@ struct _GtkListStoreClass
 
 GDK_AVAILABLE_IN_ALL
 GType         gtk_list_store_get_type         (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkListStore *gtk_list_store_new              (int           n_columns,
                                               ...);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkListStore *gtk_list_store_newv             (int           n_columns,
                                               GType        *types);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 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_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_list_store_set_value        (GtkListStore *list_store,
                                               GtkTreeIter  *iter,
                                               int           column,
                                               GValue       *value);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_list_store_set              (GtkListStore *list_store,
                                               GtkTreeIter  *iter,
                                               ...);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_list_store_set_valuesv      (GtkListStore *list_store,
                                               GtkTreeIter  *iter,
                                               int          *columns,
                                               GValue       *values,
                                               int           n_values);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_list_store_set_valist       (GtkListStore *list_store,
                                               GtkTreeIter  *iter,
                                               va_list       var_args);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean      gtk_list_store_remove           (GtkListStore *list_store,
                                               GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_list_store_insert           (GtkListStore *list_store,
                                               GtkTreeIter  *iter,
                                               int           position);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_list_store_insert_before    (GtkListStore *list_store,
                                               GtkTreeIter  *iter,
                                               GtkTreeIter  *sibling);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_list_store_insert_after     (GtkListStore *list_store,
                                               GtkTreeIter  *iter,
                                               GtkTreeIter  *sibling);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_list_store_insert_with_values  (GtkListStore *list_store,
                                                  GtkTreeIter  *iter,
                                                  int           position,
                                                  ...);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_list_store_insert_with_valuesv (GtkListStore *list_store,
                                                  GtkTreeIter  *iter,
                                                  int           position,
                                                  int          *columns,
                                                  GValue       *values,
                                                  int           n_values);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_list_store_prepend          (GtkListStore *list_store,
                                               GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_list_store_append           (GtkListStore *list_store,
                                               GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_list_store_clear            (GtkListStore *list_store);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean      gtk_list_store_iter_is_valid    (GtkListStore *list_store,
                                                GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_list_store_reorder          (GtkListStore *store,
                                                int          *new_order);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_list_store_swap             (GtkListStore *store,
                                                GtkTreeIter  *a,
                                                GtkTreeIter  *b);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_list_store_move_after       (GtkListStore *store,
                                                GtkTreeIter  *iter,
                                                GtkTreeIter  *position);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_list_store_move_before      (GtkListStore *store,
                                                GtkTreeIter  *iter,
                                                GtkTreeIter  *position);
diff --git a/gtk/gtktreedatalist.c b/gtk/deprecated/gtktreedatalist.c
similarity index 99%
rename from gtk/gtktreedatalist.c
rename to gtk/deprecated/gtktreedatalist.c
index 4e35edbe56..5a0e212e29 100644
--- a/gtk/gtktreedatalist.c
+++ b/gtk/deprecated/gtktreedatalist.c
@@ -22,6 +22,8 @@
 #include "gtktreedatalistprivate.h"
 #include <string.h>
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /* node allocation
  */
 GtkTreeDataList *
diff --git a/gtk/gtktreedatalistprivate.h b/gtk/deprecated/gtktreedatalistprivate.h
similarity index 97%
rename from gtk/gtktreedatalistprivate.h
rename to gtk/deprecated/gtktreedatalistprivate.h
index 77aa710961..a0373b8bcd 100644
--- a/gtk/gtktreedatalistprivate.h
+++ b/gtk/deprecated/gtktreedatalistprivate.h
@@ -18,8 +18,8 @@
 #ifndef __GTK_TREE_DATA_LIST_PRIVATE_H__
 #define __GTK_TREE_DATA_LIST_PRIVATE_H__
 
-#include <gtk/gtktreemodel.h>
-#include <gtk/gtktreesortable.h>
+#include <gtk/deprecated/gtktreemodel.h>
+#include <gtk/deprecated/gtktreesortable.h>
 
 typedef struct _GtkTreeDataList GtkTreeDataList;
 struct _GtkTreeDataList
diff --git a/gtk/gtktreednd.c b/gtk/deprecated/gtktreednd.c
similarity index 96%
rename from gtk/gtktreednd.c
rename to gtk/deprecated/gtktreednd.c
index d4816cd1b2..d7dc232fab 100644
--- a/gtk/gtktreednd.c
+++ b/gtk/deprecated/gtktreednd.c
@@ -21,6 +21,8 @@
 
 #include "gtkprivate.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /**
  * SECTION:gtktreednd
  * @Short_description: Interfaces for drag-and-drop support in GtkTreeView
@@ -120,6 +122,8 @@ gtk_tree_drag_dest_get_type (void)
  * this interface, the row is assumed draggable.
  *
  * Returns: %TRUE if the row can be dragged
+ *
+ * Deprecated: 4.10: Use list models instead
  **/
 gboolean
 gtk_tree_drag_source_row_draggable (GtkTreeDragSource *drag_source,
@@ -151,6 +155,8 @@ gtk_tree_drag_source_row_draggable (GtkTreeDragSource *drag_source,
  * longer found in the model!
  * 
  * Returns: %TRUE if the row was successfully deleted
+ *
+ * Deprecated: 4.10: Use list models instead
  **/
 gboolean
 gtk_tree_drag_source_drag_data_delete (GtkTreeDragSource *drag_source,
@@ -175,6 +181,8 @@ gtk_tree_drag_source_drag_data_delete (GtkTreeDragSource *drag_source,
  * 
  * Returns: (nullable) (transfer full): a `GdkContentProvider` for the
  *    given @path
+ *
+ * Deprecated: 4.10: Use list models instead
  **/
 GdkContentProvider *
 gtk_tree_drag_source_drag_data_get (GtkTreeDragSource *drag_source,
@@ -202,6 +210,8 @@ gtk_tree_drag_source_drag_data_get (GtkTreeDragSource *drag_source,
  * a @dest no longer found in the model!
  * 
  * Returns: whether a new row was created before position @dest
+ *
+ * Deprecated: 4.10: Use list models instead
  **/
 gboolean
 gtk_tree_drag_dest_drag_data_received (GtkTreeDragDest  *drag_dest,
@@ -231,6 +241,8 @@ gtk_tree_drag_dest_drag_data_received (GtkTreeDragDest  *drag_dest,
  * parent of @dest_path doesn’t exist, though.
  * 
  * Returns: %TRUE if a drop is possible before @dest_path
+ *
+ * Deprecated: 4.10: Use list models instead
  **/
 gboolean
 gtk_tree_drag_dest_row_drop_possible (GtkTreeDragDest   *drag_dest,
@@ -273,6 +285,8 @@ G_DEFINE_BOXED_TYPE (GtkTreeRowData, gtk_tree_row_data,
  * Creates a content provider for dragging @path from @tree_model.
  * 
  * Returns: (transfer full): a new `GdkContentProvider`
+ *
+ * Deprecated: 4.10: Use list models instead
  */
 GdkContentProvider *
 gtk_tree_create_row_drag_content (GtkTreeModel *tree_model,
@@ -323,6 +337,8 @@ gtk_tree_create_row_drag_content (GtkTreeModel *tree_model,
  * 
  * Returns: %TRUE if @selection_data had target type %GTK_TYPE_TREE_ROW_DATA
  *  is otherwise valid
+ *
+ * Deprecated: 4.10: Use list models instead
  **/
 gboolean
 gtk_tree_get_row_drag_data (const GValue  *value,
diff --git a/gtk/gtktreednd.h b/gtk/deprecated/gtktreednd.h
similarity index 95%
rename from gtk/gtktreednd.h
rename to gtk/deprecated/gtktreednd.h
index 28a28dc6b9..4fc3433750 100644
--- a/gtk/gtktreednd.h
+++ b/gtk/deprecated/gtktreednd.h
@@ -22,7 +22,7 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtktreemodel.h>
+#include <gtk/deprecated/gtktreemodel.h>
 
 G_BEGIN_DECLS
 
@@ -34,7 +34,7 @@ G_BEGIN_DECLS
  * and can be consumed via gtk_tree_get_row_drag_data().
  */
 #define GTK_TYPE_TREE_ROW_DATA (gtk_tree_row_data_get_type ())
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GType             gtk_tree_row_data_get_type (void) G_GNUC_CONST;
 
 
@@ -74,23 +74,23 @@ struct _GtkTreeDragSourceIface
                                          GtkTreePath       *path);
 };
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GType           gtk_tree_drag_source_get_type   (void) G_GNUC_CONST;
 
 /* Returns whether the given row can be dragged */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean gtk_tree_drag_source_row_draggable    (GtkTreeDragSource *drag_source,
                                                 GtkTreePath       *path);
 
 /* Deletes the given row, or returns FALSE if it can't */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean gtk_tree_drag_source_drag_data_delete (GtkTreeDragSource *drag_source,
                                                 GtkTreePath       *path);
 
 /* Fills in selection_data with type selection_data->target based on
  * the row denoted by path, returns TRUE if it does anything
  */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GdkContentProvider *
          gtk_tree_drag_source_drag_data_get    (GtkTreeDragSource *drag_source,
                                                 GtkTreePath       *path);
@@ -129,20 +129,20 @@ struct _GtkTreeDragDestIface
                                        const GValue      *value);
 };
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GType           gtk_tree_drag_dest_get_type   (void) G_GNUC_CONST;
 
 /* Inserts a row before dest which contains data in selection_data,
  * or returns FALSE if it can't
  */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean gtk_tree_drag_dest_drag_data_received (GtkTreeDragDest   *drag_dest,
                                                GtkTreePath       *dest,
                                                const GValue      *value);
 
 
 /* Returns TRUE if we can drop before path; path may not exist. */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean gtk_tree_drag_dest_row_drop_possible  (GtkTreeDragDest   *drag_dest,
                                                GtkTreePath       *dest_path,
                                                const GValue      *value);
@@ -151,11 +151,11 @@ gboolean gtk_tree_drag_dest_row_drop_possible  (GtkTreeDragDest   *drag_dest,
 /* The selection data would normally have target type GTK_TREE_MODEL_ROW in this
  * case. If the target is wrong these functions return FALSE.
  */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GdkContentProvider * 
          gtk_tree_create_row_drag_content      (GtkTreeModel      *tree_model,
                                                GtkTreePath       *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean gtk_tree_get_row_drag_data            (const GValue      *value,
                                                GtkTreeModel     **tree_model,
                                                GtkTreePath      **path);
diff --git a/gtk/gtktreemodel.c b/gtk/deprecated/gtktreemodel.c
similarity index 98%
rename from gtk/gtktreemodel.c
rename to gtk/deprecated/gtktreemodel.c
index 7034bd0dd4..148d0178b8 100644
--- a/gtk/gtktreemodel.c
+++ b/gtk/deprecated/gtktreemodel.c
@@ -27,6 +27,8 @@
 #include "gtkmarshalers.h"
 #include "gtkprivate.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /**
  * GtkTreeModel:
  *
@@ -600,6 +602,8 @@ rows_reordered_marshal (GClosure          *closure,
  * This refers to a row.
  *
  * Returns: A newly created `GtkTreePath`.
+ *
+ * Deprecated: 4.10
  */
 GtkTreePath *
 gtk_tree_path_new (void)
@@ -626,6 +630,8 @@ gtk_tree_path_new (void)
  * If an invalid path string is passed in, %NULL is returned.
  *
  * Returns: (nullable): A newly-created `GtkTreePath`
+ *
+ * Deprecated: 4.10
  */
 GtkTreePath *
 gtk_tree_path_new_from_string (const char *path)
@@ -674,6 +680,8 @@ gtk_tree_path_new_from_string (const char *path)
  * Creates a new path with @first_index and @varargs as indices.
  *
  * Returns: A newly created `GtkTreePath`
+ *
+ * Deprecated: 4.10
  */
 GtkTreePath *
 gtk_tree_path_new_from_indices (int first_index,
@@ -707,6 +715,8 @@ gtk_tree_path_new_from_indices (int first_index,
  * Creates a new path with the given @indices array of @length.
  *
  * Returns: A newly created `GtkTreePath`
+ *
+ * Deprecated: 4.10
  */
 GtkTreePath *
 gtk_tree_path_new_from_indicesv (int *indices,
@@ -737,6 +747,8 @@ gtk_tree_path_new_from_indicesv (int *indices,
  * depth 0, %NULL is returned.
  *
  * Returns: (nullable): A newly-allocated string
+ *
+ * Deprecated: 4.10
  */
 char *
 gtk_tree_path_to_string (GtkTreePath *path)
@@ -774,6 +786,8 @@ gtk_tree_path_to_string (GtkTreePath *path)
  * The string representation of this path is “0”.
  *
  * Returns: A new `GtkTreePath`
+ *
+ * Deprecated: 4.10
  */
 GtkTreePath *
 gtk_tree_path_new_first (void)
@@ -794,6 +808,8 @@ gtk_tree_path_new_first (void)
  * Appends a new index to a path.
  *
  * As a result, the depth of the path is increased.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_path_append_index (GtkTreePath *path,
@@ -820,6 +836,8 @@ gtk_tree_path_append_index (GtkTreePath *path,
  * Prepends a new index to a path.
  *
  * As a result, the depth of the path is increased.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_path_prepend_index (GtkTreePath *path,
@@ -848,6 +866,8 @@ gtk_tree_path_prepend_index (GtkTreePath *path,
  * Returns the current depth of @path.
  *
  * Returns: The depth of @path
+ *
+ * Deprecated: 4.10
  */
 int
 gtk_tree_path_get_depth (GtkTreePath *path)
@@ -869,6 +889,8 @@ gtk_tree_path_get_depth (GtkTreePath *path)
  * The length of the array can be obtained with gtk_tree_path_get_depth().
  *
  * Returns: (nullable) (transfer none): The current indices
+ *
+ * Deprecated: 4.10
  */
 int *
 gtk_tree_path_get_indices (GtkTreePath *path)
@@ -892,6 +914,8 @@ gtk_tree_path_get_indices (GtkTreePath *path)
  *
  * Returns: (array length=depth) (transfer none) (nullable): The current
  *   indices
+ *
+ * Deprecated: 4.10
  */
 int *
 gtk_tree_path_get_indices_with_depth (GtkTreePath *path,
@@ -910,6 +934,8 @@ gtk_tree_path_get_indices_with_depth (GtkTreePath *path,
  * @path: (nullable): a `GtkTreePath`
  *
  * Frees @path. If @path is %NULL, it simply returns.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_path_free (GtkTreePath *path)
@@ -928,6 +954,8 @@ gtk_tree_path_free (GtkTreePath *path)
  * Creates a new `GtkTreePath` as a copy of @path.
  *
  * Returns: a new `GtkTreePath`
+ *
+ * Deprecated: 4.10
  */
 GtkTreePath *
 gtk_tree_path_copy (const GtkTreePath *path)
@@ -960,6 +988,8 @@ G_DEFINE_BOXED_TYPE (GtkTreePath, gtk_tree_path,
  * If the two nodes are equal, then 0 is returned.
  *
  * Returns: the relative positions of @a and @b
+ *
+ * Deprecated: 4.10
  */
 int
 gtk_tree_path_compare (const GtkTreePath *a,
@@ -992,6 +1022,8 @@ gtk_tree_path_compare (const GtkTreePath *a,
  * Returns %TRUE if @descendant is a descendant of @path.
  *
  * Returns: %TRUE if @descendant is contained inside @path
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_tree_path_is_ancestor (GtkTreePath *path,
@@ -1025,6 +1057,8 @@ gtk_tree_path_is_ancestor (GtkTreePath *path,
  * Returns %TRUE if @path is a descendant of @ancestor.
  *
  * Returns: %TRUE if @ancestor contains @path somewhere below it
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_tree_path_is_descendant (GtkTreePath *path,
@@ -1056,6 +1090,8 @@ gtk_tree_path_is_descendant (GtkTreePath *path,
  * @path: a `GtkTreePath`
  *
  * Moves the @path to point to the next node at the current depth.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_path_next (GtkTreePath *path)
@@ -1075,6 +1111,8 @@ gtk_tree_path_next (GtkTreePath *path)
  *
  * Returns: %TRUE if @path has a previous node, and
  *   the move was made
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_tree_path_prev (GtkTreePath *path)
@@ -1099,6 +1137,8 @@ gtk_tree_path_prev (GtkTreePath *path)
  * Moves the @path to point to its parent node, if it has a parent.
  *
  * Returns: %TRUE if @path has a parent, and the move was made
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_tree_path_up (GtkTreePath *path)
@@ -1118,6 +1158,8 @@ gtk_tree_path_up (GtkTreePath *path)
  * @path: a `GtkTreePath`
  *
  * Moves @path to point to the first child of the current path.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_path_down (GtkTreePath *path)
@@ -1139,6 +1181,8 @@ gtk_tree_path_down (GtkTreePath *path)
  * You must free this iter with gtk_tree_iter_free().
  *
  * Returns: a newly-allocated copy of @iter
+ *
+ * Deprecated: 4.10
  */
 GtkTreeIter *
 gtk_tree_iter_copy (GtkTreeIter *iter)
@@ -1160,6 +1204,8 @@ gtk_tree_iter_copy (GtkTreeIter *iter)
  * Frees an iterator that has been allocated by gtk_tree_iter_copy().
  *
  * This function is mainly used for language bindings.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_iter_free (GtkTreeIter *iter)
@@ -1184,6 +1230,8 @@ G_DEFINE_BOXED_TYPE (GtkTreeIter,  gtk_tree_iter,
  * of the @tree_model.
  *
  * Returns: the flags supported by this interface
+ *
+ * Deprecated: 4.10
  */
 GtkTreeModelFlags
 gtk_tree_model_get_flags (GtkTreeModel *tree_model)
@@ -1206,6 +1254,8 @@ gtk_tree_model_get_flags (GtkTreeModel *tree_model)
  * Returns the number of columns supported by @tree_model.
  *
  * Returns: the number of columns
+ *
+ * Deprecated: 4.10
  */
 int
 gtk_tree_model_get_n_columns (GtkTreeModel *tree_model)
@@ -1227,6 +1277,8 @@ gtk_tree_model_get_n_columns (GtkTreeModel *tree_model)
  * Returns the type of the column.
  *
  * Returns: the type of the column
+ *
+ * Deprecated: 4.10
  */
 GType
 gtk_tree_model_get_column_type (GtkTreeModel *tree_model,
@@ -1255,6 +1307,8 @@ gtk_tree_model_get_column_type (GtkTreeModel *tree_model,
  * iterator and %FALSE is returned.
  *
  * Returns: %TRUE, if @iter was set
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_tree_model_get_iter (GtkTreeModel *tree_model,
@@ -1288,6 +1342,8 @@ gtk_tree_model_get_iter (GtkTreeModel *tree_model,
  * Otherwise, @iter is left invalid and %FALSE is returned.
  *
  * Returns: %TRUE, if @iter was set
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_tree_model_get_iter_from_string (GtkTreeModel *tree_model,
@@ -1323,6 +1379,8 @@ gtk_tree_model_get_iter_from_string (GtkTreeModel *tree_model,
  * return value for this string.
  *
  * Returns: (nullable): a newly-allocated string
+ *
+ * Deprecated: 4.10
  */
 char *
 gtk_tree_model_get_string_from_iter (GtkTreeModel *tree_model,
@@ -1355,6 +1413,8 @@ gtk_tree_model_get_string_from_iter (GtkTreeModel *tree_model,
  * Returns %FALSE if the tree is empty, %TRUE otherwise.
  *
  * Returns: %TRUE, if @iter was set
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_tree_model_get_iter_first (GtkTreeModel *tree_model,
@@ -1383,6 +1443,8 @@ gtk_tree_model_get_iter_first (GtkTreeModel *tree_model,
  * This path should be freed with gtk_tree_path_free().
  *
  * Returns: a newly-created `GtkTreePath`
+ *
+ * Deprecated: 4.10
  */
 GtkTreePath *
 gtk_tree_model_get_path (GtkTreeModel *tree_model,
@@ -1410,6 +1472,8 @@ gtk_tree_model_get_path (GtkTreeModel *tree_model,
  *
  * When done with @value, g_value_unset() needs to be called
  * to free any allocated memory.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_get_value (GtkTreeModel *tree_model,
@@ -1440,6 +1504,8 @@ gtk_tree_model_get_value (GtkTreeModel *tree_model,
  * to be invalid.
  *
  * Returns: %TRUE if @iter has been changed to the next node
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_tree_model_iter_next (GtkTreeModel  *tree_model,
@@ -1488,6 +1554,8 @@ gtk_tree_model_iter_previous_default (GtkTreeModel *tree_model,
  * set to be invalid.
  *
  * Returns: %TRUE if @iter has been changed to the previous node
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_tree_model_iter_previous (GtkTreeModel *tree_model,
@@ -1525,6 +1593,8 @@ gtk_tree_model_iter_previous (GtkTreeModel *tree_model,
  * `gtk_tree_model_get_iter_first (tree_model, iter);`
  *
  * Returns: %TRUE, if @iter has been set to the first child
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_tree_model_iter_children (GtkTreeModel *tree_model,
@@ -1552,6 +1622,8 @@ gtk_tree_model_iter_children (GtkTreeModel *tree_model,
  * Returns %TRUE if @iter has children, %FALSE otherwise.
  *
  * Returns: %TRUE if @iter has children
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_tree_model_iter_has_child (GtkTreeModel *tree_model,
@@ -1579,6 +1651,8 @@ gtk_tree_model_iter_has_child (GtkTreeModel *tree_model,
  * of toplevel nodes is returned.
  *
  * Returns: the number of children of @iter
+ *
+ * Deprecated: 4.10
  */
 int
 gtk_tree_model_iter_n_children (GtkTreeModel *tree_model,
@@ -1610,6 +1684,8 @@ gtk_tree_model_iter_n_children (GtkTreeModel *tree_model,
  * is set.
  *
  * Returns: %TRUE, if @parent has an @n-th child
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_tree_model_iter_nth_child (GtkTreeModel *tree_model,
@@ -1648,6 +1724,8 @@ gtk_tree_model_iter_nth_child (GtkTreeModel *tree_model,
  * and @iter cannot point to the same memory location.
  *
  * Returns: %TRUE, if @iter is set to the parent of @child
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_tree_model_iter_parent (GtkTreeModel *tree_model,
@@ -1690,6 +1768,8 @@ gtk_tree_model_iter_parent (GtkTreeModel *tree_model,
  *
  * A model should be expected to be able to get an iter independent
  * of its reffed state.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_ref_node (GtkTreeModel *tree_model,
@@ -1717,6 +1797,8 @@ gtk_tree_model_ref_node (GtkTreeModel *tree_model,
  * this means, see gtk_tree_model_ref_node().
  *
  * Please note that nodes that are deleted are not unreffed.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_unref_node (GtkTreeModel *tree_model,
@@ -1752,6 +1834,8 @@ gtk_tree_model_unref_node (GtkTreeModel *tree_model,
  * Returned values with type %G_TYPE_OBJECT have to be unreferenced,
  * values with type %G_TYPE_STRING or %G_TYPE_BOXED have to be freed.
  * Other values are passed by value.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_get (GtkTreeModel *tree_model,
@@ -1778,6 +1862,8 @@ gtk_tree_model_get (GtkTreeModel *tree_model,
  *
  * See [method Gtk TreeModel get], this version takes a va_list
  * for language bindings to use.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_get_valist (GtkTreeModel *tree_model,
@@ -1831,6 +1917,8 @@ gtk_tree_model_get_valist (GtkTreeModel *tree_model,
  * Emits the ::row-changed signal on @tree_model.
  *
  * See [signal@Gtk.TreeModel::row-changed].
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_row_changed (GtkTreeModel *tree_model,
@@ -1853,6 +1941,8 @@ gtk_tree_model_row_changed (GtkTreeModel *tree_model,
  * Emits the ::row-inserted signal on @tree_model.
  *
  * See [signal@Gtk.TreeModel::row-inserted].
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_row_inserted (GtkTreeModel *tree_model,
@@ -1878,6 +1968,8 @@ gtk_tree_model_row_inserted (GtkTreeModel *tree_model,
  *
  * This should be called by models after the child
  * state of a node changes.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_row_has_child_toggled (GtkTreeModel *tree_model,
@@ -1907,6 +1999,8 @@ gtk_tree_model_row_has_child_toggled (GtkTreeModel *tree_model,
  *
  * Nodes that are deleted are not unreffed, this means that any
  * outstanding references on the deleted node should not be released.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_row_deleted (GtkTreeModel *tree_model,
@@ -1935,6 +2029,8 @@ gtk_tree_model_row_deleted (GtkTreeModel *tree_model,
  *
  * This should be called by models when their rows have been
  * reordered.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_rows_reordered (GtkTreeModel *tree_model,
@@ -1968,6 +2064,8 @@ gtk_tree_model_rows_reordered (GtkTreeModel *tree_model,
  *
  * This should be called by models when their rows have been
  * reordered.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_rows_reordered_with_length (GtkTreeModel *tree_model,
@@ -2032,6 +2130,8 @@ gtk_tree_model_foreach_helper (GtkTreeModel            *model,
  *
  * If @func returns %TRUE, then the tree ceases to be walked,
  * and gtk_tree_model_foreach() returns.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_foreach (GtkTreeModel            *model,
@@ -2309,6 +2409,8 @@ gtk_tree_row_reference_unref_path (GtkTreePath  *path,
  * @path isn’t a valid path in @model, then %NULL is returned.
  *
  * Returns: (nullable): a newly allocated `GtkTreeRowReference`
+ *
+ * Deprecated: 4.10
  */
 GtkTreeRowReference *
 gtk_tree_row_reference_new (GtkTreeModel *model,
@@ -2356,6 +2458,8 @@ gtk_tree_row_reference_new (GtkTreeModel *model,
  * itself, and is not generally needed by most applications.
  *
  * Returns: (nullable): a newly allocated `GtkTreeRowReference`
+ *
+ * Deprecated: 4.10
  */
 GtkTreeRowReference *
 gtk_tree_row_reference_new_proxy (GObject      *proxy,
@@ -2422,6 +2526,8 @@ gtk_tree_row_reference_new_proxy (GObject      *proxy,
  * or %NULL if the path pointed to is no longer valid.
  *
  * Returns: (nullable) (transfer full): a current path
+ *
+ * Deprecated: 4.10
  */
 GtkTreePath *
 gtk_tree_row_reference_get_path (GtkTreeRowReference *reference)
@@ -2444,6 +2550,8 @@ gtk_tree_row_reference_get_path (GtkTreeRowReference *reference)
  * Returns the model that the row reference is monitoring.
  *
  * Returns: (transfer none): the model
+ *
+ * Deprecated: 4.10
  */
 GtkTreeModel *
 gtk_tree_row_reference_get_model (GtkTreeRowReference *reference)
@@ -2461,6 +2569,8 @@ gtk_tree_row_reference_get_model (GtkTreeRowReference *reference)
  * a current valid path.
  *
  * Returns: %TRUE if @reference points to a valid path
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_tree_row_reference_valid (GtkTreeRowReference *reference)
@@ -2479,6 +2589,8 @@ gtk_tree_row_reference_valid (GtkTreeRowReference *reference)
  * Copies a `GtkTreeRowReference`.
  *
  * Returns: a copy of @reference
+ *
+ * Deprecated: 4.10
  */
 GtkTreeRowReference *
 gtk_tree_row_reference_copy (GtkTreeRowReference *reference)
@@ -2493,6 +2605,8 @@ gtk_tree_row_reference_copy (GtkTreeRowReference *reference)
  * @reference: (nullable): a `GtkTreeRowReference`
  *
  * Free’s @reference. @reference may be %NULL
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_row_reference_free (GtkTreeRowReference *reference)
@@ -2538,6 +2652,8 @@ gtk_tree_row_reference_free (GtkTreeRowReference *reference)
  * Lets a set of row reference created by
  * gtk_tree_row_reference_new_proxy() know that the
  * model emitted the ::row-inserted signal.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_row_reference_inserted (GObject     *proxy,
@@ -2556,6 +2672,8 @@ gtk_tree_row_reference_inserted (GObject     *proxy,
  * Lets a set of row reference created by
  * gtk_tree_row_reference_new_proxy() know that the
  * model emitted the ::row-deleted signal.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_row_reference_deleted (GObject     *proxy,
@@ -2576,6 +2694,8 @@ gtk_tree_row_reference_deleted (GObject     *proxy,
  * Lets a set of row reference created by
  * gtk_tree_row_reference_new_proxy() know that the
  * model emitted the ::rows-reordered signal.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_row_reference_reordered (GObject     *proxy,
diff --git a/gtk/gtktreemodel.h b/gtk/deprecated/gtktreemodel.h
similarity index 91%
rename from gtk/gtktreemodel.h
rename to gtk/deprecated/gtktreemodel.h
index 1ee15ca59c..0cfd928a3c 100644
--- a/gtk/gtktreemodel.h
+++ b/gtk/deprecated/gtktreemodel.h
@@ -192,57 +192,57 @@ struct _GtkTreeModelIface
 
 
 /* GtkTreePath operations */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreePath *gtk_tree_path_new              (void);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreePath *gtk_tree_path_new_from_string  (const char        *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreePath *gtk_tree_path_new_from_indices (int                first_index,
                                             ...);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreePath *gtk_tree_path_new_from_indicesv (int              *indices,
                                              gsize             length);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 char        *gtk_tree_path_to_string        (GtkTreePath       *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreePath *gtk_tree_path_new_first        (void);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_tree_path_append_index     (GtkTreePath       *path,
                                             int                index_);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_tree_path_prepend_index    (GtkTreePath       *path,
                                             int                index_);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int          gtk_tree_path_get_depth        (GtkTreePath       *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int         *gtk_tree_path_get_indices      (GtkTreePath       *path);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int         *gtk_tree_path_get_indices_with_depth (GtkTreePath *path,
                                                   int         *depth);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_tree_path_free             (GtkTreePath       *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreePath *gtk_tree_path_copy             (const GtkTreePath *path);
 GDK_AVAILABLE_IN_ALL
 GType        gtk_tree_path_get_type         (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int          gtk_tree_path_compare          (const GtkTreePath *a,
                                             const GtkTreePath *b);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_tree_path_next             (GtkTreePath       *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean     gtk_tree_path_prev             (GtkTreePath       *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean     gtk_tree_path_up               (GtkTreePath       *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void         gtk_tree_path_down             (GtkTreePath       *path);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean     gtk_tree_path_is_ancestor      (GtkTreePath       *path,
                                              GtkTreePath       *descendant);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean     gtk_tree_path_is_descendant    (GtkTreePath       *path,
                                              GtkTreePath       *ancestor);
 
@@ -256,147 +256,147 @@ gboolean     gtk_tree_path_is_descendant    (GtkTreePath       *path,
 
 GDK_AVAILABLE_IN_ALL
 GType                gtk_tree_row_reference_get_type (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeRowReference *gtk_tree_row_reference_new       (GtkTreeModel        *model,
                                                       GtkTreePath         *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeRowReference *gtk_tree_row_reference_new_proxy (GObject             *proxy,
                                                       GtkTreeModel        *model,
                                                       GtkTreePath         *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreePath         *gtk_tree_row_reference_get_path  (GtkTreeRowReference *reference);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeModel        *gtk_tree_row_reference_get_model (GtkTreeRowReference *reference);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean             gtk_tree_row_reference_valid     (GtkTreeRowReference *reference);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeRowReference *gtk_tree_row_reference_copy      (GtkTreeRowReference *reference);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                 gtk_tree_row_reference_free      (GtkTreeRowReference *reference);
 /* These two functions are only needed if you created the row reference with a
  * proxy object */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                 gtk_tree_row_reference_inserted  (GObject     *proxy,
                                                       GtkTreePath *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                 gtk_tree_row_reference_deleted   (GObject     *proxy,
                                                       GtkTreePath *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                 gtk_tree_row_reference_reordered (GObject     *proxy,
                                                       GtkTreePath *path,
                                                       GtkTreeIter *iter,
                                                       int         *new_order);
 
 /* GtkTreeIter operations */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeIter *     gtk_tree_iter_copy             (GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void              gtk_tree_iter_free             (GtkTreeIter  *iter);
 GDK_AVAILABLE_IN_ALL
 GType             gtk_tree_iter_get_type         (void) G_GNUC_CONST;
 
 GDK_AVAILABLE_IN_ALL
 GType             gtk_tree_model_get_type        (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeModelFlags gtk_tree_model_get_flags       (GtkTreeModel *tree_model);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int               gtk_tree_model_get_n_columns   (GtkTreeModel *tree_model);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GType             gtk_tree_model_get_column_type (GtkTreeModel *tree_model,
                                                  int           index_);
 
 
 /* Iterator movement */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean          gtk_tree_model_get_iter        (GtkTreeModel *tree_model,
                                                  GtkTreeIter  *iter,
                                                  GtkTreePath  *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean          gtk_tree_model_get_iter_from_string (GtkTreeModel *tree_model,
                                                       GtkTreeIter  *iter,
                                                       const char   *path_string);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 char *           gtk_tree_model_get_string_from_iter (GtkTreeModel *tree_model,
                                                        GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean          gtk_tree_model_get_iter_first  (GtkTreeModel *tree_model,
                                                  GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreePath *     gtk_tree_model_get_path        (GtkTreeModel *tree_model,
                                                  GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void              gtk_tree_model_get_value       (GtkTreeModel *tree_model,
                                                  GtkTreeIter  *iter,
                                                  int           column,
                                                  GValue       *value);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean          gtk_tree_model_iter_previous   (GtkTreeModel *tree_model,
                                                  GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean          gtk_tree_model_iter_next       (GtkTreeModel *tree_model,
                                                  GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean          gtk_tree_model_iter_children   (GtkTreeModel *tree_model,
                                                  GtkTreeIter  *iter,
                                                  GtkTreeIter  *parent);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean          gtk_tree_model_iter_has_child  (GtkTreeModel *tree_model,
                                                  GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int               gtk_tree_model_iter_n_children (GtkTreeModel *tree_model,
                                                  GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean          gtk_tree_model_iter_nth_child  (GtkTreeModel *tree_model,
                                                  GtkTreeIter  *iter,
                                                  GtkTreeIter  *parent,
                                                  int           n);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean          gtk_tree_model_iter_parent     (GtkTreeModel *tree_model,
                                                  GtkTreeIter  *iter,
                                                  GtkTreeIter  *child);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void              gtk_tree_model_ref_node        (GtkTreeModel *tree_model,
                                                  GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void              gtk_tree_model_unref_node      (GtkTreeModel *tree_model,
                                                  GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void              gtk_tree_model_get             (GtkTreeModel *tree_model,
                                                  GtkTreeIter  *iter,
                                                  ...);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void              gtk_tree_model_get_valist      (GtkTreeModel *tree_model,
                                                  GtkTreeIter  *iter,
                                                  va_list       var_args);
 
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void              gtk_tree_model_foreach         (GtkTreeModel            *model,
                                                  GtkTreeModelForeachFunc  func,
                                                  gpointer                 user_data);
 
 /* Signals */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void gtk_tree_model_row_changed           (GtkTreeModel *tree_model,
                                           GtkTreePath  *path,
                                           GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void gtk_tree_model_row_inserted          (GtkTreeModel *tree_model,
                                           GtkTreePath  *path,
                                           GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void gtk_tree_model_row_has_child_toggled (GtkTreeModel *tree_model,
                                           GtkTreePath  *path,
                                           GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void gtk_tree_model_row_deleted           (GtkTreeModel *tree_model,
                                           GtkTreePath  *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void gtk_tree_model_rows_reordered        (GtkTreeModel *tree_model,
                                           GtkTreePath  *path,
                                           GtkTreeIter  *iter,
                                           int          *new_order);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void gtk_tree_model_rows_reordered_with_length (GtkTreeModel *tree_model,
                                                GtkTreePath  *path,
                                                GtkTreeIter  *iter,
diff --git a/gtk/gtktreemodelfilter.c b/gtk/deprecated/gtktreemodelfilter.c
similarity index 99%
rename from gtk/gtktreemodelfilter.c
rename to gtk/deprecated/gtktreemodelfilter.c
index cdad0ed111..0121c13b48 100644
--- a/gtk/gtktreemodelfilter.c
+++ b/gtk/deprecated/gtktreemodelfilter.c
@@ -22,6 +22,7 @@
 #include "gtkprivate.h"
 #include <string.h>
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 
 /**
  * GtkTreeModelFilter:
@@ -3755,6 +3756,8 @@ gtk_tree_model_filter_set_root (GtkTreeModelFilter *filter,
  * and @root as the virtual root.
  *
  * Returns: (transfer full): A new `GtkTreeModel`.
+ *
+ * Deprecated: 4.10
  */
 GtkTreeModel *
 gtk_tree_model_filter_new (GtkTreeModel *child_model,
@@ -3775,6 +3778,8 @@ gtk_tree_model_filter_new (GtkTreeModel *child_model,
  * Returns a pointer to the child model of @filter.
  *
  * Returns: (transfer none): A pointer to a `GtkTreeModel`
+ *
+ * Deprecated: 4.10
  */
 GtkTreeModel *
 gtk_tree_model_filter_get_model (GtkTreeModelFilter *filter)
@@ -3826,6 +3831,8 @@ gtk_tree_model_filter_get_model (GtkTreeModelFilter *filter)
  * Note that gtk_tree_model_filter_set_visible_func() or
  * gtk_tree_model_filter_set_visible_column() can only be called
  * once for a given filter model.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_filter_set_visible_func (GtkTreeModelFilter            *filter,
@@ -3863,6 +3870,8 @@ gtk_tree_model_filter_set_visible_func (GtkTreeModelFilter            *filter,
  *
  * Note that gtk_tree_model_filter_set_modify_func()
  * can only be called once for a given filter model.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_filter_set_modify_func (GtkTreeModelFilter           *filter,
@@ -3899,6 +3908,8 @@ gtk_tree_model_filter_set_modify_func (GtkTreeModelFilter           *filter,
  * Note that gtk_tree_model_filter_set_visible_func() or
  * gtk_tree_model_filter_set_visible_column() can only be called
  * once for a given filter model.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_filter_set_visible_column (GtkTreeModelFilter *filter,
@@ -3927,6 +3938,8 @@ gtk_tree_model_filter_set_visible_column (GtkTreeModelFilter *filter,
  *
  * Returns: %TRUE, if @filter_iter was set, i.e. if @child_iter is a
  * valid iterator pointing to a visible row in child model.
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_tree_model_filter_convert_child_iter_to_iter (GtkTreeModelFilter *filter,
@@ -3967,6 +3980,8 @@ gtk_tree_model_filter_convert_child_iter_to_iter (GtkTreeModelFilter *filter,
  * @filter_iter: A valid `GtkTreeIter` pointing to a row on @filter.
  *
  * Sets @child_iter to point to the row pointed to by @filter_iter.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_filter_convert_iter_to_child_iter (GtkTreeModelFilter *filter,
@@ -4104,6 +4119,8 @@ gtk_real_tree_model_filter_convert_child_path_to_path (GtkTreeModelFilter *filte
  * is returned.
  *
  * Returns: (nullable) (transfer full): A newly allocated `GtkTreePath`
+ *
+ * Deprecated: 4.10
  */
 GtkTreePath *
 gtk_tree_model_filter_convert_child_path_to_path (GtkTreeModelFilter *filter,
@@ -4145,6 +4162,8 @@ gtk_tree_model_filter_convert_child_path_to_path (GtkTreeModelFilter *filter,
  * does not point to a location in the child model, %NULL is returned.
  *
  * Returns: (nullable) (transfer full): A newly allocated `GtkTreePath`
+ *
+ * Deprecated: 4.10
  */
 GtkTreePath *
 gtk_tree_model_filter_convert_path_to_child_path (GtkTreeModelFilter *filter,
@@ -4227,6 +4246,8 @@ gtk_tree_model_filter_refilter_helper (GtkTreeModel *model,
  *
  * Emits ::row_changed for each row in the child model, which causes
  * the filter to re-evaluate whether a row is visible or not.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_filter_refilter (GtkTreeModelFilter *filter)
@@ -4249,6 +4270,8 @@ gtk_tree_model_filter_refilter (GtkTreeModelFilter *filter)
  * being filtered is static (and doesn’t change often) and there has been
  * a lot of unreffed access to nodes. As a side effect of this function,
  * all unreffed iters will be invalid.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_model_filter_clear_cache (GtkTreeModelFilter *filter)
diff --git a/gtk/gtktreemodelfilter.h b/gtk/deprecated/gtktreemodelfilter.h
similarity index 96%
rename from gtk/gtktreemodelfilter.h
rename to gtk/deprecated/gtktreemodelfilter.h
index bad3e08cb5..ec6510b7d8 100644
--- a/gtk/gtktreemodelfilter.h
+++ b/gtk/deprecated/gtktreemodelfilter.h
@@ -23,7 +23,7 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtktreemodel.h>
+#include <gtk/deprecated/gtktreemodel.h>
 
 G_BEGIN_DECLS
 
@@ -105,48 +105,48 @@ struct _GtkTreeModelFilterClass
 /* base */
 GDK_AVAILABLE_IN_ALL
 GType         gtk_tree_model_filter_get_type                   (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeModel *gtk_tree_model_filter_new                        (GtkTreeModel                 *child_model,
                                                                 GtkTreePath                  *root);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_model_filter_set_visible_func           (GtkTreeModelFilter           *filter,
                                                                 GtkTreeModelFilterVisibleFunc func,
                                                                 gpointer                      data,
                                                                 GDestroyNotify                destroy);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_model_filter_set_modify_func            (GtkTreeModelFilter           *filter,
                                                                 int                           n_columns,
                                                                 GType                        *types,
                                                                 GtkTreeModelFilterModifyFunc  func,
                                                                 gpointer                      data,
                                                                 GDestroyNotify                destroy);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_model_filter_set_visible_column         (GtkTreeModelFilter           *filter,
                                                                 int                           column);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeModel *gtk_tree_model_filter_get_model                  (GtkTreeModelFilter           *filter);
 
 /* conversion */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean      gtk_tree_model_filter_convert_child_iter_to_iter (GtkTreeModelFilter           *filter,
                                                                 GtkTreeIter                  *filter_iter,
                                                                 GtkTreeIter                  *child_iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_model_filter_convert_iter_to_child_iter (GtkTreeModelFilter           *filter,
                                                                 GtkTreeIter                  *child_iter,
                                                                 GtkTreeIter                  *filter_iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreePath  *gtk_tree_model_filter_convert_child_path_to_path (GtkTreeModelFilter           *filter,
                                                                 GtkTreePath                  *child_path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreePath  *gtk_tree_model_filter_convert_path_to_child_path (GtkTreeModelFilter           *filter,
                                                                 GtkTreePath                  *filter_path);
 
 /* extras */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_model_filter_refilter                   (GtkTreeModelFilter           *filter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_model_filter_clear_cache                (GtkTreeModelFilter           *filter);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkTreeModelFilter, g_object_unref)
diff --git a/gtk/gtktreemodelsort.c b/gtk/deprecated/gtktreemodelsort.c
similarity index 99%
rename from gtk/gtktreemodelsort.c
rename to gtk/deprecated/gtktreemodelsort.c
index 0d800da62d..f6da951bed 100644
--- a/gtk/gtktreemodelsort.c
+++ b/gtk/deprecated/gtktreemodelsort.c
@@ -26,6 +26,7 @@
 #include "gtkprivate.h"
 #include "gtktreednd.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 
 /**
  * GtkTreeModelSort:
@@ -2114,6 +2115,8 @@ gtk_tree_model_sort_elt_get_path (SortLevel *level,
  * then the old model is unset.  The sort function is unset as a result 
  * of this call. The model will be in an unsorted state until a sort 
  * function is set.
+ *
+ * Deprecated: 4.10
  **/
 static void
 gtk_tree_model_sort_set_model (GtkTreeModelSort *tree_model_sort,
@@ -2278,6 +2281,8 @@ gtk_real_tree_model_sort_convert_child_path_to_path (GtkTreeModelSort *tree_mode
  * path on the child model, then %NULL is returned.
  * 
  * Returns: (nullable) (transfer full): A newly allocated `GtkTreePath`
+ *
+ * Deprecated: 4.10
  **/
 GtkTreePath *
 gtk_tree_model_sort_convert_child_path_to_path (GtkTreeModelSort *tree_model_sort,
@@ -2302,6 +2307,8 @@ gtk_tree_model_sort_convert_child_path_to_path (GtkTreeModelSort *tree_model_sor
  *
  * Returns: %TRUE, if @sort_iter was set, i.e. if @sort_iter is a
  * valid iterator pointer to a visible row in the child model.
+ *
+ * Deprecated: 4.10
  **/
 gboolean
 gtk_tree_model_sort_convert_child_iter_to_iter (GtkTreeModelSort *tree_model_sort,
@@ -2351,6 +2358,8 @@ gtk_tree_model_sort_convert_child_iter_to_iter (GtkTreeModelSort *tree_model_sor
  * %NULL is returned.
  * 
  * Returns: (nullable) (transfer full): A newly allocated `GtkTreePath`
+ *
+ * Deprecated: 4.10
  **/
 GtkTreePath *
 gtk_tree_model_sort_convert_path_to_child_path (GtkTreeModelSort *tree_model_sort,
@@ -2416,6 +2425,8 @@ gtk_tree_model_sort_convert_path_to_child_path (GtkTreeModelSort *tree_model_sor
  * @sorted_iter: A valid `GtkTreeIter` pointing to a row on @tree_model_sort.
  * 
  * Sets @child_iter to point to the row pointed to by @sorted_iter.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_model_sort_convert_iter_to_child_iter (GtkTreeModelSort *tree_model_sort,
@@ -2683,6 +2694,8 @@ gtk_tree_model_sort_clear_cache_helper (GtkTreeModelSort *tree_model_sort,
  * is, it is in the same order as the child model. It will re-sort the model
  * to be in the same order as the child model only if the `GtkTreeModelSort`
  * is in “unsorted” state.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_model_sort_reset_default_sort_func (GtkTreeModelSort *tree_model_sort)
@@ -2718,6 +2731,8 @@ gtk_tree_model_sort_reset_default_sort_func (GtkTreeModelSort *tree_model_sort)
  * sorted is static (and doesn’t change often) and there has been a lot of
  * unreffed access to nodes.  As a side effect of this function, all unreffed
  * iters will be invalid.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_model_sort_clear_cache (GtkTreeModelSort *tree_model_sort)
@@ -2763,6 +2778,8 @@ gtk_tree_model_sort_iter_is_valid_helper (GtkTreeIter *iter,
  * Checks if the given iter is a valid iter for this `GtkTreeModelSort`.
  *
  * Returns: %TRUE if the iter is valid, %FALSE if the iter is invalid.
+ *
+ * Deprecated: 4.10
  **/
 gboolean
 gtk_tree_model_sort_iter_is_valid (GtkTreeModelSort *tree_model_sort,
diff --git a/gtk/gtktreemodelsort.h b/gtk/deprecated/gtktreemodelsort.h
similarity index 92%
rename from gtk/gtktreemodelsort.h
rename to gtk/deprecated/gtktreemodelsort.h
index 8cde66ea97..7dc09c29f2 100644
--- a/gtk/gtktreemodelsort.h
+++ b/gtk/deprecated/gtktreemodelsort.h
@@ -23,8 +23,8 @@
 #endif
 
 #include <gdk/gdk.h>
-#include <gtk/gtktreemodel.h>
-#include <gtk/gtktreesortable.h>
+#include <gtk/deprecated/gtktreemodel.h>
+#include <gtk/deprecated/gtktreesortable.h>
 
 G_BEGIN_DECLS
 
@@ -58,30 +58,30 @@ struct _GtkTreeModelSortClass
 
 GDK_AVAILABLE_IN_ALL
 GType         gtk_tree_model_sort_get_type                   (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeModel *gtk_tree_model_sort_new_with_model             (GtkTreeModel     *child_model);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeModel *gtk_tree_model_sort_get_model                  (GtkTreeModelSort *tree_model);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreePath  *gtk_tree_model_sort_convert_child_path_to_path (GtkTreeModelSort *tree_model_sort,
                                                              GtkTreePath      *child_path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean      gtk_tree_model_sort_convert_child_iter_to_iter (GtkTreeModelSort *tree_model_sort,
                                                              GtkTreeIter      *sort_iter,
                                                              GtkTreeIter      *child_iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreePath  *gtk_tree_model_sort_convert_path_to_child_path (GtkTreeModelSort *tree_model_sort,
                                                              GtkTreePath      *sorted_path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_model_sort_convert_iter_to_child_iter (GtkTreeModelSort *tree_model_sort,
                                                              GtkTreeIter      *child_iter,
                                                              GtkTreeIter      *sorted_iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_model_sort_reset_default_sort_func    (GtkTreeModelSort *tree_model_sort);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_model_sort_clear_cache                (GtkTreeModelSort *tree_model_sort);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean      gtk_tree_model_sort_iter_is_valid              (GtkTreeModelSort *tree_model_sort,
                                                               GtkTreeIter      *iter);
 
diff --git a/gtk/gtktreepopover.c b/gtk/deprecated/gtktreepopover.c
similarity index 99%
rename from gtk/gtktreepopover.c
rename to gtk/deprecated/gtktreepopover.c
index 992c4574a5..f2bab158c6 100644
--- a/gtk/gtktreepopover.c
+++ b/gtk/deprecated/gtktreepopover.c
@@ -32,6 +32,8 @@
 #include "gtkscrolledwindow.h"
 #include "gtkviewport.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 // TODO
 // positioning + sizing
 
diff --git a/gtk/gtktreepopoverprivate.h b/gtk/deprecated/gtktreepopoverprivate.h
similarity index 100%
rename from gtk/gtktreepopoverprivate.h
rename to gtk/deprecated/gtktreepopoverprivate.h
diff --git a/gtk/gtktreeprivate.h b/gtk/deprecated/gtktreeprivate.h
similarity index 98%
rename from gtk/gtktreeprivate.h
rename to gtk/deprecated/gtktreeprivate.h
index 37dafa8e01..52267349ab 100644
--- a/gtk/gtktreeprivate.h
+++ b/gtk/deprecated/gtktreeprivate.h
@@ -19,9 +19,9 @@
 #define __GTK_TREE_PRIVATE_H__
 
 
-#include <gtk/gtktreeview.h>
-#include <gtk/gtktreeselection.h>
-#include <gtk/gtktreerbtreeprivate.h>
+#include <gtk/deprecated/gtktreeview.h>
+#include <gtk/deprecated/gtktreeselection.h>
+#include <gtk/deprecated/gtktreerbtreeprivate.h>
 
 G_BEGIN_DECLS
 
diff --git a/gtk/gtktreerbtree.c b/gtk/deprecated/gtktreerbtree.c
similarity index 99%
rename from gtk/gtktreerbtree.c
rename to gtk/deprecated/gtktreerbtree.c
index 36d7534133..6630248b43 100644
--- a/gtk/gtktreerbtree.c
+++ b/gtk/deprecated/gtktreerbtree.c
@@ -19,6 +19,8 @@
 #include "gtktreerbtreeprivate.h"
 #include "gtkdebug.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 static GtkTreeRBNode *gtk_tree_rbnode_new                (GtkTreeRBTree *tree,
                                                           int            height);
 static void        gtk_tree_rbnode_free               (GtkTreeRBNode *node);
diff --git a/gtk/gtktreerbtreeprivate.h b/gtk/deprecated/gtktreerbtreeprivate.h
similarity index 100%
rename from gtk/gtktreerbtreeprivate.h
rename to gtk/deprecated/gtktreerbtreeprivate.h
diff --git a/gtk/gtktreeselection.c b/gtk/deprecated/gtktreeselection.c
similarity index 97%
rename from gtk/gtktreeselection.c
rename to gtk/deprecated/gtktreeselection.c
index b03c5655c2..7043ceba9c 100644
--- a/gtk/gtktreeselection.c
+++ b/gtk/deprecated/gtktreeselection.c
@@ -25,6 +25,8 @@
 #include "gtktypebuiltins.h"
 
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /**
  * GtkTreeSelection:
  *
@@ -221,6 +223,8 @@ gtk_tree_selection_get_property (GObject *object,
  * as each `GtkTreeView` will create its own `GtkTreeSelection`.
  *
  * Returns: A newly created `GtkTreeSelection` object.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 GtkTreeSelection*
 _gtk_tree_selection_new (void)
@@ -240,6 +244,8 @@ _gtk_tree_selection_new (void)
  * as each `GtkTreeView` will create its own `GtkTreeSelection`.
  *
  * Returns: A newly created `GtkTreeSelection` object.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 GtkTreeSelection*
 _gtk_tree_selection_new_with_tree_view (GtkTreeView *tree_view)
@@ -261,6 +267,8 @@ _gtk_tree_selection_new_with_tree_view (GtkTreeView *tree_view)
  *
  * Sets the `GtkTreeView` of @selection.  This function should not be invoked, as
  * it is used internally by `GtkTreeView`.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 void
 _gtk_tree_selection_set_tree_view (GtkTreeSelection *selection,
@@ -282,6 +290,8 @@ _gtk_tree_selection_set_tree_view (GtkTreeSelection *selection,
  * Sets the selection mode of the @selection.  If the previous type was
  * %GTK_SELECTION_MULTIPLE, then the anchor is kept selected, if it was
  * previously selected.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 void
 gtk_tree_selection_set_mode (GtkTreeSelection *selection,
@@ -357,6 +367,8 @@ gtk_tree_selection_set_mode (GtkTreeSelection *selection,
  * gtk_tree_selection_set_mode().
  *
  * Returns: the current selection mode
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 GtkSelectionMode
 gtk_tree_selection_get_mode (GtkTreeSelection *selection)
@@ -379,6 +391,8 @@ gtk_tree_selection_get_mode (GtkTreeSelection *selection)
  * giving some control over which nodes are selected. The select function
  * should return %TRUE if the state of the node may be toggled, and %FALSE
  * if the state of the node should be left unchanged.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  */
 void
 gtk_tree_selection_set_select_function (GtkTreeSelection     *selection,
@@ -404,6 +418,8 @@ gtk_tree_selection_set_select_function (GtkTreeSelection     *selection,
  * Returns the current selection function.
  *
  * Returns: The function.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 GtkTreeSelectionFunc
 gtk_tree_selection_get_select_function (GtkTreeSelection *selection)
@@ -420,6 +436,8 @@ gtk_tree_selection_get_select_function (GtkTreeSelection *selection)
  * Returns the user data for the selection function.
  *
  * Returns: The user data.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 gpointer
 gtk_tree_selection_get_user_data (GtkTreeSelection *selection)
@@ -436,6 +454,8 @@ gtk_tree_selection_get_user_data (GtkTreeSelection *selection)
  * Returns the tree view associated with @selection.
  * 
  * Returns: (transfer none): A `GtkTreeView`
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 GtkTreeView *
 gtk_tree_selection_get_tree_view (GtkTreeSelection *selection)
@@ -458,6 +478,8 @@ gtk_tree_selection_get_tree_view (GtkTreeSelection *selection)
  * use @selection is %GTK_SELECTION_MULTIPLE.
  *
  * Returns: TRUE, if there is a selected node.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 gboolean
 gtk_tree_selection_get_selected (GtkTreeSelection  *selection,
@@ -531,6 +553,8 @@ gtk_tree_selection_get_selected (GtkTreeSelection  *selection,
  * ]|
  *
  * Returns: (element-type GtkTreePath) (transfer full): A `GList` containing a `GtkTreePath` for each 
selected row.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 GList *
 gtk_tree_selection_get_selected_rows (GtkTreeSelection   *selection,
@@ -646,6 +670,8 @@ gtk_tree_selection_count_selected_rows_helper (GtkTreeRBTree *tree,
  * Returns the number of rows that have been selected in @tree.
  *
  * Returns: The number of rows selected.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 int
 gtk_tree_selection_count_selected_rows (GtkTreeSelection *selection)
@@ -696,6 +722,8 @@ model_changed (gpointer data)
  * Calls a function for each selected node. Note that you cannot modify
  * the tree or selection from within this function. As a result,
  * gtk_tree_selection_get_selected_rows() might be more useful.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 void
 gtk_tree_selection_selected_foreach (GtkTreeSelection            *selection,
@@ -830,6 +858,8 @@ out:
  * @path: The `GtkTreePath` to be selected.
  *
  * Select the row at @path.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 void
 gtk_tree_selection_select_path (GtkTreeSelection *selection,
@@ -870,6 +900,8 @@ gtk_tree_selection_select_path (GtkTreeSelection *selection,
  * @path: The `GtkTreePath` to be unselected.
  *
  * Unselects the row at @path.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 void
 gtk_tree_selection_unselect_path (GtkTreeSelection *selection,
@@ -906,6 +938,8 @@ gtk_tree_selection_unselect_path (GtkTreeSelection *selection,
  * @iter: The `GtkTreeIter` to be selected.
  *
  * Selects the specified iterator.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 void
 gtk_tree_selection_select_iter (GtkTreeSelection *selection,
@@ -937,6 +971,8 @@ gtk_tree_selection_select_iter (GtkTreeSelection *selection,
  * @iter: The `GtkTreeIter` to be unselected.
  *
  * Unselects the specified iterator.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 void
 gtk_tree_selection_unselect_iter (GtkTreeSelection *selection,
@@ -970,6 +1006,8 @@ gtk_tree_selection_unselect_iter (GtkTreeSelection *selection,
  * does not point to a valid location, %FALSE is returned
  * 
  * Returns: %TRUE if @path is selected.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 gboolean
 gtk_tree_selection_path_is_selected (GtkTreeSelection *selection,
@@ -1006,6 +1044,8 @@ gtk_tree_selection_path_is_selected (GtkTreeSelection *selection,
  * Returns %TRUE if the row at @iter is currently selected.
  * 
  * Returns: %TRUE, if @iter is selected
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 gboolean
 gtk_tree_selection_iter_is_selected (GtkTreeSelection *selection,
@@ -1097,6 +1137,8 @@ gtk_tree_selection_real_select_all (GtkTreeSelection *selection)
  *
  * Selects all the nodes. @selection must be set to %GTK_SELECTION_MULTIPLE
  * mode.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 void
 gtk_tree_selection_select_all (GtkTreeSelection *selection)
@@ -1200,6 +1242,8 @@ gtk_tree_selection_real_unselect_all (GtkTreeSelection *selection)
  * @selection: A `GtkTreeSelection`.
  *
  * Unselects all the nodes.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 void
 gtk_tree_selection_unselect_all (GtkTreeSelection *selection)
@@ -1314,6 +1358,8 @@ gtk_tree_selection_real_modify_range (GtkTreeSelection *selection,
  *
  * Selects a range of nodes, determined by @start_path and @end_path inclusive.
  * @selection must be set to %GTK_SELECTION_MULTIPLE mode. 
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 void
 gtk_tree_selection_select_range (GtkTreeSelection *selection,
@@ -1338,6 +1384,8 @@ gtk_tree_selection_select_range (GtkTreeSelection *selection,
  *
  * Unselects a range of nodes, determined by @start_path and @end_path
  * inclusive.
+ *
+ * Deprecated: 4.10: Use GtkListView or GtkColumnView
  **/
 void
 gtk_tree_selection_unselect_range (GtkTreeSelection *selection,
diff --git a/gtk/gtktreeselection.h b/gtk/deprecated/gtktreeselection.h
similarity index 92%
rename from gtk/gtktreeselection.h
rename to gtk/deprecated/gtktreeselection.h
index 8eb5565231..002646425e 100644
--- a/gtk/gtktreeselection.h
+++ b/gtk/deprecated/gtktreeselection.h
@@ -22,7 +22,7 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtktreeview.h>
+#include <gtk/deprecated/gtktreeview.h>
 
 G_BEGIN_DECLS
 
@@ -73,66 +73,66 @@ typedef void (* GtkTreeSelectionForeachFunc) (GtkTreeModel      *model,
 GDK_AVAILABLE_IN_ALL
 GType            gtk_tree_selection_get_type            (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_tree_selection_set_mode            (GtkTreeSelection            *selection,
                                                         GtkSelectionMode             type);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkSelectionMode gtk_tree_selection_get_mode        (GtkTreeSelection            *selection);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_tree_selection_set_select_function (GtkTreeSelection            *selection,
                                                         GtkTreeSelectionFunc         func,
                                                         gpointer                     data,
                                                         GDestroyNotify               destroy);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gpointer         gtk_tree_selection_get_user_data       (GtkTreeSelection            *selection);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeView*     gtk_tree_selection_get_tree_view       (GtkTreeSelection            *selection);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeSelectionFunc gtk_tree_selection_get_select_function (GtkTreeSelection        *selection);
 
 /* Only meaningful if GTK_SELECTION_SINGLE or GTK_SELECTION_BROWSE is set */
 /* Use selected_foreach or get_selected_rows for GTK_SELECTION_MULTIPLE */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean         gtk_tree_selection_get_selected        (GtkTreeSelection            *selection,
                                                         GtkTreeModel               **model,
                                                         GtkTreeIter                 *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GList *          gtk_tree_selection_get_selected_rows   (GtkTreeSelection            *selection,
                                                          GtkTreeModel               **model);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int              gtk_tree_selection_count_selected_rows (GtkTreeSelection            *selection);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_tree_selection_selected_foreach    (GtkTreeSelection            *selection,
                                                         GtkTreeSelectionForeachFunc  func,
                                                         gpointer                     data);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_tree_selection_select_path         (GtkTreeSelection            *selection,
                                                         GtkTreePath                 *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_tree_selection_unselect_path       (GtkTreeSelection            *selection,
                                                         GtkTreePath                 *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_tree_selection_select_iter         (GtkTreeSelection            *selection,
                                                         GtkTreeIter                 *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_tree_selection_unselect_iter       (GtkTreeSelection            *selection,
                                                         GtkTreeIter                 *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean         gtk_tree_selection_path_is_selected    (GtkTreeSelection            *selection,
                                                         GtkTreePath                 *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean         gtk_tree_selection_iter_is_selected    (GtkTreeSelection            *selection,
                                                         GtkTreeIter                 *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_tree_selection_select_all          (GtkTreeSelection            *selection);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_tree_selection_unselect_all        (GtkTreeSelection            *selection);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_tree_selection_select_range        (GtkTreeSelection            *selection,
                                                         GtkTreePath                 *start_path,
                                                         GtkTreePath                 *end_path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void             gtk_tree_selection_unselect_range      (GtkTreeSelection            *selection,
                                                          GtkTreePath                 *start_path,
                                                         GtkTreePath                 *end_path);
diff --git a/gtk/gtktreesortable.c b/gtk/deprecated/gtktreesortable.c
similarity index 97%
rename from gtk/gtktreesortable.c
rename to gtk/deprecated/gtktreesortable.c
index d234530d8c..aa7d9c35ee 100644
--- a/gtk/gtktreesortable.c
+++ b/gtk/deprecated/gtktreesortable.c
@@ -22,6 +22,8 @@
 #include "gtkprivate.h"
 
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /**
  * GtkTreeSortable:
  *
@@ -96,6 +98,8 @@ gtk_tree_sortable_base_init (gpointer g_class)
  * @sortable: A `GtkTreeSortable`
  * 
  * Emits a `GtkTreeSortable::sort-column-changed` signal on @sortable.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_sortable_sort_column_changed (GtkTreeSortable *sortable)
@@ -118,6 +122,8 @@ gtk_tree_sortable_sort_column_changed (GtkTreeSortable *sortable)
  * 
  * Returns: %TRUE if the sort column is not one of the special sort
  *   column ids.
+ *
+ * Deprecated: 4.10
  **/
 gboolean
 gtk_tree_sortable_get_sort_column_id (GtkTreeSortable  *sortable,
@@ -151,6 +157,8 @@ gtk_tree_sortable_get_sort_column_id (GtkTreeSortable  *sortable,
  *   will be used, if it is set
  * 
  * - %GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID: no sorting will occur
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_sortable_set_sort_column_id (GtkTreeSortable  *sortable,
@@ -180,6 +188,8 @@ gtk_tree_sortable_set_sort_column_id (GtkTreeSortable  *sortable,
  * Sets the comparison function used when sorting to be @sort_func. If the
  * current sort column id of @sortable is the same as @sort_column_id, then 
  * the model will sort using this function.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_sortable_set_sort_func (GtkTreeSortable        *sortable,
@@ -218,6 +228,8 @@ gtk_tree_sortable_set_sort_func (GtkTreeSortable        *sortable,
  * This means that once the model  has been sorted, it can’t go back to the
  * default state. In this case, when the current sort column id of @sortable 
  * is %GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, the model will be unsorted.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_sortable_set_default_sort_func (GtkTreeSortable        *sortable,
@@ -246,6 +258,8 @@ gtk_tree_sortable_set_default_sort_func (GtkTreeSortable        *sortable,
  * go back to the default state, or not.
  * 
  * Returns: %TRUE, if the model has a default sort function
+ *
+ * Deprecated: 4.10
  */
 gboolean
 gtk_tree_sortable_has_default_sort_func (GtkTreeSortable *sortable)
diff --git a/gtk/gtktreesortable.h b/gtk/deprecated/gtktreesortable.h
similarity index 97%
rename from gtk/gtktreesortable.h
rename to gtk/deprecated/gtktreesortable.h
index 0cd770f8c5..4b74c5a6a7 100644
--- a/gtk/gtktreesortable.h
+++ b/gtk/deprecated/gtktreesortable.h
@@ -24,7 +24,7 @@
 #endif
 
 #include <gtk/gtkenums.h>
-#include <gtk/gtktreemodel.h>
+#include <gtk/deprecated/gtktreemodel.h>
 
 
 G_BEGIN_DECLS
@@ -133,28 +133,28 @@ struct _GtkTreeSortableIface
 GDK_AVAILABLE_IN_ALL
 GType    gtk_tree_sortable_get_type              (void) G_GNUC_CONST;
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void     gtk_tree_sortable_sort_column_changed   (GtkTreeSortable        *sortable);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean gtk_tree_sortable_get_sort_column_id    (GtkTreeSortable        *sortable,
                                                  int                    *sort_column_id,
                                                  GtkSortType            *order);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void     gtk_tree_sortable_set_sort_column_id    (GtkTreeSortable        *sortable,
                                                  int                     sort_column_id,
                                                  GtkSortType             order);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void     gtk_tree_sortable_set_sort_func         (GtkTreeSortable        *sortable,
                                                  int                     sort_column_id,
                                                  GtkTreeIterCompareFunc  sort_func,
                                                  gpointer                user_data,
                                                  GDestroyNotify          destroy);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void     gtk_tree_sortable_set_default_sort_func (GtkTreeSortable        *sortable,
                                                  GtkTreeIterCompareFunc  sort_func,
                                                  gpointer                user_data,
                                                  GDestroyNotify          destroy);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean gtk_tree_sortable_has_default_sort_func (GtkTreeSortable        *sortable);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkTreeSortable, g_object_unref)
diff --git a/gtk/gtktreestore.c b/gtk/deprecated/gtktreestore.c
similarity index 99%
rename from gtk/gtktreestore.c
rename to gtk/deprecated/gtktreestore.c
index 308f1c2853..fc946fe360 100644
--- a/gtk/gtktreestore.c
+++ b/gtk/deprecated/gtktreestore.c
@@ -26,6 +26,7 @@
 #include "gtkbuilderprivate.h"
 #include "gtkdebug.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 
 /**
  * GtkTreeStore:
@@ -316,6 +317,8 @@ gtk_tree_store_init (GtkTreeStore *tree_store)
  * `int`, `gchararray`, and `GdkTexture` respectively.
  *
  * Returns: a new `GtkTreeStore`
+ *
+ * Deprecated: 4.10
  **/
 GtkTreeStore *
 gtk_tree_store_new (int n_columns,
@@ -356,6 +359,8 @@ gtk_tree_store_new (int n_columns,
  * Non vararg creation function.  Used primarily by language bindings.
  *
  * Returns: (transfer full): a new `GtkTreeStore`
+ *
+ * Deprecated: 4.10
  **/
 GtkTreeStore *
 gtk_tree_store_newv (int    n_columns,
@@ -394,6 +399,8 @@ gtk_tree_store_newv (int    n_columns,
  * `GtkTreeStore`, and should only be used when constructing a new
  * `GtkTreeStore`.  It will not function after a row has been added,
  * or a method on the `GtkTreeModel` interface is called.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_store_set_column_types (GtkTreeStore *tree_store,
@@ -449,6 +456,7 @@ gtk_tree_store_set_n_columns (GtkTreeStore *tree_store,
  * %G_TYPE_DOUBLE, %G_TYPE_STRING, %G_TYPE_OBJECT, and %G_TYPE_BOXED, along with
  * subclasses of those types such as %GDK_TYPE_PIXBUF.
  *
+ * Deprecated: 4.10
  **/
 static void
 gtk_tree_store_set_column_type (GtkTreeStore *tree_store,
@@ -945,6 +953,7 @@ gtk_tree_store_real_set_value (GtkTreeStore *tree_store,
  * The type of @value must be convertible to the type of the
  * column.
  *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_store_set_value (GtkTreeStore *tree_store,
@@ -1091,6 +1100,8 @@ gtk_tree_store_set_valist_internal (GtkTreeStore *tree_store,
  * the columns and values as two arrays, instead of varargs.  This
  * function is mainly intended for language bindings or in case
  * the number of columns to change is not known until run-time.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_store_set_valuesv (GtkTreeStore *tree_store,
@@ -1133,6 +1144,7 @@ gtk_tree_store_set_valuesv (GtkTreeStore *tree_store,
  * See gtk_tree_store_set(); this version takes a va_list for
  * use by language bindings.
  *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_store_set_valist (GtkTreeStore *tree_store,
@@ -1179,6 +1191,8 @@ gtk_tree_store_set_valist (GtkTreeStore *tree_store,
  *
  * The value will be referenced by the store if it is a %G_TYPE_OBJECT, and it
  * will be copied if it is a %G_TYPE_STRING or %G_TYPE_BOXED.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_store_set (GtkTreeStore *tree_store,
@@ -1202,6 +1216,8 @@ gtk_tree_store_set (GtkTreeStore *tree_store,
  * last one.
  *
  * Returns: %TRUE if @iter is still valid, %FALSE if not.
+ *
+ * Deprecated: 4.10
  **/
 gboolean
 gtk_tree_store_remove (GtkTreeStore *tree_store,
@@ -1275,6 +1291,7 @@ gtk_tree_store_remove (GtkTreeStore *tree_store,
  * called.  To fill in values, you need to call gtk_tree_store_set() or
  * gtk_tree_store_set_value().
  *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_store_insert (GtkTreeStore *tree_store,
@@ -1339,6 +1356,7 @@ gtk_tree_store_insert (GtkTreeStore *tree_store,
  * this function is called.  To fill in values, you need to call
  * gtk_tree_store_set() or gtk_tree_store_set_value().
  *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_store_insert_before (GtkTreeStore *tree_store,
@@ -1420,6 +1438,7 @@ gtk_tree_store_insert_before (GtkTreeStore *tree_store,
  * this function is called.  To fill in values, you need to call
  * gtk_tree_store_set() or gtk_tree_store_set_value().
  *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_store_insert_after (GtkTreeStore *tree_store,
@@ -1511,6 +1530,8 @@ gtk_tree_store_insert_after (GtkTreeStore *tree_store,
  * repeatedly can affect the performance of the program,
  * gtk_tree_store_insert_with_values() should generally be preferred when
  * inserting rows in a sorted tree store.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_store_insert_with_values (GtkTreeStore *tree_store,
@@ -1588,6 +1609,8 @@ gtk_tree_store_insert_with_values (GtkTreeStore *tree_store,
  * A variant of gtk_tree_store_insert_with_values() which takes
  * the columns and values as two arrays, instead of varargs.  This
  * function is mainly intended for language bindings.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_store_insert_with_valuesv (GtkTreeStore *tree_store,
@@ -1662,6 +1685,8 @@ gtk_tree_store_insert_with_valuesv (GtkTreeStore *tree_store,
  * to the top level.  @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_tree_store_set() or gtk_tree_store_set_value().
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_store_prepend (GtkTreeStore *tree_store,
@@ -1721,6 +1746,8 @@ gtk_tree_store_prepend (GtkTreeStore *tree_store,
  * the top level.  @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_tree_store_set() or gtk_tree_store_set_value().
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_store_append (GtkTreeStore *tree_store,
@@ -1779,6 +1806,8 @@ gtk_tree_store_append (GtkTreeStore *tree_store,
  * parent (or grandparent or great-grandparent) of @descendant.
  *
  * Returns: %TRUE, if @iter is an ancestor of @descendant
+ *
+ * Deprecated: 4.10
  **/
 gboolean
 gtk_tree_store_is_ancestor (GtkTreeStore *tree_store,
@@ -1803,6 +1832,8 @@ gtk_tree_store_is_ancestor (GtkTreeStore *tree_store,
  * for anything down a level, etc.
  *
  * Returns: The depth of @iter
+ *
+ * Deprecated: 4.10
  **/
 int
 gtk_tree_store_iter_depth (GtkTreeStore *tree_store,
@@ -1871,6 +1902,8 @@ gtk_tree_store_increment_stamp (GtkTreeStore *tree_store)
  * @tree_store: a `GtkTreeStore`
  *
  * Removes all rows from @tree_store
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_store_clear (GtkTreeStore *tree_store)
@@ -1916,6 +1949,8 @@ gtk_tree_store_iter_is_valid_helper (GtkTreeIter *iter,
  * purposes.
  *
  * Returns: %TRUE if the iter is valid, %FALSE if the iter is invalid.
+ *
+ * Deprecated: 4.10
  **/
 gboolean
 gtk_tree_store_iter_is_valid (GtkTreeStore *tree_store,
@@ -2243,6 +2278,8 @@ gtk_tree_store_reorder_func (gconstpointer a,
  * Reorders the children of @parent in @tree_store to follow the order
  * indicated by @new_order. Note that this function only works with
  * unsorted stores.
+ *
+ * Deprecated: 4.10
  */
 void
 gtk_tree_store_reorder (GtkTreeStore *tree_store,
@@ -2329,6 +2366,8 @@ gtk_tree_store_reorder (GtkTreeStore *tree_store,
  *
  * Swaps @a and @b in the same level of @tree_store. Note that this function
  * only works with unsorted stores.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_store_swap (GtkTreeStore *tree_store,
@@ -2795,6 +2834,8 @@ free_paths_and_out:
  * @position should be in the same level. Note that this function only
  * works with unsorted stores. If @position is %NULL, @iter will be
  * moved to the end of the level.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_store_move_before (GtkTreeStore *tree_store,
@@ -2814,6 +2855,8 @@ gtk_tree_store_move_before (GtkTreeStore *tree_store,
  * @position should be in the same level. Note that this function only
  * works with unsorted stores. If @position is %NULL, @iter will be moved
  * to the start of the level.
+ *
+ * Deprecated: 4.10
  **/
 void
 gtk_tree_store_move_after (GtkTreeStore *tree_store,
diff --git a/gtk/gtktreestore.h b/gtk/deprecated/gtktreestore.h
similarity index 90%
rename from gtk/gtktreestore.h
rename to gtk/deprecated/gtktreestore.h
index 59709344ee..5b95363030 100644
--- a/gtk/gtktreestore.h
+++ b/gtk/deprecated/gtktreestore.h
@@ -23,8 +23,8 @@
 #endif
 
 #include <gdk/gdk.h>
-#include <gtk/gtktreemodel.h>
-#include <gtk/gtktreesortable.h>
+#include <gtk/deprecated/gtktreemodel.h>
+#include <gtk/deprecated/gtktreesortable.h>
 #include <stdarg.h>
 
 
@@ -60,63 +60,63 @@ struct _GtkTreeStoreClass
 
 GDK_AVAILABLE_IN_ALL
 GType         gtk_tree_store_get_type         (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeStore *gtk_tree_store_new              (int           n_columns,
                                               ...);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeStore *gtk_tree_store_newv             (int           n_columns,
                                               GType        *types);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 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_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_store_set_value        (GtkTreeStore *tree_store,
                                               GtkTreeIter  *iter,
                                               int           column,
                                               GValue       *value);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_store_set              (GtkTreeStore *tree_store,
                                               GtkTreeIter  *iter,
                                               ...);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_store_set_valuesv      (GtkTreeStore *tree_store,
                                               GtkTreeIter  *iter,
                                               int          *columns,
                                               GValue       *values,
                                               int           n_values);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_store_set_valist       (GtkTreeStore *tree_store,
                                               GtkTreeIter  *iter,
                                               va_list       var_args);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean      gtk_tree_store_remove           (GtkTreeStore *tree_store,
                                               GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_store_insert           (GtkTreeStore *tree_store,
                                               GtkTreeIter  *iter,
                                               GtkTreeIter  *parent,
                                               int           position);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_store_insert_before    (GtkTreeStore *tree_store,
                                               GtkTreeIter  *iter,
                                               GtkTreeIter  *parent,
                                               GtkTreeIter  *sibling);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_store_insert_after     (GtkTreeStore *tree_store,
                                               GtkTreeIter  *iter,
                                               GtkTreeIter  *parent,
                                               GtkTreeIter  *sibling);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_store_insert_with_values (GtkTreeStore *tree_store,
                                                 GtkTreeIter  *iter,
                                                 GtkTreeIter  *parent,
                                                 int           position,
                                                 ...);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 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_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_store_prepend          (GtkTreeStore *tree_store,
                                               GtkTreeIter  *iter,
                                               GtkTreeIter  *parent);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_store_append           (GtkTreeStore *tree_store,
                                               GtkTreeIter  *iter,
                                               GtkTreeIter  *parent);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean      gtk_tree_store_is_ancestor      (GtkTreeStore *tree_store,
                                               GtkTreeIter  *iter,
                                               GtkTreeIter  *descendant);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int           gtk_tree_store_iter_depth       (GtkTreeStore *tree_store,
                                               GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_store_clear            (GtkTreeStore *tree_store);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean      gtk_tree_store_iter_is_valid    (GtkTreeStore *tree_store,
                                                GtkTreeIter  *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_store_reorder          (GtkTreeStore *tree_store,
                                                GtkTreeIter  *parent,
                                                int          *new_order);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_store_swap             (GtkTreeStore *tree_store,
                                                GtkTreeIter  *a,
                                                GtkTreeIter  *b);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_store_move_before      (GtkTreeStore *tree_store,
                                                GtkTreeIter  *iter,
                                                GtkTreeIter  *position);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_store_move_after       (GtkTreeStore *tree_store,
                                                GtkTreeIter  *iter,
                                                GtkTreeIter  *position);
diff --git a/gtk/gtktreeview.c b/gtk/deprecated/gtktreeview.c
similarity index 98%
rename from gtk/gtktreeview.c
rename to gtk/deprecated/gtktreeview.c
index b55da32e6f..5403754579 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/deprecated/gtktreeview.c
@@ -69,6 +69,8 @@
 #include <math.h>
 #include <string.h>
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /**
  * GtkTreeView:
  *
@@ -7544,6 +7546,8 @@ column_sizing_notify (GObject    *object,
  * rows have the same height. 
  * Only enable this option if all rows are the same height and all
  * columns are of type %GTK_TREE_VIEW_COLUMN_FIXED.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_set_fixed_height_mode (GtkTreeView *tree_view,
@@ -7592,6 +7596,8 @@ gtk_tree_view_set_fixed_height_mode (GtkTreeView *tree_view,
  * Returns whether fixed height mode is turned on for @tree_view.
  * 
  * Returns: %TRUE if @tree_view is in fixed height mode
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_get_fixed_height_mode (GtkTreeView *tree_view)
@@ -10165,6 +10171,8 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment,
  * Creates a new `GtkTreeView` widget.
  *
  * Returns: A newly created `GtkTreeView` widget.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 GtkWidget *
 gtk_tree_view_new (void)
@@ -10179,6 +10187,8 @@ gtk_tree_view_new (void)
  * Creates a new `GtkTreeView` widget with the model initialized to @model.
  *
  * Returns: A newly created `GtkTreeView` widget.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 GtkWidget *
 gtk_tree_view_new_with_model (GtkTreeModel *model)
@@ -10197,6 +10207,8 @@ gtk_tree_view_new_with_model (GtkTreeModel *model)
  * model is unset.
  *
  * Returns: (transfer none) (nullable): A `GtkTreeModel`
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 GtkTreeModel *
 gtk_tree_view_get_model (GtkTreeView *tree_view)
@@ -10216,6 +10228,8 @@ gtk_tree_view_get_model (GtkTreeView *tree_view)
  * Sets the model for a `GtkTreeView`.  If the @tree_view already has a model
  * set, it will remove it before setting the new model.  If @model is %NULL,
  * then it will unset the old model.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_set_model (GtkTreeView  *tree_view,
@@ -10368,6 +10382,8 @@ gtk_tree_view_set_model (GtkTreeView  *tree_view,
  * Gets the `GtkTreeSelection` associated with @tree_view.
  *
  * Returns: (transfer none): A `GtkTreeSelection` object.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 GtkTreeSelection *
 gtk_tree_view_get_selection (GtkTreeView *tree_view)
@@ -10451,6 +10467,8 @@ gtk_tree_view_do_set_vadjustment (GtkTreeView   *tree_view,
  * Returns %TRUE if the headers on the @tree_view are visible.
  *
  * Returns: Whether the headers are visible or not.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_get_headers_visible (GtkTreeView *tree_view)
@@ -10468,6 +10486,8 @@ gtk_tree_view_get_headers_visible (GtkTreeView *tree_view)
  * @headers_visible: %TRUE if the headers are visible
  *
  * Sets the visibility state of the headers.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_set_headers_visible (GtkTreeView *tree_view,
@@ -10519,6 +10539,8 @@ gtk_tree_view_set_headers_visible (GtkTreeView *tree_view,
  *
  * Resizes all columns to their optimal width. Only works after the
  * treeview has been realized.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_columns_autosize (GtkTreeView *tree_view)
@@ -10549,6 +10571,8 @@ gtk_tree_view_columns_autosize (GtkTreeView *tree_view)
  * @setting: %TRUE if the columns are clickable.
  *
  * Allow the column title buttons to be clicked.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_set_headers_clickable (GtkTreeView *tree_view,
@@ -10581,6 +10605,8 @@ gtk_tree_view_set_headers_clickable (GtkTreeView *tree_view,
  * Returns whether all header columns are clickable.
  *
  * Returns: %TRUE if all header columns are clickable, otherwise %FALSE
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 gboolean 
 gtk_tree_view_get_headers_clickable (GtkTreeView *tree_view)
@@ -10604,6 +10630,8 @@ gtk_tree_view_get_headers_clickable (GtkTreeView *tree_view)
  *
  * Cause the `GtkTreeView`::row-activated signal to be emitted
  * on a single click instead of a double click.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_set_activate_on_single_click (GtkTreeView *tree_view,
@@ -10629,6 +10657,8 @@ gtk_tree_view_set_activate_on_single_click (GtkTreeView *tree_view,
  * Gets the setting set by gtk_tree_view_set_activate_on_single_click().
  *
  * Returns: %TRUE if row-activated will be emitted on a single click
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_get_activate_on_single_click (GtkTreeView *tree_view)
@@ -10653,6 +10683,8 @@ gtk_tree_view_get_activate_on_single_click (GtkTreeView *tree_view)
  * GTK_TREE_VIEW_COLUMN_FIXED.
  *
  * Returns: The number of columns in @tree_view after appending.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 int
 gtk_tree_view_append_column (GtkTreeView       *tree_view,
@@ -10673,6 +10705,8 @@ gtk_tree_view_append_column (GtkTreeView       *tree_view,
  * Removes @column from @tree_view.
  *
  * Returns: The number of columns in @tree_view after removing.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 int
 gtk_tree_view_remove_column (GtkTreeView       *tree_view,
@@ -10741,6 +10775,8 @@ gtk_tree_view_remove_column (GtkTreeView       *tree_view,
  * set to be GTK_TREE_VIEW_COLUMN_FIXED.
  *
  * Returns: The number of columns in @tree_view after insertion.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 int
 gtk_tree_view_insert_column (GtkTreeView       *tree_view,
@@ -10810,6 +10846,8 @@ gtk_tree_view_insert_column (GtkTreeView       *tree_view,
  * property set to be GTK_TREE_VIEW_COLUMN_FIXED.
  *
  * Returns: The number of columns in @tree_view after insertion.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 int
 gtk_tree_view_insert_column_with_attributes (GtkTreeView     *tree_view,
@@ -10867,6 +10905,8 @@ gtk_tree_view_insert_column_with_attributes (GtkTreeView     *tree_view,
  * “sizing” property set to be GTK_TREE_VIEW_COLUMN_FIXED.
  *
  * Returns: number of columns in the tree view post-insert
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 int
 gtk_tree_view_insert_column_with_data_func  (GtkTreeView               *tree_view,
@@ -10900,6 +10940,8 @@ gtk_tree_view_insert_column_with_data_func  (GtkTreeView               *tree_vie
  * Queries the number of columns in the given @tree_view.
  *
  * Returns: The number of columns in the @tree_view
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 guint
 gtk_tree_view_get_n_columns (GtkTreeView *tree_view)
@@ -10920,6 +10962,8 @@ gtk_tree_view_get_n_columns (GtkTreeView *tree_view)
  *
  * Returns: (nullable) (transfer none): The `GtkTreeViewColumn`, or %NULL if the
  * position is outside the range of columns.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 GtkTreeViewColumn *
 gtk_tree_view_get_column (GtkTreeView *tree_view,
@@ -10946,6 +10990,8 @@ gtk_tree_view_get_column (GtkTreeView *tree_view,
  * The returned list must be freed with g_list_free ().
  *
  * Returns: (element-type GtkTreeViewColumn) (transfer container): A list of `GtkTreeViewColumn`s
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 GList *
 gtk_tree_view_get_columns (GtkTreeView *tree_view)
@@ -10965,6 +11011,8 @@ gtk_tree_view_get_columns (GtkTreeView *tree_view)
  *
  * Moves @column to be after to @base_column.  If @base_column is %NULL, then
  * @column is placed in the first position.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_move_column_after (GtkTreeView       *tree_view,
@@ -11024,6 +11072,8 @@ gtk_tree_view_move_column_after (GtkTreeView       *tree_view,
  *
  * If you do not want expander arrow to appear in your tree, set the 
  * expander column to a hidden column.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_set_expander_column (GtkTreeView       *tree_view,
@@ -11051,6 +11101,8 @@ gtk_tree_view_set_expander_column (GtkTreeView       *tree_view,
  * This column has the expander arrow drawn next to it.
  *
  * Returns: (transfer none) (nullable): The expander column.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 GtkTreeViewColumn *
 gtk_tree_view_get_expander_column (GtkTreeView *tree_view)
@@ -11083,6 +11135,8 @@ gtk_tree_view_get_expander_column (GtkTreeView *tree_view)
  * are %NULL, then they indicate an edge.  If @func is set to be %NULL, then
  * @tree_view reverts to the default behavior of allowing all columns to be
  * dropped everywhere.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_set_column_drag_function (GtkTreeView               *tree_view,
@@ -11115,6 +11169,8 @@ gtk_tree_view_set_column_drag_function (GtkTreeView               *tree_view,
  * using gtk_tree_view_scroll_to_cell().
  *
  * If either @tree_x or @tree_y are -1, then that direction isn’t scrolled.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_scroll_to_point (GtkTreeView *tree_view,
@@ -11162,6 +11218,8 @@ gtk_tree_view_scroll_to_point (GtkTreeView *tree_view,
  * This function only works if the model is set, and @path is a valid row on the
  * model.  If the model changes before the @tree_view is realized, the centered
  * path will be modified to reflect this change.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_scroll_to_cell (GtkTreeView       *tree_view,
@@ -11265,6 +11323,8 @@ gtk_tree_view_scroll_to_cell (GtkTreeView       *tree_view,
  * @column: (nullable): The `GtkTreeViewColumn` to be activated.
  *
  * Activates the cell determined by @path and @column.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_row_activated (GtkTreeView       *tree_view,
@@ -11312,6 +11372,8 @@ gtk_tree_view_expand_all_emission_helper (GtkTreeRBTree *tree,
  * @tree_view: A `GtkTreeView`.
  *
  * Recursively expands all nodes in the @tree_view.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_expand_all (GtkTreeView *tree_view)
@@ -11344,6 +11406,8 @@ gtk_tree_view_expand_all (GtkTreeView *tree_view)
  * @tree_view: A `GtkTreeView`.
  *
  * Recursively collapses all visible, expanded nodes in @tree_view.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_collapse_all (GtkTreeView *tree_view)
@@ -11384,6 +11448,8 @@ gtk_tree_view_collapse_all (GtkTreeView *tree_view)
  *
  * Expands the row at @path. This will also expand all parent rows of
  * @path as necessary.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_expand_to_path (GtkTreeView *tree_view,
@@ -11513,6 +11579,8 @@ gtk_tree_view_real_expand_row (GtkTreeView   *tree_view,
  * Opens the row so its children are visible.
  *
  * Returns: %TRUE if the row existed and had children
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_expand_row (GtkTreeView *tree_view,
@@ -11651,6 +11719,8 @@ gtk_tree_view_real_collapse_row (GtkTreeView   *tree_view,
  * Collapses a row (hides its child rows, if they exist).
  *
  * Returns: %TRUE if the row was collapsed.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_collapse_row (GtkTreeView *tree_view,
@@ -11711,6 +11781,8 @@ gtk_tree_view_map_expanded_rows_helper (GtkTreeView            *tree_view,
  * @data: User data to be passed to the function.
  *
  * Calls @func on all expanded rows.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_map_expanded_rows (GtkTreeView            *tree_view,
@@ -11740,6 +11812,8 @@ gtk_tree_view_map_expanded_rows (GtkTreeView            *tree_view,
  * Returns %TRUE if the node pointed to by @path is expanded in @tree_view.
  *
  * Returns: %TRUE if #path is expanded.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_row_expanded (GtkTreeView *tree_view,
@@ -11767,6 +11841,8 @@ gtk_tree_view_row_expanded (GtkTreeView *tree_view,
  * gtk_tree_view_set_reorderable().
  *
  * Returns: %TRUE if the tree can be reordered.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_get_reorderable (GtkTreeView *tree_view)
@@ -11797,6 +11873,8 @@ gtk_tree_view_get_reorderable (GtkTreeView *tree_view)
  * 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.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_set_reorderable (GtkTreeView *tree_view,
@@ -11921,6 +11999,8 @@ gtk_tree_view_real_set_cursor (GtkTreeView     *tree_view,
  *
  * The returned `GtkTreePath` must be freed with gtk_tree_path_free() when
  * you are done with it.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_get_cursor (GtkTreeView        *tree_view,
@@ -11964,6 +12044,8 @@ gtk_tree_view_get_cursor (GtkTreeView        *tree_view,
  *
  * If @path is invalid for @model, the current cursor (if any) will be unset
  * and the function will return without failing.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_set_cursor (GtkTreeView       *tree_view,
@@ -11997,6 +12079,8 @@ gtk_tree_view_set_cursor (GtkTreeView       *tree_view,
  *
  * If @path is invalid for @model, the current cursor (if any) will be unset
  * and the function will return without failing.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_set_cursor_on_cell (GtkTreeView       *tree_view,
@@ -12083,6 +12167,8 @@ gtk_tree_view_set_cursor_on_cell (GtkTreeView       *tree_view,
  * gtk_tree_view_convert_widget_to_bin_window_coords().
  *
  * Returns: %TRUE if a row exists at that coordinate.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_get_path_at_pos (GtkTreeView        *tree_view,
@@ -12238,6 +12324,8 @@ gtk_tree_view_get_cell_area_y_offset (GtkTreeView   *tree_view,
  * returned rectangle is equivalent to the @cell_area passed to
  * gtk_cell_renderer_render().  This function is only valid if @tree_view is
  * realized.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_get_cell_area (GtkTreeView        *tree_view,
@@ -12365,6 +12453,7 @@ gtk_tree_view_get_row_y_offset (GtkTreeView   *tree_view,
  * returned by gtk_tree_view_get_cell_area(), which returns only the cell
  * itself, excluding surrounding borders and the tree expander area.
  *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_get_background_area (GtkTreeView        *tree_view,
@@ -12415,6 +12504,8 @@ gtk_tree_view_get_background_area (GtkTreeView        *tree_view,
  * gtk_tree_view_convert_tree_to_bin_window_coords().
  * Tree coordinates start at 0,0 for row 0 of the tree, and cover the entire
  * scrollable area of the tree.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_get_visible_rect (GtkTreeView  *tree_view,
@@ -12448,6 +12539,8 @@ gtk_tree_view_get_visible_rect (GtkTreeView  *tree_view,
  *
  * Converts widget coordinates to coordinates for the
  * tree (the full scrollable area of the tree).
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_convert_widget_to_tree_coords (GtkTreeView *tree_view,
@@ -12478,6 +12571,8 @@ gtk_tree_view_convert_widget_to_tree_coords (GtkTreeView *tree_view,
  *
  * Converts tree coordinates (coordinates in full scrollable area of the tree)
  * to widget coordinates.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_convert_tree_to_widget_coords (GtkTreeView *tree_view,
@@ -12507,6 +12602,8 @@ gtk_tree_view_convert_tree_to_widget_coords (GtkTreeView *tree_view,
  * @by: (out): return location for bin_window Y coordinate
  *
  * Converts widget coordinates to coordinates for the bin_window.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_convert_widget_to_bin_window_coords (GtkTreeView *tree_view,
@@ -12534,6 +12631,8 @@ gtk_tree_view_convert_widget_to_bin_window_coords (GtkTreeView *tree_view,
  * @wy: (out): return location for widget Y coordinate
  *
  * Converts bin_window coordinates to widget relative coordinates.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_convert_bin_window_to_widget_coords (GtkTreeView *tree_view,
@@ -12562,6 +12661,8 @@ gtk_tree_view_convert_bin_window_to_widget_coords (GtkTreeView *tree_view,
  *
  * Converts tree coordinates (coordinates in full scrollable area of the tree)
  * to bin_window coordinates.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_convert_tree_to_bin_window_coords (GtkTreeView *tree_view,
@@ -12590,6 +12691,8 @@ gtk_tree_view_convert_tree_to_bin_window_coords (GtkTreeView *tree_view,
  *
  * Converts bin_window coordinates to coordinates for the
  * tree (the full scrollable area of the tree).
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_convert_bin_window_to_tree_coords (GtkTreeView *tree_view,
@@ -12622,6 +12725,8 @@ gtk_tree_view_convert_bin_window_to_tree_coords (GtkTreeView *tree_view,
  * The paths should be freed with gtk_tree_path_free() after use.
  *
  * Returns: %TRUE, if valid paths were placed in @start_path and @end_path.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 gboolean
 gtk_tree_view_get_visible_range (GtkTreeView  *tree_view,
@@ -12704,6 +12809,8 @@ gtk_tree_view_get_visible_range (GtkTreeView  *tree_view,
  *
  * Returns: %TRUE if the area at the given coordinates is blank,
  * %FALSE otherwise.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 gboolean
 gtk_tree_view_is_blank_at_pos (GtkTreeView       *tree_view,
@@ -12798,6 +12905,8 @@ unset_reorderable (GtkTreeView *tree_view)
  *
  * Turns @tree_view into a drag source for automatic DND. Calling this
  * method sets `GtkTreeView`:reorderable to %FALSE.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_enable_model_drag_source (GtkTreeView       *tree_view,
@@ -12830,6 +12939,8 @@ gtk_tree_view_enable_model_drag_source (GtkTreeView       *tree_view,
  * 
  * Turns @tree_view into a drop destination for automatic DND. Calling
  * this method sets `GtkTreeView`:reorderable to %FALSE.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_enable_model_drag_dest (GtkTreeView       *tree_view,
@@ -12869,6 +12980,8 @@ gtk_tree_view_enable_model_drag_dest (GtkTreeView       *tree_view,
  * Undoes the effect of
  * gtk_tree_view_enable_model_drag_source(). Calling this method sets
  * `GtkTreeView`:reorderable to %FALSE.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_unset_rows_drag_source (GtkTreeView *tree_view)
@@ -12901,6 +13014,8 @@ gtk_tree_view_unset_rows_drag_source (GtkTreeView *tree_view)
  * Undoes the effect of
  * gtk_tree_view_enable_model_drag_dest(). Calling this method sets
  * `GtkTreeView`:reorderable to %FALSE.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_unset_rows_drag_dest (GtkTreeView *tree_view)
@@ -12938,6 +13053,8 @@ gtk_tree_view_unset_rows_drag_dest (GtkTreeView *tree_view)
  *
  * Sets the row that is highlighted for feedback.
  * If @path is %NULL, an existing highlight is removed.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 void
 gtk_tree_view_set_drag_dest_row (GtkTreeView            *tree_view,
@@ -13003,6 +13120,8 @@ gtk_tree_view_set_drag_dest_row (GtkTreeView            *tree_view,
  * @pos: (out) (optional): Return location for the drop position
  * 
  * Gets information about the row that is highlighted for feedback.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_get_drag_dest_row (GtkTreeView              *tree_view,
@@ -13047,6 +13166,8 @@ gtk_tree_view_get_drag_dest_row (GtkTreeView              *tree_view,
  * 
  * Returns: whether there is a row at the given position, %TRUE if this
  * is indeed the case.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_get_dest_row_at_pos (GtkTreeView             *tree_view,
@@ -13158,6 +13279,8 @@ gtk_treeview_snapshot_border (GtkSnapshot           *snapshot,
  * This image is used for a drag icon.
  *
  * Returns: (transfer full) (nullable): a newly-allocated surface of the drag icon.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 GdkPaintable *
 gtk_tree_view_create_row_drag_icon (GtkTreeView  *tree_view,
@@ -13314,6 +13437,8 @@ gtk_tree_view_create_row_drag_icon (GtkTreeView  *tree_view,
  * 
  * Note that even if this is %FALSE, the user can still initiate a search 
  * using the “start-interactive-search” key binding.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 void
 gtk_tree_view_set_enable_search (GtkTreeView *tree_view,
@@ -13340,6 +13465,8 @@ gtk_tree_view_set_enable_search (GtkTreeView *tree_view,
  * by typing in text.
  *
  * Returns: whether or not to let the user search interactively
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 gboolean
 gtk_tree_view_get_enable_search (GtkTreeView *tree_view)
@@ -13359,6 +13486,8 @@ gtk_tree_view_get_enable_search (GtkTreeView *tree_view)
  * Gets the column searched on by the interactive search code.
  *
  * Returns: the column the interactive search code searches in.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 int
 gtk_tree_view_get_search_column (GtkTreeView *tree_view)
@@ -13384,6 +13513,8 @@ gtk_tree_view_get_search_column (GtkTreeView *tree_view)
  *
  * Note that @column refers to a column of the current model. The search 
  * column is reset to -1 when the model is changed.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 void
 gtk_tree_view_set_search_column (GtkTreeView *tree_view,
@@ -13408,6 +13539,8 @@ gtk_tree_view_set_search_column (GtkTreeView *tree_view,
  * Returns the compare function currently in use.
  *
  * Returns: the currently used compare function for the search code.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 
 GtkTreeViewSearchEqualFunc
@@ -13430,6 +13563,8 @@ gtk_tree_view_get_search_equal_func (GtkTreeView *tree_view)
  * Sets the compare function for the interactive search capabilities; note
  * that somewhat like strcmp() returning 0 for equality
  * `GtkTreeView`SearchEqualFunc returns %FALSE on matches.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_set_search_equal_func (GtkTreeView                *tree_view,
@@ -13461,6 +13596,8 @@ gtk_tree_view_set_search_equal_func (GtkTreeView                *tree_view,
  * will be returned.
  *
  * Returns: (transfer none) (nullable): the entry currently in use as search entry.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 GtkEditable *
 gtk_tree_view_get_search_entry (GtkTreeView *tree_view)
@@ -13485,6 +13622,8 @@ gtk_tree_view_get_search_entry (GtkTreeView *tree_view)
  * in our interface at all time at a fixed position.  Passing %NULL for
  * @entry will make the interactive search code use the built-in popup
  * entry again.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 void
 gtk_tree_view_set_search_entry (GtkTreeView *tree_view,
@@ -14154,6 +14293,8 @@ gtk_tree_view_stop_editing (GtkTreeView *tree_view,
  * Hover selection makes the selected row follow the pointer.
  * Currently, this works only for the selection modes 
  * %GTK_SELECTION_SINGLE and %GTK_SELECTION_BROWSE.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void     
 gtk_tree_view_set_hover_selection (GtkTreeView *tree_view,
@@ -14178,6 +14319,8 @@ gtk_tree_view_set_hover_selection (GtkTreeView *tree_view,
  * Returns whether hover selection mode is turned on for @tree_view.
  * 
  * Returns: %TRUE if @tree_view is in hover selection mode
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 gboolean 
 gtk_tree_view_get_hover_selection (GtkTreeView *tree_view)
@@ -14197,6 +14340,8 @@ gtk_tree_view_get_hover_selection (GtkTreeView *tree_view)
  * Enables or disables the hover expansion mode of @tree_view.
  * Hover expansion makes rows expand or collapse if the pointer 
  * moves over them.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void     
 gtk_tree_view_set_hover_expand (GtkTreeView *tree_view,
@@ -14221,6 +14366,8 @@ gtk_tree_view_set_hover_expand (GtkTreeView *tree_view,
  * Returns whether hover expansion mode is turned on for @tree_view.
  * 
  * Returns: %TRUE if @tree_view is in hover expansion mode
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 gboolean 
 gtk_tree_view_get_hover_expand (GtkTreeView *tree_view)
@@ -14240,6 +14387,8 @@ gtk_tree_view_get_hover_expand (GtkTreeView *tree_view)
  * Enables or disables rubber banding in @tree_view.  If the selection mode
  * is %GTK_SELECTION_MULTIPLE, rubber banding will allow the user to select
  * multiple rows by dragging the mouse.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_set_rubber_banding (GtkTreeView *tree_view,
@@ -14266,6 +14415,8 @@ gtk_tree_view_set_rubber_banding (GtkTreeView *tree_view,
  * user to select multiple rows by dragging the mouse.
  * 
  * Returns: %TRUE if rubber banding in @tree_view is enabled.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_get_rubber_banding (GtkTreeView *tree_view)
@@ -14284,6 +14435,8 @@ gtk_tree_view_get_rubber_banding (GtkTreeView *tree_view)
  *
  * Returns: %TRUE if a rubber banding operation is currently being
  * done in @tree_view.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_is_rubber_banding_active (GtkTreeView *tree_view)
@@ -14306,6 +14459,8 @@ gtk_tree_view_is_rubber_banding_active (GtkTreeView *tree_view)
  * Returns the current row separator function.
  * 
  * Returns: the current row separator function.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 GtkTreeViewRowSeparatorFunc 
 gtk_tree_view_get_row_separator_func (GtkTreeView *tree_view)
@@ -14327,6 +14482,8 @@ gtk_tree_view_get_row_separator_func (GtkTreeView *tree_view)
  * 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 %NULL, no separators are drawn. This is the default value.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  **/
 void
 gtk_tree_view_set_row_separator_func (GtkTreeView                 *tree_view,
@@ -14358,6 +14515,8 @@ gtk_tree_view_set_row_separator_func (GtkTreeView                 *tree_view,
  *
  * Returns: a `GtkTreeView`GridLines value indicating which grid lines
  * are enabled.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 GtkTreeViewGridLines
 gtk_tree_view_get_grid_lines (GtkTreeView *tree_view)
@@ -14376,6 +14535,8 @@ gtk_tree_view_get_grid_lines (GtkTreeView *tree_view)
  * enable.
  *
  * Sets which grid lines to draw in @tree_view.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 void
 gtk_tree_view_set_grid_lines (GtkTreeView           *tree_view,
@@ -14405,6 +14566,8 @@ gtk_tree_view_set_grid_lines (GtkTreeView           *tree_view,
  *
  * Returns: %TRUE if tree lines are drawn in @tree_view, %FALSE
  * otherwise.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 gboolean
 gtk_tree_view_get_enable_tree_lines (GtkTreeView *tree_view)
@@ -14423,6 +14586,8 @@ gtk_tree_view_get_enable_tree_lines (GtkTreeView *tree_view)
  *
  * Sets whether to draw lines interconnecting the expanders in @tree_view.
  * This does not have any visible effects for lists.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 void
 gtk_tree_view_set_enable_tree_lines (GtkTreeView *tree_view,
@@ -14460,6 +14625,8 @@ gtk_tree_view_set_enable_tree_lines (GtkTreeView *tree_view,
  * can set a custom indentation in this case using
  * gtk_tree_view_set_level_indentation().
  * This does not have any visible effects for lists.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 void
 gtk_tree_view_set_show_expanders (GtkTreeView *tree_view,
@@ -14486,6 +14653,8 @@ gtk_tree_view_set_show_expanders (GtkTreeView *tree_view,
  *
  * Returns: %TRUE if expanders are drawn in @tree_view, %FALSE
  * otherwise.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 gboolean
 gtk_tree_view_get_show_expanders (GtkTreeView *tree_view)
@@ -14507,6 +14676,8 @@ gtk_tree_view_get_show_expanders (GtkTreeView *tree_view)
  * pixels, a value of 0 disables this feature and in this case only the default
  * indentation will be used.
  * This does not have any visible effects for lists.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 void
 gtk_tree_view_set_level_indentation (GtkTreeView *tree_view,
@@ -14528,6 +14699,8 @@ gtk_tree_view_set_level_indentation (GtkTreeView *tree_view,
  *
  * Returns: the amount of extra indentation for child levels in
  * @tree_view.  A return value of 0 means that this feature is disabled.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 int
 gtk_tree_view_get_level_indentation (GtkTreeView *tree_view)
@@ -14548,6 +14721,8 @@ gtk_tree_view_get_level_indentation (GtkTreeView *tree_view)
  * Sets the tip area of @tooltip to be the area covered by the row at @path.
  * See also gtk_tree_view_set_tooltip_column() for a simpler alternative.
  * See also gtk_tooltip_set_tip_area().
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 void
 gtk_tree_view_set_tooltip_row (GtkTreeView *tree_view,
@@ -14579,6 +14754,8 @@ gtk_tree_view_set_tooltip_row (GtkTreeView *tree_view,
  * mouse cursor for this function to operate correctly.
  *
  * See also gtk_tree_view_set_tooltip_column() for a simpler alternative.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 void
 gtk_tree_view_set_tooltip_cell (GtkTreeView       *tree_view,
@@ -14676,6 +14853,8 @@ gtk_tree_view_set_tooltip_cell (GtkTreeView       *tree_view,
  * to be relative to @tree_view’s bin_window if @keyboard_tooltip is %FALSE.
  *
  * Returns: whether or not the given tooltip context points to a row
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 gboolean
 gtk_tree_view_get_tooltip_context (GtkTreeView   *tree_view,
@@ -14793,6 +14972,8 @@ gtk_tree_view_set_tooltip_query_cb (GtkWidget  *widget,
  *
  * Note that the signal handler sets the text with gtk_tooltip_set_markup(),
  * so &, <, etc have to be escaped in the text.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 void
 gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view,
@@ -14835,6 +15016,8 @@ gtk_tree_view_set_tooltip_column (GtkTreeView *tree_view,
  *
  * Returns: the index of the tooltip column that is currently being
  * used, or -1 if this is disabled.
+ *
+ * Deprecated: 4.12: Use GtkListView and GtkColumnView instead
  */
 int
 gtk_tree_view_get_tooltip_column (GtkTreeView *tree_view)
diff --git a/gtk/gtktreeview.h b/gtk/deprecated/gtktreeview.h
similarity index 91%
rename from gtk/gtktreeview.h
rename to gtk/deprecated/gtktreeview.h
index 806f3594e1..f4c020d923 100644
--- a/gtk/gtktreeview.h
+++ b/gtk/deprecated/gtktreeview.h
@@ -23,8 +23,8 @@
 #endif
 
 #include <gtk/gtkwidget.h>
-#include <gtk/gtktreemodel.h>
-#include <gtk/gtktreeviewcolumn.h>
+#include <gtk/deprecated/gtktreemodel.h>
+#include <gtk/deprecated/gtktreeviewcolumn.h>
 #include <gtk/gtkentry.h>
 
 G_BEGIN_DECLS
@@ -190,56 +190,56 @@ GDK_AVAILABLE_IN_ALL
 GType                  gtk_tree_view_get_type                      (void) G_GNUC_CONST;
 
 /* Creators */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget             *gtk_tree_view_new                           (void);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget             *gtk_tree_view_new_with_model                (GtkTreeModel              *model);
 
 /* Accessors */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeModel          *gtk_tree_view_get_model                     (GtkTreeView               *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_set_model                     (GtkTreeView               *tree_view,
                                                                    GtkTreeModel              *model);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeSelection      *gtk_tree_view_get_selection                 (GtkTreeView               *tree_view);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean               gtk_tree_view_get_headers_visible           (GtkTreeView               *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_set_headers_visible           (GtkTreeView               *tree_view,
                                                                    gboolean                   
headers_visible);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_columns_autosize              (GtkTreeView               *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean               gtk_tree_view_get_headers_clickable         (GtkTreeView *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_set_headers_clickable         (GtkTreeView               *tree_view,
                                                                    gboolean                   setting);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean               gtk_tree_view_get_activate_on_single_click  (GtkTreeView               *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_set_activate_on_single_click  (GtkTreeView               *tree_view,
                                                                    gboolean                   single);
 
 /* Column functions */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                    gtk_tree_view_append_column                 (GtkTreeView               *tree_view,
                                                                    GtkTreeViewColumn         *column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                    gtk_tree_view_remove_column                 (GtkTreeView               *tree_view,
                                                                    GtkTreeViewColumn         *column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                    gtk_tree_view_insert_column                 (GtkTreeView               *tree_view,
                                                                    GtkTreeViewColumn         *column,
                                                                    int                        position);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                    gtk_tree_view_insert_column_with_attributes (GtkTreeView               *tree_view,
                                                                    int                        position,
                                                                    const char                *title,
                                                                    GtkCellRenderer           *cell,
                                                                    ...) G_GNUC_NULL_TERMINATED;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                    gtk_tree_view_insert_column_with_data_func  (GtkTreeView               *tree_view,
                                                                    int                        position,
                                                                    const char                *title,
@@ -248,89 +248,89 @@ int                    gtk_tree_view_insert_column_with_data_func  (GtkTreeView
                                                                     gpointer                   data,
                                                                     GDestroyNotify             dnotify);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 guint                  gtk_tree_view_get_n_columns                 (GtkTreeView               *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeViewColumn     *gtk_tree_view_get_column                    (GtkTreeView               *tree_view,
                                                                    int                        n);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GList                 *gtk_tree_view_get_columns                   (GtkTreeView               *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_move_column_after             (GtkTreeView               *tree_view,
                                                                    GtkTreeViewColumn         *column,
                                                                    GtkTreeViewColumn         *base_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_set_expander_column           (GtkTreeView               *tree_view,
                                                                    GtkTreeViewColumn         *column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeViewColumn     *gtk_tree_view_get_expander_column           (GtkTreeView               *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_set_column_drag_function      (GtkTreeView               *tree_view,
                                                                    GtkTreeViewColumnDropFunc  func,
                                                                    gpointer                   user_data,
                                                                    GDestroyNotify             destroy);
 
 /* Actions */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_scroll_to_point               (GtkTreeView               *tree_view,
                                                                    int                        tree_x,
                                                                    int                        tree_y);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_scroll_to_cell                (GtkTreeView               *tree_view,
                                                                    GtkTreePath               *path,
                                                                    GtkTreeViewColumn         *column,
                                                                    gboolean                   use_align,
                                                                    float                      row_align,
                                                                    float                      col_align);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_row_activated                 (GtkTreeView               *tree_view,
                                                                    GtkTreePath               *path,
                                                                    GtkTreeViewColumn         *column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_expand_all                    (GtkTreeView               *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_collapse_all                  (GtkTreeView               *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_expand_to_path                (GtkTreeView               *tree_view,
                                                                    GtkTreePath               *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean               gtk_tree_view_expand_row                    (GtkTreeView               *tree_view,
                                                                    GtkTreePath               *path,
                                                                    gboolean                   open_all);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean               gtk_tree_view_collapse_row                  (GtkTreeView               *tree_view,
                                                                    GtkTreePath               *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_map_expanded_rows             (GtkTreeView               *tree_view,
                                                                    GtkTreeViewMappingFunc     func,
                                                                    gpointer                   data);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean               gtk_tree_view_row_expanded                  (GtkTreeView               *tree_view,
                                                                    GtkTreePath               *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_set_reorderable               (GtkTreeView               *tree_view,
                                                                    gboolean                   reorderable);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean               gtk_tree_view_get_reorderable               (GtkTreeView               *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_set_cursor                    (GtkTreeView               *tree_view,
                                                                    GtkTreePath               *path,
                                                                    GtkTreeViewColumn         *focus_column,
                                                                    gboolean                   start_editing);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_set_cursor_on_cell            (GtkTreeView               *tree_view,
                                                                    GtkTreePath               *path,
                                                                    GtkTreeViewColumn         *focus_column,
                                                                    GtkCellRenderer           *focus_cell,
                                                                    gboolean                   start_editing);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_get_cursor                    (GtkTreeView               *tree_view,
                                                                    GtkTreePath              **path,
                                                                    GtkTreeViewColumn        **focus_column);
 
 
 /* Layout information */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean               gtk_tree_view_get_path_at_pos               (GtkTreeView               *tree_view,
                                                                    int                        x,
                                                                    int                        y,
@@ -338,24 +338,24 @@ gboolean               gtk_tree_view_get_path_at_pos               (GtkTreeView
                                                                    GtkTreeViewColumn        **column,
                                                                    int                       *cell_x,
                                                                    int                       *cell_y);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_get_cell_area                 (GtkTreeView               *tree_view,
                                                                    GtkTreePath               *path,
                                                                    GtkTreeViewColumn         *column,
                                                                    GdkRectangle              *rect);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_get_background_area           (GtkTreeView               *tree_view,
                                                                    GtkTreePath               *path,
                                                                    GtkTreeViewColumn         *column,
                                                                    GdkRectangle              *rect);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_get_visible_rect              (GtkTreeView               *tree_view,
                                                                    GdkRectangle              *visible_rect);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean               gtk_tree_view_get_visible_range             (GtkTreeView               *tree_view,
                                                                    GtkTreePath              **start_path,
                                                                    GtkTreePath              **end_path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean               gtk_tree_view_is_blank_at_pos               (GtkTreeView               *tree_view,
                                                                     int                        x,
                                                                     int                        y,
@@ -365,168 +365,168 @@ gboolean               gtk_tree_view_is_blank_at_pos               (GtkTreeView
                                                                     int                       *cell_y);
 
 /* Drag-and-Drop support */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_enable_model_drag_source      (GtkTreeView               *tree_view,
                                                                    GdkModifierType            
start_button_mask,
                                                                    GdkContentFormats         *formats,
                                                                    GdkDragAction              actions);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_enable_model_drag_dest        (GtkTreeView               *tree_view,
                                                                    GdkContentFormats         *formats,
                                                                    GdkDragAction              actions);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_unset_rows_drag_source        (GtkTreeView               *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_unset_rows_drag_dest          (GtkTreeView               *tree_view);
 
 
 /* These are useful to implement your own custom stuff. */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_set_drag_dest_row             (GtkTreeView               *tree_view,
                                                                    GtkTreePath               *path,
                                                                    GtkTreeViewDropPosition    pos);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                   gtk_tree_view_get_drag_dest_row             (GtkTreeView               *tree_view,
                                                                    GtkTreePath              **path,
                                                                    GtkTreeViewDropPosition   *pos);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean               gtk_tree_view_get_dest_row_at_pos           (GtkTreeView               *tree_view,
                                                                    int                        drag_x,
                                                                    int                        drag_y,
                                                                    GtkTreePath              **path,
                                                                    GtkTreeViewDropPosition   *pos);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GdkPaintable          *gtk_tree_view_create_row_drag_icon          (GtkTreeView               *tree_view,
                                                                    GtkTreePath               *path);
 
 /* Interactive search */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                       gtk_tree_view_set_enable_search     (GtkTreeView                *tree_view,
                                                                gboolean                    enable_search);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean                   gtk_tree_view_get_enable_search     (GtkTreeView                *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                        gtk_tree_view_get_search_column     (GtkTreeView                *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                       gtk_tree_view_set_search_column     (GtkTreeView                *tree_view,
                                                                int                         column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeViewSearchEqualFunc gtk_tree_view_get_search_equal_func (GtkTreeView                *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                       gtk_tree_view_set_search_equal_func (GtkTreeView                *tree_view,
                                                                GtkTreeViewSearchEqualFunc  search_equal_func,
                                                                gpointer                    search_user_data,
                                                                GDestroyNotify              search_destroy);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkEditable                  *gtk_tree_view_get_search_entry         (GtkTreeView                   
*tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                          gtk_tree_view_set_search_entry         (GtkTreeView                   
*tree_view,
                                                                      GtkEditable                   *entry);
 
 /* Convert between the different coordinate systems */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void gtk_tree_view_convert_widget_to_tree_coords       (GtkTreeView *tree_view,
                                                        int          wx,
                                                        int          wy,
                                                        int         *tx,
                                                        int         *ty);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void gtk_tree_view_convert_tree_to_widget_coords       (GtkTreeView *tree_view,
                                                        int          tx,
                                                        int          ty,
                                                        int         *wx,
                                                        int         *wy);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void gtk_tree_view_convert_widget_to_bin_window_coords (GtkTreeView *tree_view,
                                                        int          wx,
                                                        int          wy,
                                                        int         *bx,
                                                        int         *by);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void gtk_tree_view_convert_bin_window_to_widget_coords (GtkTreeView *tree_view,
                                                        int          bx,
                                                        int          by,
                                                        int         *wx,
                                                        int         *wy);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void gtk_tree_view_convert_tree_to_bin_window_coords   (GtkTreeView *tree_view,
                                                        int          tx,
                                                        int          ty,
                                                        int         *bx,
                                                        int         *by);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void gtk_tree_view_convert_bin_window_to_tree_coords   (GtkTreeView *tree_view,
                                                        int          bx,
                                                        int          by,
                                                        int         *tx,
                                                        int         *ty);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void     gtk_tree_view_set_fixed_height_mode (GtkTreeView          *tree_view,
                                              gboolean              enable);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean gtk_tree_view_get_fixed_height_mode (GtkTreeView          *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void     gtk_tree_view_set_hover_selection   (GtkTreeView          *tree_view,
                                              gboolean              hover);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean gtk_tree_view_get_hover_selection   (GtkTreeView          *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void     gtk_tree_view_set_hover_expand      (GtkTreeView          *tree_view,
                                              gboolean              expand);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean gtk_tree_view_get_hover_expand      (GtkTreeView          *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void     gtk_tree_view_set_rubber_banding    (GtkTreeView          *tree_view,
                                              gboolean              enable);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean gtk_tree_view_get_rubber_banding    (GtkTreeView          *tree_view);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean gtk_tree_view_is_rubber_banding_active (GtkTreeView       *tree_view);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeViewRowSeparatorFunc gtk_tree_view_get_row_separator_func (GtkTreeView               *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                        gtk_tree_view_set_row_separator_func (GtkTreeView                *tree_view,
                                                                  GtkTreeViewRowSeparatorFunc func,
                                                                  gpointer                    data,
                                                                  GDestroyNotify              destroy);
 
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeViewGridLines        gtk_tree_view_get_grid_lines         (GtkTreeView                *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                        gtk_tree_view_set_grid_lines         (GtkTreeView                *tree_view,
                                                                  GtkTreeViewGridLines        grid_lines);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean                    gtk_tree_view_get_enable_tree_lines  (GtkTreeView                *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                        gtk_tree_view_set_enable_tree_lines  (GtkTreeView                *tree_view,
                                                                  gboolean                    enabled);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                        gtk_tree_view_set_show_expanders     (GtkTreeView                *tree_view,
                                                                  gboolean                    enabled);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean                    gtk_tree_view_get_show_expanders     (GtkTreeView                *tree_view);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                        gtk_tree_view_set_level_indentation  (GtkTreeView                *tree_view,
                                                                  int                         indentation);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                         gtk_tree_view_get_level_indentation  (GtkTreeView                *tree_view);
 
 /* Convenience functions for setting tooltips */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_view_set_tooltip_row    (GtkTreeView       *tree_view,
                                                GtkTooltip        *tooltip,
                                                GtkTreePath       *path);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_view_set_tooltip_cell   (GtkTreeView       *tree_view,
                                                GtkTooltip        *tooltip,
                                                GtkTreePath       *path,
                                                GtkTreeViewColumn *column,
                                                GtkCellRenderer   *cell);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean      gtk_tree_view_get_tooltip_context(GtkTreeView       *tree_view,
                                                int                x,
                                                int                y,
@@ -534,10 +534,10 @@ gboolean      gtk_tree_view_get_tooltip_context(GtkTreeView       *tree_view,
                                                GtkTreeModel     **model,
                                                GtkTreePath      **path,
                                                GtkTreeIter       *iter);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void          gtk_tree_view_set_tooltip_column (GtkTreeView       *tree_view,
                                                int                column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int           gtk_tree_view_get_tooltip_column (GtkTreeView       *tree_view);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkTreeView, g_object_unref)
diff --git a/gtk/gtktreeviewcolumn.c b/gtk/deprecated/gtktreeviewcolumn.c
similarity index 97%
rename from gtk/gtktreeviewcolumn.c
rename to gtk/deprecated/gtktreeviewcolumn.c
index 688f70beeb..fc45a65bdb 100644
--- a/gtk/gtktreeviewcolumn.c
+++ b/gtk/deprecated/gtktreeviewcolumn.c
@@ -31,7 +31,7 @@
 #include "gtkmarshalers.h"
 #include "gtkprivate.h"
 #include "gtktreeprivate.h"
-#include "gtktreeview.h"
+#include "deprecated/gtktreeview.h"
 #include "gtktypebuiltins.h"
 #include "gtkwidgetprivate.h"
 #include "gtkgesturedrag.h"
@@ -41,6 +41,7 @@
 
 #include <string.h>
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 
 /**
  * GtkTreeViewColumn:
@@ -1452,6 +1453,8 @@ _gtk_tree_view_column_is_blank_at_pos (GtkTreeViewColumn *column,
  * Creates a new `GtkTreeViewColumn`.
  * 
  * Returns: A newly created `GtkTreeViewColumn`.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 GtkTreeViewColumn *
 gtk_tree_view_column_new (void)
@@ -1470,6 +1473,8 @@ gtk_tree_view_column_new (void)
  * Creates a new `GtkTreeViewColumn` using @area to render its cells.
  * 
  * Returns: A newly created `GtkTreeViewColumn`.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  */
 GtkTreeViewColumn *
 gtk_tree_view_column_new_with_area (GtkCellArea *area)
@@ -1510,6 +1515,8 @@ gtk_tree_view_column_new_with_area (GtkCellArea *area)
  * ]|
  * 
  * Returns: A newly created `GtkTreeViewColumn`.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 GtkTreeViewColumn *
 gtk_tree_view_column_new_with_attributes (const char      *title,
@@ -1540,6 +1547,8 @@ gtk_tree_view_column_new_with_attributes (const char      *title,
  * Packs the @cell into the beginning of the column. If @expand is %FALSE, then
  * the @cell is allocated no more space than it needs. Any unused space is divided
  * evenly between cells for which @expand is %TRUE.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_pack_start (GtkTreeViewColumn *tree_column,
@@ -1558,6 +1567,8 @@ gtk_tree_view_column_pack_start (GtkTreeViewColumn *tree_column,
  * Adds the @cell to end of the column. If @expand is %FALSE, then the @cell
  * is allocated no more space than it needs. Any unused space is divided
  * evenly between cells for which @expand is %TRUE.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_pack_end (GtkTreeViewColumn  *tree_column,
@@ -1572,6 +1583,8 @@ gtk_tree_view_column_pack_end (GtkTreeViewColumn  *tree_column,
  * @tree_column: A `GtkTreeViewColumn`
  * 
  * Unsets all the mappings on all renderers on the @tree_column.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_clear (GtkTreeViewColumn *tree_column)
@@ -1594,6 +1607,8 @@ gtk_tree_view_column_clear (GtkTreeViewColumn *tree_column)
  * if column 2 of the model contains strings, you could have the
  * “text” attribute of a `GtkCellRendererText` get its values from
  * column 2.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_add_attribute (GtkTreeViewColumn *tree_column,
@@ -1639,6 +1654,8 @@ gtk_tree_view_column_set_attributesv (GtkTreeViewColumn *tree_column,
  * The attributes should be in attribute/column order, as in
  * gtk_tree_view_column_add_attribute(). All existing attributes
  * are removed, and replaced with the new attributes.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  */
 void
 gtk_tree_view_column_set_attributes (GtkTreeViewColumn *tree_column,
@@ -1671,6 +1688,8 @@ gtk_tree_view_column_set_attributes (GtkTreeViewColumn *tree_column,
  * setting the column value, and should set the value of @tree_column's
  * cell renderer as appropriate.  @func may be %NULL to remove an
  * older one.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_set_cell_data_func (GtkTreeViewColumn   *tree_column,
@@ -1693,6 +1712,8 @@ gtk_tree_view_column_set_cell_data_func (GtkTreeViewColumn   *tree_column,
  *
  * Clears all existing attributes previously set with
  * gtk_tree_view_column_set_attributes().
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_clear_attributes (GtkTreeViewColumn *tree_column,
@@ -1709,6 +1730,8 @@ gtk_tree_view_column_clear_attributes (GtkTreeViewColumn *tree_column,
  * 
  * Sets the spacing field of @tree_column, which is the number of pixels to
  * place between cell renderers packed into it.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_set_spacing (GtkTreeViewColumn *tree_column,
@@ -1737,6 +1760,8 @@ gtk_tree_view_column_set_spacing (GtkTreeViewColumn *tree_column,
  * Returns the spacing of @tree_column.
  * 
  * Returns: the spacing of @tree_column.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 int
 gtk_tree_view_column_get_spacing (GtkTreeViewColumn *tree_column)
@@ -1758,6 +1783,8 @@ gtk_tree_view_column_get_spacing (GtkTreeViewColumn *tree_column)
  * @visible: %TRUE if the @tree_column is visible.
  * 
  * Sets the visibility of @tree_column.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  */
 void
 gtk_tree_view_column_set_visible (GtkTreeViewColumn *tree_column,
@@ -1792,6 +1819,8 @@ gtk_tree_view_column_set_visible (GtkTreeViewColumn *tree_column,
  * 
  * Returns: whether the column is visible or not.  If it is visible, then
  * the tree will show the column.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_column_get_visible (GtkTreeViewColumn *tree_column)
@@ -1812,6 +1841,8 @@ gtk_tree_view_column_get_visible (GtkTreeViewColumn *tree_column)
  * If resizable is %TRUE and
  * sizing mode of the column is %GTK_TREE_VIEW_COLUMN_AUTOSIZE, then the sizing
  * mode is changed to %GTK_TREE_VIEW_COLUMN_GROW_ONLY.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_set_resizable (GtkTreeViewColumn *tree_column,
@@ -1844,6 +1875,8 @@ gtk_tree_view_column_set_resizable (GtkTreeViewColumn *tree_column,
  * Returns %TRUE if the @tree_column can be resized by the end user.
  * 
  * Returns: %TRUE, if the @tree_column can be resized.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_column_get_resizable (GtkTreeViewColumn *tree_column)
@@ -1860,6 +1893,8 @@ gtk_tree_view_column_get_resizable (GtkTreeViewColumn *tree_column)
  * @type: The `GtkTreeViewColumn`Sizing.
  * 
  * Sets the growth behavior of @tree_column to @type.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_set_sizing (GtkTreeViewColumn       *tree_column,
@@ -1891,6 +1926,8 @@ gtk_tree_view_column_set_sizing (GtkTreeViewColumn       *tree_column,
  * Returns the current type of @tree_column.
  * 
  * Returns: The type of @tree_column.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 GtkTreeViewColumnSizing
 gtk_tree_view_column_get_sizing (GtkTreeViewColumn *tree_column)
@@ -1907,6 +1944,8 @@ gtk_tree_view_column_get_sizing (GtkTreeViewColumn *tree_column)
  * Returns the current size of @tree_column in pixels.
  * 
  * Returns: The current width of @tree_column.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 int
 gtk_tree_view_column_get_width (GtkTreeViewColumn *tree_column)
@@ -1923,6 +1962,8 @@ gtk_tree_view_column_get_width (GtkTreeViewColumn *tree_column)
  * Returns the current X offset of @tree_column in pixels.
  * 
  * Returns: The current X offset of @tree_column.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  */
 int
 gtk_tree_view_column_get_x_offset (GtkTreeViewColumn *tree_column)
@@ -2031,6 +2072,8 @@ _gtk_tree_view_column_allocate (GtkTreeViewColumn *tree_column,
  *
  * Along with “expand”, the “fixed-width” property changes when the column is
  * resized by the user.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_set_fixed_width (GtkTreeViewColumn *tree_column,
@@ -2063,6 +2106,8 @@ gtk_tree_view_column_set_fixed_width (GtkTreeViewColumn *tree_column,
  * width of the column; for that, use gtk_tree_view_column_get_width().
  *
  * Returns: The fixed width of the column.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 int
 gtk_tree_view_column_get_fixed_width (GtkTreeViewColumn *tree_column)
@@ -2079,6 +2124,8 @@ gtk_tree_view_column_get_fixed_width (GtkTreeViewColumn *tree_column)
  * 
  * Sets the minimum width of the @tree_column.  If @min_width is -1, then the
  * minimum width is unset.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_set_min_width (GtkTreeViewColumn *tree_column,
@@ -2125,6 +2172,8 @@ gtk_tree_view_column_set_min_width (GtkTreeViewColumn *tree_column,
  * width is set.
  * 
  * Returns: The minimum width of the @tree_column.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 int
 gtk_tree_view_column_get_min_width (GtkTreeViewColumn *tree_column)
@@ -2143,6 +2192,8 @@ gtk_tree_view_column_get_min_width (GtkTreeViewColumn *tree_column)
  * maximum width is unset.  Note, the column can actually be wider than max
  * width if it’s the last column in a view.  In this case, the column expands to
  * fill any extra space.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_set_max_width (GtkTreeViewColumn *tree_column,
@@ -2189,6 +2240,8 @@ gtk_tree_view_column_set_max_width (GtkTreeViewColumn *tree_column,
  * width is set.
  * 
  * Returns: The maximum width of the @tree_column.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 int
 gtk_tree_view_column_get_max_width (GtkTreeViewColumn *tree_column)
@@ -2204,6 +2257,8 @@ gtk_tree_view_column_get_max_width (GtkTreeViewColumn *tree_column)
  * 
  * Emits the “clicked” signal on the column.  This function will only work if
  * @tree_column is clickable.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_clicked (GtkTreeViewColumn *tree_column)
@@ -2225,6 +2280,8 @@ gtk_tree_view_column_clicked (GtkTreeViewColumn *tree_column)
  * 
  * Sets the title of the @tree_column.  If a custom widget has been set, then
  * this value is ignored.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_set_title (GtkTreeViewColumn *tree_column,
@@ -2253,6 +2310,8 @@ gtk_tree_view_column_set_title (GtkTreeViewColumn *tree_column,
  * 
  * Returns: the title of the column. This string should not be
  * modified or freed.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 const char *
 gtk_tree_view_column_get_title (GtkTreeViewColumn *tree_column)
@@ -2274,6 +2333,8 @@ gtk_tree_view_column_get_title (GtkTreeViewColumn *tree_column)
  *
  * Along with “fixed-width”, the “expand” property changes when the column is
  * resized by the user.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_set_expand (GtkTreeViewColumn *tree_column,
@@ -2307,6 +2368,8 @@ gtk_tree_view_column_set_expand (GtkTreeViewColumn *tree_column,
  * Returns %TRUE if the column expands to fill available space.
  *
  * Returns: %TRUE if the column expands to fill available space.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_column_get_expand (GtkTreeViewColumn *tree_column)
@@ -2323,6 +2386,8 @@ gtk_tree_view_column_get_expand (GtkTreeViewColumn *tree_column)
  * 
  * Sets the header to be active if @clickable is %TRUE.  When the header is
  * active, then it can take keyboard focus, and can be clicked.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_set_clickable (GtkTreeViewColumn *tree_column,
@@ -2350,6 +2415,8 @@ gtk_tree_view_column_set_clickable (GtkTreeViewColumn *tree_column,
  * Returns %TRUE if the user can click on the header for the column.
  * 
  * Returns: %TRUE if user can click the column header.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_column_get_clickable (GtkTreeViewColumn *tree_column)
@@ -2366,6 +2433,8 @@ gtk_tree_view_column_get_clickable (GtkTreeViewColumn *tree_column)
  *
  * Sets the widget in the header to be @widget.  If widget is %NULL, then the
  * header button is set with a `GtkLabel` set to the title of @tree_column.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_set_widget (GtkTreeViewColumn *tree_column,
@@ -2398,6 +2467,8 @@ gtk_tree_view_column_set_widget (GtkTreeViewColumn *tree_column,
  * If a custom widget has not been set then %NULL is returned.
  *
  * Returns: (nullable) (transfer none): The `GtkWidget` in the column header
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  */
 GtkWidget *
 gtk_tree_view_column_get_widget (GtkTreeViewColumn *tree_column)
@@ -2415,6 +2486,8 @@ gtk_tree_view_column_get_widget (GtkTreeViewColumn *tree_column)
  * Sets the alignment of the title or custom widget inside the column header.
  * The alignment determines its location inside the button -- 0.0 for left, 0.5
  * for center, 1.0 for right.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_set_alignment (GtkTreeViewColumn *tree_column,
@@ -2444,6 +2517,8 @@ gtk_tree_view_column_set_alignment (GtkTreeViewColumn *tree_column,
  * between 0.0 and 1.0.
  * 
  * Returns: The current alignent of @tree_column.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 float
 gtk_tree_view_column_get_alignment (GtkTreeViewColumn *tree_column)
@@ -2460,6 +2535,8 @@ gtk_tree_view_column_get_alignment (GtkTreeViewColumn *tree_column)
  * 
  * If @reorderable is %TRUE, then the column can be reordered by the end user
  * dragging the header.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_set_reorderable (GtkTreeViewColumn *tree_column,
@@ -2489,6 +2566,8 @@ gtk_tree_view_column_set_reorderable (GtkTreeViewColumn *tree_column,
  * Returns %TRUE if the @tree_column can be reordered by the user.
  * 
  * Returns: %TRUE if the @tree_column can be reordered by the user.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_column_get_reorderable (GtkTreeViewColumn *tree_column)
@@ -2506,6 +2585,8 @@ gtk_tree_view_column_get_reorderable (GtkTreeViewColumn *tree_column)
  *
  * Sets the logical @sort_column_id that this column sorts on when this column 
  * is selected for sorting.  Doing so makes the column header clickable.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_set_sort_column_id (GtkTreeViewColumn *tree_column,
@@ -2570,6 +2651,8 @@ gtk_tree_view_column_set_sort_column_id (GtkTreeViewColumn *tree_column,
  *
  * Returns: the current @sort_column_id for this column, or -1 if
  *   this column can’t be used for sorting
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  */
 int
 gtk_tree_view_column_get_sort_column_id (GtkTreeViewColumn *tree_column)
@@ -2588,7 +2671,8 @@ gtk_tree_view_column_get_sort_column_id (GtkTreeViewColumn *tree_column)
  * the header button indicating the column is sorted. Call
  * gtk_tree_view_column_set_sort_order() to change the direction of
  * the arrow.
- * 
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_set_sort_indicator (GtkTreeViewColumn     *tree_column,
@@ -2613,6 +2697,8 @@ gtk_tree_view_column_set_sort_indicator (GtkTreeViewColumn     *tree_column,
  * Gets the value set by gtk_tree_view_column_set_sort_indicator().
  * 
  * Returns: whether the sort indicator arrow is displayed
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_column_get_sort_indicator  (GtkTreeViewColumn     *tree_column)
@@ -2638,6 +2724,8 @@ gtk_tree_view_column_get_sort_indicator  (GtkTreeViewColumn     *tree_column)
  * The sort indicator changes direction to indicate normal sort or reverse sort.
  * Note that you must have the sort indicator enabled to see anything when 
  * calling this function; see gtk_tree_view_column_set_sort_indicator().
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_set_sort_order      (GtkTreeViewColumn     *tree_column,
@@ -2660,6 +2748,8 @@ gtk_tree_view_column_set_sort_order      (GtkTreeViewColumn     *tree_column,
  * Gets the value set by gtk_tree_view_column_set_sort_order().
  * 
  * Returns: the sort order the sort indicator is indicating
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 GtkSortType
 gtk_tree_view_column_get_sort_order      (GtkTreeViewColumn     *tree_column)
@@ -2681,6 +2771,8 @@ gtk_tree_view_column_get_sort_order      (GtkTreeViewColumn     *tree_column)
  * every attribute mapping in @tree_column, it will get a value from the set
  * column on the @iter, and use that value to set the attribute on the cell
  * renderer.  This is used primarily by the `GtkTreeView`.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_cell_set_cell_data (GtkTreeViewColumn *tree_column,
@@ -2708,6 +2800,8 @@ gtk_tree_view_column_cell_set_cell_data (GtkTreeViewColumn *tree_column,
  * 
  * Obtains the width and height needed to render the column.  This is used
  * primarily by the `GtkTreeView`.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_cell_get_size (GtkTreeViewColumn  *tree_column,
@@ -2761,6 +2855,8 @@ gtk_tree_view_column_cell_get_size (GtkTreeViewColumn  *tree_column,
  * 
  * Renders the cell contained by #tree_column. This is used primarily by the
  * `GtkTreeView`.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_cell_snapshot (GtkTreeViewColumn  *tree_column,
@@ -2814,6 +2910,8 @@ _gtk_tree_view_column_cell_event (GtkTreeViewColumn  *tree_column,
  * gtk_tree_view_column_cell_set_cell_data()
  * 
  * Returns: %TRUE, if any of the cells packed into the @tree_column are currently visible
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 gboolean
 gtk_tree_view_column_cell_is_visible (GtkTreeViewColumn *tree_column)
@@ -2848,6 +2946,8 @@ gtk_tree_view_column_cell_is_visible (GtkTreeViewColumn *tree_column)
  *
  * Sets the current keyboard focus to be at @cell, if the column contains
  * 2 or more editable and activatable cells.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_focus_cell (GtkTreeViewColumn *tree_column,
@@ -2906,6 +3006,8 @@ _gtk_tree_view_column_cell_get_dirty (GtkTreeViewColumn  *tree_column)
  * are not changed and %FALSE is returned.
  *
  * Returns: %TRUE if @cell belongs to @tree_column
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  */
 gboolean
 gtk_tree_view_column_cell_get_position (GtkTreeViewColumn *tree_column,
@@ -2950,6 +3052,8 @@ gtk_tree_view_column_cell_get_position (GtkTreeViewColumn *tree_column,
  *
  * Flags the column, and the cell renderers added to this column, to have
  * their sizes renegotiated.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  **/
 void
 gtk_tree_view_column_queue_resize (GtkTreeViewColumn *tree_column)
@@ -2970,6 +3074,8 @@ gtk_tree_view_column_queue_resize (GtkTreeViewColumn *tree_column)
  *
  * Returns: (nullable) (transfer none): The tree view wherein @column
  *   has been inserted
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  */
 GtkWidget *
 gtk_tree_view_column_get_tree_view (GtkTreeViewColumn *tree_column)
@@ -2986,6 +3092,8 @@ gtk_tree_view_column_get_tree_view (GtkTreeViewColumn *tree_column)
  * Returns the button used in the treeview column header
  *
  * Returns: (transfer none): The button for the column header.
+ *
+ * Deprecated: 4.10: Use GtkColumnView instead
  */
 GtkWidget *
 gtk_tree_view_column_get_button (GtkTreeViewColumn *tree_column)
diff --git a/gtk/gtktreeviewcolumn.h b/gtk/deprecated/gtktreeviewcolumn.h
similarity index 88%
rename from gtk/gtktreeviewcolumn.h
rename to gtk/deprecated/gtktreeviewcolumn.h
index 9f7002496a..21f1c22582 100644
--- a/gtk/gtktreeviewcolumn.h
+++ b/gtk/deprecated/gtktreeviewcolumn.h
@@ -22,10 +22,10 @@
 #error "Only <gtk/gtk.h> can be included directly."
 #endif
 
-#include <gtk/gtkcellrenderer.h>
-#include <gtk/gtktreemodel.h>
-#include <gtk/gtktreesortable.h>
-#include <gtk/gtkcellarea.h>
+#include <gtk/deprecated/gtkcellrenderer.h>
+#include <gtk/deprecated/gtktreemodel.h>
+#include <gtk/deprecated/gtktreesortable.h>
+#include <gtk/deprecated/gtkcellarea.h>
 
 
 G_BEGIN_DECLS
@@ -80,117 +80,117 @@ typedef void (* GtkTreeCellDataFunc) (GtkTreeViewColumn *tree_column,
 
 GDK_AVAILABLE_IN_ALL
 GType                   gtk_tree_view_column_get_type            (void) G_GNUC_CONST;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeViewColumn      *gtk_tree_view_column_new                 (void);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeViewColumn      *gtk_tree_view_column_new_with_area       (GtkCellArea             *area);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeViewColumn      *gtk_tree_view_column_new_with_attributes (const char              *title,
                                                                  GtkCellRenderer         *cell,
                                                                  ...) G_GNUC_NULL_TERMINATED;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_pack_start          (GtkTreeViewColumn       *tree_column,
                                                                  GtkCellRenderer         *cell,
                                                                  gboolean                 expand);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_pack_end            (GtkTreeViewColumn       *tree_column,
                                                                  GtkCellRenderer         *cell,
                                                                  gboolean                 expand);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_clear               (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_add_attribute       (GtkTreeViewColumn       *tree_column,
                                                                  GtkCellRenderer         *cell_renderer,
                                                                  const char              *attribute,
                                                                  int                      column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_attributes      (GtkTreeViewColumn       *tree_column,
                                                                  GtkCellRenderer         *cell_renderer,
                                                                  ...) G_GNUC_NULL_TERMINATED;
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_cell_data_func  (GtkTreeViewColumn       *tree_column,
                                                                  GtkCellRenderer         *cell_renderer,
                                                                  GtkTreeCellDataFunc      func,
                                                                  gpointer                 func_data,
                                                                  GDestroyNotify           destroy);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_clear_attributes    (GtkTreeViewColumn       *tree_column,
                                                                  GtkCellRenderer         *cell_renderer);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_spacing         (GtkTreeViewColumn       *tree_column,
                                                                  int                      spacing);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                     gtk_tree_view_column_get_spacing         (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_visible         (GtkTreeViewColumn       *tree_column,
                                                                  gboolean                 visible);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean                gtk_tree_view_column_get_visible         (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_resizable       (GtkTreeViewColumn       *tree_column,
                                                                  gboolean                 resizable);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean                gtk_tree_view_column_get_resizable       (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_sizing          (GtkTreeViewColumn       *tree_column,
                                                                  GtkTreeViewColumnSizing  type);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkTreeViewColumnSizing gtk_tree_view_column_get_sizing          (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                     gtk_tree_view_column_get_x_offset        (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                     gtk_tree_view_column_get_width           (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                     gtk_tree_view_column_get_fixed_width     (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_fixed_width     (GtkTreeViewColumn       *tree_column,
                                                                  int                      fixed_width);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_min_width       (GtkTreeViewColumn       *tree_column,
                                                                  int                      min_width);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                     gtk_tree_view_column_get_min_width       (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_max_width       (GtkTreeViewColumn       *tree_column,
                                                                  int                      max_width);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                     gtk_tree_view_column_get_max_width       (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_clicked             (GtkTreeViewColumn       *tree_column);
 
 
 
 /* Options for manipulating the column headers
  */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_title           (GtkTreeViewColumn       *tree_column,
                                                                  const char              *title);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 const char *           gtk_tree_view_column_get_title           (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_expand          (GtkTreeViewColumn       *tree_column,
                                                                  gboolean                 expand);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean                gtk_tree_view_column_get_expand          (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_clickable       (GtkTreeViewColumn       *tree_column,
                                                                  gboolean                 clickable);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean                gtk_tree_view_column_get_clickable       (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_widget          (GtkTreeViewColumn       *tree_column,
                                                                  GtkWidget               *widget);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget              *gtk_tree_view_column_get_widget          (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_alignment       (GtkTreeViewColumn       *tree_column,
                                                                  float                    xalign);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 float                   gtk_tree_view_column_get_alignment       (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_reorderable     (GtkTreeViewColumn       *tree_column,
                                                                  gboolean                 reorderable);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean                gtk_tree_view_column_get_reorderable     (GtkTreeViewColumn       *tree_column);
 
 
@@ -198,52 +198,52 @@ gboolean                gtk_tree_view_column_get_reorderable     (GtkTreeViewCol
 /* You probably only want to use gtk_tree_view_column_set_sort_column_id.  The
  * other sorting functions exist primarily to let others do their own custom sorting.
  */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_sort_column_id  (GtkTreeViewColumn       *tree_column,
                                                                  int                      sort_column_id);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 int                     gtk_tree_view_column_get_sort_column_id  (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_sort_indicator  (GtkTreeViewColumn       *tree_column,
                                                                  gboolean                 setting);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean                gtk_tree_view_column_get_sort_indicator  (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_set_sort_order      (GtkTreeViewColumn       *tree_column,
                                                                  GtkSortType              order);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkSortType             gtk_tree_view_column_get_sort_order      (GtkTreeViewColumn       *tree_column);
 
 
 /* These functions are meant primarily for interaction between the GtkTreeView and the column.
  */
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_cell_set_cell_data  (GtkTreeViewColumn       *tree_column,
                                                                  GtkTreeModel            *tree_model,
                                                                  GtkTreeIter             *iter,
                                                                  gboolean                 is_expander,
                                                                  gboolean                 is_expanded);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_cell_get_size       (GtkTreeViewColumn       *tree_column,
                                                                   int                     *x_offset,
                                                                   int                     *y_offset,
                                                                   int                     *width,
                                                                   int                     *height);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean                gtk_tree_view_column_cell_is_visible     (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_focus_cell          (GtkTreeViewColumn       *tree_column,
                                                                  GtkCellRenderer         *cell);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 gboolean                gtk_tree_view_column_cell_get_position   (GtkTreeViewColumn       *tree_column,
                                                                  GtkCellRenderer         *cell_renderer,
                                                                  int                     *x_offset,
                                                                  int                     *width);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 void                    gtk_tree_view_column_queue_resize        (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget              *gtk_tree_view_column_get_tree_view       (GtkTreeViewColumn       *tree_column);
-GDK_AVAILABLE_IN_ALL
+GDK_DEPRECATED_IN_4_10
 GtkWidget              *gtk_tree_view_column_get_button          (GtkTreeViewColumn       *tree_column);
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GtkTreeViewColumn, g_object_unref)
diff --git a/gtk/deprecated/meson.build b/gtk/deprecated/meson.build
index 96b38bb53d..655bd4b10e 100644
--- a/gtk/deprecated/meson.build
+++ b/gtk/deprecated/meson.build
@@ -3,7 +3,39 @@ gtk_deprecated_sources = [
   'deprecated/gtkappchooserbutton.c',
   'deprecated/gtkappchooserdialog.c',
   'deprecated/gtkappchooserwidget.c',
+  'deprecated/gtkcellarea.c',
+  'deprecated/gtkcellareabox.c',
+  'deprecated/gtkcellareacontext.c',
+  'deprecated/gtkcellareaboxcontext.c',
+  'deprecated/gtkcelleditable.c',
+  'deprecated/gtkcelllayout.c',
+  'deprecated/gtkcellrenderer.c',
+  'deprecated/gtkcellrendereraccel.c',
+  'deprecated/gtkcellrenderercombo.c',
+  'deprecated/gtkcellrendererpixbuf.c',
+  'deprecated/gtkcellrendererprogress.c',
+  'deprecated/gtkcellrendererspin.c',
+  'deprecated/gtkcellrendererspinner.c',
+  'deprecated/gtkcellrenderertext.c',
+  'deprecated/gtkcellrenderertoggle.c',
+  'deprecated/gtkcellview.c',
+  'deprecated/gtkcombobox.c',
+  'deprecated/gtkcomboboxtext.c',
   'deprecated/gtkentrycompletion.c',
+  'deprecated/gtkiconview.c',
+  'deprecated/gtkliststore.c',
+  'deprecated/gtktreedatalist.c',
+  'deprecated/gtktreednd.c',
+  'deprecated/gtktreemodel.c',
+  'deprecated/gtktreemodelfilter.c',
+  'deprecated/gtktreemodelsort.c',
+  'deprecated/gtktreerbtree.c',
+  'deprecated/gtktreeselection.c',
+  'deprecated/gtktreesortable.c',
+  'deprecated/gtktreestore.c',
+  'deprecated/gtktreepopover.c',
+  'deprecated/gtktreeview.c',
+  'deprecated/gtktreeviewcolumn.c',
 ]
 
 gtk_deprecated_headers = [
@@ -11,5 +43,33 @@ gtk_deprecated_headers = [
   'deprecated/gtkappchooserbutton.h',
   'deprecated/gtkappchooserdialog.h',
   'deprecated/gtkappchooserwidget.h',
+  'deprecated/gtkcellarea.h',
+  'deprecated/gtkcellareabox.h',
+  'deprecated/gtkcellareacontext.h',
+  'deprecated/gtkcelleditable.h',
+  'deprecated/gtkcelllayout.h',
+  'deprecated/gtkcellrenderer.h',
+  'deprecated/gtkcellrendereraccel.h',
+  'deprecated/gtkcellrenderercombo.h',
+  'deprecated/gtkcellrendererpixbuf.h',
+  'deprecated/gtkcellrendererprogress.h',
+  'deprecated/gtkcellrendererspin.h',
+  'deprecated/gtkcellrendererspinner.h',
+  'deprecated/gtkcellrenderertext.h',
+  'deprecated/gtkcellrenderertoggle.h',
+  'deprecated/gtkcellview.h',
+  'deprecated/gtkcombobox.h',
+  'deprecated/gtkcomboboxtext.h',
   'deprecated/gtkentrycompletion.h',
+  'deprecated/gtkiconview.h',
+  'deprecated/gtkliststore.h',
+  'deprecated/gtktreednd.h',
+  'deprecated/gtktreemodel.h',
+  'deprecated/gtktreemodelfilter.h',
+  'deprecated/gtktreemodelsort.h',
+  'deprecated/gtktreeselection.h',
+  'deprecated/gtktreesortable.h',
+  'deprecated/gtktreestore.h',
+  'deprecated/gtktreeview.h',
+  'deprecated/gtktreeviewcolumn.h',
 ]
diff --git a/gtk/gtk.h b/gtk/gtk.h
index 0451ad1591..d4a4b166d1 100644
--- a/gtk/gtk.h
+++ b/gtk/gtk.h
@@ -60,21 +60,21 @@
 #include <gtk/gtkbuilderscope.h>
 #include <gtk/gtkbutton.h>
 #include <gtk/gtkcalendar.h>
-#include <gtk/gtkcellarea.h>
-#include <gtk/gtkcellareabox.h>
-#include <gtk/gtkcellareacontext.h>
-#include <gtk/gtkcelleditable.h>
-#include <gtk/gtkcelllayout.h>
-#include <gtk/gtkcellrenderer.h>
-#include <gtk/gtkcellrendereraccel.h>
-#include <gtk/gtkcellrenderercombo.h>
-#include <gtk/gtkcellrendererpixbuf.h>
-#include <gtk/gtkcellrendererprogress.h>
-#include <gtk/gtkcellrendererspin.h>
-#include <gtk/gtkcellrendererspinner.h>
-#include <gtk/gtkcellrenderertext.h>
-#include <gtk/gtkcellrenderertoggle.h>
-#include <gtk/gtkcellview.h>
+#include <gtk/deprecated/gtkcellarea.h>
+#include <gtk/deprecated/gtkcellareabox.h>
+#include <gtk/deprecated/gtkcellareacontext.h>
+#include <gtk/deprecated/gtkcelleditable.h>
+#include <gtk/deprecated/gtkcelllayout.h>
+#include <gtk/deprecated/gtkcellrenderer.h>
+#include <gtk/deprecated/gtkcellrendereraccel.h>
+#include <gtk/deprecated/gtkcellrenderercombo.h>
+#include <gtk/deprecated/gtkcellrendererpixbuf.h>
+#include <gtk/deprecated/gtkcellrendererprogress.h>
+#include <gtk/deprecated/gtkcellrendererspin.h>
+#include <gtk/deprecated/gtkcellrendererspinner.h>
+#include <gtk/deprecated/gtkcellrenderertext.h>
+#include <gtk/deprecated/gtkcellrenderertoggle.h>
+#include <gtk/deprecated/gtkcellview.h>
 #include <gtk/gtkcenterbox.h>
 #include <gtk/gtkcenterlayout.h>
 #include <gtk/gtkcheckbutton.h>
@@ -85,8 +85,8 @@
 #include <gtk/gtkcolorutils.h>
 #include <gtk/gtkcolumnview.h>
 #include <gtk/gtkcolumnviewcolumn.h>
-#include <gtk/gtkcombobox.h>
-#include <gtk/gtkcomboboxtext.h>
+#include <gtk/deprecated/gtkcombobox.h>
+#include <gtk/deprecated/gtkcomboboxtext.h>
 #include <gtk/gtkconstraintlayout.h>
 #include <gtk/gtkconstraint.h>
 #include <gtk/gtkcssprovider.h>
@@ -150,7 +150,7 @@
 #include <gtk/gtkgridview.h>
 #include <gtk/gtkheaderbar.h>
 #include <gtk/gtkicontheme.h>
-#include <gtk/gtkiconview.h>
+#include <gtk/deprecated/gtkiconview.h>
 #include <gtk/gtkimage.h>
 #include <gtk/gtkimcontext.h>
 #include <gtk/gtkimcontextsimple.h>
@@ -166,7 +166,7 @@
 #include <gtk/gtklistbox.h>
 #include <gtk/gtklistitem.h>
 #include <gtk/gtklistitemfactory.h>
-#include <gtk/gtkliststore.h>
+#include <gtk/deprecated/gtkliststore.h>
 #include <gtk/gtklistview.h>
 #include <gtk/gtklockbutton.h>
 #include <gtk/gtkmain.h>
@@ -263,18 +263,18 @@
 #include <gtk/gtktooltip.h>
 #include <gtk/gtktestatcontext.h>
 #include <gtk/gtktestutils.h>
-#include <gtk/gtktreednd.h>
+#include <gtk/deprecated/gtktreednd.h>
 #include <gtk/gtktreeexpander.h>
 #include <gtk/gtktreelistmodel.h>
 #include <gtk/gtktreelistrowsorter.h>
-#include <gtk/gtktreemodel.h>
-#include <gtk/gtktreemodelfilter.h>
-#include <gtk/gtktreemodelsort.h>
-#include <gtk/gtktreeselection.h>
-#include <gtk/gtktreesortable.h>
-#include <gtk/gtktreestore.h>
-#include <gtk/gtktreeview.h>
-#include <gtk/gtktreeviewcolumn.h>
+#include <gtk/deprecated/gtktreemodel.h>
+#include <gtk/deprecated/gtktreemodelfilter.h>
+#include <gtk/deprecated/gtktreemodelsort.h>
+#include <gtk/deprecated/gtktreeselection.h>
+#include <gtk/deprecated/gtktreesortable.h>
+#include <gtk/deprecated/gtktreestore.h>
+#include <gtk/deprecated/gtktreeview.h>
+#include <gtk/deprecated/gtktreeviewcolumn.h>
 #include <gtk/gtktypebuiltins.h>
 #include <gtk/gtktypes.h>
 #include <gtk/gtkversion.h>
diff --git a/gtk/gtkcustompaperunixdialog.c b/gtk/gtkcustompaperunixdialog.c
index 35d379484a..08238d3642 100644
--- a/gtk/gtkcustompaperunixdialog.c
+++ b/gtk/gtkcustompaperunixdialog.c
@@ -28,7 +28,7 @@
 #include <glib/gi18n-lib.h>
 #include "gtkprivate.h"
 
-#include "gtkliststore.h"
+#include "deprecated/gtkliststore.h"
 
 #include "gtksignallistitemfactory.h"
 #include "gtklabel.h"
diff --git a/gtk/gtkentry.c b/gtk/gtkentry.c
index e66812ba18..35a1cd53db 100644
--- a/gtk/gtkentry.c
+++ b/gtk/gtkentry.c
@@ -34,8 +34,7 @@
 #include "gtkadjustment.h"
 #include "gtkbox.h"
 #include "gtkbutton.h"
-#include "gtkcelleditable.h"
-#include "gtkcelllayout.h"
+#include "deprecated/gtkcelleditable.h"
 #include "gtkdebug.h"
 #include "gtkeditable.h"
 #include "gtkemojichooser.h"
@@ -1859,6 +1858,9 @@ gtk_entry_direction_changed (GtkWidget        *widget,
 
 /* GtkCellEditable method implementations
  */
+
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 static void
 gtk_cell_editable_entry_activated (GtkEntry *entry, gpointer data)
 {
@@ -1908,6 +1910,8 @@ gtk_entry_start_editing (GtkCellEditable *cell_editable,
                     cell_editable);
 }
 
+G_GNUC_END_IGNORE_DEPRECATIONS
+
 /* Internal functions
  */
 
diff --git a/gtk/gtkentryprivate.h b/gtk/gtkentryprivate.h
index 8415d5dd0b..9be1d879ea 100644
--- a/gtk/gtkentryprivate.h
+++ b/gtk/gtkentryprivate.h
@@ -22,9 +22,9 @@
 
 #include "deprecated/gtkentrycompletion.h"
 #include "gtkeventcontrollermotion.h"
-#include "gtkliststore.h"
-#include "gtktreemodelfilter.h"
-#include "gtktreeviewcolumn.h"
+#include "deprecated/gtkliststore.h"
+#include "deprecated/gtktreemodelfilter.h"
+#include "deprecated/gtktreeviewcolumn.h"
 #include "gtkeventcontrollerkey.h"
 #include "gtktextprivate.h"
 
diff --git a/gtk/gtkfilechooserentry.c b/gtk/gtkfilechooserentry.c
index f70de025a8..62d751fa86 100644
--- a/gtk/gtkfilechooserentry.c
+++ b/gtk/gtkfilechooserentry.c
@@ -22,8 +22,8 @@
 
 #include <string.h>
 
-#include "gtkcelllayout.h"
-#include "gtkcellrenderertext.h"
+#include "deprecated/gtkcelllayout.h"
+#include "deprecated/gtkcellrenderertext.h"
 #include "gtkentryprivate.h"
 #include "gtkfilechooserutils.h"
 #include "gtklabel.h"
diff --git a/gtk/gtkfilechooserprivate.h b/gtk/gtkfilechooserprivate.h
index 7b47b416b3..305ce7f76d 100644
--- a/gtk/gtkfilechooserprivate.h
+++ b/gtk/gtkfilechooserprivate.h
@@ -21,14 +21,14 @@
 
 #include "gtkfilechooser.h"
 #include "gtkfilesystemmodel.h"
-#include "gtkliststore.h"
+#include "deprecated/gtkliststore.h"
 #include "gtkrecentmanager.h"
 #include "gtksearchengineprivate.h"
 #include "gtkquery.h"
 #include "gtksizegroup.h"
-#include "gtktreemodelsort.h"
-#include "gtktreestore.h"
-#include "gtktreeview.h"
+#include "deprecated/gtktreemodelsort.h"
+#include "deprecated/gtktreestore.h"
+#include "deprecated/gtktreeview.h"
 #include "gtkbox.h"
 
 G_BEGIN_DECLS
diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c
index c86a08a4bf..8b00a40e65 100644
--- a/gtk/gtkfilechooserwidget.c
+++ b/gtk/gtkfilechooserwidget.c
@@ -24,9 +24,8 @@
 
 #include "gtkbookmarksmanagerprivate.h"
 #include "gtkbutton.h"
-#include "gtkcelllayout.h"
-#include "gtkcellrendererpixbuf.h"
-#include "gtkcellrenderertext.h"
+#include "deprecated/gtkcellrendererpixbuf.h"
+#include "deprecated/gtkcellrenderertext.h"
 #include "gtkdropdown.h"
 #include "gtkcssnumbervalueprivate.h"
 #include "gtkdragsource.h"
@@ -56,9 +55,9 @@
 #include "gtksizerequest.h"
 #include "gtkstack.h"
 #include "gtktooltip.h"
-#include "gtktreednd.h"
-#include "gtktreeprivate.h"
-#include "gtktreeselection.h"
+#include "deprecated/gtktreednd.h"
+#include "deprecated/gtktreeprivate.h"
+#include "deprecated/gtktreeselection.h"
 #include "gtkbox.h"
 #include "gtkcheckbutton.h"
 #include "gtkwindowgroup.h"
@@ -97,6 +96,8 @@
 #include <io.h>
 #endif
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /**
  * GtkFileChooserWidget:
  *
diff --git a/gtk/gtkfilesystemmodel.c b/gtk/gtkfilesystemmodel.c
index 46d7f10b91..20b670e774 100644
--- a/gtk/gtkfilesystemmodel.c
+++ b/gtk/gtkfilesystemmodel.c
@@ -25,12 +25,14 @@
 
 #include "gtkfilechooserutils.h"
 #include "gtkmarshalers.h"
-#include "gtktreedatalistprivate.h"
-#include "gtktreednd.h"
-#include "gtktreemodel.h"
+#include "deprecated/gtktreedatalistprivate.h"
+#include "deprecated/gtktreednd.h"
+#include "deprecated/gtktreemodel.h"
 #include "gtkfilter.h"
 #include "gtkprivate.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 /*** Structure: how GtkFileSystemModel works
  *
  * This is a custom GtkTreeModel used to hold a collection of files for GtkFileChooser.  There are two use 
cases:
diff --git a/gtk/gtkfilesystemmodel.h b/gtk/gtkfilesystemmodel.h
index d33d30035d..05383a7328 100644
--- a/gtk/gtkfilesystemmodel.h
+++ b/gtk/gtkfilesystemmodel.h
@@ -21,7 +21,7 @@
 
 #include <gio/gio.h>
 #include <gtk/gtkfilefilter.h>
-#include <gtk/gtktreemodel.h>
+#include <gtk/deprecated/gtktreemodel.h>
 
 G_BEGIN_DECLS
 
diff --git a/gtk/gtkmountoperation.c b/gtk/gtkmountoperation.c
index 5b41767e54..aeca6e7253 100644
--- a/gtk/gtkmountoperation.c
+++ b/gtk/gtkmountoperation.c
@@ -49,7 +49,6 @@
 #include "gtkpopover.h"
 #include "gtksnapshot.h"
 #include "gdktextureprivate.h"
-#include "gtkliststore.h"
 #include <glib/gprintf.h>
 #include "gtklistview.h"
 #include "gtksignallistitemfactory.h"
diff --git a/gtk/gtkpagesetupunixdialog.c b/gtk/gtkpagesetupunixdialog.c
index 80fc561237..399d38f29d 100644
--- a/gtk/gtkpagesetupunixdialog.c
+++ b/gtk/gtkpagesetupunixdialog.c
@@ -29,8 +29,6 @@
 #include "gtkcheckbutton.h"
 #include "gtklabel.h"
 #include "gtkgrid.h"
-#include "gtkcelllayout.h"
-#include "gtkcellrenderertext.h"
 
 #include "gtkpagesetupunixdialog.h"
 #include "gtkcustompaperunixdialog.h"
diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c
index b2fb2aaeb8..e632b62511 100644
--- a/gtk/gtkplacessidebar.c
+++ b/gtk/gtkplacessidebar.c
@@ -32,7 +32,6 @@
 #include "gtksidebarrowprivate.h"
 #include "gdk/gdkkeysyms.h"
 #include "gtkbookmarksmanagerprivate.h"
-#include "gtkcelllayout.h"
 #include "gtkfilechooserutils.h"
 #include "gtkicontheme.h"
 #include <glib/gi18n-lib.h>
diff --git a/gtk/gtkplacesview.c b/gtk/gtkplacesview.c
index 0c58880681..9684b0b0e8 100644
--- a/gtk/gtkplacesview.c
+++ b/gtk/gtkplacesview.c
@@ -520,6 +520,8 @@ on_remove_server_button_clicked (RemoveServerData *data)
   populate_servers (data->view);
 }
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 static void
 populate_servers (GtkPlacesView *view)
 {
@@ -615,6 +617,8 @@ populate_servers (GtkPlacesView *view)
   g_bookmark_file_free (server_list);
 }
 
+G_GNUC_END_IGNORE_DEPRECATIONS
+
 static void
 update_view_mode (GtkPlacesView *view)
 {
diff --git a/gtk/gtkprinteroptionwidget.c b/gtk/gtkprinteroptionwidget.c
index 4737171ba5..ffcd1991e7 100644
--- a/gtk/gtkprinteroptionwidget.c
+++ b/gtk/gtkprinteroptionwidget.c
@@ -31,7 +31,6 @@
 #include "gtkfilechooserprivate.h"
 #include "gtkimage.h"
 #include "gtklabel.h"
-#include "gtkliststore.h"
 #include "gtkcheckbutton.h"
 #include "gtkgrid.h"
 #include "gtkorientable.h"
diff --git a/gtk/gtksearchenginemodel.c b/gtk/gtksearchenginemodel.c
index 83ea00bdb0..3923ea6813 100644
--- a/gtk/gtksearchenginemodel.c
+++ b/gtk/gtksearchenginemodel.c
@@ -28,6 +28,8 @@
 
 #include <string.h>
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 struct _GtkSearchEngineModel
 {
   GtkSearchEngine parent;
diff --git a/gtk/gtkspinbutton.c b/gtk/gtkspinbutton.c
index 7b2074b655..8ea2a1c537 100644
--- a/gtk/gtkspinbutton.c
+++ b/gtk/gtkspinbutton.c
@@ -38,7 +38,7 @@
 #include "gtkbutton.h"
 #include "gtkbuttonprivate.h"
 #include "gtkeditable.h"
-#include "gtkcelleditable.h"
+#include "deprecated/gtkcelleditable.h"
 #include "gtkimage.h"
 #include "gtktext.h"
 #include "gtkeventcontrollerkey.h"
@@ -651,6 +651,8 @@ gtk_spin_button_accessible_range_init (GtkAccessibleRangeInterface *iface)
   iface->set_current_value = accessible_range_set_current_value;
 }
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 static void
 gtk_cell_editable_spin_button_activated (GtkText *text, GtkSpinButton *spin)
 {
@@ -711,6 +713,8 @@ gtk_spin_button_cell_editable_init (GtkCellEditableIface *iface)
   iface->start_editing = gtk_spin_button_start_editing;
 }
 
+G_GNUC_END_IGNORE_DEPRECATIONS
+
 static void
 gtk_spin_button_set_property (GObject      *object,
                               guint         prop_id,
diff --git a/gtk/inspector/actions.c b/gtk/inspector/actions.c
index d857add4c8..eeac0a188e 100644
--- a/gtk/inspector/actions.c
+++ b/gtk/inspector/actions.c
@@ -24,7 +24,6 @@
 
 #include "gtkapplication.h"
 #include "gtkapplicationwindow.h"
-#include "gtkliststore.h"
 #include "gtkwidgetprivate.h"
 #include "gtkactionmuxerprivate.h"
 #include "gtkpopover.h"
diff --git a/gtk/inspector/meson.build b/gtk/inspector/meson.build
index 0ab1b1c47f..813028a26a 100644
--- a/gtk/inspector/meson.build
+++ b/gtk/inspector/meson.build
@@ -42,7 +42,6 @@ inspector_sources = files(
   'statistics.c',
   'strv-editor.c',
   'tree-data.c',
-  'treewalk.c',
   'type-info.c',
   'updatesoverlay.c',
   'variant-editor.c',
diff --git a/gtk/inspector/object-tree.c b/gtk/inspector/object-tree.c
index 4986ee5518..88e97a9c2c 100644
--- a/gtk/inspector/object-tree.c
+++ b/gtk/inspector/object-tree.c
@@ -33,14 +33,14 @@
 
 #include "gtkbuildable.h"
 #include "gtkbutton.h"
-#include "gtkcelllayout.h"
+#include "deprecated/gtkcelllayout.h"
 #include "gtkcolumnview.h"
-#include "gtkcomboboxprivate.h"
+#include "deprecated/gtkcomboboxprivate.h"
 #include "gtkfilterlistmodel.h"
 #include "gtkcustomfilter.h"
 #include "gtkflattenlistmodel.h"
 #include "gtkbuiltiniconprivate.h"
-#include "gtkiconview.h"
+#include "deprecated/gtkiconview.h"
 #include "gtkinscription.h"
 #include "gtklabel.h"
 #include "gtklistitem.h"
@@ -52,15 +52,16 @@
 #include "gtktogglebutton.h"
 #include "gtktreeexpander.h"
 #include "gtktreelistmodel.h"
-#include "gtktreeview.h"
-#include "gtktreeselection.h"
-#include "gtktreemodelsort.h"
-#include "gtktreemodelfilter.h"
+#include "deprecated/gtktreeview.h"
+#include "deprecated/gtktreeselection.h"
+#include "deprecated/gtktreemodelsort.h"
+#include "deprecated/gtktreemodelfilter.h"
 #include "gtkwidgetprivate.h"
 #include "gtksearchbar.h"
 #include "gtksearchentry.h"
 #include "gtkeventcontrollerkey.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 
 enum
 {
diff --git a/gtk/inspector/object-tree.h b/gtk/inspector/object-tree.h
index fe9e0cc7bd..5fc457390e 100644
--- a/gtk/inspector/object-tree.h
+++ b/gtk/inspector/object-tree.h
@@ -24,7 +24,7 @@
 #define _GTK_INSPECTOR_OBJECT_TREE_H_
 
 #include <gtk/gtkbox.h>
-#include <gtk/gtktreemodel.h>
+#include <gtk/deprecated/gtktreemodel.h>
 
 #define GTK_TYPE_INSPECTOR_OBJECT_TREE            (gtk_inspector_object_tree_get_type())
 #define GTK_INSPECTOR_OBJECT_TREE(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj), 
GTK_TYPE_INSPECTOR_OBJECT_TREE, GtkInspectorObjectTree))
diff --git a/gtk/inspector/prop-editor.c b/gtk/inspector/prop-editor.c
index cc3dc89e24..94aa7d6d5f 100644
--- a/gtk/inspector/prop-editor.c
+++ b/gtk/inspector/prop-editor.c
@@ -26,14 +26,14 @@
 #include "gtkactionable.h"
 #include "gtkadjustment.h"
 #include "gtkapplicationwindow.h"
-#include "gtkcelllayout.h"
-#include "gtkcellrenderertext.h"
+#include "deprecated/gtkcelllayout.h"
+#include "deprecated/gtkcombobox.h"
+#include "deprecated/gtkiconview.h"
+#include "deprecated/gtktreeview.h"
 #include "gtkcolorbutton.h"
 #include "gtkcolorchooser.h"
-#include "gtkcombobox.h"
 #include "gtkfontbutton.h"
 #include "gtkfontchooser.h"
-#include "gtkiconview.h"
 #include "gtklabel.h"
 #include "gtkpopover.h"
 #include "gtkscrolledwindow.h"
@@ -46,6 +46,8 @@
 #include "gtklistbox.h"
 #include "gtkmenubutton.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
+
 struct _GtkInspectorPropEditor
 {
   GtkBox parent_instance;
diff --git a/gtk/inspector/recorder.c b/gtk/inspector/recorder.c
index 2ef40fe32f..d097f602b6 100644
--- a/gtk/inspector/recorder.c
+++ b/gtk/inspector/recorder.c
@@ -38,7 +38,6 @@
 #include <gtk/gtktogglebutton.h>
 #include <gtk/gtktreeexpander.h>
 #include <gtk/gtktreelistmodel.h>
-#include <gtk/gtktreemodel.h>
 #include <gtk/gtkstack.h>
 #include <gtk/gtknoselection.h>
 #include <gtk/gtkcolumnview.h>
diff --git a/gtk/inspector/tree-data.c b/gtk/inspector/tree-data.c
index 42cec69a84..7873f50b0f 100644
--- a/gtk/inspector/tree-data.c
+++ b/gtk/inspector/tree-data.c
@@ -22,14 +22,15 @@
 
 #include "object-tree.h"
 
-#include "gtktreeview.h"
-#include "gtkcellrenderertext.h"
+#include "deprecated/gtktreeview.h"
+#include "deprecated/gtkcellrenderertext.h"
 #include "gtktogglebutton.h"
 #include "gtklabel.h"
 #include "gtkstack.h"
 #include "gtkboxlayout.h"
 #include "gtkorientable.h"
 
+G_GNUC_BEGIN_IGNORE_DEPRECATIONS
 
 struct _GtkInspectorTreeData
 {
diff --git a/gtk/inspector/window.c b/gtk/inspector/window.c
index 9603a573d3..1364f34d3f 100644
--- a/gtk/inspector/window.c
+++ b/gtk/inspector/window.c
@@ -59,7 +59,6 @@
 #include "gtkprivate.h"
 #include "gtknative.h"
 #include "gtkstack.h"
-#include "gtktreeviewcolumn.h"
 #include "gtkwindowgroup.h"
 #include "gtkrevealer.h"
 #include "gtklayoutmanager.h"
diff --git a/gtk/meson.build b/gtk/meson.build
index 69c3eb1228..b479cf6f4c 100644
--- a/gtk/meson.build
+++ b/gtk/meson.build
@@ -31,7 +31,6 @@ gtk_private_sources = files([
   'gtkbuilder-menus.c',
   'gtkbuilderprecompile.c',
   'gtkbuiltinicon.c',
-  'gtkcellareaboxcontext.c',
   'gtkcoloreditor.c',
   'gtkcolorplane.c',
   'gtkcolorpicker.c',
@@ -148,7 +147,6 @@ gtk_private_sources = files([
   'gtktextviewchild.c',
   'timsort/gtktimsort.c',
   'gtktrashmonitor.c',
-  'gtktreedatalist.c',
 ])
 
 # List of files that contain public API, and should be introspected
@@ -179,21 +177,6 @@ gtk_public_sources = files([
   'gtkbuilderscope.c',
   'gtkbutton.c',
   'gtkcalendar.c',
-  'gtkcellarea.c',
-  'gtkcellareabox.c',
-  'gtkcellareacontext.c',
-  'gtkcelleditable.c',
-  'gtkcelllayout.c',
-  'gtkcellrenderer.c',
-  'gtkcellrendereraccel.c',
-  'gtkcellrenderercombo.c',
-  'gtkcellrendererpixbuf.c',
-  'gtkcellrendererprogress.c',
-  'gtkcellrendererspin.c',
-  'gtkcellrendererspinner.c',
-  'gtkcellrenderertext.c',
-  'gtkcellrenderertoggle.c',
-  'gtkcellview.c',
   'gtkcenterbox.c',
   'gtkcenterlayout.c',
   'gtkcheckbutton.c',
@@ -205,8 +188,6 @@ gtk_public_sources = files([
   'gtkcolumnview.c',
   'gtkcolumnviewcolumn.c',
   'gtkcolumnviewsorter.c',
-  'gtkcombobox.c',
-  'gtkcomboboxtext.c',
   'gtkcomposetable.c',
   'gtkconstraintguide.c',
   'gtkconstraintlayout.c',
@@ -271,7 +252,6 @@ gtk_public_sources = files([
   'gtkgridview.c',
   'gtkheaderbar.c',
   'gtkicontheme.c',
-  'gtkiconview.c',
   'gtkimage.c',
   'gtkimagedefinition.c',
   'gtkimcontext.c',
@@ -292,7 +272,6 @@ gtk_public_sources = files([
   'gtklistitemmanager.c',
   'gtklistitemwidget.c',
   'gtklistlistmodel.c',
-  'gtkliststore.c',
   'gtklistview.c',
   'gtklockbutton.c',
   'gtkmain.c',
@@ -333,7 +312,6 @@ gtk_public_sources = files([
   'gtkprogressbar.c',
   'gtkpropertylookuplistmodel.c',
   'gtkrange.c',
-  'gtktreerbtree.c',
   'gtkrecentmanager.c',
   'gtkrender.c',
   'gtkrenderbackground.c',
@@ -408,19 +386,9 @@ gtk_public_sources = files([
   'gtktogglebutton.c',
   'gtktooltip.c',
   'gtktooltipwindow.c',
-  'gtktreednd.c',
   'gtktreeexpander.c',
   'gtktreelistmodel.c',
   'gtktreelistrowsorter.c',
-  'gtktreemodel.c',
-  'gtktreemodelfilter.c',
-  'gtktreemodelsort.c',
-  'gtktreepopover.c',
-  'gtktreeselection.c',
-  'gtktreesortable.c',
-  'gtktreestore.c',
-  'gtktreeview.c',
-  'gtktreeviewcolumn.c',
   'gtkversion.c',
   'gtkvideo.c',
   'gtkviewport.c',
@@ -468,21 +436,6 @@ gtk_public_headers = files([
   'gtkcalendar.h',
   'gtkcenterbox.h',
   'gtkcenterlayout.h',
-  'gtkcellarea.h',
-  'gtkcellareabox.h',
-  'gtkcellareacontext.h',
-  'gtkcelleditable.h',
-  'gtkcelllayout.h',
-  'gtkcellrenderer.h',
-  'gtkcellrendereraccel.h',
-  'gtkcellrenderercombo.h',
-  'gtkcellrendererpixbuf.h',
-  'gtkcellrendererprogress.h',
-  'gtkcellrendererspin.h',
-  'gtkcellrendererspinner.h',
-  'gtkcellrenderertext.h',
-  'gtkcellrenderertoggle.h',
-  'gtkcellview.h',
   'gtkcheckbutton.h',
   'gtkcolorbutton.h',
   'gtkcolorchooser.h',
@@ -491,8 +444,6 @@ gtk_public_headers = files([
   'gtkcolorutils.h',
   'gtkcolumnview.h',
   'gtkcolumnviewcolumn.h',
-  'gtkcombobox.h',
-  'gtkcomboboxtext.h',
   'gtkconstraintguide.h',
   'gtkconstraintlayout.h',
   'gtkconstraint.h',
@@ -556,7 +507,6 @@ gtk_public_headers = files([
   'gtkgridview.h',
   'gtkheaderbar.h',
   'gtkicontheme.h',
-  'gtkiconview.h',
   'gtkimage.h',
   'gtkimcontext.h',
   'gtkimcontextsimple.h',
@@ -573,7 +523,6 @@ gtk_public_headers = files([
   'gtklistbox.h',
   'gtklistitem.h',
   'gtklistitemfactory.h',
-  'gtkliststore.h',
   'gtklistview.h',
   'gtklockbutton.h',
   'gtkmain.h',
@@ -670,18 +619,9 @@ gtk_public_headers = files([
   'gtktextview.h',
   'gtktogglebutton.h',
   'gtktooltip.h',
-  'gtktreednd.h',
   'gtktreeexpander.h',
   'gtktreelistmodel.h',
   'gtktreelistrowsorter.h',
-  'gtktreemodel.h',
-  'gtktreemodelfilter.h',
-  'gtktreemodelsort.h',
-  'gtktreeselection.h',
-  'gtktreesortable.h',
-  'gtktreestore.h',
-  'gtktreeview.h',
-  'gtktreeviewcolumn.h',
   'gtktypes.h',
   'gtkvideo.h',
   'gtkviewport.h',
diff --git a/testsuite/gtk/rbtree.c b/testsuite/gtk/rbtree.c
index b735b7da47..170ff2bee5 100644
--- a/testsuite/gtk/rbtree.c
+++ b/testsuite/gtk/rbtree.c
@@ -19,7 +19,7 @@
 
 #include <locale.h>
 
-#include "../../gtk/gtktreerbtreeprivate.h"
+#include "../../gtk/deprecated/gtktreerbtreeprivate.h"
 
 /* gtk_tree_rbtree_test */
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]