When you develop a rich client application base on eclipse framework, and your application require eclipse platform feature, you would find that your application has some menu items contributed by eclipse platform. Those menu items are defined by several plug-ins' implementation of actionSet extention point. In fact Eclipse provides an activity mechanism to suppress the extension points which you don't want to use. However, you must know the identification name of extension points which you want to suppress. It's a hard work to find out all of them from dozens of plugins. so, I wrote a utility function to list all the extension points of specified name.
IExtensionRegistry registry = Platform.getExtensionRegistry(); IExtensionPoint extensionPoint = registry.getExtensionPoint("org.eclipse.ui.actionSets"); IExtension[] extensions = extensionPoint.getExtensions(); for(int i = 0; i < extensions.length; i++){ IConfigurationElement elements[] = extensions[i ].getConfigurationElements(); for(int j = 0; j < elements.length; j++){ String pluginId = elements[j].getNamespaceIdentifier(); if(pluginId.indexOf("org.eclipse") > -1){ //$NON-NLS-1$ IConfigurationElement[] subElements = elements[j].getChildren("action"); for(int m = 0; m < subElements.length; m++){ System.out.println("Plugin: " + pluginId + " Id: " + subElements[m].getAttribute("id")); } } } } and the follow snippet is about the activities of menus of eclipse platform:
<extension point="org.eclipse.ui.activities"> <activity id="activity.platform" name="hidePlatformMenus"/> <activityPatternBinding activityId="activity.platform" pattern="org\.eclipse\.platform/org\.eclipse\.ui\.cheatsheets\.actions\.CheatSheetHelpMenuAction"/> <activity id="activity.search" name="hideSearchMenus"/> <activityPatternBinding activityId="activity.search" pattern="org\.eclipse\.search/org\.eclipse\.search\..*"/> <activity id="activity.ide" name="hideIDEMenus"> </activity> <activityPatternBinding activityId="activity.ide" pattern="org\.eclipse\.ui\.ide/org\.eclipse\.ui\.actions\.showKeyAssistHandler"> </activityPatternBinding> <activityPatternBinding activityId="activity.ide" pattern="org\.eclipse\.ui\.ide/org\.eclipse\.update\.ui\..*"> </activityPatternBinding> <activity id="activity.editor" name="hideEditorMenus"> </activity> <activityPatternBinding activityId="activity.editor" pattern="org\.eclipse\.ui\.editors/org\.eclipse\.ui\.edit\.text\.openExternalFile"> </activityPatternBinding> <activityPatternBinding activityId="activity.editor" pattern="org\.eclipse\.ui\.editors/org\.eclipse\.ui\.edit\.text\.delimiter\..*"> </activityPatternBinding> <activity id="activity.externaltool" name="hideExternaltoolMenus"> </activity> <activityPatternBinding activityId="activity.externaltool" pattern="org\.eclipse\.ui\.externaltools/org\.eclipse\.ui\.externaltools\.ExternalToolMenuDelegateMenu"> </activityPatternBinding> </extension>
分享到:
相关推荐
RCP的Navigator例子源代码(包括修改默认的new右键菜单)
看完此文后您将能够创建一个由选择内容指定弹出项的动态菜单。 setp1.创建一个rcp工程,模板使用有一个view的 step2.创建popupMenu step2_1.新建类Action1: step2_2.添加扩展点: 好的step2已经结束了,现在...
RCP 菜单与工具栏小结
RCP&OSGI;
代码demo和ppt介绍;用org.eclipse.ui.presentationFactories扩展点RCP自定义透视图切换按钮的右键菜单,去除Editor的右键菜单和关闭按钮;
eclipse rcp project,主要是配置菜单, 编码生成菜单。与RCP 学习里面的内容对应。
RCP在线升级RCP在线升级RCP在线升级RCP在线升级RCP在线升级
Teamcenter软件RCP端右键菜单开发,工具栏菜单开发,代码为plugin.xml的配置。
RCP系统使用的弹出式日期控件,可切换上月下月,前一年后一年,可选择年、月
将涉及以下内容:创建第一个RCP程序,创建菜单和工具栏,查看,编辑,对话,外部JAR的用法,向一个RCP应用程序产品中添加标志和帮助。每一章都基本独立于其他章节。欢迎访问我的网站——www.xeclipse.com。
clipse RCP允许开发者使用eclipse结构风格设计...将涉及以下内容:创建第一个RCP程序,创建菜单和工具栏,查看,编辑,对话,外部JAR的用法,向一个RCP应用程序产品中添加标志和帮助。 每一章可能都基本独立于其他章节
Teamcenter软件RCP端一、二级主菜单开发,文件菜单下的二级菜单开发,代码为plugin.xml的配置。
RCP导出EXE 老大难问题。 RCp 程序导出步骤,保证能够导出~
任何优秀的软件都离不开快捷键功能,如Ctrl+C复制,Ctrl+V粘贴,F5刷新,此文讲述了自定义的Action(不是Command),如何绑定快捷键的方法。此方法进本人亲自试验,绝对可行。
有关rcp的内容 是rcp入门的好帮手,rcp自学的好帮手
RCP 常见的扩展点指南 RCP最精华的部分之一,详细分析了RCP如何建立扩展点的。
Eclipse RCP开发教程,RCP入门教程,教你如何使用SWT Eclipse RCP开发教程,RCP入门教程,教你如何使用SWT Eclipse RCP开发教程,RCP入门教程,教你如何使用SWT Eclipse RCP开发教程,RCP入门教程,教你如何使用SWT
RCP项目的登录窗体RCP项目的登录窗体RCP项目的登录窗体RCP项目的登录窗体
Eclipse RCP富客户端平台,基于Eclipse开发的。
1.2.Eclipse RCP 建设风格——插件,扩展和扩展点 1 2.创建你的第一个RCP程序 1 2.1.创建一个RCP程序 2 2.2.启动你的RCP程序 5 2.3.应用程序VS 产品 6 3.应用程序里的插件ID 7 4.Actions的用法(菜单和...