GEF最简单的入门-helloword(1)
最近做插件项目。主要负责GEF这块。
好吧。资料真少的可以。特别是入门。都是一大堆一大堆的。网上最火的八进制的文章但对于我这种菜鸟级别看了还是一头雾水。各种资料折腾了半天。终于折腾出一个真正的入门例子。啊。亲爱的helloword。
写完之后发现GEF入门难其实就难在他的mvc模式,真够绕的。写个helloword就绕了半天。也难怪老大让我接受这个东西的时候语重心长的说。不是那么容易的。
好吧。开始写这个绕昏了的helloword。
写的很烂。里面很多自己都没弄懂。将就看吧。主要是先把这该死的gef。mvc流程跑一片。
环境搭建就不说了。网上自己找。
第一步。新建插件工程
下一步自己命名文件名字HelloWoldGef
继续下一步师傅选择富客户端。点击no。
下一步创建一个编辑器
继续下一步前三个可以自己命名。注意最后一个FileExtension就是插件编辑器的后缀名
最后点击Finish。工程建立完成。
然后我们看看这个工程。重点是plugin.xml,打开可以看到右边的东西。刚刚我们新建工程时候定义的这个编辑器的属性就配置在这里面。右边的extensions
很明显就是上面提过的扩展名helogef。这里可以自己再次修改。class就是左边的HelloWoldEditor。好吧。至于这个类其他的那一堆东西。我现在也不晓得是啥子。但是要做这个helloworld貌似我不用关系这些。所以。其他让人头大的东西就占时当不存在。
然后这个Extensions文件对应的代码,点开下面的plugin.XML就可以看到了。细节就不说了。我懒得写。
ok。开始伟大的Gef Helloword工程。哎。真麻烦。
因为gef是个让人看的头昏的mvc。所以。嗯。我们按照mvc的模式走。很明显我们需要建立三个包。view。controller,model。view在gef中默认是编辑器
就是上面上的HelloWoldEditor类。嗯。来建立controller跟model包里的类
Model包下一个HelloModel模型类。controller下,一个HelloEditorPart控制类。一个PartFactory工程类。嗯。看着这两个类就晓得为啥子我说这mvc够绕了吧。还要用一个工厂管理。
now。hellowold所需要的类就算全部搞定了。现在我们就要在编辑器包中的HelloWoldEditor等类下面红线里的5个类做工作了、
ok开始写代码。分两篇博客写。看下一篇博客
GEF最简单的入门-helloword(1)的更多相关文章
- Python简单爬虫入门三
我们继续研究BeautifulSoup分类打印输出 Python简单爬虫入门一 Python简单爬虫入门二 前两部主要讲述我们如何用BeautifulSoup怎去抓取网页信息以及获取相应的图片标题等信 ...
- Python简单爬虫入门二
接着上一次爬虫我们继续研究BeautifulSoup Python简单爬虫入门一 上一次我们爬虫我们已经成功的爬下了网页的源代码,那么这一次我们将继续来写怎么抓去具体想要的元素 首先回顾以下我们Bea ...
- GJM : Python简单爬虫入门(二) [转载]
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- DirectShow 最简单的入门 -- 播放一段视频
#include <dshow.h> #pragma comment(lib,"strmbase.lib") #pragma comment(lib,"qua ...
- echarts之简单的入门——【二】再增加一个柱状图和图例组件
echarts之简单的入门——[一]做个带时间轴的柱状统计图 现在需求说,我需要知道日答题总次数和活跃人数,那么我们如何在上面的图表中增加一个柱状图呢? 如果你看过简单入门中的配置项手册中series ...
- C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序
C#中缓存的使用 缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可: <%@ Outp ...
- 《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门
准备工作 1.安装查看 Java 的版本号,推荐使用 Java 8. 安装 Flink 2.在 Mac OS X 上安装 Flink 是非常方便的.推荐通过 homebrew 来安装. brew in ...
- MongoDB最简单的入门教程之二 使用nodejs访问MongoDB
在前一篇教程 MongoDB最简单的入门教程之一 环境搭建 里,我们已经完成了MongoDB的环境搭建. 在localhost:27017的服务器上,在数据库admin下面创建了一个名为person的 ...
- MongoDB最简单的入门教程之三 使用Java代码往MongoDB里插入数据
前两篇教程我们介绍了如何搭建MongoDB的本地环境: MongoDB最简单的入门教程之一 环境搭建 以及如何用nodejs读取MongoDB里的记录: MongoDB最简单的入门教程之二 使用nod ...
随机推荐
- ipython的%matplotlib inline如何改写在Python
ipython notebook中有一个相当方便的语句: %matplotlib inline,可以实现运行cell即出现结果图像.但是如果想写在Python程序内,貌似直接%matplotlib i ...
- Jenkins的安装及使用(一)
操作环境:Windows7 一.环境准备 1 安装JDK 本文采用jdk-8u111-windows-x64.exe: 安装完成后配置环境变量. 2 配置tomcat 本文采用tomcat8,免安装版 ...
- mybatis一对多关联查询——(九)
1.需求: 查询所有订单信息及订单下的订单明细信息. 订单信息与订单明细为一对多关系. 2. sql语句 确定主查询表:订单表 确定关联查询表:订单明细表 在一对一查询基础上添加订单明细表关 ...
- MySQL 5.7在线设置复制过滤【转】
转自 MySQL 5.7在线设置复制过滤 - yayun - 博客园 https://www.cnblogs.com/gomysql/p/4991197.html 5.7也GA了,有许多新的特性,其中 ...
- 解决UnicodeDecodeError: 'ascii' codec can't decode byte 0xcf in position 7: ordinal not in range(128)
在Windows下同时装了Python2和Python3,但是在使用命令给pip更新的时候,出现了以下错误: 解决办法:修改mimetypes.py文件,路径位于python的安装路径下的Lib\mi ...
- python tqdm函数
tqdm是个显示进度条的库.很是方便,还有个tqdm_gui貌似可以显示GUI图像.以后有空再研究. 贴张别人的图,看一下就清楚了.
- Java 基本语法---Java数组
Java 基本语法---Java数组 0. 概述 数组:相同类型的数据 按照顺序 组成的一种 引用数据类型 . 数据类型:基本数据类型 + 引用数据类型: 引用数据类型:类 + 接口 + 数组 : 一 ...
- 线上SQL优化
最近在线上发现很多性能有问题的sql,开发写sql语句的时候,没充分考虑是否用上索引了,所以这个坑得DBA来填,好了,废话不多说,把一些线上的优化经验跟大家分享. 由于是线上的表,所以就不公开具体的表 ...
- C/C++有效对齐值的确定
先来看看什么是对齐.现代计算机中内存空间都是按照字节(byte)划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型 ...
- 富文本编辑器&FileReader
最近在做一个web版的管理Tool,其中包括一个编辑框,要求能够编辑文字,插入图片,最后导出做成一个Html.对于资深人士看来,这很容易啊,不就是一个富文本编辑框吗?这其实就是一个概念的问题,对有经验 ...