forked from AuroraMiddleware/gtk
ac6525b27c
Also move docs inline at the same time. Bug 610905.
448 lines
8.2 KiB
Plaintext
448 lines
8.2 KiB
Plaintext
<!-- ##### SECTION Title ##### -->
|
|
Drag and Drop
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
Functions for controlling drag and drop handling
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
<para>
|
|
GTK+ has a rich set of functions for doing inter-process
|
|
communication via the drag-and-drop metaphor. GTK+
|
|
can do drag-and-drop (DND) via multiple protocols.
|
|
The currently supported protocols are the Xdnd and
|
|
Motif protocols.
|
|
|
|
As well as the functions listed here, applications
|
|
may need to use some facilities provided for
|
|
<link linkend="gtk-Selections">Selections</link>.
|
|
Also, the Drag and Drop API makes use of signals
|
|
in the #GtkWidget class.
|
|
</para>
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
<!-- ##### SECTION Stability_Level ##### -->
|
|
|
|
|
|
<!-- ##### ENUM GtkDestDefaults ##### -->
|
|
<para>
|
|
The #GtkDestDefaults enumeration specifies the various
|
|
types of action that will be taken on behalf
|
|
of the user for a drag destination site.
|
|
</para>
|
|
|
|
@GTK_DEST_DEFAULT_MOTION:
|
|
If set for a widget, GTK+, during a drag over this
|
|
widget will check if the drag matches this widget's
|
|
list of possible targets and actions.
|
|
GTK+ will then call gdk_drag_status() as appropriate.
|
|
@GTK_DEST_DEFAULT_HIGHLIGHT:
|
|
If set for a widget, GTK+ will draw a highlight on
|
|
this widget as long as a drag is over this widget
|
|
and the widget drag format and action are acceptable.
|
|
@GTK_DEST_DEFAULT_DROP:
|
|
If set for a widget, when a drop occurs, GTK+ will
|
|
will check if the drag matches this widget's
|
|
list of possible targets and actions. If so,
|
|
GTK+ will call gtk_drag_get_data() on behalf
|
|
of the widget. Whether or not the drop is successful,
|
|
GTK+ will call gtk_drag_finish(). If the action
|
|
was a move, then if the drag was successful, then
|
|
%TRUE will be passed for the @delete parameter
|
|
to gtk_drag_finish().
|
|
@GTK_DEST_DEFAULT_ALL:
|
|
If set, specifies that all default actions should
|
|
be taken.
|
|
|
|
<!-- ##### ENUM GtkTargetFlags ##### -->
|
|
<para>
|
|
The #GtkTargetFlags enumeration is used to specify
|
|
constraints on an entry in a #GtkTargetTable.
|
|
</para>
|
|
|
|
@GTK_TARGET_SAME_APP:
|
|
If this is set, the target will only be selected
|
|
for drags within a single application.
|
|
@GTK_TARGET_SAME_WIDGET:
|
|
If this is set, the target will only be selected
|
|
for drags within a single widget.
|
|
@GTK_TARGET_OTHER_APP:
|
|
If this is set, the target will not be selected
|
|
for drags within a single application. Since 2.12
|
|
@GTK_TARGET_OTHER_WIDGET:
|
|
If this is set, the target will not be selected
|
|
for drags withing a single widget. Since 2.12
|
|
|
|
<!-- ##### FUNCTION gtk_drag_dest_set ##### -->
|
|
<para>
|
|
</para>
|
|
|
|
@widget:
|
|
@flags:
|
|
@targets:
|
|
@n_targets:
|
|
@actions:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_dest_set_proxy ##### -->
|
|
<para>
|
|
Sets this widget as a proxy for drops to another window.
|
|
</para>
|
|
|
|
@widget: a #GtkWidget
|
|
@proxy_window: the window to which to forward drag events
|
|
@protocol: the drag protocol which the @proxy_window accepts
|
|
(You can use gdk_drag_get_protocol() to determine this)
|
|
@use_coordinates: If %TRUE, send the same coordinates to the
|
|
destination, because it is an embedded
|
|
subwindow.
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_dest_unset ##### -->
|
|
<para>
|
|
Clears information about a drop destination set with
|
|
gtk_drag_dest_set(). The widget will no longer receive
|
|
notification of drags.
|
|
</para>
|
|
|
|
@widget: a #GtkWidget
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_dest_find_target ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
@context:
|
|
@target_list:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_dest_get_target_list ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_dest_set_target_list ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
@target_list:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_dest_add_text_targets ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_dest_add_image_targets ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_dest_add_uri_targets ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_dest_set_track_motion ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
@track_motion:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_dest_get_track_motion ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_finish ##### -->
|
|
<para>
|
|
Informs the drag source that the drop is finished, and
|
|
that the data of the drag will no longer be required.
|
|
</para>
|
|
|
|
@context: the drag context.
|
|
@success: a flag indicating whether the drop was successful
|
|
@del: a flag indicating whether the source should delete the
|
|
original data. (This should be %TRUE for a move)
|
|
@time_: the timestamp from the "drag_data_drop" signal.
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_get_data ##### -->
|
|
<para>
|
|
Gets the data associated with a drag. When the data
|
|
is received or the retrieval fails, GTK+ will emit a
|
|
"drag_data_received" signal. Failure of the retrieval
|
|
is indicated by the length field of the @selection_data
|
|
signal parameter being negative. However, when gtk_drag_get_data()
|
|
is called implicitely because the %GTK_DEST_DEFAULT_DROP was set,
|
|
then the widget will not receive notification of failed
|
|
drops.
|
|
</para>
|
|
|
|
@widget: the widget that will receive the "drag_data_received"
|
|
signal.
|
|
@context: the drag context
|
|
@target: the target (form of the data) to retrieve.
|
|
@time_: a timestamp for retrieving the data. This will
|
|
generally be the time received in a "drag_data_motion"
|
|
or "drag_data_drop" signal.
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_get_source_widget ##### -->
|
|
<para>
|
|
Determines the source widget for a drag.
|
|
</para>
|
|
|
|
@context: a (destination side) drag context.
|
|
@Returns: if the drag is occurring within a single application,
|
|
a pointer to the source widget. Otherwise, %NULL.
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_highlight ##### -->
|
|
<para>
|
|
Draws a highlight around a widget. This will attach
|
|
handlers to "expose_event" and "draw", so the highlight
|
|
will continue to be displayed until gtk_drag_unhighlight()
|
|
is called.
|
|
</para>
|
|
|
|
@widget: a widget to highlight
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_unhighlight ##### -->
|
|
<para>
|
|
Removes a highlight set by gtk_drag_highlight() from
|
|
a widget.
|
|
</para>
|
|
|
|
@widget: a widget to remove the highlight from.
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_begin ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
@targets:
|
|
@actions:
|
|
@button:
|
|
@event:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_set_icon_widget ##### -->
|
|
<para>
|
|
</para>
|
|
|
|
@context:
|
|
@widget:
|
|
@hot_x:
|
|
@hot_y:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_set_icon_pixmap ##### -->
|
|
<para>
|
|
</para>
|
|
|
|
@context:
|
|
@colormap:
|
|
@pixmap:
|
|
@mask:
|
|
@hot_x:
|
|
@hot_y:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_set_icon_pixbuf ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@context:
|
|
@pixbuf:
|
|
@hot_x:
|
|
@hot_y:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_set_icon_stock ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@context:
|
|
@stock_id:
|
|
@hot_x:
|
|
@hot_y:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_set_icon_name ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@context:
|
|
@icon_name:
|
|
@hot_x:
|
|
@hot_y:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_set_icon_default ##### -->
|
|
<para>
|
|
</para>
|
|
|
|
@context:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_set_default_icon ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@colormap:
|
|
@pixmap:
|
|
@mask:
|
|
@hot_x:
|
|
@hot_y:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_check_threshold ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
@start_x:
|
|
@start_y:
|
|
@current_x:
|
|
@current_y:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_source_set ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
@start_button_mask:
|
|
@targets:
|
|
@n_targets:
|
|
@actions:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_source_set_icon ##### -->
|
|
<para>
|
|
</para>
|
|
|
|
@widget:
|
|
@colormap:
|
|
@pixmap:
|
|
@mask:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_source_set_icon_pixbuf ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
@pixbuf:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_source_set_icon_stock ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
@stock_id:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_source_set_icon_name ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
@icon_name:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_source_unset ##### -->
|
|
<para>
|
|
Undoes the effects of gtk_drag_source_set().
|
|
</para>
|
|
|
|
@widget: a #GtkWidget
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_source_set_target_list ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
@target_list:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_source_get_target_list ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
@Returns:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_source_add_text_targets ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_source_add_image_targets ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
|
|
|
|
<!-- ##### FUNCTION gtk_drag_source_add_uri_targets ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
@widget:
|
|
|
|
|