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

时间:2011-12-09 13:05:36

标签: java drag-and-drop eclipse-rcp transfer

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

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

有什么想法吗?

1 个答案:

答案 0 :(得分:7)

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

您可以设置ISelection方法中拖动的DragSourceListener.dragStart()

LocalSelectionTransfer.getTransfer().setSelection(selection);

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

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