public SelectedArtifactSelectionManager getSelectedBindingManager() { if (selectedBindingManager == null) { selectedBindingManager = new SelectedArtifactSelectionManager(IBindingRipper.Utils.ripper()); selectedBindingManager.addSelectedArtifactSelectionListener( new ISelectedBindingListener() { @Override public void selectionOccured(BindingRipperResult ripperResult) { Map<String, Object> context = Maps.makeMap(DisplayCoreConstants.ripperResult, ripperResult); IUrlGeneratorMap urlGeneratorMap = getUrlGeneratorMap(); IUrlGenerator urlGenerator = urlGeneratorMap.get(RepositoryConstants.entityJar); String hexDigest = ripperResult.hexDigest; String jarUrl = urlGenerator.apply(hexDigest); getRepository().getData(RepositoryConstants.entityJar, jarUrl, context); } }); IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbenchWindow[] workbenchWindows = workbench.getWorkbenchWindows(); for (int i = 0; i < workbenchWindows.length; i++) { IWorkbenchWindow workbenchWindow = workbench.getWorkbenchWindows()[i]; ISelectionService selectionService = workbenchWindow.getSelectionService(); selectionService.addPostSelectionListener(selectedBindingManager); } } return selectedBindingManager; }
@Override public void stop(BundleContext context) throws Exception { plugin = null; if (repository != null) repository.shutdown(); if (selectedBindingManager != null) { IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbenchWindow[] workbenchWindows = workbench.getWorkbenchWindows(); for (int i = 0; i < workbenchWindows.length; i++) { IWorkbenchPage page = workbench.getWorkbenchWindows()[i].getActivePage(); page.removeSelectionListener(selectedBindingManager); } } super.stop(context); }
private boolean isAllOpenEditorsOnWorkspace() { boolean onlyFilesEditorInput = true; IWorkbench workbench = SearchPlugin.getDefault().getWorkbench(); IWorkbenchWindow[] windows = workbench.getWorkbenchWindows(); for (int i = 0; i < windows.length; i++) { IWorkbenchPage[] pages = windows[i].getPages(); for (int x = 0; x < pages.length; x++) { IEditorReference[] editorRefs = pages[x].getEditorReferences(); for (int z = 0; z < editorRefs.length; z++) { IEditorPart ep = editorRefs[z].getEditor(false); if ((ep instanceof ITextEditor)) { // only dirty editors IEditorInput input = ep.getEditorInput(); if (input instanceof IFileEditorInput) { continue; } if (input instanceof IPathEditorInput) { onlyFilesEditorInput = false; } } } } } return onlyFilesEditorInput; }
/** * This method is called when 'Finish' button is pressed in the wizard. We will create an * operation and run it using wizard as execution context. */ public boolean performFinish() { final String fileName = page.getProjectName(); IRunnableWithProgress op = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) throws InvocationTargetException { try { doFinish(fileName, monitor); } catch (CoreException e) { throw new InvocationTargetException(e); } finally { monitor.done(); } } }; try { getContainer().run(true, false, op); workbench.showPerspective( "edu.rosehulman.soar.perspective.SoarPerspectiveFactory", workbench.getWorkbenchWindows()[0]); } catch (InterruptedException e) { return false; } catch (InvocationTargetException e) { Throwable realException = e.getTargetException(); MessageDialog.openError(getShell(), "Error", realException.getMessage()); return false; } catch (WorkbenchException e) { MessageDialog.openError(getShell(), "Error", e.getMessage()); return false; } return true; }
public static void open(final IValue value) { if (value == null) { return; } IWorkbench wb = PlatformUI.getWorkbench(); IWorkbenchWindow win = wb.getActiveWorkbenchWindow(); if (win == null && wb.getWorkbenchWindowCount() != 0) { win = wb.getWorkbenchWindows()[0]; } if (win != null) { final IWorkbenchPage page = win.getActivePage(); if (page != null) { Display.getDefault() .asyncExec( new Runnable() { public void run() { try { page.openEditor(new ValueEditorInput(value, true, 2), Editor.EditorId); } catch (PartInitException e) { PDBUIPlugin.getDefault().logException("failed to open tree editor", e); } } }); } } }
public static IWorkbench getMockWorkbench(String file) { IWorkbench workbench = mock(IWorkbench.class); IWorkbenchWindow window = mock(IWorkbenchWindow.class); IWorkbenchPage page = mock(IWorkbenchPage.class); ITextEditor editor = mock(ITextEditor.class); IDocumentProvider docProvider = mock(IDocumentProvider.class); IDocument doc = mock(IDocument.class); IPath ipath = mock(IPath.class); File afile = mock(File.class); IFile inputFile = mock(IFile.class); IFileEditorInput editorInput = mock(IFileEditorInput.class); when(workbench.getWorkbenchWindows()).thenReturn(new IWorkbenchWindow[] {window}); when(window.getActivePage()).thenReturn(page); when(page.getActiveEditor()).thenReturn(editor); when(editor.getEditorInput()).thenReturn(editorInput); when(editor.getDocumentProvider()).thenReturn(docProvider); when(editorInput.getFile()).thenReturn(inputFile); when(docProvider.getDocument(any())).thenReturn(doc); when(inputFile.getLocation()).thenReturn(ipath); when(inputFile.getName()).thenReturn(file); when(ipath.toFile()).thenReturn(afile); when(afile.length()).thenReturn(33l); return workbench; }
/** * Provide the initialization of the listeners additions. The Window, Part, and Document Listener * are added. Note that sensor shell should be instantiated before this method is called because * <code>processActivity()</code> method uses sensor shell instance. */ private void registerListeners() { IWorkbench workbench = EclipseSensorPlugin.getInstance().getWorkbench(); // :RESOLVED: JULY 1, 2003 // Supports the multiple window for sensor collection. IWorkbenchWindow[] activeWindows = workbench.getWorkbenchWindows(); // Check if window listener is not added yet. Otherwise multi instances are notified. if (this.windowListener == null) { this.windowListener = new WindowListenerAdapter(); workbench.addWindowListener(new WindowListenerAdapter()); } for (int i = 0; i < activeWindows.length; i++) { IWorkbenchPage activePage = activeWindows[i].getActivePage(); activePage.addPartListener(new PartListenerAdapter()); IEditorPart activeEditorPart = activePage.getActiveEditor(); // Adds this EclipseSensorPlugin instance to IDocumentListener // only when activeEditorPart is the instance of ITextEditor // so that null case is also ignored. if (activeEditorPart instanceof ITextEditor) { // Sets activeTextEditor. Otherwise a first activated file would not be recorded. this.activeTextEditor = (ITextEditor) activeEditorPart; // Gets opened file since the initial opened file is not notified from IPartListener. URI fileResource = EclipseSensor.this.getFileResource(this.activeTextEditor); Map<String, String> keyValueMap = new HashMap<String, String>(); keyValueMap.put(EclipseSensorConstants.SUBTYPE, "Open"); keyValueMap.put(EclipseSensorConstants.UNIT_TYPE, EclipseSensorConstants.FILE); keyValueMap.put( EclipseSensorConstants.UNIT_NAME, EclipseSensor.this.extractFileName(fileResource)); this.addDevEvent( EclipseSensorConstants.DEVEVENT_EDIT, fileResource, keyValueMap, "Opened " + fileResource.toString()); IDocumentProvider provider = this.activeTextEditor.getDocumentProvider(); IDocument document = provider.getDocument(activeEditorPart.getEditorInput()); // Initially sets active buffer and threshold buffer. // Otherwise a first activated buffer would not be recorded. this.activeBufferSize = document.getLength(); this.thresholdBufferSize = document.getLength(); document.addDocumentListener(new DocumentListenerAdapter()); } } // Handles breakpoint set/unset event. IBreakpointManager bpManager = DebugPlugin.getDefault().getBreakpointManager(); bpManager.addBreakpointListener(new BreakPointerSensor(this)); // Listens to debug event. DebugPlugin.getDefault().addDebugEventListener(new DebugSensor(this)); // Creates instance to handle build error. this.buildErrorSensor = new BuildErrorSensor(this); }
/** Start the manager */ public void start() { IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbenchWindow[] windows = workbench.getWorkbenchWindows(); for (int i = 0; i < windows.length; i++) { instance.windowOpened(windows[i]); } workbench.addWindowListener(this); instance.activewindow = workbench.getActiveWorkbenchWindow(); }
public static IWorkbenchWindow getActiveWindow() { IWorkbench workbench = getDefault().getWorkbench(); IWorkbenchWindow active = workbench.getActiveWorkbenchWindow(); if (active == null) { IWorkbenchWindow[] windows = workbench.getWorkbenchWindows(); if (windows.length == 0) throw new RuntimeException(Messages.Q7UIPlugin_NoActiveWindowErrorMsg); return windows[0]; } return active; }
@NotNull public static IWorkbenchWindow getActiveWorkbenchWindow() { IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbenchWindow window = workbench.getActiveWorkbenchWindow(); if (window != null) { return window; } IWorkbenchWindow[] windows = workbench.getWorkbenchWindows(); if (windows.length > 0) { return windows[0]; } throw new IllegalStateException("No workbench window"); }
private IEditorInput getEditorInput() throws IOException { IWorkbench wb = PlatformUI.getWorkbench(); IWorkbenchWindow[] wws = wb.getWorkbenchWindows(); if (wws.length != 1) throw new IOException("Failed to find workbench window"); IWorkbenchWindow ww = wws[0]; IWorkbenchPage[] wps = ww.getPages(); if (wws.length != 1) throw new IOException("Failed to find workbench page"); IWorkbenchPage wp = wps[0]; IEditorPart ep = wp.getActiveEditor(); if (ep == null) throw new IOException("Failed to find active editor"); return ep.getEditorInput(); }
/** * Posts the update code "behind" the running operation. * * @param runnable the update code */ protected void update(Runnable runnable) { if (runnable instanceof SafeChange) { fireElementStateChanging(fileEditorInput); } IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbenchWindow[] windows = workbench.getWorkbenchWindows(); if (windows != null && windows.length > 0) { Display display = windows[0].getShell().getDisplay(); display.asyncExec(runnable); } else { runnable.run(); } }
private IWorkbenchPage getWorkbenchPage() { IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); if (window == null) { IWorkbenchWindow[] windows = workbench.getWorkbenchWindows(); if (windows.length == 0) return null; window = windows[0]; } IWorkbenchPage page = window.getActivePage(); if (page == null) return null; return page; }
public static Collection<IEditorPart> getAllErlangEditors() { final List<IEditorPart> result = Lists.newArrayList(); final IWorkbench workbench = ErlideUIPlugin.getDefault().getWorkbench(); for (final IWorkbenchWindow i : workbench.getWorkbenchWindows()) { for (final IWorkbenchPage j : i.getPages()) { for (final IEditorReference editorReference : j.getEditorReferences()) { final IEditorPart editorPart = editorReference.getEditor(false); if (editorPart instanceof ErlangEditor) { result.add(editorPart); } } } } return result; }
private static IEditorPart[] getDirtyEditors(String mask) { List<IEditorPart> result = new ArrayList<IEditorPart>(0); IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbenchWindow[] windows = workbench.getWorkbenchWindows(); for (int i = 0; i < windows.length; i++) { IWorkbenchPage[] pages = windows[i].getPages(); for (int x = 0; x < pages.length; x++) { IEditorPart[] editors = pages[x].getDirtyEditors(); for (int z = 0; z < editors.length; z++) { IEditorPart ep = editors[z]; if (ep.getTitle().indexOf(mask) > 0) { result.add(ep); } } } } return result.toArray(new IEditorPart[result.size()]); }
/** * Returns an array of all editors that have an unsaved content. If the identical content is * presented in more than one editor, only one of those editor parts is part of the result. * * @return an array of all dirty editor parts. */ public static IEditorPart[] getDirtyEditors() { Set<IEditorInput> inputs = new HashSet<IEditorInput>(); List<IEditorPart> result = new ArrayList<IEditorPart>(0); IWorkbench workbench = PlatformUI.getWorkbench(); IWorkbenchWindow[] windows = workbench.getWorkbenchWindows(); for (int i = 0; i < windows.length; i++) { IWorkbenchPage[] pages = windows[i].getPages(); for (int x = 0; x < pages.length; x++) { IEditorPart[] editors = pages[x].getDirtyEditors(); for (int z = 0; z < editors.length; z++) { IEditorPart ep = editors[z]; IEditorInput input = ep.getEditorInput(); if (inputs.add(input)) { result.add(ep); } } } } return result.toArray(new IEditorPart[result.size()]); }
/** * Returns an array of all editors that have an unsaved content. If the identical content is * presented in more than one editor, only one of those editor parts is part of the result. * * @return an array of all dirty editor parts. */ public static IEditorPart[] getDirtyEditors() { Set inputs = new HashSet(); List result = new ArrayList(0); IWorkbench workbench = getDefault().getWorkbench(); IWorkbenchWindow[] windows = workbench.getWorkbenchWindows(); for (int i = 0; i < windows.length; i++) { IWorkbenchPage[] pages = windows[i].getPages(); for (int x = 0; x < pages.length; x++) { IEditorPart[] editors = pages[x].getDirtyEditors(); for (int z = 0; z < editors.length; z++) { IEditorPart ep = editors[z]; IEditorInput input = ep.getEditorInput(); if (!inputs.contains(input)) { inputs.add(input); result.add(ep); } } } } return (IEditorPart[]) result.toArray(new IEditorPart[result.size()]); }
public void earlyStartup() { IWorkbench workbench = PlatformUI.getWorkbench(); windows = workbench.getWorkbenchWindows(); workbench.getDisplay().asyncExec(this); }