`

插件开发基础类(转载)

 
阅读更多
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

    图文配置Silverlight3_0开发环境(转载)

    完成基础环境配置后,可以进一步探索Silverlight 3.0的新特性,如Out-of-Browser(OOB)支持、数据绑定增强、3D图形支持等。此外,可以研究WCF RIA Services和LINQ to SQL,以实现更高效的数据访问和管理。 总之,...

    EclipseRichClientApplication开发自学教程

    以上内容涵盖了Eclipse RCP开发的基础知识,包括RCP的架构、应用程序生命周期、用户界面组件(如菜单、工具栏、视图、编辑器)、对话框、向导、首选项、状态栏、透视图、进度条、第三方JAR文件的使用、产品的配置和...

    jquery 分页 为了收藏纯属转载

    在Web开发中,数据量较大的时候,为了提高用户体验,通常会采用分页的方式来展示信息。jQuery是一个轻量级、功能丰富的JavaScript库,它为实现分页提供了便利。本篇将详细介绍jQuery分页插件的使用及其实现原理。 #...

    ATL_OFFICE_COM

    二、Office COM插件基础 Office应用程序,如Word,支持通过COM接口扩展其功能,开发者可以通过编写COM插件来添加自定义菜单、工具栏按钮、快捷键等。这些插件通常以DLL形式存在,可以在Office应用程序启动时自动加载...

    【转载】去掉jquery menu plugin 的“No back link”

    2. jQuery插件开发:理解插件的结构和工作原理,如何扩展jQuery的功能。 3. JavaScript函数和对象:菜单功能通常通过函数实现,需要理解函数调用和作用域。 4. DOM遍历:熟悉如何在DOM树中移动,如`parent()`, `...

    Servlet和Struts2的交互(转载)

    Servlet作为基础,提供了标准的服务器端编程接口,而Struts2则在此基础上构建了一个更加完善的MVC框架,帮助开发者高效地构建复杂的应用程序。两者结合使用,可以在保持灵活性的同时,提升开发效率和代码质量。

    red5入门,tomcat+red5+myeclipse集成,原创禁止转载

    了解了基础的集成后,你可以进一步学习Red5的API和特性,如如何处理流、如何实现录制和播放、如何与其他服务交互等。同时,通过阅读Red5的源码和参与社区讨论,可以深入理解其工作原理,提升开发能力。 六、注意...

    一米阳光项目转载phpwind668—关于PHP

    1. 官方文档:PHPWind 提供详尽的开发文档和用户手册,是学习的基础资料。 2. 在线教程:各种在线教育平台和编程网站上有大量的PHP和PHPWind教程。 3. 开源社区:参与PHPWind官方论坛或相关技术社区,与其他开发者...

    flash制作的酒店全景(转载)

    一、Flash技术基础 Flash主要由ActionScript编程语言和Flash Player插件组成,允许开发者创建动画、交互式内容、游戏和应用程序。ActionScript是基于ECMAScript的脚本语言,为开发者提供了丰富的功能,如对象导向...

    转载虾敏工具箱,提供一个渠道

    需要注意的是,由于【虾敏工具箱2.0.1】是第三方开发的工具,用户在使用过程中应确保遵循Esri的许可协议,并且可能需要一定的GIS基础和Python编程知识来充分利用其功能。此外,及时更新工具箱到最新版本,可以确保...

    jsr168 portlet(struts2+spring2.5+hibernate3.3)(转载)

    JSR168(Portlet API 1.0)为portlet开发提供了统一的接口和生命周期管理,使得portlet可以在多种portlet容器中运行,如IBM WebSphere或Apache Pluto。 【Struts2框架】Struts2是MVC(Model-View-Controller)设计...

    java编程思想习题及答案

    7. **反射**:掌握Java反射机制,能够动态地获取类的信息并调用其方法,这在插件开发、框架设计等方面有广泛应用。 8. **枚举与注解**:了解枚举类型和注解的使用,它们在代码规范、元数据标注等方面发挥着重要作用...

    obs-multi-rtmp.zip

    描述中提到"obs 多路推流插件 免费 官网转载",意味着这个插件能够扩展OBS的基础功能,使其支持同时向多个RTMP服务器推送直播流,这在需要向多个平台分发内容或进行备份流的情况下非常有用。"免费"和"官网转载"暗示...

    js实现的3d效果(很炫+转载)

    JavaScript,简称JS,是一种广泛用于Web开发的轻量级编程语言,它在浏览器环境中执行,为网页添加交互性和动态功能。本篇文章将深入探讨如何利用JavaScript实现3D效果,这在现代网页设计中是一个非常吸引人的特性。 ...

Global site tag (gtag.js) - Google Analytics