1..IWorkbench:
workbench是eclipse用户界面中最底层的对象,它建立在Display之上,包含一个或多个IWorkbenchWindow,用于向终端用户呈现信息
当你的workbench插件被激活的时候,eclipse平台将为之创建一个实例,在平台的整个生命周期中,只允许出现该workbench的唯一实例
2..IWorkbenchWindow
在面提到IWorkbench利用其包含的IWorkbenchWindow向终端用户展现信息
"A workbench window is a top level window in a workbench. "
IWorkbenchWindow通常包含菜单栏,工具栏,状态栏和一个用来显示IWorkbenchPage的主要区域
每个IWorkbenchWindow可以包含一个或多个IWorkbenchPage,但是同一时刻只允许一个IWorkbenchPage被激活并向终端用户显示
3..IWorkbenchPage
IWorkbenchPage的功能就是组织一个或多个IEditorPart或IViewPart显示在一个IWorkbenchWindow中,最终呈现给终端用户
IWorkbenchPage包含一个或多个IEditorPart或IViewPart,这些IEditorPart和IViewPart完全被包含在这个IWorkbenchPage并且不能与其它的IWorkbenchPage共享
IWorkbenchPage上定义的Layout和ActionSet就是我们常说的透视图——perspective了
4..IWorkbenchPart
IWorkbenchPart就是上面提到的IEditorPart和IViewPart,它也只包含这两个子类型,看到这里大家应该明白,我们绝大部分的工作就是基于这个IWorkbenchPart
关于IEditorPart和IViewPart,相信大家应该已经十分了解了
IViewPart常常被用于导航信息的层次结构,例如我们的workspace,或者用来打开一个编辑器,或者用来显示这个编辑器的某些属性
IEditorPart多被用来编辑或浏览一个文档或一个输入的对象,而这个输入的对象必须是一个IEditorInput,IEditorPart遵循的就是打开-保存-关闭的生命周期模型
最后给出IWorkbenchPart的生命周期模型,希望对大家的开发能够有所帮助:
IWorkbenchPart拓展点被创建:
实例化IWorkbenchPart
创建一个IWorkbenchPartSite
调用part.init(site)
IWorkbenchPart成为可见:
调用part.createControl(parent)绘制 IWorkbenchPart
激活partOpened event
IWorkbenchPart被激活或者取得焦点:
调用part.setFocus()
激活partActivated event
IWorkbenchPart被关闭:
如需要保存,完成保存
解除IWorkbenchPart的激活状态
激活partClosed event
从界面上移除IWorkbenchPart
调用part.dispose()
分享到:
相关推荐
代号为X3的C++轻量级通用插件框架平台是一套通用的C++轻量级插件体系,由多个独立插件模块组成。应用程序可以基于X3插件框架进行快速开发,X3插件框架中的插件....\Doc\插件开发帮助.chm .\Doc\插件基础使用说明书.pdf
转载,非常不错。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发...
目录 请直接使用octotree插件,路径...并在这基础上增加python开发爬虫及机器学习等东西构成一个知识推介,问答系统。 2019.02.14 所有资料重新排版,按照内容重新排版。部分文章为转载。代码样例在github上其他仓库。
从NUnit中理解.NET自定义属性的应用(转载) 如何在.NET中实现脚本引擎 (CodeDom篇) .NET的插件机制的简单实现 我对J2EE和.NET的一点理解 难分难舍的DSO(一) InternalsVisibleToAttribute,友元程序集访问属性 ...
基础开发库(jdk\jre\lib\rt.jar) 基础开发库的源码(jdk\src.zip) 一、JDK下载 jdk1.8又称jdk8.0,是目前相对比较稳定的版本,不建议下载最新的jdk版本,因为最新版的jdk不稳定,在Java的学习中可能会出现各种...
注意:本开发包欢迎转载,但是请完整保留该文档及开发包目录结构,谢谢! 【一.开发包组成】 jquery-easyui-1.5.2 │ ├demo:easyui普通网页演示页面代码库(可以从中参考很多组件的用法,是个非常好用的demo库。...
尽量利用基础软硬环境,采用先进的管理系统开发方案从而达到充分利用现有资源,提高系统开发水平 和应用效果的目的 系统应满足老师、同学和相关人员日常使用需要,并达到操作过程中的直观、方便、实用、安全等要求 ...
商业转载请联系作者获得授权,非商业转载请注明出处。 只推荐3个基础库,都是工业级的:1、poco:最朴实无华的c艹基础库,非常易懂,大多数实现初学者看起来毫无压力;功能也非常全面,功能集相当于一个小Qt;目前...
增强版中附带的 MASM32 更新为 10.0,我在其中放了开发驱动的相关文件,安装后即可使用,可以直接开发驱动程序。我还写了一篇《如何配置RasASM来支持你的编译器》的文章放在安装包中,希望能给大家在为 RadASM 配置...
MediPro学校网站系统基于PHP+MYSQL开发,在MediPro文章内容网站的基础上,预设了学校介绍、校园新闻、校园风光、教育教学、党建园地、资源下载、学生天地、互动交流等学校网站常用的二十多个栏目和测试数据,采用...
基础能力强的可以在此基础上修改调整,以实现不同的功能。 从管理员、用户的功能要求出发,家具销售电商平台系统中的功能模块主要是实现管理员;首页、个人中心、家具分类管理、热销家具管理、折扣家具管理、用户...
对于在线动漫信息平台所牵扯的管理及数据保存都是非常多的,例如管理员;首页、个人中心、动漫分类管理、热门动漫管理、文章专栏管理、会员管理、会员分享...基础能力强的可以在此基础上修改调整,以实现不同的功能。
基础能力强的可以在此基础上修改调整,以实现不同的功能。 通过标签分类管理等方式,实现管理员:首页、个人中心、用户管理、早教知识管理、待产经验分享管理、怀孕常识管理、月子食谱管理、好物推荐管理、好物类型...
大家回想我们开发的时候搭建项目工程的时候,配置pom,各种拷贝。每次都这样是不是很麻烦。那么我们能不能整理一个基础项目基础模板出来,就这样adminstore诞生了。adminstore整合了spring,hibernate,shiro,...
Supermap Desktop 2003(地图编辑工具),Supermap IS 2003(GIS服务端),ASP+SQL Server 2000(开发语言和数据库环境),IIS 5.0(WEB服务端),AutodeskExpressViewe3.1(Autodesk公司发布的浏览DWF文件的的客户端插件)等...
1.Configuration.xml 是 mybatis 用来建立 sessionFactory 用的,里面主要包含了数据库连接相关东西,还有 java 类所对应的别名,比如 <typeAlias alias="User" type="com.yihaomen.mybatis.model.User"/> 这个别名...
33、水印缩略图,可按要求等比缩小,可按要求在指定位置加图片或文字水印,提升内容被转载后的宣传机会。 34、两种编辑器选择,可视化编辑器,类似word的所件即所得的在线内容编辑功能,支持表格、图片、FLASH、...
2.然后新建一个Qt Designer Form Class 类,类名为loginDlg,选用Dialog without Buttons,将其加入上面的工程中。文件列表如下: 3.在logindlg.ui 中设计下面的界面:行输入框为Line Edit。其中用户名后面 的输入框...