mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-07 17:20:07 +00:00
a41519815b
* gdk/tmpl/dnd.sgml: Updates.
236 lines
6.7 KiB
Plaintext
236 lines
6.7 KiB
Plaintext
<!-- ##### SECTION Title ##### -->
|
|
Drag and Drop
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
functions for controlling drag and drop handling.
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
<para>
|
|
These functions provide a low level interface for drag and drop.
|
|
The X backend of GDK supports both the Xdnd and Motif drag and drop protocols
|
|
transparently, the Win32 backend supports the WM_DROPFILES protocol.
|
|
</para>
|
|
<para>
|
|
GTK+ provides a higher level abstraction based on top of these functions,
|
|
and so they are not normally needed in GTK+ applications.
|
|
See the <link linkend="gtk-Drag-and-Drop">Drag and Drop</link> section of
|
|
the GTK+ documentation for more information.
|
|
</para>
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
<!-- ##### FUNCTION gdk_drag_get_selection ##### -->
|
|
<para>
|
|
Returns the selection atom for the current source window.
|
|
</para>
|
|
|
|
@context: a #GdkDragContext.
|
|
@Returns: the selection atom.
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_drag_abort ##### -->
|
|
<para>
|
|
Aborts a drag without dropping.
|
|
</para>
|
|
<para>
|
|
This function is called by the drag source.
|
|
</para>
|
|
|
|
@context: a #GdkDragContext.
|
|
@time: the timestamp for this operation.
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_drop_reply ##### -->
|
|
<para>
|
|
Accepts or rejects a drop.
|
|
</para>
|
|
<para>
|
|
This function is called by the drag destination in response
|
|
to a drop initiated by the drag source.
|
|
</para>
|
|
|
|
@context: a #GdkDragContext.
|
|
@ok: %TRUE if the drop is accepted.
|
|
@time: the timestamp for this operation.
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_drag_context_new ##### -->
|
|
<para>
|
|
Creates a new #GdkDragContext.
|
|
</para>
|
|
|
|
@Returns: the newly created #GdkDragContext.
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_drag_drop ##### -->
|
|
<para>
|
|
Drops on the current destination.
|
|
</para>
|
|
<para>
|
|
This function is called by the drag source.
|
|
</para>
|
|
|
|
@context: a #GdkDragContext.
|
|
@time: the timestamp for this operation.
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_drag_find_window ##### -->
|
|
<para>
|
|
Finds the destination window and DND protocol to use at the
|
|
given pointer position.
|
|
</para>
|
|
<para>
|
|
This function is called by the drag source to obtain the
|
|
@dest_window and @protocol parameters for gdk_drag_motion().
|
|
</para>
|
|
|
|
@context: a #GdkDragContext.
|
|
@drag_window: a window which may be at the pointer position, but
|
|
should be ignored, since it is put up by the drag source as an icon.
|
|
@x_root: the x position of the pointer in root coordinates.
|
|
@y_root: the y position of the pointer in root coordinates.
|
|
@dest_window: location to store the destination window in.
|
|
@protocol: location to store the DND protocol in.
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_drag_context_ref ##### -->
|
|
<para>
|
|
Deprecated function; use g_object_ref() instead.
|
|
</para>
|
|
|
|
@context: a #GdkDragContext.
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_drag_begin ##### -->
|
|
<para>
|
|
Starts a drag and creates a new drag context for it.
|
|
</para>
|
|
<para>
|
|
This function is called by the drag source.
|
|
</para>
|
|
|
|
@window: the source window for this drag.
|
|
@targets: the list of offered targets.
|
|
@Returns: a newly created #GdkDragContext.
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_drag_motion ##### -->
|
|
<para>
|
|
Updates the drag context when the pointer moves or the
|
|
set of actions changes.
|
|
</para>
|
|
<para>
|
|
This function is called by the drag source.
|
|
</para>
|
|
|
|
@context: a #GdkDragContext.
|
|
@dest_window: the new destination window, obtained by gdk_drag_find_window().
|
|
@protocol: the DND protocol in use, obtained by gdk_drag_find_window().
|
|
@x_root: the x position of the pointer in root coordinates.
|
|
@y_root: the y position of the pointer in root coordinates.
|
|
@suggested_action: the suggested action.
|
|
@possible_actions: the possible actions.
|
|
@time: the timestamp for this operation.
|
|
@Returns: FIXME
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_drop_finish ##### -->
|
|
<para>
|
|
Ends the drag operation after a drop.
|
|
</para>
|
|
<para>
|
|
This function is called by the drag destination.
|
|
</para>
|
|
|
|
@context: a #GtkDragContext.
|
|
@success: %TRUE if the data was successfully received.
|
|
@time: the timestamp for this operation.
|
|
|
|
|
|
<!-- ##### FUNCTION gdk_drag_get_protocol ##### -->
|
|
<para>
|
|
Finds out the DND protocol supported by a window.
|
|
</para>
|
|
|
|
@xid: the X id of the destination window.
|
|
@protocol: location where the supported DND protocol is returned.
|
|
@Returns: the X id of the window where the drop should happen. This
|
|
may be @xid or the X id of a proxy window, or None if @xid doesn't
|
|
support Drag and Drop.
|
|
|
|
|
|
<!-- ##### ENUM GdkDragProtocol ##### -->
|
|
<para>
|
|
Used in #GdkDragContext to indicate the protocol according to
|
|
which DND is done.
|
|
</para>
|
|
|
|
@GDK_DRAG_PROTO_MOTIF: The Motif DND protocol.
|
|
@GDK_DRAG_PROTO_XDND: The Xdnd protocol.
|
|
@GDK_DRAG_PROTO_ROOTWIN: An extension to the Xdnd protocol for
|
|
unclaimed root window drops.
|
|
@GDK_DRAG_PROTO_NONE: no protocol.
|
|
@GDK_DRAG_PROTO_WIN32_DROPFILES: The simple WM_DROPFILES protocol.
|
|
@GDK_DRAG_PROTO_OLE2: The complex OLE2 DND protocol (not implemented).
|
|
@GDK_DRAG_PROTO_LOCAL: Intra-application DND.
|
|
|
|
<!-- ##### FUNCTION gdk_drag_context_unref ##### -->
|
|
<para>
|
|
Deprecated function; use g_object_unref() instead.
|
|
</para>
|
|
|
|
@context: a #GdkDragContext.
|
|
|
|
|
|
<!-- ##### STRUCT GdkDragContext ##### -->
|
|
<para>
|
|
A <structname>GdkDragContext</structname> holds information about a
|
|
drag in progress. It is used on both source and destination sides.
|
|
</para>
|
|
|
|
@parent_instance:
|
|
@protocol: the DND protocol which governs this drag.
|
|
@is_source: %TRUE if the context is used on the source side.
|
|
@source_window: the source of this drag.
|
|
@dest_window: the destination window of this drag.
|
|
@targets: a list of targets offered by the source.
|
|
@actions: a bitmask of actions proposed by the source when
|
|
@suggested_action is %GDK_ACTION_ASK.
|
|
@suggested_action: the action suggested by the source.
|
|
@action: the action chosen by the destination.
|
|
@start_time: a timestamp recording the start time of this drag.
|
|
|
|
|
|
<!-- ##### ENUM GdkDragAction ##### -->
|
|
<para>
|
|
Used in #GdkDragContext to indicate what the destination
|
|
should do with the dropped data.
|
|
</para>
|
|
|
|
@GDK_ACTION_DEFAULT:
|
|
@GDK_ACTION_COPY: Copy the data.
|
|
@GDK_ACTION_MOVE: Move the data, i.e. first copy it, then delete
|
|
it from the source using the DELETE target of the X selection protocol.
|
|
@GDK_ACTION_LINK: Add a link to the data. Note that this is only
|
|
useful if source and destination agree on what it means.
|
|
@GDK_ACTION_PRIVATE: Special action which tells the source that the
|
|
destination will do something that the source doesn't understand.
|
|
@GDK_ACTION_ASK: Ask the user what to do with the data.
|
|
|
|
<!-- ##### FUNCTION gdk_drag_status ##### -->
|
|
<para>
|
|
Selects one of the actions offered by the drag source.
|
|
</para>
|
|
<para>
|
|
This function is called by the drag destination in response to
|
|
gdk_drag_motion() called by the drag source.
|
|
</para>
|
|
|
|
@context: a #GdkDragContext.
|
|
@action: the selected action which will be taken when a drop happens,
|
|
or 0 to indicate that a drop will not be accepted.
|
|
@time: the timestamp for this operation.
|