  
(注:上图是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由对应的管理器来管理:IMenuManager、IToolBarManager、IStatusLineManager和ICoolBarManager 
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接口),使用扩展来创建 
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()方法(此为结束信号)  
 
  |