|
Eclipse Workbench UI(1)
CSdn_net/chenyun2000/47734/o_workbench.gif" align=baseline border=0>
(注:上图是Eclipse 2.1.x版本的UI的组成分解,Eclipse 3.0.x版本的UI组成和Eclipse 2.1.x一样的,只是界面风格有所变化)XML:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 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()方法(此为结束信号)
|