- 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:
-
ACTIONS
is the top-level element and refers to the set of actions used by the plugin. -
An
ACTION
contains 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_RECORD
which 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
ACTION
can have two child elements within it: a requiredCODE
element which specifies the BeanShell code that will be executed when the action is invoked, and an optionalIS_SELECTED
element, used for checkbox menu items. TheIS_SELECTED
element 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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addAction
(EditAction action) Adds an action to the action set.int
protected EditAction
createBeanShellAction
(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,BeanShellAction
s.getLabel()
getProperty
(String name) Returns a property for the given name.void
Sets 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:
addAction
in classJEditActionSet<EditAction>
- Parameters:
action
- The action- Since:
- jEdit 4.0pre1
-
getArray
Description copied from class:JEditActionSet
Returns an empty array E[]. I know it is bad, if you find a method to instantiate a generic Array, tell me- Specified by:
getArray
in 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:
getActions
in 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,BeanShellAction
s.- Overrides:
getCacheableActionNames
in classJEditActionSet<EditAction>
- Returns:
- an array of all action names in this action set that should
be cached; namely,
BeanShellAction
s. - Since:
- jEdit 4.2pre1
-
getProperty
Description copied from class:JEditActionSet
Returns 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:
getProperty
in classJEditActionSet<EditAction>
- Parameters:
name
- the property name- Returns:
- the property value
-
getInputHandler
- Specified by:
getInputHandler
in interfaceInputHandlerProvider
-
compareTo
- Specified by:
compareTo
in interfaceComparable
-
toString
-
createBeanShellAction
protected EditAction createBeanShellAction(String actionName, String code, String selected, boolean noRepeat, boolean noRecord, boolean noRememberLast) Creates a BeanShellAction.- Specified by:
createBeanShellAction
in classJEditActionSet<EditAction>
- Parameters:
actionName
- the action namecode
- the codeselected
- selectednoRepeat
- noRepeatnoRecord
- noRecordnoRememberLast
- noRememberLast- Returns:
- an action
- Since:
- 4.3pre13
-