/** * Utility method to get all open views that are instances of CommonNavigator * @param clazz the class type which extends EnsembleCommonNavigator * @return the list of viewers that are of type EnsembleCommonNavigator */ public static List<EnsembleCommonNavigator> getExistingInstances(Class<? extends EnsembleCommonNavigator> clazz) { List<EnsembleCommonNavigator> commonNavigators = new ArrayList<EnsembleCommonNavigator>(); IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbenchWindow[] workbenchWindows = workbench.getWorkbenchWindows(); for(IWorkbenchWindow workbenchWindow : workbenchWindows) { IWorkbenchPage[] pages = workbenchWindow.getPages(); for(IWorkbenchPage page : pages) { IViewReference[] viewReferences = page.getViewReferences(); for(IViewReference viewReference : viewReferences) { IViewPart view = viewReference.getView(false); if(view != null) { boolean assignableFrom = clazz.isAssignableFrom(view.getClass()); if(assignableFrom) { commonNavigators.add((EnsembleCommonNavigator)view); } } } } } return commonNavigators; }
protected static IStructuredSelection getCurrentSelection() { IStructuredSelection structuredSeleciton = StructuredSelection.EMPTY; IWorkbench workbench = PlatformUI.getWorkbench(); IViewReference[] viewReferences = workbench.getActiveWorkbenchWindow().getActivePage().getViewReferences(); IViewPart viewPart = null; for(IViewReference viewReference : viewReferences) { IViewPart view = viewReference.getView(false); if(view instanceof CommonViewer) { viewPart = view; } } if(viewPart != null) { ISelectionProvider selectionProvider = viewPart.getSite().getSelectionProvider(); ISelection selection = selectionProvider.getSelection(); if(selection instanceof IStructuredSelection) { structuredSeleciton = (IStructuredSelection)selection; } } return structuredSeleciton; }
private void showQueue() throws Exception { IViewReference[] refs = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViewReferences(); boolean foundStatus = false; for (IViewReference vr : refs) { if (StatusQueueView.ID.equals(vr.getId())) foundStatus = true; } if (!foundStatus) { String secondId = XcenServices.getQueueViewSecondaryId(); IViewPart part = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView(StatusQueueView.ID+":"+secondId, null, IWorkbenchPage.VIEW_VISIBLE); if (part !=null && part instanceof StatusQueueView) { StatusQueueView view = (StatusQueueView)part; PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().bringToTop(view); view.refresh(); } } }
private Collection<DeviceInformation<?>> getDeviceInformation() throws ScanningException { IViewReference[] refs = PageUtil.getPage().getViewReferences(); for (IViewReference iViewReference : refs) { IViewPart part = iViewReference.getView(false); if (part==null) continue; Object info = part.getAdapter(DeviceInformation.class); if (info!=null && info instanceof Collection) { // A collection of device information return (Collection<DeviceInformation<?>>)info; } } // We cannot find a part which has the temp information so // we use the server information. return dservice.getDeviceInformation(); }
/** * Creates and returns a new IGazeHandler object from the specified object * and partRef, or returns null if no handler object is defined for that object. */ public static IGazeHandler createHandler(Object target, IWorkbenchPartReference partRef) { // create gaze handler for a StyledText widget within an EditorPart if (target instanceof StyledText && partRef instanceof IEditorReference) { return new StyledTextGazeHandler(target); //can go back to using partRef } else if (target instanceof Browser) { //create gaze handler for a Browser Stack overflow and Bug Report widget //cannot get associated partRef return new BrowserGazeHandler(target); } else if (target instanceof Tree && partRef instanceof IViewReference && partRef.getTitle().equals("Project Explorer")) { //create gaze handler for a Project Explorer Tree return new ProjectExplorerGazeHandler(target, partRef); } return null; }
public boolean evaluate() { if (!PlatformUI.isWorkbenchRunning()) { return true; } final IWorkbench workbench = PlatformUI.getWorkbench(); if (workbench == null) { return true; } final Set<String> remaining = Sets.newHashSet(list); Display.getDefault().syncExec(new Runnable() { public void run() { for (IWorkbenchWindow workbenchWindow : workbench.getWorkbenchWindows()) { for (IWorkbenchPage workbenchPage : workbenchWindow.getPages()) { for (IViewReference viewReference : workbenchPage.getViewReferences()) { remaining.remove(viewReference.getId()); } } } } }); return remaining.isEmpty(); }
/** * The refresher for Current ReportList View. * * @param pages the page list for the currently active workbench windows * @param project the project, the user change his/her view to * @param filename the filename * @param considerViewerRefresh false if the refresh should always happen despite of no real need to force refresh */ private void refreshCurrent(IWorkbenchPage[] pages, IProject project, String filename, boolean considerViewerRefresh) { for(IWorkbenchPage page : pages) { for (IViewReference vp : page.getViewReferences()) { if (vp.getId().equals(ReportListView.ID)) { ReportListView rlv = (ReportListView) vp.getView(true); if (!considerViewerRefresh || rlv.getViewerRefresh()) { rlv.onEditorChanged(project, filename); } else { rlv.setViewerRefresh(true); } } } } }
/** * The refresher for Custom ReportList View. If secondary id is empty, * it checks if a refresh really needs to happen and if so updates every * custom view for the current project. If secondary-id is not empty, * it will search for the secondary-id custom view and * updates that particular one. * * @param pages the page list for the currently active workbench windows. * @param project the project, the user change his/her view to * @param secondaryId id of the {@link ReportListViewCustom} the refresh * @param considerViewerRefresh false if the refresh should always happen despite of no real need to force refresh */ private void refreshCustom(IWorkbenchPage[] pages, IProject project, String secondaryId, boolean considerProjectChange) { for(IWorkbenchPage page : pages) { for (IViewReference vp : page.getViewReferences()) { if (vp.getId().equals(ReportListViewCustom.ID)) { ReportListViewCustom rlvc = (ReportListViewCustom) vp.getView(true); if(secondaryId.equals("") && rlvc.getViewSite().getSecondaryId() != null) { if (!considerProjectChange || this.activeProject != project) { rlvc.onEditorChanged(project); } } else if(rlvc.getViewSite().getSecondaryId() != null && rlvc.getViewSite().getSecondaryId().equals(secondaryId)){ rlvc.onEditorChanged(project); return; } } } } }
public RenameSelectionState(Object element) { fElement = element; fParts = new ArrayList<>(); fSelections = new ArrayList<>(); IWorkbenchWindow dw = JavaScriptPlugin.getActiveWorkbenchWindow(); if (dw == null) { fDisplay = null; return; } fDisplay = dw.getShell().getDisplay(); IWorkbenchPage page = dw.getActivePage(); if (page == null) return; IViewReference vrefs[] = page.getViewReferences(); for (int i = 0; i < vrefs.length; i++) { consider(vrefs[i].getPart(false)); } IEditorReference refs[] = page.getEditorReferences(); for (int i = 0; i < refs.length; i++) { consider(refs[i].getPart(false)); } }
/** Open a runtime display * * <p>Either opens a new display, or if there is already an existing view * for that input, "activate" it, which pops a potentially hidden view to the top. * * @param page Page to use. <code>null</code> for 'active' page * @param close_handler Code to call when part is closed * @param info DisplayInfo (to compare with currently open displays) * @return {@link RuntimeViewPart} * @throws Exception on error */ public static RuntimeViewPart open(IWorkbenchPage page, final Consumer<DisplayModel> close_handler, final DisplayInfo info) throws Exception { if (page == null) page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); if (info != null) for (IViewReference view_ref : page.getViewReferences()) if (view_ref.getId().startsWith(ID)) { final IViewPart view = view_ref.getView(true); if (view instanceof RuntimeViewPart) { final RuntimeViewPart runtime_view = (RuntimeViewPart) view; if (info.equals(runtime_view.getDisplayInfo())) // Allow for runtime_view.getDisplayInfo() == null { page.showView(view_ref.getId(), view_ref.getSecondaryId(), IWorkbenchPage.VIEW_ACTIVATE); return runtime_view; } } } final RuntimeViewPart part = (RuntimeViewPart) page.showView(ID, UUID.randomUUID().toString(), IWorkbenchPage.VIEW_ACTIVATE); part.close_handler = close_handler; return part; }
@Override public Object execute(ExecutionEvent event) throws ExecutionException { String partId = event.getParameter(PART_ARG); IWorkbenchWindow activeWindow = PlatformUI.getWorkbench() .getActiveWorkbenchWindow(); IWorkbenchPage page = activeWindow.getActivePage(); if (page != null) { IViewReference ref = page.findViewReference(partId); if (ref != null) { Printable printable = (Printable) ref.getPart(false) .getAdapter(Printable.class); return printable; } } return null; }
/*************************************************************************** * Unregister a view part * * @param viewId * View identifier **************************************************************************/ private void unregisterProcView(String viewId) { Logger.debug("Unregistering proc view: " + viewId, Level.PROC, this); m_procViewList.remove(viewId); // Close all tabbed views (AsRun and Log views) associated with // this procedure IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); IWorkbenchPage page = window.getActivePage(); for (IViewReference viewReference : page.getViewReferences()) { if (viewReference.getView(false) instanceof TabbedView) { TabbedView logOrAsRunView = (TabbedView) viewReference.getView(false); if (logOrAsRunView.getProcId().equals(viewId)) { page.hideView(logOrAsRunView); } } } }
/*************************************************************************** * Close a procedure view * * @param procId * The view identifier **************************************************************************/ private void closeProcedureView(String procId) { Logger.debug("Close procedure view: " + procId, Level.PROC, this); IWorkbenchWindow wbw = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); IWorkbenchPage page = wbw.getActivePage(); if (page != null) { IViewReference ref = page.findViewReference(ProcedureView.ID, procId); if (ref != null) { getProcedureView(procId).setCloseable(true); wbw.getActivePage().hideView(ref); unregisterProcView(procId); } } }
/** * Method setSelectedAgent() * * @see msi.gama.common.interfaces.IGui#setSelectedAgent(msi.gama.metamodel.agent.IAgent) */ @Override public void setSelectedAgent(final IAgent a) { WorkbenchHelper.asyncRun(() -> { if (WorkbenchHelper.getPage() == null) { return; } if (a == null) { return; } try { final InspectDisplayOutput output = new InspectDisplayOutput(a); output.launch(a.getScope()); } catch (final GamaRuntimeException g) { g.addContext("In opening the agent inspector"); GAMA.reportError(GAMA.getRuntimeScope(), g, false); } final IViewReference r = WorkbenchHelper.getPage().findViewReference(IGui.AGENT_VIEW_ID, ""); if (r != null) { WorkbenchHelper.getPage().bringToTop(r.getPart(true)); } }); }
@Override public void closeSimulationViews(final IScope scope, final boolean openModelingPerspective, final boolean immediately) { WorkbenchHelper.run(() -> { final IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); final IViewReference[] views = page.getViewReferences(); for (final IViewReference view : views) { final IViewPart part = view.getView(false); if (part instanceof IGamaView) { ((IGamaView) part).close(scope); } } if (openModelingPerspective) { PerspectiveHelper.openModelingPerspective(immediately); } getStatus(scope).neutralStatus("No simulation running"); }); }
protected void hijackOutline() { IWorkbenchPage page = UIUtils.getActivePage(); if (page != null) { IViewReference[] refs = page.getViewReferences(); for (IViewReference ref : refs) { if (ref.getId().equals(IPageLayout.ID_OUTLINE)) { hijackView(ref.getView(false), false); return; } } } }
public void partActivated(IWorkbenchPartReference partRef) { if (partRef instanceof IViewReference) { IViewReference viewRef = (IViewReference) partRef; String id = viewRef.getId(); if ("org.eclipse.ui.console.ConsoleView".equals(id) || "org.eclipse.jdt.ui.TypeHierarchy".equals(id) //$NON-NLS-1$ //$NON-NLS-2$ || "org.eclipse.jdt.callhierarchy.view".equals(id)) //$NON-NLS-1$ { final IViewPart part = viewRef.getView(false); Display.getCurrent().asyncExec(new Runnable() { public void run() { hijackView(part, false); } }); return; } } if (partRef instanceof IEditorReference) { hijackOutline(); } }
public void partClosed(IWorkbenchPartReference partRef) { if (partRef instanceof IEditorReference) { IEditorPart part = (IEditorPart) partRef.getPart(false); if (part instanceof MultiPageEditorPart) { MultiPageEditorPart multi = (MultiPageEditorPart) part; if (pageListener != null) { multi.getSite().getSelectionProvider().removeSelectionChangedListener(pageListener); } } } // If it's a search view, remove any query listeners for it! else if (partRef instanceof IViewReference) { IViewPart view = (IViewPart) partRef.getPart(false); if (queryListeners.containsKey(view)) { NewSearchUI.removeQueryListener(queryListeners.remove(view)); } } }
private PicDirView getPicDirView(final IWorkbenchWindow wbWindow) { final IWorkbenchPage wbPage = wbWindow.getActivePage(); if (wbPage != null) { for (final IViewReference viewRef : wbPage.getViewReferences()) { if (viewRef.getId().equals(PicDirView.ID)) { final IViewPart viewPart = viewRef.getView(false); if (viewPart instanceof PicDirView) { return (PicDirView) viewPart; } } } } return null; }
public void closeView(final ViewContext viewContext) { for (final Entry<String, ViewContext> viewContextEntry : viewContextMap.entrySet()) { // find viewId if (viewContextEntry.getValue() == viewContext) { final String viewId = viewContextEntry.getKey(); final String primaryViewId = viewContext.getPrimaryViewId(); for (final IWorkbenchPage page : PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPages()) { final IViewReference viewRef = page.findViewReference(primaryViewId, viewId); if (viewRef != null) { closingViewSet.add(viewId); page.hideView(viewRef); break; } } break; } } }
public void activateView(final ViewContext viewContext) { for (final Entry<String, ViewContext> viewContextEntry : viewContextMap.entrySet()) { // find viewId if (viewContextEntry.getValue() == viewContext) { final String viewId = viewContextEntry.getKey(); final String primaryViewId = viewContext.getPrimaryViewId(); for (final IWorkbenchPage page : PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPages()) { final IViewReference viewRef = page.findViewReference(primaryViewId, viewId); if (viewRef != null) { try { page.showView(primaryViewId, viewId, IWorkbenchPage.VIEW_ACTIVATE); } catch (final PartInitException e) { throw new RuntimeException(e); } break; } } break; } } }
public void hideView(final ViewContext viewContext) { for (final Entry<String, ViewContext> viewContextEntry : viewContextMap.entrySet()) { // find viewId if (viewContextEntry.getValue() == viewContext) { final String viewId = viewContextEntry.getKey(); final String primaryViewId = viewContext.getPrimaryViewId(); for (final IWorkbenchPage page : PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPages()) { final IViewReference viewRef = page.findViewReference(primaryViewId, viewId); if (viewRef != null) { hidingViewSet.add(viewId); page.hideView(viewRef); break; } } break; } } }
public static IStructuredSelection getCurrentSelection() { IWorkbench workbench = PlatformUI.getWorkbench(); if (workbench==null || workbench.getActiveWorkbenchWindow()==null) { return StructuredSelection.EMPTY; } IStructuredSelection structuredSelection = StructuredSelection.EMPTY; IViewReference[] viewReferences = workbench.getActiveWorkbenchWindow() .getActivePage().getViewReferences(); IViewPart viewPart = null; for (IViewReference viewReference : viewReferences) { IViewPart view = viewReference.getView(false); if (view instanceof CommonViewer) { viewPart = view; } } if (viewPart != null) { ISelectionProvider selectionProvider = viewPart.getSite() .getSelectionProvider(); ISelection selection = selectionProvider.getSelection(); if (selection instanceof IStructuredSelection) { structuredSelection = (IStructuredSelection) selection; } } return structuredSelection; }
/** * {@inheritDoc} */ @Override public boolean isSaveOnCloseNeeded() { // workaround for SPF-6678 "Dirty bit is only set when focus is removed from field in Template View, Details View " IWorkbenchPartSite site = getSite(); if (site != null) { IWorkbenchPage page = site.getPage(); IViewReference[] viewReferences = page.getViewReferences(); for (IViewReference iViewReference : viewReferences) { IViewPart viewPart = iViewReference.getView(false); if(viewPart != null) { Object adapter = viewPart.getAdapter(IPage.class); if(adapter instanceof DetailPage) { DetailPage detailPage = (DetailPage) adapter; if(detailPage.hasSheet()) { this.setFocus(); break; } } } } } // end workaround return super.isSaveOnCloseNeeded(); }
public RenameSelectionState(Object element) { fElement= element; fParts= new ArrayList<IWorkbenchPart>(); fSelections= new ArrayList<IStructuredSelection>(); IWorkbenchWindow dw = JavaPlugin.getActiveWorkbenchWindow(); if (dw == null) { fDisplay= null; return; } fDisplay= dw.getShell().getDisplay(); IWorkbenchPage page = dw.getActivePage(); if (page == null) return; IViewReference vrefs[]= page.getViewReferences(); for(int i= 0; i < vrefs.length; i++) { consider(vrefs[i].getPart(false)); } IEditorReference refs[]= page.getEditorReferences(); for(int i= 0; i < refs.length; i++) { consider(refs[i].getPart(false)); } }
@Override public void run(IAction action) { // // get plot view IViewReference[] references = PlatformUI.getWorkbench() .getActiveWorkbenchWindow().getActivePage().getViewReferences(); for (int i = 0; i < references.length; i++) { if (references[i].getId().equals(PLOTVIEWID)) { PlotView view = (PlotView) (references[i].getView(true)); if (view.isPlottingFile()) { view.setPlottingFile(false); } else { // show dialog PlotArrivalRateFileDialog dialog = new PlotArrivalRateFileDialog( shell); dialog.open(); if (!dialog.wasCanceled()) { view.setPlottingFile(true); view.setArrivalRateFileList(dialog.getArrivalRateList()); } } view.updatePlot(); } } }
@Override public void run(IAction action) { try { PlatformUI.getWorkbench().getActiveWorkbenchWindow() .getActivePage().showView(PLOTVIEWID); IViewReference[] references = PlatformUI.getWorkbench() .getActiveWorkbenchWindow().getActivePage() .getViewReferences(); for (int i = 0; i < references.length; i++) { if (references[i].getId().equals(PLOTVIEWID)) { PlotView view = (PlotView) (references[i].getView(true)); view.setDecompose(true); view.updatePlot(DlimFileUtils .getEObjectFromSelection(currentSelection)); } } } catch (PartInitException e) { DlimEditorPlugin.INSTANCE.log( new Status(Status.ERROR, DlimEditorPlugin.PLUGIN_ID, "Failed to initialize Plotview", e)); } }
@Override public void run(IAction action) { // Display save dialog SavePlotViewImageDialog dialog = new SavePlotViewImageDialog(PlatformUI .getWorkbench().getActiveWorkbenchWindow().getShell()); dialog.open(); if (!dialog.wasCanceled()) { IViewReference[] references = PlatformUI.getWorkbench() .getActiveWorkbenchWindow().getActivePage() .getViewReferences(); for (int i = 0; i < references.length; i++) { if (references[i].getId().equals(PLOTVIEWID)) { PlotView view = (PlotView) (references[i].getView(true)); view.savePlotImage(dialog.getImageFilePath(), dialog.getWidth(), dialog.getHeight()); } } } }
/** * Gets the ViewPart with the specified id * * @param id * the id of view part * * @return Returns the view part, or null if not found */ public static IViewPart getView( String id ) { IWorkbenchPage tPage = PlatformUI.getWorkbench( ) .getActiveWorkbenchWindow( ) .getActivePage( ); IViewReference[] v = tPage.getViewReferences( ); int i; for ( i = 0; i < v.length; i++ ) { if ( v[i].getId( ).equals( id ) ) return (IViewPart) v[i].getPart( true ); } return null; }
public static ViewPart getView(String viewId, boolean forceVisible) { IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); try { if (workbenchWindow == null) { return null; } IWorkbenchPage page = workbenchWindow.getActivePage(); if (forceVisible) { return (ViewPart) page.showView(viewId, null, IWorkbenchPage.VIEW_VISIBLE); } else { IViewReference viewReference = page.findViewReference(viewId); if (viewReference != null) { //if it's there, return it (but don't restore it if it's still not there). //when made visible, it'll handle things properly later on. return (ViewPart) viewReference.getView(false); } } } catch (Exception e) { Log.log(e); } return null; }
/** * @param page the page where the console view is * @param restore whether we should try to restore it * @return a list with the parts containing the console */ private static List<IViewPart> getConsoleParts(IWorkbenchPage page, boolean restore) { List<IViewPart> consoleParts = new ArrayList<IViewPart>(); IViewReference[] viewReferences = page.getViewReferences(); for (IViewReference ref : viewReferences) { if (ref.getId().equals(IConsoleConstants.ID_CONSOLE_VIEW)) { IViewPart part = ref.getView(restore); if (part != null) { consoleParts.add(part); if (restore) { return consoleParts; } } } } return consoleParts; }
/** * Gets the py code coverage view. May only be called in the UI thread. If the view is not visible, if createIfNotThere * is true, it's made visible. * * Note that it may return null if createIfNotThere == false and the view is not currently shown or if not in the * UI thread. */ public static PyCodeCoverageView getView(boolean createIfNotThere) { IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); try { if (workbenchWindow == null) { return null; } IWorkbenchPage page = workbenchWindow.getActivePage(); if (createIfNotThere) { return (PyCodeCoverageView) page.showView(PY_COVERAGE_VIEW_ID, null, IWorkbenchPage.VIEW_ACTIVATE); } else { IViewReference viewReference = page.findViewReference(PY_COVERAGE_VIEW_ID); if (viewReference != null) { //if it's there, return it (but don't restore it if it's still not there). //when made visible, it'll handle things properly later on. return (PyCodeCoverageView) viewReference.getView(false); } } } catch (Exception e) { Log.log(e); } return null; }
/** * Returns a IViewPart by its class. If cannot be found, returns null. */ public static IViewPart getView(Class c) { IWorkbenchPage page = getMainWindowActivePage(); if (page != null) { IViewReference[] views = page.getViewReferences(); for (int i = 0; i < views.length; i++) { if (views[i].getView(true) != null) { if (c.isInstance(views[i].getView(false))) { return views[i].getView(false); } } } } return null; }
public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) { ConvertigoPlugin.logDebug3("IWorkbenchPage perspectiveChanged : " + page.getLabel() + "(" + perspective.getLabel() + " - " + changeId + ")"); IViewReference introView = page.findViewReference("org.eclipse.ui.internal.introview"); // Maximize the intro view if present if (introView != null) { page.setPartState(introView, IWorkbenchPage.STATE_MAXIMIZED); } }
private boolean isScanView(IViewReference des) { IViewPart part = des.getView(false); if (part instanceof SeriesItemView) { SeriesItemView view = (SeriesItemView)part; return view.isSeriesOf(IPointGenerator.class); } return false; }
/** * Ensures that certain views exist and work has been done to load them. * @param ids */ public static void createViews(String... ids) { for (String id : ids) { // Try to ensure that the model view and regions view are initialized IViewReference ref = PageUtil.getPage().findViewReference(id); if (ref!=null) ref.getView(true); } }
private void resetWorkbench() { try { IViewReference[] views = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getViewReferences(); for (IViewReference iViewReference : views) { if ( iViewReference.getTitle().equals( "Welcome" ) ) { iViewReference.getPage().hideView(iViewReference); break; } } IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); IWorkbenchPage page = workbenchWindow.getActivePage(); Shell activeShell = Display.getCurrent().getActiveShell(); if ( activeShell != null && activeShell != workbenchWindow.getShell() ) { activeShell.close(); } page.closeAllEditors( false ); page.resetPerspective(); String defaultPerspectiveId = workbench.getPerspectiveRegistry().getDefaultPerspective(); workbench.showPerspective( defaultPerspectiveId, workbenchWindow ); page.resetPerspective(); } catch ( WorkbenchException e ) { throw new RuntimeException( e ); } }
private static void resetWorkbench() { try { IViewReference[] views = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage() .getViewReferences(); for (IViewReference iViewReference : views) { if (iViewReference.getTitle().equals("Welcome")) { iViewReference.getPage().hideView(iViewReference); break; } } IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow(); IWorkbenchPage page = workbenchWindow.getActivePage(); Shell activeShell = Display.getCurrent().getActiveShell(); if (activeShell != null && activeShell != workbenchWindow.getShell()) { activeShell.close(); } page.closeAllEditors(false); page.resetPerspective(); String defaultPerspectiveId = workbench.getPerspectiveRegistry().getDefaultPerspective(); workbench.showPerspective(defaultPerspectiveId, workbenchWindow); page.resetPerspective(); } catch (WorkbenchException e) { throw new RuntimeException(e); } }
/** * Locates a view by ID in the workbench and returns the first found (or * null if none were located.) * * @param id * The view ID to locate (not <code>null</code>) * @param activate * True to activate an inactive (but existing) view * @return the first found corresponding {@link IViewPart} or * <code>null</code> if none were located in the active workbench */ public static IViewPart getActiveView(final String id, final boolean activate) { Check.notNull(id, "id"); //$NON-NLS-1$ try { final IWorkbenchWindow workbenchWindow = Workbench.getInstance().getActiveWorkbenchWindow(); if (workbenchWindow != null) { final IWorkbenchPage[] pages = workbenchWindow.getPages(); for (int i = 0; i < pages.length; i++) { final IViewReference[] viewReferences = pages[i].getViewReferences(); for (int j = 0; j < viewReferences.length; j++) { if (id.equals(viewReferences[j].getId())) { final IViewPart view = viewReferences[j].getView(activate); if (view != null) { return view; } } } } } else { log.warn("Could not locate active workbench window"); //$NON-NLS-1$ } } catch (final Exception e) { final String messageFormat = "Could not locate view part {0}"; //$NON-NLS-1$ final String message = MessageFormat.format(messageFormat, id); log.warn(message, e); } return null; }