GEF专题训练(一) RCP工程的创建1

来源:互联网 发布:藏族演出服淘宝网 编辑:程序博客网 时间:2024/05/22 16:11

在开始进入GEF开发前,我们需要先到官网下载GEF的一个插件,本人试着用以前没有安装该插件的eclipse开发时在创建RCP时会遇到无法创建的问题,当我换到下载的插件中去时,该问题就解决了,所以我们先从安装插件开始,一步步的进入GEF的世界吧。

首先登录到eclipse官网中的插件页面:https://www.eclipse.org/downloads/eclipse-packages/,下载Eclipse Modeling Tools.如下图:

 

下载完成后,打开下载的插件eclipse,就可以开始我们的GEF旅程了,进入正题,因为我们是将GEF创建在RCP上,所以我们的第一步RCP工程的创建:


首先创建工程,选择Plug-in Project



Project name为 gef.zhengyunh



在would you client那里选择 yes



选择RCP 3.x application(minimal),然后Finish




完成上述步骤后,我们的RCP工程就创建好,现在需要的是配置RCP



设置plug-in工程的依赖(Dependability)

因为是GEF,所以我们需要为这个工程加上org.eclipse.gef 。打开工程中的plugin.xml文件,在denpendencies中点击add,并找到org.eclipse.gef,点击ok



创建Editor

 配置好后,就开始创建我们的editor了,大多的程序都是把GEF的图形画在Editor上,Editor是从EditorPart中派生来的,提供了很多的功能,后面我们会一一的去了解

下面开始生成Editor,如下图,在plugin.xml的extension页面中,点击add ,在里面找到org.eclipse.ui.editors.然后点击finish,就可以看到了:



添加好后,右键点击org.eclipse.ui.editors,选择New-->editor(这里没有下载前面插件的同学,可能就没有edtitor这个选项,这个时候不妨下载插件后再按上述步骤试试),就能看到下图:




看到这个页面后,我们需要修改下里面的一些内容(id,name,icon(这里是图标,我就随便用的一个,大家可以去网上下载)),修改后结果如下:



完成上述步骤后,就要开始我们的代码编写了,首先来介绍一下一个基本的GEF工程的结构,一个最最基本的GEF工程需要包括三部分即:模型、控制器和视图。所以在我们的src我们要建立三个包,其中gef.zhengyh.step.model包中是包含了和模型相关的类(有丢丢像javabean);gef.zhengyh.step.parts包中放置的和控制器相关的类(也就是对我们的一些情况的处理);gef.zhengyh.step.ui包中则是和视图相关的类,我们上面创建的视图editor就是在这个包中得到反映:



    下面我们首先来处理ui包中的Eclipse的editor插件,如果你继续往后面学习,你会发现我们大部分的工作都是在editor里写代码。
因为editor是从org.eclipse.ui.part.EditorPart中派生来的,因此我们上面创建的DiagranEdit类也是从该类的子类org.eclipse.ui.parts.GraphicalEditor中派生而来。Gra类可以帮助我们创建显示视图的viewer。

 我们生成的DiagramEditor是放在gef.zhengyh.step.ui包中的,代码如下图所示:

package gef.zhengyh.step.ui;import org.eclipse.core.runtime.IProgressMonitor;import org.eclipse.gef.ui.parts.GraphicalEditor;public class DiagramEditor extends GraphicalEditor{//editor's IDpublic static final String Id="gef.zhengyh.step.ui.DiagramEditor";@Overrideprotected void initializeGraphicalViewer() {// TODO Auto-generated method stub}@Overridepublic void doSave(IProgressMonitor monitor) {// TODO Auto-generated method stub}@Overridepublic void doSaveAs() {// TODO Auto-generated method stubsuper.doSaveAs();}@Overridepublic boolean isSaveAsAllowed() {// TODO Auto-generated method stubreturn super.isSaveAsAllowed();}}

现在要帮我们用代码创建的DiagramEdit类和前面我们创建的name为“Diagram Editor”的Editor结合起来,还是在piugin.xml文件的Extensions页面中,在class哪一项中找到我们的DiagramEditor类,如下:



 下面就是如何去显示这个DiagramEditor了把,大家平时使用的这种框图页面,都会有个菜单去操作,所以我们下面将开始给这个工程添加菜单,期待大家继续关注我的   GEF专题训练(一) RCP工程的创建2
阅读全文
0 0
原创粉丝点击