Главное меню исчезнет в E4 Eclipse - PullRequest
0 голосов
/ 20 сентября 2018

Я занимаюсь разработкой смешанного rcp-приложения.
со следующим руководством. Я могу открыть перспективу Pydev с помощью команд 3.x

Eclipse rcp e4 с представлениями 3.x и т. Д.

...
OpenPerspective("org.python.pydev.ui.PythonPerspective");
...

public static void OpenPerspective(String idPerspective) 
{
    IPerspectiveDescriptor[] perspectives = 
    PlatformUI.getWorkbench().getPerspectiveRegistry().getPerspectives();
    IPerspectiveDescriptor per = null;
    IWorkbenchPage page = getActivePage();

    for (IPerspectiveDescriptor descriptor : perspectives) {
        if (descriptor.getId().equals(idPerspective)) {
            per = descriptor;
        }
    }

    if (page != null) {
        page.setPerspective(per);
    } else {
    }
}

private static IWorkbenchPage getActivePage() 
{
    IWorkbenchPage result = null;
    IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    if (window != null) {
        result = window.getActivePage();
    }
    return result;
}

У меня проблема при добавлении меню в Application.e4xmi, я запустил продукт и все в порядке.Во втором запуске основная панель инструментов исчезнет.

Я считаю, что это связано со следующей ошибкой

https://bugs.eclipse.org/bugs/show_bug.cgi?id=388808

, но я не могу обойти эту проблему.

У каждого есть хороший пример, шаг за шагом, как сделать обходной путь.Спасибо

1 Ответ

0 голосов
/ 04 октября 2018

Вы должны добавить упомянутую ForceMainMenuProcessor к точке расширения org.eclipse.e4.workbench.model в качестве процессора (с beforefragment:true и apply:always).

Вы можете сделать этов вашем plugin.xml на вкладке «Расширения»:

Нажмите кнопку «Добавить ...», найдите org.eclipse.e4.workbench.model и добавьте его с ID = MainAppModel.plugin xml 1 Щелкните правой кнопкой мыши расширение, чтобы добавить процессор.plugin xml 2

При условии, что вы сбросили класс ForceMainMenuProcessor в пакете my.package вашего плагина.

...