Подтвердить что ты не робот

Программно отображает представление из подключаемого модуля Eclipse

У меня есть плагин для приложения RCP Eclipse, у которого есть представление. После того, как событие происходит в приложении RCP, создается экземпляр подключаемого модуля, его методы вызываются для заполнения модели подключаемого модуля, но я не могу найти способ отображения представления без перехода в меню "Показать представление...".

Я бы подумал, что в рабочем месте сингла будет что-то, что может справиться с этим, но я не узнал, как это сделать.

4b9b3361

Ответ 1

Вероятно, вы ищете:

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

Ответ 2

Если вызывается из обработчика команды

HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().showView(viewId);

было бы лучше, как я знаю.

Ответ 3

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

PlatformUI.getWorkbench()
    .getActiveWorkbenchWindow()
    .getActivePage()
    .activate(workbenchPartToActivate);

ПРИМЕЧАНИЕ. WorkbenchPartToActivate является экземпляром IWorkbenchPart.

Ответ 4

В 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.