"tkinter.dnd" --- Soporte de arrastrar y soltar
***********************************************

**Código fuente:** Lib/tkinter/dnd.py

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

Nota:

  Esto es experimental y quedará obsoleto cuando se sustituya por el
  Tk DND.

El módulo "tkinter.dnd" proporciona soporte para arrastrar y soltar
objetos dentro de una sola aplicación, dentro de la misma ventana o
entre ventanas. Para permitir que se arrastre un objeto, debe crear un
enlace de evento para él que inicie el proceso de arrastrar y soltar.
Por lo general, vincula un evento ButtonPress a una función de
devolución de llamada que escribe (consulte Enlaces y eventos). La
función debe llamar a "dnd_start()", donde 'fuente' es el objeto que
se va a arrastrar y 'evento' es el evento que invoca la llamada (el
argumento de la función de devolución de llamada).

La selección de un objeto de destino ocurre de la siguiente manera:

1. Búsqueda de arriba hacia abajo del área debajo del mouse para el
   widget de destino

   * El widget de destino debe tener un atributo *dnd_accept*
     invocable

   * Si *dnd_accept* no está presente o devuelve None, la búsqueda se
     mueve al widget principal

   * Si no se encuentra ningún widget de destino, el objeto de destino
     es None

2. Llama a *<old_target>.dnd_leave(source, event)*

3. Llama a *<new_target>.dnd_enter(source, event)*

4. Llama a *<target>.dnd_commit(source, event)* para notificar la
   caída

5. Llama a *<source>.dnd_end(target, event)* para señalar el final de
   arrastrar y soltar

class tkinter.dnd.DndHandler(source, event)

   La clase *DndHandler* maneja los eventos de arrastrar y soltar que
   rastrean los eventos Motion y ButtonRelease en la raíz del widget
   de eventos.

   cancel(event=None)

      Cancela el proceso de arrastrar y soltar.

   finish(event, commit=0)

      Ejecuta el fin de las funciones de arrastrar y soltar.

   on_motion(event)

      Inspecciona el área debajo del mouse en busca de objetos de
      destino mientras se realiza el arrastre.

   on_release(event)

      Señal de fin de arrastre cuando se activa el patrón de
      liberación.

tkinter.dnd.dnd_start(source, event)

   Función de fábrica para el proceso de arrastrar y soltar.

Ver también: Enlaces y eventos
