X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.webbrowser/src/net/sourceforge/phpeclipse/webbrowser/views/BrowserView.java b/net.sourceforge.phpeclipse.webbrowser/src/net/sourceforge/phpeclipse/webbrowser/views/BrowserView.java index 36cf147..dbb7ca7 100644 --- a/net.sourceforge.phpeclipse.webbrowser/src/net/sourceforge/phpeclipse/webbrowser/views/BrowserView.java +++ b/net.sourceforge.phpeclipse.webbrowser/src/net/sourceforge/phpeclipse/webbrowser/views/BrowserView.java @@ -13,13 +13,9 @@ package net.sourceforge.phpeclipse.webbrowser.views; import net.sourceforge.phpeclipse.webbrowser.internal.WebBrowser; import net.sourceforge.phpeclipse.webbrowser.internal.WebBrowserUtil; -import org.eclipse.core.resources.IWorkspaceRunnable; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.swt.browser.ProgressListener; +import org.eclipse.swt.browser.StatusTextListener; +import org.eclipse.swt.browser.TitleListener; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.part.ViewPart; @@ -32,7 +28,8 @@ import org.eclipse.ui.part.ViewPart; public class BrowserView extends ViewPart { public final static String ID_BROWSER = "net.sourceforge.phpeclipse.webbrowser.views"; - WebBrowser instance = null; + WebBrowser fInstance = null; + String fUrl = null; /** * Create the example @@ -41,11 +38,11 @@ public class BrowserView extends ViewPart { */ public void createPartControl(Composite frame) { try { - if (WebBrowserUtil.canUseInternalWebBrowser()) { - instance = new WebBrowser(frame, true, true); - } + if (WebBrowserUtil.isInternalBrowserOperational()) { + fInstance = new WebBrowser(frame, true, true); + } } catch (Exception e) { - instance = null; + fInstance = null; } } @@ -55,8 +52,8 @@ public class BrowserView extends ViewPart { * @see org.eclipse.ui.part.ViewPart#setFocus */ public void setFocus() { - if (instance != null) { - instance.setFocus(); + if (fInstance != null) { + fInstance.setFocus(); } } @@ -64,40 +61,71 @@ public class BrowserView extends ViewPart { * Called when the View is to be disposed */ public void dispose() { - if (instance != null) { - instance.dispose(); - instance = null; + if (fInstance != null) { + fInstance.dispose(); + fInstance = null; } super.dispose(); } public void setUrl(final String url) { - if (instance != null) { - try { - ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() { - public void run(IProgressMonitor monitor) throws CoreException { - instance.setURL(url); - } - }, null); - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + if (fInstance != null) { + fUrl = url; + fInstance.setURL(url); + // try { + // ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() { + // public void run(IProgressMonitor monitor) throws CoreException { + // instance.setURL(url); + // } + // }, null); + // } catch (CoreException e) { + // // TODO Auto-generated catch block + // e.printStackTrace(); + // } } } public void refresh() { - if (instance != null) { - try { - ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() { - public void run(IProgressMonitor monitor) throws CoreException { - instance.refresh(); - } - }, null); - } catch (CoreException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + if (fInstance != null) { + fInstance.refresh(); + // try { + // ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() { + // public void run(IProgressMonitor monitor) throws CoreException { + // instance.refresh(); + // } + // }, null); + // } catch (CoreException e) { + // // TODO Auto-generated catch block + // e.printStackTrace(); + // } + } + } + + public void refresh(String url) { + if (fInstance != null) { + if (fUrl==null || !fUrl.equals(url) ) { + setUrl(url); + } else { + refresh(); } } + } + + public void addProgressListener(ProgressListener listener) { + if (fInstance != null) { + fInstance.addProgressListener(listener); + } + } + + public void addStatusTextListener(StatusTextListener listener) { + if (fInstance != null) { + fInstance.addStatusTextListener(listener); + } + } + + public void addTitleListener(TitleListener listener) { + if (fInstance != null) { + fInstance.addTitleListener(listener); + } } } \ No newline at end of file