Quando um aplicativo rich client utiliza o WorkbenchAdvisor como o meio principal para personalizar o workbench, ele deve fornecer uma perspectiva que é mostrada na janela do workbench. Essa perspectiva deve ser identificada na classe do orientador do workbench do aplicativo. O seguinte é especificado na classe BrowserAdvisor:
public String getInitialWindowPerspectiveId() { return BrowserApp.BROWSER_PERSPECTIVE_ID; }
Enquanto BrowserApp define:
public static final String PLUGIN_ID = "org.eclipse.ui.examples.rcp.browser"; public static final String BROWSER_PERSPECTIVE_ID = PLUGIN_ID + ".browserPerspective";
A perspectiva correspondente é definida no manifesto do plug-in do navegador:
<extension point="org.eclipse.ui.perspectives"> <perspective id="org.eclipse.ui.examples.rcp.browser.browserPerspective" name="%perspectives.browser.name" class="org.eclipse.ui.examples.rcp.browser.BrowserPerspectiveFactory" fixed="true"/> </extension>
O BrowserPerspectiveFactory é responsável por fornecer o layout das visualizações apropriadamente.
public void createInitialLayout(IPageLayout layout) { layout.addView(BrowserApp.BROWSER_VIEW_ID, IPageLayout.RIGHT, .25f, IPageLayout.ID_EDITOR_AREA); layout.addPlaceholder(BrowserApp.HISTORY_VIEW_ID, IPageLayout.LEFT, .3f, IPageLayout.ID_EDITOR_AREA); IViewLayout historyLayout = layout.getViewLayout(BrowserApp.HISTORY_VIEW_ID); historyLayout.setCloseable(true); layout.setEditorAreaVisible(false); }
A perspectiva do navegador define duas visualizações (uma visível, com um marcador para a outra) e torna a área do editor invisível. Para obter uma discussão completa das perspectivas e seu layout correspondente, consultePerspectivas.