mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-27 06:00:22 +00:00
Example for setting default action in gtk_drag_dest_set
This commit is contained in:
parent
bb036097c3
commit
26e2c7f398
22
gtk/gtkdnd.c
22
gtk/gtkdnd.c
@ -1239,6 +1239,28 @@ gtk_drag_dest_set_internal (GtkWidget *widget,
|
||||
* and invokations of gtk_drag_finish() in #GtkWidget:drag-data-received.
|
||||
* Especially the later is dramatic, when your own #GtkWidget:drag-motion
|
||||
* handler calls gtk_drag_get_data() to inspect the dragged data.
|
||||
*
|
||||
* There's no way to set a default action here, you can use the
|
||||
* #GtkWidget:drag-motion callback for that. Here's an example which selects
|
||||
* the action to use depending on whether the control key is pressed or not:
|
||||
* |[
|
||||
* static void
|
||||
* drag_motion (GtkWidget *widget,
|
||||
* GdkDragContext *context,
|
||||
* gint x,
|
||||
* gint y,
|
||||
* guint time)
|
||||
* {
|
||||
* GdkModifierType mask;
|
||||
*
|
||||
* gdk_window_get_pointer (gtk_widget_get_window (widget),
|
||||
* NULL, NULL, &mask);
|
||||
* if (mask & GDK_CONTROL_MASK)
|
||||
* gdk_drag_status (context, GDK_ACTION_COPY, time);
|
||||
* else
|
||||
* gdk_drag_status (context, GDK_ACTION_MOVE, time);
|
||||
* }
|
||||
* ]|
|
||||
*/
|
||||
void
|
||||
gtk_drag_dest_set (GtkWidget *widget,
|
||||
|
Loading…
Reference in New Issue
Block a user