欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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。代码如下:

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:菜单配置运行效果所示
  • RCP中采用actionSet配置菜单的方法总结
            
    
    博客分类: RCP EclipseUIXML 
  • 描述: 图1:创建一个view
  • 大小: 66.2 KB
  • RCP中采用actionSet配置菜单的方法总结
            
    
    博客分类: RCP EclipseUIXML 
  • 描述: 图2:配置界面一览
  • 大小: 70.1 KB
  • RCP中采用actionSet配置菜单的方法总结
            
    
    博客分类: RCP EclipseUIXML 
  • 描述: 图3:菜单配置运行效果
  • 大小: 14.5 KB
相关标签: Eclipse UI XML