?? gtkdnd.sgml
字號:
<!-- ##### 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-processcommunication via the drag-and-drop metaphor. GTK+can do drag-and-drop (DND) via multiple protocols.The currently supported protocols are the Xdnd andMotif protocols.As well as the functions listed here, applicationsmay need to use some facilities provided for<link linkend="gtk-Selections">Selections</link>.Also, the Drag and Drop API makes use of signalsin the #GtkWidget class.</para><!-- ##### SECTION See_Also ##### --><para></para><!-- ##### SECTION Stability_Level ##### --><!-- ##### ENUM GtkDestDefaults ##### --><para>The #GtkDestDefaults enumeration specifies the varioustypes of action that will be taken on behalfof 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 specifyconstraints 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.<!-- ##### FUNCTION gtk_drag_dest_set ##### --><para>Sets a widget as a potential drop destination.</para>@widget: a #GtkWidget@flags: the flags that specify what actions GTK+ should take on behalf of a widget for drops onto that widget. The @targets and @actions fields only are used if %GTK_DEST_DEFAULT_MOTION or %GTK_DEST_DEFAULT_DROP are given.@targets: a pointer to an array of #GtkTargetEntry<!-- -->s indicating the drop types that this widget will accept.@n_targets: the number of entries in @targets.@actions: a bitmask of possible actions for a drop onto this widget.<!-- ##### 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 withgtk_drag_dest_set(). The widget will no longer receivenotification 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_finish ##### --><para>Informs the drag source that the drop is finished, andthat 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 datais received or the retrieval fails, GTK+ will emit a "drag_data_received" signal. Failure of the retrievalis indicated by the length field of the @selection_datasignal 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 faileddrops.</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 attachhandlers to "expose_event" and "draw", so the highlightwill 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() froma 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_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>Sets up a widget so that GTK+ will start a dragoperation when the user clicks and drags on thewidget. The widget must have a window.</para>@widget: a #GtkWidget@start_button_mask: the bitmask of buttons that can start the drag@targets: the table of targets that the drag will support@n_targets: the number of items in @targets@actions: the bitmask of possible actions for a drag from this widget.<!-- ##### 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_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:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -