Отключить вкладку «Установленное программное обеспечение и история установки» в Справке |О |Детали установки - PullRequest
0 голосов
/ 23 ноября 2010

Можно ли как-то отключить или отключить вкладки «Установленное программное обеспечение» и «История установки» справки |О |Кнопка Сведения об установке в RCP?

Я не использую P2 для этого конкретного приложения, поэтому никогда не будет никакой истории, а вкладка установленного программного обеспечения не имеет содержимого.

Ответы [ 3 ]

1 голос
/ 26 ноября 2010

Если вы не хотите, чтобы они отображались, убедитесь, что следующие модули не развернуты на целевой платформе вашего приложения:

org.eclipse.p2.ui
org.eclipse.p2.ui.discovery
org.eclipse.p2.ui.sdk
org.eclipse.p2.ui.updatechecker

Строго говоря, вам действительно нужно удалить только первый пакет из приведенного выше списка, поскольку последующие пакеты зависят от основного пакета пользовательского интерфейса. Как правило, если я не хочу, чтобы пользователь планировал обновления и т. Д., Я включу только первый пакет выше. Затем я создаю пользовательский интерфейс на основе функциональности p2, в то же время повторно используя некоторые из основных API интерфейса p2 (но без автоматического планирования и т. Д.).

Если вы хотите удалить страницы настроек для планирования / обновлений p2, то в вашем WorkbenchAdvisor вы можете написать следующее в методе postStartup():

PreferenceManager pm = PlatformUI.getWorkbench ( ) .GetPreferenceManager ();

pm.remove ( "org.eclipse.equinox.internal.p2.ui.sdk.ProvisioningPreferencePage"); pm.remove ( "org.eclipse.update.internal.ui.preferences.MainPreferencePage");

0 голосов
/ 07 декабря 2010

В итоге я удалил плагин и функции org.eclipse.p2.ui из моего встроенного продукта.

Не самое элегантное решение, но оно работает.

0 голосов
/ 23 ноября 2010

создает подкласс класса AboutDialog и переопределяет метод createButtonsForButtonBar (Composite) :) и используйте свой собственный подкласс InstallationDialog.

чтобы избежать отображения вкладок, которые вам не нужны, вы должны переопределить метод createFolderItems.

Посмотрите метод loadElements, чтобы понять, как работает эта часть диалога.

...