【问题标题】:Hide Editor not working for workbenchpage隐藏编辑器不适用于工作台页面
【发布时间】: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


    【解决方案1】:

    这是在 Eclipse 错误374132 中报告的。 IWorkbenchPage JavaDoc 从未更新,但 hideEditor 不起作用,而且似乎没有任何修复的希望。

    如果您只针对 Eclipse 4,错误 cmets 确实提到了实现相同结果的可能方法。

    【讨论】:

    • 感谢您的及时回复。我的目标不是 Eclipse 4。目前我在兼容模式下工作。是否有可能在 Eclipse3.x 中完成?
    • 我的意思是您使用的是 Eclipse 4.x 版本,而不是 Eclipse 3.8 或更早版本。如果您使用 Eclipse 4 版本之一构建 RCP,您可以将错误中提到的 e4 代码与您的 3.x 兼容代码一起使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-21
    • 1970-01-01
    • 2020-11-26
    • 2019-07-19
    • 2017-04-09
    • 1970-01-01
    相关资源
    最近更新 更多