Удалите параметры щелчка правой кнопкой мыши из плагина eclipse rcp

Я создал плагин rcp в eclipse. При щелчке правой кнопкой мыши по заголовку перспективы я получаю следующие параметры: Menu Options

Я хочу либо удалить, либо отключить из него «опцию закрытия». Я пробовал следующие варианты:

Опция 1

layout.getViewLayout("plugin_id").setCloseable(false); 

Результат: Не сработало.

Вариант 2

 <plugin>
   <extension
       point="org.eclipse.ui.handlers">
     <handler
       class="example.commands.UnsupportedCommandEliminator"
       commandId="org.eclipse.ui.window.closePerspective">
     </handler>
   </extension>
</plugin>

Результат: Не сработало.

Вариант 3

private void disablePerspectiveToolbarMenu() {
    IWorkbenchWindow workbenchWindow = 
      PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    if (workbenchWindow == null) {
      return;
    }
    PerspectiveBarManager perspectiveBarManager = 
    ((WorkbenchWindow)workbenchWindow).getPerspectiveBar();
    if (perspectiveBarManager == null) {
     return;
    }
    ToolBar toolBar = perspectiveBarManager.getControl();
    Listener[] listeners = toolBar.getListeners(SWT.MenuDetect);
    if (listeners != null){
    for (Listener listener : listeners){
     toolBar.removeListener(SWT.MenuDetect, listener);
    }
  }
}

Результат: Выдает ошибку компиляции функции getPerspectiveBar ().

Это меню создано org.eclipse.e4.ui.workbench.addons.perspectiveswitcher.Persp‌​ectiveSwitcher. Похоже, что у него нет способа подавить пункт меню «Закрыть».

greg-449 11.04.2018 14:11

@ greg-449 есть ли способ отменить работу кнопки "закрыть"?

Anu Chawla 11.04.2018 14:36

Что ж, это похоже на надстройку e4, поэтому вы можете создать свой RCP, используя модифицированный Legacy.e4xmi, используя другой код для этого надстройки.

greg-449 11.04.2018 15:09

@ greg-449 Я вас не понял, можно ли переопределить функцию кнопки закрытия?

Anu Chawla 12.04.2018 13:01
2
4
302
0

Другие вопросы по теме