# Action Editor

The Action Editor is used to manipulate the statements performed by an action. You can have more than one Action Editor window open at the same time.

The action editor window is divided into four panels:

Upper Left Panel -- Statement Selection
  This panel, divided into two panels, contains a list of action statement categories and action statements within the currently selected category. This panel is used to insert statements into the statement list.
Upper Right Panel -- The Statement List
  This panel contains the statements in the action. You can reorder items by drag and drop.
Lower Right Panel -- Statement Settings
  This panel describes the settings associated with the action statement which is currently selected in the statement list.
Lower Left Panel -- Statement Description
  This panel describes the statement selected in the Statement Selection panel. The 🌐 button will show the content in a browser. The ? button will display this help.

To add a new function statement to the end of the list, double click on a function in the displayed Function list. To place a function statement in a particular location, drag the function into the upper right panel where you want it to appear. You can add statements to a favourites list. To add or remove a function from the favourites list, right click on a function and an appropriate menu item will be displayed. Note that the favourites list is shared by all Action Editor windows.

You can search for text, fields, named variables and variables via Edit>Find. Additional help can be found here.

Most changes made to the displayed action can be undone.

To save an action use the File>Save or File>Save As menu items.

The following items may be available on the statement list context menu:

Add Statement
  This submenu displays the favourite statements list. A favourite statement is inserted after the clicked location.
Run Action
  Run the action if there are no unsaved changes.
Save Changes and Run Action
  Commit any unsaved changes and run the action.
Delete Statement
  Deletes the selected statements. Note that the Delete key will also remove statements.
Duplicate
  The selected statements will be duplicated and inserted after the last selected statement.
Enable / Disable Statements
Enable
Disable
Toggle Enable/Disable
  Function statements can be disabled. When a statement is disabled it will not be executed when the action is run. Disabled functions are displayed starting with a # character and are dimmed. Disabled functions must be well formed and can be edited as if not disabled. Thes statements operate on the current selection.
Mark / Unmark as Debug Statement
Mark as Debug
Unmark as Debug
Toggle Debug Mark/Unmark
  Debug statements are easy to identify as they are displayed with red text and can be searched for and selected from the Find panel making them easy to delete. Often times you might insert action statements other than Debug for debugging purposes. These menu items allow you to specify that the selected statements are to be treated as if they are debug statements. When marked, these statements will display with red text and will be selected when searching for Debug statements in the Find panel.
Enable / Disable Debug Statements
Enable Debug
Disable Debug
Toggle Debug Enable/Disable
  Performs the selected function on all Debug statements and statements which have been marked as being debuig statements..
Cut, Copy, Paste
  Statements can be cut, copied and pasted in the curren Action Editor window or to any other open Action Editor window. Note you can also drag statements between Action Editor windows.
Show Statement Help
  Display the help for the first selected statement. You can also do a double click on a statement to display its help. Help on action functions can also be found on the Help menu's Quick Reference submenu or here
Validate for Context
  Use these submenus to verify that all statements in the action are valid for a specified execution context. Note that disabled statements are ignored.
Action Usage
  The Action Usage menu lists all referenced actions, separate files and inline. It shows if any referenced actions are missing. Clicking on an action name will open or show the action.
Action Text to Clipboard>Entire Action
  The action's text as displayed in the statement list is copied to the clipboard. Note if you are sending us the action for support, please do an Export from the Action Manager as opposed to sending us the text.
Action Text to Clipboard>Selected Statements
  The text of selected statements is copied to the clipboard.
Action Text to Clipboard>Line Numbers
  When checked, the copped lines will be prefixed with line numbers. The line numbers always start with 1.
Action Text to Clipboard>Escaped for HTML
  When checked, the copied text will be enclosed in a <pre> </pre> construct and will have characters escaped if required.
Resource Documentation
  Newer actions downloaded from the resources web page can have the resources documentation displayed via this item.
Action Description...
  You can display a popup window which contains an action's description via this item. An action's description is the first non empty content in a Comment, Force Grouped, Tooltip or Version statement. A search for a description is terminated at the first enabled statement which is not one of the preceding statements or an Empty Line or Constrain Execution to a Single File statement.
  Hitting the space bar has the same effect as selecting the menu item with the following exception. If a single statement is selected and it is a Comment, Force Grouped, Start, Tooltip or Version statement and has a non empty description, the description will be displayed in the popup window.
Display Named Variable Usage
  The named variable usage in all open actions will be displayed in the Log Viewer.

Note: Most text fields in the Statements Settings panel have context menu items to facilitate the insertion of Escape Sequences. Typically, menu items will insert the unescaped value if the Shift key is down when an item is selected. For example selecting the Insert Yate Field>Album item will insert \[Album] when Shift is not down, or Album when it is.