目录
如果想,请阅读此文。
1、一图释义
笔者在上一篇原创文章中提到Eclipse RCP中涉及的常见概念,分别是Application,Workbench,WorkbenchWindow,ActionBar和Perspective。很多读者反映,即使认真读完这些名词的解释也是一脸懵,不知道该如何理解。那么,笔者精心准备了一张图,希望对读者掌握这些概念有帮助。
2、答疑解惑
在前文中,笔者曾经留下彩蛋,红框中的View界面是怎么出现在Eclipse RCP应用中呢?
最后,读者可能有疑问,在createInitialLayout()中并没有设置页面的代码,那为什么hellobeijing项目运行后,怎么会有一个用红框圈出的“View”页面呢?笔者将在后续贴文中为读者解密。
汽车基础软件,公众号:汽车基础软件一张图解密Vector Davinci Configurator启动流程
在本文中,笔者将继续以hellobeijing项目为例,详细解答设计思路。
首先,在“项目浏览”栏找到plugin.xml文件,并点击"Extensions"标签。可以看到,“View”界面是“org.eclipse.ui.views”扩展的元素,并且class属性对应的是包com.basicsw.hellobeijing中的View.java文件。
然后,在Src文件夹中打开View.java文件。View类继承自ViewPart抽象类,需重写两个抽象方法createPartControl()和setFocus()。其中,createPartControl()用于创建View界面中的控件。setFocus()用户在创建完成后设置默认的焦点状态。
在View.java中,createPartControl()新建了表格控件TableViewer实例,并且往表格的每一行填充了图片元素和数据元素;setFocus()设置表格控件获取焦点。
最后,在“org.eclipse.ui.perspectiveExtensions”扩展中设置“View”界面的显示位置。
这样,无需在Perspective.java中手写任何代码,就能在Eclipse RCP应用中定制新的界面,是不是非常神奇?!
3、延伸和拓展
为了加深对本文提到的两个扩展的理解,笔者在hellobeijing项目中自定义一个TestView界面,效果展示如下。读者可以自行尝试修改hellobeijing项目的配置和源码。如果读者尝试不成功,请关注公众号后留言,将有专人为您解答。
4、回味和预告
什么是模块化和动态化?什么是插件?什么是即插即用?回味本文中用鼠标点点点就能创建界面,是不是加深了对这些概念的理解?所有这些,其实依赖于Eclipse RCP平台中的OSGi(Open Service gateway initactive)框架。
至此,可能有读者疑问:在Eclipse RCP中自定义插件后,怎么打包、发布和部署插件,尤其是安装在Davinci Configurator中?如需进一步了解,敬请关注公众号。
5、总结
为积极响应Eclipse软件定义汽车工作组倡导的开源精神,考虑到在中文语法环境中Eclipse RCP平台的开发资料极度稀缺,汽车基础软件公众号陆续发布一系列的原创文章,深入介绍基于Eclipse RCP平台的汽车工具链软件开发方法,敬请关注微信公众号以获取更多精彩内容。