User Tools

Site Tools


DzScript

Encapsulates a DAZ Script script.

More...

Inherits :

Enumerations

Static Methods

Constructors

DAZ Script
DzScript ( String name=“” )
DzScript ( DzScript script )

Methods

Detailed Description

TODO: Add detailed description.

Enumerations


: ScriptFileMode

Save mode for saving the script to file.

  • UseExtension - If the file extension is .dsb, the file is saved as DAZScriptFile, otherwise as TextScriptFile
  • TextScriptFile - Plain text file - no Unicode support
  • DAZScriptFile - Binary DAZ file format - supports Unicode characters
  • EncDAZScriptFile - Encrypted Binary DAZ file format - supports Unicode characters

—–

: ScriptLanguage

Script language of the file.

  • Unknown - Unknown language.
  • DAZScript1 - DAZ Script 1 (QSA) language.
  • DAZScript2 - DAZ Script 2 (QtScript) language.

Static Methods


void : addScriptBinaryExtensionsAsMultipleFilters( DzFileFilter filter )

Parameter(s):

  • filter - The filter to add the binary extensions to

void : addScriptBinaryExtensionsToFilter( DzFileFilter filter )

Parameter(s):

  • filter - The filter to add the binary extensions to

void : addScriptOpenExtensionsAsMultipleFilters( DzFileFilter filter )

Parameter(s):

  • filter - The filter to add the open extensions to

void : addScriptOpenExtensionsToFilter( DzFileFilter filter )

Parameter(s):

  • filter - The filter to add the open extensions to

void : addScriptSaveExtensionsAsMultipleFilters( DzFileFilter filter )

Parameter(s):

  • filter - The filter to add the save extensions to

void : addScriptSaveExtensionsToFilter( DzFileFilter filter )

Parameter(s):

  • filter - The filter to add the save extensions to

void : addScriptTextExtensionsAsMultipleFilters( DzFileFilter filter, Boolean includeDeprecated=false )

Parameter(s):

  • filter - The filter to add the plain text extensions to
  • includeDeprecated - Whether or not to include the deprecated extension(s)

void : addScriptTextExtensionsToFilter( DzFileFilter filter, Boolean includeDeprecated=false )

Parameter(s):

  • filter - The filter to add the plain text extensions to
  • includeDeprecated - Whether or not to include the deprecated extension(s)

Object : evaluate( String code, QObject context=undefined )

This function is provided as a quick method of evaluating DAZ Script statements without needing to create a DAZ Script object.

Parameter(s):

  • code - The text string to evaluate as a script
  • context - The QObject instance (if any) that will provide the script's context.

Return Value:

  • The value returned from the script's execution.

Array : getScriptExtensions()

Return Value:

  • A list of the script file extensions supported by the application.

String : getScriptFile( String filenameWithoutExtension )

Parameter(s):

  • filenameWithoutExtension - The path to the file, minus the '.' and the extension

Return Value:

  • The path of the file, with extension, of the script found. Otherwise, an empty String.

Boolean : isScriptBinaryExtension( String ext )

Return Value:

  • true if extension is a supported binary script extension

Boolean : isScriptBinaryFile( String filename )

Return Value:

  • true if filename ends with a supported binary script extension

Boolean : isScriptExtension( String ext )

Return Value:

  • true if extension is a supported script extension

Boolean : isScriptFile( String filename )

Return Value:

  • true if filename ends with a supported script extension

Boolean : isScriptTextExtension( String ext )

Return Value:

  • true if extension is a supported [ascii] plain text script extension

Boolean : isScriptTextFile( String filename )

Return Value:

  • true if filename ends with a supported [ascii] plain text script extension

String : legalizeName( String str )

Takes a string that may contain special characters and returns a converted version that would be legal as a variable name in script. If the string contains no special characters, the result will be identical to the input.

Constructors


DzScript( String name=“” )

Constructor.

Parameter(s):

  • name - The name of the script

DzScript( DzScript script )

Copy Constructor

Parameter(s):

  • script - The script to copy.

Methods


void : addCode( String code )

Appends the given code to the end of the current script.

Parameter(s):

  • code - The text to append to the current script.

void : addLine( String line, Number indentLevel=0 )

Appends the given string and a newline character to the script.

Parameter(s):

  • line - The text to add to the script.
  • indentLevel - The number of tab characters to insert in front of the line.

void : addLines( String code, Number indentLevel=0 )

Appends the given code to the end of the current script.

Parameter(s):

  • code - The text to append to the current script.
  • indentLevel - The number of tab characters to insert in front of each line.

Boolean : call( String function, Array args )

Calls a function in the script.

Parameter(s):

  • function - The name of the function to call.
  • args - A list of arguments to pass to the function.

Return Value:

  • true if the function was called successfully, false if there was an error.

Attention:

  • The entire script is evaluated before the function call is made.

Boolean : checkSyntax()

Checks the syntax of the script for errors using the current interpreter.

Return Value:

  • true if the syntax is valid, otherwise false.

void : clear()

Clears any code in the current script, and clears the encryption state if the script was read from an encrypted file.


Boolean : convertToDAZScript2()

Converts the script to DAZ Script 2 syntax.


Number : errorLine()

Return Value:

  • The line number that the last error occurred on.

String : errorMessage()

Return Value:

  • The last error message gathered from a call to execute(). An empty string if no error has been encountered for this script.

Boolean : execute()

Execute the script.

Attention:

  • This can be called from a thread outside of the GUI thread, however the script will not be executed until the GUI thread processes events. It returns when execution is complete.

Return Value:

  • true if the script was executed successfully, false if there was an error.

Boolean : execute( Array args )

Execute the script with an argument list.

Attention:

  • This can be called from a thread outside of the GUI thread, however the script will not be executed until the GUI thread processes events. It returns when execution is complete.

Parameter(s):

  • args - The list of arguments to pass to the script.

Return Value:

  • true if the script was executed successfully, false if there was an error.

DzAuthor : getAuthor()

Return Value:

  • The author of this script if it was loaded from a file that provides authorship information.

String : getCode()

Return Value:

  • The code of the current script.

String : getFilename()

Return Value:

  • The name and path of the file associated with this script. An empty string is returned if this script is not associated with a file.

Boolean : getLastStatus()

Return Value:

  • true if the last execution was successful, otherwise false.

ScriptLanguage : getScriptLanguage()

Return Value:

  • An enumerated value indicating the scripting language of the script.

String : getScriptType()

Return Value:

  • A string describing the kind of script that this script is

DzVersion : getScriptVersion()

Return Value:

  • The version of DAZ Studio that this script was saved from. The current version if the script was not loaded from a file.

Boolean : getShouldReuseInterpreter()

Return Value:

  • true if the same context is used between uses of call(); otherwise false (default).

See Also:


Boolean : isEmpty()

Return Value:

  • true if the script is empty; otherwise false.

Boolean : isEncrypted()

Return Value:

  • true if the contents of the script are encrypted (i.e. read from an encrypted file); otherwise false.

Attention:

  • If the script is encrypted, getCode() returns '[Content Encrypted]', addLine(), addCode(), and setCode() have no effect, saveToFile() saves nothing and will return false. Calling clear() will clear the encryption state and the code from the script.

Boolean : loadFromFile( String filename, Boolean convert=true )

Loads the script from a file.

Parameter(s):

  • filename - The path to the script file to load.
  • convert - Whether to convert the file to DAZ Script 2.

Return Value:

  • true if the script was successfully loaded, otherwise false.

void : makeEncrypted()

Sets the script to be encrypted.

Attention:

  • This process is not reversible!!! Once a script has been encrypted its original text cannot be extracted. Encrypted scripts can not be edited or modified.

Object : result()

Return Value:

  • The result of the last script execution.

DzError : saveToFile( String filename, ScriptFileMode mode=UseExtension, String filetype=“DAZ Script” )

Save the script to a file.

Parameter(s):

  • filename - The filename of the file to save to
  • mode - The type of file to save.
  • filetype - The filetype that is saved as part of the file information.

Return Value:

  • DZ_NO_ERROR on success, otherwise an error code.

void : setCode( String code )

Replaces the existing code of the script with code.

Parameter(s):

  • code - The new text for the script.

void : setReuseInterpreter( Boolean onoff )

Sets whether the same context is used between uses of call().

Parameter(s):

  • onOff - If true, the same context is used between calls. If false a new context is used for each call.

Attention:

  • Use of this function clears the context, regardless of whether onOff is set to true or false.

See Also:


Array : stackTrace()

Return Value:

  • The stack trace for the last time an error was reported during a call to execute(). An empty list if no error has been encountered.

Boolean : wasConverted( DzScript::ScriptLanguage language=DzScript::DAZScript1 )

Access to whether or not the script was converted from the enumerated value specified.

Return Value:

  • true if the script was converted