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;
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
*/
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;
}
}
* @see org.eclipse.ui.part.ViewPart#setFocus
*/
public void setFocus() {
- if (instance != null) {
- instance.setFocus();
+ if (fInstance != null) {
+ fInstance.setFocus();
}
}
* 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