A list definition starts with the keyword LIST followed by a string (the argument) that is the name of the list. Names with embedded spaces must be bounded by double quotes. The LIST definition is bracketed by opening and closing braces { } or, alternatively, with the BEGIN...END structure. Within the brackets you specify the values of the list, each called out by the command keyword, VALUE. If a value has one or more embedded spaces, it must be enclosed within double quotes.
LIST list_name { VALUE value_name_1 VALUE value_name_2 ... }
Example 1
List "Method Stereotypes"
{
VALUE Get
VALUE Let
VALUE Set
VALUE "Stereotype with embedded spaces"
}
DEFINITION "Method" {..PROPERTY "Stereotype" { EDIT Text LIST "Method Stereotypes" Default "" LENGTH 30 } ...}
Indentations and new lines are used solely to enhance readability, and have no meaning to the USRPROPS.TXT processor other than to act as white space separators between strings. The above example could be written like this:
LIST "Method Stereotypes" { VALUE get VALUE let VALUE set VALUE "Stereotype with embedded spaces" }
While this format is perfectly acceptable to System Architect, it makes maintenance of the USRPROPS.TXT file more difficult, and should therefore be avoided.
Example 2
Note One of the arguments in the example has an embedded space, and is therefore bounded by double quotes. You may optionally bound all other values by double quotes.
List "Visibility" { Value "implementation only" Value exported Value imported Value private Value public }
...
Definition "Class" { PROPERTY "Visibility" { EDIT Text LIST "Visibility" LENGTH 20 LABEL "Visibility/Export control" }