работает нормально для вида, но не работает в редакторе. Какая разница?
Разница должна быть в типе перевода :
Напомним, что типы передачи позволяют источникам перетаскивания указывать, какие типы объектов они позволяют перетаскивать из своего виджета, и они позволяют объектам перетаскивания указывать, какие типы объектов они хотят получать.
Для каждого типа передачи существует подкласс org.eclipse.swt.dnd.Transfer
. Эти подклассы реализуют поведение маршалинга, которое преобразует между объектами и байтами, позволяя перетаскивать и переносить между приложениями.
Может быть, список используемого вами типа передачи не совсем совместим с целью (редактор)? См. эту тему , чтобы узнать больше об этом.
Другим важным моментом является правильная настройка TransferDropTargetListener
(как в этой теме ).
Поскольку я еще не полностью протестировал Eclipse DnD, я не могу дать вам больше подробностей по этой теме, но, надеюсь, это даст вам возможность начать собственный анализ.