EclipseRCP开发(三)-如何去除顽固原生菜单项

server/2024/9/24 6:38:34/

去除new-project及other菜单


获取所有菜单项,筛选出new菜单,将new菜单清空,再重新从已注册的向导中添加所需菜单。记录之。

if ("new".equals(ii.getId())) {MenuManager newMenu = (MenuManager) ii;// 清除现有的所有子项newMenu.removeAll();// 手动填充 New Wizard 项目fillNewWizardMenu(newMenu, window);
}private void fillNewWizardMenu(MenuManager newMenu, IWorkbenchWindow window) {// 获取已注册的所有 New WizardIWizardRegistry wizardRegistry = PlatformUI.getWorkbench().getNewWizardRegistry();IWizardCategory[] categories = wizardRegistry.getRootCategory().getCategories();// 遍历每个分类中的向导New4diacProjectWizardfor (IWizardCategory category : categories) {//筛选自定义的导航类if(!category.getId().contains("xxxxx")) {continue;}for (IWizardDescriptor wizard : wizards) {if (wizard.getId().contains("xxxx")) {Action action = new Action(wizard.getLabel()) {@Overridepublic void run() {try {// 打开向导IWizard newWizard = wizard.createWizard();WizardDialog wizardDialog = new WizardDialog(window.getShell(), newWizard);wizardDialog.open();} catch (Exception e) {e.printStackTrace();}}};// 设置向导的图标ImageDescriptor imageDescriptor = wizard.getImageDescriptor();if (imageDescriptor != null) {action.setImageDescriptor(imageDescriptor);}// 添加向导项到 New 菜单newMenu.add(action);}}}}

http://www.ppmy.cn/server/119121.html

相关文章

切换淘宝最新镜像源:优化NPM包管理的极致体验

在NPM生态系统中,快速、安全地获取所需的包是每个前端工程师追求的目标。然而,由于不同地区的网络环境,直接通过官方NPM仓库获取包可能会导致下载速度缓慢、超时等问题。针对这些情况,淘宝团队提供了优秀的NPM镜像源,并…

Spring 框架——@Async 注解

目录 1.同步调用与异步调用1.1.同步调用1.2.异步调用1.3.总结 2.注解 Async 介绍2.1.用在方法上2.2.用在类上 3.使用演示3.1.在启动类或者配置类上增加 EnableAsync 注解3.2.在异步方法上增加 Async 注解3.3.调用异步方法3.4.测试3.5.其它说明 4.注意事项4.1.Async 注解失效的常…

linux设置常见开机自启动命令

本文介绍了三种开机自启的方式,重点介绍使用systemctl的方式自启动的 方式一、修改 /etc/rc.d/rc.local 文件 /etc/rc.d/rc.local 文件会在 Linux 系统各项服务都启动完毕之后再被运行。所以你想要自己的脚本在开机后被运行的话,可以将自己脚本路径加到…

滚雪球学SpringCloud[5.2讲]: 配置的动态刷新与安全管理

全文目录: 前言5.2 配置的动态刷新与安全管理使用Spring Cloud Bus实现动态刷新动态刷新在多种场景中的应用Spring Cloud Bus的工作机制与架构分析核心架构: 示例:Spring Cloud Bus动态刷新配置1. 引入依赖2. 配置RabbitMQ3. 启用Bus功能4. 触…

2023年全国研究生数学建模竞赛华为杯C题大规模创新类竞赛评审方案研究求解全过程文档及程序

2023年全国研究生数学建模竞赛华为杯 C题 大规模创新类竞赛评审方案研究 原题再现: 现在创新类竞赛很多,其中规模较大的竞赛,一般采用两阶段(网评、现场评审)或三阶段(网评、现场评审和答辩)评…

2020ICPC上海 D - Walker M - Gitignore

D: 首先显然要二分,判断当前二分的mid时间下是否能满足走满0~n 枚举所有情况,这里按照左,右起点p1,p2分别讨论 p1向左 p2向左(以下向左和向右都代表向左或者向右到墙,而不代表初速度方向),只需要计算p1或者p2反弹之后还能走距离n就是合法 p1向左 p2向右&#xff…

深度学习常见面试题及答案(1~5)

文章目录 1. 请简述深度学习中的反向传播算法的基本原理和作用。一、基本原理二、作用 2. 解释一下循环神经网络(RNN)的工作原理,以及它在处理序列数据时的优势和局限性是什么?一、循环神经网络(RNN)的工作…

【Linux下的cpp】编译调试(gcc、g++、gdb)

【Linux下的cpp】编译调试(gcc、g、gdb) 文章目录 【Linux下的cpp】编译调试(gcc、g、gdb)简述gcc、g、gdb编译过程g 编译参数命令行编译演练1、直接编译2、生成库文件并编译链接静态库并生成可执行文件链接动态库生成可执行文件 …