When a drop destination has accepted a dragged item, certain signals will be
emitted, depending on what action has been selected. For instance, the user
might have held down the Shift key to specify a
move
rather than a copy
. Remember that
the user can only select the actions which you have specified in your calls to
drag_dest_set()
and
drag_source_set()
.
The source widget will emit these signals, in this order:
drag_begin
: Provides DragContext.
drag_data_get
: Provides info
about the dragged data format, and a Gtk::SelectionData
structure, in which you should put the requested data.
drag_end
: Provides DragContext.
The destination widget will emit these signals, in this order:
drag_motion
: Provides DragContext and coordinates.
You can call the drag_status()
method of the DragContext
to indicate which action will be accepted.
drag_drop
: Provides DragContext and coordinates.
You can call drag_get_data()
, which triggers the
drag_data_get
signal in the source widget, and then the
drag_data_received
signal in the destination widget.
drag_data_received
: Provides info
about the dragged data format, and a
Gtk::SelectionData
structure which contains the
dropped data. You should call the drag_finish()
method of the DragContext
to indicate whether the
operation was successful.