Implemented IShowInTarget
authoraxelcl <axelcl>
Sun, 25 Sep 2005 09:52:43 +0000 (09:52 +0000)
committeraxelcl <axelcl>
Sun, 25 Sep 2005 09:52:43 +0000 (09:52 +0000)
net.sourceforge.phpeclipse.webbrowser/src/net/sourceforge/phpeclipse/webbrowser/views/BrowserView.java

index dbb7ca7..8edbbc5 100644 (file)
@@ -1,10 +1,10 @@
 /*******************************************************************************
  * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials 
+ * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Common Public License v1.0
  * which accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/cpl-v10.html
- * 
+ *
  * Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -13,119 +13,140 @@ 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.IFile;
+import org.eclipse.jface.viewers.IStructuredSelection;
 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.IShowInTarget;
+import org.eclipse.ui.part.ShowInContext;
 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";
+public class BrowserView extends ViewPart implements IShowInTarget {
+       public final static String ID_BROWSER = "net.sourceforge.phpeclipse.webbrowser.views";
 
-  WebBrowser fInstance = null;
-  String fUrl = null;
+       WebBrowser fInstance = null;
 
-  /**
-   * Create the example
-   * 
-   * @see ViewPart#createPartControl
-   */
-  public void createPartControl(Composite frame) {
-    try {
-      if (WebBrowserUtil.isInternalBrowserOperational()) {
-        fInstance = new WebBrowser(frame, true, true);
-      } 
-    } catch (Exception e) {
-      fInstance = null;
-    }
-  }
+       String fUrl = null;
 
-  /**
-   * Called when we must grab focus.
-   * 
-   * @see org.eclipse.ui.part.ViewPart#setFocus
-   */
-  public void setFocus() {
-    if (fInstance != null) {
-      fInstance.setFocus();
-    }
-  }
+       /**
+        * Create the example
+        *
+        * @see ViewPart#createPartControl
+        */
+       public void createPartControl(Composite frame) {
+               try {
+                       if (WebBrowserUtil.isInternalBrowserOperational()) {
+                               fInstance = new WebBrowser(frame, true, true);
+                       }
+               } catch (Exception e) {
+                       fInstance = null;
+               }
+       }
 
-  /**
-   * Called when the View is to be disposed
-   */
-  public void dispose() {
-    if (fInstance != null) {
-      fInstance.dispose();
-      fInstance = null;
-    }
-    super.dispose();
-  }
+       /**
+        * Called when we must grab focus.
+        *
+        * @see org.eclipse.ui.part.ViewPart#setFocus
+        */
+       public void setFocus() {
+               if (fInstance != null) {
+                       fInstance.setFocus();
+               }
+       }
 
-  public void setUrl(final String url) {
-    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();
-      //      }
-    }
-  }
+       /**
+        * Called when the View is to be disposed
+        */
+       public void dispose() {
+               if (fInstance != null) {
+                       fInstance.dispose();
+                       fInstance = null;
+               }
+               super.dispose();
+       }
 
-  public void refresh() {
-    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 setUrl(final String url) {
+               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(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 refresh() {
+               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 addStatusTextListener(StatusTextListener listener) {
-    if (fInstance != null) {
-      fInstance.addStatusTextListener(listener);
-    }
-  }
+       public void refresh(String url) {
+               if (fInstance != null) {
+                       if (fUrl == null || !fUrl.equals(url)) {
+                               setUrl(url);
+                       } else {
+                               refresh();
+                       }
+               }
+       }
 
-  public void addTitleListener(TitleListener listener) {
-    if (fInstance != null) {
-      fInstance.addTitleListener(listener);
-    }
-  }
+       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);
+               }
+       }
+
+       public boolean show(ShowInContext context) {
+               if (context.getSelection() instanceof IStructuredSelection) {
+                       IStructuredSelection ss = (IStructuredSelection) context.getSelection();
+                       if (ss.getFirstElement() instanceof IFile) {
+                               IFile file = (IFile) ss.getFirstElement();
+                               String localhostURL;
+                               localhostURL = file.getLocation().toString();
+                               setUrl(localhostURL);
+//                             bringToTop(this);
+                               return true;
+                       }
+               }
+               return false;
+       }
 }
\ No newline at end of file