我有一个Eclipse RCP应用程序,我需要为其创建一个文件浏览器视图。我想传递一个根(本地计算机上的某个位置),视图应该填充该位置的所有文件和文件夹。目前我在我看来使用CNF,
public class CurrDirExplorerView extends CommonNavigator
我已覆盖getInitialInput()
以返回包含目录路径的自定义根对象。我正在使用java.io.File
,因为IResources
已链接到工作区。我创建了一个元素对象,它类似于java.io.File
的包装类,并返回名称等,以支持标签和内容提供者。我的视图显示了我的根对象中指定位置的所有文件夹和文件,但由于它们不是IResources
,当我双击某个文件时,它不会在编辑器中打开。
有没有办法做到这一点?
答案 0 :(得分:2)
CommonNavigator有一个受保护的方法:
protected void handleDoubleClick(DoubleClickEvent anEvent);
不幸的是,它的javadoc说“这种方法仅供内部使用”,但如果没有更好的选择,仍然有用。
其他方式是:getCommonViewer(),它有addDoubleClickListener(),你可以定义自己的逻辑来处理doubleclick。希望这会有所帮助。
答案 1 :(得分:1)
导航器使用全局首选项(参见图片)。如果要预设此首选项,则必须在包OPEN_ON_SINGLE_CLICK
的首选项中设置首选项键(布尔值)org.eclipse.ui.workbench