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>
分享到:
相关推荐
通过`plugin.xml`文件,开发者可以定义菜单项、子菜单、快捷键和工具栏按钮等,以实现特定的功能。`plugin.xml`配置文件是Eclipse插件的核心,它包含了插件的元数据、视图、编辑器、命令、快捷键、菜单和工具栏的...
下面是一个简单的示例,展示如何在RCP应用中创建一个菜单项: ```java IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); IMenuService menuService = (IMenuService)window....
4. **贡献菜单项**:使用`org.eclipse.ui.menus`扩展点,将自定义命令添加到右键菜单中。需要指定命令ID、菜单ID(例如`org.eclipse.ui.navigator.NewMenu`表示Navigator的“新建”菜单)以及菜单位置。 5. **激活和...
在这个“eclipse rcp 菜单小例子”项目中,我们将深入探讨如何在Eclipse RCP应用中创建和配置菜单,以及如何通过`visibleWhen`标签控制菜单项的可见性。 首先,让我们了解Eclipse RCP中的菜单结构。菜单主要分为三...
在Teamcenter RCP菜单开发中,我们会在plugin.xml文件中声明菜单项、子菜单项以及它们之间的关系。例如,可以使用`<menuContribution>`元素来添加新的菜单,使用`<command>`元素定义命令,然后通过`<menu>`和`...
本教程将详细介绍如何通过`org.eclipse.ui.presentationFactories`扩展点来实现这一目标,以及如何去除Editor的右键菜单和关闭按钮,提升用户体验。 透视图是Eclipse RCP中的一个重要概念,它定义了工作台窗口中各...
**RCP(Rich Client Platform)与OSGI详解** **RCP概述** RCP,全称为Rich Client Platform,是由Eclipse基金会开发的一种软件框架,主要用于构建功能丰富的桌面应用程序。RCP提供了一个灵活的基础平台,允许开发者...
在IT领域,特别是软件开发中,RCP(Rich Client Platform)是一种基于Eclipse框架的应用程序开发模型,它允许开发者创建功能丰富的桌面应用程序。RCP弹出日期控件是这种环境中用于用户界面交互的一个重要组件,它...
Eclipse RCP中的命令系统提供了统一的用户操作接口,如菜单项和工具栏按钮。命令可以绑定到快捷键,以提高用户的工作效率。 **七、国际化和本地化** RCP支持多语言环境,开发者可以为应用添加不同语言的资源包,使...
1. 创建菜单和工具栏:通过编程或者使用Eclipse的图形化工具(如Perspective Editor和Action Set Editor)来添加菜单项和工具栏按钮。 2. 绑定事件处理:为菜单项和工具栏按钮关联相应的事件处理器,实现功能逻辑。 ...
- **菜单和工具栏定制**:通过定义菜单项和工具栏按钮,提供直观的用户交互界面。 - **主界面透视图和视图**:透视图是RCP应用程序的主要布局,包含多个视图,用于展示数据或执行特定功能。 - **系统托盘和定时提示*...
在操作和维护方面,RCP-1500系列遥控面板提供了一个详细的菜单系统,包括菜单操作、状态画面、着色菜单、文件菜单、维护菜单和配置菜单等。用户可以通过这些菜单来进行高级的配置和设置,以确保设备的性能达到最佳。...
6. **去除闪屏**:默认情况下,Eclipse RCP应用程序可能会有启动时的闪屏。如果你希望去掉这个闪屏,可以在产品配置的"Overview" -> "Launch Configurations"中取消选中相关选项。 7. **添加闪屏**:如果你想自定义...
2. **利用脚本启动Eclipse**:通过修改后的启动脚本启动Eclipse,可以确保环境变量和依赖项正确设置。 3. **配置Eclipse首选项**:在Eclipse中设置JRE(Java Runtime Environment)和Target Platform,确保使用正确...
RCP(Rich Client Platform)是Eclipse开源框架的一部分,它为构建桌面应用程序提供了一个灵活的平台。RCP在线升级是指在不卸载原有版本的情况下,通过网络更新来安装RCP应用的新版本,以确保用户始终能够使用最新...
RCP应用通常拥有和Eclipse类似的外观与操作体验,例如动态的菜单栏(Menubar)、工具栏(Toolbar)、编辑器(Editor)、视图(View)、工作台窗口(WorkbenchWindow)以及工作区(WorkSpace)等。这些组件共同构成了...
在RCP菜单中的"Event Listener"模式可能是指如何在RCP应用的菜单系统中添加事件监听器,以便当用户执行特定操作时,如点击菜单项,可以触发相应的逻辑处理,例如数据的收集和上传。 在RCP应用中,事件监听是常见的...
品牌化涉及更改默认外观和行为,如修改启动画面、菜单项等;而打包则是将多个插件和必要的资源组合成一个可部署的单元。 ##### Internationalization 国际化是指使应用程序能够适应不同的语言和文化背景的过程。...