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
ToolBarManager toolBarManager = new ToolBarManager();
        
        IAction openPerspectiveAction = new Action() {
            { setToolTipText(IDEWorkbenchMessages.IDEWorkbenchAdvisor_openPerspective);
              setImageDescriptor(WorkbenchImages.getImageDescriptor(
                    IWorkbenchGraphicConstants.IMG_ETOOL_NEW_PAGE));
            }
            public void run() {
                SelectPerspectiveDialog dlg = new SelectPerspectiveDialog(window.getShell(),
                        window.getWorkbench().getPerspectiveRegistry());
                dlg.open();
                if (dlg.getReturnCode() == Window.CANCEL)
                    return;
                IPerspectiveDescriptor desc = dlg.getSelection();
                if (desc != null) {
                    try {
                        window.openPage(desc.getId(), wbAdvisor.getDefaultPageInput());
                    } catch (WorkbenchException e) {
                        IDEWorkbenchPlugin.log("Error opening page", e); 
                    }
                }
            }
        };
        toolBarManager.add(openPerspectiveAction);
        ToolBar toolBar = toolBarManager.createControl(composite);
        toolBar.setBackground(bgCol);
        return composite;
    }
}