2012-04-17 3 views
0

В Eclipse, можно расширить до любого всплывающего меню, используя следующие специальные места URI:Добавления пункта ко всему меню просмотра

popup:org.eclipse.ui.popup.any 

Можно ли сделать то же самое для просмотра меню (маленький треугольник в каждом представлении)? (Я разрабатываю приложение RCP Eclipse, не расширяя IDE. Цель этого элемента - помочь отладке и тестированию приложения.).

ответ

1

Короткий ответ: нет, это невозможно, если вы не добавите предметы вручную для всех видов.

Слегка развернутый ответ: да, если вы

  • вручную пройти через реестр просмотра
  • создать новый AbstractContributionFactory с адресом URI «меню: < вид-ид >» и все, что createContributionItems(...) вы хотите для каждого. (В качестве альтернативы вы можете создать AbstractMenuAdditionCacheEntry или даже лучше MenuAdditionCacheEntry - хотя они являются внутренними и требуют немного дополнительной работы ... Последнее позволяет вам иметь центральную точку расширения меню, которая используется для всех этих дополнений.)
  • Добавить эти к рабочему столу с использованием IMenuService.addContributionFactory(AbstractContributionFactory factory) (воспользуйтесь IWorkbenchWindow.getService(IMenuService.class), чтобы получить услугу меню).

Я не тестировал выше рецепт, но я использовал что-то очень похожее в приложении ...

+0

Спасибо! Я боялся, что мне, возможно, придется спуститься по этой дороге ... – Krumelur

Смежные вопросы