Wenn eine Rich Client-Anwendung den WorkbenchAdvisor als primäres Mittel zur Anpassung der Workbench verwendet, muss sie eine Perspektive bereitstellen, die im Workbench-Fenster angezeigt wird. Diese Perspektive muss in der Workbench-Adviserfunktionsklasse der Anwendung identifiziert werden. Das folgende Beispiel stammt aus der Klasse BrowserAdvisor:
public String getInitialWindowPerspectiveId() { return BrowserApp.BROWSER_PERSPECTIVE_ID; }
Während BrowserApp folgendes definiert:
public static final String PLUGIN_ID = "org.eclipse.ui.examples.rcp.browser"; public static final String BROWSER_PERSPECTIVE_ID = PLUGIN_ID + ".browserPerspective";
wird die entsprechende Perspektive in der Manifest-Datei des Browser-Plug-ins definiert:
<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>
Die BrowserPerspectiveFactory ist für das korrekte Layout der Sichten zuständig.
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); }
Die Browser-Perspektive definiert zwei Sichten (eine sichtbar, mit einem Platzhalter für die andere) und lässt den Editorbereich verschwinden. Eine vollständige Betrachtung der Perspektiven und ihrer entsprechenden Layouts finden Sie unter Perspektiven.