Eclipse Workbench UI

类别:Java 点击:0 评论:0 推荐:

(注:上图是Eclipse 2.1.x版本的UI的组成分解,Eclipse 3.0.x版本的UI组成和Eclipse 2.1.x一样的,只是界面风格有所变化)

 

1、Workbench(IWorkbench接口)

l         Eclipse平台UI的根对象

l         包括一组Workbench窗口

 

2、Workbench窗口(IWorkbenchWindow接口)

l         Eclipse平台UI中最顶层窗口

l         包括ActionBars 和Workbench页

 

3、ActionBars(IActionBars接口)

l         包括菜单条、工具条(或Cool工具条,IActionBars2接口)和状态条

l         这些ActionBars由对应的管理器来管理:IMenuManagerIToolBarManagerIStatusLineManagerICoolBarManager

l         图中的Short cut bar其实是用于切换Workbench页的工具条

l         IAction接口用来表示可以被用户触发的非UI的命令,通常与按钮、菜单条项目、工具条项目关联

 

4、Workbench页(IWorkbenchPage接口)

l         包括在Workbench窗口显示的一组Workbench部分

l         透视图(Perspectiive)是Workbench页的布局模版,用来布局Workbench页中的Workbench部分

 

5、Workbench部分(IWorkbenchPart接口)

l         有两种类型:视图(IViewPart接口)和编辑器(IEditorPart接口),使用扩展来创建

l         可以有自己私有的ActionBars(其中状态条与父窗口共享),还可以拥有弹出菜单

l         IWorkbenchPartSite接口是Workbench部分和Workbench之间的中间接口,对应视图和编辑器,扩展了IViewSiteIEditorSite接口,用来获得上级容器,如Workbench页、Workbench窗口,以及私有的ActionBars、弹出菜单等

l         Workbench部分内部由SWT小部件组成,使用指定的布局方式进行布局

 

6、Workbench部分的生命周期

(1)Workbench部分创建时

l         实例化Workbench部分

l         创建Workbench部分的site

l         调用part.init(site)方法

(2)Workbench部分在Workbench中可见时

l         调用part.createControl(parent)方法创建实际的SWT小部件

l         触发partOpened事件

(3)Workbench部分被激活或获得焦点时

l         调用part.setFocus()方法

l         触发partActivated事件

(4)Workbench部分关闭时

l         如果需要保存,进行保存;如果失败或取消就返回

l         如果Workbench部分激活状态,则使其非激活

l         触发partClosed事件

l         移去Workbench部分的表示;Workbench部分的控件从SWT小部件树型结构中移除

l         调用part.dispose()方法(此为结束信号)

本文地址:http://com.8s8s.com/it/it14889.htm