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 ...
随机推荐
- 记关于webpack4下css提取打包去重复的那些事
注意使用vue-cli3(webpack4),默认小于30k不会抽取为公共文件,包括css和js,已测试 经过2天的填坑,现在终于有点成果 环境webpack4.6 + html-webpack-pl ...
- 关于Python IDLE reload(sys)后无法正常执行命令的原因
转载自:http://blog.csdn.net/kxcfzyk/article/details/41414247?utm_source=tuicool&utm_medium=referral ...
- TensorFlow 从零到helloWorld
目录 1.git安装与使用 1.1 git安装 1.2 修改git bash默认路径 1.3 git常用操作 2.环境搭建 2.1 tensorflow安装 2.2 CUDA安装 2.3 ...
- Quartus II 安装教程—FPGA入门教程【钛白Logic】
Quartus II 工具安装一般分为两个部分,首先是开发工具本身的安装,其次就是器件库的安装,我们可以根据我们的需要选择相应的器件库来安装,这里我们使用Cyclone IV的FPGA,即安装Cycl ...
- git merge branch to master
git checkout master git pull git merge testbranch git push
- mysql grep database error(cannot rmdir /dbname)
service mysql stop cd /var/lib/mysql/dbname rm -rf .fmr rm -rf .txt service mysql start srop databas ...
- pymongo创建索引
from database import db db_list = ["table1", "table2", "table3", " ...
- Flask源码解析:Flask上下文
一.上下文(Context) 什么是上下文: 每一段程序都有很多外部变量.只有像Add这种简单的函数才是没有外部变量的.一旦你的一段程序有了外部变量,这段程序就不完整,不能独立运行.你为了使他们运行, ...
- centos7 部署 open-falcon 0.2.0
=============================================== 2019/4/29_第3次修改 ccb_warlock 更新 ...
- kibana提示"[illegal_argument_exception] mapper [hits] cannot be changed from type [long] to [integer]"
=============================================== 2019/1/30_第1次修改 ccb_warlock == ...