Eclipse插件开发 - 深入理解菜单(Menu)功能及其扩展点 - 编程入门网
最后通过 org.eclipse.ui.handlers 指定命令的实现。因此,Eclipse 推荐新开 发的插件使用 Commands 来创建您的界面菜单。当然,由于 Actions 在现有的插件中用得比较多,如果 我们需要扩展或基于之前的插件开发,也需要对其进行了解。除此之外,针对上下文菜单,虽然 Commands 和 Actions 方式均可以创建上下文菜单,但是 Eclipse 还提供了另外一种创建上下文菜单的 扩展点 org.eclipse.ui.popupMenus(本文简称为 popupMenus 方式),本文将就这三种扩展点做详细的 介绍。
菜单控制 菜单控制是一个非常常见的功能,例如,随着选定的内容或当前窗口的不同,菜单中的菜单项会有相 应的变化(显示 / 隐藏或启用 / 禁用菜单项),因此,如何控制菜单是插件开发人员必须掌握的知识。 Eclipse 为菜单控制提供了两种方法,一种是通过扩展点;另一种是通过 API 的方式编写程序控制。 Eclipse 菜单功能及其扩展点 至此,我们对 Eclipse 菜单有了感观的认识。由上一节我们可知,要深入理解 Eclipse 菜单功能, 我们需要从三个方面去掌握:菜单种类,菜单的扩展点和菜单控制。下面将进行详细讲述。 菜单种类 针对各种菜单,Eclipse 提供了相应的扩展点,因此,开发人员可以通过这些扩展点把菜单放到界面 的不同区域,详细内容请参考 2.2 小节。 菜单的扩展点 视图菜单的扩展点 采用 Commands 方式创建视图菜单,需要引入 org.eclipse.ui.menus 扩展点;而 Actions 方式需要 引入 org.eclipse.ui.actionSets. Eclipse插件开发 - 深入理解菜单(Menu)功能及其扩展点(3)时间:2011-10-22 IBM 敖建旺1、视图菜单(Commands 方式): MenuContribution locationURI = “[Scheme]:[id]?[argument-list]” 其中,Scheme 为该菜单项出现的区域,menu 为视图的下拉菜单,toolbar 为视图的工具栏菜单;id 为菜单区域 ID;argument-list 为该菜单项出现在指定菜单的位置。 例如:在 ProbelmView 的下拉菜单加一个菜单项,其 MenuContribution 的 locationURI 应为: menu:org.eclipse.ui.views.ProblemView?after=additions;在 ProblemView 的工具栏菜单中加入一个 菜单项,其 locationURI 应为:toolbar:org.eclipse.ui.views.ProblemView?after=additions。 2、视图菜单(Actions 方式): 采用 Actions 方式创建菜单,需要引入 org.eclipse.ui.actionSets 扩展点,并通过设定 action 的 menubarPath 指定下拉菜单 / 菜单项出现的位置;通过设定 action 的 toolbarPath 设定工具栏菜 单 / 菜单项出现的位置。 例如,添加一个下拉菜单项到 Problems 视图中,其 menubarPath 应为: org.eclipse.ui.views.ProblemView/additions 主菜单的扩展点 1、主菜单(Commands 方式) 通过 Commands 方式把菜单项添加到主菜单及其工具栏上,和视图菜单一样,也是通过扩展点 org.eclipse.ui.menus 实现,需要设定其 menuContribution 的 locationURI。 例如,添加一个菜单(菜单可以包含若干个菜单项)到主菜单一栏中,其 locationURI 为: menu:org.eclipse.ui.main.menu?after=additions 添加一个菜单到工具栏之中,其 locationURI 为: toolbar:org.eclipse.ui.main.toolbar?after=additions 当然,我们也可以把菜单项添加到已经存在的菜单当中,例如添加一个菜单项到 Eclipse 的 Search 主菜单当中,其 locationURI 为: menu:org.eclipse.search.menu?dialogGroup 2、主菜单(Actions 方式) 通过 Actions 方式把菜单项添加到主菜单及其工具栏上,和视图菜单一样,也是通过扩展点 org.eclipse.ui.actionSets 实现,需要设定 action 的 menubarPath 和 toolbarPath 实现。 例如,添加一个菜单项到 Eclipse 的 Search 主菜单中, |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |