eclipse-rcp - 手动控制 EditorPart 生命周期以将其嵌入 ViewPart

标签 eclipse-rcp eclipse-gmf

我有一个 Eclipse RCP 应用程序,它使用 View 来允许编辑 EMF 资源。资源和 EditingDomain 包含在 Page 输入中。

我们现在正在尝试集成 Eclipse GMF。这会生成一个工作得很好的 DiagramEditor,但在 Eclipse 3 中,它不能与我的应用程序的其他 View 在同一个堆栈中使用。编辑器只能放在 EditorArea 中。

任何人都可以指导我寻求解决方案吗?我看到了多个选项,每个选项都有明显的优点/缺点:

  • 在 IEditorSite 和 IViewSite 之间实现一个转换层,这样我就可以在 View 中加载我的编辑器。这部分工作,但很多 GMF 功能突然丢失。肯定有人以前这样做过;因为我什么也没找到,所以我认为这是不可能的。
  • 将所有 View 实现为 EditorPart。应用程序中只有一个 EditorArea。缺点:需要内部 Workbench API 来布局所有部分 DZone link
  • 生成 GMF View 而不是 GMF 编辑器。这甚至可能在不丢失调色板的情况下实现吗?
  • 最佳答案

    两年前我已经完成了选项#2,根据您的布局要求,这是迄今为止最简单的。

    选项 #1 几乎是不可能的,因为 IViewPart 的部分更大。不能委托(delegate)给子部件的功能。看看多编辑器代码是多么普遍 - 你可以找到 instanceof深入测试 org.eclipse.ui代码。

    选项#3 可能可以完成,但只能通过松开调色板来完成,因为这似乎指的是深层的编辑器内容(至少这是我两年前的笔记中的内容:-))

    关于eclipse-rcp - 手动控制 EditorPart 生命周期以将其嵌入 ViewPart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14275256/

    相关文章:

    java - Eclipse RCP 中的全局变量

    java - EMF/GMF/Papyrus - 设置显式和 ElementImpl - 代码外的属性

    java - 如何让一个 View 听取其他 View 的选择?

    java - 使用片段而不是插件

    Eclipse:Xtext 以及与 Epsilon/GMF/Graphiti 的集成

    eclipse - 在 Eclipse GMF 中以编程方式创建节点

    java - GMF - 以编程方式扩展/折叠隔间

    java - 是否可以在 Eclipse 中跟踪资源只读属性?

    java - 如何自定义 Eclipse 关于对话框的关于文本?

    eclipse - 一旦在 eclipse RCP 中安装了新的插件/功能,是否有任何方法可以自动从磁盘中清除旧的插件/功能?