快速业务通道

Eclipse插件开发 - 深入理解菜单(Menu)功能及其扩展点 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
t;   </extension>

Eclipse插件开发 - 深入理解菜单(Menu)功能及其扩展点(10)

时间:2011-10-22 IBM 敖建旺

pupupMenus 方式创建 Action 并关联到 IResource 资源的上下文菜单

扩展 org.eclipse.ui.popupMenus 创建菜单“Menu Example”,该菜单包含一个菜单项 HelloAction 。当我们在 Eclipse 任何区域右击 org.eclipse.core.resources.IResource 资源时弹出的上下文菜单 中会出现“Menu Example”菜单。如下代码清单 11 为创建该上下文菜单的 xml 代码。

清单 11. popupMenus 方式创建上下文菜单

<extension     point="org.eclipse.ui.popupMenus">    <objectContribution       adaptable="true"       id="com.free.menu.popupMenu"       objectClass="org.eclipse.core.resources.IResource">     <menu        label="Menu Example"        path="additions"        id="com.free.menu.popupSubMenu">       <separator          name="additions">       </separator>     </menu>     <action        label="Hello Action"        class="com.free.menu.popup.actions.HelloAction"        menubarPath="com.free.menu.popupSubMenu/additions"        enablesFor="1"        id="com.free.menu.newAction">     </action>    </objectContribution>   </extension>

pupupMenus 方式创建 Action 并关联到 IResource 资源的上下文菜单

扩展 org.eclipse.ui.popupMenus 创建菜单项 GreetAction 和 CryAction,当我们右击 Menu Example 视图中的 TreeViewer 节点时弹出。如下代码清单 12 所示扩展 org.eclipse.ui.popupMenus 为 Menu Example 视图创建 GreetAction 和 CryAction 上下文菜单项。使用 visiblity 的 objectState 属性控制菜单项的可见状态,使用该属性要求其选择的对象实现了 org.eclipse.ui.IActionFilter 接口,具体可参见 Person 类的实现。

清单 12. 扩展 org.eclipse.ui.popupMenus 创建菜单

<extension     point="org.eclipse.ui.popupMenus">    <objectContribution       adaptable="false"       id="com.free.menu.views.popupMenu"       objectClass="com.free.menu.model.Person">     <action        class="com.free.menu.actions.GreetAction"        enablesFor="+"        id="com.free.menu.actions.greetAction"        label="Greet Action"        menubarPath="additions">     </action>     <visibility>       <objectState          name="firstName"          value="Dan">       </objectState>     </visibility>    </objectContribution>   </extension>   <extension     point="org.eclipse.ui.popupMenus">    <objectContribution       adaptable="false"       id="com.free.menu.views.popupMenu2"       objectClass="com.free.menu.model.Person&

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号