Signaux
Quand une destination a accepté un élément glissé, certains signaux vont être émis selon l'action choisie. Par exemple, l'utilisateur peut avoir maintenu enfoncée la touche Maj pour indiquer un déplacement plutôt qu'une copie. Souvenez-vous que l'utilisateur ne peut sélectionner que les actions définies dans vos appels à drag_dest_set() et drag_source_set().
- XVIII.III.I. Copie
- XVIII.III.II. Déplacement
XVIII.III.I. Copie
L'élément graphique source va émettre ces signaux, dans cet ordre :
- drag_begin : fournit un objet DragContext.
- drag_motion : fournit un objet DragContext et les coordonnées. Vous pouvez appeler la fonction membre drag_status() de l'objet DragContext pour faire savoir les cibles acceptées.
- drag_get : fournit un objet info concernant le format des données glissées et une structure GtkSelectionData dans laquelle vous pouvez mettre les données requises.
- drag_drop : fournit un objet DragContext et les coordonnées.
- drag_end : fournit un objet DragContext.
L'élément graphique destination émet ce signal après que l'élément source a émis le signal drag_get :
- drag_data_received : fournit un objet info concernant le format des données glissées et une structure GtkSelectionData contenant les données déposées. Vous pouvez appeller la fonction membre drag_finish() sur l'objet DragContext pour savoir si l'opération a réussi ou non.