如何在Eclipse RCP中隐藏/删除Preferences对话框中的导入/导出按钮



我有一些使用Eclipse RCP的Activities来隐藏插件UI组件的经验,但是这个让我难倒了。我使用Eclipse Plug-in Selection Spy尝试查看是哪个插件提供了默认Preferences页面底部的导入/导出按钮,它似乎指向org.eclipse.ui.workbench。至少,这是当我点击Preferences对话框时出现的。例如,当我执行Alt + Shift + F1并尝试单击Export按钮时,光标变回常规指针,当我单击时,插件间谍窗口显示为空。

提供默认Preferences页面的类为org.eclipse.ui.internal.dialogs.WorkbenchPreferenceDialog。这个类扩展了org.eclipse.ui.internal.dialogs.FilteredPreferenceDialog,它有一个方法,可以在调用open()时将导入/导出按钮添加到对话框中。

所以,我看了看org.eclipse.ui.workbench插件,试图找到一些东西放在我的activityPatternBinding,将隐藏这些按钮。我试着用

<activityPatternBinding
activityId="my_hidden_activity"
isEqualityPattern="true"
pattern="org.eclipse.ui.workbench/org.eclipse.ui.internal.wizards.preferences.PreferencesImportWizard">
</activityPatternBinding>

来阻止导入类的显示,这可能会阻止按钮的显示,但这不起作用。

有谁知道如何摆脱这些图标不完全重写默认的首选项对话框?

你只能隐藏项目,如果创建它们的代码调用活动管理器来检查它们是否被过滤-通常通过调用WorkbenchActivityHelper.filterItem

FilteredPreferenceDialog中的导入/导出代码不会进行此调用,因此它不能与活动一起删除。我看不出有什么办法可以压制这些按钮。

最新更新