Tells Softimage where to find the files to parse (Folders attribute) and what extension(s) (FileTypes attribute) they will have.
This callback is fired at startup or when updating the preset manager prior to ParseInfo.
public class <plugin-item_name> { public bool QueryParserSettings( Context in_context ) { ... } } |
CStatus <plugin-item_name>_QueryParserSettings( CRef& in_context ) { ... } |
function <plugin-item_name>_QueryParserSettings( in_context ) { ... } |
def <plugin-item_name>_QueryParserSettings( in_context ): ... |
Function <plugin-item_name>_QueryParserSettings( in_context ) ... End Function |
sub <plugin-item_name>_QueryParserSettings { my $in_context = shift; } |
<plugin-item-name> is the parser name specified in the call to PluginRegistrar.RegisterShaderLanguageParser with any spaces converted to underscores. For example, if you register a parser in a plug-in called "My Parser", the callback function names start with "My_Parser".
Parameter | Language | Type | Description |
---|---|---|---|
in_context | Scripting and C# | Context | Context.SetAttribute("FileTypes") sets the list of file extensions for files to parse. |
C++ | CRef& | Context::SetAttribute("FileTypes") sets the list of file extensions for files to parse. |
Attribute | Get/Set | Description |
---|---|---|
Folders | Sets a String or CString | Folder location(s) under the factory Application folder of the files to parse. To specify multiple locations, separate each folder name with a semi-colon (;). For example, setting this attribute to ParserABC;ParserXYZ means that all files found under the %XSI_USERHOME%\Application\ParserABC and %XSI_USERHOME%\Application\Shaders\Cgfx directories will be parsed (if they have the extension(s) specified in the FileTypes attribute). |
FileTypes | Sets a String or CString | File extensions to parse. List of strings separated by a semi-colon (;). For example, ".mi;.spdl". |
SICALLBACK UtShaderLanguageParser_QueryParserSettings( CRef& in_ctxt ) { XSI::Context ctxt(in_ctxt); ctxt.PutAttribute( L"Folders", L"sltest" ); ctxt.PutAttribute( L"FileTypes", L".sltest" ); return CStatus::OK; } |