最近做插件项目。主要负责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)的更多相关文章

  1. Python简单爬虫入门三

    我们继续研究BeautifulSoup分类打印输出 Python简单爬虫入门一 Python简单爬虫入门二 前两部主要讲述我们如何用BeautifulSoup怎去抓取网页信息以及获取相应的图片标题等信 ...

  2. Python简单爬虫入门二

    接着上一次爬虫我们继续研究BeautifulSoup Python简单爬虫入门一 上一次我们爬虫我们已经成功的爬下了网页的源代码,那么这一次我们将继续来写怎么抓去具体想要的元素 首先回顾以下我们Bea ...

  3. GJM : Python简单爬虫入门(二) [转载]

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  4. DirectShow 最简单的入门 -- 播放一段视频

    #include <dshow.h> #pragma comment(lib,"strmbase.lib") #pragma comment(lib,"qua ...

  5. echarts之简单的入门——【二】再增加一个柱状图和图例组件

    echarts之简单的入门——[一]做个带时间轴的柱状统计图 现在需求说,我需要知道日答题总次数和活跃人数,那么我们如何在上面的图表中增加一个柱状图呢? 如果你看过简单入门中的配置项手册中series ...

  6. 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 ...

  7. 《从0到1学习Flink》—— Mac 上搭建 Flink 1.6.0 环境并构建运行简单程序入门

    准备工作 1.安装查看 Java 的版本号,推荐使用 Java 8. 安装 Flink 2.在 Mac OS X 上安装 Flink 是非常方便的.推荐通过 homebrew 来安装. brew in ...

  8. MongoDB最简单的入门教程之二 使用nodejs访问MongoDB

    在前一篇教程 MongoDB最简单的入门教程之一 环境搭建 里,我们已经完成了MongoDB的环境搭建. 在localhost:27017的服务器上,在数据库admin下面创建了一个名为person的 ...

  9. MongoDB最简单的入门教程之三 使用Java代码往MongoDB里插入数据

    前两篇教程我们介绍了如何搭建MongoDB的本地环境: MongoDB最简单的入门教程之一 环境搭建 以及如何用nodejs读取MongoDB里的记录: MongoDB最简单的入门教程之二 使用nod ...

随机推荐

  1. 006使用Grafana展示时间序列数据

    简介 Grafana是一个独立运行的系统,内置了Web服务器.它可以基于仪表盘的方式来展示.分析时间序列数据. Grafana支持多种数据源,例如:Graphite.OpenTSDB.InfluxDB ...

  2. springmvc接收jquery提交的数组数据

    var selectedUsers = $('#users').tagbox('getValues'); if (selectedUsers.length > 0) { $.post(appPa ...

  3. vue 数组

    今天项目中发现的一个问题: 在vue项目中输出一个数组,明明有俩个值:0,6,但是length为1 正常的是这样的 结果研究发现,是vue源码的问题,具体内容如下: 转载自:http://www.cn ...

  4. java collection和Iterator

    Collection是描述所有 序列容器的共性的根接口,它可以被认为是一个"附属接口",即因为要表示其他若干个接口的共性而出现的接口,另外,java.uitl.AbstaractC ...

  5. java基础学习总结——GUI编程(二)

    一.事件监听

  6. px、pt、ppi、dpi、dp、sp之间的关系

    http://www.woshipm.com/pmd/176328.html 各自的定义: px:pixel,像素,电子屏幕上组成一幅图画或照片的最基本单元 pt: point,点,印刷行业常用单位, ...

  7. 在win7_64bit + ubuntu-12.04-desktop-amd64+VMware-workstation-full-10.0.1-1379776平台上安装ns-allinone-2.35

    step1.  ns-allinone-2.35的下载地址:http://www.isi.edu/nsnam/ns/ns-build.html#allinone step2.  在虚拟机中打开term ...

  8. hdu 2545 求当前结点到根节点的距离

    求当前结点到根节点的距离 Sample Input 2 1 //n m 1 2 1 2 //询问 5 2 1 2 1 3 3 4 3 5 4 2 //询问 4 5 0 0 Sample Output ...

  9. 事务ACID特性

    所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位.例如,银行转帐工作:从一个帐号扣款并使另一个帐号增款,这两个操作要么都执行,要么都不执行. 数据库事务必须具备 ...

  10. 大数据技术之_16_Scala学习_02_变量

    第二章 变量2.1 变量是程序的基本组成单位2.2 Scala 变量的介绍2.2.1 概念2.2.2 Scala 变量使用的基本步骤2.3 Scala 变量的基本使用2.4 Scala 变量使用说明2 ...