eclipse 3.x RCP代码使用e4
目录
三、 如何在 eclipse3.x 中使用 eclipse4 application model
1、 Eclipse 平台介绍
a) 第一阶段:1.0到2.1版本
- 这个版本的Eclipse主要起到一个集成平台的作用,核心功能是将不同开发人员编写的插件汇集到一起,组成具有一定功能的系统应用。第二阶段:3.x版本
b) 从3.0版本开始,到目前的3.8
- E clipse开始基于OSGI平台构建,将系统应用的开发转移到面向组件和服务的架构中去,模块之间的解耦和性变的更高。
c) 第三阶段:Eclipse4项目
- Eclipse4项目是继Eclipse3.x系列之后的下一代平台版本,平台引入了系统模型的概念,在扩展方式上摒弃了扩展点机制,而是基于系统模型进 行扩展,同时引入依赖注入机制使得组件的复用和测试变的更加灵活。截至目前,E4项目已发布4.2版本,其主体架构与核心API已日趋成熟 。
2 、 Eclipse4 平台
a)
Eclipse4的系统模型是通过EMF来构建的,其元模型封装在org.eclipse.e4.ui.model.workbench这个Bundle里,开发人员可扩展该元模型用以添加新的模型节点或是在现有元模型的基础上添加新的属性信息。
元模型主要定义了以下模型节点信息
,如表1
MApplication |
描述系统工程 |
MWindow |
描述系统工程的一个运行窗口 |
MPerspective |
描述系统透视图 |
MPart |
Part的概念相当于Eclipse3中的View和Edit,Eclipse4中不再有EditArea的概念 |
MDirtyable |
描述Part是否含有未保存的数据 |
MPartDescriptor |
用来描述Part的模版,EPartService可通过该模版来创建Part组件 |
Snippets |
预配置模型的部分信息 |
表1 节点信息
除了这些可视化的UI组件,系统模型还可用来配置Command、Handler等信息,并且所有的这些信息都是可通过依赖注入的方式嵌入到系统应用中去的。
3 、 如何在 eclipse3.x 中使用 eclipse4 application model
a) 默认情况下, e4 会查找 workspace\.metadata\.plugins\org.eclipse.e4.workbench\workbench.xmi
b) 如果查找不到,加载 org.eclipse.ui.workbench 插件中的 LegacyIDE.e4xmi 文件
c) 如果我们需要为基于 eclipse 3.x 的代码提供兼容 e4 的功能,可以把 LegacyIDE.e4xmi 文件放入 product 所在的插件下,更名为 Application.e4xmi 。例如,我们希望在原有的状态栏上添加一个组件,可以在 Trimmed Window 下添加 ,如图 1 、图 2
图1 eclipse界面
- public class StatusBar {
- @PostConstruct
- public void postConstruct(Composite parent) {
- Label label = new Label(parent, SWT.BORDER);
- label.setText("Test");
- }
- }
通过依赖注入,展现如下
图 2 eclispe 界面