Программно отображать представление из подключаемого модуля Eclipse
-
05-07-2019 - |
Вопрос
У меня есть плагин для приложения Eclipse RCP, который имеет представление. После того, как в приложении RCP происходит событие, создается плагин, его методы вызываются для заполнения модели плагина, но я не могу найти способ отображения вида без перехода к " Показать представление ... " ; меню.
Я бы подумал, что в синглтоне на рабочем месте было бы что-то, что могло бы с этим справиться, но я нигде не узнал.
Решение
Вы, вероятно, ищете это:
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId");
Другие советы
Если вызывается из обработчика команды
HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().showView(viewId);
было бы лучше, как я знаю. Р>
Я обнаружил необходимость перенести вид на передний план после того, как он был открыт и отодвинут на задний план. Метод активации делает свое дело.
PlatformUI.getWorkbench()
.getActiveWorkbenchWindow()
.getActivePage()
.activate(workbenchPartToActivate);
ПРИМЕЧАНИЕ. workbenchPartToActivate является экземпляром IWorkbenchPart
.
На e4 EPartService отвечает за открытие деталей. Это также можно использовать для открытия e3 ViewParts. Создайте следующий класс через IEclipseContext, вызовите метод openPart, и вы должны увидеть внутреннее представление браузера Eclipse.
public class Opener {
@Inject
EPartService partService;
public void openPart() {
MPart part = partService.createPart("org.eclipse.ui.browser.view");
part.setLabel("Browser");
partService.showPart(part, PartState.ACTIVATE);
}
}
Здесь вы можете найти пример того, как это работает вместе с ваше приложение.e4xmi. Р>