- All Implemented Interfaces:
Comparable,InputHandlerProvider
A set of actions, either loaded from an XML file, or constructed at runtime
by a plugin.
Action sets loaded from XML files
Action sets are read from these files inside the plugin JAR:actions.xml- actions made available for use in jEdit views, including the view's Plugins menu, the tool bar, etc.browser.actions.xml- actions for the file system browser's Plugins menu.
<?xml version="1.0"?>
<!DOCTYPE ACTIONS SYSTEM "actions.dtd">
<ACTIONS>
<ACTION NAME="some-action">
<CODE>
// BeanShell code evaluated when the action is invoked
</CODE>
</ACTION>
<ACTION NAME="some-toggle-action">
<CODE>
// BeanShell code evaluated when the action is invoked
</CODE>
<IS_SELECTED>
// BeanShell code that should evaluate to true or false
</IS_SELECTED>
</ACTION>
</ACTIONS>
The following elements are valid:
-
ACTIONSis the top-level element and refers to the set of actions used by the plugin. -
An
ACTIONcontains the data for a particular action. It has three attributes: a requiredNAME; an optionalNO_REPEAT, which is a flag indicating whether the action should not be repeated with the C+ENTER command; and an optionalNO_RECORDwhich is a a flag indicating whether the action should be recorded if it is invoked while the user is recording a macro. The two flag attributes can have two possible values, "TRUE" or "FALSE". In both cases, "FALSE" is the default if the attribute is not specified. -
An
ACTIONcan have two child elements within it: a requiredCODEelement which specifies the BeanShell code that will be executed when the action is invoked, and an optionalIS_SELECTEDelement, used for checkbox menu items. TheIS_SELECTEDelement contains BeanShell code that returns a boolean flag that will determine the state of the checkbox.
name.label containing
the action's menu item label.
View actions
Actions defined inactions.xml can be added to the view's
Plugins menu; see EditPlugin.
The action code may use any standard predefined
BeanShell variable; see BeanShell.
File system browser actions
Actions defined inactions.xml can be added to the file
system browser's Plugins menu; see EditPlugin.
The action code may use any standard predefined
BeanShell variable, in addition to a variable browser which
contains a reference to the current
VFSBrowser instance.
File system browser actions should not define
<IS_SELECTED> blocks.
Custom action sets
CalljEdit.addActionSet(ActionSet) to add a custom action set to
jEdit's action context. You must also call JEditActionSet.initKeyBindings() for new
action sets. Don't forget to call jEdit.removeActionSet(ActionSet)
before your plugin is unloaded, too.- Since:
- jEdit 4.0pre1
- Version:
- $Id: ActionSet.java 25221 2020-04-12 16:00:17Z kpouer $
- Author:
- Slava Pestov, John Gellene (API documentation)
- See Also:
-
Field Summary
Fields inherited from class org.gjt.sp.jedit.JEditActionSet
actions, loaded, placeholder, uri -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAction(EditAction action) Adds an action to the action set.intprotected EditActioncreateBeanShellAction(String actionName, String code, String selected, boolean noRepeat, boolean noRecord, boolean noRememberLast) Creates a BeanShellAction.Returns an array of all actions in this action set.protected EditAction[]getArray(int size) Returns an empty array E[].String[]Returns an array of all action names in this action set that should be cached; namely,BeanShellActions.getLabel()getProperty(String name) Returns a property for the given name.voidSets the action source label.toString()Methods inherited from class org.gjt.sp.jedit.JEditActionSet
contains, getAction, getActionCount, getActionNames, initKeyBindings, load, removeAction, removeAllActions, size
-
Constructor Details
-
ActionSet
public ActionSet()Creates a new action set.- Since:
- jEdit 4.0pre1
-
ActionSet
public ActionSet(PluginJAR plugin, String[] cachedActionNames, boolean[] cachedActionToggleFlags, URL uri) Creates a new action set.- Parameters:
plugin- The plugincachedActionNames- The list of cached action namescachedActionToggleFlags- The list of cached action toggle flagsuri- The actions.xml URI- Since:
- jEdit 4.2pre2
-
ActionSet
Creates a new action set.- Parameters:
label- The label, shown in the shortcuts option pane- Since:
- jEdit 4.0pre1
-
-
Method Details
-
addAction
Adds an action to the action set. It exists for binary compatibility issues- Overrides:
addActionin classJEditActionSet<EditAction>- Parameters:
action- The action- Since:
- jEdit 4.0pre1
-
getArray
Description copied from class:JEditActionSetReturns an empty array E[]. I know it is bad, if you find a method to instantiate a generic Array, tell me- Specified by:
getArrayin classJEditActionSet<EditAction>- Parameters:
size- the size of the array- Returns:
- the empty array
-
getActions
Returns an array of all actions in this action set.Deferred loading: this will load the action set if necessary.
- Overrides:
getActionsin classJEditActionSet<EditAction>- Returns:
- an array of all actions in this action set.
Deferred loading: this will load the action set if necessary.
- Since:
- jEdit 4.0pre1
-
getLabel
- Returns:
- the action source label.
- Since:
- jEdit 4.0pre1
-
setLabel
Sets the action source label.- Parameters:
label- The label- Since:
- jEdit 4.0pre1
-
getPluginJAR
- Returns:
- the plugin this action set was loaded from, or null.
- Since:
- jEdit 4.2pre13
-
getCacheableActionNames
Returns an array of all action names in this action set that should be cached; namely,BeanShellActions.- Overrides:
getCacheableActionNamesin classJEditActionSet<EditAction>- Returns:
- an array of all action names in this action set that should
be cached; namely,
BeanShellActions. - Since:
- jEdit 4.2pre1
-
getProperty
Description copied from class:JEditActionSetReturns a property for the given name. In jEdit it will returns a jEdit.getProperty(name), but it can return something else for a standalone textarea.- Specified by:
getPropertyin classJEditActionSet<EditAction>- Parameters:
name- the property name- Returns:
- the property value
-
getInputHandler
- Specified by:
getInputHandlerin interfaceInputHandlerProvider
-
compareTo
- Specified by:
compareToin interfaceComparable
-
toString
-
createBeanShellAction
protected EditAction createBeanShellAction(String actionName, String code, String selected, boolean noRepeat, boolean noRecord, boolean noRememberLast) Creates a BeanShellAction.- Specified by:
createBeanShellActionin classJEditActionSet<EditAction>- Parameters:
actionName- the action namecode- the codeselected- selectednoRepeat- noRepeatnoRecord- noRecordnoRememberLast- noRememberLast- Returns:
- an action
- Since:
- 4.3pre13
-