"tkinter.dnd" – Prise en charge du glisser-déposer
**************************************************

**Code source :** Lib/tkinter/dnd.py

======================================================================

Note:

  Ceci est expérimental et devrait être obsolète lorsqu'il sera
  remplacé par le *Tk DND*.

Le module "tkinter.dnd" offre une prise en charge du glisser-déposer
d'objets au sein d'une même application, dans la même fenêtre ou entre
les fenêtres. Pour activer le glissement d'un objet, vous devez créer
une liaison d'événements pour celui-ci qui démarre le processus de
glisser-déposer. En règle générale, vous liez un événement
*ButtonPress* à une fonction de rappel que vous écrivez (voir Liaisons
et événements). La fonction doit appeler "dnd_start()", où *source*
est l'objet à faire glisser et *event* est l'événement qui a invoqué
l'appel (l'argument de votre fonction de rappel).

La sélection d'un objet cible se produit comme suit :

1. Recherche descendante de la zone sous la souris pour le widget
   cible

   * Le widget cible doit avoir un attribut appelable *dnd_accept*

   * Si *dnd_accept* n'est pas présent ou renvoie "None", la recherche
     se déplace vers le widget parent

   * Si aucun widget cible n'est trouvé, alors l'objet cible est
     "None"

2. Appel à "<old_target>.dnd_leave(source, event)"

3. Appel à "<new_target>.dnd_enter(source, event)"

4. Appel à "<target>.dnd_commit(source, event)" pour notifier le
   déposer.

5. Appel à "<source>.dnd_end(target, event)" pour signaler la fin du
   glisser-déposer

class tkinter.dnd.DndHandler(source, event)

   La classe *DndHandler* gère les événements de glisser-déposer qui
   suivent les événements *Motion* et *ButtonRelease* à la racine du
   widget d'événement.

   cancel(event=None)

      Annule le processus de glisser-déposer.

   finish(event, commit=0)

      Exécute les fonctions de fin de glisser-déposer.

   on_motion(event)

      Inspecte la zone sous la souris pour les objets cibles pendant
      que le glissement est effectué.

   on_release(event)

      Signale la fin de la traînée lorsque le modèle de relâchement
      est déclenché.

tkinter.dnd.dnd_start(source, event)

   Fonction de fabrique pour le processus de glisser-déposer.

Voir aussi: Liaisons et événements
