Signaler
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().
Källkomponenten kommer sända ut dessa DragSource-signaler:
drag_begin: Tillhandahåller en Gdk::Drag.
prepare: Ska returnera en Gdk::ContentProvider, med data att använda för dragningen som håller på att börja.
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: Sänds ut på dragkällan när en dragning har misslyckats.
Målkomponenten kommer sända ut dessa DropTarget-signaler:
enter: Tillhandahåller koordinater. Ska returnera föredragen Gdk::DragAction.
motion: Tillhandahåller koordinater. Ska returnera föredragen Gdk::DragAction.
leave: Sänds ut på släpplatsen när pekaren lämnar komponenten.
accept: Tillhandahåller en Gdk::Drop. Du kan anropa status()-metoden för denna Gdk::Drop för att indikera vilka åtgärder som kommer accepteras.
drop: Tillhandahåller de data som släpps och koordinater. Ska returnera en bool som indikerar huruvida släppet accepterades.
Följande signaler anropar endast en signalhanterare när de sänds ut. När du ansluter en hanterare till en sådan signal måste din signalhanterare anropas före (i stället för) standardhanteraren, annars kommer den inte anropas. Ställ in parametern after i connect() till false.
Gtk::DragSource::signal_prepare()
Gtk::DropTarget::signal_enter()
Gtk::DropTarget::signal_motion()
Gtk::DropTarget::signal_accept()
Gtk::DropTarget::signal_drop()