User guide

150
'Alembic_In.abcAsset':{
'widget':'assetIdInput',
'assetTypeTags':'geometry|alembic',
'fileTypes':'abc',
'help':"""Specify the asset input for an Alembic
.abc) file."""
},
}
Usage in C++ Nodes
In C++ nodes, the Argument Template consists of - nested - groups containing the UI hints. Each UI element has its
group of hints which then is added to a top-level group. The resulting hierarchy for a simple example using a
checkbox, file chooser and drop-down looks as follows:
+ top-level group
| + checkBoxArg (float)
| + checkBoxArg__hints (group)
| | + widget (string)
| | + help (string)
| | + page (string)
| + fileArg (string)
| + fileArg__hints (group)
| | + widget (string)
| | + help (string)
| | + page (string)
| + dropBoxArg (string)
| + dropBoxArg__hints (group)
| | + widget (string)
| | + options (string)
| | + help (string)
| | + page (string)
The following example code shows the implementation of the hierarchy shown above and how the top-level group is
built and returned in getArgumentTemplate():
static FnKat::GroupAttribute getArgumentTemplate()
{
FnKat::GroupBuilder gb_checkBoxArg_hints;
gb_checkBoxArg_hints.set("widget",
FnKat::StringAttribute( "checkBox" ) );
gb_checkBoxArg_hints.set("help",
FnKat::StringAttribute( "the mode value" ) );
gb_checkBoxArg_hints.set("page",
20 ARGS FILES IN SHADERS | UI HINTS FOR PLUG-INS USING ARGUMENT TEMPLATES