⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editors.java

📁 AJAX_aptana_update 关于AJAX的Eclipse插件。可以在这里下载的
💻 JAVA
字号:
/** * Copyright (c) 2005-2006 Aptana, Inc. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html. If redistributing this code, * this entire header must remain intact. */package org.eclipse.eclipsemonkey.lang.javascript.doms.editors;import java.util.ArrayList;import java.util.Hashtable;import org.eclipse.swt.widgets.Display;import org.eclipse.ui.IEditorPart;import org.eclipse.ui.IEditorReference;import org.eclipse.ui.IWorkbench;import org.eclipse.ui.IWorkbenchPage;import org.eclipse.ui.IWorkbenchWindow;import org.eclipse.ui.PlatformUI;import org.mozilla.javascript.Context;import org.mozilla.javascript.Scriptable;import org.mozilla.javascript.ScriptableObject;/** * @author Kevin Lindsey, Paul Colton (Aptana, Inc.) */public class Editors extends ScriptableObject{	/*	 * Fields	 */	private static final long serialVersionUID = -1034231442157154583L;		private Hashtable _editorsByType;		/*	 * Properties	 */	/**	 * @see org.mozilla.javascript.ScriptableObject#getClassName()	 */	public String getClassName()	{		return "Editors";	}	/*	 * Constructors	 */	/**	 * Editors (default contructor-should not be used directly)	 */	public Editors()	{		System.err.println("Shouldn't be used directly.");	}	/**	 * Create a new instance of Views	 * 	 * @param scope	 */	public Editors(Scriptable scope)	{		this.setParentScope(scope);		String[] names = new String[] { 				//"open", 				"toString"				};		this.defineFunctionProperties(names, Editors.class, PERMANENT | READONLY);		this.defineProperty("all", Editors.class, PERMANENT | READONLY);		this.defineProperty("activeEditor", Editors.class, PERMANENT | READONLY);				return;	}	/*	 * Methods	 */	/**	 * getAll	 * 	 * @param thisObj	 * @return Scriptable	 */	public static Scriptable getAll(ScriptableObject thisObj)	{		final IWorkbench workbench = PlatformUI.getWorkbench();		final ArrayList editors = new ArrayList();		Display display = workbench.getDisplay();		final Scriptable scope = thisObj.getParentScope();		display.syncExec(new Runnable()		{			public void run()			{				IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();				IWorkbenchPage[] pages = window.getPages();				for (int i = 0; i < pages.length; i++)				{					IWorkbenchPage page = pages[i];					IEditorReference[] editorRefs = page.getEditorReferences();					for (int j = 0; j < editorRefs.length; j++)					{						IEditorPart editor = editorRefs[j].getEditor(false);						editors.add(new Editor(scope, editor));					}				}			}		});		Context cx = Context.getCurrentContext();		Object[] args = editors.toArray();		return cx.newArray(scope, args);	}	/**	 * getActiveEditor	 * 	 * @param thisObj	 * @return Scriptable	 */	public static Object getActiveEditor(ScriptableObject thisObj)	{		IEditorPart editor = getActiveEditor();		Object result;		if (editor != null)		{			result = new Editor(thisObj.getParentScope(), editor);		}		else		{			result = Context.getUndefinedValue();		}		return result;	}	/**	 * getActiveEditor	 * 	 * @return IEditorPart	 */	private static IEditorPart getActiveEditor()	{		/**		 * ActiveEditorRef		 */		class ActiveEditorRef		{			public IEditorPart activeEditor;		}		final IWorkbench workbench = PlatformUI.getWorkbench();		final ActiveEditorRef activeEditor = new ActiveEditorRef();		Display display = workbench.getDisplay();		IEditorPart result;		display.syncExec(new Runnable()		{			public void run()			{				IWorkbenchWindow window = workbench.getActiveWorkbenchWindow();				// this can be null if you close all perspectives				if (window != null && window.getActivePage() != null)				{					activeEditor.activeEditor = window.getActivePage().getActiveEditor();				}			}		});		result = activeEditor.activeEditor;		return result;	}		/**	 * getAllEventTargets	 * 	 * @return EditorType[]	 */	public EditorType[] getAllEventTargets()	{		if (this._editorsByType != null)		{			return (EditorType[]) this._editorsByType.values().toArray(new EditorType[0]);		}		else		{			return new EditorType[0];		}	}	/**	 * getEventTarget	 * 	 * @param type	 * @return EditorType	 */	public EditorType getEventTarget(String type)	{		if (this._editorsByType != null && this._editorsByType.containsKey(type))		{			return (EditorType) this._editorsByType.get(type);		}		else		{			return null;		}	}//	/**//	 * open the specified file in a new editor//	 * //	 * @param cx//	 * @param thisObj//	 * @param args//	 * @param funObj//	 * @return Scriptable//	 *///	public static Scriptable open(Context cx, Scriptable thisObj, Object[] args, Function funObj)//	{//		String filename = Context.toString(args[0]);//		File file = new File(filename);//		IEditorPart editor = WorkbenchHelper.openFile(file, PlatformUI.getWorkbench().getActiveWorkbenchWindow());////		if(editor == null)//		{//			return null;//		}//		//		return new Editor(thisObj.getParentScope(), editor);//	}		/**	 * @see java.lang.Object#toString()	 */	public String toString()	{		return super.toString();	}}

⌨️ 快捷键说明

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