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 a Gdk::Drag
.
drag_data_get
: Provides a Gdk::Drag
,
and a Gtk::SelectionData
object, in which you should put the requested data.
drag_end
: Provides a Gdk::Drag
.
The destination widget will emit these signals, in this order:
drag_motion
: Provides a Gdk::Drop
and coordinates.
You can call the status()
method of the Gdk::Drop
to indicate which action will be accepted.
drag_drop
: Provides a Gdk::Drop
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 a Gdk::Drop
,
and a Gtk::SelectionData
object which contains the
dropped data. You should call the finish()
or
failed()
method of the Gdk::Drop
to indicate whether the operation was successful.