When a drop target 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
Gtk::DragSource::set_actions() and
Gtk::DropTarget::set_actions().
The source widget will emit these DragSource signals:
drag_begin: Provides a Gdk::Drag.
prepare: Shall return a Gdk::ContentProvider,
with the data to use for the drag that is about to start.
drag_end: Provides a Gdk::Drag,
and a bool that tells if the drag was performing a move
and the data should be deleted.
drag_cancel: Emitted on the drag source when a drag has failed.
The target widget will emit these DropTarget signals:
enter: Provides coordinates.
Shall return the preferred Gdk::DragAction.
motion: Provides coordinates.
Shall return the preferred Gdk::DragAction.
leave: Emitted on the drop site when the pointer
leaves the widget.
accept: Provides a Gdk::Drop.
You can call the status() method of the
Gdk::Drop to indicate which actions will be accepted.
drop: Provides the data being dropped and coordinates.
Shall return a bool indicating whether the drop was accepted.
The following signals call only one signal handler when emitted. When you connect
a handler to such a signal, your signal handler must be called before (instead of)
the default handler, otherwise it won't be called. Set the after
parameter in connect() to false.
Gtk::DragSource::signal_prepare()
Gtk::DropTarget::signal_enter()
Gtk::DropTarget::signal_motion()
Gtk::DropTarget::signal_accept()
Gtk::DropTarget::signal_drop()