[gtkmm/use-dllexport: 13/60] Gdk, Gtk: Regenerate docs.xml and .defs files



commit 9d40372155049b4191fd3f124582e02fac1ffb6d
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date:   Tue Mar 10 09:12:53 2020 +0100

    Gdk, Gtk: Regenerate docs.xml and .defs files
    
    and update gtk_docs_override.xml, gtk_signals.defs.patch,
    tools/extra_defs_gen/generate_defs_gtk.cc

 gdk/src/gdk_docs.xml                      | 303 +++++-----
 gdk/src/gdk_enums.defs                    |  18 -
 gdk/src/gdk_methods.defs                  | 106 ++--
 gdk/src/gdk_signals.defs                  |  12 +-
 gtk/src/gtk_docs.xml                      | 891 +++++++++++++++++++-----------
 gtk/src/gtk_docs_override.xml             |  19 +
 gtk/src/gtk_methods.defs                  | 360 ++++++------
 gtk/src/gtk_signals.defs                  | 183 ++++--
 gtk/src/gtk_signals.defs.patch            |  33 +-
 tools/extra_defs_gen/generate_defs_gtk.cc |   2 +
 10 files changed, 1119 insertions(+), 808 deletions(-)
---
diff --git a/gdk/src/gdk_docs.xml b/gdk/src/gdk_docs.xml
index 46f12dd9..6ea725d8 100644
--- a/gdk/src/gdk_docs.xml
+++ b/gdk/src/gdk_docs.xml
@@ -384,13 +384,6 @@ Whether the device is represented by a cursor on the screen. Devices of type
 </description>
 </property>
 
-<property name="GdkDevice:input-source">
-<description>
-Source type for the device.
-
-</description>
-</property>
-
 <property name="GdkDevice:n-axes">
 <description>
 Number of axes in the device.
@@ -428,6 +421,13 @@ Product ID of this device, see gdk_device_get_product_id().
 </description>
 </property>
 
+<property name="GdkDevice:source">
+<description>
+Source type for the device.
+
+</description>
+</property>
+
 <property name="GdkDevice:type">
 <description>
 Device role in the device manager.
@@ -1447,31 +1447,6 @@ surface itself, ignoring window manager decorations.
 </parameters>
 </enum>
 
-<enum name="GdkInputMode">
-<description>
-An enumeration that describes the mode of an input device.
-
-</description>
-<parameters>
-<parameter name="GDK_MODE_DISABLED">
-<parameter_description> the device is disabled and will not report any events.
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODE_SCREEN">
-<parameter_description> the device is enabled. The device’s coordinate space
-maps to the entire screen.
-</parameter_description>
-</parameter>
-<parameter name="GDK_MODE_SURFACE">
-<parameter_description> the device is enabled. The device’s coordinate space
-is mapped to a single surface. The manner in which this surface
-is chosen is undefined, but it will typically be the same
-way in which the focus surface for key events is determined.
-</parameter_description>
-</parameter>
-</parameters>
-</enum>
-
 <enum name="GdkInputSource">
 <description>
 An enumeration describing the type of an input device in general terms.
@@ -3102,6 +3077,22 @@ hint must be set before mapping the surface.
 </parameters>
 </enum>
 
+<function name="gdk_app_launch_context_get_display">
+<description>
+Gets the #GdkDispolat that @context is for.
+
+
+</description>
+<parameters>
+<parameter name="context">
+<parameter_description> a #GdkAppLaunchContext
+</parameter_description>
+</parameter>
+</parameters>
+<return> the display of @context
+</return>
+</function>
+
 <function name="gdk_app_launch_context_set_desktop">
 <description>
 Sets the workspace on which applications will be launched when
@@ -4425,8 +4416,9 @@ number of #GTypes contained in the return value
 </parameter_description>
 </parameter>
 </parameters>
-<return> %G_TYPE_INVALID-terminated array of 
-types included in @formats or %NULL if none.
+<return>
+%G_TYPE_INVALID-terminated array of types included in @formats or
+%NULL if none.
 </return>
 </function>
 
@@ -4847,7 +4839,7 @@ gdk_content_provider_new_typed (G_TYPE_TEXTURE, texture)
 </description>
 <parameters>
 <parameter name="providers">
-<parameter_description> (nullable) (array length=n_providers) [transfer elements]:
+<parameter_description>
 The #GdkContentProviders to present the union of
 </parameter_description>
 </parameter>
@@ -5648,6 +5640,22 @@ by gdk_device_get_axes()
 </return>
 </function>
 
+<function name="gdk_device_get_device_tool">
+<description>
+Retrieves the #GdkDeviceTool associated to @device.
+
+
+</description>
+<parameters>
+<parameter name="device">
+<parameter_description> a #GdkDevice
+</parameter_description>
+</parameter>
+</parameters>
+<return> the #GdkDeviceTool
+</return>
+</function>
+
 <function name="gdk_device_get_device_type">
 <description>
 Returns the device type for @device.
@@ -5796,41 +5804,41 @@ application's surfaces.
 </return>
 </function>
 
-<function name="gdk_device_get_mode">
+<function name="gdk_device_get_n_axes">
 <description>
-Determines the mode of the device.
+Returns the number of axes the device currently has.
 
 
 </description>
 <parameters>
 <parameter name="device">
-<parameter_description> a #GdkDevice
+<parameter_description> a pointer #GdkDevice
 </parameter_description>
 </parameter>
 </parameters>
-<return> a #GdkInputMode
+<return> the number of axes.
 </return>
 </function>
 
-<function name="gdk_device_get_n_axes">
+<function name="gdk_device_get_n_keys">
 <description>
-Returns the number of axes the device currently has.
+Returns the number of keys the device currently has.
 
 
 </description>
 <parameters>
 <parameter name="device">
-<parameter_description> a pointer #GdkDevice
+<parameter_description> a #GdkDevice
 </parameter_description>
 </parameter>
 </parameters>
-<return> the number of axes.
+<return> the number of keys.
 </return>
 </function>
 
-<function name="gdk_device_get_n_keys">
+<function name="gdk_device_get_name">
 <description>
-Returns the number of keys the device currently has.
+Determines the name of the device.
 
 
 </description>
@@ -5840,13 +5848,13 @@ Returns the number of keys the device currently has.
 </parameter_description>
 </parameter>
 </parameters>
-<return> the number of keys.
+<return> a name
 </return>
 </function>
 
-<function name="gdk_device_get_name">
+<function name="gdk_device_get_num_touches">
 <description>
-Determines the name of the device.
+Retrieves the number of touch points associated to @device.
 
 
 </description>
@@ -5856,7 +5864,7 @@ Determines the name of the device.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a name
+<return> the number of touch points
 </return>
 </function>
 
@@ -6169,32 +6177,6 @@ is pressed.
 <return></return>
 </function>
 
-<function name="gdk_device_set_mode">
-<description>
-Sets a the mode of an input device. The mode controls if the
-device is active and whether the device’s range is mapped to the
-entire screen or to a single surface.
-
-Note: This is only meaningful for floating devices, master devices (and
-slaves connected to these) drive the pointer cursor, which is not limited
-by the input mode.
-
-
-</description>
-<parameters>
-<parameter name="device">
-<parameter_description> a #GdkDevice.
-</parameter_description>
-</parameter>
-<parameter name="mode">
-<parameter_description> the input mode.
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the mode was successfully changed.
-</return>
-</function>
-
 <function name="gdk_device_tool_get_hardware_id">
 <description>
 Gets the hardware ID of this tool, or 0 if it's not known. When
@@ -7043,6 +7025,22 @@ Determines the bitmask of possible actions proposed by the source.
 </return>
 </function>
 
+<function name="gdk_drag_get_content">
+<description>
+Returns the #GdkContentProvider associated to the GdkDrag object.
+
+
+</description>
+<parameters>
+<parameter name="drag">
+<parameter_description> a #GdkDrag
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GdkContentProvider associated to @drag.
+</return>
+</function>
+
 <function name="gdk_drag_get_device">
 <description>
 Returns the #GdkDevice associated to the GdkDrag object.
@@ -7128,6 +7126,22 @@ Determines the action chosen by the drag destination.
 </return>
 </function>
 
+<function name="gdk_drag_get_surface">
+<description>
+Returns the #GdkSurface where the drag originates.
+
+
+</description>
+<parameters>
+<parameter name="drag">
+<parameter_description> a #GdkDrag
+</parameter_description>
+</parameter>
+</parameters>
+<return> The #GdkSurface where the drag originates
+</return>
+</function>
+
 <function name="gdk_drag_set_hotspot">
 <description>
 Sets the position of the drag surface that will be kept
@@ -7421,27 +7435,6 @@ Returns the #GdkSurface performing the drop.
 </return>
 </function>
 
-<function name="gdk_drop_has_value">
-<description>
-Returns whether calling gdk_drop_read_value_async() for @type
-can succeed.
-
-
-</description>
-<parameters>
-<parameter name="self">
-<parameter_description> a #GdkDrop
-</parameter_description>
-</parameter>
-<parameter name="type">
-<parameter_description> the type to check
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the data can be deserialized to the given type
-</return>
-</function>
-
 <function name="gdk_drop_read_async">
 <description>
 Asynchronously read the dropped data from a #GdkDrop
@@ -7508,64 +7501,6 @@ Finishes an async drop read operation, see gdk_drop_read_async().
 </return>
 </function>
 
-<function name="gdk_drop_read_text_async">
-<description>
-Asynchronously request the drag operation's contents converted to a string.
-When the operation is finished @callback will be called. You can then
-call gdk_drop_read_text_finish() to get the result.
-
-This is a simple wrapper around gdk_drop_read_value_async(). Use
-that function or gdk_drop_read_async() directly if you need more
-control over the operation.
-
-</description>
-<parameters>
-<parameter name="self">
-<parameter_description> a #GdkDrop
-</parameter_description>
-</parameter>
-<parameter name="cancellable">
-<parameter_description> optional #GCancellable object, %NULL to ignore.
-</parameter_description>
-</parameter>
-<parameter name="callback">
-<parameter_description> callback to call when the request is satisfied
-</parameter_description>
-</parameter>
-<parameter name="user_data">
-<parameter_description> the data to pass to callback function
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gdk_drop_read_text_finish">
-<description>
-Finishes an asynchronous read started with
-gdk_drop_read_text_async().
-
-
-</description>
-<parameters>
-<parameter name="self">
-<parameter_description> a #GdkDrop
-</parameter_description>
-</parameter>
-<parameter name="result">
-<parameter_description> a #GAsyncResult
-</parameter_description>
-</parameter>
-<parameter name="error">
-<parameter_description> a #GError location to store the error occurring, or %NULL to 
-ignore.
-</parameter_description>
-</parameter>
-</parameters>
-<return> a new string or %NULL on error.
-</return>
-</function>
-
 <function name="gdk_drop_read_value_async">
 <description>
 Asynchronously request the drag operation's contents converted to the given
@@ -7642,6 +7577,9 @@ When calling this function, do not restrict the passed in actions to
 the ones provided by gdk_drop_get_actions(). Those actions may
 change in the future, even depending on the actions you provide here.
 
+The @preferred action is a hint to the drag'n'drop mechanism about which
+action to use when multiple actions are possible.
+
 This function should be called by drag destinations in response to
 %GDK_DRAG_ENTER or %GDK_DRAG_MOTION events. If the destination does
 not yet know the exact actions it supports, it should set any possible
@@ -7658,6 +7596,11 @@ actions first and then later call this function again.
 that a drop will not be accepted
 </parameter_description>
 </parameter>
+<parameter name="preferred">
+<parameter_description> A unique action that's a member of @actions indicating the
+preferred action.
+</parameter_description>
+</parameter>
 </parameters>
 <return></return>
 </function>
@@ -9633,7 +9576,7 @@ PNP ID registry is located at https://uefi.org/pnp_id_list
 
 <function name="gdk_monitor_get_model">
 <description>
-Gets the a string identifying the monitor model, if available.
+Gets the string identifying the monitor model, if available.
 
 
 </description>
@@ -15450,6 +15393,22 @@ the surface does not want to receive input focus.
 </return>
 </function>
 
+<function name="gdk_surface_get_autohide">
+<description>
+Returns whether this surface is set to hide on outside clicks.
+
+
+</description>
+<parameters>
+<parameter name="surface">
+<parameter_description> a #GdkSurface
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @surface will autohide
+</return>
+</function>
+
 <function name="gdk_surface_get_cursor">
 <description>
 Retrieves a #GdkCursor pointer for the cursor currently set on the
@@ -15639,6 +15598,23 @@ size on the X server.
 </return>
 </function>
 
+<function name="gdk_surface_get_mapped">
+<description>
+Checks whether the surface has been mapped (with gdk_surface_show() or
+gdk_surface_show_unraised()).
+
+
+</description>
+<parameters>
+<parameter name="surface">
+<parameter_description> a #GdkSurface
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the surface is mapped
+</return>
+</function>
+
 <function name="gdk_surface_get_modal_hint">
 <description>
 Determines whether or not the window manager is hinted that @surface
@@ -15980,23 +15956,6 @@ surface.)
 </return>
 </function>
 
-<function name="gdk_surface_is_visible">
-<description>
-Checks whether the surface has been mapped (with gdk_surface_show() or
-gdk_surface_show_unraised()).
-
-
-</description>
-<parameters>
-<parameter name="surface">
-<parameter_description> a #GdkSurface
-</parameter_description>
-</parameter>
-</parameters>
-<return> %TRUE if the surface is mapped
-</return>
-</function>
-
 <function name="gdk_surface_lower">
 <description>
 Lowers @surface to the bottom of the Z-order (stacking order), so that
diff --git a/gdk/src/gdk_enums.defs b/gdk/src/gdk_enums.defs
index c21f54f3..396a22a6 100644
--- a/gdk/src/gdk_enums.defs
+++ b/gdk/src/gdk_enums.defs
@@ -30,24 +30,6 @@
   )
 )
 
-;; Original typedef:
-;; typedef enum
-;; {
-;;   GDK_MODE_DISABLED,
-;;   GDK_MODE_SCREEN,
-;;   GDK_MODE_SURFACE
-;; } GdkInputMode;
-
-(define-enum-extended InputMode
-  (in-module "Gdk")
-  (c-name "GdkInputMode")
-  (values
-    '("disabled" "GDK_MODE_DISABLED" "0")
-    '("screen" "GDK_MODE_SCREEN" "1")
-    '("surface" "GDK_MODE_SURFACE" "2")
-  )
-)
-
 ;; Original typedef:
 ;; typedef enum {
 ;;   GDK_DEVICE_TYPE_MASTER,
diff --git a/gdk/src/gdk_methods.defs b/gdk/src/gdk_methods.defs
index 2f8ec994..6f62b7fe 100644
--- a/gdk/src/gdk_methods.defs
+++ b/gdk/src/gdk_methods.defs
@@ -26,17 +26,6 @@
   )
 )
 
-(define-enum InputMode
-  (in-module "Gdk")
-  (c-name "GdkInputMode")
-  (gtype-id "GDK_TYPE_INPUT_MODE")
-  (values
-    '("disabled" "GDK_MODE_DISABLED")
-    '("screen" "GDK_MODE_SCREEN")
-    '("surface" "GDK_MODE_SURFACE")
-  )
-)
-
 (define-enum DeviceType
   (in-module "Gdk")
   (c-name "GdkDeviceType")
@@ -614,6 +603,12 @@
 
 ;; From gdkapplaunchcontext.h
 
+(define-method get_display
+  (of-object "GdkAppLaunchContext")
+  (c-name "gdk_app_launch_context_get_display")
+  (return-type "GdkDisplay*")
+)
+
 (define-method set_desktop
   (of-object "GdkAppLaunchContext")
   (c-name "gdk_app_launch_context_set_desktop")
@@ -1597,21 +1592,6 @@
   (return-type "GdkInputSource")
 )
 
-(define-method get_mode
-  (of-object "GdkDevice")
-  (c-name "gdk_device_get_mode")
-  (return-type "GdkInputMode")
-)
-
-(define-method set_mode
-  (of-object "GdkDevice")
-  (c-name "gdk_device_set_mode")
-  (return-type "gboolean")
-  (parameters
-    '("GdkInputMode" "mode")
-  )
-)
-
 (define-method get_n_keys
   (of-object "GdkDevice")
   (c-name "gdk_device_get_n_keys")
@@ -1790,6 +1770,18 @@
   (return-type "GdkAxisFlags")
 )
 
+(define-method get_num_touches
+  (of-object "GdkDevice")
+  (c-name "gdk_device_get_num_touches")
+  (return-type "guint")
+)
+
+(define-method get_device_tool
+  (of-object "GdkDevice")
+  (c-name "gdk_device_get_device_tool")
+  (return-type "GdkDeviceTool*")
+)
+
 
 
 ;; From gdkdevicepad.h
@@ -2207,6 +2199,18 @@
   )
 )
 
+(define-method get_content
+  (of-object "GdkDrag")
+  (c-name "gdk_drag_get_content")
+  (return-type "GdkContentProvider*")
+)
+
+(define-method get_surface
+  (of-object "GdkDrag")
+  (c-name "gdk_drag_get_surface")
+  (return-type "GdkSurface*")
+)
+
 
 
 ;; From gdkdrawcontext.h
@@ -2301,6 +2305,7 @@
   (return-type "none")
   (parameters
     '("GdkDragAction" "actions")
+    '("GdkDragAction" "preferred")
   )
 )
 
@@ -2360,36 +2365,6 @@
   )
 )
 
-(define-method read_text_async
-  (of-object "GdkDrop")
-  (c-name "gdk_drop_read_text_async")
-  (return-type "none")
-  (parameters
-    '("GCancellable*" "cancellable")
-    '("GAsyncReadyCallback" "callback")
-    '("gpointer" "user_data")
-  )
-)
-
-(define-method read_text_finish
-  (of-object "GdkDrop")
-  (c-name "gdk_drop_read_text_finish")
-  (return-type "char*")
-  (parameters
-    '("GAsyncResult*" "result")
-    '("GError**" "error")
-  )
-)
-
-(define-method has_value
-  (of-object "GdkDrop")
-  (c-name "gdk_drop_has_value")
-  (return-type "gboolean")
-  (parameters
-    '("GType" "type")
-  )
-)
-
 
 
 ;; From gdkevents.h
@@ -3967,15 +3942,21 @@
   )
 )
 
-(define-method is_visible
+(define-method is_viewable
+  (of-object "GdkSurface")
+  (c-name "gdk_surface_is_viewable")
+  (return-type "gboolean")
+)
+
+(define-method get_mapped
   (of-object "GdkSurface")
-  (c-name "gdk_surface_is_visible")
+  (c-name "gdk_surface_get_mapped")
   (return-type "gboolean")
 )
 
-(define-method is_viewable
+(define-method get_autohide
   (of-object "GdkSurface")
-  (c-name "gdk_surface_is_viewable")
+  (c-name "gdk_surface_get_autohide")
   (return-type "gboolean")
 )
 
@@ -4622,11 +4603,6 @@
   (return-type "GType")
 )
 
-(define-function gdk_input_mode_get_type
-  (c-name "gdk_input_mode_get_type")
-  (return-type "GType")
-)
-
 (define-function gdk_device_type_get_type
   (c-name "gdk_device_type_get_type")
   (return-type "GType")
diff --git a/gdk/src/gdk_signals.defs b/gdk/src/gdk_signals.defs
index 997fce84..db67f9b2 100644
--- a/gdk/src/gdk_signals.defs
+++ b/gdk/src/gdk_signals.defs
@@ -185,7 +185,7 @@
   (default-value "GDK_DEVICE_TYPE_MASTER")
 )
 
-(define-property input-source
+(define-property source
   (of-object "GdkDevice")
   (prop-type "GParamEnum")
   (docs "Source type for the device")
@@ -195,16 +195,6 @@
   (default-value "GDK_SOURCE_MOUSE")
 )
 
-(define-property input-mode
-  (of-object "GdkDevice")
-  (prop-type "GParamEnum")
-  (docs "Input mode for the device")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-  (default-value "GDK_MODE_DISABLED")
-)
-
 (define-property has-cursor
   (of-object "GdkDevice")
   (prop-type "GParamBoolean")
diff --git a/gtk/src/gtk_docs.xml b/gtk/src/gtk_docs.xml
index 07f1b9a1..f9dbdfde 100644
--- a/gtk/src/gtk_docs.xml
+++ b/gtk/src/gtk_docs.xml
@@ -3092,6 +3092,13 @@ Focus movement types.
 </parameters>
 </enum>
 
+<property name="GtkDragIcon:child">
+<description>
+The widget to display as drag icon.
+
+</description>
+</property>
+
 <signal name="GtkDragSource::drag-begin">
 <description>
 The ::drag-begin signal is emitted on the drag source when a drag
@@ -3323,33 +3330,110 @@ before #GtkDropControllerMotion::enter but after
 </description>
 </property>
 
-<signal name="GtkDropTarget::drag-drop">
+<signal name="GtkDropTarget::accept">
+<description>
+The ::accept signal is emitted on the drop site when a drop operation
+is about to begin.  
+If the drop is not accepted, %FALSE will be returned and the drop target
+will ignore the drop. If %TRUE is returned, the drop is accepted for now
+but may be rejected later via a call to gtk_drop_target_reject() or
+ultimately by returning %FALSE from GtkDropTarget::drop
+
+The default handler for this signal decides whether to accept the drop
+based on the formats provided by the @drop.
+
+If the decision whether the drop will be accepted or rejected needs
+inspecting the data, this function should return %TRUE, the 
+GtkDropTarget:preload property should be set and the value
+should be inspected via the GObject::notify:value signal and then call
+gtk_drop_target_reject().
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> the #GtkDropTarget
+</parameter_description>
+</parameter>
+<parameter name="drop">
+<parameter_description> the #GdkDrop
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if @drop is accepted
+</return>
+</signal>
+
+<signal name="GtkDropTarget::drop">
 <description>
-The ::drag-drop signal is emitted on the drop site when the user drops
+The ::drop signal is emitted on the drop site when the user drops
 the data onto the widget. The signal handler must determine whether
-the cursor position is in a drop zone or not. If it is not in a drop
+the pointer position is in a drop zone or not. If it is not in a drop
 zone, it returns %FALSE and no further processing is necessary.
 
-Otherwise, the handler returns %TRUE. In this case, the handler must
-ensure that gdk_drop_finish() is called to let the source know that
-the drop is done. The call to gtk_drag_finish() can be done either
-directly or after receiving the data.
+Otherwise, the handler returns %TRUE. In this case, this handler will
+accept the drop. The handler is responsible for rading the given @value
+and performing the drop operation.
 
-To receive the data, use one of the read functions provides by #GtkDrop
-and #GtkDragDest: gdk_drop_read_async(), gdk_drop_read_value_async(),
-gdk_drop_read_text_async().
 
-You can use gtk_drop_target_get_drop() to obtain the #GtkDrop object
-for the ongoing operation in your signal handler. If you call one of the
-read functions in your handler, GTK will ensure that the #GtkDrop object
-stays alive until the read is completed. If you delay obtaining the data
-(e.g. to handle %GDK_ACTION_ASK by showing a #GtkPopover), you need to
-hold a reference on the #GtkDrop.
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> the #GtkDropTarget
+</parameter_description>
+</parameter>
+<parameter name="value">
+<parameter_description> the #GValue being dropped
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x coordinate of the current pointer position
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate of the current pointer position
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the drop was accepted at the given pointer position
+</return>
+</signal>
+
+<signal name="GtkDropTarget::enter">
+<description>
+The ::enter signal is emitted on the drop site when the pointer
+enters the widget. It can be used to set up custom highlighting.
 
 
 </description>
 <parameters>
-<parameter name="dest">
+<parameter name="self">
+<parameter_description> the #GtkDropTarget
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x coordinate of the current pointer position
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate of the current pointer position
+</parameter_description>
+</parameter>
+</parameters>
+<return> Preferred action for this drag operation or 0 if dropping is not
+supported at the current @x,@y location.
+</return>
+</signal>
+
+<signal name="GtkDropTarget::leave">
+<description>
+The ::leave signal is emitted on the drop site when the pointer
+leaves the widget. Its main purpose it to undo things done in
+#GtkDropTarget::enter.
+
+</description>
+<parameters>
+<parameter name="self">
 <parameter_description> the #GtkDropTarget
 </parameter_description>
 </parameter>
@@ -3357,48 +3441,131 @@ hold a reference on the #GtkDrop.
 <parameter_description> the #GdkDrop
 </parameter_description>
 </parameter>
+</parameters>
+<return></return>
+</signal>
+
+<signal name="GtkDropTarget::motion">
+<description>
+The ::motion signal is emitted while the pointer is moving
+over the drop target.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> the #GtkDropTarget
+</parameter_description>
+</parameter>
 <parameter name="x">
-<parameter_description> the x coordinate of the current cursor position
+<parameter_description> the x coordinate of the current pointer position
 </parameter_description>
 </parameter>
 <parameter name="y">
-<parameter_description> the y coordinate of the current cursor position
+<parameter_description> the y coordinate of the current pointer position
 </parameter_description>
 </parameter>
 </parameters>
-<return> whether the cursor position is in a drop zone
+<return> Preferred action for this drag operation or 0 if dropping is not
+supported at the current @x,@y location.
 </return>
 </signal>
 
-<signal name="GtkDropTarget::drag-enter">
+<property name="GtkDropTarget:actions">
+<description>
+The #GdkDragActions that this drop target supports
+
+</description>
+</property>
+
+<property name="GtkDropTarget:drop">
+<description>
+The #GdkDrop that is currently being performed
+
+</description>
+</property>
+
+<property name="GtkDropTarget:formats">
+<description>
+The #GdkContentFormats that determine the supported data formats
+
+</description>
+</property>
+
+<property name="GtkDropTarget:preload">
+<description>
+Whether the drop data should be preloaded when the pointer is only
+hovering over the widget but has not been released.
+
+Setting this property allows finer grained reaction to an ongoing
+drop at the cost of loading more data.
+
+The default value for this property is %FALSE to avoid downloading
+huge amounts of data by accident.  
+For example, if somebody drags a full document of gigabytes of text
+from a text editor across a widget with a preloading drop target,
+this data will be downloaded, even if the data is ultimately dropped
+elsewhere.
+
+For a lot of data formats, the amount of data is very small (like
+%GDK_TYPE_RGBA), so enabling this property does not hurt at all.  
+And for local-only drag'n'drop operations, no data transfer is done,
+so enabling it there is free.
+
+</description>
+</property>
+
+<property name="GtkDropTarget:value">
 <description>
-The ::drag-enter signal is emitted on the drop site when the cursor
+The value for this drop operation or %NULL if the data has not been
+loaded yet or no drop operation is going on.
+
+Data may be available before the GtkDropTarget::drop signal gets emitted -
+for example when the GtkDropTarget:preload property is set.
+You can use the GObject::notify signal to be notified of available data.
+
+</description>
+</property>
+
+<signal name="GtkDropTargetAsync::drag-enter">
+<description>
+The ::drag-enter signal is emitted on the drop site when the pointer
 enters the widget. It can be used to set up custom highlighting.
 
+
 </description>
 <parameters>
-<parameter name="dest">
-<parameter_description> the #GtkDropTarget
+<parameter name="self">
+<parameter_description> the #GtkDropTargetAsync
 </parameter_description>
 </parameter>
 <parameter name="drop">
 <parameter_description> the #GdkDrop
 </parameter_description>
 </parameter>
+<parameter name="x">
+<parameter_description> the x coordinate of the current pointer position
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate of the current pointer position
+</parameter_description>
+</parameter>
 </parameters>
-<return></return>
+<return> Preferred action for this drag operation. 
+</return>
 </signal>
 
-<signal name="GtkDropTarget::drag-leave">
+<signal name="GtkDropTargetAsync::drag-leave">
 <description>
-The ::drag-leave signal is emitted on the drop site when the cursor
+The ::drag-leave signal is emitted on the drop site when the pointer
 leaves the widget. Its main purpose it to undo things done in
-#GtkDropTarget::drag-enter.
+#GtkDropTargetAsync::drag-enter.
 
 </description>
 <parameters>
-<parameter name="dest">
-<parameter_description> the #GtkDropTarget
+<parameter name="self">
+<parameter_description> the #GtkDropTargetAsync
 </parameter_description>
 </parameter>
 <parameter name="drop">
@@ -3409,15 +3576,16 @@ leaves the widget. Its main purpose it to undo things done in
 <return></return>
 </signal>
 
-<signal name="GtkDropTarget::drag-motion">
+<signal name="GtkDropTargetAsync::drag-motion">
 <description>
-The ::drag motion signal is emitted while the pointer is moving
+The ::drag-motion signal is emitted while the pointer is moving
 over the drop target.
 
+
 </description>
 <parameters>
-<parameter name="dest">
-<parameter_description> the #GtkDropTarget
+<parameter name="self">
+<parameter_description> the #GtkDropTargetAsync
 </parameter_description>
 </parameter>
 <parameter name="drop">
@@ -3425,33 +3593,65 @@ over the drop target.
 </parameter_description>
 </parameter>
 <parameter name="x">
-<parameter_description> the x coordinate of the current cursor position
+<parameter_description> the x coordinate of the current pointer position
 </parameter_description>
 </parameter>
 <parameter name="y">
-<parameter_description> the y coordinate of the current cursor position
+<parameter_description> the y coordinate of the current pointer position
 </parameter_description>
 </parameter>
 </parameters>
-<return></return>
+<return> Preferred action for this drag operation. 
+</return>
 </signal>
 
-<property name="GtkDropTarget:actions">
+<signal name="GtkDropTargetAsync::drop">
 <description>
-The #GdkDragActions that this drop target supports
+The ::drop signal is emitted on the drop site when the user drops
+the data onto the widget. The signal handler must determine whether
+the pointer position is in a drop zone or not. If it is not in a drop
+zone, it returns %FALSE and no further processing is necessary.
+
+Otherwise, the handler returns %TRUE. In this case, this handler will
+accept the drop. The handler must ensure that gdk_drop_finish() is
+called to let the source know that the drop is done. The call to
+gtk_drag_finish() must only be done when all data has been received.
+
+To receive the data, use one of the read functions provides by #GdkDrop
+such as gdk_drop_read_async() or gdk_drop_read_value_async().
+
 
 </description>
-</property>
+<parameters>
+<parameter name="self">
+<parameter_description> the #GtkDropTargetAsync
+</parameter_description>
+</parameter>
+<parameter name="drop">
+<parameter_description> the #GdkDrop
+</parameter_description>
+</parameter>
+<parameter name="x">
+<parameter_description> the x coordinate of the current pointer position
+</parameter_description>
+</parameter>
+<parameter name="y">
+<parameter_description> the y coordinate of the current pointer position
+</parameter_description>
+</parameter>
+</parameters>
+<return> whether the drop is accepted at the given pointer position
+</return>
+</signal>
 
-<property name="GtkDropTarget:contains">
+<property name="GtkDropTargetAsync:actions">
 <description>
-Whether the drop target is currently the targed of an ongoing drag operation,
-and highlighted.
+The #GdkDragActions that this drop target supports
 
 </description>
 </property>
 
-<property name="GtkDropTarget:formats">
+<property name="GtkDropTargetAsync:formats">
 <description>
 The #GdkContentFormats that determines the supported data formats
 
@@ -14356,29 +14556,26 @@ widget get added, removed or changed.
 
 <signal name="GtkWidget::accept">
 <description>
-The ::accept signal is emitted on the drop site when the user
-moves the cursor over the widget during a drag. The signal handler
-must determine whether the cursor position is in a drop zone or not.
-If it is not in a drop zone, it returns %FALSE and no further processing
-is necessary. Otherwise, the handler returns %TRUE. In this case, the
-handler is responsible for providing the necessary information for
-displaying feedback to the user, by calling gdk_drag_status().
+The ::accept signal is emitted on the drop site when a drop operation
+is about to begin.  
+If the drop is not accepted, %FALSE will be returned and the drop target
+will ignore the drop. If %TRUE is returned, the drop is accepted for now
+but may be rejected later via a call to gtk_drop_target_reject() or
+ultimately by returning %FALSE from GtkDropTarget::drop
 
 The default handler for this signal decides whether to accept the drop
-based on the type of the data.
+based on the formats provided by the @drop.
 
-If the decision whether the drop will be accepted or rejected can't be
-made based solely the data format, handler may inspect the dragged data
-by calling one of the #GdkDrop read functions and return %TRUE to
-tentatively accept the drop. When the data arrives and is found to not be
-acceptable, a call to gtk_drop_target_deny_drop() should be made to reject
-the drop.
+If the decision whether the drop will be accepted or rejected needs
+further procesing, such as inspecting the data, this function should
+return %TRUE and proceed as is @drop was accepted and if it decides to
+reject the drop later, it should call gtk_drop_target_reject_drop().
 
 
 </description>
 <parameters>
-<parameter name="dest">
-<parameter_description> the #GtkDropTarget
+<parameter name="self">
+<parameter_description> the #GtkDropTargetAsync
 </parameter_description>
 </parameter>
 <parameter name="drop">
@@ -14386,7 +14583,7 @@ the drop.
 </parameter_description>
 </parameter>
 </parameters>
-<return> whether the cursor position is in a drop zone
+<return> %TRUE if @drop is accepted
 </return>
 </signal>
 
@@ -14774,13 +14971,6 @@ The cursor used by @widget. See gtk_widget_set_cursor() for details.
 </description>
 </property>
 
-<property name="GtkWidget:expand">
-<description>
-Whether to expand in both directions. Setting this sets both #GtkWidget:hexpand and #GtkWidget:vexpand
-
-</description>
-</property>
-
 <property name="GtkWidget:focus-on-click">
 <description>
 Whether the widget should grab focus when it is clicked with the mouse.
@@ -14832,14 +15022,6 @@ of the widget, and allocate its children.
 </description>
 </property>
 
-<property name="GtkWidget:margin">
-<description>
-Sets all four sides' margin at once. If read, returns max
-margin on any side.
-
-</description>
-</property>
-
 <property name="GtkWidget:margin-bottom">
 <description>
 Margin on bottom side of widget.
@@ -28408,52 +28590,6 @@ Creates a new custom paper dialog.
 </return>
 </function>
 
-<function name="gtk_device_grab_add">
-<description>
-Adds a GTK grab on @device, so all the events on @device and its
-associated pointer or keyboard (if any) are delivered to @widget.
-If the @block_others parameter is %TRUE, any other devices will be
-unable to interact with @widget during the grab.
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> a #GtkWidget
-</parameter_description>
-</parameter>
-<parameter name="device">
-<parameter_description> a #GdkDevice to grab on.
-</parameter_description>
-</parameter>
-<parameter name="block_others">
-<parameter_description> %TRUE to prevent other devices to interact with @widget.
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
-<function name="gtk_device_grab_remove">
-<description>
-Removes a device grab from the given widget.
-
-You have to pair calls to gtk_device_grab_add() and
-gtk_device_grab_remove().
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> a #GtkWidget
-</parameter_description>
-</parameter>
-<parameter name="device">
-<parameter_description> a #GdkDevice
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_dialog_add_action_widget">
 <description>
 Adds an activatable widget to the action area of a #GtkDialog,
@@ -28898,22 +29034,84 @@ should trigger the beginning of a drag-and-drop operation.
 </return>
 </function>
 
-<function name="gtk_drag_icon_new_for_drag">
+<function name="gtk_drag_icon_create_widget_for_value">
+<description>
+Creates a widget that can be used as a drag icon for the given
+@value.
+
+If GTK does not know how to create a widget for a given value,
+it will return %NULL.
+
+This method is used to set the default drag icon on drag'n'drop
+operations started by #GtkDragSource, so you don't need to set
+a drag icon using this function there.
+
+
+</description>
+<parameters>
+<parameter name="value">
+<parameter_description> a #GValue
+</parameter_description>
+</parameter>
+</parameters>
+<return> A new #GtkWidget
+for displaying @value as a drag icon.
+</return>
+</function>
+
+<function name="gtk_drag_icon_get_child">
 <description>
-Creates a #GtkDragIcon and associates it with the drag operation.
+Gets the widget currently used as drag icon.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkDragIcon
+</parameter_description>
+</parameter>
+</parameters>
+<return> The drag icon or %NULL if none.
+</return>
+</function>
+
+<function name="gtk_drag_icon_get_for_drag">
+<description>
+Gets the #GtkDragIcon in use with @drag.
+
+If no drag icon exists yet, a new one will be created
+and shown.
 
 
 </description>
 <parameters>
 <parameter name="drag">
-<parameter_description> a #GtkDrag
+<parameter_description> a #GdkDrag
 </parameter_description>
 </parameter>
 </parameters>
-<return> the new #GtkDragIcon
+<return> the #GtkDragIcon
 </return>
 </function>
 
+<function name="gtk_drag_icon_set_child">
+<description>
+Sets the widget to display as the drag icon.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkDragIcon
+</parameter_description>
+</parameter>
+<parameter name="child">
+<parameter_description> a #GtkWidget or %NULL
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_drag_icon_set_from_paintable">
 <description>
 Creates a #GtkDragIcon that shows @paintable, and associates
@@ -29263,7 +29461,8 @@ Returns the value of the GtkDropControllerMotion:drop property.
 </parameter_description>
 </parameter>
 </parameters>
-<return> The #GdkDrop currently happening within @self or %NULL if none
+<return> The #GdkDrop currently happening
+within @self or %NULL if none
 </return>
 </function>
 
@@ -29296,7 +29495,61 @@ events during drag and drop.
 </return>
 </function>
 
-<function name="gtk_drop_target_deny_drop">
+<function name="gtk_drop_target_async_get_actions">
+<description>
+Gets the actions that this drop target supports.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkDropTargetAsync
+</parameter_description>
+</parameter>
+</parameters>
+<return> the actions that this drop target supports
+</return>
+</function>
+
+<function name="gtk_drop_target_async_get_formats">
+<description>
+Gets the data formats that this drop target accepts.
+
+If the result is %NULL, all formats are expected to be supported.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkDropTargetAsync
+</parameter_description>
+</parameter>
+</parameters>
+<return> the supported data formats
+</return>
+</function>
+
+<function name="gtk_drop_target_async_new">
+<description>
+Creates a new #GtkDropTargetAsync object.
+
+
+</description>
+<parameters>
+<parameter name="formats">
+<parameter_description> the supported data formats
+</parameter_description>
+</parameter>
+<parameter name="actions">
+<parameter_description> the supported actions
+</parameter_description>
+</parameter>
+</parameters>
+<return> the new #GtkDropTargetAsync
+</return>
+</function>
+
+<function name="gtk_drop_target_async_reject_drop">
 <description>
 Sets the @drop as not accepted on this drag site.
 
@@ -29306,8 +29559,8 @@ the data.
 
 </description>
 <parameters>
-<parameter name="dest">
-<parameter_description> a #GtkDropTarget
+<parameter name="self">
+<parameter_description> a #GtkDropTargetAsync
 </parameter_description>
 </parameter>
 <parameter name="drop">
@@ -29318,22 +29571,41 @@ the data.
 <return></return>
 </function>
 
-<function name="gtk_drop_target_find_mimetype">
+<function name="gtk_drop_target_async_set_actions">
 <description>
-Returns a mimetype that is supported both by @dest and the ongoing
-drag. For more detailed control, you can use gdk_drop_get_formats()
-to obtain the content formats that are supported by the source.
+Sets the actions that this drop target supports.
 
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkDropTargetAsync
+</parameter_description>
+</parameter>
+<parameter name="actions">
+<parameter_description> the supported actions
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_drop_target_async_set_formats">
+<description>
+Sets the data formats that this drop target will accept.
 
 </description>
 <parameters>
-<parameter name="dest">
-<parameter_description> a #GtkDropTarget
+<parameter name="self">
+<parameter_description> a #GtkDropTargetAsync
+</parameter_description>
+</parameter>
+<parameter name="formats">
+<parameter_description> the supported data formats or %NULL for
+any format.
 </parameter_description>
 </parameter>
 </parameters>
-<return> a matching mimetype for the ongoing drag, or %NULL
-</return>
+<return></return>
 </function>
 
 <function name="gtk_drop_target_get_actions">
@@ -29343,7 +29615,7 @@ Gets the actions that this drop target supports.
 
 </description>
 <parameters>
-<parameter name="dest">
+<parameter name="self">
 <parameter_description> a #GtkDropTarget
 </parameter_description>
 </parameter>
@@ -29354,17 +29626,19 @@ Gets the actions that this drop target supports.
 
 <function name="gtk_drop_target_get_drop">
 <description>
-Returns the underlying #GtkDrop object for an ongoing drag.
+Gets the currently handled drop operation.
+
+If no drop operation is going on, %NULL is returned.
 
 
 </description>
 <parameters>
-<parameter name="dest">
+<parameter name="self">
 <parameter_description> a #GtkDropTarget
 </parameter_description>
 </parameter>
 </parameters>
-<return> the #GtkDrop of the current drag operation, or %NULL
+<return> The current drop
 </return>
 </function>
 
@@ -29377,7 +29651,7 @@ If the result is %NULL, all formats are expected to be supported.
 
 </description>
 <parameters>
-<parameter name="dest">
+<parameter name="self">
 <parameter_description> a #GtkDropTarget
 </parameter_description>
 </parameter>
@@ -29386,15 +29660,75 @@ If the result is %NULL, all formats are expected to be supported.
 </return>
 </function>
 
+<function name="gtk_drop_target_get_gtypes">
+<description>
+Gets the list of supported #GTypes for @self. If no type have been set,
+%NULL will be returned.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkDropTarget
+</parameter_description>
+</parameter>
+<parameter name="n_types">
+<parameter_description> optional pointer to take the
+number of #GTypes contained in the return value
+</parameter_description>
+</parameter>
+</parameters>
+<return>
+%G_TYPE_INVALID-terminated array of types included in @formats or
+%NULL if none.
+</return>
+</function>
+
+<function name="gtk_drop_target_get_preload">
+<description>
+Gets the value of the GtkDropTarget:preload property.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkDropTarget
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if drop data should be preloaded
+</return>
+</function>
+
+<function name="gtk_drop_target_get_value">
+<description>
+Gets the value of the GtkDropTarget:value porperty.
+
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkDropTarget
+</parameter_description>
+</parameter>
+</parameters>
+<return> The current drop data
+</return>
+</function>
+
 <function name="gtk_drop_target_new">
 <description>
 Creates a new #GtkDropTarget object.
 
+If the drop target should support more than 1 type, pass
+%G_TYPE_INVALID for @type and then call
+gtk_drop_target_set_gtypes().
+
 
 </description>
 <parameters>
-<parameter name="formats">
-<parameter_description> the supported data formats
+<parameter name="type">
+<parameter_description> The supported type or %G_TYPE_INVALID
 </parameter_description>
 </parameter>
 <parameter name="actions">
@@ -29406,13 +29740,34 @@ Creates a new #GtkDropTarget object.
 </return>
 </function>
 
+<function name="gtk_drop_target_reject">
+<description>
+Rejects the ongoing drop operation.
+
+If no drop operation is ongoing - when GdkDropTarget:drop
+returns %NULL - this function does nothing.
+
+This function should be used when delaying the decision
+on whether to accept a drag or not until after reading
+the data.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkDropTarget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_drop_target_set_actions">
 <description>
 Sets the actions that this drop target supports.
 
 </description>
 <parameters>
-<parameter name="dest">
+<parameter name="self">
 <parameter_description> a #GtkDropTarget
 </parameter_description>
 </parameter>
@@ -29424,18 +29779,43 @@ Sets the actions that this drop target supports.
 <return></return>
 </function>
 
-<function name="gtk_drop_target_set_formats">
+<function name="gtk_drop_target_set_gtypes">
 <description>
-Sets the data formats that this drop target will accept.
+Sets the supported #GTypes for this drop target.
+
+The GtkDropTarget::drop signal will 
 
 </description>
 <parameters>
-<parameter name="dest">
+<parameter name="self">
 <parameter_description> a #GtkDropTarget
 </parameter_description>
 </parameter>
-<parameter name="formats">
-<parameter_description> the supported data formats
+<parameter name="types">
+<parameter_description>
+all supported #GTypes that can be dropped
+</parameter_description>
+</parameter>
+<parameter name="n_types">
+<parameter_description> number of @types
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
+<function name="gtk_drop_target_set_preload">
+<description>
+Sets the GtkDropTarget:preload property.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> a #GtkDropTarget
+</parameter_description>
+</parameter>
+<parameter name="preload">
+<parameter_description> %TRUE to preload drop data
 </parameter_description>
 </parameter>
 </parameters>
@@ -37281,19 +37661,6 @@ grabbed widget and this function does nothing.
 <return></return>
 </function>
 
-<function name="gtk_grab_get_current">
-<description>
-Queries the current grab of the default window group.
-
-
-</description>
-<parameters>
-</parameters>
-<return> The widget which currently
-has the grab or %NULL if no grab is active
-</return>
-</function>
-
 <function name="gtk_grab_remove">
 <description>
 Removes the grab from the given widget.
@@ -38764,7 +39131,8 @@ See gtk_icon_theme_set_resource_path().
 </parameter_description>
 </parameter>
 </parameters>
-<return> A list of resource paths or %NULL.
+<return>
+A list of resource paths or %NULL.
 The returned value should be freed with g_strfreev().
 </return>
 </function>
@@ -38983,8 +39351,8 @@ rather than directly on the icon path.)
 </parameter_description>
 </parameter>
 <parameter name="path">
-<parameter_description> NULL-terminated array of
-directories that are searched for icon themes
+<parameter_description> NULL-terminated
+array of directories that are searched for icon themes
 </parameter_description>
 </parameter>
 </parameters>
@@ -39038,7 +39406,6 @@ This image is used for a drag icon.
 Turns @icon_view into a drop destination for automatic DND. Calling this
 method sets #GtkIconView:reorderable to %FALSE.
 
-
 </description>
 <parameters>
 <parameter name="icon_view">
@@ -39055,8 +39422,7 @@ widget
 </parameter_description>
 </parameter>
 </parameters>
-<return> the drop target that was attached
-</return>
+<return></return>
 </function>
 
 <function name="gtk_icon_view_enable_model_drag_source">
@@ -49960,22 +50326,6 @@ Returns the preferred position of @popover.
 </return>
 </function>
 
-<function name="gtk_popover_get_relative_to">
-<description>
-Returns the widget @popover is currently attached to
-
-
-</description>
-<parameters>
-<parameter name="popover">
-<parameter_description> a #GtkPopover
-</parameter_description>
-</parameter>
-</parameters>
-<return> a #GtkWidget
-</return>
-</function>
-
 <function name="gtk_popover_menu_bar_get_menu_model">
 <description>
 Returns the model from which the contents of @bar are taken.
@@ -50050,10 +50400,6 @@ Creates a new popover menu.
 
 </description>
 <parameters>
-<parameter name="relative_to">
-<parameter_description> #GtkWidget the popover is related to
-</parameter_description>
-</parameter>
 </parameters>
 <return> a new #GtkPopoverMenu
 </return>
@@ -50062,7 +50408,7 @@ Creates a new popover menu.
 <function name="gtk_popover_menu_new_from_model">
 <description>
 Creates a #GtkPopoverMenu and populates it according to
-@model. The popover is pointed to the @relative_to widget.
+@model.
 
 The created buttons are connected to actions found in the
 #GtkApplicationWindow to which the popover belongs - typically
@@ -50079,10 +50425,6 @@ to control this.
 
 </description>
 <parameters>
-<parameter name="relative_to">
-<parameter_description> #GtkWidget the popover is related to
-</parameter_description>
-</parameter>
 <parameter name="model">
 <parameter_description> a #GMenuModel, or %NULL
 </parameter_description>
@@ -50095,13 +50437,13 @@ to control this.
 <function name="gtk_popover_menu_new_from_model_full">
 <description>
 Creates a #GtkPopoverMenu and populates it according to
-@model. The popover is pointed to the @relative_to widget.
+@model.
 
 The created buttons are connected to actions found in the
-action groups that are accessible from the @relative-to widget.
+action groups that are accessible from the parent widget.
 This includes the #GtkApplicationWindow to which the popover
 belongs. Actions can also be added using gtk_widget_insert_action_group()
-on the @relative-to widget or on any of its parent widgets.
+on the parent widget or on any of its parent widgets.
 
 The only flag that is supported currently is
 #GTK_POPOVER_MENU_NESTED, which makes GTK create traditional,
@@ -50110,10 +50452,6 @@ nested submenus instead of the default sliding submenus.
 
 </description>
 <parameters>
-<parameter name="relative_to">
-<parameter_description> #GtkWidget the popover is related to
-</parameter_description>
-</parameter>
 <parameter name="model">
 <parameter_description> a #GMenuModel
 </parameter_description>
@@ -50228,8 +50566,7 @@ pointing at the widget it is relative to.
 <function name="gtk_popover_set_pointing_to">
 <description>
 Sets the rectangle that @popover will point to, in the
-coordinate space of the widget @popover is attached to,
-see gtk_popover_set_relative_to().
+coordinate space of the @popover parent.
 
 </description>
 <parameters>
@@ -50268,30 +50605,6 @@ on lack of space (eg. if close to the window edges), the
 <return></return>
 </function>
 
-<function name="gtk_popover_set_relative_to">
-<description>
-Sets a new widget to be attached to @popover. If @popover is
-visible, the position will be updated.
-
-Note: the ownership of popovers is always given to their @relative_to
-widget, so if @relative_to is set to %NULL on an attached @popover, it
-will be detached from its previous widget, and consequently destroyed
-unless extra references are kept.
-
-</description>
-<parameters>
-<parameter name="popover">
-<parameter_description> a #GtkPopover
-</parameter_description>
-</parameter>
-<parameter name="relative_to">
-<parameter_description> a #GtkWidget
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_print_backend_get_printer_list">
 <description>
 Returns the current list of printers.
@@ -60966,6 +61279,22 @@ Manually force an update of the spin button.
 <return></return>
 </function>
 
+<function name="gtk_spinner_get_spinning">
+<description>
+Returns whether the spinner is spinning.
+
+
+</description>
+<parameters>
+<parameter name="spinner">
+<parameter_description> a #GtkSpinner
+</parameter_description>
+</parameter>
+</parameters>
+<return> %TRUE if the spinner is active
+</return>
+</function>
+
 <function name="gtk_spinner_new">
 <description>
 Returns a new spinner widget. Not yet started.
@@ -60978,6 +61307,24 @@ Returns a new spinner widget. Not yet started.
 </return>
 </function>
 
+<function name="gtk_spinner_set_spinning">
+<description>
+Sets the activity of the spinner.
+
+</description>
+<parameters>
+<parameter name="spinner">
+<parameter_description> a #GtkSpinner
+</parameter_description>
+</parameter>
+<parameter name="spinning">
+<parameter_description> whether the spinner should be spinning
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</function>
+
 <function name="gtk_spinner_start">
 <description>
 Starts the animation of the spinner.
@@ -61673,22 +62020,6 @@ the new message is being used in
 </return>
 </function>
 
-<function name="gtk_statusbar_get_message_area">
-<description>
-Retrieves the box containing the label widget.
-
-
-</description>
-<parameters>
-<parameter name="statusbar">
-<parameter_description> a #GtkStatusbar
-</parameter_description>
-</parameter>
-</parameters>
-<return> a #GtkBox
-</return>
-</function>
-
 <function name="gtk_statusbar_new">
 <description>
 Creates a new #GtkStatusbar ready for messages.
@@ -74630,7 +74961,6 @@ This image is used for a drag icon.
 Turns @tree_view into a drop destination for automatic DND. Calling
 this method sets #GtkTreeView:reorderable to %FALSE.
 
-
 </description>
 <parameters>
 <parameter name="tree_view">
@@ -74647,8 +74977,7 @@ widget
 </parameter_description>
 </parameter>
 </parameters>
-<return> the drop target that has been attached
-</return>
+<return></return>
 </function>
 
 <function name="gtk_tree_view_enable_model_drag_source">
@@ -79541,26 +79870,6 @@ should take precedence over properties set in the private template XML.
 <return></return>
 </function>
 
-<function name="gtk_widget_input_shape_combine_region">
-<description>
-Sets an input shape for this widget’s GDK surface. This allows for
-windows which react to mouse click in a nonrectangular region, see
-gdk_surface_input_shape_combine_region() for more information.
-
-</description>
-<parameters>
-<parameter name="widget">
-<parameter_description> a #GtkWidget
-</parameter_description>
-</parameter>
-<parameter name="region">
-<parameter_description> shape to be added, or %NULL to remove an existing shape
-</parameter_description>
-</parameter>
-</parameters>
-<return></return>
-</function>
-
 <function name="gtk_widget_insert_action_group">
 <description>
 Inserts @group into @widget. Children of @widget that implement
@@ -80175,8 +80484,7 @@ GtkWidgetClass::size_allocate will be silently ignored.
 <function name="gtk_widget_realize">
 <description>
 Creates the GDK (windowing system) resources associated with a
-widget.  For example, @widget-&gt;surface will be created when a widget
-is realized.  Normally realization happens implicitly; if you show
+widget. Normally realization happens implicitly; if you show
 a widget and all its parent containers, then the widget will be
 realized and mapped automatically.
 
@@ -81445,7 +81753,7 @@ from the parent.
 <description>
 This function is only useful in widget implementations.
 Causes a widget to be unrealized (frees all GDK resources
-associated with the widget, such as @widget-&gt;surface).
+associated with the widget).
 
 </description>
 <parameters>
@@ -82205,43 +82513,6 @@ Adds a window to a #GtkWindowGroup.
 <return></return>
 </function>
 
-<function name="gtk_window_group_get_current_device_grab">
-<description>
-Returns the current grab widget for @device, or %NULL if none.
-
-
-</description>
-<parameters>
-<parameter name="window_group">
-<parameter_description> a #GtkWindowGroup
-</parameter_description>
-</parameter>
-<parameter name="device">
-<parameter_description> a #GdkDevice
-</parameter_description>
-</parameter>
-</parameters>
-<return> The grab widget, or %NULL
-</return>
-</function>
-
-<function name="gtk_window_group_get_current_grab">
-<description>
-Gets the current grab widget of the given group,
-see gtk_grab_add().
-
-
-</description>
-<parameters>
-<parameter name="window_group">
-<parameter_description> a #GtkWindowGroup
-</parameter_description>
-</parameter>
-</parameters>
-<return> the current grab widget of the group
-</return>
-</function>
-
 <function name="gtk_window_group_list_windows">
 <description>
 Returns a list of the #GtkWindows that belong to @window_group.
@@ -82261,8 +82532,10 @@ newly-allocated list of windows inside the group.
 
 <function name="gtk_window_group_new">
 <description>
-Creates a new #GtkWindowGroup object. Grabs added with
-gtk_grab_add() only affect windows within the same #GtkWindowGroup.
+Creates a new #GtkWindowGroup object.
+
+Modality of windows only affects windows
+within the same #GtkWindowGroup.
 
 
 </description>
diff --git a/gtk/src/gtk_docs_override.xml b/gtk/src/gtk_docs_override.xml
index 43b8227a..61567a54 100644
--- a/gtk/src/gtk_docs_override.xml
+++ b/gtk/src/gtk_docs_override.xml
@@ -169,8 +169,10 @@
 <substitute_enumerator_name from="G_TYPE_STRING" to="G_TYPE_STRING" />
 <substitute_enumerator_name from="G_TYPE_INT" to="G_TYPE_INT" />
 <substitute_enumerator_name from="G_TYPE_NONE" to="G_TYPE_NONE" />
+<substitute_enumerator_name from="G_TYPE_INVALID" to="G_TYPE_INVALID" />
 <substitute_enumerator_name from="GTK_CSS_PROVIDER_ERROR" to="GTK_CSS_PROVIDER_ERROR" />
 <substitute_enumerator_name from="GDK_TYPE_PIXBUF" to="GDK_TYPE_PIXBUF" />
+<substitute_enumerator_name from="GDK_TYPE_RGBA" to="GDK_TYPE_RGBA" />
 <substitute_enumerator_name from_prefix="GTK_PRINT_SETTINGS_" to_prefix="GTK_PRINT_SETTINGS_" />
 <substitute_enumerator_name from="GTK_RECENT_MANAGER_ERROR" to="GTK_RECENT_MANAGER_ERROR" />
 <substitute_enumerator_name from="G_IO_ERROR" to="G_IO_ERROR" />
@@ -1485,5 +1487,22 @@ the drop.
 </return>
 </signal>
 
+<!-- TODO: Remove this function description when gtk+'s description contains -->
+<!-- the correct number of parameters (no @drop). -->
+<signal name="GtkDropTarget::leave">
+<description>
+The ::leave signal is emitted on the drop site when the pointer
+leaves the widget. Its main purpose it to undo things done in
+#GtkDropTarget::enter.
+
+</description>
+<parameters>
+<parameter name="self">
+<parameter_description> the #GtkDropTarget
+</parameter_description>
+</parameter>
+</parameters>
+<return></return>
+</signal>
 
 </root>
diff --git a/gtk/src/gtk_methods.defs b/gtk/src/gtk_methods.defs
index b47910ec..fa94cd45 100644
--- a/gtk/src/gtk_methods.defs
+++ b/gtk/src/gtk_methods.defs
@@ -304,6 +304,13 @@
   (gtype-id "GTK_TYPE_SCALE")
 )
 
+(define-object PathBar
+  (in-module "Gtk")
+  (parent "GtkWidget")
+  (c-name "GtkPathBar")
+  (gtype-id "GTK_TYPE_PATH_BAR")
+)
+
 (define-object GLArea
   (in-module "Gtk")
   (parent "GtkWidget")
@@ -339,13 +346,6 @@
   (gtype-id "GTK_TYPE_TEXT_VIEW")
 )
 
-(define-object PathBar
-  (in-module "Gtk")
-  (parent "GtkContainer")
-  (c-name "GtkPathBar")
-  (gtype-id "GTK_TYPE_PATH_BAR")
-)
-
 (define-object Grid
   (in-module "Gtk")
   (parent "GtkContainer")
@@ -7352,84 +7352,29 @@
 
 
 
-;; From gtkdragdest.h
-
-(define-function gtk_drop_target_get_type
-  (c-name "gtk_drop_target_get_type")
-  (return-type "GType")
-)
-
-(define-function gtk_drop_target_new
-  (c-name "gtk_drop_target_new")
-  (is-constructor-of "GtkDropTarget")
-  (return-type "GtkDropTarget*")
-  (parameters
-    '("GdkContentFormats*" "formats")
-    '("GdkDragAction" "actions")
-  )
-)
-
-(define-method set_formats
-  (of-object "GtkDropTarget")
-  (c-name "gtk_drop_target_set_formats")
-  (return-type "none")
-  (parameters
-    '("GdkContentFormats*" "formats")
-  )
-)
-
-(define-method get_formats
-  (of-object "GtkDropTarget")
-  (c-name "gtk_drop_target_get_formats")
-  (return-type "GdkContentFormats*")
-)
+;; From gtkdragicon.h
 
-(define-method set_actions
-  (of-object "GtkDropTarget")
-  (c-name "gtk_drop_target_set_actions")
-  (return-type "none")
+(define-function gtk_drag_icon_get_for_drag
+  (c-name "gtk_drag_icon_get_for_drag")
+  (return-type "GtkWidget*")
   (parameters
-    '("GdkDragAction" "actions")
+    '("GdkDrag*" "drag")
   )
 )
 
-(define-method get_actions
-  (of-object "GtkDropTarget")
-  (c-name "gtk_drop_target_get_actions")
-  (return-type "GdkDragAction")
-)
-
-(define-method get_drop
-  (of-object "GtkDropTarget")
-  (c-name "gtk_drop_target_get_drop")
-  (return-type "GdkDrop*")
-)
-
-(define-method find_mimetype
-  (of-object "GtkDropTarget")
-  (c-name "gtk_drop_target_find_mimetype")
-  (return-type "const-char*")
-)
-
-(define-method deny_drop
-  (of-object "GtkDropTarget")
-  (c-name "gtk_drop_target_deny_drop")
+(define-method set_child
+  (of-object "GtkDragIcon")
+  (c-name "gtk_drag_icon_set_child")
   (return-type "none")
   (parameters
-    '("GdkDrop*" "drop")
+    '("GtkWidget*" "child")
   )
 )
 
-
-
-;; From gtkdragicon.h
-
-(define-function gtk_drag_icon_new_for_drag
-  (c-name "gtk_drag_icon_new_for_drag")
+(define-method get_child
+  (of-object "GtkDragIcon")
+  (c-name "gtk_drag_icon_get_child")
   (return-type "GtkWidget*")
-  (parameters
-    '("GdkDrag*" "drag")
-  )
 )
 
 (define-function gtk_drag_icon_set_from_paintable
@@ -7443,6 +7388,14 @@
   )
 )
 
+(define-function gtk_drag_icon_create_widget_for_value
+  (c-name "gtk_drag_icon_create_widget_for_value")
+  (return-type "GtkWidget*")
+  (parameters
+    '("const-GValue*" "value")
+  )
+)
+
 
 
 ;; From gtkdragsource.h
@@ -7614,6 +7567,156 @@
 
 
 
+;; From gtkdroptargetasync.h
+
+(define-function gtk_drop_target_async_get_type
+  (c-name "gtk_drop_target_async_get_type")
+  (return-type "GType")
+)
+
+(define-function gtk_drop_target_async_new
+  (c-name "gtk_drop_target_async_new")
+  (is-constructor-of "GtkDropTargetAsync")
+  (return-type "GtkDropTargetAsync*")
+  (parameters
+    '("GdkContentFormats*" "formats")
+    '("GdkDragAction" "actions")
+  )
+)
+
+(define-method set_formats
+  (of-object "GtkDropTargetAsync")
+  (c-name "gtk_drop_target_async_set_formats")
+  (return-type "none")
+  (parameters
+    '("GdkContentFormats*" "formats")
+  )
+)
+
+(define-method get_formats
+  (of-object "GtkDropTargetAsync")
+  (c-name "gtk_drop_target_async_get_formats")
+  (return-type "GdkContentFormats*")
+)
+
+(define-method set_actions
+  (of-object "GtkDropTargetAsync")
+  (c-name "gtk_drop_target_async_set_actions")
+  (return-type "none")
+  (parameters
+    '("GdkDragAction" "actions")
+  )
+)
+
+(define-method get_actions
+  (of-object "GtkDropTargetAsync")
+  (c-name "gtk_drop_target_async_get_actions")
+  (return-type "GdkDragAction")
+)
+
+(define-method reject_drop
+  (of-object "GtkDropTargetAsync")
+  (c-name "gtk_drop_target_async_reject_drop")
+  (return-type "none")
+  (parameters
+    '("GdkDrop*" "drop")
+  )
+)
+
+
+
+;; From gtkdroptarget.h
+
+(define-function gtk_drop_target_get_type
+  (c-name "gtk_drop_target_get_type")
+  (return-type "GType")
+)
+
+(define-function gtk_drop_target_new
+  (c-name "gtk_drop_target_new")
+  (is-constructor-of "GtkDropTarget")
+  (return-type "GtkDropTarget*")
+  (parameters
+    '("GType" "type")
+    '("GdkDragAction" "actions")
+  )
+)
+
+(define-method set_gtypes
+  (of-object "GtkDropTarget")
+  (c-name "gtk_drop_target_set_gtypes")
+  (return-type "none")
+  (parameters
+    '("GType*" "types")
+    '("gsize" "n_types")
+  )
+)
+
+(define-method get_gtypes
+  (of-object "GtkDropTarget")
+  (c-name "gtk_drop_target_get_gtypes")
+  (return-type "const-GType*")
+  (parameters
+    '("gsize*" "n_types")
+  )
+)
+
+(define-method get_formats
+  (of-object "GtkDropTarget")
+  (c-name "gtk_drop_target_get_formats")
+  (return-type "GdkContentFormats*")
+)
+
+(define-method set_actions
+  (of-object "GtkDropTarget")
+  (c-name "gtk_drop_target_set_actions")
+  (return-type "none")
+  (parameters
+    '("GdkDragAction" "actions")
+  )
+)
+
+(define-method get_actions
+  (of-object "GtkDropTarget")
+  (c-name "gtk_drop_target_get_actions")
+  (return-type "GdkDragAction")
+)
+
+(define-method set_preload
+  (of-object "GtkDropTarget")
+  (c-name "gtk_drop_target_set_preload")
+  (return-type "none")
+  (parameters
+    '("gboolean" "preload")
+  )
+)
+
+(define-method get_preload
+  (of-object "GtkDropTarget")
+  (c-name "gtk_drop_target_get_preload")
+  (return-type "gboolean")
+)
+
+(define-method get_drop
+  (of-object "GtkDropTarget")
+  (c-name "gtk_drop_target_get_drop")
+  (return-type "GdkDrop*")
+)
+
+(define-method get_value
+  (of-object "GtkDropTarget")
+  (c-name "gtk_drop_target_get_value")
+  (return-type "const-GValue*")
+)
+
+(define-method reject
+  (of-object "GtkDropTarget")
+  (c-name "gtk_drop_target_reject")
+  (return-type "none")
+)
+
+
+
 ;; From gtkeditable.h
 
 (define-function gtk_editable_get_type
@@ -11981,7 +12084,7 @@
 (define-method enable_model_drag_dest
   (of-object "GtkIconView")
   (c-name "gtk_icon_view_enable_model_drag_dest")
-  (return-type "GtkDropTarget*")
+  (return-type "none")
   (parameters
     '("GdkContentFormats*" "formats")
     '("GdkDragAction" "actions")
@@ -13979,46 +14082,6 @@
   (return-type "GtkTextDirection")
 )
 
-(define-function gtk_grab_add
-  (c-name "gtk_grab_add")
-  (return-type "none")
-  (parameters
-    '("GtkWidget*" "widget")
-  )
-)
-
-(define-function gtk_grab_get_current
-  (c-name "gtk_grab_get_current")
-  (return-type "GtkWidget*")
-)
-
-(define-function gtk_grab_remove
-  (c-name "gtk_grab_remove")
-  (return-type "none")
-  (parameters
-    '("GtkWidget*" "widget")
-  )
-)
-
-(define-function gtk_device_grab_add
-  (c-name "gtk_device_grab_add")
-  (return-type "none")
-  (parameters
-    '("GtkWidget*" "widget")
-    '("GdkDevice*" "device")
-    '("gboolean" "block_others")
-  )
-)
-
-(define-function gtk_device_grab_remove
-  (c-name "gtk_device_grab_remove")
-  (return-type "none")
-  (parameters
-    '("GtkWidget*" "widget")
-    '("GdkDevice*" "device")
-  )
-)
-
 (define-function gtk_get_current_event
   (c-name "gtk_get_current_event")
   (return-type "GdkEvent*")
@@ -16215,24 +16278,6 @@
   (c-name "gtk_popover_new")
   (is-constructor-of "GtkPopover")
   (return-type "GtkWidget*")
-  (parameters
-    '("GtkWidget*" "relative_to")
-  )
-)
-
-(define-method set_relative_to
-  (of-object "GtkPopover")
-  (c-name "gtk_popover_set_relative_to")
-  (return-type "none")
-  (parameters
-    '("GtkWidget*" "relative_to")
-  )
-)
-
-(define-method get_relative_to
-  (of-object "GtkPopover")
-  (c-name "gtk_popover_get_relative_to")
-  (return-type "GtkWidget*")
 )
 
 (define-method set_pointing_to
@@ -16364,7 +16409,6 @@
   (c-name "gtk_popover_menu_new_from_model")
   (return-type "GtkWidget*")
   (parameters
-    '("GtkWidget*" "relative_to")
     '("GMenuModel*" "model")
   )
 )
@@ -16373,7 +16417,6 @@
   (c-name "gtk_popover_menu_new_from_model_full")
   (return-type "GtkWidget*")
   (parameters
-    '("GtkWidget*" "relative_to")
     '("GMenuModel*" "model")
     '("GtkPopoverMenuFlags" "flags")
   )
@@ -21114,6 +21157,21 @@
   (return-type "none")
 )
 
+(define-method set_spinning
+  (of-object "GtkSpinner")
+  (c-name "gtk_spinner_set_spinning")
+  (return-type "none")
+  (parameters
+    '("gboolean" "spinning")
+  )
+)
+
+(define-method get_spinning
+  (of-object "GtkSpinner")
+  (c-name "gtk_spinner_get_spinning")
+  (return-type "gboolean")
+)
+
 
 
 ;; From gtkstack.h
@@ -21458,12 +21516,6 @@
   )
 )
 
-(define-method get_message_area
-  (of-object "GtkStatusbar")
-  (c-name "gtk_statusbar_get_message_area")
-  (return-type "GtkWidget*")
-)
-
 
 
 ;; From gtkstylecontext.h
@@ -26608,7 +26660,7 @@
 (define-method enable_model_drag_dest
   (of-object "GtkTreeView")
   (c-name "gtk_tree_view_enable_model_drag_dest")
-  (return-type "GtkDropTarget*")
+  (return-type "none")
   (parameters
     '("GdkContentFormats*" "formats")
     '("GdkDragAction" "actions")
@@ -28183,15 +28235,6 @@
   (return-type "GtkTextDirection")
 )
 
-(define-method input_shape_combine_region
-  (of-object "GtkWidget")
-  (c-name "gtk_widget_input_shape_combine_region")
-  (return-type "none")
-  (parameters
-    '("cairo_region_t*" "region")
-  )
-)
-
 (define-method set_cursor
   (of-object "GtkWidget")
   (c-name "gtk_widget_set_cursor")
@@ -28729,21 +28772,6 @@
   (return-type "GList*")
 )
 
-(define-method get_current_grab
-  (of-object "GtkWindowGroup")
-  (c-name "gtk_window_group_get_current_grab")
-  (return-type "GtkWidget*")
-)
-
-(define-method get_current_device_grab
-  (of-object "GtkWindowGroup")
-  (c-name "gtk_window_group_get_current_device_grab")
-  (return-type "GtkWidget*")
-  (parameters
-    '("GdkDevice*" "device")
-  )
-)
-
 
 
 ;; From gtkwindow.h
diff --git a/gtk/src/gtk_signals.defs b/gtk/src/gtk_signals.defs
index 4f1992cc..d91b6de5 100644
--- a/gtk/src/gtk_signals.defs
+++ b/gtk/src/gtk_signals.defs
@@ -2719,6 +2719,17 @@
   (default-value "-1")
 )
 
+;; From GtkDragIcon
+
+(define-property child
+  (of-object "GtkDragIcon")
+  (prop-type "GParamObject")
+  (docs "The widget to display as drag icon.")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+)
+
 ;; From GtkDragSource
 
 (define-signal prepare
@@ -2860,66 +2871,154 @@
 
 ;; From GtkDropTarget
 
-(define-signal drag-enter
+(define-signal drop
   (of-object "GtkDropTarget")
-  (return-type "void")
+  (return-type "gboolean")
   (flags "Run Last")
   (parameters
-    '("GdkDrop*" "p0")
+    '("const-GValue*" "p0")
+    '("gdouble" "p1")
+    '("gdouble" "p2")
   )
 )
 
-(define-signal drag-leave
+(define-signal enter
   (of-object "GtkDropTarget")
-  (return-type "void")
+  (return-type "GdkDragAction")
   (flags "Run Last")
   (parameters
-    '("GdkDrop*" "p0")
+    '("gdouble" "p0")
+    '("gdouble" "p1")
   )
 )
 
-(define-signal drag-motion
+(define-signal leave
   (of-object "GtkDropTarget")
   (return-type "void")
   (flags "Run Last")
-  (parameters
-    '("GdkDrop*" "p0")
-    '("gint" "p1")
-    '("gint" "p2")
-  )
 )
 
-(define-signal accept
+(define-signal motion
   (of-object "GtkDropTarget")
-  (return-type "gboolean")
+  (return-type "GdkDragAction")
   (flags "Run Last")
   (parameters
-    '("GdkDrop*" "p0")
+    '("gdouble" "p0")
+    '("gdouble" "p1")
   )
 )
 
-(define-signal drag-drop
+(define-signal accept
   (of-object "GtkDropTarget")
   (return-type "gboolean")
   (flags "Run Last")
   (parameters
     '("GdkDrop*" "p0")
-    '("gint" "p1")
-    '("gint" "p2")
   )
 )
 
+(define-property actions
+  (of-object "GtkDropTarget")
+  (prop-type "GParamFlags")
+  (docs "The actions supported by this drop target")
+  (readable #t)
+  (writable #t)
+  (construct-only #f)
+  (default-value "0")
+)
+
+(define-property drop
+  (of-object "GtkDropTarget")
+  (prop-type "GParamObject")
+  (docs "Current drop")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
 (define-property formats
   (of-object "GtkDropTarget")
   (prop-type "GParamBoxed")
-  (docs "Formats")
+  (docs "The supported formats")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+(define-property preload
+  (of-object "GtkDropTarget")
+  (prop-type "GParamBoolean")
+  (docs "Whether drop data should be preloaded while hovering")
   (readable #t)
   (writable #t)
   (construct-only #f)
+  (default-value "FALSE")
 )
 
-(define-property actions
+(define-property value
   (of-object "GtkDropTarget")
+  (prop-type "GParamBoxed")
+  (docs "The value for this drop operation")
+  (readable #t)
+  (writable #f)
+  (construct-only #f)
+)
+
+;; From GtkDropTargetAsync
+
+(define-signal drop
+  (of-object "GtkDropTargetAsync")
+  (return-type "gboolean")
+  (flags "Run Last")
+  (parameters
+    '("GdkDrop*" "p0")
+    '("gdouble" "p1")
+    '("gdouble" "p2")
+  )
+)
+
+(define-signal accept
+  (of-object "GtkDropTargetAsync")
+  (return-type "gboolean")
+  (flags "Run Last")
+  (parameters
+    '("GdkDrop*" "p0")
+  )
+)
+
+(define-signal drag-enter
+  (of-object "GtkDropTargetAsync")
+  (return-type "GdkDragAction")
+  (flags "Run Last")
+  (parameters
+    '("GdkDrop*" "p0")
+    '("gdouble" "p1")
+    '("gdouble" "p2")
+  )
+)
+
+(define-signal drag-motion
+  (of-object "GtkDropTargetAsync")
+  (return-type "GdkDragAction")
+  (flags "Run Last")
+  (parameters
+    '("GdkDrop*" "p0")
+    '("gdouble" "p1")
+    '("gdouble" "p2")
+  )
+)
+
+(define-signal drag-leave
+  (of-object "GtkDropTargetAsync")
+  (return-type "void")
+  (flags "Run Last")
+  (parameters
+    '("GdkDrop*" "p0")
+  )
+)
+
+(define-property actions
+  (of-object "GtkDropTargetAsync")
   (prop-type "GParamFlags")
   (docs "Actions")
   (readable #t)
@@ -2928,14 +3027,13 @@
   (default-value "0")
 )
 
-(define-property contains
-  (of-object "GtkDropTarget")
-  (prop-type "GParamBoolean")
-  (docs "Contains the current drag")
+(define-property formats
+  (of-object "GtkDropTargetAsync")
+  (prop-type "GParamBoxed")
+  (docs "Formats")
   (readable #t)
-  (writable #f)
+  (writable #t)
   (construct-only #f)
-  (default-value "FALSE")
 )
 
 ;; From GtkEditable
@@ -6979,15 +7077,6 @@
   (flags "Run Last, Action")
 )
 
-(define-property relative-to
-  (of-object "GtkPopover")
-  (prop-type "GParamObject")
-  (docs "Widget the bubble window points to")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-)
-
 (define-property pointing-to
   (of-object "GtkPopover")
   (prop-type "GParamBoxed")
@@ -9130,10 +9219,10 @@
 
 ;; From GtkSpinner
 
-(define-property active
+(define-property spinning
   (of-object "GtkSpinner")
   (prop-type "GParamBoolean")
-  (docs "Whether the spinner is active")
+  (docs "Whether the spinner is spinning")
   (readable #t)
   (writable #t)
   (construct-only #f)
@@ -12159,16 +12248,6 @@
   (default-value "0")
 )
 
-(define-property margin
-  (of-object "GtkWidget")
-  (prop-type "GParamInt")
-  (docs "Pixels of extra space on all four sides")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-  (default-value "0")
-)
-
 (define-property hexpand
   (of-object "GtkWidget")
   (prop-type "GParamBoolean")
@@ -12209,16 +12288,6 @@
   (default-value "FALSE")
 )
 
-(define-property expand
-  (of-object "GtkWidget")
-  (prop-type "GParamBoolean")
-  (docs "Whether widget wants to expand in both directions")
-  (readable #t)
-  (writable #t)
-  (construct-only #f)
-  (default-value "FALSE")
-)
-
 (define-property scale-factor
   (of-object "GtkWidget")
   (prop-type "GParamInt")
diff --git a/gtk/src/gtk_signals.defs.patch b/gtk/src/gtk_signals.defs.patch
index 2eef2903..97013611 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      2020-01-08 15:15:22.591699111 +0100
-+++ ./../../gtk/src/gtk_signals.defs   2020-01-08 15:15:22.607699126 +0100
-@@ -2327,11 +2327,11 @@
+--- ./../../gtk/src/gtk_signals.defs.orig      2020-03-09 10:31:50.493450723 +0100
++++ ./../../gtk/src/gtk_signals.defs   2020-03-09 16:01:03.199478606 +0100
+@@ -2275,11 +2275,11 @@
  (define-signal color-activated
    (of-object "GtkColorChooser")
    (return-type "void")
@@ -13,7 +13,7 @@
  
  (define-property rgba
    (of-object "GtkColorChooser")
-@@ -2393,11 +2393,11 @@
+@@ -2341,11 +2341,11 @@
    (flags "Run Last, Action")
  )
  
@@ -26,7 +26,7 @@
      '("const-gchar*" "p0")
    )
  )
-@@ -2738,11 +2738,11 @@
+@@ -2686,11 +2686,11 @@
    (of-object "GtkCssProvider")
    (return-type "void")
    (flags "Run Last")
@@ -39,7 +39,20 @@
  
  ;; From GtkDialog
  
-@@ -7159,11 +7159,11 @@
+@@ -2874,11 +2874,11 @@
+ (define-signal drop
+   (of-object "GtkDropTarget")
+   (return-type "gboolean")
+   (flags "Run Last")
+   (parameters
+-    '("GValue*" "p0")
++    '("const-GValue*" "p0")
+     '("gdouble" "p1")
+     '("gdouble" "p2")
+   )
+ )
+ 
+@@ -7397,11 +7397,11 @@
    )
  )
  
@@ -52,7 +65,7 @@
  
  (define-signal update-custom-widget
    (of-object "GtkPrintOperation")
-@@ -9034,11 +9034,11 @@
+@@ -9249,11 +9249,11 @@
  (define-signal input
    (of-object "GtkSpinButton")
    (return-type "gint")
@@ -65,7 +78,7 @@
  
  (define-signal output
    (of-object "GtkSpinButton")
-@@ -9926,11 +9926,11 @@
+@@ -9924,11 +9924,11 @@
  (define-signal mark-set
    (of-object "GtkTextBuffer")
    (return-type "void")
@@ -78,7 +91,7 @@
  )
  
  (define-signal mark-deleted
-@@ -9946,23 +9946,23 @@
+@@ -9944,23 +9944,23 @@
    (of-object "GtkTextBuffer")
    (return-type "void")
    (flags "Run Last")
@@ -106,7 +119,7 @@
  
  (define-signal begin-user-action
    (of-object "GtkTextBuffer")
-@@ -11234,11 +11234,11 @@
+@@ -11232,11 +11232,11 @@
    (return-type "void")
    (flags "Run First")
    (parameters
diff --git a/tools/extra_defs_gen/generate_defs_gtk.cc b/tools/extra_defs_gen/generate_defs_gtk.cc
index ad1efe5e..e2a60d5e 100644
--- a/tools/extra_defs_gen/generate_defs_gtk.cc
+++ b/tools/extra_defs_gen/generate_defs_gtk.cc
@@ -90,10 +90,12 @@ int main(int /* argc */, char** /* argv */)
             << get_defs( GTK_TYPE_CELL_VIEW )
             << get_defs( GTK_TYPE_CSS_PROVIDER )
             << get_defs( GTK_TYPE_DIALOG )
+            << get_defs( GTK_TYPE_DRAG_ICON )
             << get_defs( GTK_TYPE_DRAG_SOURCE )
             << get_defs( GTK_TYPE_DRAWING_AREA )
             << get_defs( GTK_TYPE_DROP_CONTROLLER_MOTION )
             << get_defs( GTK_TYPE_DROP_TARGET )
+            << get_defs( GTK_TYPE_DROP_TARGET_ASYNC )
             << get_defs( GTK_TYPE_EDITABLE )
             << get_defs( GTK_TYPE_EMOJI_CHOOSER )
             << get_defs( GTK_TYPE_ENTRY )


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