Bug 89625 [IDE] IDEWorkbenchWindowAdvisor refers to workbench internals for backdrop
3.1 M5 The code in IDEWorkbenchWindowAdvisor to provide the backdrop when all perspectives are closed refers to internal workbench classes: import org.eclipse.ui.internal.IWorkbenchGraphicConstants; import org.eclipse.ui.internal.WorkbenchImages; import org.eclipse.ui.internal.dialogs.SelectPerspectiveDialog; This should be done using only API.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchWindowAdvisor.java
.getDefaultPerspective();
        }
        if (page == null) {
            try {
                page = win.openPage(id, wbAdvisor.getDefaultPageInput());
            } catch (WorkbenchException e) {
                ErrorDialog.openError(win.getShell(), IDEWorkbenchMessages.Problems_Opening_Page,
                        e.getMessage(), e.getStatus());
            }
        }
        if (page == null)
            return;
        if (page.getPerspective() == null) {
            try {
                page = getWorkbench().showPerspective(id, win);
            } catch (WorkbenchException e) {
                ErrorDialog
                        .openError(
                                win.getShell(),
                                IDEWorkbenchMessages.Workbench_openEditorErrorDialogTitle,
                                IDEWorkbenchMessages.Workbench_openEditorErrorDialogMessage,
                                e.getStatus());
                return;
            }
        }
        page.setEditorAreaVisible(true);
        
        IEditorPart editor = page.findEditor(input);
        if (editor != null) {
            page.activate(editor);