在Eclipse RCP中通过拖放在视图之间传输项目?

我的应用程序中有2个视图。 在其中一个视图中,我可以看到包含自定义元素的TreeStructure(例如MDocument,MVersion ……)。

我希望能够将MVersion类型的项目从我的视图拖到另一个但我不知道如何声明传输类型或检查所选项目是否是受支持的类型。

有任何想法吗?

最简单的方法是使用LocalSelectionTransfer 。 为观众添加拖放支持后……

您设置在DragSourceListener.dragStart()方法中DragSourceListener.dragStart()ISelection

 LocalSelectionTransfer.getTransfer().setSelection(selection); 

DropTargetListener.drop() ,检查是否支持该类型并检索选择:

 if (LocalSelectionTransfer.getTransfer().isSupportedType(event.currentDataType)) ISelection sel = LocalSelectionTransfer.getTransfer().getSelection(); ...