PDA

View Full Version : RCP中利用扩展点org.eclipse.ui.actionSets创建菜单和工具栏


阿峰哥
13-12-07, 12:13 PM
(开发环境为JDK 1.5+Eclipse 3.3)
RCP中创建菜单和工具栏可以有两种方法:

直接继承Action类,同时也可以实现IAction接口,然后在run()方法中实现主要的逻辑代码
利用扩展点org.eclipse.ui.actionSets第二种方法相比较第一种方法要简单方便很多,故这里解释一下第二种方法。
扩展点org.eclipse.ui.actionSets 显示如下:
http://p.blog.csdn.net/images/p_blog_csdn_net/Snopex/ActionSetMenu.JPG
运行效果如下:
http://p.blog.csdn.net/images/p_blog_csdn_net/Snopex/menu1.JPG
几点说明(参照下图):
http://p.blog.csdn.net/images/p_blog_csdn_net/Snopex/actionDetails.JPG

ActionSet下扩展的menu的最后运行显示结果与编辑时的菜单顺序相反。
由ActionSet下的menu可以扩展separator和groupmaker,主要区别是扩展separator,则在各子菜单间以一分隔线隔开;groupmaker则没。
Action中的menubarPath属性(红色),其值必须以“/”分开,若置空,则不会在其菜单中显示,更甚的是当此Action所在的菜单只有这一个子菜单时,那么这整个菜单都不会显示。
Action中的toolbarpath属性(蓝色),其值为空时将不在工具栏上显示;其值可以是任意字符串,只要值相同则代表了工具栏上具有相似功能的一组按钮,与其它组用分割线隔开。
Action中的class属性(紫色),其值一般不要为空。
作为在工具栏上显示的Action,只是在作为具有相似功能的按钮组内其顺序与编辑时的顺序相反,而其余整体顺序与编辑时相同。