abstractopenbrowseractiondelegate.java

来自「配置文件」· Java 代码 · 共 88 行

JAVA
88
字号
/**
 * Copyright (c) 2003-2005 Craig Setera
 * All Rights Reserved.
 * Licensed under the Eclipse Public License - v 1.0
 * For more information see http://www.eclipse.org/legal/epl-v10.html
 */
package eclipseme.ui.internal.support;

import org.eclipse.core.runtime.IStatus;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowActionDelegate;
import org.eclipse.ui.PartInitException;

import eclipseme.core.internal.EclipseMECorePlugin;

/**
 * Action delegate to open a browser to the EclipseME web site.
 * <p />
 * Copyright (c) 2003-2005 Craig Setera<br>
 * All Rights Reserved.<br>
 * Licensed under the Eclipse Public License - v 1.0<p/>
 * <br>
 * $Revision: 1.3 $
 * <br>
 * $Date: 2006/02/11 21:27:37 $
 * <br>
 * @author Craig Setera
 */
public abstract class AbstractOpenBrowserActionDelegate 
	implements IWorkbenchWindowActionDelegate 
{
	private IWorkbenchWindow window;
	
	/**
	 * Constructor 
	 */
	public AbstractOpenBrowserActionDelegate() {
		super();
	}

	/**
	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
	 */
	public void dispose() {
	}

	/**
	 * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#init(org.eclipse.ui.IWorkbenchWindow)
	 */
	public void init(IWorkbenchWindow window) {
		this.window = window;
	}

	/**
	 * @see org.eclipse.ui.IActionDelegate#run(org.eclipse.jface.action.IAction)
	 */
	public void run(IAction action) {
		openBrowser(getURL());
	}

	/**
	 * @see org.eclipse.ui.IActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
	 */
	public void selectionChanged(IAction action, ISelection selection) {
	}

	/**
	 * Return the URL to be displayed.
	 * @return
	 */
	protected abstract String getURL();
	
	/**
	 * Open the browser on the specified url
	 * @param url
	 */
	private void openBrowser(String url) {
		URLEditorInput input = new URLEditorInput(url);
		try {
			window.getActivePage().openEditor(input, BrowserEditor.ID_EDITOR);
		} catch (PartInitException e) {
			EclipseMECorePlugin.log(IStatus.WARNING, "Error launching browser", e);
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?