【发布时间】:2016-06-08 17:10:01
【问题描述】:
我想基于透视切换在我的 RCP 应用程序中隐藏一些编辑器。我扩展了“PerspectiveAdapter”类并尝试在覆盖的方法“perspectiveActivated”中使用 IWorkbenchPage.hideEditor(editorReference) 隐藏编辑器。我无法成功。后来当我在eclipse源代码中检查hideEditor实现时,只有一行代码“E4Util.unsupported("hideEditor");”,由此我了解到eclipse不支持在工作台页面中隐藏编辑器。
但是在Eclipse kepler release(http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fui%2FIWorkbenchPage.html)的帮助文档中,hideEditor的功能描述中明确提到了:-
"void hideEditor(IEditorReference 参考) 删除一个打开的编辑器,将它变成一个非参与的编辑器。 未参与的编辑器将不会在打开的编辑器列表中返回 (getEditorReferences()),并且不会在编辑器区域中可见。但是,它将继续参与保存生命周期,并且可能仍会被一些工作台关闭事件关闭。
目前未定义(也不支持)从多个堆栈中隐藏和显示编辑器的行为。
参数: ref - 要删除的编辑器引用。必须是当前打开的属于该页面的编辑器,不能为空。”
谁能帮我弄清楚为什么开普勒帮助文档和实际实现之间存在不匹配。另外,如果有人指导上述问题,我将不胜感激。
【问题讨论】:
标签: java eclipse eclipse-plugin eclipse-rcp rcp