Actions: oxy_action() Function
This function allows you to define actions directly in the CSS, rather than referencing them from the associated framework.
The oxy_action()
function is frequently used from the oxy_button() function that provides a graphical
button for invoking a custom action. The action is normally defined in the associated Document
Type (framework configuration) but the oxy_action()
function
allows you to define it directly in the CSS instead of the framework
configuration.
The arguments received by the oxy_action()
function are a list of properties
that define an action. The following properties are supported:
- name - The name of the action. It will be displayed as the label for the button or menu item.
- description (optional) - A short description with details about the result of the action.
- icon (optional) - A path relative to the CSS
pointing to an image (the icon for the action). The path can point to resources that are
packed in Oxygen XML Editor (oxygen.jar) by starting its value
with
/
(for example, /images/Remove16.png). It can also be expressed using an editor variable. - operation - The name of the Java class
implementing the ro.sync.ecss.extensions.api.AuthorOperation
interface. There is also a variety of predefined operations that
can be used. Note: If the name of the operation specified in the CSS is not qualified (has no Java package name), then it is considered to be one of the built-in Oxygen XML Editor operations. If the class is not found in this package, then it will be loaded using the specified name.
- arg-<string> - All arguments with the
arg-
prefix are passed to the operation (the string that follows thearg-
prefix is passed). The argument value supports editor variables. - ID - (optional) - The ID of the action from the framework. If this is specified, all others parameters are disregarded.
Example: oxy_action function inside an oxy_button form
control:
oxy_button(
action, oxy_action(
name, 'Insert',
description, 'Insert an element after the current one',
icon, url('insert.png'),
operation,
'InsertFragmentOperation',
arg-fragment, '<element>${caret}</element>',
arg-insertLocation, '.',
arg-insertPosition, 'After'),
showIcon, true)
Example: oxy_action Function
You can also create a button form control directly from an
oxy_action
function:oxy_action(
name, 'Insert',
description, 'Insert an element after the current one',
operation, 'InsertFragmentOperation',
arg-fragment, '<element>${caret}</element>',
arg-insertLocation, '.',
arg-insertPosition, 'After')
Tip: A code template is available to make it easy to add the
oxy_action
function with the Content Completion
Assistant by pressing Ctrl +
Space and select the
oxy_action
code template.