`

插件开发基础类(转载)

 
阅读更多
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()
分享到:
评论

相关推荐

    C++轻量级通用插件框架源码

    代号为X3的C++轻量级通用插件框架平台是一套通用的C++轻量级插件体系,由多个独立插件模块组成。应用程序可以基于X3插件框架进行快速开发,X3插件框架中的插件....\Doc\插件开发帮助.chm .\Doc\插件基础使用说明书.pdf

    java 基础 值得一看

    转载,非常不错。Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发...

    Note:用来存放各种遇到的问题,需要分类的大问题再重新开仓库

    目录 请直接使用octotree插件,路径...并在这基础上增加python开发爬虫及机器学习等东西构成一个知识推介,问答系统。 2019.02.14 所有资料重新排版,按照内容重新排版。部分文章为转载。代码样例在github上其他仓库。

    asp.net知识库

    从NUnit中理解.NET自定义属性的应用(转载) 如何在.NET中实现脚本引擎 (CodeDom篇) .NET的插件机制的简单实现 我对J2EE和.NET的一点理解 难分难舍的DSO(一) InternalsVisibleToAttribute,友元程序集访问属性 ...

    JDK1.8免安装版本,配置可用

    基础开发库(jdk\jre\lib\rt.jar) 基础开发库的源码(jdk\src.zip) 一、JDK下载 jdk1.8又称jdk8.0,是目前相对比较稳定的版本,不建议下载最新的jdk版本,因为最新版的jdk不稳定,在Java的学习中可能会出现各种...

    jquery-easyui 1.5.2API

    注意:本开发包欢迎转载,但是请完整保留该文档及开发包目录结构,谢谢! 【一.开发包组成】 jquery-easyui-1.5.2 │ ├demo:easyui普通网页演示页面代码库(可以从中参考很多组件的用法,是个非常好用的demo库。...

    基于JSP的毕业设计选题系统的设计与实现(源代码+论文)

    尽量利用基础软硬环境,采用先进的管理系统开发方案从而达到充分利用现有资源,提高系统开发水平 和应用效果的目的 系统应满足老师、同学和相关人员日常使用需要,并达到操作过程中的直观、方便、实用、安全等要求 ...

    练习C++语言的代码仓库.rar

    商业转载请联系作者获得授权,非商业转载请注明出处。 只推荐3个基础库,都是工业级的:1、poco:最朴实无华的c艹基础库,非常易懂,大多数实现初学者看起来毫无压力;功能也非常全面,功能集相当于一个小Qt;目前...

    RadASM 中文汉化版

    增强版中附带的 MASM32 更新为 10.0,我在其中放了开发驱动的相关文件,安装后即可使用,可以直接开发驱动程序。我还写了一篇《如何配置RasASM来支持你的编译器》的文章放在安装包中,希望能给大家在为 RadASM 配置...

    MediPro学校网站系统

    MediPro学校网站系统基于PHP+MYSQL开发,在MediPro文章内容网站的基础上,预设了学校介绍、校园新闻、校园风光、教育教学、党建园地、资源下载、学生天地、互动交流等学校网站常用的二十多个栏目和测试数据,采用...

    25家具销售电商平台springboot框架+ Mysql+Java+Tomcat(可运行源码+数据库+开发文档+lw+PPT)

    基础能力强的可以在此基础上修改调整,以实现不同的功能。 从管理员、用户的功能要求出发,家具销售电商平台系统中的功能模块主要是实现管理员;首页、个人中心、家具分类管理、热销家具管理、折扣家具管理、用户...

    24基于springboot+ Mysql+Java+B/S架构的在线动漫信息平台设计与实现(可运行源码+数据库+开发文档+lw

    对于在线动漫信息平台所牵扯的管理及数据保存都是非常多的,例如管理员;首页、个人中心、动漫分类管理、热门动漫管理、文章专栏管理、会员管理、会员分享...基础能力强的可以在此基础上修改调整,以实现不同的功能。

    20准妈妈孕期交流平台,基于springboot框架+ Mysql+Java+B/S可运行源码+数据库+开发文档+lw+PPT

    基础能力强的可以在此基础上修改调整,以实现不同的功能。 通过标签分类管理等方式,实现管理员:首页、个人中心、用户管理、早教知识管理、待产经验分享管理、怀孕常识管理、月子食谱管理、好物推荐管理、好物类型...

    后台管理系统

    大家回想我们开发的时候搭建项目工程的时候,配置pom,各种拷贝。每次都这样是不是很麻烦。那么我们能不能整理一个基础项目基础模板出来,就这样adminstore诞生了。adminstore整合了spring,hibernate,shiro,...

    一个牛人提供的GIS源码(很好)

    Supermap Desktop 2003(地图编辑工具),Supermap IS 2003(GIS服务端),ASP+SQL Server 2000(开发语言和数据库环境),IIS 5.0(WEB服务端),AutodeskExpressViewe3.1(Autodesk公司发布的浏览DWF文件的的客户端插件)等...

    springmybatis

    1.Configuration.xml 是 mybatis 用来建立 sessionFactory 用的,里面主要包含了数据库连接相关东西,还有 java 类所对应的别名,比如 <typeAlias alias="User" type="com.yihaomen.mybatis.model.User"/> 这个别名...

    最好的asp CMS系统科讯CMSV7.0全功能SQL商业版,KesionCMS V7.0最新商业全能版-免费下载

    33、水印缩略图,可按要求等比缩小,可按要求在指定位置加图片或文字水印,提升内容被转载后的宣传机会。 34、两种编辑器选择,可视化编辑器,类似word的所件即所得的在线内容编辑功能,支持表格、图片、FLASH、...

    Qt Creator 的安装和hello world 程序+其他程序的编写--不是一般的好

    2.然后新建一个Qt Designer Form Class 类,类名为loginDlg,选用Dialog without Buttons,将其加入上面的工程中。文件列表如下: 3.在logindlg.ui 中设计下面的界面:行输入框为Line Edit。其中用户名后面 的输入框...

Global site tag (gtag.js) - Google Analytics