misc
[phpeclipse.git] / net.sourceforge.phpeclipse.webbrowser / src / net / sourceforge / phpeclipse / webbrowser / views / BrowserView.java
1 /*******************************************************************************
2  * Copyright (c) 2000, 2003 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials 
4  * are made available under the terms of the Common Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/cpl-v10.html
7  * 
8  * Contributors:
9  *     IBM Corporation - initial API and implementation
10  *******************************************************************************/
11 package net.sourceforge.phpeclipse.webbrowser.views;
12
13 import net.sourceforge.phpeclipse.webbrowser.internal.BrowserManager;
14 import net.sourceforge.phpeclipse.webbrowser.internal.WebBrowser;
15 import net.sourceforge.phpeclipse.webbrowser.internal.WebBrowserUtil;
16
17 import org.eclipse.swt.browser.ProgressListener;
18 import org.eclipse.swt.browser.StatusTextListener;
19 import org.eclipse.swt.browser.TitleListener;
20 import org.eclipse.swt.widgets.Composite;
21 import org.eclipse.ui.part.ViewPart;
22
23 /**
24  * <code>BrowserView</code> is a simple demonstration of the SWT Browser widget. It consists of a workbench view and tab folder
25  * where each tab in the folder allows the user to interact with a control.
26  * 
27  * @see ViewPart
28  */
29 public class BrowserView extends ViewPart {
30   public final static String ID_BROWSER = "net.sourceforge.phpeclipse.webbrowser.views";
31
32   WebBrowser instance = null;
33
34   /**
35    * Create the example
36    * 
37    * @see ViewPart#createPartControl
38    */
39   public void createPartControl(Composite frame) {
40     try {
41       if (WebBrowserUtil.canUseInternalWebBrowser()) {
42         instance = new WebBrowser(frame, true, true);
43       } 
44     } catch (Exception e) {
45       instance = null;
46     }
47   }
48
49   /**
50    * Called when we must grab focus.
51    * 
52    * @see org.eclipse.ui.part.ViewPart#setFocus
53    */
54   public void setFocus() {
55     if (instance != null) {
56       instance.setFocus();
57     }
58   }
59
60   /**
61    * Called when the View is to be disposed
62    */
63   public void dispose() {
64     if (instance != null) {
65       instance.dispose();
66       instance = null;
67     }
68     super.dispose();
69   }
70
71   public void setUrl(final String url) {
72     if (instance != null) {
73       instance.setURL(url);
74       //      try {
75       //        ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
76       //          public void run(IProgressMonitor monitor) throws CoreException {
77       //            instance.setURL(url);
78       //          }
79       //        }, null);
80       //      } catch (CoreException e) {
81       //        // TODO Auto-generated catch block
82       //        e.printStackTrace();
83       //      }
84     }
85   }
86
87   public void refresh() {
88     if (instance != null) {
89       instance.refresh();
90       //      try {
91       //        ResourcesPlugin.getWorkspace().run(new IWorkspaceRunnable() {
92       //          public void run(IProgressMonitor monitor) throws CoreException {
93       //            instance.refresh();
94       //          }
95       //        }, null);
96       //      } catch (CoreException e) {
97       //        // TODO Auto-generated catch block
98       //        e.printStackTrace();
99       //      }
100     }
101   }
102
103   public void addProgressListener(ProgressListener listener) {
104     if (instance != null) {
105       instance.addProgressListener(listener);
106     }
107   }
108
109   public void addStatusTextListener(StatusTextListener listener) {
110     if (instance != null) {
111       instance.addStatusTextListener(listener);
112     }
113   }
114
115   public void addTitleListener(TitleListener listener) {
116     if (instance != null) {
117       instance.addTitleListener(listener);
118     }
119   }
120 }