Quando un'applicazione rich client utilizza il protocollo WorkbenchAdvisor come mezzo principale per la personalizzazione del workbench, deve fornire una prospettiva visualizzata nella finestra del workbench. Questa prospettiva deve essere identificata nella classe advisor del workbench dell'applicazione. Quanto segue viene specificato nella classe BrowserAdvisor:
public String getInitialWindowPerspectiveId() { return BrowserApp.BROWSER_PERSPECTIVE_ID; }
Mentre BrowserApp definisce:
public static final String PLUGIN_ID = "org.eclipse.ui.examples.rcp.browser"; public static final String BROWSER_PERSPECTIVE_ID = PLUGIN_ID + ".browserPerspective";
La prospettiva corrispondente viene definita nel file manifest del plugin del browser:
<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>
Il protocollo BrowserPerspectiveFactory è responsabile del layout corretto delle viste.
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); }
La prospettiva del browser definisce due viste (una visibile, con un segnaposto per l'altra) e rende invisibile l'area dell'editor. Per un'analisi completa delle prospettive e del layout corrispondente, fare riferimento alla sezione Prospettive.