Eclipse 3.5: Реализация собственного контекстного меню для MultipageEditorPart -> без участия зрителя - PullRequest
1 голос
/ 11 февраля 2010

В моем текущем RCP-проекте я использую MultipageEditorPart. Он имеет различные страницы, с простыми композициями SWT на нем. Композиты содержат некоторые элементы Text и Combo. Когда пользователь щелкает правой кнопкой мыши на странице редактора, я хочу открыть контекстное меню. Это меню содержит команду для создания новой страницы редактора с составным изображением.

Команда уже работает, но я совершенно не понимаю, как реализовать контекстное меню для редактора. Может ли кто-нибудь помочь с этим?

1 Ответ

2 голосов
/ 11 февраля 2010

Это должно быть основано на вкладе в Действие: см. Вклад действий в Eclipse Workbench

В качестве примера на основе RCP вы можете проверить " Проектирование редактора рабочих процессов Eclipse XML ", где контекстное меню добавляется к EditorPart, включенному в MultipageEditorPart.

protected void createContextMenuFor(StructuredViewer viewer) { 
   MenuManager contextMenu = new MenuManager("#PopUp"); 
   contextMenu.add(new Separator("additions")); 
   contextMenu.setRemoveAllWhenShown(true); 
   contextMenu.addMenuListener(this); 
   Menu menu= contextMenu.createContextMenu(viewer.getControl()); 
   viewer.getControl().setMenu(menu); 
   getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer)); 

   } 

alt text

См. Также Шаг 18 для расширения этого контекстного меню (раздел «Удалить - Контекстное меню, требующее использования GEF).

...