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

📄 editaction.java

📁 开源的java 编辑器源代码
💻 JAVA
字号:
/* * EditAction.java - jEdit action listener * :tabSize=8:indentSize=8:noTabs=false: * :folding=explicit:collapseFolds=1: * * Copyright (C) 1998, 2003 Slava Pestov * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. */package org.gjt.sp.jedit;//{{{ Importsimport java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.Component;import org.gjt.sp.jedit.gui.InputHandler;import org.gjt.sp.util.Log;//}}}/** * An action that can be bound to a menu item, tool bar button or keystroke. * * @see jEdit#getAction(String) * @see jEdit#getActionNames() * @see ActionSet * * @author Slava Pestov * @version $Id: EditAction.java,v 1.23 2003/05/01 04:17:13 spestov Exp $ */public abstract class EditAction{	//{{{ EditAction constructor	/**	 * Creates a new edit action with the specified name.	 * @param name The action name	 */	public EditAction(String name)	{		this.name = name;	} //}}}	//{{{ getName() method	/**	 * Returns the internal name of this action.	 */	public String getName()	{		return name;	} //}}}	//{{{ getLabel() method	/**	 * Returns the action's label. This returns the	 * value of the property named by {@link #getName()} suffixed	 * with <code>.label</code>.	 */	public final String getLabel()	{		return jEdit.getProperty(name + ".label");	} //}}}	//{{{ getMouseOverText() method	/**	 * Returns the action's mouse over message. This returns the	 * value of the property named by {@link #getName()} suffixed	 * with <code>.mouse-over</code>.	 */	public final String getMouseOverText()	{		return jEdit.getProperty(name + ".mouse-over");	} //}}}	//{{{ invoke() method	/**	 * Invokes the action.	 * @param view The view	 * @since jEdit 2.7pre2	 */	public void invoke(View view)	{	} //}}}	//{{{ getView() method	/**	 * @deprecated Call <code>GUIUtilities.getView()</code> instead.	 */	public static View getView(Component comp)	{		// moved to GUIUtilities as it makes no sense being here.		return GUIUtilities.getView(comp);	} //}}}	//{{{ isToggle() method	/**	 * Returns if this edit action should be displayed as a check box	 * in menus. This returns the	 * value of the property named by {@link #getName()} suffixed	 * with <code>.toggle</code>.	 *	 * @since jEdit 2.2pre4	 */	public final boolean isToggle()	{		return jEdit.getBooleanProperty(name + ".toggle");	} //}}}	//{{{ isSelected() method	/**	 * If this edit action is a toggle, returns if it is selected or not.	 * @param comp The component	 * @since jEdit 4.2pre1	 */	public boolean isSelected(Component comp)	{		return false;	} //}}}	//{{{ noRepeat() method	/**	 * Returns if this edit action should not be repeated. Returns false	 * by default.	 * @since jEdit 2.7pre2	 */	public boolean noRepeat()	{		return false;	} //}}}	//{{{ noRecord() method	/**	 * Returns if this edit action should not be recorded. Returns false	 * by default.	 * @since jEdit 2.7pre2	 */	public boolean noRecord()	{		return false;	} //}}}	//{{{ noRememberLast() method	/**	 * Returns if this edit action should not be remembered as the most	 * recently invoked action.	 * @since jEdit 4.2pre1	 */	public boolean noRememberLast()	{		return false;	} //}}}	//{{{ getCode() method	/**	 * Returns the BeanShell code that will replay this action.	 * @since jEdit 2.7pre2	 */	public abstract String getCode();	//}}}	//{{{ toString() method	public String toString()	{		return name;	} //}}}	//{{{ Private members	private String name;	//}}}	//{{{ Wrapper class	/**	 * 'Wrap' EditActions in this class to turn them into AWT	 * ActionListeners, that can be attached to buttons, menu items, etc.	 */	public static class Wrapper implements ActionListener	{		/**		 * Creates a new action listener wrapper.		 * @since jEdit 4.2pre1		 */		public Wrapper(ActionContext context, String actionName)		{			this.context = context;			this.actionName = actionName;		}		/**		 * Called when the user selects this action from a menu.		 * It passes the action through the		 * {@link org.gjt.sp.jedit.gui.InputHandler#invokeAction(EditAction)}		 * method, which performs any recording or repeating.		 *		 * @param evt The action event		 */		public void actionPerformed(ActionEvent evt)		{			EditAction action = context.getAction(actionName);			if(action == null)			{				Log.log(Log.WARNING,this,"Unknown action: "					+ actionName);			}			else				context.invokeAction(evt,action);		}		private ActionContext context;		private String actionName;	} //}}}}

⌨️ 快捷键说明

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