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

sch*_*ona 4 java drag-and-drop eclipse-rcp transfer

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

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

有任何想法吗?

Mar*_*rik 7

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

您设置ISelectionDragSourceListener.dragStart()方法中拖动的:

LocalSelectionTransfer.getTransfer().setSelection(selection);
Run Code Online (Sandbox Code Playgroud)

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

if (LocalSelectionTransfer.getTransfer().isSupportedType(event.currentDataType))
    ISelection sel = LocalSelectionTransfer.getTransfer().getSelection();
    ...
Run Code Online (Sandbox Code Playgroud)