【问题标题】:Eclipse RCP open view on certain positionEclipse RCP 在某个位置打开视图
【发布时间】:2014-11-05 03:30:32
【问题描述】:

假设我有 A、B、C 三个视图。我如何保证它们总是按给定的顺序打开。目前我有一个问题,如果 B、C 是打开的并且 A 是关闭的,那么在打开 A 之后它会被附加到最后。所以我有 B,C,A 可见。

要打开一个新视图,我使用以下方法:

IWorkbenchPage.showView(viewId, secondardId, IWorkbenchPage.VIEW_ACTIVATE);

这些视图的现有占位符似乎被忽略了。

【问题讨论】:

    标签: eclipse eclipse-plugin eclipse-rcp


    【解决方案1】:

    简短的回答是:不太可能。

    以 IDE 为背景的 Eclipse 工作台让用户可以控制显示哪个部分的方式和位置,并且不让您对工作台部分进行完全的编程控制。虽然我认为此政策非常适合 IDE,但某些 RCP 应用程序可能有理由对其用户进行更多限制。

    但是,您可能会侥幸逃脱并首先关闭所有有问题的视图(如果它们是打开的),然后以所需的顺序打开它们。但这可能会导致闪烁,并且您也可能会在打开的视图中丢失状态(取决于它们保存和恢复状态的完整程度)。

    一个相当激进的方法 - 但它可能从技术 POV 工作 - 是fixed views and/or perspectives

    如果按特定顺序排列这些视图很重要,为什么不将它们合并为一个呢?

    【讨论】:

    • 是的,但是 Eclipse IDE 本身会以某种方式发挥作用?!例如,在左侧面板中,“包资源管理器”视图始终位于“类型层次结构”之前,即位于“JUnit”视图之前,依此类推。此外,即使您移动标签,订单也会被记住。所以我认为这是我可以在我的 Eclipse RCP 应用程序中轻松实现的默认 Eclipse 行为?!
    • 您描述的内容是通过defining entire perspectivescontributing to an existing perspective 实现的。我以为你已经这样做了。但无论如何,这能解决你的问题吗?
    • 我有自己的视角来定义占位符等。但找不到确保 IFolderLayout 中视图顺序的方法。关闭和打开可以解决它,但这并不是我所需要的。
    猜你喜欢
    • 2016-08-07
    • 2014-01-06
    • 2014-07-30
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    相关资源
    最近更新 更多