【发布时间】:2013-12-07 03:24:40
【问题描述】:
我有一个定义多个透视图的 Eclipse RCP 应用程序。默认透视图允许打开未在IPerspectiveLayout 类中定义的视图(通过showView 方法)。
当切换到另一个视角时,这些视图会消失,因为它们属于默认视图。
有没有办法通过改变视角使这些视图持久化?
【问题讨论】:
我有一个定义多个透视图的 Eclipse RCP 应用程序。默认透视图允许打开未在IPerspectiveLayout 类中定义的视图(通过showView 方法)。
当切换到另一个视角时,这些视图会消失,因为它们属于默认视图。
有没有办法通过改变视角使这些视图持久化?
【问题讨论】:
AFAIK 除了将视图声明为“粘性”之外,在 RCP 中没有其他方法可以做到这一点。但是粘性视图有其局限性,请谨慎使用。
粘性视图是默认出现在所有视图中的视图 窗口打开后的透视图。它的初始位置是 受位置属性支配,但没有什么能阻止它 被用户移动或关闭。使用这个元素只会导致 要创建的视图的占位符,它不会显示视图。 请注意,使用此元素时应非常小心 并且应该只应用于真正需要生存的观点 跨视角。
【讨论】:
视图不会出现在透视图中,除非您定义视图属于此透视图,同时创建透视布局或除非用户使用某些操作在其中打开它。因此,您必须考虑将视图占位符添加到透视布局中,参见org.eclipse.ui.IFolderLayout.addPlaceholder(String viewId) 方法。
【讨论】: