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
- GEF专题训练(一) RCP工程的创建1
- GEF,EMF,RCP,Eclipse's plugin的几个问题(7) 创建自己的选择文件PropertyDescrptor自定义的FileNamePropertyDescriptor
- GEF,EMF,RCP,Eclipse's plugin的几个问题(1) PackageNotFound Exception
- GEF源码分析(三) 模拟GEF设计思路,解剖GEF2 附图:包含GEF的Editor创建时序图
- GEF 创建连线的优化
- GEF源码分析(一) eclipse的GEF相关项目说明
- RCP+GEF+界面开发(1)[eclipse环境配置]
- GEF中拖拽来创建图元的实现(GraphicalEditorWithFlyoutPalette版)
- maven工程的创建(一)
- [专题训练]数论专题1
- GEF、SWT、JFace、RCP学习心得
- GEF原理及实现系列(一、GEF概述)
- 训练指南——数学专题一的总结
- rcp(插件开发)新建自己的工程文件
- 矩阵专题训练1
- GEF的MVC结构(一)模型
- GEF,EMF,RCP,Eclipse's plugin的几个问题(5) RCP Navigator View project name 为空解决办法
- ios PhoneGap的使用(一、工程的创建)
- QT QTbaleView移除网线
- 资源 收藏
- editplus注册码生成器
- 《选择的价值》 -豆瓣评分8.0
- Android 图形系统结构 中/英 (Android Graphic Architecture)
- GEF专题训练(一) RCP工程的创建1
- 蓝桥杯 ALGO-67 算法训练 最大值与最小值的计算
- Spark源码之checkpoint方法解析
- Windows使用方法
- u8g2 SSD1306(I2C) for Z-Stack
- nodejs使用
- 蓝桥杯 ALGO-69 算法训练 字符串逆序
- USACO-Section1.5 pprime
- 蓝桥杯 ALGO-39 算法训练 数组排序去重