From 99eda3fa795360440ca1659b8f6378cd81206f9e Mon Sep 17 00:00:00 2001 From: axelcl Date: Sun, 25 Sep 2005 09:52:43 +0000 Subject: [PATCH] Implemented IShowInTarget --- .../phpeclipse/webbrowser/views/BrowserView.java | 219 +++++++++++--------- 1 files changed, 120 insertions(+), 99 deletions(-) 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 dbb7ca7..8edbbc5 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 @@ -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; /** - * BrowserView 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. - * + * BrowserView 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 -- 1.7.1