【原创】实现菜单工具栏(十九)

  在讲解插件入门时,读者了解到如何用向导开发一个“Hello, world”插件。“Hello, world”插件用到的扩展点就是“org.eclipse.ui.actionSets”。在此就是要通过“org.eclipse.ui. actionSets”扩展点建立用户的菜单和工具栏。

  “actionSets”扩展点信息

  在Eclipse中,通过“org.eclipse.ui.actionSets”扩展点能够建立自己的菜单和工具栏。实现ActionSet扩展点的步骤如下。

  1. 在插件清单文件的Extensions页上添加“org.eclipse.ui.actionSets”节点。

  2. 在“org.eclipse.ui.actionSets”节点下添加ActionSet子节点。

  3. 在ActionSet节点下添加menu和action子节点,如图1所示。

  13081368_200807090911321.jpg

图1 ActionSets扩展点

  menu节点代表Eclipse的菜单项,menu节点的属性设置如下。

  l id:sampleMenu,id表示menu的编号。

  l label:Sample &Menu,label表示在菜单中的显示名称。

  action节点代表菜单的菜单项或工具栏中按钮的相应动作,action节点的属性设置如下。

  l id:com.free.proj.actionset.actions.SampleAction,代表Action的唯一编号。

  l label:&Sample Action,Action的名称。

  l menuBarPath:sampleMenu/sampleGroup,表示Action对应菜单的路径。

  l toolbarPath:sampleGroup,表示Action对应工具栏按钮的路径。

  l icon:icons/sample.gif,表示Action对应的图标。

  l tooltip:Action的提示信息。

  l class:com.free.proj.actionset.actions.SampleAction,指定Action的实现类。

  plugin.xml文件如例程1所示。

  例程1 plugin.xml

            point="org.eclipse.ui.actionSets">
                  label="Sample Action Set"
            visible="true"
            id="com.free.proj.actionset.actionSet">
        


                        label="&Sample Action"
               icon="icons/sample.gif"
               class="com.free.proj.actionset.actions.SampleAction"
               tooltip="ActionSet Test"
               menubarPath="sampleMenu/sampleGroup"
               toolbarPath="sampleGroup"
               id="com.free.proj.actionset.actions.SampleAction">
        
     
  

  实现类“SampleAction”

  从plugin.xml文件可以看出Action对应的实现类为SampleAction。SampleAction实现了IWorkbenchWindowActionDelegate接口,其中run(IAction action)方法为用户单击菜单或工具栏按钮时的响应方法,SampleAction代码如例程2所示。

  例程2 SampleAction.java

  public class SampleAction implements IWorkbenchWindowActionDelegate {

  private IWorkbenchWindow window;

  public SampleAction() {

  }

  public void run(IAction action) {

  MessageDialog.openInformation(

  window.getShell(),

  "Actionset Plug-in",

  "ActionSet Test");

  }

  public void selectionChanged(IAction action, ISelection selection) {

  }

  public void dispose() {

  }

  public void init(IWorkbenchWindow window) {

  this.window = window;

  }

  }

  上例中,通过run方法响应用户单击菜单和工具栏的请求。在Eclipse中,Action是可以被菜单和工具栏所复用的。

  下载(com.free.proj.actionset.rar)

fj.pngimage001.jpg

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13081368/viewspace-374645/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/13081368/viewspace-374645/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值