public boolean performFinish() { try { String perspId = selection.getAttribute("perspectiveId"); // $NON-NLS-1$ IWorkbenchPage page = PDEPlugin.getActivePage(); if (perspId != null && switchPerspective) { PlatformUI.getWorkbench().showPerspective(perspId, page.getWorkbenchWindow()); } SampleOperation op = new SampleOperation(selection, namesPage.getProjectNames(), new ImportOverwriteQuery()); getContainer().run(true, true, op); IFile sampleManifest = op.getSampleManifest(); if (selectRevealEnabled) { selectReveal(getShell()); } if (activitiesEnabled) enableActivities(); if (sampleEditorNeeded && sampleManifest != null) IDE.openEditor(page, sampleManifest, true); } catch (InvocationTargetException e) { PDEPlugin.logException(e); return false; } catch (InterruptedException e) { // PDEPlugin.logException(e); return false; } catch (CoreException e) { PDEPlugin.logException(e); return false; } catch (OperationCanceledException e) { return false; } return true; }
/* (non-Javadoc) * @see PerspectiveMenu#run(IPerspectiveDescriptor) */ protected void run(IPerspectiveDescriptor desc) { // IPreferenceStore store = PrefUtil.getInternalPreferenceStore(); // int mode = store.getInt(IPreferenceConstants.OPEN_PERSP_MODE); int mode = IPreferenceConstants.OPM_ACTIVE_PAGE; IWorkbenchPage page = getWindow().getActivePage(); IPerspectiveDescriptor persp = null; if (page != null) { persp = page.getPerspective(); } // Only open a new window if user preference is set and the window // has an active perspective. if (IPreferenceConstants.OPM_NEW_WINDOW == mode && persp != null) { try { IWorkbench workbench = getWindow().getWorkbench(); IAdaptable input = ((Workbench) workbench).getDefaultPageInput(); workbench.openWorkbenchWindow(desc.getId(), input); } catch (WorkbenchException e) { handleWorkbenchException(e); } } else { if (page != null) { page.setPerspective(desc); } else { try { IWorkbench workbench = getWindow().getWorkbench(); IAdaptable input = ((Workbench) workbench).getDefaultPageInput(); getWindow().openPage(desc.getId(), input); } catch (WorkbenchException e) { handleWorkbenchException(e); } } } }
/* * @see AbstractPartSelectionTracker#getSelection() */ public ISelection getSelection() { IWorkbenchPage page = getWindow().getActivePage(); if (page != null) { return page.getSelection(getPartId()); } return null; }
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(); }
public static void updateMainWindowTitle(IWorkbenchWindow window) { IProject activeProject = DBeaverCore.getInstance().getProjectRegistry().getActiveProject(); IProduct product = Platform.getProduct(); String title = product == null ? "Unknown" : product.getName(); // $NON-NLS-1$ if (activeProject != null) { title += " - " + activeProject.getName(); // $NON-NLS-1$ } IWorkbenchPage activePage = window.getActivePage(); if (activePage != null) { IEditorPart activeEditor = activePage.getActiveEditor(); if (activeEditor != null) { title += " - [ " + activeEditor.getTitle() + " ]"; } } window.getShell().setText(title); }
@Nullable public static IWorkbenchPartSite getWorkbenchPartSite(IServiceLocator serviceLocator) { IWorkbenchPartSite partSite = serviceLocator.getService(IWorkbenchPartSite.class); if (partSite == null) { IWorkbenchPart activePart = serviceLocator.getService(IWorkbenchPart.class); if (activePart == null) { IWorkbenchWindow workbenchWindow = DBeaverUI.getActiveWorkbenchWindow(); if (workbenchWindow != null) { IWorkbenchPage activePage = workbenchWindow.getActivePage(); if (activePage != null) { activePart = activePage.getActivePart(); } } } if (activePart != null) { partSite = activePart.getSite(); } } return partSite; }
protected void update() { IWorkbenchPage page = fSourcePage.getSite().getWorkbenchWindow().getActivePage(); if (page != null) { IPerspectiveDescriptor perspective = page.getPerspective(); if (perspective != null) { String perspectiveId = perspective.getId(); if (fCurrentPerspective == null || fCurrentPerspective != perspectiveId) { fCurrentPerspective = perspectiveId; switch (fImpType) { case F_MANIFEST_IMP: fImplementation = new ManifestTextHover(fSourcePage); break; case F_XML_IMP: fImplementation = new PluginXMLTextHover(fSourcePage); break; } } } } }
private void openInCompare(ITypedElement ancestor, ITypedElement left, ITypedElement right) { IWorkbenchPage workBenchPage = getTargetPage(); CompareEditorInput input = new SaveablesCompareEditorInput(ancestor, left, right, workBenchPage); IEditorPart editor = Utils.findReusableCompareEditor( input, workBenchPage, new Class[] {CompareFileRevisionEditorInput.class}); if (editor != null) { IEditorInput otherInput = editor.getEditorInput(); if (otherInput.equals(input)) { // simply provide focus to editor workBenchPage.activate(editor); } else { // if editor is currently not open on that input either re-use // existing CompareUI.reuseCompareEditor(input, (IReusableEditor) editor); workBenchPage.activate(editor); } } else { CompareUI.openCompareEditor(input); } }
/** * Log an event fired from the workbench page * * @param page * @param eventId */ public static final void logPartListener2Event( IWorkbenchPage page, IWorkbenchPartReference part, String eventId) { if (isEnabled(PAGE_PARTLISTENER2_EVENTS)) { System.out.println( PAGE_PARTLISTENER2_EVENTS + " page " //$NON-NLS-1$ + Util.safeString(page.getLabel()) + ", " + eventId + "(" + getPartId(part) + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } }
/** * Log an event fired from the workbench page * * @param page * @param eventId */ public static final void logPagePropertyChanged( IWorkbenchPage page, String changeId, Object oldValue, Object newValue) { if (isEnabled(PAGE_PROPERTY_EVENTS)) { System.out.println( PAGE_PROPERTY_EVENTS + " page " //$NON-NLS-1$ + Util.safeString(page.getLabel()) + ", " + changeId + " = " + Util.safeString(newValue.toString()) + "( old value = " + newValue.toString() + " )"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ } }
private static String getPageId(IWorkbenchPage page) { return "page " + Util.safeString(Integer.toString(page.hashCode() % 1000)); // $NON-NLS-1$ }
/* * @see IPageListener#pageOpened(IWorkbenchPage) */ public void pageOpened(IWorkbenchPage page) { page.addSelectionListener(getPartId(), selListener); page.addPostSelectionListener(getPartId(), postSelListener); }
/* * @see IPageListener#pageClosed(IWorkbenchPage) */ public void pageClosed(IWorkbenchPage page) { page.removeSelectionListener(getPartId(), selListener); page.removePostSelectionListener(getPartId(), postSelListener); }