RCP中采用actionSet配置菜单的方法总结

最近学习了下如何通过org.eclipse.ui.actionSets来配置RCP中菜单的过程,总结一下。
首先,我们在工程中打开plugin.xml文件,选中Extensions这个选项卡。在org.eclipse.ui.views扩展点下新建一个view,id:com.travelsky.test.menu.view。name:testMenu。点击class创建该类,类名取为:ViewPart。代码如下:

import org.eclipse.swt.widgets.Composite;
public class ViewPart extends org.eclipse.ui.part.ViewPart {
private static final String ID = "com.travelsky.test.menu.view";
//注意,设置其ID
public ViewPart() {
// TODO Auto-generated constructor stub
}
@Override
public void createPartControl(Composite parent) {
// TODO Auto-generated method stub

}
@Override
public void setFocus() {
// TODO Auto-generated method stub
}
}

该创建过程上传附件的[color=red][i]图1:创建一个view[/i][/color]

第二步,打开plugin.xml文件,选中Extensions这个选项卡。
添加扩展点:org.eclipse.ui.actionSets。
添加扩展点:org.eclipse.ui.actionSetPartAssociations。
第三部,
在actionSets扩展点中设置id="com.travelsky.test.menu.actionSet"
在actionSets扩展点中创建一个menu,设置vsible=true,设置ID为id="testMenu"
在menu下创建两个separator,用于对目录进行分组。取名分别为testGroup和testGroup2.
如果不需要分组,可以不用设置。
第四步,
在actionSets扩展点中建立三个action,取名称分别为目录测试1,目录测试3,录测试2。
对于目录测试1:设置其menubarPath为如下格式:
menu.ID/separator.ID
表明其放在menu.ID目录的separator.ID分组下。
这里设置为:menubarPath="testMenu/testGroup"表明在testMemu所在目录的testGroup组下面显示该项action。
同理,设置目录测试2: menubarPath="testMenu/testGroup2"
设置目录测试3:menubarPath="testMenu/testGroup2"
第五步,
在actionSetPartAssociations扩展点中,设置其targetID="com.travelsky.test.menu.actionSet"
在actionSetPartAssociations扩展点中,添加part,设置其id="com.travelsky.test.menu.view"。
以对应之前建立的view,将该菜单内容配置给此com.travelsky.test.menu.view。

好了,配置基本上完成了。此时的配置如附件[i][color=red]图2:配置界面一览[/color][/i]
选中plugin.xml选项卡,会看见生成类似如下代码到其中:
   <extension
point="org.eclipse.ui.actionSets">
<actionSet
id="com.travelsky.test.menu.actionSet"
label="Main"
visible="true">
<menu
id="testMenu"
label="目录测试">
<separator
name="testGroup">
</separator>
<separator
name="testGroup2">
</separator>
</menu>
<action
id="com.travelsky.test.menu.action1"
label="测试目录1"
menubarPath="testMenu/testGroup">
</action>
<action
id="com.travelsky.test.menu.action2"
label="测试目录3"
menubarPath="testMenu/testGroup2">
</action>
<action
id="com.travelsky.test.menu.action3"
label="测试目录2"
menubarPath="testMenu/testGroup2">
</action>
</actionSet>
</extension>

<extension
point="org.eclipse.ui.actionSetPartAssociations">
<actionSetPartAssociation
targetID="com.travelsky.test.menu.actionSet">
<part
id="com.travelsky.test.menu.view">
</part>
</actionSetPartAssociation>
</extension>


最后,将view添加到perspective中。运行测试工程。我们会看见如附件[color=red][i]图3:菜单配置运行效果[/i][/color]所示
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值