2017-02-08 16 views
0

У меня есть 2 плагина, которые работают правильно, когда я запускаю их из меню. Тем не менее, я хотел бы запустить второй плагин, когда я нажимаю на кнопку в пользовательском интерфейсе первого плагина.Активировать плагин из другого плагина в Eclipse RCP

Я изучил метод getBundle(). Start(), как указано здесь: https://www.eclipse.org/forums/index.php/t/99869/, но он не дал никакого результата. Второй комплект показывает состояние пакета как ACTIVE при печати на консоли, но его интерфейс не отображается на экране.

Любая помощь была бы принята с благодарностью!

+0

Метод запуска Активатор должен вызываться только сам Eclipse, это будет сделано автоматически на подходящее время. Что именно делает этот второй плагин? Обратите внимание, что метод запуска не является подходящим местом для выполнения графических интерфейсов. –

+0

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

ответ

0

я упомянул следующее сообщение: Programmatically showing a View from an Eclipse Plug-in

Следующий код, наконец, работал для меня:

Display.getDefault().asyncExec(new Runnable() { 
    @Override 
    public void run() { 
     PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId"); 

    } 
}); 
0

Сделайте свой второй плагин API, который отображает график, который первый плагин может вызвать при нажатии кнопки. Этот API может быть таким же простым, как и один метод для вызова, он, вероятно, будет похож на код, который вы используете в меню.

Во втором плагине добавьте пакет, содержащий API, в список «Экспорт-пакет» в файле MANIFEST.MF (в редакторе MANIFEST.MF вы делаете это на вкладке «Время выполнения» в списке «Экспортированные пакеты»).

В первом плагине добавьте второй плагин к его зависимостям - список «Требовать-расслоение» в MANIFEST.MF (в редакторе это «Обязательные подключаемые модули» на вкладке «Зависимости»).