Eclipse Action 2

 
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 属性。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值