现在的位置: 首页 > 综合 > 正文

Eclipse Action

2013年12月21日 ⁄ 综合 ⁄ 共 975字 ⁄ 字号 评论关闭

第六章. Actions

Action,类似于Eclipse中的其他元素,也是通过各种扩展点被定义出来,新的Action能够通过遍布Eclipse框架的扩展点,很容易的添加到Eclipse中。Action的使用遍布Eclipse IDE,包括菜单栏,工具栏和上下文菜单。

 

本章节的内容将通过Favorites插件,展示如果使用Action和Action Set。

6.1. IAction 与 IActionDelegate

 

Action 由很多部分组成,包括在插件装载文件中的XML定义,由Eclipse UI实例化用来表现Action的IAction 对象, 在插件库中定义且包含了执行Action代码的IActionDelegate (参见 图 6-1)。

 

 


图 6-1. Action 与 IActionDelegate

 

IAction 对象, 是被基于插件装载文件的Eclipse用户接口定义并初始化;IActionDelegate 是在插件库中定义,可以在没有装载实际运行的插件的情况下,让Eclipse在菜单或工具栏中表现Action,如果用户选择了菜单或点击按钮,插件才会被装载。这种处理方式表现了Eclipse的理念之一:插件延迟加载。

 

下面是一些IActionDelegate的子类。

 

IActionDelegate2 为Action代理提供了完整生命周期的事件;如果实现了 IActionDelegate接口,还需要额外的信息,比如在Action代理被撤销前什么时候进行清除工作。这时候,可以实现IActionDelegate2 接口。

 

IEditorActionDelegate为关联编辑器的Action代理提供了完整生命周期的事件(参见 6.5.3节, IEditorActionDelegate)。

 

IObjectActionDelegate 为关联上下文菜单的Action代理提供了完整生命周期的事件 (参见 6.3.3节, IObjectActionDelegate)。

 

IViewActionDelegate 为关联视图的Action代理提供了完整生命周期的事件。(参见 6.4.3 节, IViewActionDelegate)。

 

IWorkbenchWindowActionDelegate为关联工作台窗口菜单栏和工具栏的Action代理提供了完整生命周期的事件。

 

抱歉!评论已关闭.