[gtkmm] Gdk, Gtk: Regenerate docs.xml and .defs files



commit 848eda0fc5020d845397a91bf5074dbd1edf5d05
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Mon Nov 19 18:27:48 2018 +0100

    Gdk, Gtk: Regenerate docs.xml and .defs files
    
    and update gtk_signals.defs.patch.

 gdk/src/gdk_docs.xml           |   45 +-
 gdk/src/gdk_enums.defs         |    4 +-
 gdk/src/gdk_methods.defs       |   10 -
 gtk/src/gtk_docs.xml           | 1737 +++++++++++++++++++++++++++++++---------
 gtk/src/gtk_methods.defs       |  516 ++++++++++--
 gtk/src/gtk_signals.defs       |   33 +-
 gtk/src/gtk_signals.defs.patch |   39 +-
 7 files changed, 1820 insertions(+), 564 deletions(-)
---
diff --git a/gdk/src/gdk_docs.xml b/gdk/src/gdk_docs.xml
index b741b88d..118e67d1 100644
--- a/gdk/src/gdk_docs.xml
+++ b/gdk/src/gdk_docs.xml
@@ -2833,14 +2833,7 @@ Describes the kind of surface.
 </parameter_description>
 </parameter>
 <parameter name="GDK_SURFACE_TEMP">
-<parameter_description> override redirect temporary surface (used to implement
-#GtkMenu)
-</parameter_description>
-</parameter>
-<parameter name="GDK_SURFACE_SUBSURFACE">
-<parameter_description> subsurface; This surface is visually
-tied to a toplevel, and is moved/stacked with it. Currently this window
-type is only implemented in Wayland
+<parameter_description> override redirect temporary surface (used to implement #GtkMenu)
 </parameter_description>
 </parameter>
 </parameters>
@@ -8410,27 +8403,6 @@ as if the event had no state field.
 </return>
 </function>
 
-<function name="gdk_event_get_string">
-<description>
-Extracts a string from an event. The string is an
-approximation of the keyval in a key event.
-
-
-</description>
-<parameters>
-<parameter name="event">
-<parameter_description> a #GdkEvent
-</parameter_description>
-</parameter>
-<parameter name="string">
-<parameter_description> return location for the string
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE on success, otherwise %FALSE
-</return>
-</function>
-
 <function name="gdk_event_get_surface">
 <description>
 Extracts the #GdkSurface associated with an event.
@@ -13644,6 +13616,11 @@ to be mutable.
 
 <function name="gdk_pixbuf_read_pixel_bytes">
 <description>
+Provides a #GBytes buffer containing the raw pixel data; the data
+must not be modified.  This function allows skipping the implicit
+copy that must be made if gdk_pixbuf_get_pixels() is called on a
+read-only pixbuf.
+
 Since: 2.32
 
 </description>
@@ -13663,7 +13640,7 @@ returned #GBytes.
 
 <function name="gdk_pixbuf_read_pixels">
 <description>
-Returns a read-only pointer to the raw pixel data; must not be
+Provides a read-only pointer to the raw pixel data; must not be
 modified.  This function allows skipping the implicit copy that
 must be made if gdk_pixbuf_get_pixels() is called on a read-only
 pixbuf.
@@ -13677,7 +13654,9 @@ Since: 2.32
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> a read-only pointer to the raw pixel data
+
+</return>
 </function>
 
 <function name="gdk_pixbuf_ref">
@@ -18301,7 +18280,7 @@ Gets the Vulkan device that this context is using.
 <description>
 Gets the index of the image that is currently being drawn.
 
-This function can only be used between gdk_cairo_context_begin_frame() and
+This function can only be used between gdk_draw_context_begin_frame() and
 gdk_draw_context_end_frame() calls.
 
 
@@ -18321,7 +18300,7 @@ gdk_draw_context_end_frame() calls.
 Gets the Vulkan semaphore that protects access to the image that is
 currently being drawn.
 
-This function can only be used between gdk_cairo_context_begin_frame() and
+This function can only be used between gdk_draw_context_begin_frame() and
 gdk_draw_context_end_frame() calls.
 
 
diff --git a/gdk/src/gdk_enums.defs b/gdk/src/gdk_enums.defs
index 7afc4de0..ed8cde53 100644
--- a/gdk/src/gdk_enums.defs
+++ b/gdk/src/gdk_enums.defs
@@ -445,8 +445,7 @@
 ;; {
 ;;   GDK_SURFACE_TOPLEVEL,
 ;;   GDK_SURFACE_CHILD,
-;;   GDK_SURFACE_TEMP,
-;;   GDK_SURFACE_SUBSURFACE
+;;   GDK_SURFACE_TEMP
 ;; } GdkSurfaceType;
 
 (define-enum-extended SurfaceType
@@ -456,7 +455,6 @@
     '("toplevel" "GDK_SURFACE_TOPLEVEL" "0")
     '("child" "GDK_SURFACE_CHILD" "1")
     '("temp" "GDK_SURFACE_TEMP" "2")
-    '("subsurface" "GDK_SURFACE_SUBSURFACE" "3")
   )
 )
 
diff --git a/gdk/src/gdk_methods.defs b/gdk/src/gdk_methods.defs
index 6f34770a..abe0c8e5 100644
--- a/gdk/src/gdk_methods.defs
+++ b/gdk/src/gdk_methods.defs
@@ -270,7 +270,6 @@
     '("toplevel" "GDK_SURFACE_TOPLEVEL")
     '("child" "GDK_SURFACE_CHILD")
     '("temp" "GDK_SURFACE_TEMP")
-    '("subsurface" "GDK_SURFACE_SUBSURFACE")
   )
 )
 
@@ -2600,15 +2599,6 @@
   )
 )
 
-(define-method get_string
-  (of-object "GdkEvent")
-  (c-name "gdk_event_get_string")
-  (return-type "gboolean")
-  (parameters
-    '("const-char**" "string")
-  )
-)
-
 (define-method get_scroll_direction
   (of-object "GdkEvent")
   (c-name "gdk_event_get_scroll_direction")
diff --git a/gtk/src/gtk_docs.xml b/gtk/src/gtk_docs.xml
index 256fa4ff..51051bfb 100644
--- a/gtk/src/gtk_docs.xml
+++ b/gtk/src/gtk_docs.xml
@@ -651,6 +651,21 @@ through gtk_application_remove_window().
 <property name="GtkApplication:register-session">
 <description>
 Set this property to %TRUE to register with the session manager.
+This will make GTK+ track the session state (such as the
+#GtkApplication::screensaver-active property).
+
+</description>
+</property>
+
+<property name="GtkApplication:screensaver-active">
+<description>
+This property is %TRUE if GTK+ believes that the screensaver is
+currently active. GTK+ only tracks session state (including this)
+when #GtkApplication::register-session is set to %TRUE.
+
+Tracking the screensaver state is supported on Linux.
+
+Since: 3.24
 
 </description>
 </property>
@@ -4105,6 +4120,28 @@ This signal is emitted whenever a key is released.
 <return></return>
 </signal>
 
+<signal name="GtkEventControllerLegacy::event">
+<description>
+The GTK+ main loop will emit this signal for each GDK event delivered
+to @controller.
+
+
+</description>
+<parameters>
+<parameter name="controller">
+<parameter_description> the object which received the signal.
+</parameter_description>
+</parameter>
+<parameter name="event">
+<parameter_description> the #GdkEvent which triggered this signal
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE to stop other handlers from being invoked for the event
+and the emission of this signal. %FALSE to propagate the event further.
+</return>
+</signal>
+
 <signal name="GtkEventControllerMotion::enter">
 <description>
 Signals that the pointer has entered the widget.
@@ -4193,6 +4230,7 @@ pixels/ms.
 Signals that the widget should scroll by the
 amount specified by @dx and @dy.
 
+
 </description>
 <parameters>
 <parameter name="controller">
@@ -4208,7 +4246,8 @@ amount specified by @dx and @dy.
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> %TRUE if the scroll event was handled, %FALSE otherwise.
+</return>
 </signal>
 
 <signal name="GtkEventControllerScroll::scroll-begin">
@@ -4939,6 +4978,41 @@ display the file in the file chooser
 </parameters>
 </enum>
 
+<property name="GtkFilterListModel:has-filter">
+<description>
+If a filter is set for this model
+
+</description>
+</property>
+
+<property name="GtkFilterListModel:item-type">
+<description>
+The #GType for elements of this object
+
+</description>
+</property>
+
+<property name="GtkFilterListModel:model">
+<description>
+The model being filtered
+
+</description>
+</property>
+
+<property name="GtkFlattenListModel:item-type">
+<description>
+The #GTpe for elements of this object
+
+</description>
+</property>
+
+<property name="GtkFlattenListModel:model">
+<description>
+The model being flattened
+
+</description>
+</property>
+
 <signal name="GtkFlowBox::activate-cursor-child">
 <description>
 The ::activate-cursor-child signal is a
@@ -7377,6 +7451,27 @@ The property determines whether this row can be selected.
 </description>
 </property>
 
+<property name="GtkMapListModel:has-map">
+<description>
+If a map is set for this model
+
+</description>
+</property>
+
+<property name="GtkMapListModel:item-type">
+<description>
+The #GType for elements of this object
+
+</description>
+</property>
+
+<property name="GtkMapListModel:model">
+<description>
+The model being mapped
+
+</description>
+</property>
+
 <property name="GtkMediaControls:media-stream">
 <description>
 The media-stream managed by this object or %NULL if none.
@@ -8890,6 +8985,17 @@ scrolled windows share a scrollbar.
 </parameters>
 </enum>
 
+<signal name="GtkPopover::closed">
+<description>
+This signal is emitted when the popover is dismissed either through
+API or user interaction.
+
+</description>
+<parameters>
+</parameters>
+<return></return>
+</signal>
+
 <property name="GtkPopover:constrain-to">
 <description>
 Sets a constraint for the popover position.
@@ -9943,6 +10049,27 @@ grab broken handlers for controllers in this phase to be run.
 </parameters>
 </enum>
 
+<property name="GtkPropertyLookupListModel:item-type">
+<description>
+The #GType for elements of this object
+
+</description>
+</property>
+
+<property name="GtkPropertyLookupListModel:object">
+<description>
+The root object
+
+</description>
+</property>
+
+<property name="GtkPropertyLookupListModel:property">
+<description>
+Name of the property used for lookups
+
+</description>
+</property>
+
 <signal name="GtkRadioButton::group-changed">
 <description>
 Emitted when the group of radio buttons that a radio button belongs
@@ -11175,7 +11302,7 @@ or none.
 Used to change the appearance of an outline typically provided by a #GtkFrame.
 
 Note that many themes do not differentiate the appearance of the
-various shadow types: Either their is no visible shadow (@GTK_SHADOW_NONE),
+various shadow types: Either there is no visible shadow (@GTK_SHADOW_NONE),
 or there is (any other value).
 
 </description>
@@ -11578,6 +11705,55 @@ width-for-height geometry management.
 </parameters>
 </enum>
 
+<property name="GtkSliceListModel:item-type">
+<description>
+The #GType for elements of this object
+
+</description>
+</property>
+
+<property name="GtkSliceListModel:model">
+<description>
+Child model to take slice from
+
+</description>
+</property>
+
+<property name="GtkSliceListModel:offset">
+<description>
+Offset of slice
+
+</description>
+</property>
+
+<property name="GtkSliceListModel:size">
+<description>
+Maximum size of slice
+
+</description>
+</property>
+
+<property name="GtkSortListModel:has-sort">
+<description>
+If a sort function is set for this model
+
+</description>
+</property>
+
+<property name="GtkSortListModel:item-type">
+<description>
+The #GType for items of this model
+
+</description>
+</property>
+
+<property name="GtkSortListModel:model">
+<description>
+The model being sorted
+
+</description>
+</property>
+
 <enum name="GtkSortType">
 <description>
 Determines the direction of a sort.
@@ -13602,6 +13778,64 @@ other, rather than vertically stacked
 </parameters>
 </enum>
 
+<property name="GtkTreeListModel:autoexpand">
+<description>
+If all rows should be expanded by default
+
+</description>
+</property>
+
+<property name="GtkTreeListModel:model">
+<description>
+The root model displayed
+
+</description>
+</property>
+
+<property name="GtkTreeListModel:passthrough">
+<description>
+If %FALSE, the #GListModel functions for this object return custom
+#GtkTreeListRow objects.
+If %TRUE, the values of the child models are pass through unmodified.
+
+</description>
+</property>
+
+<property name="GtkTreeListRow:children">
+<description>
+The model holding the row's children.
+
+</description>
+</property>
+
+<property name="GtkTreeListRow:depth">
+<description>
+The depth in the tree of this row
+
+</description>
+</property>
+
+<property name="GtkTreeListRow:expandable">
+<description>
+If this row can ever be expanded
+
+</description>
+</property>
+
+<property name="GtkTreeListRow:expanded">
+<description>
+If this row is currently expanded
+
+</description>
+</property>
+
+<property name="GtkTreeListRow:item">
+<description>
+The item held in this row
+
+</description>
+</property>
+
 <signal name="GtkTreeModel::row-changed">
 <description>
 This signal is emitted when a row in the model has changed.
@@ -14702,29 +14936,6 @@ else
 </return>
 </signal>
 
-<signal name="GtkWidget::event">
-<description>
-The GTK+ main loop will emit this signal for each GDK event delivered
-to a widget.
-
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> the object which received the signal.
-</parameter_description>
-</parameter>
-<parameter name="event">
-<parameter_description> the #GdkEvent which triggered this signal
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE to stop other handlers from being invoked for the event
-and to cancel the emission of the second specific ::event signal.
-%FALSE to propagate the event further.
-</return>
-</signal>
-
 <signal name="GtkWidget::focus">
 <description>
 
@@ -15010,9 +15221,12 @@ gtk_widget_show().
 <parameter_description> the object which received the signal.
 </parameter_description>
 </parameter>
-<parameter name="allocation">
-<parameter_description> the region which has been
-allocated to the widget.
+<parameter name="width">
+<parameter_description> the content width of the widget
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> the content height of the widget
 </parameter_description>
 </parameter>
 <parameter name="baseline">
@@ -21568,7 +21782,7 @@ Upon errors %FALSE will be returned and @error will be assigned a
 
 <function name="gtk_button_box_get_child_non_homogeneous">
 <description>
-Returns whether the child is exempted from homogenous
+Returns whether the child is exempted from homogeneous
 sizing.
 
 
@@ -21583,7 +21797,7 @@ sizing.
 </parameter_description>
 </parameter>
 </parameters>
-<return> %TRUE if the child is not subject to homogenous sizing
+<return> %TRUE if the child is not subject to homogeneous sizing
 </return>
 </function>
 
@@ -21641,7 +21855,7 @@ Creates a new #GtkButtonBox.
 
 <function name="gtk_button_box_set_child_non_homogeneous">
 <description>
-Sets whether the child is exempted from homogeous sizing.
+Sets whether the child is exempted from homogeneous sizing.
 
 </description>
 <parameters>
@@ -27427,36 +27641,6 @@ gtk_container_forall() for details on what constitutes an &quot;internal&quot; c
 </return>
 </function>
 
-<function name="gtk_container_get_focus_chain">
-<description>
-Retrieves the focus chain of the container, if one has been
-set explicitly. If no focus chain has been explicitly
-set, GTK+ computes the focus chain based on the positions
-of the children. In that case, GTK+ stores %NULL in
-@focusable_widgets and returns %FALSE.
-
-
-</description>
-<parameters>
-<parameter name="container">
-<parameter_description>         a #GtkContainer
-</parameter_description>
-</parameter>
-<parameter name="focusable_widgets">
-<parameter_description> location
-to store the focus chain of the
-container, or %NULL. You should free this list
-using g_list_free() when you are done with it, however
-no additional reference count is added to the
-individual widgets in the focus chain.
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the focus chain of the container
-has been set explicitly.
-</return>
-</function>
-
 <function name="gtk_container_get_focus_hadjustment">
 <description>
 Retrieves the horizontal focus adjustment for the container. See
@@ -27540,31 +27724,6 @@ container and help break any circular reference count cycles.
 <return></return>
 </function>
 
-<function name="gtk_container_set_focus_chain">
-<description>
-Sets a focus chain, overriding the one computed automatically by GTK+.
-
-In principle each widget in the chain should be a descendant of the
-container, but this is not enforced by this method, since it’s allowed
-to set the focus chain before you pack the widgets, or have a widget
-in the chain that isn’t always packed. The necessary checks are done
-when the focus chain is actually traversed.
-
-</description>
-<parameters>
-<parameter name="container">
-<parameter_description> a #GtkContainer
-</parameter_description>
-</parameter>
-<parameter name="focusable_widgets">
-<parameter_description>
-the new focus chain
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_container_set_focus_child">
 <description>
 Sets, or unsets if @child is %NULL, the focused child of @container.
@@ -27644,20 +27803,6 @@ is moved among the descendents of @container
 <return></return>
 </function>
 
-<function name="gtk_container_unset_focus_chain">
-<description>
-Removes a focus chain explicitly set with gtk_container_set_focus_chain().
-
-</description>
-<parameters>
-<parameter name="container">
-<parameter_description> a #GtkContainer
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_content_formats_add_image_targets">
 <description>
 Appends the image targets supported by #GtkSelectionData to
@@ -27720,20 +27865,6 @@ Creates a new CSS node.
 </return>
 </function>
 
-<function name="gtk_css_provider_get_default">
-<description>
-Returns the provider containing the style settings used as a
-fallback for all widgets.
-
-
-</description>
-<parameters>
-</parameters>
-<return> The provider used for fallback styling.
-This memory is owned by GTK+, and you must not free it.
-</return>
-</function>
-
 <function name="gtk_css_provider_get_named">
 <description>
 Loads a theme from the usual theme paths
@@ -34443,6 +34574,152 @@ Serialize a file filter to an a{sv} variant.
 </return>
 </function>
 
+<function name="gtk_filter_list_model_get_model">
+<description>
+Gets the model currently filtered or %NULL if none.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkFilterListModel
+</parameter_description>
+</parameter>
+</parameters>
+<return> The model that gets filtered
+</return>
+</function>
+
+<function name="gtk_filter_list_model_has_filter">
+<description>
+Checks if a filter function is currently set on @self
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkFilterListModel
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a filter function is set
+</return>
+</function>
+
+<function name="gtk_filter_list_model_new">
+<description>
+Creates a new #GtkFilterListModel that will filter @model using the given
+@filter_func.
+
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> the model to sort
+</parameter_description>
+</parameter>
+<parameter name="filter_func">
+<parameter_description> filter function or %NULL to not filter items
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to @filter_func
+</parameter_description>
+</parameter>
+<parameter name="user_destroy">
+<parameter_description> destroy notifier for @user_data
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkFilterListModel
+</return>
+</function>
+
+<function name="gtk_filter_list_model_new_for_type">
+<description>
+Creates a new empty filter list model set up to return items of type @item_type.
+It is up to the application to set a proper filter function and model to ensure
+the item type is matched.
+
+
+</description>
+<parameters>
+<parameter name="item_type">
+<parameter_description> the type of the items that will be returned
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkFilterListModel
+</return>
+</function>
+
+<function name="gtk_filter_list_model_refilter">
+<description>
+Causes @self to refilter all items in the model.
+
+Calling this function is necessary when data used by the filter
+function has changed.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkFilterListModel
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_filter_list_model_set_filter_func">
+<description>
+Sets the function used to filter items. The function will be called for every
+item and if it returns %TRUE the item is considered visible.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkFilterListModel
+</parameter_description>
+</parameter>
+<parameter name="filter_func">
+<parameter_description> filter function or %NULL to not filter items
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to @filter_func
+</parameter_description>
+</parameter>
+<parameter name="user_destroy">
+<parameter_description> destroy notifier for @user_data
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_filter_list_model_set_model">
+<description>
+Sets the model to be filtered.
+
+Note that GTK makes no effort to ensure that @model conforms to
+the item type of @self. It assumes that the caller knows what they
+are doing and have set up an appropriate filter function to ensure
+that item types match.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkFilterListModel
+</parameter_description>
+</parameter>
+<parameter name="model">
+<parameter_description> The model to be filtered
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_fixed_move">
 <description>
 Moves a child of a #GtkFixed container to the given position.
@@ -34507,6 +34784,63 @@ Adds a widget to a #GtkFixed container at the given position.
 <return></return>
 </function>
 
+<function name="gtk_flatten_list_model_get_model">
+<description>
+Gets the model set via gtk_flatten_list_model_set_model().
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkFlattenListModel
+</parameter_description>
+</parameter>
+</parameters>
+<return> The model flattened by @self
+</return>
+</function>
+
+<function name="gtk_flatten_list_model_new">
+<description>
+Creates a new #GtkFlattenListModel that flattens @list. The
+models returned by @model must conform to the given @item_type,
+either by having an identical type or a subtype.
+
+
+</description>
+<parameters>
+<parameter name="item_type">
+<parameter_description> The type of items in the to-be-flattened models
+</parameter_description>
+</parameter>
+<parameter name="model">
+<parameter_description> the item to be flattened
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkFlattenListModel
+</return>
+</function>
+
+<function name="gtk_flatten_list_model_set_model">
+<description>
+Sets a new model to be flattened. The model must contain items of
+#GtkListModel that conform to the item type of @self.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkFlattenListModel
+</parameter_description>
+</parameter>
+<parameter name="model">
+<parameter_description> the new model or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_flow_box_bind_model">
 <description>
 Binds @model to @box.
@@ -36821,9 +37155,9 @@ state in motion history.
 <function name="gtk_gesture_stylus_get_device_tool">
 <description>
 Returns the #GdkDeviceTool currently driving input through this gesture.
-This function must be called from either the #GtkGestureStylus:down,
-#GtkGestureStylus:motion, #GtkGestureStylus:up or #GtkGestureStylus:proximity
-signals.
+This function must be called from either the #GtkGestureStylus::down,
+#GtkGestureStylus::motion, #GtkGestureStylus::up or #GtkGestureStylus::proximity
+signal handlers.
 
 
 </description>
@@ -38384,28 +38718,6 @@ output values will be in the same range.
 <return></return>
 </function>
 
-<function name="gtk_icon_cache_validate">
-<description>
-Validates the icon cache passed in the @cache and
-@cache_size fields of the @info structure. The
-validator checks that offsets specified in the
-cache do not point outside the mapped area, that
-strings look reasonable, and that pixbufs can
-be deserialized. The amount of validation can
-be controlled with the @flags field.
-
-
-</description>
-<parameters>
-<parameter name="info">
-<parameter_description> a CacheInfo structure
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the cache is valid
-</return>
-</function>
-
 <function name="gtk_icon_info_get_base_scale">
 <description>
 Gets the base scale for the icon. The base scale is a scale
@@ -38431,9 +38743,8 @@ a base scale of 2.
 Gets the base size for the icon. The base size
 is a size for the icon that was specified by
 the icon theme creator. This may be different
-than the actual size of image; an example of
-this is small emblem icons that can be attached
-to a larger icon. These icons will be given
+than the actual size of image;
+These icons will be given
 the same base size as the larger icons to which
 they are attached.
 
@@ -38758,7 +39069,7 @@ See gtk_icon_info_load_symbolic() for more details.
 </parameter>
 <parameter name="was_symbolic">
 <parameter_description> a #gboolean, returns whether the
-loaded icon was a symbolic one and whether the @fg color was
+loaded icon was a symbolic one and whether the foreground color was
 applied to it.
 </parameter_description>
 </parameter>
@@ -45257,6 +45568,127 @@ when it regains control.
 <return></return>
 </function>
 
+<function name="gtk_map_list_model_get_model">
+<description>
+Gets the model that is curently being mapped or %NULL if none.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkMapListModel
+</parameter_description>
+</parameter>
+</parameters>
+<return> The model that gets mapped
+</return>
+</function>
+
+<function name="gtk_map_list_model_has_map">
+<description>
+Checks if a map function is currently set on @self
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkMapListModel
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a map function is set
+</return>
+</function>
+
+<function name="gtk_map_list_model_new">
+<description>
+Creates a new #GtkMapListModel for the given arguments.
+
+
+</description>
+<parameters>
+<parameter name="item_type">
+<parameter_description> the #GType to use as the model's item type
+</parameter_description>
+</parameter>
+<parameter name="model">
+<parameter_description> The model to map or %NULL for none
+</parameter_description>
+</parameter>
+<parameter name="map_func">
+<parameter_description> map function or %NULL to not map items
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to @map_func
+</parameter_description>
+</parameter>
+<parameter name="user_destroy">
+<parameter_description> destroy notifier for @user_data
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkMapListModel
+</return>
+</function>
+
+<function name="gtk_map_list_model_set_map_func">
+<description>
+Sets the function used to map items. The function will be called whenever
+an item needs to be mapped and must return the item to use for the given
+input item.
+
+Note that #GtkMapListModel may call this function multiple times on the
+same item, because it may delete items it doesn't need anymore.
+
+GTK makes no effort to ensure that @map_func conforms to the item type
+of @self. It assumes that the caller knows what they are doing and the map
+function returns items of the appropriate type.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkMapListModel
+</parameter_description>
+</parameter>
+<parameter name="map_func">
+<parameter_description> map function or %NULL to not map items
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to @map_func
+</parameter_description>
+</parameter>
+<parameter name="user_destroy">
+<parameter_description> destroy notifier for @user_data
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_map_list_model_set_model">
+<description>
+Sets the model to be mapped.
+
+GTK makes no effort to ensure that @model conforms to the item type
+expected by the map function. It assumes that the caller knows what
+they are doing and have set up an appropriate map function.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkMapListModel
+</parameter_description>
+</parameter>
+<parameter name="model">
+<parameter_description> The model to be mapped
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_medai_stream_get_ended">
 <description>
 Returns whether the streams playback is finished.
@@ -47138,65 +47570,6 @@ Removes the menu from the screen.
 <return></return>
 </function>
 
-<function name="gtk_menu_popup">
-<description>
-Displays a menu and makes it available for selection.
-
-Applications can use this function to display context-sensitive
-menus, and will typically supply %NULL for the @parent_menu_shell,
-@parent_menu_item, @func and @data parameters. The default menu
-positioning function will position the menu at the current mouse
-cursor position.
-
-The @button parameter should be the mouse button pressed to initiate
-the menu popup. If the menu popup was initiated by something other
-than a mouse button press, such as a mouse button release or a keypress,
-@button should be 0.
-
-The @activate_time parameter is used to conflict-resolve initiation
-of concurrent requests for mouse/keyboard grab requests. To function
-properly, this needs to be the timestamp of the user event (such as
-a mouse click or key press) that caused the initiation of the popup.
-Only if no such event is available, gtk_get_current_event_time() can
-be used instead.
-
-</description>
-<parameters>
-<parameter name="menu">
-<parameter_description> a #GtkMenu
-</parameter_description>
-</parameter>
-<parameter name="parent_menu_shell">
-<parameter_description> the menu shell containing the
-triggering menu item, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="parent_menu_item">
-<parameter_description> the menu item whose activation
-triggered the popup, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="func">
-<parameter_description> a user supplied function used to position
-the menu, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="data">
-<parameter_description> user supplied data to be passed to @func.
-</parameter_description>
-</parameter>
-<parameter name="button">
-<parameter_description> the mouse button which was pressed to initiate the event.
-</parameter_description>
-</parameter>
-<parameter name="activate_time">
-<parameter_description> the time at which the activation event occurred.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_menu_popup_at_pointer">
 <description>
 Displays @menu and makes it available for selection.
@@ -47329,73 +47702,6 @@ Other properties that influence the behaviour of this function are
 <return></return>
 </function>
 
-<function name="gtk_menu_popup_for_device">
-<description>
-Displays a menu and makes it available for selection.
-
-Applications can use this function to display context-sensitive menus,
-and will typically supply %NULL for the @parent_menu_shell,
-@parent_menu_item, @func, @data and @destroy parameters. The default
-menu positioning function will position the menu at the current position
-of @device (or its corresponding pointer).
-
-The @button parameter should be the mouse button pressed to initiate
-the menu popup. If the menu popup was initiated by something other than
-a mouse button press, such as a mouse button release or a keypress,
-@button should be 0.
-
-The @activate_time parameter is used to conflict-resolve initiation of
-concurrent requests for mouse/keyboard grab requests. To function
-properly, this needs to be the time stamp of the user event (such as
-a mouse click or key press) that caused the initiation of the popup.
-Only if no such event is available, gtk_get_current_event_time() can
-be used instead.
-
-</description>
-<parameters>
-<parameter name="menu">
-<parameter_description> a #GtkMenu
-</parameter_description>
-</parameter>
-<parameter name="device">
-<parameter_description> a #GdkDevice
-</parameter_description>
-</parameter>
-<parameter name="parent_menu_shell">
-<parameter_description> the menu shell containing the triggering
-menu item, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="parent_menu_item">
-<parameter_description> the menu item whose activation triggered
-the popup, or %NULL
-</parameter_description>
-</parameter>
-<parameter name="func">
-<parameter_description> a user supplied function used to position the menu,
-or %NULL
-</parameter_description>
-</parameter>
-<parameter name="data">
-<parameter_description> user supplied data to be passed to @func
-</parameter_description>
-</parameter>
-<parameter name="destroy">
-<parameter_description> destroy notify for @data
-</parameter_description>
-</parameter>
-<parameter name="button">
-<parameter_description> the mouse button which was pressed to initiate the event
-</parameter_description>
-</parameter>
-<parameter name="activate_time">
-<parameter_description> the time at which the activation event occurred
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_menu_reorder_child">
 <description>
 Moves @child to a new @position in the list of @menu
@@ -49743,7 +50049,7 @@ added to @overlay.
 
 A widget’s index in the @overlay children list determines which order
 the children are drawn if they overlap. The first child is drawn at
-the bottom. It also affects the default focus chain order.
+the bottom. It also affects the focus order.
 
 </description>
 <parameters>
@@ -50490,7 +50796,7 @@ This function adds the page setup from @setup to @key_file.
 </parameter_description>
 </parameter>
 <parameter name="group_name">
-<parameter_description> the group to add the settings to in @key_file, 
+<parameter_description> the group to add the settings to in @key_file,
 or %NULL to use the default name “Page Setup”
 </parameter_description>
 </parameter>
@@ -51199,7 +51505,7 @@ Reads a paper size from the group @group_name in the key file
 </parameter_description>
 </parameter>
 <parameter name="group_name">
-<parameter_description> the name ofthe group in the key file to read,
+<parameter_description> the name of the group in the key file to read,
 or %NULL to read the first group
 </parameter_description>
 </parameter>
@@ -51514,7 +51820,7 @@ It is equivalent to the &quot;alt&quot; attribute for images on websites.
 
 This text will be made available to accessibility tools.
 
-If the picture cannot be described textually, set this proeprty to %NULL.
+If the picture cannot be described textually, set this property to %NULL.
 
 </description>
 <parameters>
@@ -55218,7 +55524,7 @@ This function adds the print settings from @settings to @key_file.
 </parameter_description>
 </parameter>
 <parameter name="group_name">
-<parameter_description> the group to add the settings to in @key_file, or 
+<parameter_description> the group to add the settings to in @key_file, or
 %NULL to use the default “Print Settings”
 </parameter_description>
 </parameter>
@@ -58476,92 +58782,15 @@ Typical checkmark rendering:
 <return></return>
 </function>
 
-<function name="gtk_render_expander">
-<description>
-Renders an expander (as used in #GtkTreeView and #GtkExpander) in the area
-defined by @x, @y, @width, @height. The state %GTK_STATE_FLAG_CHECKED
-determines whether the expander is collapsed or expanded.
-
-Typical expander rendering:
-
-![](expanders.png)
-
-</description>
-<parameters>
-<parameter name="context">
-<parameter_description> a #GtkStyleContext
-</parameter_description>
-</parameter>
-<parameter name="cr">
-<parameter_description> a #cairo_t
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> X origin of the rectangle
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> Y origin of the rectangle
-</parameter_description>
-</parameter>
-<parameter name="width">
-<parameter_description> rectangle width
-</parameter_description>
-</parameter>
-<parameter name="height">
-<parameter_description> rectangle height
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_render_focus">
-<description>
-Renders a focus indicator on the rectangle determined by @x, @y, @width, @height.
-
-Typical focus rendering:
-
-![](focus.png)
-
-</description>
-<parameters>
-<parameter name="context">
-<parameter_description> a #GtkStyleContext
-</parameter_description>
-</parameter>
-<parameter name="cr">
-<parameter_description> a #cairo_t
-</parameter_description>
-</parameter>
-<parameter name="x">
-<parameter_description> X origin of the rectangle
-</parameter_description>
-</parameter>
-<parameter name="y">
-<parameter_description> Y origin of the rectangle
-</parameter_description>
-</parameter>
-<parameter name="width">
-<parameter_description> rectangle width
-</parameter_description>
-</parameter>
-<parameter name="height">
-<parameter_description> rectangle height
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_render_frame">
+<function name="gtk_render_expander">
 <description>
-Renders a frame around the rectangle defined by @x, @y, @width, @height.
+Renders an expander (as used in #GtkTreeView and #GtkExpander) in the area
+defined by @x, @y, @width, @height. The state %GTK_STATE_FLAG_CHECKED
+determines whether the expander is collapsed or expanded.
 
-Examples of frame rendering, showing the effect of `border-image`,
-`border-color`, `border-width`, `border-radius` and junctions:
+Typical expander rendering:
 
-![](frames.png)
+![](expanders.png)
 
 </description>
 <parameters>
@@ -58593,16 +58822,13 @@ Examples of frame rendering, showing the effect of `border-image`,
 <return></return>
 </function>
 
-<function name="gtk_render_frame_gap">
+<function name="gtk_render_focus">
 <description>
-Renders a frame around the rectangle defined by (@x, @y, @width, @height),
-leaving a gap on one side. @xy0_gap and @xy1_gap will mean X coordinates
-for %GTK_POS_TOP and %GTK_POS_BOTTOM gap sides, and Y coordinates for
-%GTK_POS_LEFT and %GTK_POS_RIGHT.
+Renders a focus indicator on the rectangle determined by @x, @y, @width, @height.
 
-Typical rendering of a frame with a gap:
+Typical focus rendering:
 
-![](frame-gap.png)
+![](focus.png)
 
 </description>
 <parameters>
@@ -58630,16 +58856,43 @@ Typical rendering of a frame with a gap:
 <parameter_description> rectangle height
 </parameter_description>
 </parameter>
-<parameter name="gap_side">
-<parameter_description> side where the gap is
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_render_frame">
+<description>
+Renders a frame around the rectangle defined by @x, @y, @width, @height.
+
+Examples of frame rendering, showing the effect of `border-image`,
+`border-color`, `border-width`, `border-radius` and junctions:
+
+![](frames.png)
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GtkStyleContext
+</parameter_description>
+</parameter>
+<parameter name="cr">
+<parameter_description> a #cairo_t
 </parameter_description>
 </parameter>
-<parameter name="xy0_gap">
-<parameter_description> initial coordinate (X or Y depending on @gap_side) for the gap
+<parameter name="x">
+<parameter_description> X origin of the rectangle
 </parameter_description>
 </parameter>
-<parameter name="xy1_gap">
-<parameter_description> end coordinate (X or Y depending on @gap_side) for the gap
+<parameter name="y">
+<parameter_description> Y origin of the rectangle
+</parameter_description>
+</parameter>
+<parameter name="width">
+<parameter_description> rectangle width
+</parameter_description>
+</parameter>
+<parameter name="height">
+<parameter_description> rectangle height
 </parameter_description>
 </parameter>
 </parameters>
@@ -61551,6 +61804,159 @@ or should all have the same requisition in both directions
 <return></return>
 </function>
 
+<function name="gtk_slice_list_model_get_model">
+<description>
+Gets the model that is curently being used or %NULL if none.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkSliceListModel
+</parameter_description>
+</parameter>
+</parameters>
+<return> The model in use
+</return>
+</function>
+
+<function name="gtk_slice_list_model_get_offset">
+<description>
+Gets the offset set via gtk_slice_list_model_set_offset()
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkSliceListModel
+</parameter_description>
+</parameter>
+</parameters>
+<return> The offset
+</return>
+</function>
+
+<function name="gtk_slice_list_model_get_size">
+<description>
+Gets the size set via gtk_slice_list_model_set_size().
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkSliceListModel
+</parameter_description>
+</parameter>
+</parameters>
+<return> The size
+</return>
+</function>
+
+<function name="gtk_slice_list_model_new">
+<description>
+Creates a new slice model that presents the slice from @offset to
+@offset + @size our of the given @model.
+
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> The model to use
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> the offset of the slice
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> maximum size of the slice
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new #GtkSliceListModel
+</return>
+</function>
+
+<function name="gtk_slice_list_model_new_for_type">
+<description>
+Creates a new empty #GtkSliceListModel for the given @item_type that
+can be set up later.
+
+
+</description>
+<parameters>
+<parameter name="item_type">
+<parameter_description> the type of items
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new empty #GtkSliceListModel
+</return>
+</function>
+
+<function name="gtk_slice_list_model_set_model">
+<description>
+Sets the model to show a slice of. The model's item type must conform
+to @self's item type.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkSliceListModel
+</parameter_description>
+</parameter>
+<parameter name="model">
+<parameter_description> The model to be sliced
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_slice_list_model_set_offset">
+<description>
+Sets the offset into the original model for this slice.
+
+If the offset is too large for the sliced model,
+@self will end up empty. 
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkSliceListModel
+</parameter_description>
+</parameter>
+<parameter name="offset">
+<parameter_description> the new offset to use
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_slice_list_model_set_size">
+<description>
+Sets the maximum size. @self will never have more items
+than @size.
+
+It can however have fewer items if the offset is too large or
+the model sliced from doesn't have enough items.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkSliceListModel
+</parameter_description>
+</parameter>
+<parameter name="size">
+<parameter_description> the maximum size
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_snapshot_append_cairo">
 <description>
 Creates a new render node and appends it to the current render
@@ -62125,6 +62531,149 @@ or %NULL to use the bounds of the snapshot
 </return>
 </function>
 
+<function name="gtk_sort_list_model_get_model">
+<description>
+Gets the model currently sorted or %NULL if none.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkSortListModel
+</parameter_description>
+</parameter>
+</parameters>
+<return> The model that gets sorted
+</return>
+</function>
+
+<function name="gtk_sort_list_model_has_sort">
+<description>
+Checks if a sort function is currently set on @self
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkSortListModel
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if a sort function is set
+</return>
+</function>
+
+<function name="gtk_sort_list_model_new">
+<description>
+Creates a new sort list model that uses the @sort_func to sort @model.
+
+
+</description>
+<parameters>
+<parameter name="model">
+<parameter_description> the model to sort
+</parameter_description>
+</parameter>
+<parameter name="sort_func">
+<parameter_description> sort function or %NULL to not sort items
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to @sort_func
+</parameter_description>
+</parameter>
+<parameter name="user_destroy">
+<parameter_description> destroy notifier for @user_data
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkSortListModel
+</return>
+</function>
+
+<function name="gtk_sort_list_model_new_for_type">
+<description>
+Creates a new empty sort list model set up to return items of type @item_type.
+It is up to the application to set a proper sort function and model to ensure
+the item type is matched.
+
+
+</description>
+<parameters>
+<parameter name="item_type">
+<parameter_description> the type of the items that will be returned
+</parameter_description>
+</parameter>
+</parameters>
+<return> a new #GtkSortListModel
+</return>
+</function>
+
+<function name="gtk_sort_list_model_resort">
+<description>
+Causes @self to resort all items in the model.
+
+Calling this function is necessary when data used by the sort
+function has changed.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkSortListModel
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_sort_list_model_set_model">
+<description>
+Sets the model to be sorted. The @model's item type must conform to
+the item type of @self.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkSortListModel
+</parameter_description>
+</parameter>
+<parameter name="model">
+<parameter_description> The model to be sorted
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_sort_list_model_set_sort_func">
+<description>
+Sets the function used to sort items. The function will be called for every
+item and must return an integer less than, equal to, or greater than zero if
+for two items from the model if the first item is considered to be respectively
+less than, equal to, or greater than the second.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkSortListModel
+</parameter_description>
+</parameter>
+<parameter name="sort_func">
+<parameter_description> sort function or %NULL to not sort items
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> user data passed to @sort_func
+</parameter_description>
+</parameter>
+<parameter name="user_destroy">
+<parameter_description> destroy notifier for @user_data
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_spin_button_configure">
 <description>
 Changes the properties of an existing spin button. The adjustment,
@@ -72242,6 +72791,361 @@ This function is mainly used for language bindings.
 <return></return>
 </function>
 
+<function name="gtk_tree_list_model_get_autoexpand">
+<description>
+Gets whether the model is set to automatically expand new rows
+that get added. This can be either rows added by changes to the
+underlying models or via gtk_tree_list_model_set_expanded().
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkTreeListModel
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the model is set to autoexpand
+</return>
+</function>
+
+<function name="gtk_tree_list_model_get_child_row">
+<description>
+Gets the row item corresponding to the child at index @position for
+@self's root model.
+
+If @position is greater than the number of children in the root model,
+%NULL is returned.
+
+Do not confuse this function with gtk_tree_list_model_get_row().
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkTreeListModel
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> position of the child to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> the child in @position
+</return>
+</function>
+
+<function name="gtk_tree_list_model_get_model">
+<description>
+Gets the root model that @self was created with.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkTreeListModel
+</parameter_description>
+</parameter>
+</parameters>
+<return> the root model
+</return>
+</function>
+
+<function name="gtk_tree_list_model_get_passthrough">
+<description>
+If this function returns %FALSE, the #GListModel functions for @self
+return custom #GtkTreeListRow objects. You need to call
+gtk_tree_list_row_get_item() on these objects to get the original
+item.
+
+If %TRUE, the values of the child models are passed through in their
+original state. You then need to call gtk_tree_list_model_get_row()
+to get the custom #GtkTreeListRows.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkTreeListModel
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the model is passing through original row items
+</return>
+</function>
+
+<function name="gtk_tree_list_model_get_row">
+<description>
+Gets the row object for the given row. If @position is greater than
+the number of items in @self, %NULL is returned.
+
+The row object can be used to expand and collapse rows as well as
+to inspect its position in the tree. See its documentation for details.
+
+This row object is persistent and will refer to the current item as
+long as the row is present in @self, independent of other rows being
+added or removed.
+
+If @self is set to not be passthrough, this function is equivalent
+to calling g_list_model_get_item().
+
+Do not confuse this function with gtk_tree_list_model_get_child_row().
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkTreeListModel
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> the position of the row to fetch
+</parameter_description>
+</parameter>
+</parameters>
+<return> The row item 
+</return>
+</function>
+
+<function name="gtk_tree_list_model_new">
+<description>
+Creates a new empty #GtkTreeListModel displaying @root with all rows collapsed.
+
+
+</description>
+<parameters>
+<parameter name="passthrough">
+<parameter_description> %TRUE to pass through items from the models
+</parameter_description>
+</parameter>
+<parameter name="root">
+<parameter_description> The #GListModel to use as root
+</parameter_description>
+</parameter>
+<parameter name="autoexpand">
+<parameter_description> %TRUE to set the autoexpand property and expand the @root model
+</parameter_description>
+</parameter>
+<parameter name="create_func">
+<parameter_description> Function to call to create the #GListModel for the children
+of an item
+</parameter_description>
+</parameter>
+<parameter name="user_data">
+<parameter_description> Data to pass to @create_func
+</parameter_description>
+</parameter>
+<parameter name="user_destroy">
+<parameter_description> Function to call to free @user_data
+</parameter_description>
+</parameter>
+</parameters>
+<return> a newly created #GtkTreeListModel. 
+</return>
+</function>
+
+<function name="gtk_tree_list_model_set_autoexpand">
+<description>
+If set to %TRUE, the model will recursively expand all rows that
+get added to the model. This can be either rows added by changes
+to the underlying models or via gtk_tree_list_model_set_expanded().
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkTreeListModel
+</parameter_description>
+</parameter>
+<parameter name="autoexpand">
+<parameter_description> %TRUE to make the model autoexpand its rows
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_tree_list_row_get_child_row">
+<description>
+If @self is not expanded or @position is greater than the number of
+children, %NULL is returned.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkTreeListRow
+</parameter_description>
+</parameter>
+<parameter name="position">
+<parameter_description> position of the child to get
+</parameter_description>
+</parameter>
+</parameters>
+<return> the child in @position
+</return>
+</function>
+
+<function name="gtk_tree_list_row_get_children">
+<description>
+If the row is expanded, gets the model holding the children of @self.
+
+This model is the model created by the #GtkTreeListModelCreateModelFunc
+and contains the original items, no matter what value
+#GtkTreeListModel:passthrough is set to.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkTreeListRow
+</parameter_description>
+</parameter>
+</parameters>
+<return> The model containing the children
+</return>
+</function>
+
+<function name="gtk_tree_list_row_get_depth">
+<description>
+Gets the depth of this row. Rows that correspond to items in
+the root model have a depth of zero, rows corresponding to items
+of models of direct children of the root model have a depth of
+1 and so on.
+
+The depth of a row never changes until the row is destroyed.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkTreeListRow
+</parameter_description>
+</parameter>
+</parameters>
+<return> The depth of this row
+</return>
+</function>
+
+<function name="gtk_tree_list_row_get_expanded">
+<description>
+Gets if a row is currently expanded.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkTreeListRow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the row is expanded
+</return>
+</function>
+
+<function name="gtk_tree_list_row_get_item">
+<description>
+Gets the item corresponding to this row,
+
+The value returned by this function never changes until the
+row is destroyed.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkTreeListRow
+</parameter_description>
+</parameter>
+</parameters>
+<return> The item of this row
+or %NULL when the row was destroyed
+</return>
+</function>
+
+<function name="gtk_tree_list_row_get_parent">
+<description>
+Gets the row representing the parent for @self. That is the row that would
+need to be collapsed to make this row disappear.
+
+If @self is a row corresponding to the root model, %NULL is returned.
+
+The value returned by this function never changes until the
+row is destroyed.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkTreeListRow
+</parameter_description>
+</parameter>
+</parameters>
+<return> The parent of @self
+</return>
+</function>
+
+<function name="gtk_tree_list_row_get_position">
+<description>
+Returns the position in the #GtkTreeListModel that @self occupies
+at the moment.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkTreeListRow
+</parameter_description>
+</parameter>
+</parameters>
+<return> The position in the model
+</return>
+</function>
+
+<function name="gtk_tree_list_row_is_expandable">
+<description>
+Checks if a row can be expanded. This does not mean that the
+row is actually expanded, this can be checked with
+gtk_tree_list_row_get_expanded()
+
+If a row is expandable never changes until the row is destroyed.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkTreeListRow
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the row is expandable
+</return>
+</function>
+
+<function name="gtk_tree_list_row_set_expanded">
+<description>
+Expands or collapses a row.
+
+If a row is expanded, the model of calling the 
+#GtkTreeListModelCreateModelFunc for the row's item will
+be inserted after this row. If a row is collapsed, those
+items will be removed from the model.
+
+If the row is not expandable, this function does nothing.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkTreeListRow
+</parameter_description>
+</parameter>
+<parameter name="expanded">
+<parameter_description> %TRUE if the row should be expanded
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_tree_model_filter_clear_cache">
 <description>
 This function should almost never be called. It clears the @filter
@@ -79128,9 +80032,7 @@ its ancestors mapped.
 <description>
 This function is used by custom widget implementations; if you're
 writing an app, you’d use gtk_widget_grab_focus() to move the focus
-to a particular widget, and gtk_container_set_focus_chain() to
-change the focus tab order. So you may want to investigate those
-functions instead.
+to a particular widget.
 
 gtk_widget_child_focus() is called by containers as the user moves
 around the window using keyboard shortcuts. @direction indicates
@@ -81787,7 +82689,7 @@ a widget to be mapped if it isn’t already.
 <function name="gtk_widget_measure">
 <description>
 Measures @widget in the orientation @orientation and for the given @for_size.
-As an example, if @orientation is GTK_ORIENTATION_HORIZONTAL and @for_size is 300,
+As an example, if @orientation is %GTK_ORIENTATION_HORIZONTAL and @for_size is 300,
 this functions will compute the minimum and natural width of @widget if
 it is allocated at a height of 300 pixels.
 
@@ -81884,6 +82786,52 @@ cast the object yourself.
 </return>
 </function>
 
+<function name="gtk_widget_observe_children">
+<description>
+Returns a #GListModel to track the children of @widget. 
+
+Calling this function will enable extra internal bookkeeping to track
+children and emit signals on the returned listmodel. It may slow down
+operations a lot.
+
+Applications should try hard to avoid calling this function because of
+the slowdowns.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GListModel tracking @widget's children
+</return>
+</function>
+
+<function name="gtk_widget_observe_controllers">
+<description>
+Returns a #GListModel to track the #GtkEventControllers of @widget. 
+
+Calling this function will enable extra internal bookkeeping to track
+controllers and emit signals on the returned listmodel. It may slow down
+operations a lot.
+
+Applications should try hard to avoid calling this function because of
+the slowdowns.
+
+
+</description>
+<parameters>
+<parameter name="widget">
+<parameter_description> a #GtkWidget
+</parameter_description>
+</parameter>
+</parameters>
+<return> a #GListModel tracking @widget's controllers
+</return>
+</function>
+
 <function name="gtk_widget_paintable_get_widget">
 <description>
 Returns the widget that is observed or %NULL
@@ -85048,6 +85996,22 @@ gtk_window_set_titlebar().
 </return>
 </function>
 
+<function name="gtk_window_get_toplevels">
+<description>
+Returns a list of all existing toplevel windows.
+
+If you want to iterate through the list and perform actions involving
+callbacks that might destroy the widgets or add new ones, be aware that
+the list of toplevels will change and emit the &quot;items-changed&quot; signal.
+
+
+</description>
+<parameters>
+</parameters>
+<return> the list of toplevel widgets
+</return>
+</function>
+
 <function name="gtk_window_get_transient_for">
 <description>
 Fetches the transient parent for this window. See
@@ -86577,11 +87541,10 @@ gtk_window_set_transient_for() on your behalf.
 
 Passing %NULL for @parent unsets the current transient window.
 
-On Wayland, this function can also be used to attach a new
+This function can also be used to attach a new
 #GTK_WINDOW_POPUP to a #GTK_WINDOW_TOPLEVEL parent already mapped
-on screen so that the #GTK_WINDOW_POPUP will be created as a
-subsurface-based window #GDK_SURFACE_SUBSURFACE which can be
-positioned at will relatively to the #GTK_WINDOW_TOPLEVEL surface.
+on screen so that the #GTK_WINDOW_POPUP will be
+positioned relative to the #GTK_WINDOW_TOPLEVEL surface.
 
 On Windows, this function puts the child window on top of the parent,
 much as the window manager would have done on X.
@@ -86753,24 +87716,6 @@ added to the model previously
 <return></return>
 </function>
 
-<function name="safe_fclose">
-<description>
-Unix defaults for data preservation after system crash
-are unspecified, and many systems will eat your data
-in this situation unless you explicitly fsync().
-
-
-</description>
-<parameters>
-<parameter name="f">
-<parameter_description> A FILE* stream, must have underlying fd
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE on success, %FALSE on failure, and will set errno()
-</return>
-</function>
-
 <function name="thaw_updates">
 <description>
 Undoes the effect of a previous call to freeze_updates() 
diff --git a/gtk/src/gtk_methods.defs b/gtk/src/gtk_methods.defs
index d2b29383..318f5be9 100644
--- a/gtk/src/gtk_methods.defs
+++ b/gtk/src/gtk_methods.defs
@@ -947,13 +947,6 @@
   (gtype-id "GTK_TYPE_COMBO_BOX")
 )
 
-(define-object AppChooserButton
-  (in-module "Gtk")
-  (parent "GtkComboBox")
-  (c-name "GtkAppChooserButton")
-  (gtype-id "GTK_TYPE_APP_CHOOSER_BUTTON")
-)
-
 (define-object ComboBoxText
   (in-module "Gtk")
   (parent "GtkComboBox")
@@ -1031,6 +1024,13 @@
   (gtype-id "GTK_TYPE_APP_CHOOSER_WIDGET")
 )
 
+(define-object AppChooserButton
+  (in-module "Gtk")
+  (parent "GtkWidget")
+  (c-name "GtkAppChooserButton")
+  (gtype-id "GTK_TYPE_APP_CHOOSER_BUTTON")
+)
+
 (define-object AccelLabel
   (in-module "Gtk")
   (parent "GtkWidget")
@@ -4883,7 +4883,7 @@
     '("GtkBuilder*" "builder")
     '("GObject*" "child")
     '("const-gchar*" "tagname")
-    '("gpointer*" "data")
+    '("gpointer" "data")
   )
 )
 
@@ -7533,30 +7533,6 @@
   (return-type "GList*")
 )
 
-(define-method set_focus_chain
-  (of-object "GtkContainer")
-  (c-name "gtk_container_set_focus_chain")
-  (return-type "none")
-  (parameters
-    '("GList*" "focusable_widgets")
-  )
-)
-
-(define-method get_focus_chain
-  (of-object "GtkContainer")
-  (c-name "gtk_container_get_focus_chain")
-  (return-type "gboolean")
-  (parameters
-    '("GList**" "focusable_widgets")
-  )
-)
-
-(define-method unset_focus_chain
-  (of-object "GtkContainer")
-  (c-name "gtk_container_unset_focus_chain")
-  (return-type "none")
-)
-
 (define-method set_focus_vadjustment
   (of-object "GtkContainer")
   (c-name "gtk_container_set_focus_vadjustment")
@@ -7810,11 +7786,6 @@
   )
 )
 
-(define-function gtk_css_provider_get_default
-  (c-name "gtk_css_provider_get_default")
-  (return-type "GtkCssProvider*")
-)
-
 (define-function gtk_css_provider_get_named
   (c-name "gtk_css_provider_get_named")
   (return-type "GtkCssProvider*")
@@ -9518,6 +9489,21 @@
 
 
 
+;; From gtkeventcontrollerlegacy.h
+
+(define-function gtk_event_controller_legacy_get_type
+  (c-name "gtk_event_controller_legacy_get_type")
+  (return-type "GType")
+)
+
+(define-function gtk_event_controller_legacy_new
+  (c-name "gtk_event_controller_legacy_new")
+  (is-constructor-of "GtkEventControllerLegacy")
+  (return-type "GtkEventController*")
+)
+
+
+
 ;; From gtkeventcontrollermotion.h
 
 (define-function gtk_event_controller_motion_get_type
@@ -10446,6 +10432,68 @@
 
 
 
+;; From gtkfilterlistmodel.h
+
+(define-function gtk_filter_list_model_new
+  (c-name "gtk_filter_list_model_new")
+  (is-constructor-of "GtkFilterListModel")
+  (return-type "GtkFilterListModel*")
+  (parameters
+    '("GListModel*" "model")
+    '("GtkFilterListModelFilterFunc" "filter_func")
+    '("gpointer" "user_data")
+    '("GDestroyNotify" "user_destroy")
+  )
+)
+
+(define-function gtk_filter_list_model_new_for_type
+  (c-name "gtk_filter_list_model_new_for_type")
+  (return-type "GtkFilterListModel*")
+  (parameters
+    '("GType" "item_type")
+  )
+)
+
+(define-method set_filter_func
+  (of-object "GtkFilterListModel")
+  (c-name "gtk_filter_list_model_set_filter_func")
+  (return-type "none")
+  (parameters
+    '("GtkFilterListModelFilterFunc" "filter_func")
+    '("gpointer" "user_data")
+    '("GDestroyNotify" "user_destroy")
+  )
+)
+
+(define-method set_model
+  (of-object "GtkFilterListModel")
+  (c-name "gtk_filter_list_model_set_model")
+  (return-type "none")
+  (parameters
+    '("GListModel*" "model")
+  )
+)
+
+(define-method get_model
+  (of-object "GtkFilterListModel")
+  (c-name "gtk_filter_list_model_get_model")
+  (return-type "GListModel*")
+)
+
+(define-method has_filter
+  (of-object "GtkFilterListModel")
+  (c-name "gtk_filter_list_model_has_filter")
+  (return-type "gboolean")
+)
+
+(define-method refilter
+  (of-object "GtkFilterListModel")
+  (c-name "gtk_filter_list_model_refilter")
+  (return-type "none")
+)
+
+
+
 ;; From gtkfixed.h
 
 (define-function gtk_fixed_get_type
@@ -10483,6 +10531,35 @@
 
 
 
+;; From gtkflattenlistmodel.h
+
+(define-function gtk_flatten_list_model_new
+  (c-name "gtk_flatten_list_model_new")
+  (is-constructor-of "GtkFlattenListModel")
+  (return-type "GtkFlattenListModel*")
+  (parameters
+    '("GType" "item_type")
+    '("GListModel*" "model")
+  )
+)
+
+(define-method set_model
+  (of-object "GtkFlattenListModel")
+  (c-name "gtk_flatten_list_model_set_model")
+  (return-type "none")
+  (parameters
+    '("GListModel*" "model")
+  )
+)
+
+(define-method get_model
+  (of-object "GtkFlattenListModel")
+  (c-name "gtk_flatten_list_model_get_model")
+  (return-type "GListModel*")
+)
+
+
+
 ;; From gtkflowbox.h
 
 (define-function gtk_flow_box_child_get_type
@@ -14950,6 +15027,55 @@
 
 
 
+;; From gtkmaplistmodel.h
+
+(define-function gtk_map_list_model_new
+  (c-name "gtk_map_list_model_new")
+  (is-constructor-of "GtkMapListModel")
+  (return-type "GtkMapListModel*")
+  (parameters
+    '("GType" "item_type")
+    '("GListModel*" "model")
+    '("GtkMapListModelMapFunc" "map_func")
+    '("gpointer" "user_data")
+    '("GDestroyNotify" "user_destroy")
+  )
+)
+
+(define-method set_map_func
+  (of-object "GtkMapListModel")
+  (c-name "gtk_map_list_model_set_map_func")
+  (return-type "none")
+  (parameters
+    '("GtkMapListModelMapFunc" "map_func")
+    '("gpointer" "user_data")
+    '("GDestroyNotify" "user_destroy")
+  )
+)
+
+(define-method set_model
+  (of-object "GtkMapListModel")
+  (c-name "gtk_map_list_model_set_model")
+  (return-type "none")
+  (parameters
+    '("GListModel*" "model")
+  )
+)
+
+(define-method get_model
+  (of-object "GtkMapListModel")
+  (c-name "gtk_map_list_model_get_model")
+  (return-type "GListModel*")
+)
+
+(define-method has_map
+  (of-object "GtkMapListModel")
+  (c-name "gtk_map_list_model_has_map")
+  (return-type "gboolean")
+)
+
+
+
 ;; From gtkmediacontrols.h
 
 (define-function gtk_media_controls_new
@@ -15488,36 +15614,6 @@
   )
 )
 
-(define-method popup
-  (of-object "GtkMenu")
-  (c-name "gtk_menu_popup")
-  (return-type "none")
-  (parameters
-    '("GtkWidget*" "parent_menu_shell")
-    '("GtkWidget*" "parent_menu_item")
-    '("GtkMenuPositionFunc" "func")
-    '("gpointer" "data")
-    '("guint" "button")
-    '("guint32" "activate_time")
-  )
-)
-
-(define-method popup_for_device
-  (of-object "GtkMenu")
-  (c-name "gtk_menu_popup_for_device")
-  (return-type "none")
-  (parameters
-    '("GdkDevice*" "device")
-    '("GtkWidget*" "parent_menu_shell")
-    '("GtkWidget*" "parent_menu_item")
-    '("GtkMenuPositionFunc" "func")
-    '("gpointer" "data")
-    '("GDestroyNotify" "destroy")
-    '("guint" "button")
-    '("guint32" "activate_time")
-  )
-)
-
 (define-method popup_at_rect
   (of-object "GtkMenu")
   (c-name "gtk_menu_popup_at_rect")
@@ -21049,22 +21145,6 @@
   )
 )
 
-(define-function gtk_render_frame_gap
-  (c-name "gtk_render_frame_gap")
-  (return-type "none")
-  (parameters
-    '("GtkStyleContext*" "context")
-    '("cairo_t*" "cr")
-    '("gdouble" "x")
-    '("gdouble" "y")
-    '("gdouble" "width")
-    '("gdouble" "height")
-    '("GtkPositionType" "gap_side")
-    '("gdouble" "xy0_gap")
-    '("gdouble" "xy1_gap")
-  )
-)
-
 (define-function gtk_render_handle
   (c-name "gtk_render_handle")
   (return-type "none")
@@ -22410,6 +22490,74 @@
 
 
 
+;; From gtkslicelistmodel.h
+
+(define-function gtk_slice_list_model_new
+  (c-name "gtk_slice_list_model_new")
+  (is-constructor-of "GtkSliceListModel")
+  (return-type "GtkSliceListModel*")
+  (parameters
+    '("GListModel*" "model")
+    '("guint" "offset")
+    '("guint" "size")
+  )
+)
+
+(define-function gtk_slice_list_model_new_for_type
+  (c-name "gtk_slice_list_model_new_for_type")
+  (return-type "GtkSliceListModel*")
+  (parameters
+    '("GType" "item_type")
+  )
+)
+
+(define-method set_model
+  (of-object "GtkSliceListModel")
+  (c-name "gtk_slice_list_model_set_model")
+  (return-type "none")
+  (parameters
+    '("GListModel*" "model")
+  )
+)
+
+(define-method get_model
+  (of-object "GtkSliceListModel")
+  (c-name "gtk_slice_list_model_get_model")
+  (return-type "GListModel*")
+)
+
+(define-method set_offset
+  (of-object "GtkSliceListModel")
+  (c-name "gtk_slice_list_model_set_offset")
+  (return-type "none")
+  (parameters
+    '("guint" "offset")
+  )
+)
+
+(define-method get_offset
+  (of-object "GtkSliceListModel")
+  (c-name "gtk_slice_list_model_get_offset")
+  (return-type "guint")
+)
+
+(define-method set_size
+  (of-object "GtkSliceListModel")
+  (c-name "gtk_slice_list_model_set_size")
+  (return-type "none")
+  (parameters
+    '("guint" "size")
+  )
+)
+
+(define-method get_size
+  (of-object "GtkSliceListModel")
+  (c-name "gtk_slice_list_model_get_size")
+  (return-type "guint")
+)
+
+
+
 ;; From gtksnapshot.h
 
 (define-function gtk_snapshot_new
@@ -22718,6 +22866,68 @@
 
 
 
+;; From gtksortlistmodel.h
+
+(define-function gtk_sort_list_model_new
+  (c-name "gtk_sort_list_model_new")
+  (is-constructor-of "GtkSortListModel")
+  (return-type "GtkSortListModel*")
+  (parameters
+    '("GListModel*" "model")
+    '("GCompareDataFunc" "sort_func")
+    '("gpointer" "user_data")
+    '("GDestroyNotify" "user_destroy")
+  )
+)
+
+(define-function gtk_sort_list_model_new_for_type
+  (c-name "gtk_sort_list_model_new_for_type")
+  (return-type "GtkSortListModel*")
+  (parameters
+    '("GType" "item_type")
+  )
+)
+
+(define-method set_sort_func
+  (of-object "GtkSortListModel")
+  (c-name "gtk_sort_list_model_set_sort_func")
+  (return-type "none")
+  (parameters
+    '("GCompareDataFunc" "sort_func")
+    '("gpointer" "user_data")
+    '("GDestroyNotify" "user_destroy")
+  )
+)
+
+(define-method has_sort
+  (of-object "GtkSortListModel")
+  (c-name "gtk_sort_list_model_has_sort")
+  (return-type "gboolean")
+)
+
+(define-method set_model
+  (of-object "GtkSortListModel")
+  (c-name "gtk_sort_list_model_set_model")
+  (return-type "none")
+  (parameters
+    '("GListModel*" "model")
+  )
+)
+
+(define-method get_model
+  (of-object "GtkSortListModel")
+  (c-name "gtk_sort_list_model_get_model")
+  (return-type "GListModel*")
+)
+
+(define-method resort
+  (of-object "GtkSortListModel")
+  (c-name "gtk_sort_list_model_resort")
+  (return-type "none")
+)
+
+
+
 ;; From gtkspinbutton.h
 
 (define-function gtk_spin_button_get_type
@@ -26540,6 +26750,129 @@
 
 
 
+;; From gtktreelistmodel.h
+
+(define-function gtk_tree_list_model_new
+  (c-name "gtk_tree_list_model_new")
+  (is-constructor-of "GtkTreeListModel")
+  (return-type "GtkTreeListModel*")
+  (parameters
+    '("gboolean" "passthrough")
+    '("GListModel*" "root")
+    '("gboolean" "autoexpand")
+    '("GtkTreeListModelCreateModelFunc" "create_func")
+    '("gpointer" "user_data")
+    '("GDestroyNotify" "user_destroy")
+  )
+)
+
+(define-method get_model
+  (of-object "GtkTreeListModel")
+  (c-name "gtk_tree_list_model_get_model")
+  (return-type "GListModel*")
+)
+
+(define-method get_passthrough
+  (of-object "GtkTreeListModel")
+  (c-name "gtk_tree_list_model_get_passthrough")
+  (return-type "gboolean")
+)
+
+(define-method set_autoexpand
+  (of-object "GtkTreeListModel")
+  (c-name "gtk_tree_list_model_set_autoexpand")
+  (return-type "none")
+  (parameters
+    '("gboolean" "autoexpand")
+  )
+)
+
+(define-method get_autoexpand
+  (of-object "GtkTreeListModel")
+  (c-name "gtk_tree_list_model_get_autoexpand")
+  (return-type "gboolean")
+)
+
+(define-method get_child_row
+  (of-object "GtkTreeListModel")
+  (c-name "gtk_tree_list_model_get_child_row")
+  (return-type "GtkTreeListRow*")
+  (parameters
+    '("guint" "position")
+  )
+)
+
+(define-method get_row
+  (of-object "GtkTreeListModel")
+  (c-name "gtk_tree_list_model_get_row")
+  (return-type "GtkTreeListRow*")
+  (parameters
+    '("guint" "position")
+  )
+)
+
+(define-method get_item
+  (of-object "GtkTreeListRow")
+  (c-name "gtk_tree_list_row_get_item")
+  (return-type "gpointer")
+)
+
+(define-method set_expanded
+  (of-object "GtkTreeListRow")
+  (c-name "gtk_tree_list_row_set_expanded")
+  (return-type "none")
+  (parameters
+    '("gboolean" "expanded")
+  )
+)
+
+(define-method get_expanded
+  (of-object "GtkTreeListRow")
+  (c-name "gtk_tree_list_row_get_expanded")
+  (return-type "gboolean")
+)
+
+(define-method is_expandable
+  (of-object "GtkTreeListRow")
+  (c-name "gtk_tree_list_row_is_expandable")
+  (return-type "gboolean")
+)
+
+(define-method get_position
+  (of-object "GtkTreeListRow")
+  (c-name "gtk_tree_list_row_get_position")
+  (return-type "guint")
+)
+
+(define-method get_depth
+  (of-object "GtkTreeListRow")
+  (c-name "gtk_tree_list_row_get_depth")
+  (return-type "guint")
+)
+
+(define-method get_children
+  (of-object "GtkTreeListRow")
+  (c-name "gtk_tree_list_row_get_children")
+  (return-type "GListModel*")
+)
+
+(define-method get_parent
+  (of-object "GtkTreeListRow")
+  (c-name "gtk_tree_list_row_get_parent")
+  (return-type "GtkTreeListRow*")
+)
+
+(define-method get_child_row
+  (of-object "GtkTreeListRow")
+  (c-name "gtk_tree_list_row_get_child_row")
+  (return-type "GtkTreeListRow*")
+  (parameters
+    '("guint" "position")
+  )
+)
+
+
+
 ;; From gtktreemenu.h
 
 
@@ -30574,6 +30907,18 @@
   (return-type "GtkWidget*")
 )
 
+(define-method observe_children
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_observe_children")
+  (return-type "GListModel*")
+)
+
+(define-method observe_controllers
+  (of-object "GtkWidget")
+  (c-name "gtk_widget_observe_controllers")
+  (return-type "GListModel*")
+)
+
 (define-method insert_after
   (of-object "GtkWidget")
   (c-name "gtk_widget_insert_after")
@@ -31478,6 +31823,11 @@
   (return-type "gboolean")
 )
 
+(define-function gtk_window_get_toplevels
+  (c-name "gtk_window_get_toplevels")
+  (return-type "GListModel*")
+)
+
 (define-function gtk_window_list_toplevels
   (c-name "gtk_window_list_toplevels")
   (return-type "GList*")
diff --git a/gtk/src/gtk_signals.defs b/gtk/src/gtk_signals.defs
index d4051ae8..ec120ba3 100644
--- a/gtk/src/gtk_signals.defs
+++ b/gtk/src/gtk_signals.defs
@@ -372,6 +372,12 @@
 
 ;; From GtkAppChooserButton
 
+(define-signal changed
+  (of-object "GtkAppChooserButton")
+  (return-type "void")
+  (flags "Run Last")
+)
+
 (define-signal custom-item-activated
   (of-object "GtkAppChooserButton")
   (return-type "void")
@@ -553,6 +559,16 @@
   (default-value "FALSE")
 )
 
+(define-property screensaver-active
+  (of-object "GtkApplication")
+  (prop-type "GParamBoolean")
+  (docs "Whether the screensaver is active")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+  (default-value "FALSE")
+)
+
 (define-property app-menu
   (of-object "GtkApplication")
   (prop-type "GParamObject")
@@ -3514,8 +3530,8 @@
 
 (define-signal scroll
   (of-object "GtkEventControllerScroll")
-  (return-type "void")
-  (flags "Run First")
+  (return-type "gboolean")
+  (flags "Run Last")
   (parameters
     '("gdouble" "p0")
     '("gdouble" "p1")
@@ -11377,8 +11393,9 @@
   (return-type "void")
   (flags "Run First")
   (parameters
-    '("const-GdkRectangle*" "p0")
+    '("gint" "p0")
     '("gint" "p1")
+    '("gint" "p2")
   )
 )
 
@@ -11476,16 +11493,6 @@
   )
 )
 
-(define-signal event
-  (of-object "GtkWidget")
-  (return-type "gboolean")
-  (flags "Run Last")
-  (deprecated #t)
-  (parameters
-    '("GdkEvent*" "p0")
-  )
-)
-
 (define-signal drag-leave
   (of-object "GtkWidget")
   (return-type "void")
diff --git a/gtk/src/gtk_signals.defs.patch b/gtk/src/gtk_signals.defs.patch
index 2020b197..1d7d50b5 100644
--- a/gtk/src/gtk_signals.defs.patch
+++ b/gtk/src/gtk_signals.defs.patch
@@ -1,6 +1,6 @@
---- ./../../gtk/src/gtk_signals.defs.orig      2018-06-26 18:54:40.175307206 +0200
-+++ ./../../gtk/src/gtk_signals.defs   2018-06-26 18:54:40.227309695 +0200
-@@ -2267,11 +2267,11 @@
+--- ./../../gtk/src/gtk_signals.defs.orig      2018-11-19 12:56:33.963564365 +0100
++++ ./../../gtk/src/gtk_signals.defs   2018-11-19 12:56:34.019564544 +0100
+@@ -2283,11 +2283,11 @@
  (define-signal color-activated
    (of-object "GtkColorChooser")
    (return-type "void")
@@ -13,7 +13,7 @@
  
  (define-property rgba
    (of-object "GtkColorChooser")
-@@ -2333,11 +2333,11 @@
+@@ -2349,11 +2349,11 @@
    (flags "Run Last, Action")
  )
  
@@ -26,7 +26,7 @@
      '("const-gchar*" "p0")
    )
  )
-@@ -2561,11 +2561,11 @@
+@@ -2577,11 +2577,11 @@
    (of-object "GtkCssProvider")
    (return-type "void")
    (flags "Run Last")
@@ -39,7 +39,7 @@
  
  ;; From GtkDialog
  
-@@ -5829,11 +5829,11 @@
+@@ -6049,11 +6049,11 @@
  (define-signal toggle-size-request
    (of-object "GtkMenuItem")
    (return-type "void")
@@ -52,7 +52,7 @@
  
  (define-signal toggle-size-allocate
    (of-object "GtkMenuItem")
-@@ -6838,11 +6838,11 @@
+@@ -7068,11 +7068,11 @@
    )
  )
  
@@ -65,7 +65,7 @@
  
  (define-signal update-custom-widget
    (of-object "GtkPrintOperation")
-@@ -7452,11 +7452,11 @@
+@@ -7682,11 +7682,11 @@
  
  ;; From GtkScale
  
@@ -78,7 +78,7 @@
      '("gdouble" "p0")
    )
  )
-@@ -8634,11 +8634,11 @@
+@@ -8864,11 +8864,11 @@
  (define-signal input
    (of-object "GtkSpinButton")
    (return-type "gint")
@@ -91,7 +91,7 @@
  
  (define-signal output
    (of-object "GtkSpinButton")
-@@ -9203,11 +9203,11 @@
+@@ -9433,11 +9433,11 @@
  (define-signal mark-set
    (of-object "GtkTextBuffer")
    (return-type "void")
@@ -104,7 +104,7 @@
  )
  
  (define-signal mark-deleted
-@@ -9223,23 +9223,23 @@
+@@ -9453,23 +9453,23 @@
    (of-object "GtkTextBuffer")
    (return-type "void")
    (flags "Run Last")
@@ -132,7 +132,7 @@
  
  (define-signal begin-user-action
    (of-object "GtkTextBuffer")
-@@ -10497,11 +10497,11 @@
+@@ -10727,11 +10727,11 @@
    (return-type "void")
    (flags "Run First")
    (parameters
@@ -145,20 +145,7 @@
  
  ;; From GtkTreeSelection
  
-@@ -11121,11 +11121,11 @@
- (define-signal size-allocate
-   (of-object "GtkWidget")
-   (return-type "void")
-   (flags "Run First")
-   (parameters
--    '("GdkRectangle*" "p0")
-+    '("const-GdkRectangle*" "p0")
-     '("gint" "p1")
-   )
- )
- 
- (define-signal state-flags-changed
-@@ -11174,11 +11174,11 @@
+@@ -11445,11 +11445,11 @@
    (of-object "GtkWidget")
    (return-type "void")
    (flags "Run First, No Recurse, No Hooks")


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