Eclipse4 RCP 指南

练习:转换插件为 Eclipse 4 应用程序

目标

在本章中,你将转换前面生成的插件到一个 Eclipse 4 应用程序。

建立一个项目来作为产品配置文件的宿主

通过文件 → 新建 → 其它... → 普通 → 项目建立一个叫做com.example.e4.rcp.todo.product的项目。

建立一个产品配置文件

在项目上右击,然后选择 新建 → 产品配置

com.example.e4.rcp.todo.product 文件夹中建立一个叫做todo.product的产品配置文件。

点击完成按钮,这个文件就建立了,并且在编辑器中打开。

在产品编辑器的Overview标签页中选择 新建...

输入 to-do 作为产品名称,你的插件作为定义的插件,product 作为产品ID,然后在应用程序组合框中选择org.eclipse.e4.ui.workbench.swt.E4Application

配置启动级别

在产品编辑器中切换到配置标签页,点击Add Recommended... 按钮。

如果你是通过 Eclipse IDE 来开发、启动和输出你的产品的话,这一步是不需要的。但是对于命令行构建系统,例如 Maven/Tycho,需要你明确的设置启动级别,因此最好还是配置它们为好。

建立一个 Feature 项目

通过文件 → 新建 → 其它... → 插件开发 → feature 项目 建立一个叫做com.example.e4.rcp.todo.feature 的 feature 项目。

你可以在第一个向导页点击完成按钮。

然后在 feature.xml 文件编辑器中选择 Plug-ins 标签,点击 添加... 按钮,然后包含 com.example.e4.rcp.todo 插件到本 feature。

警告:确保你在Plug-ins标签中加入插件,在本练习题中用 Dependencies标签是错误的。

在产品中输入Feature依赖

打开你的 todo.product 产品文件,然后改变产品配置文件来使用 features。

在产品编辑器的Overview标签中选择 features 选项。

选择 Dependencies 标签,然后通过添加...按钮添加下列的依赖。

  • com.example.e4.rcp.todo.feature
  • org.eclipse.e4.rcp
  • org.eclipse.emf.ecore
  • org.eclipse.emf.common

注意:如果你不能添加上列中的依赖,确保你已经修改你的产品是基于 features 的。

从产品的 features 中删除版本依赖

为了避免org.eclipse.e4.rcp feature不同版本的依赖问题,从你的产品中删除版本号。你可以通过产品配置编辑器中依赖标签中的Properties...按钮来完成。

如果其他 features 有版本依赖,也删除它们。结果应该看起来类似下面的屏幕截图。

建立一个应用程序模型

选择文件 → 新建 → 其它... → Eclipse 4 → 模型 → 新建应用程序模型来打开一个向导来建立应用程序模型文件。

输入你的 com.example.e4.rcp.todo 应用程序插件作为容器,然后用向导建议的文件名。

点击完成按钮,这将在com.example.e4.rcp.todo内建立Application.e4xmi文件,并且打开它。

在应用程序模型中添加窗口

添加一个窗口到你的应用程序模型,这样你才有一个可视组件。

在窗口和对话框节点上右击,然后选择Trimmed Window

输入 ID,位置以及窗口大小,以及一个标签,如下面的截图。

提示,如果你启动然后关闭应用程序,最后的应用程序状态将被框架持久化,并在下次启动的时候恢复。在开发过程中,这个是不受欢迎的特征,在第 16.1 节,在启动时删除持久话用户改变,你将修改你的产品在启动时删除所有的持久化改变。

启动应用程序

打开产品文件,然后选择Overview标签,在测试节点击启动Eclipse应用程序

验证你的应用程序启动了,你应该看到一个空窗口,可以被移动、改变大小、最小化、最大化,以及关闭。