Eclipse RCP:Common Navigator - 双击打开文件

时间:2012-03-06 17:25:07

标签: java eclipse eclipse-rcp

我有一个Eclipse RCP应用程序,我需要为其创建一个文件浏览器视图。我想传递一个根(本地计算机上的某个位置),视图应该填充该位置的所有文件和文件夹。目前我在我看来使用CNF,

public class CurrDirExplorerView extends CommonNavigator

我已覆盖getInitialInput()以返回包含目录路径的自定义根对象。我正在使用java.io.File,因为IResources已链接到工作区。我创建了一个元素对象,它类似于java.io.File的包装类,并返回名称等,以支持标签和内容提供者。我的视图显示了我的根对象中指定位置的所有文件夹和文件,但由于它们不是IResources,当我双击某个文件时,它不会在编辑器中打开。

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:2)

CommonNavigator有一个受保护的方法:

protected void handleDoubleClick(DoubleClickEvent anEvent);

不幸的是,它的javadoc说“这种方法仅供内部使用”,但如果没有更好的选择,仍然有用。

其他方式是:getCommonViewer(),它有addDoubleClickListener(),你可以定义自己的逻辑来处理doubleclick。希望这会有所帮助。

答案 1 :(得分:1)

导航器使用全局首选项(参见图片)。如果要预设此首选项,则必须在包OPEN_ON_SINGLE_CLICK的首选项中设置首选项键(布尔值)org.eclipse.ui.workbench

enter image description here