The Input Builder is a tool for constructing inputs that involve expressions. It is opened through the Input Editor by clicking on the 'Input Builder' entry in the dropdown menu for a keyword.
The following figure shows the Input Builder being used to construct the input to the RunOutputList keyword for the Simulation object.
The Input Builder has an auto-complete feature that provides a menu of valid names for both objects and outputs. The feature is activated by entering a left square bracket (indicating the start of an object name) or a period (indicating the start of an output name). The menu becomes shorter as the user enters any portion of the object's or output's name. The highlighted menu entry can be changed using the up and down arrow keys. It can be selected by pressing the 'Return' key or the 'Spacebar'. Hovering the cursor over a menu item generates a pop-up description of the object or output. For an object, the description pop-up is generated from the input to its Description keyword.
Long expressions can be entered over multiple lines to improve readability. Line feeds within an expression are retained as part of the input.
The input for a keyword that uses inner curly braces such as AttributeDefinitionList or RunOutputList can also be spread over several lines in the Input Builder. In this case, the line feeds between the pairs of braces are deleted automatically when the input is accepted. When an existing input is edited, the input for each pair of curly braces is placed automatically on a separate line.
The field at the bottom of the Input Builder shows whether or not the present input is valid. The present value for the input is shown if the input is valid. An error message is shown if it is not valid. Only a valid input can be accepted.
A button bar is provided that includes all the symbols and data types that are used by the expression system's syntax. The buttons provide both a convenient way to enter the correct symbols as well as pop-up descriptions that define the syntax and provide examples.