我有一个CommonNavigator视图,无法通过addDrag& Dropsupport方法的传统方式添加拖放支持。 我想通过CommonNavigator从File Systen中删除一些文件。 搜索后我发现,我只需要挂钩dropAgent就可以了。所以我确实喜欢以下 - 点= “org.eclipse.ui.navigator.navigatorContent” >
<navigatorContent
contentProvider="com.infineon.stt.session.explorer.ui.SessionContentProvider"
id="com.infineon.stt.session.explorer.ui.navigatorContent"
labelProvider="com.infineon.stt.session.explorer.ui.SessionLabelProvider"
name="Session Navigation Content">
<dropAssistant
class="com.infineon.stt.session.explorer.ui.ResourceDropAdapterAssistant"
id="org.eclipse.ui.navigator.resources.resourceDropAdapter">
<possibleDropTargets>
<or>
<adapt type="org.eclipse.core.resources.IProject"/>
<adapt type="org.eclipse.core.resources.IFolder"/>
<adapt type="org.eclipse.core.resources.IFile"/>
<adapt type="org.eclipse.core.resources.IWorkspaceRoot"/>
</or>
</possibleDropTargets>
</dropAssistant>
<triggerPoints>
<instanceof
value="com.infineon.stt.session.model.SessionRoot">
</instanceof>
</triggerPoints>
</navigatorContent>
但即使它没有用。 任何使场景有效的建议。 我跟进了这个例子 - https://github.com/aptana/studio3/blob/4cada2cfef2969d11bd62fcce7d630a05b6cab64/plugins/com.aptana.explorer/plugin.xml
答案 0 :(得分:0)
解决方案非常简单。 我犯了一个将拖放限制为特定类型的错误。 要允许任何类型的对象,我只需要将 possibledroptarget 作为对象传递 -
<possibleDropTargets>
<or>
<adapt type="java.lang.Object"/>
</or>
</possibleDropTargets>