* IBM Corporation - initial API and implementation
*******************************************************************************/
package net.sourceforge.phpeclipse.webbrowser.views;
+
import net.sourceforge.phpeclipse.webbrowser.internal.WebBrowser;
-import net.sourceforge.phpeclipse.webbrowser.internal.WebBrowserUIPlugin;
import net.sourceforge.phpeclipse.webbrowser.internal.WebBrowserUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.browser.Browser;
+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.widgets.Composite;
import org.eclipse.ui.part.ViewPart;
+
/**
- * <code>BrowserView</code> is a simple demonstration of the SWT Browser
- * widget. It consists of a workbench view and tab folder where each tab in the
- * folder allows the user to interact with a control.
+ * <code>BrowserView</code> is a simple demonstration of the SWT Browser widget. It consists of a workbench view and tab folder
+ * where each tab in the folder allows the user to interact with a control.
*
* @see ViewPart
*/
public class BrowserView extends ViewPart {
public final static String ID_BROWSER = "net.sourceforge.phpeclipse.webbrowser.views";
+
WebBrowser instance = null;
+
/**
* Create the example
*
*/
public void createPartControl(Composite frame) {
try {
- if (WebBrowserUtil.canUseInternalWebBrowser() ) {
+ if (WebBrowserUtil.canUseInternalWebBrowser()) {
instance = new WebBrowser(frame, true, true);
}
- } catch(Exception e) {
+ } catch (Exception e) {
instance = null;
}
}
+
/**
* Called when we must grab focus.
*
* @see org.eclipse.ui.part.ViewPart#setFocus
*/
public void setFocus() {
- if (instance!=null) {
+ if (instance != null) {
instance.setFocus();
}
}
+
/**
* Called when the View is to be disposed
*/
public void dispose() {
- if (instance!=null) {
+ if (instance != null) {
instance.dispose();
instance = null;
}
super.dispose();
}
- public void setUrl(String url) {
- if (instance!=null) {
- instance.setURL(url);
+
+ 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();
+ }
}
}
+
public void refresh() {
- if (instance!=null) {
- instance.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();
+ }
}
}
-}
+}
\ No newline at end of file