DragAndDrop.destSet

Sets a widget as a potential drop destination, and adds default behaviors. The default behaviors listed in flags have an effect similar to installing default handlers for the widget's drag-and-drop signals ("drag-motion", "drag-drop", ...). They all exist for convenience. When passing GTK_DEST_DEFAULT_ALL for instance it is sufficient to connect to the widget's "drag-data-received" signal to get primitive, but consistent drag-and-drop support. Things become more complicated when you try to preview the dragged data, as described in the documentation for "drag-motion". The default behaviors described by flags make some assumptions, that can conflict with your own signal handlers. For instance GTK_DEST_DEFAULT_DROP causes invokations of gdk_drag_status() in the context of "drag-motion", and invokations of gtk_drag_finish() in "drag-data-received". Especially the later is dramatic, when your own "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 "drag-motion" callback for that. Here's an example which selects

Parameters

widget Widget

a GtkWidget

flags GtkDestDefaults

which types of default drag behavior to use

targets GtkTargetEntry*

a pointer to an array of GtkTargetEntrys indicating the drop types that this widget will accept, or NULL. Later you can access the list with gtk_drag_dest_get_target_list() and gtk_drag_dest_find_target(). [allow-none][array length=n_targets]

nTargets int

the number of entries in targets

actions GdkDragAction

a bitmask of possible actions for a drop onto this widget.

Meta