@Override public IPerspectiveFactory createFactory() { try { return (IPerspectiveFactory) getSimulationDescriptor().getConfigElement() .createExecutableExtension(IWorkbenchRegistryConstants.ATT_CLASS); } catch (final CoreException e) { e.printStackTrace(); throw new RuntimeException(e); } }
public static List<String> missingInitialViews(final IWorkbenchPage page) { final IPerspectiveFactory factory; factory = ((PerspectiveDescriptor)page.getPerspective()).createFactory(); ViewCapturingLayout layout = new ViewCapturingLayout(); factory.createInitialLayout(layout); final F<String, Boolean> missing = new F<String, Boolean>() { @Override public Boolean f(final String viewId) { return page.findView(viewId) == null; } }; return fj(layout.viewIds).filter(missing).toList(); }