Eclipse rcp 禁用已安装的软件&;“帮助|关于|安装详细信息”上的“安装历史记录”选项卡

Eclipse rcp 禁用已安装的软件&;“帮助|关于|安装详细信息”上的“安装历史记录”选项卡,eclipse-rcp,eclipse-plugin,Eclipse Rcp,Eclipse Plugin,是否有某种方法可以抑制或禁用RCP中“帮助”|关于|安装详细信息按钮上的“已安装软件”和“安装历史记录”选项卡 我没有将P2用于此特定应用程序,因此将永远不会有任何历史记录,并且“安装的软件”选项卡没有任何内容。对AboutDialog类进行子类化,并覆盖createButtonsForButtonBar(复合)方法:) 并使用您自己的InstallationDialog子类 要避免显示不希望显示的选项卡,必须重写createFolderItems方法 查看loadElements方法以了解对话

是否有某种方法可以抑制或禁用RCP中“帮助”|关于|安装详细信息按钮上的“已安装软件”和“安装历史记录”选项卡


我没有将P2用于此特定应用程序,因此将永远不会有任何历史记录,并且“安装的软件”选项卡没有任何内容。

对AboutDialog类进行子类化,并覆盖createButtonsForButtonBar(复合)方法:) 并使用您自己的InstallationDialog子类

要避免显示不希望显示的选项卡,必须重写createFolderItems方法


查看loadElements方法以了解对话框的这一部分是如何工作的。

如果不想显示这些,请确保未在应用程序的目标平台中部署以下插件:

org.eclipse.p2.ui
org.eclipse.p2.ui.discovery
org.eclipse.p2.ui.sdk
org.eclipse.p2.ui.updatechecker
严格地说,您只需要删除上面列表中的第一个bundle,因为后续bundle依赖于核心ui bundle。通常情况下,如果我不希望用户选择更新等,我将只包含上面的第一个包。然后,我围绕p2功能构建一个自定义UI,同时重新使用提供的一些核心p2 UI API(但不包括自动调度UI等)

如果要删除p2显示/更新的首选项页面,则可以在
WorkbenchHadvisor
中使用
postStartup()
方法写入以下内容:

优先权经理= PlatformUI.getWorkbench( ).getPreferenceManager()

remove(“org.eclipse.equinox.internal.p2.ui.sdk.provisiongpreferencepage”);remove(“org.eclipse.update.internal.ui.preferences.MainPreferencePage”)


我最终从我构建的产品中删除了
org.eclipse.p2.ui
插件和功能


不是最优雅的解决方案,但它很有效。

我假设您指的是org.eclipse.ui.internal.dialogs.AboutDialog,这是一个内部类。是的,我认为eclipse没有提供很多方法来定制这个对话框。我如何将自己的类注册为aboutbox应用程序?或者我会有自己的菜单项来启动自定义的about box对话框类吗?你应该注册自己的命令来启动about对话框:)我想这就是我需要做的。。。奇怪的是,我没有为我的应用程序列出任何“org.eclipse.p2.ui”插件或功能。当我运行我的构建时,它们似乎自动被包括在内。