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

Eclipse Action 2

2013年10月26日 ⁄ 综合 ⁄ 共 3127字 ⁄ 字号 评论关闭
 
6.2. 工作台窗口Actions
action出现的位置和时机取决于定义action的扩展点和过滤器。本节将介绍使用如何使用org.eclipse.ui.actionSets 扩展点为工作台菜单栏添加新菜单,为工作台工具栏添加新按钮。 (参见 图 6-1).
当用户选中菜单和按钮时,都会打开Favorites视图。用户可能已经打开了Favorites视图(参见 2.5节, 安装和运行产品),但是,顶级菜单会使用户寻找该视图更加方便。
技巧
顶级菜单是一种很好的向用户展示产品的方法,但是一定要读一下6.2.9节的讨论,在那里阐述了此方法的缺陷。

6.2.1. 定义 工作台窗口菜单
要在工作台菜单栏中构建一个新的菜单,必须要在Favorites插件装载文件中创建一个actionSet扩展。声明这个新菜单的位置和内容,指定执行操作的action代理类。
打开Favorites插件的装载文件编辑器,选择 扩展 Tab页,点击 添加...按钮(参见 图 6-2)。你也可以通过右键菜单打开“新扩展”向导,然后选择 New > Extension... 命令。
6-2. 装载文件编辑器的定义扩展页
 
从所有扩展点中选择 org.eclipse.ui.actionSets (参见 图 6-3)。如果没有找到org.eclipse.ui.actionSets, 取消 只显示需要的插件的扩展点 复选框的选中状态。点击 结束 按钮在插件装载文件中添加此扩展。
6-3. 新扩展向导展示了所有的扩展点
现在,返回到插件装载文件编辑器的扩展页面,右键单击org.eclipse.ui.actionSets 扩展,选择 New > actionSet。这样就会在插件装载文件中添加了新的action集,此action集名为com.qualityeclipse.favorites.-actionSet1。选择在编辑器右侧显示的该action集,按照如下进行修改:
id "com.qualityeclipse.favorites.workbenchActionSet"
用来引用action集的唯一标示符。
label "Favorites ActionSet"
action集在定制透视图对话框中显示的文字。
visible "true"
决定action集最初是否是可见的。用户可以通过选择 窗口 > 定制透视图...,在定制透视图对话框中扩展 其他 类别,选择或取消列出的各种action集,来显示或隐藏action集。
下一步,右键单击刚刚创建的action集,选择 New > Menu ,添加一个将出现在工作台菜单栏上的菜单。要注意的是,新的action集的名字变成了 Favorites ActionSet。 选择新的菜单,设置属性如下 (参见 图 6-4):
id "com.qualityeclipse.favorites.workbenchMenu"
用来引用此菜单的唯一标示符。
label "Fa&vorites"
此菜单显示在工作台菜单栏中显示的名字, "&" 表示键盘可访问性 (参见 6.6.5节, 键盘可访问性)。
path "additions"
插入点表示此菜单将会定位到菜单栏的位置(参见 6.2.5节, 插入点)。
6-4. 扩展页面展示Favorites 菜单的属性
 
6.2.2. 菜单中的组
action并不是被添加到菜单里面,而是添加到菜单的组里面,所以要先定义一些组。右键单击新建的Favorites菜单,选择 New > groupMarker. 选择新建的 groupMarker,把其名字改为"content",好用来唯一的标示Favorites菜单的组。再为Favorites菜单添加第二个组,这次是选择New > separator,名字为"additions"。
分隔组在本组的第一个条目的上面有一条水平线,但是groupMarker没有任何线。附加组不在这里使用,它的存在是为其他插件向本插件的菜单中添加 action 提供便利。
6.2.3. 定义菜单条目和工具栏按钮
最后,要定义显示在Favorites菜单和工作台工具栏中的action。右键单击Favorites Action集,选择New > action。选择新建的action,输入如下值:
id "com.qualityeclipse.favorites.openFavoritesView"
用来引用此action的唯一标示符。
label "Open Favo&rites View"
 
Favorites菜单显示的文字。"&" 表示键盘可访问性 (参见 6.6.5节, 键盘可访问性)。
menubarPath "com.qualityeclipse.favorites.workbenchMenu/content"
插入点表示action显示在菜单中的位置。(参见 6.2.5节, 插入点)。
toolbarPath "Normal/additions"
插入点表示按钮出现在工具栏的位置。(参见 6.2.5节, 插入点)。
tooltip "Open the favorites view in the current workbench page"
当鼠标停在工作台工具栏中action的图标上时,出现的悬浮框文字。
其他属性, 将在随后的章节描述, 它们包括:
allowLabelUpdate 可选属性,表示重复目标action是否允许它的处理者重写它的标签和悬浮框提示。本功能只有在重复目标属性为true的时候有效。
class 用来执行操作的org.eclipse.ui.IWorkbenchWindowActionDelegate 代理在后面会讲到。(参见 6.2.6节, 创建action代理)。 如果指定的是下拉式的风格,类必须要实现org.eclipse.ui.IWorkbenchWindowPulldownDelegate 接口。在初始化的时候,会调用类的无参构造方法,但是可以使用IExecutableExtension接口进行参数化。 (参见 20.5节扩展点类型指定)。
definitionId action的命令标示符,用来为action关联快捷键。(参见 6.6.4节, 为action关联命令)。
disabledIcon 当action无效的时候显示的图标。更详细的信息,参见6.2.4节, Action 图标。
enablesFor 用来表示何时action为有效状态的表达式(参见6.3.2节, Action过滤和使能)。 如果为空, action将总是有效的,除非通过IAction接口编程设置其的状态。
helpContextId 此标示符用来为action关联帮助上下文。(参见 15章, 实现帮助)。
hoverIcon 显示鼠标停在action上而没有点击时的图标。详细信息,参见 6.2.4节, Action 图标。
icon 此action关联的图标。详细信息,参见 6.2.4节, Action 图标。
retarget 一个可选属性,用来重定位此action。如果为true,视图和编辑器使用标准机制为action提供一个处理器,此标准机制使用此action的标示符在视图和编辑器的站点上设置全局action处理器。(参见 8.5.2.2节, 顶层菜单)。 如果此属性为true, class 属性则不应该设置。
state 选择true或者false,将action设定为radio风格或toggle风格。
style 此属性用来定义action的表现形态,可以选择下面的一种:
push 标准菜单或工具栏条目(默认类型)。
radio 单选按钮风格的菜单或工具栏条目,一组此类型条目中同时只有一条可以选中。见state属性。
toggle 可选菜单条目或套索钉条目。见state属性。
pulldown 子菜单或下拉工具栏菜单。见 class 属性。

 

抱歉!评论已关闭.