RCP中采用actionSet配置菜单的方法总结 博客分类: RCP EclipseUIXML
程序员文章站
2024-02-21 18:03:28
...
最近学习了下如何通过org.eclipse.ui.actionSets来配置RCP中菜单的过程,总结一下。
首先,我们在工程中打开plugin.xml文件,选中Extensions这个选项卡。在org.eclipse.ui.views扩展点下新建一个view,id:com.travelsky.test.menu.view。name:testMenu。点击class创建该类,类名取为:ViewPart。代码如下:
该创建过程上传附件的图1:创建一个view
第二步,打开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。
好了,配置基本上完成了。此时的配置如附件图2:配置界面一览
选中plugin.xml选项卡,会看见生成类似如下代码到其中:
最后,将view添加到perspective中。运行测试工程。我们会看见如附件图3:菜单配置运行效果所示
首先,我们在工程中打开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 } }
该创建过程上传附件的图1:创建一个view
第二步,打开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。
好了,配置基本上完成了。此时的配置如附件图2:配置界面一览
选中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中。运行测试工程。我们会看见如附件图3:菜单配置运行效果所示