Eclipse插件开发 - 深入理解菜单(Menu)功能及其扩展点 - 编程入门网
求选择的对象实现 IActionFilter 接口,但是,如果开发人员正在使用 gmf 进行开发,那么我们可以不必要求选择的对象 实现 IActionFilter,我们可以通过扩展 org.eclipse.gmf.runtime.common.ui.services.action.actionFilterProviders 对菜单项进行控制,如 下代码清单 15 为扩展该 extension point 的 xml 代码,我们可以定义多个属性(<Attribute> … </Attribute),其中 Attribute 的 name 和 value 对应于 visibility 的 objectState 中的 name 和 value。
清单 15. 通过 actionFilterProviders 扩展点实现对菜单的控制
如下代码清单 16 所示 PopupActionFilterProvider 的实现,它继承 AbstractActionFilterProvider,只需要实现其中的 testAttribute 和 provides 方法,当 testAttribute 返回 true 时,那么该菜单项被启用,否则禁用。其中 target 对应于我们选择的对象, name 和 value 参数对应于 visiblity 中 objectState 的 name 和 value 的指定值 ( 与前面提到的 Person 类中的 testAttribute 方法类似 )。 清单 16. actionFilterProviders 扩展点实现类
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |