Eclipse e4: добавить команды в контекстное меню

Я определил несколько команд в своей модели приложения, например, openCommand, saveCommand. И я могу легко добавить их в строку меню или панель инструментов. Теперь я хочу, чтобы они также появлялись в контекстном меню части редактирования, как это сделать?

Короче говоря, мне нужен элемент меню в главном меню, элемент панели инструментов на панели инструментов и другой элемент меню в контекстном меню. Все эти три элемента имеют одну и ту же функцию и, следовательно, должны быть сопоставлены с одной и той же командой. Я могу сделать первые два, но понятия не имею о третьем.

Любая помощь будет оценена по достоинству! Большое спасибо!


person fengye87    schedule 19.05.2014    source источник


Ответы (1)


Вы определяете контекстное меню для части в разделе меню дескриптора части в модели приложения. Добавьте «Всплывающее меню» и присвойте ему уникальный идентификатор. Добавьте пункты меню во всплывающее меню обычным способом.

Скажите Eclipse, что меню — это контекстное меню для элемента управления, использующего EMenuService:

@Inject
private EMenuService menuService;

...

menuService.registerContextMenu(control, "menu id");
person greg-449    schedule 19.05.2014
comment
@ greg449 greg449 Я не могу найти класс EMenuService, нужно ли мне добавить сюда какой-нибудь плагин? Спасибо! - person fengye87; 20.05.2014
comment
EMenuService из пакета org.eclipse.e4.ui.workbench.swt, физически это org.eclipse.e4.ui.workbench.swt_[версия].jar - person Severin; 22.05.2014
comment
Для Eclipse 4.4 EMenuService перемещается в пакет org.eclipse.e4.ui.services в подключаемом модуле org.eclipse.e4.ui.services. Для 4.3 и более ранних версий он находится в org.eclipse.e4.ui.workbench.swt. - person greg-449; 22.05.2014