最近做插件项目。主要负责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. 论参数self

    此篇文章仅适用于py3.在py2中,a.fuc(x)中的参数x必须是 类a的实例对象,而py3则可以是任意对象.参考绑定方法和非绑定方法 当一个对象添加了一个方法,并且此方法的第一个参数为self,或 ...

  2. CentOS 无法通过 yum 安装新版 nodejs 解决办法(安装的还是老版的)

    官网安装说明:CentOS 安装 nodejs 第一步: curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo b ...

  3. Linux 定时器应用【转】

    Linux 定时器应用 实验目的 阅读 Linux 相关源代码,学习 Linux 系统中的时钟和定时器原理,即,ITIMER_REAL实时计数,ITIMER_VIRTUAL 统计进程在用户模式执行的时 ...

  4. Linux驱动中completion接口浅析(wait_for_complete例子,很好)

    completion是一种轻量级的机制,它允许一个线程告诉另一个线程工作已经完成.可以利用下面的宏静态创建completion:                          DECLARE_CO ...

  5. Python学习一|anaconda的安装问题以及Python语言的特点

    安装时遇到的问题 安装anaconda3.0到D盘之后,配置好两个环境变量:D:\anaconda和D:\anaconda\Scripts.发现在命令行中执行python指令可以,但conda指令却是 ...

  6. 002_CentOS-6.4-x86_64安装包的说明

    http://mirrors.sohu.com/centos/6.6/isos/x86_64/?qq-pf-to=pcqq.group //souhu镜像下载地址 0_README.txt 25-Oc ...

  7. dataframe 差集

    >>>data_a={'state':[1,1,2],'pop':['a','b','c']}>>>data_b={'state':[1,2,3],'pop':[' ...

  8. MySQL自定义函数和存储过程的区别:

    自定义函数和存储过程的区别: 1)一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强.存储过程,功能强大,可以执行包括修改表等一系列数据库操作:用户定义函数不能用于执行一组修改全局 ...

  9. TCxGrid 把列移上移下。

    T

  10. Spring对象依赖关系处理

    Spring中给对象属性赋值 1.通过set方法给属性注入值 2.p名称空间 3.自动装配 4.注解 编写MVCModel调用userAction MVCModel public class MVCM ...