【问题标题】:Eclipse 4 RCP How to launch another plug in in a new windowEclipse 4 RCP 如何在新窗口中启动另一个插件
【发布时间】:2016-01-21 16:24:15
【问题描述】:

我有一个需要所有屏幕空间的 e4 RCP。我开发了第二个 RCP,它实际上是一个相对简单的单功能插件,目前只有一个部分。我希望用户能够根据需要启动第二个,然后终止它。

据我了解,我有 3 个选择:

  1. 为第二个启动一个新的工作台,编写为插件。我认为这会使用更多资源,并且还存在我需要跟踪和区分将同时发生的事件的问题。

  2. 将第二个编写为扩展第一个的模型片段插件。这样做的好处是我可以在模型编辑器中通过声明继续添加到第二个插件。但是,我认为这需要附加到主模型中的现有容器。我可以在主模型中添加一个新容器并编写代码来翻转容器,但目前这一切都是在模型编辑器中完成的,更重要的是,第二个插件执行的功能与第一个(主要)RCP,所以我担心用户会发现 UI 更改令人困惑。

  3. 使用 EModelService 并编写代码来创建新的 TrimmedWindow,然后创建子 PartStack、Part 和所有处理程序。我还没有找到足够的文档来完全理解它的含义、优点和缺点——除了以前的声明现在必须编程并且耦合更紧密的明显的那些。

在我看来,Eclipse 本身对它的两个菜单项使用了方法 1:

  • 帮助内容
  • Eclipse 市场

从 UI 的角度来看,我想要实现的那种 UI 的功能分离很像这两个项目。因此,我倾向于选项 1。

有任何更正或替代方案吗?

【问题讨论】:

    标签: eclipse eclipse-rcp


    【解决方案1】:

    您可以使用带有两个透视图的PerspectiveStack,其中包含两个应用程序的窗口。第二个应用可以在模型片段中。

    然后您可以使用EPartService.switchPerspective 在它们之间切换。

    【讨论】:

    • 非常感谢 Greg 的及时回复。第二个实际上要小得多,并且专注于单个功能,所以我认为 Perspective 开关会让用户感到困惑。它是一种主从,符合(我认为)Eclipse 采用的帮助内容和市场的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    • 2014-12-21
    • 2016-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多