Ответ 1
Вероятно, вы ищете:
PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("viewId");
У меня есть плагин для приложения RCP Eclipse, у которого есть представление. После того, как событие происходит в приложении 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);
}
}
Здесь вы можете найти пример того, как это работает вместе с вашим Application.e4xmi.