22.2. Свойства D&D

Перетаскиваемые данные имеют следующие свойства:

Типы действий весьма очевидны. gtk.gdk.ACTION_COPY будет обычным перетаскиванием без удаления исходных данных, когда gtk.gdk.ACTION_MOVE будет работать также, как и gtk.gdk.ACTION_COPY, но данные источника будут 'предположительно' удалены после вызова обработчика сигнала recieved. Есть дополнительные типы действия, включающие gtk.gdk.ACTION_LINK, которые вы можете рассмотреть для использования более продвинутых уровней drag and drop.

Специальный клиентский тип более гибкий, потому что ваше приложение будет определять и проверять его самостоятельно. Вам нужно настроить приёмники для получения определённых D&D типов, указанием имени и/или числа. Более надёжным будет использование имени, поскольку другое приложение может использовать такое-же число в другом смысле.

Типы отправленных и полученных данных (selection target) имеют смысл только в ваших обработчиках сигналов request и received data. Термин selection target обманчив. Это термин взятый из выделения GTK+ (вырезать/скопировать и вставить). Selection target на самом деле означает формат данных (например gtk.gdk.Atom, integer, или string), который отправляется или принимается. Ваш обработчик request data должен определять тип (selection target) данных, которые он отправляет, а ваш обработчик recieved data должен обрабатывать тип полученных данных.