package org.bundlemaker.core.ui.utils; import org.bundlemaker.core.ui.internal.Activator; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.internal.part.NullEditorInput; public class EditorHelper { public static IEditorPart openEditor(String editorId, IEditorInput editorInput) { IWorkbenchPage page = getActiveWorkbenchPage(); if (page != null) { try { return page.openEditor(editorInput, editorId); // if (!(editorPart instanceof DependencyViewEditor)) { // System.err.println("EditorPart " + editorPart + " is not a DependencyViewEditor?"); // return; // } } catch (PartInitException e) { IStatus status = new Status(Status.ERROR, Activator.PLUGIN_ID, "Could not Open Editor '" + editorId + "': " + e, e); Activator.getDefault().getLog().log(status); } } return null; } @SuppressWarnings("restriction") public static IEditorInput newNullEditorInput() { return new NullEditorInput(); } private static IWorkbenchPage getActiveWorkbenchPage() { IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); if (workbenchWindow != null) { IWorkbenchPage workbenchPage = workbenchWindow.getActivePage(); if (workbenchPage != null) { return workbenchPage; } } return null; } }