Eclipse RCP open view программно по пути e4

Я хочу программно (из контекстного меню) открыть определенное представление. Как я могу это сделать?

Я могу показать представление с использованием уровня совместимости с e3 следующим образом:

PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId");

Как это сделать е4?


person kerner1000    schedule 18.02.2017    source источник
comment
Это непросто. Вы можете открыть новое окно, показывающее определенную перспективу.   -  person greg-449    schedule 19.02.2017
comment
Спасибо, Грег! Могу ли я показать вид и сразу же отсоединить его? Я нашел решения с использованием PerspectiveHelper или PartService, но они кажутся устаревшими.   -  person kerner1000    schedule 19.02.2017
comment
Вы отметили это «e4», но код, который вы показываете, относится к режиму совместимости 3.x. Итак, выполняете ли вы совместимость с e4 (используя Application.e4xmi) или 3.x (используя такие вещи, как точка расширения org.eclipse.ui.views)?   -  person greg-449    schedule 20.02.2017
comment
Я делаю это так, потому что это единственное решение, которое я нашел;) Если вы скажете мне, как это сделать с помощью e4, это было бы здорово, спасибо! Наши Просмотры / Части прописаны во фрагменте.e4xmi / Application.e4xmi.   -  person kerner1000    schedule 21.02.2017
comment
Обновил вопрос, открою новый по стороннему виду.   -  person kerner1000    schedule 21.02.2017


Ответы (1)


В e4 вы открываете любую часть, используя EPartService:

@Inject
EPartService partService;


partService.showPart("part id", PartState.ACTIVATE);

Деталь должна находиться в Application.e4xmi в том месте, где вы хотите, чтобы она отображалась, но должна иметь отключенный параметр «Для визуализации» (оставьте «Видимый» включенным).

person greg-449    schedule 22.02.2017