Los datos de arrastrar tienen las siguientes propiedades:
Tipo de acción de arrastrar (por ejemplo ACTION_COPY
(acción copiar), ACTION_MOVE (acción mover)).
Tipo de arrastrar-y-soltar específico del cliente (un par de nombre y número).
Tipo de formato de los datos enviados y recibidos.
Las acciones de arrastrar son bastante obvias, especifican si el
control puede arrastrar con la/s acción/es especificada/s, por ejemplo
gtk.gdk.ACTION_COPY y/o gtk.gdk.ACTION_MOVE.
Una acción gtk.gdk.ACTION_COPY sería el típico arrastrar y soltar sin
que la fuente se elimine mientras que una acción gtk.gdk.ACTION_MOVE
sería exactamente igual, pero se 'sugiere' que se borren los datos orígen tras la
llamada a la señal de recepción. Hay más acciones como
gtk.gdk.ACTION_LINK que se pueden investigar en cuanto se adquiera
un poco más de destreza con el mecanismo de arrastrar-y-soltar.
El tipo de arrastrar-y-soltar especificado por el cliente es mucho más flexible, porque será la aplicación la que lo defina y compruebe. Se tendrán que configurar los controles destino para que reciban ciertos tipos de arrastrar-y-soltar, especificando un nombre y/o un número. Es más fiable el uso de un nombre ya que otra aplicación puede estar usando el mismo número con un significado completamente diferente.
Los tipos de emisión y recepción de datos (objetivo de
selección) entran en juego sólo en los propios manejadores de datos
solicitados y recibidos. El término objetivo de selección
es un poco confuso. Es un término adaptado de la selección GTK+ (cortar/copiar y
pegar). Lo que selection target realmente significa es el
tipo de formato de datos (por ejemplo gtk.gdk.Atom, entero, o
cadena de caracteres) que se está enviando o recibiendo. El manejador de datos
solicitados tiene que especificar el tipo
(selection target) de datos que está enviando y el
manejador de datos recibidos tiene que manejar el tipo de datos recibidos
(selection target).