Argument Types are a mechanism that provides usernames and descriptions for TextValueHints. They are commonly used by command arguments and channels to present a localized, human-readable names in place of their internal names when presented in a popup or other user interface construct.
Argument types are defined through config files. In the case of Command Help config entries, they are included as an ArgumentType atom in the argument's hash. In the case of item channels, they are defined in the Item Help config entries in a similar manner. Alternatively, they can be defined directly on the TextValueHint via a special entry with a leading equal sign, such as "=myArgumentType".
In all cases the argument types are looked up in the config files using methods in ILxMessageService.
The config format is fairly striaght-forward, with an each ArgumentType containing a username description, and any number of Option with keys matching the internal strings representing each option, and with each Option also containing a username and description. The ArgumentType hash is a combination of the internal name and an associated language code, similar to what is done for message tables.
<atom type="CommandHelp"> <hash type="ArgumentType" key="select-mode@en_US"> <atom type="UserName">Selection Mode Specifier</atom> <atom type="Desc">Modes modify selection commands to perform different actions.</atom> <hash type="Option" key="set"> <atom type="UserName">Set Primary</atom> <atom type="Desc">The selection becomes the primary selected element.</atom> </hash> </hash> </atom>