2008-10-05 2 views
28

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

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

ответ

45

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

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

Важно отметить, что arg0 может быть полем VIEW_ID части обзора. – JeffV 2009-04-09 21:12:33

18

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

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

будет лучше, так как я знаю.

4

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

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

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

0

В 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); 
    } 
} 

Here вы можете найти пример того, как это работает вместе с Application.e4xmi.

Смежные вопросы