1 11 package org.eclipse.ui.internal.browser; 12 13 import java.net.URL ; 14 15 import org.eclipse.ui.IEditorPart; 16 import org.eclipse.ui.IWorkbenchPage; 17 import org.eclipse.ui.IWorkbenchWindow; 18 import org.eclipse.ui.PartInitException; 19 22 public class InternalBrowserEditorInstance extends InternalBrowserInstance { 23 24 public InternalBrowserEditorInstance(String id, int style, String name, String tooltip) { 25 super(id, style, name, tooltip); 26 } 27 28 public void openURL(URL url) throws PartInitException { 29 WebBrowserEditorInput input = new WebBrowserEditorInput(url, style); 30 input.setName(this.name); 31 input.setToolTipText(this.tooltip); 32 WebBrowserEditor editor = (WebBrowserEditor)part; 33 34 IWorkbenchWindow workbenchWindow = WebBrowserUIPlugin.getInstance().getWorkbench().getActiveWorkbenchWindow(); 35 IWorkbenchPage page = null; 36 if (workbenchWindow != null) 37 page = workbenchWindow.getActivePage(); 38 39 if (page == null) 40 throw new PartInitException(Messages.errorCouldNotLaunchInternalWebBrowser); 41 42 if (editor != null) { 43 editor.init(editor.getEditorSite(), input); 44 page.activate(editor); 45 } else { 46 try { 47 IEditorPart editorPart = page.openEditor(input, WebBrowserEditor.WEB_BROWSER_EDITOR_ID); 48 hookPart(page, editorPart); 49 } catch (Exception e) { 50 Trace.trace(Trace.SEVERE, "Error opening Web browser", e); } 52 } 53 } 54 55 public boolean close() { 56 try { 57 return ((WebBrowserEditor)part).close(); 58 } catch (Exception e) { 59 return false; 60 } 61 } 62 } | Popular Tags |