The properties in this section apply to form documents. A form object is actually a special case of a block, which has a number of additional properties which are global to the form.
Streatchable (stretch)Forms may be fixed size or stretchable. If they are fixed size then resizing the window which displays a form below the size of the form itself (strictly, the size of the top-level block) will result in scroll-bars appearing. If, however, the form is stretchable then the size of the form will be adjusted to match the size of the window.
This setting can be used in conjunction with the X- and Y-mode control settings to provide basic geometry management. For instance, if the number of rows in the top level block is set to zero, then resizing the form and hence the block will alter the number of rows displayed.
Scripting Language (language)This setting controls the scripting language to be used within the form. Currently, only py (for python) is supported.
Form Caption (caption)This property gives the caption which appears in the title bar of the window which shows the form. Note that you can control the caption which appears when the form is started by embedding a parameter into the caption value, for instance Orders For ${date}; see the later description of parameters.
Script ModulesWhen a form is executed, any script modules listed under this property are loaded into the script interpreter (in addition to the standard Rekall modules). These should be script modules which appear under a Scripts tab in the database window.
Note that although this appears as a property, each specified module is stored in the XML form definition as a separate node. For this reason, the property cannot be manipulated from a script (not that this would make much sense anyway).
Scripting is described in much more detail later.
Import ModulesThis property lists modules which should be implicitely imported into any script code which is attached to an event (such as OnAction or PostSync) or expression (such as the defval default value property).
This is needed since the way in which script code is specified for events and expressions precludes module import. So, for instance, if an event uses a python function such as time.strftime then you should include time in the import module list.
As for script modules, each import module is actually specified via a separate node in the form's XML definition.