LocalSelectionTransfer

LocalSelectionTransfer

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

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

有任何想法吗?

最佳答案

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

您设置在ISelection方法中拖动的DragSourceListener.dragStart():

LocalSelectionTransfer.getTransfer().setSelection(selection);

DropTargetListener.drop()中,检查是否支持该类型并检索选择:
if (LocalSelectionTransfer.getTransfer().isSupportedType(event.currentDataType))
    ISelection sel = LocalSelectionTransfer.getTransfer().getSelection();
    ...

10-04 10:10