Отключить вкладки плагинов в Eclipse RCP Application - PullRequest
6 голосов
/ 12 сентября 2009

У меня часто возникала эта проблема, и я еще не находил решения: всякий раз, когда я пишу новое приложение на основе Eclipse RCP и включаю плагины с платформы Eclipse, я «наследую» вклад пользовательского интерфейса от некоторых из этих плагинов.

Большинство этих вкладов (пункты меню, сочетания клавиш, страницы свойств) полезны, но иногда я бы предпочел отключить некоторые из этих вкладов, просто потому, что они мне действительно не нужны, и они могут запутать пользователей.

Кто-нибудь знает официальный или практический способ отключить / запретить выбранные материалы в приложениях Eclipse RCP?

Ответы [ 3 ]

4 голосов
/ 15 сентября 2009
3 голосов
/ 13 сентября 2009

Единственный метод, который подходит для этого:

IMenuService::removeContributionFactory()

Пол Вебстер призывает IMenuService::addOverride() изменить видимость меню, предотвращая какой-либо вклад, но эта идея еще не интегрирована.

Вы можете увидеть пример удаления вклада в этом org.eclipse.ui.tests.menus.MenuBuilder классе;

public static void removeMenuContribution() {
    if (!PlatformUI.isWorkbenchRunning()) {
        return;
    }
    IMenuService menuService = (IMenuService) PlatformUI.getWorkbench()
            .getService(IMenuService.class);
    if (menuService==null) {
        return;
    }
    menuService.removeContributionFactory(viewMenuAddition);
    viewMenuAddition = null;
    menuService.removeContributionFactory(viewToolbarAddition);
    viewMenuAddition = null;
}
0 голосов
/ 02 июня 2011

Преобразования равноденствия также можно использовать для предоставления преобразований XLST, которые удаляют нежелательные вклады пользовательского интерфейса.

...