public static void printViews(){ System.out.println("=== Views ==="); IViewRegistry registry = PlatformUI.getWorkbench().getViewRegistry(); IViewDescriptor[] descriptors = registry.getViews(); for (int idx = 0; idx < descriptors.length; idx++) { System.out.println(descriptors[idx].getId()); } }
/** * If the Servers view is available and it contains a selection, the * corresponding structured selection is returned. In any other case, * including the Servers view being unavailable, either because it is not * installed or it is closed, null is returned. * @return structured selection in the Servers view, if the Servers view is * open and available, or null otherwise */ public static IStructuredSelection getServersViewSelection() { IViewRegistry registry = PlatformUI.getWorkbench().getViewRegistry(); String serversViewID = SERVERS_VIEW_ID; // fast check to verify that the servers View is available. IViewDescriptor serversViewDescriptor = registry.find(serversViewID); if (serversViewDescriptor != null) { // Granular null checks required as any of the workbench components // may not be available at some given point in time (e.g., during // start/shutdown) IWorkbenchWindow activeWorkbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); if (activeWorkbenchWindow != null) { IWorkbenchPage activePage = activeWorkbenchWindow.getActivePage(); if (activePage != null) { IViewReference[] references = activePage.getViewReferences(); if (references != null) { IViewPart serversViewPart = null; for (IViewReference reference : references) { if (serversViewID.equals(reference.getId())) { serversViewPart = reference.getView(true); break; } } if (serversViewPart != null) { IViewSite viewSite = serversViewPart.getViewSite(); if (viewSite != null) { ISelectionProvider selectionProvider = viewSite.getSelectionProvider(); if (selectionProvider != null) { ISelection selection = selectionProvider.getSelection(); if (selection instanceof IStructuredSelection) { return (IStructuredSelection) selection; } } } } } } } } return null; }
protected void cleanupViews() { ViewRegistry viewRegistry = (ViewRegistry) PlatformUI.getWorkbench().getViewRegistry(); final Map<String, IViewDescriptor> descs = ReflectionUtils.get(viewRegistry, "descriptors"); descs.keySet().removeAll(getUndesirableViews()); }