<?xml version="1.0"?>
<doc>
    <assembly>
        <name>qyoto-qtscript</name>
    </assembly>
    <members>
        <member name="T:QtScript.QScriptClass">
            <summary>
            The QScriptClass class provides an interface for defining custom behavior of (a class of) Qt Script objects.
            </summary>
            <remarks>
            <para></para>
            <para>The QScriptClass class defines an interface for handling various aspects of interaction with the Qt Script objects associated with the class. Such objects are created by calling QScriptEngine::newObject(), passing a pointer to the QScriptClass as argument.</para>
            <para>By subclassing QScriptClass, you can define precisely how access to properties of the objects that use your class is handled. This enables a fully dynamic handling of properties, e.g. it's more powerful than QScriptEngine::newQObject(). For example, you can use QScriptClass to implement array-type objects (i.e. objects that handle the length property, and properties whose names are valid array indexes, in a special way), or to implement a &amp;quot;live&amp;quot; (runtime-defined) proxy to an underlying object.</para>
            <para>If you just need to handle access to a set of properties that are known at the time an object is created (i.e. &amp;quot;semi-statically&amp;quot;), you might consider using QScriptValue::setProperty() to define getter/setter functions for the relevant properties, rather than subclassing QScriptClass.</para>
            <para>Reimplement queryProperty() to specify which properties are handled in a custom way by your script class (i.e. should be delegated to the QScriptClass), and which properties should be handled just like normal Qt Script object properties.</para>
            <para>Reimplement property() and setProperty() to perform the actual access (read or write) to the properties that your class handles. Additionally, you can reimplement propertyFlags() to specify custom flags for your properties.</para>
            <para>Reimplement newIterator() to provide an iterator for objects of your custom class. This is only necessary if objects of your class can have custom properties that you want to be reported when an object is used together with the QScriptValueIterator class, or when an object is used in a for-in enumeration statement in a script.</para>
            <para>When implementing custom classes of objects, you typically use QScriptValue::setData() to store instance-specific data as part of object initialization; the data won't be accessible from scripts directly, but you can access it in e.g. your reimplementations of property() and setProperty() (by calling QScriptValue::data()) to perform custom processing.</para>
            <para>Reimplement prototype() to provide a custom prototype object for your script class.</para>
            <para>Reimplement supportsExtension() and extension() if your custom script class supports one or more of the extensions specified by the Extension enum.</para>
            <para></para>
            <para>See also QScriptClassPropertyIterator, QScriptEngine::newObject(), and Custom Script Class Example.</para>
            </remarks>
        </member>
        <member name="M:QtScript.QScriptClass.#ctor(QtScript.QScriptEngine)">
            <summary>
            <para>Constructs a QScriptClass object to be used in the given engine.</para>
            <para>The engine does not take ownership of the QScriptClass object.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClass.Engine">
            <summary>
            <para>Returns the engine that this QScriptClass is associated with.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClass.extension(QtScript.QScriptClass.Extension)">
            <summary>
            <para>This virtual function can be reimplemented in a QScriptClass subclass to provide support for extensions. The optional argument can be provided as input to the extension; the result must be returned in the form of a QVariant. You can call supportsExtension() to check if an extension is supported by the QScriptClass. By default, no extensions are supported, and this function returns an invalid QVariant.</para>
            <para>If you implement the Callable extension, Qt Script will call this function when an instance of your class is called as a function (e.g. from a script or using QScriptValue::call()). The argument will contain a pointer to the QScriptContext that represents the function call, and you should return a QVariant that holds the result of the function call. In the following example the sum of the arguments to the script function are added up and returned:</para>
            <para> if (extension == Callable) {</para>
            <para>     QScriptContext *context = qvariant_cast&lt;QScriptContext*&gt;(argument);</para>
            <para>     QScriptEngine *engine = context-&gt;engine();</para>
            <para>     double sum = 0;</para>
            <para>     for (int i = 0; i &lt; context-&gt;argumentCount(); ++i)</para>
            <para>         sum += context-&gt;argument(i).toNumber();</para>
            <para>     return sum;</para>
            <para> }</para>
            <para>If you implement the HasInstance extension, Qt Script will call this function as part of evaluating the instanceof operator, as described in ECMA-262 Section 11.8.6. The argument is a QScriptValueList containing two items: The first item is the object that HasInstance is being applied to (an instance of your class), and the second item can be any value. extension() should return true if the value delegates behavior to the object, false otherwise.</para>
            <para>See also supportsExtension().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClass.extension(QtScript.QScriptClass.Extension,System.Object)">
            <summary>
            <para>This virtual function can be reimplemented in a QScriptClass subclass to provide support for extensions. The optional argument can be provided as input to the extension; the result must be returned in the form of a QVariant. You can call supportsExtension() to check if an extension is supported by the QScriptClass. By default, no extensions are supported, and this function returns an invalid QVariant.</para>
            <para>If you implement the Callable extension, Qt Script will call this function when an instance of your class is called as a function (e.g. from a script or using QScriptValue::call()). The argument will contain a pointer to the QScriptContext that represents the function call, and you should return a QVariant that holds the result of the function call. In the following example the sum of the arguments to the script function are added up and returned:</para>
            <para> if (extension == Callable) {</para>
            <para>     QScriptContext *context = qvariant_cast&lt;QScriptContext*&gt;(argument);</para>
            <para>     QScriptEngine *engine = context-&gt;engine();</para>
            <para>     double sum = 0;</para>
            <para>     for (int i = 0; i &lt; context-&gt;argumentCount(); ++i)</para>
            <para>         sum += context-&gt;argument(i).toNumber();</para>
            <para>     return sum;</para>
            <para> }</para>
            <para>If you implement the HasInstance extension, Qt Script will call this function as part of evaluating the instanceof operator, as described in ECMA-262 Section 11.8.6. The argument is a QScriptValueList containing two items: The first item is the object that HasInstance is being applied to (an instance of your class), and the second item can be any value. extension() should return true if the value delegates behavior to the object, false otherwise.</para>
            <para>See also supportsExtension().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClass.Name">
            <summary>
            <para>Returns the name of the script class.</para>
            <para>Qt Script uses this name to generate a default string representation of objects in case you do not provide a toString function.</para>
            <para>The default implementation returns a null string.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClass.NewIterator(QtScript.QScriptValue)">
            <summary>
            <para>Returns an iterator for traversing custom properties of the given object.</para>
            <para>The default implementation returns 0, meaning that there are no custom properties to traverse.</para>
            <para>Reimplement this function if objects of your script class can have one or more custom properties (e.g. those reported to be handled by queryProperty()) that you want to appear when an object's properties are enumerated (e.g. by a for-in statement in a script).</para>
            <para>Qt Script takes ownership of the new iterator object.</para>
            <para>See also QScriptValueIterator.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClass.Property(QtScript.QScriptValue,QtScript.QScriptString,System.UInt32)">
            <summary>
            <para>Returns the value of the property with the given name of the given object.</para>
            <para>The id argument is only useful if you assigned a value to it in queryProperty().</para>
            <para>The default implementation does nothing and returns an invalid QScriptValue.</para>
            <para>See also setProperty() and propertyFlags().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClass.PropertyFlags(QtScript.QScriptValue,QtScript.QScriptString,System.UInt32)">
            <summary>
            <para>Returns the flags of the property with the given name of the given object.</para>
            <para>The id argument is only useful if you assigned a value to it in queryProperty().</para>
            <para>The default implementation returns 0.</para>
            <para>See also property().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClass.Prototype">
            <summary>
            <para>Returns the object to be used as the prototype of new instances of this class (created with QScriptEngine::newObject()).</para>
            <para>The default implementation returns an invalid QScriptValue, meaning that the standard Object prototype will be used. Reimplement this function to provide your own custom prototype.</para>
            <para>Typically you initialize your prototype object in the constructor of your class, then return it in this function.</para>
            <para>See the &quot;Making Use of Prototype-Based Inheritance&quot; section in the QtScript documentation for more information on how prototypes are used.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClass.QueryProperty(QtScript.QScriptValue,QtScript.QScriptString,QtScript.QScriptClass.QueryFlag,System.UInt32@)">
            <summary>
            <para>Queries this script class for how access to the property with the given name of the given object should be handled. The given flags specify the aspects of interest. This function should return a subset of flags to indicate which aspects of property access should be further handled by the script class.</para>
            <para>For example, if the flags contain HandlesReadAccess, and you would like your class to handle the reading of the property (through the property() function), the returned flags should include HandlesReadAccess. If the returned flags do not contain HandlesReadAccess, the property will be handled as a normal script object property.</para>
            <para>You can optionally use the id argument to store a value that will subsequently be passed on to functions such as property() and setProperty().</para>
            <para>The default implementation of this function returns 0.</para>
            <para>Note: This function is only called if the given property isn't already a normal property of the object. For example, say you advertise that you want to handle read access to property foo, but not write access; if foo is then assigned a value, it will become a normal script object property, and subsequently you will no longer be queried regarding read access to foo.</para>
            <para>See also property().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClass.SetProperty(QtScript.QScriptValue,QtScript.QScriptString,System.UInt32,QtScript.QScriptValue)">
            <summary>
            <para>Sets the property with the given name of the given object to the given value.</para>
            <para>The id argument is only useful if you assigned a value to it in queryProperty().</para>
            <para>The default implementation does nothing.</para>
            <para>An invalid value represents a request to remove the property.</para>
            <para>See also property().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClass.SupportsExtension(QtScript.QScriptClass.Extension)">
            <summary>
            <para>Returns true if the QScriptClass supports the given extension; otherwise, false is returned. By default, no extensions are supported.</para>
            <para>Reimplement this function to indicate which extensions your custom class supports.</para>
            <para>See also extension().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClass.Finalize">
            <summary>
            <para>Destroys the QScriptClass object.</para>
            <para>If a QScriptClass object is deleted before the associated engine(), any Qt Script objects using the QScriptClass will be &quot;demoted&quot; to normal Qt Script objects.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptClass.Extension">
            <summary>
            <para>This enum specifies the possible extensions to a QScriptClass.</para>
            <para>See also extension().</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptClass.Extension.Callable">
            <summary>
            <para>Instances of this class can be called as functions.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptClass.Extension.HasInstance">
            <summary>
            <para>Instances of this class implement [[HasInstance]].</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptClass.QueryFlag">
            <summary>
            <para>This enum describes flags that are used to query a QScriptClass regarding how access to a property should be handled.</para>
            <para></para>
            <para>See also queryProperty().</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptClass.QueryFlag.HandlesReadAccess">
            <summary>
            <para>The QScriptClass handles read access to this property.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptClass.QueryFlag.HandlesWriteAccess">
            <summary>
            <para>The QScriptClass handles write access to this property.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptClassPropertyIterator">
            <summary>
            The QScriptClassPropertyIterator class provides an iterator interface for custom Qt Script objects.
            </summary>
            <remarks>
            <para></para>
            <para>This class is only relevant if you have subclassed QScriptClass and want to provide enumeration of your custom properties (e.g. when objects of your class are used with QScriptValueIterator, or with the for-in statement in scripts).</para>
            <para>The object() function returns the Qt Script object the iterator is traversing.</para>
            <para>toFront(), hasNext() and next() provide forward iteration.</para>
            <para>toBack(), hasPrevious() and previous() provide backward iteration.</para>
            <para>name(), id() and flags() return information about the last property that was jumped over using next() or previous().</para>
            <para></para>
            <para>See also QScriptClass::newIterator() and QScriptValueIterator.</para>
            </remarks>
        </member>
        <member name="M:QtScript.QScriptClassPropertyIterator.#ctor(QtScript.QScriptValue)">
            <summary>
            <para>Constructs an iterator for traversing object.</para>
            <para>Subclasses should ensure that the iterator is set to the front of the sequence of properties (before the first property).</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClassPropertyIterator.Flags">
            <summary>
            <para>Returns the flags of the last property that was jumped over using next() or previous().</para>
            <para>The default implementation calls the propertyFlags() function of object() with argument name().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClassPropertyIterator.HasNext">
            <summary>
            <para>Returns true if there is at least one item ahead of the iterator (i.e. the iterator is not at the back of the property sequence); otherwise returns false.</para>
            <para>See also next() and hasPrevious().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClassPropertyIterator.HasPrevious">
            <summary>
            <para>Returns true if there is at least one item behind the iterator (i.e. the iterator is not at the front of the property sequence); otherwise returns false.</para>
            <para>See also previous() and hasNext().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClassPropertyIterator.Id">
            <summary>
            <para>Returns the id of the last property that was jumped over using next() or previous().</para>
            <para>The default implementation returns 0.</para>
            <para>See also name().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClassPropertyIterator.Name">
            <summary>
            <para>Returns the name of the last property that was jumped over using next() or previous().</para>
            <para>See also id().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClassPropertyIterator.Next">
            <summary>
            <para>Advances the iterator by one position.</para>
            <para>Calling this function on an iterator located at the back of the container leads to undefined results.</para>
            <para>See also hasNext(), previous(), and name().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClassPropertyIterator.Object">
            <summary>
            <para>Returns the Qt Script object this iterator is traversing.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClassPropertyIterator.Previous">
            <summary>
            <para>Moves the iterator back by one position.</para>
            <para>Calling this function on an iterator located at the front of the container leads to undefined results.</para>
            <para>See also hasPrevious(), next(), and name().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClassPropertyIterator.ToBack">
            <summary>
            <para>Moves the iterator to the back of the QScriptValue (after the last property).</para>
            <para>See also toFront() and previous().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClassPropertyIterator.ToFront">
            <summary>
            <para>Moves the iterator to the front of the QScriptValue (before the first property).</para>
            <para>See also toBack() and next().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptClassPropertyIterator.Finalize">
            <summary>
            <para>Destroys the iterator.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptContext">
            <summary>
            The QScriptContext class represents a Qt Script function invocation.
            </summary>
            <remarks>
            <para></para>
            <para>A QScriptContext provides access to the `this' object and arguments passed to a script function. You typically want to access this information when you're writing a native (C++) function (see QScriptEngine::newFunction()) that will be called from script code. For example, when the script code</para>
            <para> foo(20.5, &amp;quot;hello&amp;quot;, new Object())</para>
            <para>is evaluated, a QScriptContext will be created, and the context will carry the arguments as QScriptValues; in this particular case, the arguments will be one QScriptValue containing the number 20.5, a second QScriptValue containing the string &amp;quot;hello&amp;quot;, and a third QScriptValue containing a Qt Script object.</para>
            <para>Use argumentCount() to get the number of arguments passed to the function, and argument() to get an argument at a certain index. The argumentsObject() function returns a Qt Script array object containing all the arguments; you can use the QScriptValueIterator to iterate over its elements, or pass the array on as arguments to another script function using QScriptValue::call().</para>
            <para>Use thisObject() to get the `this' object associated with the function call, and setThisObject() to set the `this' object. If you are implementing a native &amp;quot;instance method&amp;quot;, you typically fetch the thisObject() and access one or more of its properties:</para>
            <para> QScriptValue Person_prototype_fullName(QScriptContext *context, QScriptEngine *engine)</para>
            <para> {</para>
            <para>     QScriptValue self = context-&amp;gt;thisObject();</para>
            <para>     QString result;</para>
            <para>     result += self.property(&amp;quot;firstName&amp;quot;).toString();</para>
            <para>     result += QLatin1String(&amp;quot; &amp;quot;);</para>
            <para>     result += self.property(&amp;quot;lastName&amp;quot;).toString();</para>
            <para>     return result;</para>
            <para> }</para>
            <para>Use isCalledAsConstructor() to determine if the function was called as a constructor (e.g. &amp;quot;new foo()&amp;quot; (as constructor) or just &amp;quot;foo()&amp;quot;). When a function is called as a constructor, the thisObject() contains the newly constructed object that the function is expected to initialize.</para>
            <para>Use throwValue() or throwError() to throw an exception.</para>
            <para>Use callee() to obtain the QScriptValue that represents the function being called. This can for example be used to call the function recursively.</para>
            <para>Use parentContext() to get a pointer to the context that precedes this context in the activation stack. This is mostly useful for debugging purposes (e.g. when constructing some form of backtrace).</para>
            <para>The activationObject() function returns the object that is used to hold the local variables associated with this function call. You can replace the activation object by calling setActivationObject(). A typical usage of these functions is when you want script code to be evaluated in the context of the parent context, e.g. to implement an include() function:</para>
            <para> QScriptValue myInclude(QScriptContext *ctx, QScriptEngine *eng)</para>
            <para> {</para>
            <para>     QString fileName = ctx-&amp;gt;argument(0).toString();</para>
            <para>     QString contents = readTheFile(fileName);</para>
            <para>     ctx-&amp;gt;setActivationObject(ctx-&amp;gt;parentContext()-&amp;gt;activationObject());</para>
            <para>     ctx-&amp;gt;setThisObject(ctx-&amp;gt;parentContext()-&amp;gt;thisObject());</para>
            <para>     return eng-&amp;gt;evaluate(contents, fileName);</para>
            <para> }</para>
            <para>Use backtrace() to get a human-readable backtrace associated with this context. This can be useful for debugging purposes when implementing native functions. The toString() function provides a string representation of the context. (QScriptContextInfo provides more detailed debugging-related information about the QScriptContext.)</para>
            <para>Use engine() to obtain a pointer to the QScriptEngine that this context resides in.</para>
            <para></para>
            <para>See also QScriptContextInfo, QScriptEngine::newFunction(), and QScriptable.</para>
            </remarks>
        </member>
        <member name="M:QtScript.QScriptContext.Argument(System.Int32)">
            <summary>
            <para>Returns the function argument at the given index.</para>
            <para>If index &gt;= argumentCount(), a QScriptValue of the primitive type Undefined is returned.</para>
            <para>See also argumentCount().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContext.ArgumentCount">
            <summary>
            <para>Returns the number of arguments passed to the function in this invocation.</para>
            <para>Note that the argument count can be different from the formal number of arguments (the length property of callee()).</para>
            <para>See also argument().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContext.ArgumentsObject">
            <summary>
            <para>Returns the arguments object of this QScriptContext.</para>
            <para>The arguments object has properties callee (equal to callee()) and length (equal to argumentCount()), and properties 0, 1, ..., argumentCount() - 1 that provide access to the argument values. Initially, property P (0 &lt;= P &lt; argumentCount()) has the same value as argument(P). In the case when P is less than the number of formal parameters of the function, P shares its value with the corresponding property of the activation object (activationObject()). This means that changing this property changes the corresponding property of the activation object and vice versa.</para>
            <para>See also argument() and activationObject().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContext.Backtrace">
            <summary>
            <para>Returns a human-readable backtrace of this QScriptContext.</para>
            <para>Each line is of the form &lt;function-name&gt;(&lt;arguments&gt;)@&lt;file-name&gt;:&lt;line-number&gt;.</para>
            <para>To access individual pieces of debugging-related information (for example, to construct your own backtrace representation), use QScriptContextInfo.</para>
            <para>See also QScriptEngine::uncaughtExceptionBacktrace(), QScriptContextInfo, and toString().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContext.Callee">
            <summary>
            <para>Returns the callee. The callee is the function object that this QScriptContext represents an invocation of.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContext.Engine">
            <summary>
            <para>Returns the QScriptEngine that this QScriptContext belongs to.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContext.IsCalledAsConstructor">
            <summary>
            <para>Returns true if the function was called as a constructor (e.g. &quot;new foo()&quot;); otherwise returns false.</para>
            <para>When a function is called as constructor, the thisObject() contains the newly constructed object to be initialized.</para>
            <para>Note: This function is only guaranteed to work for a context corresponding to native functions.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContext.ParentContext">
            <summary>
            <para>Returns the parent context of this QScriptContext.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContext.State">
            <summary>
            <para>Returns the frameution state of this QScriptContext.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContext.ThrowError(System.String)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Throws an error with the given text. Returns the created error object.</para>
            <para>See also throwValue() and state().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContext.ThrowError(QtScript.QScriptContext.Error,System.String)">
            <summary>
            <para>Throws an error with the given text. Returns the created error object.</para>
            <para>The text will be stored in the message property of the error object.</para>
            <para>The error object will be initialized to contain information about the location where the error occurred; specifically, it will have properties lineNumber, fileName and stack. These properties are described in QtScript Extensions to ECMAScript.</para>
            <para>See also throwValue() and state().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContext.ThrowValue(QtScript.QScriptValue)">
            <summary>
            <para>Throws an exception with the given value. Returns the value thrown (the same as the argument).</para>
            <para>See also throwError() and state().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContext.ToString">
            <summary>
            <para>Returns a string representation of this context. This is useful for debugging.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also backtrace().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContext.Finalize">
            <summary>
            <para>Destroys this QScriptContext.</para>
            </summary>
        </member>
        <member name="P:QtScript.QScriptContext.ActivationObject">
            <summary>
            <para>Returns the activation object of this QScriptContext. The activation object provides access to the local variables associated with this context.</para>
            <para>Note: The activation object might not be available if there is no active QScriptEngineAgent, as it might be optimized.</para>
            <para>Sets the activation object of this QScriptContext to be the given activation.</para>
            <para>If activation is not an object, this function does nothing.</para>
            <para>Note: For a context corresponding to a JavaScript function, this is only guaranteed to work if there was an QScriptEngineAgent active on the engine while the function was evaluated.</para>
            </summary>
        </member>
        <member name="P:QtScript.QScriptContext.ThisObject">
            <summary>
            <para>Returns the `this' object associated with this QScriptContext.</para>
            <para>Sets the `this' object associated with this QScriptContext to be thisObject.</para>
            <para>If thisObject is not an object, this function does nothing.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptContext.Error">
            <summary>
            <para>This enum specifies types of error.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptContext.Error.RangeError">
            <summary>
            <para>A range error.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptContext.Error.ReferenceError">
            <summary>
            <para>A reference error.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptContext.Error.SyntaxError">
            <summary>
            <para>A syntax error.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptContext.Error.TypeError">
            <summary>
            <para>A type error.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptContext.Error.URIError">
            <summary>
            <para>A URI error.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptContext.Error.UnknownError">
            <summary>
            <para>An unknown error.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptContext.ExecutionState">
            <summary>
            <para>This enum specifies the frameution state of the context.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptContext.ExecutionState.ExceptionState">
            <summary>
            <para>The context is in an exceptional state.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptContext.ExecutionState.NormalState">
            <summary>
            <para>The context is in a normal state.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptContextInfo">
            <summary>
            The QScriptContextInfo class provides additional information about a QScriptContext.
            </summary>
            <remarks>
            <para></para>
            <para>QScriptContextInfo is typically used for debugging purposes. It can provide information about the code being executed, such as the type of the called function, and the original source code location of the current statement.</para>
            <para>If the called function is executing Qt Script code, you can obtain the script location with the functions fileName() and lineNumber().</para>
            <para>You can obtain the starting line number and ending line number of a Qt Script function definition with functionStartLineNumber() and functionEndLineNumber(), respectively.</para>
            <para>For Qt Script functions and Qt methods (e.g. slots), you can call functionParameterNames() to get the names of the formal parameters of the function.</para>
            <para>For Qt methods and Qt property accessors, you can obtain the index of the underlying QMetaMethod or QMetaProperty by calling functionMetaIndex().</para>
            <para></para>
            <para>See also QScriptContext and QScriptEngineAgent.</para>
            </remarks>
        </member>
        <member name="M:QtScript.QScriptContextInfo.#ctor">
            <summary>
            <para>Constructs a null QScriptContextInfo.</para>
            <para>See also isNull().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContextInfo.#ctor(QtScript.QScriptContext)">
            <summary>
            <para>Constructs a new QScriptContextInfo from the given context.</para>
            <para>The relevant information is extracted from the context at construction time; i.e. if you continue script execution in the context, the new state of the context will not be reflected in a previously created QScriptContextInfo.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContextInfo.#ctor(QtScript.QScriptContextInfo)">
            <summary>
            <para>Constructs a new QScriptContextInfo from the other info.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContextInfo.FileName">
            <summary>
            <para>Returns the name of the file where the code being executed was defined, if available; otherwise returns an empty string.</para>
            <para>For Qt Script code, this function returns the fileName argument that was passed to QScriptEngine::evaluate().</para>
            <para>See also lineNumber() and functionName().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContextInfo.FunctionEndLineNumber">
            <summary>
            <para>Returns the line number where the definition of the called function ends, or -1 if the line number is not available.</para>
            <para>The ending line number is only available if the functionType() is ScriptFunction.</para>
            <para>See also functionStartLineNumber().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContextInfo.FunctionMetaIndex">
            <summary>
            <para>Returns the meta index of the called function, or -1 if the meta index is not available.</para>
            <para>The meta index is only available if the functionType() is QtFunction or QtPropertyFunction. For QtFunction, the meta index can be passed to QMetaObject::method() to obtain the corresponding method definition; for QtPropertyFunction, the meta index can be passed to QMetaObject::property() to obtain the corresponding property definition.</para>
            <para>See also QScriptContext::thisObject().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContextInfo.FunctionName">
            <summary>
            <para>Returns the name of the called function, or an empty string if the name is not available.</para>
            <para>For script functions of type QtPropertyFunction, this function always returns the name of the property; you can use QScriptContext::argumentCount() to differentiate between reads and writes.</para>
            <para>See also fileName() and functionType().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContextInfo.FunctionParameterNames">
            <summary>
            <para>Returns the names of the formal parameters of the called function, or an empty QStringList if the parameter names are not available.</para>
            <para>See also QScriptContext::argument().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContextInfo.FunctionStartLineNumber">
            <summary>
            <para>Returns the line number where the definition of the called function starts, or -1 if the line number is not available.</para>
            <para>The starting line number is only available if the functionType() is ScriptFunction.</para>
            <para>See also functionEndLineNumber() and fileName().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContextInfo.functionType">
            <summary>
            <para>Returns the type of the called function.</para>
            <para>See also functionName() and QScriptContext::callee().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContextInfo.IsNull">
            <summary>
            <para>Returns true if this QScriptContextInfo is null, i.e. does not contain any information.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContextInfo.LineNumber">
            <summary>
            <para>Returns the line number corresponding to the statement being executed, or -1 if the line number is not available.</para>
            <para>The line number is only available if Qt Script code is being executed.</para>
            <para>See also columnNumber() and fileName().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContextInfo.op_Inequality(QtScript.QScriptContextInfo,QtScript.QScriptContextInfo)">
            <summary>
            <para>Returns true if this QScriptContextInfo is not equal to the other info, otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContextInfo.op_Equality(QtScript.QScriptContextInfo,QtScript.QScriptContextInfo)">
            <summary>
            <para>Returns true if this QScriptContextInfo is equal to the other info, otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContextInfo.ScriptId">
            <summary>
            <para>Returns the ID of the script where the code being executed was defined, or -1 if the ID is not available (i.e. a native function is being executed).</para>
            <para>See also QScriptEngineAgent::scriptLoad().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptContextInfo.Finalize">
            <summary>
            <para>Destroys the QScriptContextInfo.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptContextInfo.FunctionType">
            <summary>
            <para>This enum specifies the type of function being called.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptContextInfo.FunctionType.NativeFunction">
            <summary>
            <para>The function is a built-in Qt Script function, or it was defined through a call to QScriptEngine::newFunction().</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptContextInfo.FunctionType.QtFunction">
            <summary>
            <para>The function is a Qt function (a signal, slot or method).</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptContextInfo.FunctionType.QtPropertyFunction">
            <summary>
            <para>The function is a Qt property getter or setter.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptContextInfo.FunctionType.ScriptFunction">
            <summary>
            <para>The function is a Qt Script function, i.e. it was defined through a call to QScriptEngine::evaluate().</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptEngine">
            <summary>
            The QScriptEngine class provides an environment for evaluating Qt Script code.
            </summary>
            <remarks>
            <para></para>
            <para>See the QtScript documentation for information about the Qt Script language, and how to get started with scripting your C++ application.</para>
            <para></para>
            <para>Evaluating Scripts</para>
            <para>Use evaluate() to evaluate script code; this is the C++ equivalent of the built-in script function eval().</para>
            <para> QScriptEngine myEngine;</para>
            <para> QScriptValue three = myEngine.evaluate(&amp;quot;1 + 2&amp;quot;);</para>
            <para>evaluate() returns a QScriptValue that holds the result of the evaluation. The QScriptValue class provides functions for converting the result to various C++ types (e.g. QScriptValue::toString() and QScriptValue::toNumber()).</para>
            <para>The following code snippet shows how a script function can be defined and then invoked from C++ using QScriptValue::call():</para>
            <para> QScriptValue fun = myEngine.evaluate(&amp;quot;(function(a, b) { return a + b; })&amp;quot;);</para>
            <para> QScriptValueList args;</para>
            <para> args &amp;lt;&amp;lt; 1 &amp;lt;&amp;lt; 2;</para>
            <para> QScriptValue threeAgain = fun.call(QScriptValue(), args);</para>
            <para>As can be seen from the above snippets, a script is provided to the engine in the form of a string. One common way of loading scripts is by reading the contents of a file and passing it to evaluate():</para>
            <para> QString fileName = &amp;quot;helloworld.qs&amp;quot;;</para>
            <para> QFile scriptFile(fileName);</para>
            <para> if (!scriptFile.open(QIODevice::ReadOnly))</para>
            <para>     // handle error</para>
            <para> QTextStream stream(&amp;amp;scriptFile);</para>
            <para> QString contents = stream.readAll();</para>
            <para> scriptFile.close();</para>
            <para> myEngine.evaluate(contents, fileName);</para>
            <para>Here we pass the name of the file as the second argument to evaluate(). This does not affect evaluation in any way; the second argument is a general-purpose string that is used to identify the script for debugging purposes (for example, our filename will now show up in any uncaughtExceptionBacktrace() involving the script).</para>
            <para></para>
            <para>Engine Configuration</para>
            <para>The globalObject() function returns the Global Object associated with the script engine. Properties of the Global Object are accessible from any script code (i.e. they are global variables). Typically, before evaluating &amp;quot;user&amp;quot; scripts, you will want to configure a script engine by adding one or more properties to the Global Object:</para>
            <para> myEngine.globalObject().setProperty(&amp;quot;myNumber&amp;quot;, 123);</para>
            <para> ...</para>
            <para> QScriptValue myNumberPlusOne = myEngine.evaluate(&amp;quot;myNumber + 1&amp;quot;);</para>
            <para>Adding custom properties to the scripting environment is one of the standard means of providing a scripting API that is specific to your application. Usually these custom properties are objects created by the newQObject() or newObject() functions, or constructor functions created by newFunction().</para>
            <para></para>
            <para>Script Exceptions</para>
            <para>evaluate() can throw a script exception (e.g. due to a syntax error); in that case, the return value is the value that was thrown (typically an Error object). You can check whether the evaluation caused an exception by calling hasUncaughtException(). In that case, you can call toString() on the error object to obtain an error message. The current uncaught exception is also available through uncaughtException(). Calling clearExceptions() will cause any uncaught exceptions to be cleared.</para>
            <para> QScriptValue result = myEngine.evaluate(...);</para>
            <para> if (myEngine.hasUncaughtException()) {</para>
            <para>     int line = myEngine.uncaughtExceptionLineNumber();</para>
            <para>     qDebug() &amp;lt;&amp;lt; &amp;quot;uncaught exception at line&amp;quot; &amp;lt;&amp;lt; line &amp;lt;&amp;lt; &amp;quot;:&amp;quot; &amp;lt;&amp;lt; result.toString();</para>
            <para> }</para>
            <para>The checkSyntax() function can be used to determine whether code can be usefully passed to evaluate().</para>
            <para></para>
            <para>Script Object Creation</para>
            <para>Use newObject() to create a standard Qt Script object; this is the C++ equivalent of the script statement new Object(). You can use the object-specific functionality in QScriptValue to manipulate the script object (e.g. QScriptValue::setProperty()). Similarly, use newArray() to create a Qt Script array object. Use newDate() to create a Date object, and newRegExp() to create a RegExp object.</para>
            <para></para>
            <para>QObject Integration</para>
            <para>Use newQObject() to wrap a QObject (or subclass) pointer. newQObject() returns a proxy script object; properties, children, and signals and slots of the QObject are available as properties of the proxy object. No binding code is needed because it is done dynamically using the Qt meta object system.</para>
            <para> QPushButton button;</para>
            <para> QScriptValue scriptButton = myEngine.newQObject(&amp;amp;button);</para>
            <para> myEngine.globalObject().setProperty(&amp;quot;button&amp;quot;, scriptButton);</para>
            <para></para>
            <para> myEngine.evaluate(&amp;quot;button.checkable = true&amp;quot;);</para>
            <para></para>
            <para> qDebug() &amp;lt;&amp;lt; scriptButton.property(&amp;quot;checkable&amp;quot;).toBoolean();</para>
            <para> scriptButton.property(&amp;quot;show&amp;quot;).call(); // call the show() slot</para>
            <para>Use qScriptConnect() to connect a C++ signal to a script function; this is the Qt Script equivalent of QObject::connect(). When a script function is invoked in response to a C++ signal, it can cause a script exception; you can connect to the signalHandlerException() signal to catch such an exception.</para>
            <para>Use newQMetaObject() to wrap a QMetaObject; this gives you a &amp;quot;script representation&amp;quot; of a QObject-based class. newQMetaObject() returns a proxy script object; enum values of the class are available as properties of the proxy object. You can also specify a function that will be used to construct objects of the class (e.g. when the constructor is invoked from a script). For classes that have a &amp;quot;standard&amp;quot; Qt constructor, Qt Script can provide a default script constructor for you; see scriptValueFromQMetaObject().</para>
            <para>For more information about QObject integration, see Making Applications Scriptable</para>
            <para></para>
            <para>Support for Custom C++ Types</para>
            <para>Use newVariant() to wrap a QVariant. This can be used to store values of custom (non-QObject) C++ types that have been registered with the Qt meta-type system. To make such types scriptable, you typically associate a prototype (delegate) object with the C++ type by calling setDefaultPrototype(); the prototype object defines the scripting API for the C++ type. Unlike the QObject integration, there is no automatic binding possible here; i.e. you have to create the scripting API yourself, for example by using the QScriptable class.</para>
            <para>Use fromScriptValue() to cast from a QScriptValue to another type, and toScriptValue() to create a QScriptValue from another value. You can specify how the conversion of C++ types is to be performed with qScriptRegisterMetaType() and qScriptRegisterSequenceMetaType(). By default, Qt Script will use QVariant to store values of custom types.</para>
            <para></para>
            <para>Importing Extensions</para>
            <para>Use importExtension() to import plugin-based extensions into the engine. Call availableExtensions() to obtain a list naming all the available extensions, and importedExtensions() to obtain a list naming only those extensions that have been imported.</para>
            <para>Call pushContext() to open up a new variable scope, and popContext() to close the current scope. This is useful if you are implementing an extension that evaluates script code containing temporary variable definitions (e.g. var foo = 123;) that are safe to discard when evaluation has completed.</para>
            <para></para>
            <para>Native Functions</para>
            <para>Use newFunction() to wrap native (C++) functions, including constructors for your own custom types, so that these can be invoked from script code. Such functions must have the signature QScriptEngine::FunctionSignature. You may then pass the function as argument to newFunction(). Here is an example of a function that returns the sum of its first two arguments:</para>
            <para> QScriptValue myAdd(QScriptContext *context, QScriptEngine *engine)</para>
            <para> {</para>
            <para>    QScriptValue a = context-&amp;gt;argument(0);</para>
            <para>    QScriptValue b = context-&amp;gt;argument(1);</para>
            <para>    return a.toNumber() + b.toNumber();</para>
            <para> }</para>
            <para>To expose this function to script code, you can set it as a property of the Global Object:</para>
            <para> QScriptValue fun = myEngine.newFunction(myAdd);</para>
            <para> myEngine.globalObject().setProperty(&amp;quot;myAdd&amp;quot;, fun);</para>
            <para>Once this is done, script code can call your function in the exact same manner as a &amp;quot;normal&amp;quot; script function:</para>
            <para> QScriptValue result = myEngine.evaluate(&amp;quot;myAdd(myNumber, 1)&amp;quot;);</para>
            <para></para>
            <para>Long-running Scripts</para>
            <para>If you need to evaluate possibly long-running scripts from the main (GUI) thread, you should first call setProcessEventsInterval() to make sure that the GUI stays responsive. You can abort a currently running script by calling abortEvaluation(). You can determine whether an engine is currently running a script by calling isEvaluating().</para>
            <para></para>
            <para>Garbage Collection</para>
            <para>Qt Script objects may be garbage collected when they are no longer referenced. There is no guarantee as to when automatic garbage collection will take place.</para>
            <para>The collectGarbage() function can be called to explicitly request garbage collection.</para>
            <para>The reportAdditionalMemoryCost() function can be called to indicate that a Qt Script object occupies memory that isn't managed by the scripting environment. Reporting the additional cost makes it more likely that the garbage collector will be triggered. This can be useful, for example, when many custom, native Qt Script objects are allocated.</para>
            <para></para>
            <para>Core Debugging/Tracing Facilities</para>
            <para>Since Qt 4.4, you can be notified of events pertaining to script execution (e.g. script function calls and statement execution) through the QScriptEngineAgent interface; see the setAgent() function. This can be used to implement debugging and profiling of a QScriptEngine.</para>
            <para></para>
            <para>See also QScriptValue, QScriptContext, and QScriptEngineAgent.</para>
            </remarks>
        </member>
        <member name="M:QtScript.QScriptEngine.#ctor">
            <summary>
            <para>Constructs a QScriptEngine object.</para>
            <para>The globalObject() is initialized to have properties as described in ECMA-262, Section 15.1.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a QScriptEngine object with the given parent.</para>
            <para>The globalObject() is initialized to have properties as described in ECMA-262, Section 15.1.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.AbortEvaluation">
            <summary>
            <para>Aborts any script evaluation currently taking place in this engine. The given result is passed back as the result of the evaluation (i.e. it is returned from the call to evaluate() being aborted).</para>
            <para>If the engine isn't evaluating a script (i.e. isEvaluating() returns false), this function does nothing.</para>
            <para>Call this function if you need to abort a running script for some reason, e.g. when you have detected that the script has been running for several seconds without completing.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also evaluate(), isEvaluating(), and setProcessEventsInterval().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.AbortEvaluation(QtScript.QScriptValue)">
            <summary>
            <para>Aborts any script evaluation currently taking place in this engine. The given result is passed back as the result of the evaluation (i.e. it is returned from the call to evaluate() being aborted).</para>
            <para>If the engine isn't evaluating a script (i.e. isEvaluating() returns false), this function does nothing.</para>
            <para>Call this function if you need to abort a running script for some reason, e.g. when you have detected that the script has been running for several seconds without completing.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also evaluate(), isEvaluating(), and setProcessEventsInterval().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.AvailableExtensions">
            <summary>
            <para>Returns a list naming the available extensions that can be imported using the importExtension() function. This list includes extensions that have been imported.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also importExtension() and importedExtensions().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.CanEvaluate(System.String)">
            <summary>
            <para>Returns true if program can be evaluated; i.e. the code is sufficient to determine whether it appears to be a syntactically correct program, or contains a syntax error.</para>
            <para>This function returns false if program is incomplete; i.e. the input is syntactically correct up to the point where the input is terminated.</para>
            <para>Note that this function only does a static check of program; e.g. it does not check whether references to variables are valid, and so on.</para>
            <para>A typical usage of canEvaluate() is to implement an interactive interpreter for QtScript. The user is repeatedly queried for individual lines of code; the lines are concatened internally, and only when canEvaluate() returns true for the resulting program is it passed to evaluate().</para>
            <para>The following are some examples to illustrate the behavior of canEvaluate(). (Note that all example inputs are assumed to have an explicit newline as their last character, since otherwise the QtScript parser would automatically insert a semi-colon character at the end of the input, and this could cause canEvaluate() to produce different results.)</para>
            <para>Given the input</para>
            <para> if (hello &amp;&amp; world)</para>
            <para>     print(&quot;hello world&quot;);</para>
            <para>canEvaluate() will return true, since the program appears to be complete.</para>
            <para>Given the input</para>
            <para> if (hello &amp;&amp;</para>
            <para>canEvaluate() will return false, since the if-statement is not complete, but is syntactically correct so far.</para>
            <para>Given the input</para>
            <para> 0 = 0</para>
            <para>canEvaluate() will return true, but evaluate() will throw a SyntaxError given the same input.</para>
            <para>Given the input</para>
            <para> ./test.js</para>
            <para>canEvaluate() will return true, even though the code is clearly not syntactically valid QtScript code. evaluate() will throw a SyntaxError when this code is evaluated.</para>
            <para>Given the input</para>
            <para> foo[&quot;bar&quot;]</para>
            <para>canEvaluate() will return true, but evaluate() will throw a ReferenceError if foo is not defined in the script environment.</para>
            <para>See also evaluate() and checkSyntax().</para>
            <para></para>
            <para>Related Non-Members</para>
            <para></para>
            <para>QScriptValue qScriptValueFromValue ( QScriptEngine * engine, const T &amp; value )</para>
            <para>Creates a QScriptValue using the given engine with the given value of template type T.</para>
            <para>This function is equivalent to QScriptEngine::toScriptValue().</para>
            <para>Note: This function was provided as a workaround for MSVC 6 which did not support member template functions. It is advised to use the other form in new code.</para>
            <para>This function was introduced in Qt 4.3.</para>
            <para>See also QScriptEngine::toScriptValue() and qscriptvalue_cast().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.CheckSyntax(System.String)">
            <summary>
            <para>Checks the syntax of the given program. Returns a QScriptSyntaxCheckResult object that contains the result of the check.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.ClearExceptions">
            <summary>
            <para>Clears any uncaught exceptions in this engine.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also hasUncaughtException().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.CollectGarbage">
            <summary>
            <para>Runs the garbage collector.</para>
            <para>The garbage collector will attempt to reclaim memory by locating and disposing of objects that are no longer reachable in the script environment.</para>
            <para>Normally you don't need to call this function; the garbage collector will automatically be invoked when the QScriptEngine decides that it's wise to do so (i.e. when a certain number of new objects have been created). However, you can call this function to explicitly request that garbage collection should be performed as soon as possible.</para>
            <para>See also reportAdditionalMemoryCost().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.CurrentContext">
            <summary>
            <para>Returns the current context.</para>
            <para>The current context is typically accessed to retrieve the arguments and `this' object in native functions; for convenience, it is available as the first argument in QScriptEngine::FunctionSignature.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.DefaultPrototype(System.Int32)">
            <summary>
            <para>Returns the default prototype associated with the given metaTypeId, or an invalid QScriptValue if no default prototype has been set.</para>
            <para>See also setDefaultPrototype().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.Evaluate(System.String,System.String,System.Int32)">
            <summary>
            <para>Evaluates program, using lineNumber as the base line number, and returns the result of the evaluation.</para>
            <para>The script code will be evaluated in the current context.</para>
            <para>The evaluation of program can cause an exception in the engine; in this case the return value will be the exception that was thrown (typically an Error object). You can call hasUncaughtException() to determine if an exception occurred in the last call to evaluate().</para>
            <para>lineNumber is used to specify a starting line number for program; line number information reported by the engine that pertain to this evaluation (e.g. uncaughtExceptionLineNumber()) will be based on this argument. For example, if program consists of two lines of code, and the statement on the second line causes a script exception, uncaughtExceptionLineNumber() would return the given lineNumber plus one. When no starting line number is specified, line numbers will be 1-based.</para>
            <para>fileName is used for error reporting. For example in error objects the file name is accessible through the &quot;fileName&quot; property if it's provided with this function.</para>
            <para>See also canEvaluate(), hasUncaughtException(), isEvaluating(), and abortEvaluation().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.HasUncaughtException">
            <summary>
            <para>Returns true if the last script evaluation resulted in an uncaught exception; otherwise returns false.</para>
            <para>The exception state is cleared when evaluate() is called.</para>
            <para>See also uncaughtException() and uncaughtExceptionLineNumber().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.ImportExtension(System.String)">
            <summary>
            <para>Imports the given extension into this QScriptEngine. Returns undefinedValue() if the extension was successfully imported. You can call hasUncaughtException() to check if an error occurred; in that case, the return value is the value that was thrown by the exception (usually an Error object).</para>
            <para>QScriptEngine ensures that a particular extension is only imported once; subsequent calls to importExtension() with the same extension name will do nothing and return undefinedValue().</para>
            <para>See also availableExtensions(), QScriptExtensionPlugin, and Creating QtScript Extensions.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.ImportedExtensions">
            <summary>
            <para>Returns a list naming the extensions that have been imported using the importExtension() function.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also availableExtensions().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.InstallTranslatorFunctions">
            <summary>
            <para>Installs translator functions on the given object, or on the Global Object if no object is specified.</para>
            <para>The relation between Qt Script translator functions and C++ translator functions is described in the following table:</para>
            <para></para>
            <para>Script FunctionCorresponding C++ Function</para>
            <para>qsTr()	QObject::tr()</para>
            <para>QT_TR_NOOP()	QT_TR_NOOP()</para>
            <para>qsTranslate()	QCoreApplication::translate()</para>
            <para>QT_TRANSLATE_NOOP()	QT_TRANSLATE_NOOP()</para>
            <para>qsTrId() (since 4.7)	qtTrId()</para>
            <para>QT_TRID_NOOP() (since 4.7)	QT_TRID_NOOP()</para>
            <para></para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also Internationalization with Qt.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.InstallTranslatorFunctions(QtScript.QScriptValue)">
            <summary>
            <para>Installs translator functions on the given object, or on the Global Object if no object is specified.</para>
            <para>The relation between Qt Script translator functions and C++ translator functions is described in the following table:</para>
            <para></para>
            <para>Script FunctionCorresponding C++ Function</para>
            <para>qsTr()	QObject::tr()</para>
            <para>QT_TR_NOOP()	QT_TR_NOOP()</para>
            <para>qsTranslate()	QCoreApplication::translate()</para>
            <para>QT_TRANSLATE_NOOP()	QT_TRANSLATE_NOOP()</para>
            <para>qsTrId() (since 4.7)	qtTrId()</para>
            <para>QT_TRID_NOOP() (since 4.7)	QT_TRID_NOOP()</para>
            <para></para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also Internationalization with Qt.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.IsEvaluating">
            <summary>
            <para>Returns true if this engine is currently evaluating a script, otherwise returns false.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also evaluate() and abortEvaluation().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NewArray(System.UInt32)">
            <summary>
            <para>Creates a QtScript object of class Array with the given length.</para>
            <para>See also newObject().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NewDate(QtCore.QDateTime)">
            <summary>
            <para>Creates a QtScript object of class Date from the given value.</para>
            <para>See also QScriptValue::toDateTime().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NewDate(System.Double)">
            <summary>
            <para>Creates a QtScript object of class Date with the given value (the number of milliseconds since 01 January 1970, UTC).</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NewFunction(QtScript.Global.FuncQScriptValueQScriptContextQScriptEngine,QtScript.QScriptValue,System.Int32)">
            <summary>
            <para>Creates a QScriptValue that wraps a native (C++) function. fun must be a C++ function with signature QScriptEngine::FunctionSignature. length is the number of arguments that fun expects; this becomes the length property of the created QScriptValue.</para>
            <para>Note that length only gives an indication of the number of arguments that the function expects; an actual invocation of a function can include any number of arguments. You can check the argumentCount() of the QScriptContext associated with the invocation to determine the actual number of arguments passed.</para>
            <para>A prototype property is automatically created for the resulting function object, to provide for the possibility that the function will be used as a constructor.</para>
            <para>By combining newFunction() and the property flags QScriptValue::PropertyGetter and QScriptValue::PropertySetter, you can create script object properties that behave like normal properties in script code, but are in fact accessed through functions (analogous to how properties work in Qt's Property System). Example:</para>
            <para> static QScriptValue getSetFoo(QScriptContext *context, QScriptEngine *engine)</para>
            <para> {</para>
            <para>     QScriptValue callee = context-&gt;callee();</para>
            <para>     if (context-&gt;argumentCount() == 1) // writing?</para>
            <para>         callee.setProperty(&quot;value&quot;, context-&gt;argument(0));</para>
            <para>     return callee.property(&quot;value&quot;);</para>
            <para> }</para>
            <para></para>
            <para> ....</para>
            <para></para>
            <para> QScriptValue object = engine.newObject();</para>
            <para> object.setProperty(&quot;foo&quot;, engine.newFunction(getSetFoo),</para>
            <para>     QScriptValue::PropertyGetter | QScriptValue::PropertySetter);</para>
            <para>When the property foo of the script object is subsequently accessed in script code, getSetFoo() will be invoked to handle the access. In this particular case, we chose to store the &quot;real&quot; value of foo as a property of the accessor function itself; you are of course free to do whatever you like in this function.</para>
            <para>In the above example, a single native function was used to handle both reads and writes to the property; the argument count is used to determine if we are handling a read or write. You can also use two separate functions; just specify the relevant flag (QScriptValue::PropertyGetter or QScriptValue::PropertySetter) when setting the property, e.g.:</para>
            <para> QScriptValue object = engine.newObject();</para>
            <para> object.setProperty(&quot;foo&quot;, engine.newFunction(getFoo), QScriptValue::PropertyGetter);</para>
            <para> object.setProperty(&quot;foo&quot;, engine.newFunction(setFoo), QScriptValue::PropertySetter);</para>
            <para>See also QScriptValue::call().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NewFunction(QtScript.Global.FuncQScriptValueQScriptContextQScriptEngine,System.Int32)">
            <summary>
            <para>Creates a QScriptValue that wraps a native (C++) function. fun must be a C++ function with signature QScriptEngine::FunctionSignature. length is the number of arguments that fun expects; this becomes the length property of the created QScriptValue.</para>
            <para>Note that length only gives an indication of the number of arguments that the function expects; an actual invocation of a function can include any number of arguments. You can check the argumentCount() of the QScriptContext associated with the invocation to determine the actual number of arguments passed.</para>
            <para>A prototype property is automatically created for the resulting function object, to provide for the possibility that the function will be used as a constructor.</para>
            <para>By combining newFunction() and the property flags QScriptValue::PropertyGetter and QScriptValue::PropertySetter, you can create script object properties that behave like normal properties in script code, but are in fact accessed through functions (analogous to how properties work in Qt's Property System). Example:</para>
            <para> static QScriptValue getSetFoo(QScriptContext *context, QScriptEngine *engine)</para>
            <para> {</para>
            <para>     QScriptValue callee = context-&gt;callee();</para>
            <para>     if (context-&gt;argumentCount() == 1) // writing?</para>
            <para>         callee.setProperty(&quot;value&quot;, context-&gt;argument(0));</para>
            <para>     return callee.property(&quot;value&quot;);</para>
            <para> }</para>
            <para></para>
            <para> ....</para>
            <para></para>
            <para> QScriptValue object = engine.newObject();</para>
            <para> object.setProperty(&quot;foo&quot;, engine.newFunction(getSetFoo),</para>
            <para>     QScriptValue::PropertyGetter | QScriptValue::PropertySetter);</para>
            <para>When the property foo of the script object is subsequently accessed in script code, getSetFoo() will be invoked to handle the access. In this particular case, we chose to store the &quot;real&quot; value of foo as a property of the accessor function itself; you are of course free to do whatever you like in this function.</para>
            <para>In the above example, a single native function was used to handle both reads and writes to the property; the argument count is used to determine if we are handling a read or write. You can also use two separate functions; just specify the relevant flag (QScriptValue::PropertyGetter or QScriptValue::PropertySetter) when setting the property, e.g.:</para>
            <para> QScriptValue object = engine.newObject();</para>
            <para> object.setProperty(&quot;foo&quot;, engine.newFunction(getFoo), QScriptValue::PropertyGetter);</para>
            <para> object.setProperty(&quot;foo&quot;, engine.newFunction(setFoo), QScriptValue::PropertySetter);</para>
            <para>See also QScriptValue::call().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NewObject">
            <summary>
            <para>Creates a QtScript object of class Object.</para>
            <para>The prototype of the created object will be the Object prototype object.</para>
            <para>See also newArray() and QScriptValue::setProperty().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NewObject(QtScript.QScriptClass)">
            <summary>
            <para>Creates a QtScript object of class Object.</para>
            <para>The prototype of the created object will be the Object prototype object.</para>
            <para>See also newArray() and QScriptValue::setProperty().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NewObject(QtScript.QScriptClass,QtScript.QScriptValue)">
            <summary>
            <para>Creates a QtScript object of class Object.</para>
            <para>The prototype of the created object will be the Object prototype object.</para>
            <para>See also newArray() and QScriptValue::setProperty().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NewQMetaObject(QtCore.QMetaObject)">
            <summary>
            <para>Creates a QtScript object that represents a QObject class, using the the given metaObject and constructor ctor.</para>
            <para>Enums of metaObject (declared with Q_ENUMS) are available as properties of the created QScriptValue. When the class is called as a function, ctor will be called to create a new instance of the class.</para>
            <para>Example:</para>
            <para> QScriptValue mySpecialQObjectConstructor(QScriptContext *context,</para>
            <para>                                          QScriptEngine *engine)</para>
            <para> {</para>
            <para>     QObject *parent = context-&gt;argument(0).toQObject();</para>
            <para>     QObject *object = new QObject(parent);</para>
            <para>     return engine-&gt;newQObject(object, QScriptEngine::ScriptOwnership);</para>
            <para> }</para>
            <para></para>
            <para> ...</para>
            <para></para>
            <para> QScriptValue ctor = engine.newFunction(mySpecialQObjectConstructor);</para>
            <para> QScriptValue metaObject = engine.newQMetaObject(&amp;QObject::staticMetaObject, ctor);</para>
            <para> engine.globalObject().setProperty(&quot;QObject&quot;, metaObject);</para>
            <para></para>
            <para> QScriptValue result = engine.evaluate(&quot;new QObject()&quot;);</para>
            <para>See also newQObject() and scriptValueFromQMetaObject().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NewQMetaObject(QtCore.QMetaObject,QtScript.QScriptValue)">
            <summary>
            <para>Creates a QtScript object that represents a QObject class, using the the given metaObject and constructor ctor.</para>
            <para>Enums of metaObject (declared with Q_ENUMS) are available as properties of the created QScriptValue. When the class is called as a function, ctor will be called to create a new instance of the class.</para>
            <para>Example:</para>
            <para> QScriptValue mySpecialQObjectConstructor(QScriptContext *context,</para>
            <para>                                          QScriptEngine *engine)</para>
            <para> {</para>
            <para>     QObject *parent = context-&gt;argument(0).toQObject();</para>
            <para>     QObject *object = new QObject(parent);</para>
            <para>     return engine-&gt;newQObject(object, QScriptEngine::ScriptOwnership);</para>
            <para> }</para>
            <para></para>
            <para> ...</para>
            <para></para>
            <para> QScriptValue ctor = engine.newFunction(mySpecialQObjectConstructor);</para>
            <para> QScriptValue metaObject = engine.newQMetaObject(&amp;QObject::staticMetaObject, ctor);</para>
            <para> engine.globalObject().setProperty(&quot;QObject&quot;, metaObject);</para>
            <para></para>
            <para> QScriptValue result = engine.evaluate(&quot;new QObject()&quot;);</para>
            <para>See also newQObject() and scriptValueFromQMetaObject().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NewQObject(QtScript.QScriptValue,QtCore.QObject,QtScript.QScriptEngine.ValueOwnership,QtScript.QScriptEngine.QObjectWrapOption)">
            <summary>
            <para>Creates a QtScript object that wraps the given QObject object, using the given ownership. The given options control various aspects of the interaction with the resulting script object.</para>
            <para>Signals and slots, properties and children of object are available as properties of the created QScriptValue. For more information, see the QtScript documentation.</para>
            <para>If object is a null pointer, this function returns nullValue().</para>
            <para>If a default prototype has been registered for the object's class (or its superclass, recursively), the prototype of the new script object will be set to be that default prototype.</para>
            <para>If the given object is deleted outside of QtScript's control, any attempt to access the deleted QObject's members through the QtScript wrapper object (either by script code or C++) will result in a script exception.</para>
            <para>See also QScriptValue::toQObject() and reportAdditionalMemoryCost().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NewQObject(QtCore.QObject,QtScript.QScriptEngine.ValueOwnership,QtScript.QScriptEngine.QObjectWrapOption)">
            <summary>
            <para>Creates a QtScript object that wraps the given QObject object, using the given ownership. The given options control various aspects of the interaction with the resulting script object.</para>
            <para>Signals and slots, properties and children of object are available as properties of the created QScriptValue. For more information, see the QtScript documentation.</para>
            <para>If object is a null pointer, this function returns nullValue().</para>
            <para>If a default prototype has been registered for the object's class (or its superclass, recursively), the prototype of the new script object will be set to be that default prototype.</para>
            <para>If the given object is deleted outside of QtScript's control, any attempt to access the deleted QObject's members through the QtScript wrapper object (either by script code or C++) will result in a script exception.</para>
            <para>See also QScriptValue::toQObject() and reportAdditionalMemoryCost().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NewRegExp(QtCore.QRegExp)">
            <summary>
            <para>Creates a QtScript object of class RegExp with the given regexp.</para>
            <para>See also QScriptValue::toRegExp().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NewRegExp(System.String,System.String)">
            <summary>
            <para>Creates a QtScript object of class RegExp with the given pattern and flags.</para>
            <para>The legal flags are 'g' (global), 'i' (ignore case), and 'm' (multiline).</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NewVariant(System.Object)">
            <summary>
            <para>Creates a QtScript object holding the given variant value.</para>
            <para>If a default prototype has been registered with the meta type id of value, then the prototype of the created object will be that prototype; otherwise, the prototype will be the Object prototype object.</para>
            <para>See also setDefaultPrototype(), QScriptValue::toVariant(), and reportAdditionalMemoryCost().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NewVariant(QtScript.QScriptValue,System.Object)">
            <summary>
            <para>This is an overloaded function.</para>
            <para>Initializes the given Qt Script object to hold the given variant value, and returns the object.</para>
            <para>This function enables you to &quot;promote&quot; a plain Qt Script object (created by the newObject() function) to a variant, or to replace the variant contained inside an object previously created by the newVariant() function.</para>
            <para>The prototype() of the object will remain unchanged.</para>
            <para>If object is not an object, this function behaves like the normal newVariant(), i.e. it creates a new script object and returns it.</para>
            <para>This function is useful when you want to provide a script constructor for a C++ type. If your constructor is invoked in a new expression (QScriptContext::isCalledAsConstructor() returns true), you can pass QScriptContext::thisObject() (the default constructed script object) to this function to initialize the new object.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also reportAdditionalMemoryCost().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.NullValue">
            <summary>
            <para>Returns a QScriptValue of the primitive type Null.</para>
            <para>See also undefinedValue().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.PopContext">
            <summary>
            <para>Pops the current execution context and restores the previous one. This function must be used in conjunction with pushContext().</para>
            <para>See also pushContext().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.PushContext">
            <summary>
            <para>Enters a new execution context and returns the associated QScriptContext object.</para>
            <para>Once you are done with the context, you should call popContext() to restore the old context.</para>
            <para>By default, the `this' object of the new context is the Global Object. The context's callee() will be invalid.</para>
            <para>This function is useful when you want to evaluate script code as if it were the body of a function. You can use the context's activationObject() to initialize local variables that will be available to scripts. Example:</para>
            <para> QScriptEngine engine;</para>
            <para> QScriptContext *context = engine.pushContext();</para>
            <para> context-&gt;activationObject().setProperty(&quot;myArg&quot;, 123);</para>
            <para> engine.evaluate(&quot;var tmp = myArg + 42&quot;);</para>
            <para> ...</para>
            <para> engine.popContext();</para>
            <para>In the above example, the new variable &quot;tmp&quot; defined in the script will be local to the context; in other words, the script doesn't have any effect on the global environment.</para>
            <para>Returns 0 in case of stack overflow</para>
            <para>See also popContext().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.ReportAdditionalMemoryCost(System.Int32)">
            <summary>
            <para>Reports an additional memory cost of the given size, measured in bytes, to the garbage collector.</para>
            <para>This function can be called to indicate that a Qt Script object has memory associated with it that isn't managed by Qt Script itself. Reporting the additional cost makes it more likely that the garbage collector will be triggered.</para>
            <para>Note that if the additional memory is shared with objects outside the scripting environment, the cost should not be reported, since collecting the Qt Script object would not cause the memory to be freed anyway.</para>
            <para>Negative size values are ignored, i.e. this function can't be used to report that the additional memory has been deallocated.</para>
            <para>This function was introduced in Qt 4.7.</para>
            <para>See also collectGarbage().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.SetDefaultPrototype(System.Int32,QtScript.QScriptValue)">
            <summary>
            <para>Sets the default prototype of the C++ type identified by the given metaTypeId to prototype.</para>
            <para>The default prototype provides a script interface for values of type metaTypeId when a value of that type is accessed from script code. Whenever the script engine (implicitly or explicitly) creates a QScriptValue from a value of type metaTypeId, the default prototype will be set as the QScriptValue's prototype.</para>
            <para>The prototype object itself may be constructed using one of two principal techniques; the simplest is to subclass QScriptable, which enables you to define the scripting API of the type through QObject properties and slots. Another possibility is to create a script object by calling newObject(), and populate the object with the desired properties (e.g. native functions wrapped with newFunction()).</para>
            <para>See also defaultPrototype(), qScriptRegisterMetaType(), QScriptable, and Default Prototypes Example.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.OnSignalHandlerException(QtScript.QScriptValue)">
            <summary>
            <para>This signal is emitted when a script function connected to a signal causes an exception.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also qScriptConnect().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.ToObject(QtScript.QScriptValue)">
            <summary>
            <para>Converts the given value to an object, if such a conversion is possible; otherwise returns an invalid QScriptValue. The conversion is performed according to the following table:</para>
            <para></para>
            <para>Input TypeResult</para>
            <para>Undefined	An invalid QScriptValue.</para>
            <para>Null	An invalid QScriptValue.</para>
            <para>Boolean	A new Boolean object whose internal value is set to the value of the boolean.</para>
            <para>Number	A new Number object whose internal value is set to the value of the number.</para>
            <para>String	A new String object whose internal value is set to the value of the string.</para>
            <para>Object	The result is the object itself (no conversion).</para>
            <para></para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also newObject().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.ToStringHandle(System.String)">
            <summary>
            <para>Returns a handle that represents the given string, str.</para>
            <para>QScriptString can be used to quickly look up properties, and compare property names, of script objects.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also QScriptValue::property().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.UncaughtException">
            <summary>
            <para>Returns the current uncaught exception, or an invalid QScriptValue if there is no uncaught exception.</para>
            <para>The exception value is typically an Error object; in that case, you can call toString() on the return value to obtain an error message.</para>
            <para>See also hasUncaughtException() and uncaughtExceptionLineNumber().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.UncaughtExceptionBacktrace">
            <summary>
            <para>Returns a human-readable backtrace of the last uncaught exception.</para>
            <para>It is in the form &lt;function-name&gt;()@&lt;file-name&gt;:&lt;line-number&gt;.</para>
            <para>See also uncaughtException().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.UncaughtExceptionLineNumber">
            <summary>
            <para>Returns the line number where the last uncaught exception occurred.</para>
            <para>Line numbers are 1-based, unless a different base was specified as the second argument to evaluate().</para>
            <para>See also hasUncaughtException().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.UndefinedValue">
            <summary>
            <para>Returns a QScriptValue of the primitive type Undefined.</para>
            <para>See also nullValue().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngine.Finalize">
            <summary>
            <para>Destroys this QScriptEngine.</para>
            </summary>
        </member>
        <member name="E:QtScript.QScriptEngine.SignalHandlerException">
            <summary>
            <para>This signal is emitted when a script function connected to a signal causes an exception.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also qScriptConnect().</para>
            </summary>
        </member>
        <member name="P:QtScript.QScriptEngine.Agent">
            <summary>
            <para>Returns the agent currently installed on this engine, or 0 if no agent is installed.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>Installs the given agent on this engine. The agent will be notified of various events pertaining to script execution. This is useful when you want to find out exactly what the engine is doing, e.g. when evaluate() is called. The agent interface is the basis of tools like debuggers and profilers.</para>
            <para>The engine maintains ownership of the agent.</para>
            <para>Calling this function will replace the existing agent, if any.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="P:QtScript.QScriptEngine.GlobalObject">
            <summary>
            <para>Returns this engine's Global Object.</para>
            <para>By default, the Global Object contains the built-in objects that are part of ECMA-262, such as Math, Date and String. Additionally, you can set properties of the Global Object to make your own extensions available to all script code. Non-local variables in script code will be created as properties of the Global Object, as well as local variables in global code.</para>
            <para>Sets this engine's Global Object to be the given object. If object is not a valid script object, this function does nothing.</para>
            <para>When setting a custom global object, you may want to use QScriptValueIterator to copy the properties of the standard Global Object; alternatively, you can set the internal prototype of your custom object to be the original Global Object.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="P:QtScript.QScriptEngine.ProcessEventsInterval">
            <summary>
            <para>Returns the interval in milliseconds between calls to QCoreApplication::processEvents() while the interpreter is running.</para>
            <para>Sets the interval between calls to QCoreApplication::processEvents to interval milliseconds.</para>
            <para>While the interpreter is running, all event processing is by default blocked. This means for instance that the gui will not be updated and timers will not be fired. To allow event processing during interpreter execution one can specify the processing interval to be a positive value, indicating the number of milliseconds between each time QCoreApplication::processEvents() is called.</para>
            <para>The default value is -1, which disables event processing during interpreter execution.</para>
            <para>You can use QCoreApplication::postEvent() to post an event that performs custom processing at the next interval. For example, you could keep track of the total running time of the script and call abortEvaluation() when you detect that the script has been running for a long time without completing.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptEngine.QObjectWrapOption">
            <summary>
            <para>These flags specify options when wrapping a QObject pointer with newQObject().</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptEngine.QObjectWrapOption.AutoCreateDynamicProperties">
            <summary>
            <para>Properties that don't already exist in the QObject will be created as dynamic properties of that object, rather than as properties of the script object.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptEngine.QObjectWrapOption.ExcludeChildObjects">
            <summary>
            <para>The script object will not expose child objects as properties.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptEngine.QObjectWrapOption.ExcludeDeleteLater">
            <summary>
            <para>The script object will not expose the QObject::deleteLater() slot.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptEngine.QObjectWrapOption.ExcludeSlots">
            <summary>
            <para>The script object will not expose the QObject's slots.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptEngine.QObjectWrapOption.ExcludeSuperClassContents">
            <summary>
            <para>Shorthand form for ExcludeSuperClassMethods | ExcludeSuperClassProperties</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptEngine.QObjectWrapOption.ExcludeSuperClassMethods">
            <summary>
            <para>The script object will not expose signals and slots inherited from the superclass.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptEngine.QObjectWrapOption.ExcludeSuperClassProperties">
            <summary>
            <para>The script object will not expose properties inherited from the superclass.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptEngine.QObjectWrapOption.PreferExistingWrapperObject">
            <summary>
            <para>If a wrapper object with the requested configuration already exists, return that object.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptEngine.QObjectWrapOption.SkipMethodsInEnumeration">
            <summary>
            <para>Don't include methods (signals and slots) when enumerating the object's properties.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptEngine.ValueOwnership">
            <summary>
            <para>This enum specifies the ownership when wrapping a C++ value, e.g. by using newQObject().</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptEngine.ValueOwnership.AutoOwnership">
            <summary>
            <para>If the associated object has a parent, the Qt ownership rules apply (QtOwnership); otherwise, the object is owned by the script environment (ScriptOwnership).</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptEngine.ValueOwnership.QtOwnership">
            <summary>
            <para>The standard Qt ownership rules apply, i.e. the associated object will never be explicitly deleted by the script engine. This is the default. (QObject ownership is explained in Object Trees &amp; Ownership.)</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptEngine.ValueOwnership.ScriptOwnership">
            <summary>
            <para>The value is owned by the script environment. The associated data will be deleted when appropriate (i.e. after the garbage collector has discovered that there are no more live references to the value).</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptEngineAgent">
            <summary>
            The QScriptEngineAgent class provides an interface to report events pertaining to QScriptEngine execution.
            </summary>
            <remarks>
            <para></para>
            <para>The QScriptEngineAgent class is the basis of tools that monitor and/or control the execution of a QScriptEngine, such as debuggers and profilers.</para>
            <para>To process script loading and unloading events, reimplement the scriptLoad() and scriptUnload() functions. scriptLoad() is called after the input to QScriptEngine::evaluate() has been parsed, right before the given script is executed. The engine assigns each script an ID, which is available as one of the arguments to scriptLoad(); subsequently, other event handlers can use the ID to identify a particular script. One common usage of scriptLoad() is to retain the script text, filename and base line number (the original input to QScriptEngine::evaluate()), so that other event handlers can e.g. map a line number to the corresponding line of text.</para>
            <para>scriptUnload() is called when the QScriptEngine has no further use for a script; the QScriptEngineAgent may at this point safely discard any resources associated with the script (such as the script text). Note that after scriptUnload() has been called, the QScriptEngine may reuse the relevant script ID for new scripts (i.e. as argument to a subsequent call to scriptLoad()).</para>
            <para>Evaluating the following script will result in scriptUnload() being called immediately after evaluation has completed:</para>
            <para> var a = Math.random() + 2;</para>
            <para>Evaluating the following script will \b{not} result in a call to scriptUnload() when evaluation has completed:</para>
            <para> function cube(a) {</para>
            <para>     return a * a * a;</para>
            <para> }</para>
            <para></para>
            <para> var a = cube(3);</para>
            <para>The script isn't unloaded because it defines a function (cube) that remains in the script environment after evaluation has completed. If a subsequent script removed the cube function (e.g. by setting it to null), scriptUnload() would be called when the function is garbage collected. In general terms, a script isn't unloaded until the engine has determined that none of its contents is referenced.</para>
            <para>To process script function calls and returns, reimplement the functionEntry() and functionExit() functions. functionEntry() is called when a script function is about to be executed; functionExit() is called when a script function is about to return, either normally or due to an exception.</para>
            <para>To process individual script statements, reimplement positionChange(). positionChange() is called each time the engine is about to execute a new statement of a script, and thus offers the finest level of script monitoring.</para>
            <para>To process exceptions, reimplement exceptionThrow() and exceptionCatch(). exceptionThrow() is called when a script exception is thrown, before it has been handled. exceptionCatch() is called when an exception handler is present, and execution is about to be resumed at the handler code.</para>
            <para></para>
            <para>See also QScriptEngine::setAgent() and QScriptContextInfo.</para>
            </remarks>
        </member>
        <member name="M:QtScript.QScriptEngineAgent.#ctor(QtScript.QScriptEngine)">
            <summary>
            <para>Constructs a QScriptEngineAgent object for the given engine.</para>
            <para>The engine takes ownership of the agent.</para>
            <para>Call QScriptEngine::setAgent() to make this agent the active agent.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngineAgent.ContextPop">
            <summary>
            <para>This function is called when the current script context is about to be popped.</para>
            <para>The default implementation does nothing.</para>
            <para>See also contextPush() and functionExit().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngineAgent.ContextPush">
            <summary>
            <para>This function is called when a new script context has been pushed.</para>
            <para>The default implementation does nothing.</para>
            <para>See also contextPop() and functionEntry().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngineAgent.Engine">
            <summary>
            <para>Returns the QScriptEngine that this agent is associated with.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngineAgent.ExceptionCatch(System.Int64,QtScript.QScriptValue)">
            <summary>
            <para>This function is called when the given exception is about to be caught, in the script identified by scriptId.</para>
            <para>Reimplement this function if you want to handle this event.</para>
            <para>The default implementation does nothing.</para>
            <para>See also exceptionThrow().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngineAgent.ExceptionThrow(System.Int64,QtScript.QScriptValue,System.Boolean)">
            <summary>
            <para>This function is called when the given exception has occurred in the engine, in the script identified by scriptId. If the exception was thrown by a native Qt Script function, scriptId is -1.</para>
            <para>If hasHandler is true, there is a catch or finally block that will handle the exception. If hasHandler is false, there is no handler for the exception.</para>
            <para>Reimplement this function if you want to handle this event. For example, a debugger can notify the user when an uncaught exception occurs (i.e. hasHandler is false).</para>
            <para>The default implementation does nothing.</para>
            <para>See also exceptionCatch().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngineAgent.extension(QtScript.QScriptEngineAgent.Extension)">
            <summary>
            <para>This virtual function can be reimplemented in a QScriptEngineAgent subclass to provide support for extensions. The optional argument can be provided as input to the extension; the result must be returned in the form of a QVariant. You can call supportsExtension() to check if an extension is supported by the QScriptEngineAgent. By default, no extensions are supported, and this function returns an invalid QVariant.</para>
            <para>If you implement the DebuggerInvocationRequest extension, Qt Script will call this function when a debugger statement is encountered in a script. The argument is a QVariantList containing three items: The first item is the scriptId (a qint64), the second item is the line number (an int), and the third item is the column number (an int).</para>
            <para>See also supportsExtension().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngineAgent.extension(QtScript.QScriptEngineAgent.Extension,System.Object)">
            <summary>
            <para>This virtual function can be reimplemented in a QScriptEngineAgent subclass to provide support for extensions. The optional argument can be provided as input to the extension; the result must be returned in the form of a QVariant. You can call supportsExtension() to check if an extension is supported by the QScriptEngineAgent. By default, no extensions are supported, and this function returns an invalid QVariant.</para>
            <para>If you implement the DebuggerInvocationRequest extension, Qt Script will call this function when a debugger statement is encountered in a script. The argument is a QVariantList containing three items: The first item is the scriptId (a qint64), the second item is the line number (an int), and the third item is the column number (an int).</para>
            <para>See also supportsExtension().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngineAgent.FunctionEntry(System.Int64)">
            <summary>
            <para>This function is called when a script function is called in the engine. If the script function is not a native Qt Script function, it resides in the script identified by scriptId; otherwise, scriptId is -1.</para>
            <para>This function is called just before execution of the script function begins. You can obtain the QScriptContext associated with the function call with QScriptEngine::currentContext(). The arguments passed to the function are available.</para>
            <para>Reimplement this function to handle this event. For example, a debugger implementation could reimplement this function (and functionExit()) to keep track of the call stack and provide step-over functionality.</para>
            <para>The default implementation does nothing.</para>
            <para>See also functionExit(), positionChange(), and QScriptEngine::currentContext().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngineAgent.FunctionExit(System.Int64,QtScript.QScriptValue)">
            <summary>
            <para>This function is called when the currently executing script function is about to return. If the script function is not a native Qt Script function, it resides in the script identified by scriptId; otherwise, scriptId is -1. The returnValue is the value that the script function will return.</para>
            <para>This function is called just before the script function returns. You can still access the QScriptContext associated with the script function call with QScriptEngine::currentContext().</para>
            <para>If the engine's hasUncaughtException() function returns true, the script function is exiting due to an exception; otherwise, the script function is returning normally.</para>
            <para>Reimplement this function to handle this event; typically you will then also want to reimplement functionEntry().</para>
            <para>The default implementation does nothing.</para>
            <para>See also functionEntry() and QScriptEngine::hasUncaughtException().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngineAgent.PositionChange(System.Int64,System.Int32,System.Int32)">
            <summary>
            <para>This function is called when the engine is about to execute a new statement in the script identified by scriptId. The statement begins on the line and column specified by lineNumber This event is not generated for native Qt Script functions.</para>
            <para>Reimplement this function to handle this event. For example, a debugger implementation could reimplement this function to provide line-by-line stepping, and a profiler implementation could use it to count the number of times each statement is executed.</para>
            <para>The default implementation does nothing.</para>
            <para>Note: columnNumber is undefined</para>
            <para>See also scriptLoad() and functionEntry().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngineAgent.ScriptLoad(System.Int64,System.String,System.String,System.Int32)">
            <summary>
            <para>This function is called when the engine has parsed a script and has associated it with the given id. The id can be used to identify this particular script in subsequent event notifications.</para>
            <para>program, fileName and baseLineNumber are the original arguments to the QScriptEngine::evaluate() call that triggered this event.</para>
            <para>This function is called just before the script is about to be evaluated.</para>
            <para>You can reimplement this function to record information about the script; for example, by retaining the script text, you can obtain the line of text corresponding to a line number in a subsequent call to positionChange().</para>
            <para>The default implementation does nothing.</para>
            <para>See also scriptUnload().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngineAgent.ScriptUnload(System.Int64)">
            <summary>
            <para>This function is called when the engine has discarded the script identified by the given id.</para>
            <para>You can reimplement this function to clean up any resources you have associated with the script.</para>
            <para>The default implementation does nothing.</para>
            <para>See also scriptLoad().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngineAgent.SupportsExtension(QtScript.QScriptEngineAgent.Extension)">
            <summary>
            <para>Returns true if the QScriptEngineAgent supports the given extension; otherwise, false is returned. By default, no extensions are supported.</para>
            <para>See also extension().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptEngineAgent.Finalize">
            <summary>
            <para>Destroys this QScriptEngineAgent.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptEngineAgent.Extension">
            <summary>
            <para>This enum specifies the possible extensions to a QScriptEngineAgent.</para>
            <para>See also extension().</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptEngineAgent.Extension.DebuggerInvocationRequest">
            <summary>
            <para>The agent handles debugger script statements.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptExtensionPlugin">
            <summary>
            The QScriptExtensionPlugin class provides an abstract base for custom QScript extension plugins.
            </summary>
            <remarks>
            <para></para>
            <para>QScriptExtensionPlugin is a plugin interface that makes it possible to offer extensions that can be loaded dynamically into applications using the QScriptEngine class.</para>
            <para>Writing a script extension plugin is achieved by subclassing this base class, reimplementing the pure virtual keys() and initialize() functions, and exporting the class using the Q_EXPORT_PLUGIN2() macro. See How to Create Qt Plugins for details.</para>
            <para></para>
            <para>See also QScriptEngine::importExtension() and Creating QtScript Extensions.</para>
            </remarks>
        </member>
        <member name="M:QtScript.QScriptExtensionPlugin.#ctor(QtCore.QObject)">
            <summary>
            <para>Constructs a script extension plugin with the given parent.</para>
            <para>Note that this constructor is invoked automatically by the Q_EXPORT_PLUGIN2() macro, so there is no need for calling it explicitly.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptExtensionPlugin.Initialize(System.String,QtScript.QScriptEngine)">
            <summary>
            <para>Initializes the extension specified by key in the given engine. The key must come from the set of keys().</para>
            <para>See also keys().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptExtensionPlugin.Keys">
            <summary>
            <para>Returns the list of keys this plugin supports.</para>
            <para>These keys are usually the names of the &quot;modules&quot; or &quot;packages&quot; that are implemented in the plugin (e.g. com.mycompany.MyProduct).</para>
            <para>See also initialize().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptExtensionPlugin.SetupPackage(System.String,QtScript.QScriptEngine)">
            <summary>
            <para>This function is provided for convenience when reimplementing initialize(). It splits the given key on '.' (dot), and ensures that there's a corresponding path of objects in the environment of the given engine, creating new objects to complete the path if necessary. E.g. if the key is &quot;com.trolltech&quot;, after the call to setupPackage() the script expression com.trolltech will evaluate to an object. More specifically, the engine's Global Object will have a property called &quot;com&quot;, which in turn has a property called &quot;trolltech&quot;.</para>
            <para>Use this function to avoid global namespace pollution when installing your extensions in the engine.</para>
            <para>See also initialize().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptExtensionPlugin.Finalize">
            <summary>
            <para>Destroys the script extension plugin.</para>
            <para>Note that Qt destroys a plugin automatically when it is no longer used, so there is no need for calling the destructor explicitly.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptString">
            <summary>
            The QScriptString class acts as a handle to &quot;interned&quot; strings in a QScriptEngine.
            </summary>
            <remarks>
            <para></para>
            <para>QScriptString can be used to achieve faster (repeated) property getting/setting, and comparison of property names, of script objects.</para>
            <para>To get a QScriptString representation of a string, pass the string to QScriptEngine::toStringHandle(). The typical usage pattern is to register one or more pre-defined strings when setting up your script environment, then subsequently use the relevant QScriptString as argument to e.g. QScriptValue::property().</para>
            <para>Call the toString() function to obtain the string that a QScriptString represents.</para>
            <para>Call the toArrayIndex() function to convert a QScriptString to an array index. This is useful when using QScriptClass to implement array-like objects.</para>
            </remarks>
        </member>
        <member name="M:QtScript.QScriptString.#ctor">
            <summary>
            <para>Constructs an invalid QScriptString.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptString.#ctor(QtScript.QScriptString)">
            <summary>
            <para>Constructs a new QScriptString that is a copy of other.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptString.IsValid">
            <summary>
            <para>Returns true if this QScriptString is valid; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptString.op_Explicit(QtScript.QScriptString)~System.String">
            <summary>
            <para>Returns the string that this QScriptString represents, or a null string if this QScriptString is not valid.</para>
            <para>See also toString().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptString.op_Inequality(QtScript.QScriptString,QtScript.QScriptString)">
            <summary>
            <para>Returns true if this QScriptString is not equal to other; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptString.op_Equality(QtScript.QScriptString,QtScript.QScriptString)">
            <summary>
            <para>Returns true if this QScriptString is equal to other; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptString.ToArrayIndex">
            <summary>
            <para>Attempts to convert this QScriptString to a QtScript array index, and returns the result.</para>
            <para>If a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptString.ToArrayIndex(System.Boolean@)">
            <summary>
            <para>Attempts to convert this QScriptString to a QtScript array index, and returns the result.</para>
            <para>If a conversion error occurs, *ok is set to false; otherwise *ok is set to true.</para>
            <para>This function was introduced in Qt 4.6.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptString.ToString">
            <summary>
            <para>Returns the string that this QScriptString represents, or a null string if this QScriptString is not valid.</para>
            <para>See also isValid().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptString.Finalize">
            <summary>
            <para>Destroys this QScriptString.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptSyntaxCheckResult">
            <summary>
            The QScriptSyntaxCheckResult class provides the result of a script syntax check.
            </summary>
            <remarks>
            <para></para>
            <para>QScriptSyntaxCheckResult is returned by QScriptEngine::checkSyntax() to provide information about the syntactical (in)correctness of a script.</para>
            </remarks>
        </member>
        <member name="M:QtScript.QScriptSyntaxCheckResult.#ctor(QtScript.QScriptSyntaxCheckResult)">
            <summary>
            <para>Constructs a new QScriptSyntaxCheckResult from the other result.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptSyntaxCheckResult.ErrorColumnNumber">
            <summary>
            <para>Returns the error column number of this QScriptSyntaxCheckResult, or -1 if there is no error.</para>
            <para>See also state() and errorLineNumber().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptSyntaxCheckResult.ErrorLineNumber">
            <summary>
            <para>Returns the error line number of this QScriptSyntaxCheckResult, or -1 if there is no error.</para>
            <para>See also state() and errorMessage().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptSyntaxCheckResult.ErrorMessage">
            <summary>
            <para>Returns the error message of this QScriptSyntaxCheckResult, or an empty string if there is no error.</para>
            <para>See also state() and errorLineNumber().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptSyntaxCheckResult.state">
            <summary>
            <para>Returns the state of this QScriptSyntaxCheckResult.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptSyntaxCheckResult.Finalize">
            <summary>
            <para>Destroys this QScriptSyntaxCheckResult.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptSyntaxCheckResult.State">
            <summary>
            <para>This enum specifies the state of a syntax check.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptSyntaxCheckResult.State.Error">
            <summary>
            <para>The program contains a syntax error.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptSyntaxCheckResult.State.Intermediate">
            <summary>
            <para>The program is incomplete.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptSyntaxCheckResult.State.Valid">
            <summary>
            <para>The program is a syntactically correct Qt Script program.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptValue">
            <summary>
            The QScriptValue class acts as a container for the Qt Script data types.
            </summary>
            <remarks>
            <para></para>
            <para>QScriptValue supports the types defined in the ECMA-262 standard: The primitive types, which are Undefined, Null, Boolean, Number, and String; and the Object type. Additionally, Qt Script has built-in support for QVariant, QObject and QMetaObject.</para>
            <para>For the object-based types (including Date and RegExp), use the newT() functions in QScriptEngine (e.g. QScriptEngine::newObject()) to create a QScriptValue of the desired type. For the primitive types, use one of the QScriptValue constructor overloads.</para>
            <para>The methods named isT() (e.g. isBool(), isUndefined()) can be used to test if a value is of a certain type. The methods named toT() (e.g. toBool(), toString()) can be used to convert a QScriptValue to another type. You can also use the generic qscriptvalue_cast() function.</para>
            <para>Object values have zero or more properties which are themselves QScriptValues. Use setProperty() to set a property of an object, and call property() to retrieve the value of a property.</para>
            <para> QScriptEngine myEngine;</para>
            <para> QScriptValue myObject = myEngine.newObject();</para>
            <para> QScriptValue myOtherObject = myEngine.newObject();</para>
            <para> myObject.setProperty(&amp;quot;myChild&amp;quot;, myOtherObject);</para>
            <para> myObject.setProperty(&amp;quot;name&amp;quot;, &amp;quot;John Doe&amp;quot;);</para>
            <para>Each property can have a set of attributes; these are specified as the third (optional) argument to setProperty(). The attributes of a property can be queried by calling the propertyFlags() function. The following code snippet creates a property that cannot be modified by script code:</para>
            <para> QScriptValue val(&amp;amp;myEngine, 123);</para>
            <para> myObject.setProperty(&amp;quot;myReadOnlyProperty&amp;quot;, val, QScriptValue::ReadOnly);</para>
            <para>If you want to iterate over the properties of a script object, use the QScriptValueIterator class.</para>
            <para>Object values have an internal prototype property, which can be accessed with prototype() and setPrototype(). Properties added to a prototype are shared by all objects having that prototype; this is referred to as prototype-based inheritance. In practice, it means that (by default) the property() function will automatically attempt to look up look the property in the prototype() (and in the prototype of the prototype(), and so on), if the object itself does not have the requested property. Note that this prototype-based lookup is not performed by setProperty(); setProperty() will always create the property in the script object itself. For more information, see the QtScript documentation.</para>
            <para>Function objects (objects for which isFunction() returns true) can be invoked by calling call(). Constructor functions can be used to construct new objects by calling construct().</para>
            <para>Use equals(), strictlyEquals() and lessThan() to compare a QScriptValue to another.</para>
            <para>Object values can have custom data associated with them; see the setData() and data() functions. By default, this data is not accessible to scripts; it can be used to store any data you want to associate with the script object. Typically this is used by custom class objects (see QScriptClass) to store a C++ type that contains the &amp;quot;native&amp;quot; object data.</para>
            <para>Note that a QScriptValue for which isObject() is true only carries a reference to an actual object; copying the QScriptValue will only copy the object reference, not the object itself. If you want to clone an object (i.e. copy an object's properties to another object), you can do so with the help of a for-in statement in script code, or QScriptValueIterator in C++.</para>
            <para></para>
            <para>See also QScriptEngine and QScriptValueIterator.</para>
            </remarks>
        </member>
        <member name="M:QtScript.QScriptValue.#ctor">
            <summary>
            <para>Constructs an invalid QScriptValue.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.#ctor(QtScript.QScriptValue)">
            <summary>
            <para>Constructs a new QScriptValue that is a copy of other.</para>
            <para>Note that if other is an object (i.e., isObject() would return true), then only a reference to the underlying object is copied into the new script value (i.e., the object itself is not copied).</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.#ctor(QtCore.QLatin1String)">
            <summary>
            <para>Constructs a new QScriptValue with a string value.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.#ctor(QtScript.QScriptEngine,QtScript.QScriptValue.SpecialValue)">
            <summary>
            <para>Constructs an invalid QScriptValue.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.#ctor(QtScript.QScriptEngine,System.Boolean)">
            <summary>
            <para>Constructs an invalid QScriptValue.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.#ctor(QtScript.QScriptEngine,System.Int32)">
            <summary>
            <para>Constructs an invalid QScriptValue.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.#ctor(QtScript.QScriptEngine,System.UInt32)">
            <summary>
            <para>Constructs an invalid QScriptValue.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.#ctor(QtScript.QScriptEngine,System.Double)">
            <summary>
            <para>Constructs an invalid QScriptValue.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.#ctor(QtScript.QScriptEngine,System.String)">
            <summary>
            <para>Constructs an invalid QScriptValue.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.#ctor(QtScript.QScriptValue.SpecialValue)">
            <summary>
            <para>Constructs a new QScriptValue with a special value.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.#ctor(System.Boolean)">
            <summary>
            <para>Constructs a new QScriptValue with a boolean value.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.#ctor(System.Int32)">
            <summary>
            <para>Constructs a new QScriptValue with a number value.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.#ctor(System.UInt32)">
            <summary>
            <para>Constructs an invalid QScriptValue.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.#ctor(System.Double)">
            <summary>
            <para>Constructs an invalid QScriptValue.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.#ctor(System.String)">
            <summary>
            <para>Constructs a new QScriptValue with a string value.</para>
            <para>This function was introduced in Qt 4.5.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.Call">
            <summary>
            <para>Calls this QScriptValue as a function, using thisObject as the `this' object in the function call, and passing args as arguments to the function. Returns the value returned from the function.</para>
            <para>If this QScriptValue is not a function, call() does nothing and returns an invalid QScriptValue.</para>
            <para>Note that if thisObject is not an object, the global object (see QScriptEngine::globalObject()) will be used as the `this' object.</para>
            <para>Calling call() can cause an exception to occur in the script engine; in that case, call() returns the value that was thrown (typically an Error object). You can call QScriptEngine::hasUncaughtException() to determine if an exception occurred.</para>
            <para> QScriptEngine engine;</para>
            <para> engine.evaluate(&quot;function fullName() { return this.firstName + ' ' + this.lastName; }&quot;);</para>
            <para> engine.evaluate(&quot;somePerson = { firstName: 'John', lastName: 'Doe' }&quot;);</para>
            <para></para>
            <para> QScriptValue global = engine.globalObject();</para>
            <para> QScriptValue fullName = global.property(&quot;fullName&quot;);</para>
            <para> QScriptValue who = global.property(&quot;somePerson&quot;);</para>
            <para> qDebug() &lt;&lt; fullName.call(who).toString(); // &quot;John Doe&quot;</para>
            <para></para>
            <para> engine.evaluate(&quot;function cube(x) { return x * x * x; }&quot;);</para>
            <para> QScriptValue cube = global.property(&quot;cube&quot;);</para>
            <para> QScriptValueList args;</para>
            <para> args &lt;&lt; 3;</para>
            <para> qDebug() &lt;&lt; cube.call(QScriptValue(), args).toNumber(); // 27</para>
            <para>See also construct().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.Call(QtScript.QScriptValue)">
            <summary>
            <para>Calls this QScriptValue as a function, using thisObject as the `this' object in the function call, and passing args as arguments to the function. Returns the value returned from the function.</para>
            <para>If this QScriptValue is not a function, call() does nothing and returns an invalid QScriptValue.</para>
            <para>Note that if thisObject is not an object, the global object (see QScriptEngine::globalObject()) will be used as the `this' object.</para>
            <para>Calling call() can cause an exception to occur in the script engine; in that case, call() returns the value that was thrown (typically an Error object). You can call QScriptEngine::hasUncaughtException() to determine if an exception occurred.</para>
            <para> QScriptEngine engine;</para>
            <para> engine.evaluate(&quot;function fullName() { return this.firstName + ' ' + this.lastName; }&quot;);</para>
            <para> engine.evaluate(&quot;somePerson = { firstName: 'John', lastName: 'Doe' }&quot;);</para>
            <para></para>
            <para> QScriptValue global = engine.globalObject();</para>
            <para> QScriptValue fullName = global.property(&quot;fullName&quot;);</para>
            <para> QScriptValue who = global.property(&quot;somePerson&quot;);</para>
            <para> qDebug() &lt;&lt; fullName.call(who).toString(); // &quot;John Doe&quot;</para>
            <para></para>
            <para> engine.evaluate(&quot;function cube(x) { return x * x * x; }&quot;);</para>
            <para> QScriptValue cube = global.property(&quot;cube&quot;);</para>
            <para> QScriptValueList args;</para>
            <para> args &lt;&lt; 3;</para>
            <para> qDebug() &lt;&lt; cube.call(QScriptValue(), args).toNumber(); // 27</para>
            <para>See also construct().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.Call(QtScript.QScriptValue,QtScript.QScriptValue)">
            <summary>
            <para>Calls this QScriptValue as a function, using thisObject as the `this' object in the function call, and passing arguments as arguments to the function. Returns the value returned from the function.</para>
            <para>If this QScriptValue is not a function, call() does nothing and returns an invalid QScriptValue.</para>
            <para>arguments can be an arguments object, an array, null or undefined; any other type will cause a TypeError to be thrown.</para>
            <para>Note that if thisObject is not an object, the global object (see QScriptEngine::globalObject()) will be used as the `this' object.</para>
            <para>One common usage of this function is to forward native function calls to another function:</para>
            <para> QScriptValue myNativeFunction(QScriptContext *ctx, QScriptEngine *)</para>
            <para> {</para>
            <para>     QScriptValue otherFunction = ...;</para>
            <para>     return otherFunction.call(ctx-&gt;thisObject(), ctx-&gt;argumentsObject());</para>
            <para> }</para>
            <para>See also construct() and QScriptContext::argumentsObject().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.Call(QtScript.QScriptValue,System.Collections.Generic.List{QtScript.QScriptValue})">
            <summary>
            <para>Calls this QScriptValue as a function, using thisObject as the `this' object in the function call, and passing args as arguments to the function. Returns the value returned from the function.</para>
            <para>If this QScriptValue is not a function, call() does nothing and returns an invalid QScriptValue.</para>
            <para>Note that if thisObject is not an object, the global object (see QScriptEngine::globalObject()) will be used as the `this' object.</para>
            <para>Calling call() can cause an exception to occur in the script engine; in that case, call() returns the value that was thrown (typically an Error object). You can call QScriptEngine::hasUncaughtException() to determine if an exception occurred.</para>
            <para> QScriptEngine engine;</para>
            <para> engine.evaluate(&quot;function fullName() { return this.firstName + ' ' + this.lastName; }&quot;);</para>
            <para> engine.evaluate(&quot;somePerson = { firstName: 'John', lastName: 'Doe' }&quot;);</para>
            <para></para>
            <para> QScriptValue global = engine.globalObject();</para>
            <para> QScriptValue fullName = global.property(&quot;fullName&quot;);</para>
            <para> QScriptValue who = global.property(&quot;somePerson&quot;);</para>
            <para> qDebug() &lt;&lt; fullName.call(who).toString(); // &quot;John Doe&quot;</para>
            <para></para>
            <para> engine.evaluate(&quot;function cube(x) { return x * x * x; }&quot;);</para>
            <para> QScriptValue cube = global.property(&quot;cube&quot;);</para>
            <para> QScriptValueList args;</para>
            <para> args &lt;&lt; 3;</para>
            <para> qDebug() &lt;&lt; cube.call(QScriptValue(), args).toNumber(); // 27</para>
            <para>See also construct().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.Construct">
            <summary>
            <para>Creates a new Object and calls this QScriptValue as a constructor, using the created object as the `this' object and passing args as arguments. If the return value from the constructor call is an object, then that object is returned; otherwise the default constructed object is returned.</para>
            <para>If this QScriptValue is not a function, construct() does nothing and returns an invalid QScriptValue.</para>
            <para>Calling construct() can cause an exception to occur in the script engine; in that case, construct() returns the value that was thrown (typically an Error object). You can call QScriptEngine::hasUncaughtException() to determine if an exception occurred.</para>
            <para>See also call() and QScriptEngine::newObject().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.Construct(QtScript.QScriptValue)">
            <summary>
            <para>Creates a new Object and calls this QScriptValue as a constructor, using the created object as the `this' object and passing arguments as arguments. If the return value from the constructor call is an object, then that object is returned; otherwise the default constructed object is returned.</para>
            <para>If this QScriptValue is not a function, construct() does nothing and returns an invalid QScriptValue.</para>
            <para>arguments can be an arguments object, an array, null or undefined. Any other type will cause a TypeError to be thrown.</para>
            <para>See also call(), QScriptEngine::newObject(), and QScriptContext::argumentsObject().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.Construct(System.Collections.Generic.List{QtScript.QScriptValue})">
            <summary>
            <para>Creates a new Object and calls this QScriptValue as a constructor, using the created object as the `this' object and passing args as arguments. If the return value from the constructor call is an object, then that object is returned; otherwise the default constructed object is returned.</para>
            <para>If this QScriptValue is not a function, construct() does nothing and returns an invalid QScriptValue.</para>
            <para>Calling construct() can cause an exception to occur in the script engine; in that case, construct() returns the value that was thrown (typically an Error object). You can call QScriptEngine::hasUncaughtException() to determine if an exception occurred.</para>
            <para>See also call() and QScriptEngine::newObject().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.Engine">
            <summary>
            <para>Returns the QScriptEngine that created this QScriptValue, or 0 if this QScriptValue is invalid or the value is not associated with a particular engine.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.Equals(QtScript.QScriptValue)">
            <summary>
            <para>Returns true if this QScriptValue is equal to other, otherwise returns false. The comparison follows the behavior described in ECMA-262 section 11.9.3, &quot;The Abstract Equality Comparison Algorithm&quot;.</para>
            <para>This function can return true even if the type of this QScriptValue is different from the type of the other value; i.e. the comparison is not strict. For example, comparing the number 9 to the string &quot;9&quot; returns true; comparing an undefined value to a null value returns true; comparing a Number object whose primitive value is 6 to a String object whose primitive value is &quot;6&quot; returns true; and comparing the number 1 to the boolean value true returns true. If you want to perform a comparison without such implicit value conversion, use strictlyEquals().</para>
            <para>Note that if this QScriptValue or the other value are objects, calling this function has side effects on the script engine, since the engine will call the object's valueOf() function (and possibly toString()) in an attempt to convert the object to a primitive value (possibly resulting in an uncaught script exception).</para>
            <para>See also strictlyEquals() and lessThan().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.InstanceOf(QtScript.QScriptValue)">
            <summary>
            <para>Returns true if this QScriptValue is an instance of other; otherwise returns false.</para>
            <para>This QScriptValue is considered to be an instance of other if other is a function and the value of the prototype property of other is in the prototype chain of this QScriptValue.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.IsArray">
            <summary>
            <para>Returns true if this QScriptValue is an object of the Array class; otherwise returns false.</para>
            <para>See also QScriptEngine::newArray().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.IsBool">
            <summary>
            <para>Returns true if this QScriptValue is of the primitive type Boolean; otherwise returns false.</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also toBool().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.IsBoolean">
            <summary>
            <para>Use isBool() instead.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.IsDate">
            <summary>
            <para>Returns true if this QScriptValue is an object of the Date class; otherwise returns false.</para>
            <para>See also QScriptEngine::newDate().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.IsError">
            <summary>
            <para>Returns true if this QScriptValue is an object of the Error class; otherwise returns false.</para>
            <para>See also QScriptContext::throwError().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.IsFunction">
            <summary>
            <para>Returns true if this QScriptValue is a function; otherwise returns false.</para>
            <para>See also call().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.IsNull">
            <summary>
            <para>Returns true if this QScriptValue is of the primitive type Null; otherwise returns false.</para>
            <para>See also QScriptEngine::nullValue().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.IsNumber">
            <summary>
            <para>Returns true if this QScriptValue is of the primitive type Number; otherwise returns false.</para>
            <para>See also toNumber().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.IsObject">
            <summary>
            <para>Returns true if this QScriptValue is of the Object type; otherwise returns false.</para>
            <para>Note that function values, variant values, and QObject values are objects, so this function returns true for such values.</para>
            <para>See also toObject() and QScriptEngine::newObject().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.IsQMetaObject">
            <summary>
            <para>Returns true if this QScriptValue is a QMetaObject; otherwise returns false.</para>
            <para>See also toQMetaObject() and QScriptEngine::newQMetaObject().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.IsQObject">
            <summary>
            <para>Returns true if this QScriptValue is a QObject; otherwise returns false.</para>
            <para>Note: This function returns true even if the QObject that this QScriptValue wraps has been deleted.</para>
            <para>See also toQObject() and QScriptEngine::newQObject().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.IsRegExp">
            <summary>
            <para>Returns true if this QScriptValue is an object of the RegExp class; otherwise returns false.</para>
            <para>See also QScriptEngine::newRegExp().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.IsString">
            <summary>
            <para>Returns true if this QScriptValue is of the primitive type String; otherwise returns false.</para>
            <para>See also toString().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.IsUndefined">
            <summary>
            <para>Returns true if this QScriptValue is of the primitive type Undefined; otherwise returns false.</para>
            <para>See also QScriptEngine::undefinedValue().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.IsValid">
            <summary>
            <para>Returns true if this QScriptValue is valid; otherwise returns false.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.IsVariant">
            <summary>
            <para>Returns true if this QScriptValue is a variant value; otherwise returns false.</para>
            <para>See also toVariant() and QScriptEngine::newVariant().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.LessThan(QtScript.QScriptValue)">
            <summary>
            <para>Returns true if this QScriptValue is less than other, otherwise returns false. The comparison follows the behavior described in ECMA-262 section 11.8.5, &quot;The Abstract Relational Comparison Algorithm&quot;.</para>
            <para>Note that if this QScriptValue or the other value are objects, calling this function has side effects on the script engine, since the engine will call the object's valueOf() function (and possibly toString()) in an attempt to convert the object to a primitive value (possibly resulting in an uncaught script exception).</para>
            <para>See also equals().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.Property(QtScript.QScriptString)">
            <summary>
            <para>Returns the value of this QScriptValue's property with the given name, using the given mode to resolve the property.</para>
            <para>If no such property exists, an invalid QScriptValue is returned.</para>
            <para>If the property is implemented using a getter function (i.e. has the PropertyGetter flag set), calling property() has side-effects on the script engine, since the getter function will be called (possibly resulting in an uncaught script exception). If an exception occurred, property() returns the value that was thrown (typically an Error object).</para>
            <para>See also setProperty(), propertyFlags(), and QScriptValueIterator.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.Property(QtScript.QScriptString,QtScript.QScriptValue.ResolveFlag)">
            <summary>
            <para>Returns the value of this QScriptValue's property with the given name, using the given mode to resolve the property.</para>
            <para>If no such property exists, an invalid QScriptValue is returned.</para>
            <para>If the property is implemented using a getter function (i.e. has the PropertyGetter flag set), calling property() has side-effects on the script engine, since the getter function will be called (possibly resulting in an uncaught script exception). If an exception occurred, property() returns the value that was thrown (typically an Error object).</para>
            <para>See also setProperty(), propertyFlags(), and QScriptValueIterator.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.Property(System.String)">
            <summary>
            <para>Returns the value of this QScriptValue's property with the given name, using the given mode to resolve the property.</para>
            <para>If no such property exists, an invalid QScriptValue is returned.</para>
            <para>If the property is implemented using a getter function (i.e. has the PropertyGetter flag set), calling property() has side-effects on the script engine, since the getter function will be called (possibly resulting in an uncaught script exception). If an exception occurred, property() returns the value that was thrown (typically an Error object).</para>
            <para>See also setProperty(), propertyFlags(), and QScriptValueIterator.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.Property(System.UInt32)">
            <summary>
            <para>Returns the value of this QScriptValue's property with the given name, using the given mode to resolve the property.</para>
            <para>If no such property exists, an invalid QScriptValue is returned.</para>
            <para>If the property is implemented using a getter function (i.e. has the PropertyGetter flag set), calling property() has side-effects on the script engine, since the getter function will be called (possibly resulting in an uncaught script exception). If an exception occurred, property() returns the value that was thrown (typically an Error object).</para>
            <para>See also setProperty(), propertyFlags(), and QScriptValueIterator.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.Property(System.String,QtScript.QScriptValue.ResolveFlag)">
            <summary>
            <para>Returns the value of this QScriptValue's property with the given name, using the given mode to resolve the property.</para>
            <para>If no such property exists, an invalid QScriptValue is returned.</para>
            <para>If the property is implemented using a getter function (i.e. has the PropertyGetter flag set), calling property() has side-effects on the script engine, since the getter function will be called (possibly resulting in an uncaught script exception). If an exception occurred, property() returns the value that was thrown (typically an Error object).</para>
            <para>See also setProperty(), propertyFlags(), and QScriptValueIterator.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.Property(System.UInt32,QtScript.QScriptValue.ResolveFlag)">
            <summary>
            <para>Returns the value of this QScriptValue's property with the given name, using the given mode to resolve the property.</para>
            <para>If no such property exists, an invalid QScriptValue is returned.</para>
            <para>If the property is implemented using a getter function (i.e. has the PropertyGetter flag set), calling property() has side-effects on the script engine, since the getter function will be called (possibly resulting in an uncaught script exception). If an exception occurred, property() returns the value that was thrown (typically an Error object).</para>
            <para>See also setProperty(), propertyFlags(), and QScriptValueIterator.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.PropertyFlags(QtScript.QScriptString)">
            <summary>
            <para>Returns the flags of the property with the given name, using the given mode to resolve the property.</para>
            <para>See also property().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.PropertyFlags(QtScript.QScriptString,QtScript.QScriptValue.ResolveFlag)">
            <summary>
            <para>Returns the flags of the property with the given name, using the given mode to resolve the property.</para>
            <para>See also property().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.PropertyFlags(System.String)">
            <summary>
            <para>Returns the flags of the property with the given name, using the given mode to resolve the property.</para>
            <para>See also property().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.PropertyFlags(System.String,QtScript.QScriptValue.ResolveFlag)">
            <summary>
            <para>Returns the flags of the property with the given name, using the given mode to resolve the property.</para>
            <para>See also property().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.SetProperty(QtScript.QScriptString,QtScript.QScriptValue)">
            <summary>
            <para>Sets the value of this QScriptValue's property with the given name to the given value.</para>
            <para>If this QScriptValue is not an object, this function does nothing.</para>
            <para>If this QScriptValue does not already have a property with name name, a new property is created; the given flags then specify how this property may be accessed by script code.</para>
            <para>If value is invalid, the property is removed.</para>
            <para>If the property is implemented using a setter function (i.e. has the PropertySetter flag set), calling setProperty() has side-effects on the script engine, since the setter function will be called with the given value as argument (possibly resulting in an uncaught script exception).</para>
            <para>Note that you cannot specify custom getter or setter functions for built-in properties, such as the length property of Array objects or meta properties of QObject objects.</para>
            <para>See also property().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.SetProperty(QtScript.QScriptString,QtScript.QScriptValue,QtScript.QScriptValue.PropertyFlag)">
            <summary>
            <para>Sets the value of this QScriptValue's property with the given name to the given value.</para>
            <para>If this QScriptValue is not an object, this function does nothing.</para>
            <para>If this QScriptValue does not already have a property with name name, a new property is created; the given flags then specify how this property may be accessed by script code.</para>
            <para>If value is invalid, the property is removed.</para>
            <para>If the property is implemented using a setter function (i.e. has the PropertySetter flag set), calling setProperty() has side-effects on the script engine, since the setter function will be called with the given value as argument (possibly resulting in an uncaught script exception).</para>
            <para>Note that you cannot specify custom getter or setter functions for built-in properties, such as the length property of Array objects or meta properties of QObject objects.</para>
            <para>See also property().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.SetProperty(System.String,QtScript.QScriptValue)">
            <summary>
            <para>Sets the value of this QScriptValue's property with the given name to the given value.</para>
            <para>If this QScriptValue is not an object, this function does nothing.</para>
            <para>If this QScriptValue does not already have a property with name name, a new property is created; the given flags then specify how this property may be accessed by script code.</para>
            <para>If value is invalid, the property is removed.</para>
            <para>If the property is implemented using a setter function (i.e. has the PropertySetter flag set), calling setProperty() has side-effects on the script engine, since the setter function will be called with the given value as argument (possibly resulting in an uncaught script exception).</para>
            <para>Note that you cannot specify custom getter or setter functions for built-in properties, such as the length property of Array objects or meta properties of QObject objects.</para>
            <para>See also property().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.SetProperty(System.UInt32,QtScript.QScriptValue)">
            <summary>
            <para>Sets the value of this QScriptValue's property with the given name to the given value.</para>
            <para>If this QScriptValue is not an object, this function does nothing.</para>
            <para>If this QScriptValue does not already have a property with name name, a new property is created; the given flags then specify how this property may be accessed by script code.</para>
            <para>If value is invalid, the property is removed.</para>
            <para>If the property is implemented using a setter function (i.e. has the PropertySetter flag set), calling setProperty() has side-effects on the script engine, since the setter function will be called with the given value as argument (possibly resulting in an uncaught script exception).</para>
            <para>Note that you cannot specify custom getter or setter functions for built-in properties, such as the length property of Array objects or meta properties of QObject objects.</para>
            <para>See also property().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.SetProperty(System.String,QtScript.QScriptValue,QtScript.QScriptValue.PropertyFlag)">
            <summary>
            <para>Sets the value of this QScriptValue's property with the given name to the given value.</para>
            <para>If this QScriptValue is not an object, this function does nothing.</para>
            <para>If this QScriptValue does not already have a property with name name, a new property is created; the given flags then specify how this property may be accessed by script code.</para>
            <para>If value is invalid, the property is removed.</para>
            <para>If the property is implemented using a setter function (i.e. has the PropertySetter flag set), calling setProperty() has side-effects on the script engine, since the setter function will be called with the given value as argument (possibly resulting in an uncaught script exception).</para>
            <para>Note that you cannot specify custom getter or setter functions for built-in properties, such as the length property of Array objects or meta properties of QObject objects.</para>
            <para>See also property().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.SetProperty(System.UInt32,QtScript.QScriptValue,QtScript.QScriptValue.PropertyFlag)">
            <summary>
            <para>Sets the value of this QScriptValue's property with the given name to the given value.</para>
            <para>If this QScriptValue is not an object, this function does nothing.</para>
            <para>If this QScriptValue does not already have a property with name name, a new property is created; the given flags then specify how this property may be accessed by script code.</para>
            <para>If value is invalid, the property is removed.</para>
            <para>If the property is implemented using a setter function (i.e. has the PropertySetter flag set), calling setProperty() has side-effects on the script engine, since the setter function will be called with the given value as argument (possibly resulting in an uncaught script exception).</para>
            <para>Note that you cannot specify custom getter or setter functions for built-in properties, such as the length property of Array objects or meta properties of QObject objects.</para>
            <para>See also property().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.StrictlyEquals(QtScript.QScriptValue)">
            <summary>
            <para>Returns true if this QScriptValue is equal to other using strict comparison (no conversion), otherwise returns false. The comparison follows the behavior described in ECMA-262 section 11.9.6, &quot;The Strict Equality Comparison Algorithm&quot;.</para>
            <para>If the type of this QScriptValue is different from the type of the other value, this function returns false. If the types are equal, the result depends on the type, as shown in the following table:</para>
            <para></para>
            <para>TypeResult</para>
            <para>Undefined	true</para>
            <para>Null	true</para>
            <para>Boolean	true if both values are true, false otherwise</para>
            <para>Number	false if either value is NaN (Not-a-Number); true if values are equal, false otherwise</para>
            <para>String	true if both values are exactly the same sequence of characters, false otherwise</para>
            <para>Object	true if both values refer to the same object, false otherwise</para>
            <para></para>
            <para>See also equals().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.ToBool">
            <summary>
            <para>Returns the boolean value of this QScriptValue, using the conversion rules described in ECMA-262 section 9.2, &quot;ToBoolean&quot;.</para>
            <para>Note that if this QScriptValue is an object, calling this function has side effects on the script engine, since the engine will call the object's valueOf() function (and possibly toString()) in an attempt to convert the object to a primitive value (possibly resulting in an uncaught script exception).</para>
            <para>This function was introduced in Qt 4.5.</para>
            <para>See also isBool().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.ToBoolean">
            <summary>
            <para>Use toBool() instead.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.ToDateTime">
            <summary>
            <para>Returns a QDateTime representation of this value, in local time. If this QScriptValue is not a date, or the value of the date is NaN (Not-a-Number), an invalid QDateTime is returned.</para>
            <para>See also isDate().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.ToInt32">
            <summary>
            <para>Returns the signed 32-bit integer value of this QScriptValue, using the conversion rules described in ECMA-262 section 9.5, &quot;ToInt32&quot;.</para>
            <para>Note that if this QScriptValue is an object, calling this function has side effects on the script engine, since the engine will call the object's valueOf() function (and possibly toString()) in an attempt to convert the object to a primitive value (possibly resulting in an uncaught script exception).</para>
            <para>See also toNumber() and toUInt32().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.ToInteger">
            <summary>
            <para>Returns the integer value of this QScriptValue, using the conversion rules described in ECMA-262 section 9.4, &quot;ToInteger&quot;.</para>
            <para>Note that if this QScriptValue is an object, calling this function has side effects on the script engine, since the engine will call the object's valueOf() function (and possibly toString()) in an attempt to convert the object to a primitive value (possibly resulting in an uncaught script exception).</para>
            <para>See also toNumber().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.ToNumber">
            <summary>
            <para>Returns the number value of this QScriptValue, as defined in ECMA-262 section 9.3, &quot;ToNumber&quot;.</para>
            <para>Note that if this QScriptValue is an object, calling this function has side effects on the script engine, since the engine will call the object's valueOf() function (and possibly toString()) in an attempt to convert the object to a primitive value (possibly resulting in an uncaught script exception).</para>
            <para>See also isNumber(), toInteger(), toInt32(), toUInt32(), and toUInt16().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.ToObject">
            <summary>
            <para>This function is obsolete; use QScriptEngine::toObject() instead.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.ToQMetaObject">
            <summary>
            <para>If this QScriptValue is a QMetaObject, returns the QMetaObject pointer that the QScriptValue represents; otherwise, returns 0.</para>
            <para>See also isQMetaObject().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.ToQObject">
            <summary>
            <para>If this QScriptValue is a QObject, returns the QObject pointer that the QScriptValue represents; otherwise, returns 0.</para>
            <para>If the QObject that this QScriptValue wraps has been deleted, this function returns 0 (i.e. it is possible for toQObject() to return 0 even when isQObject() returns true).</para>
            <para>See also isQObject().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.ToRegExp">
            <summary>
            <para>Returns the QRegExp representation of this value. If this QScriptValue is not a regular expression, an empty QRegExp is returned.</para>
            <para>See also isRegExp().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.ToString">
            <summary>
            <para>Returns the string value of this QScriptValue, as defined in ECMA-262 section 9.8, &quot;ToString&quot;.</para>
            <para>Note that if this QScriptValue is an object, calling this function has side effects on the script engine, since the engine will call the object's toString() function (and possibly valueOf()) in an attempt to convert the object to a primitive value (possibly resulting in an uncaught script exception).</para>
            <para>See also isString().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.ToUInt16">
            <summary>
            <para>Returns the unsigned 16-bit integer value of this QScriptValue, using the conversion rules described in ECMA-262 section 9.7, &quot;ToUint16&quot;.</para>
            <para>Note that if this QScriptValue is an object, calling this function has side effects on the script engine, since the engine will call the object's valueOf() function (and possibly toString()) in an attempt to convert the object to a primitive value (possibly resulting in an uncaught script exception).</para>
            <para>See also toNumber().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.ToUInt32">
            <summary>
            <para>Returns the unsigned 32-bit integer value of this QScriptValue, using the conversion rules described in ECMA-262 section 9.6, &quot;ToUint32&quot;.</para>
            <para>Note that if this QScriptValue is an object, calling this function has side effects on the script engine, since the engine will call the object's valueOf() function (and possibly toString()) in an attempt to convert the object to a primitive value (possibly resulting in an uncaught script exception).</para>
            <para>See also toNumber() and toInt32().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.ToVariant">
            <summary>
            <para>Returns the QVariant value of this QScriptValue, if it can be converted to a QVariant; otherwise returns an invalid QVariant. The conversion is performed according to the following table:</para>
            <para></para>
            <para>Input TypeResult</para>
            <para>Undefined	An invalid QVariant.</para>
            <para>Null	An invalid QVariant.</para>
            <para>Boolean	A QVariant containing the value of the boolean.</para>
            <para>Number	A QVariant containing the value of the number.</para>
            <para>String	A QVariant containing the value of the string.</para>
            <para>QVariant Object	The result is the QVariant value of the object (no conversion).</para>
            <para>QObject Object	A QVariant containing a pointer to the QObject.</para>
            <para>Date Object	A QVariant containing the date value (toDateTime()).</para>
            <para>RegExp Object	A QVariant containing the regular expression value (toRegExp()).</para>
            <para>Array Object	The array is converted to a QVariantList. Each element is converted to a QVariant, recursively; cyclic references are not followed.</para>
            <para>Object	The object is converted to a QVariantMap. Each property is converted to a QVariant, recursively; cyclic references are not followed.</para>
            <para></para>
            <para>See also isVariant().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValue.Finalize">
            <summary>
            <para>Destroys this QScriptValue.</para>
            </summary>
        </member>
        <member name="P:QtScript.QScriptValue.Data">
            <summary>
            <para>Returns the internal data of this QScriptValue object. QtScript uses this property to store the primitive value of Date, String, Number and Boolean objects. For other types of object, custom data may be stored using setData().</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>Sets the internal data of this QScriptValue object. You can use this function to set object-specific data that won't be directly accessible to scripts, but may be retrieved in C++ using the data() function.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="P:QtScript.QScriptValue.Prototype">
            <summary>
            <para>If this QScriptValue is an object, returns the internal prototype (__proto__ property) of this object; otherwise returns an invalid QScriptValue.</para>
            <para>If this QScriptValue is an object, sets the internal prototype (__proto__ property) of this object to be prototype; otherwise does nothing.</para>
            <para>The internal prototype should not be confused with the public property with name &quot;prototype&quot;; the public prototype is usually only set on functions that act as constructors.</para>
            </summary>
        </member>
        <member name="P:QtScript.QScriptValue.ScriptClass">
            <summary>
            <para>Returns the custom script class that this script object is an instance of, or 0 if the object is not of a custom class.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>Sets the custom script class of this script object to scriptClass. This can be used to &quot;promote&quot; a plain script object (e.g. created by the &quot;new&quot; operator in a script, or by QScriptEngine::newObject() in C++) to an object of a custom type.</para>
            <para>If scriptClass is 0, the object will be demoted to a plain script object.</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptValue.PropertyFlag">
            <summary>
            <para>This enum describes the attributes of a property.</para>
            <para>This flag is used to indicate that an existing property is a QObject member (a property or method).</para>
            <para>Flags in this range are not used by Qt Script, and can be used for custom purposes.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptValue.PropertyFlag.KeepExistingFlags">
            <summary>
            <para>This value is used to indicate to setProperty() that the property's flags should be left unchanged. If the property doesn't exist, the default flags (0) will be used.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptValue.PropertyFlag.PropertyGetter">
            <summary>
            <para>The property is defined by a function which will be called to get the property value.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptValue.PropertyFlag.PropertySetter">
            <summary>
            <para>The property is defined by a function which will be called to set the property value.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptValue.PropertyFlag.ReadOnly">
            <summary>
            <para>The property is read-only. Attempts by Qt Script code to write to the property will be ignored.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptValue.PropertyFlag.SkipInEnumeration">
            <summary>
            <para>The property is not to be enumerated by a for-in enumeration.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptValue.PropertyFlag.Undeletable">
            <summary>
            <para>Attempts by Qt Script code to delete the property will be ignored.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptValue.ResolveFlag">
            <summary>
            <para>This enum specifies how to look up a property of an object.</para>
            <para>Check the object's own properties first, then search the scope chain.</para>
            <para>Check the object's own properties first, then search the prototype chain, and finally search the scope chain.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptValue.ResolveFlag.ResolveLocal">
            <summary>
            <para>Only check the object's own properties.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptValue.ResolveFlag.ResolvePrototype">
            <summary>
            <para>Check the object's own properties first, then search the prototype chain. This is the default.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptValue.SpecialValue">
            <summary>
            <para>This enum is used to specify a single-valued type.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptValue.SpecialValue.NullValue">
            <summary>
            <para>A null value.</para>
            </summary>
        </member>
        <member name="F:QtScript.QScriptValue.SpecialValue.UndefinedValue">
            <summary>
            <para>An undefined value.</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptValueIterator">
            <summary>
            The QScriptValueIterator class provides a Java-style iterator for QScriptValue.
            </summary>
            <remarks>
            <para></para>
            <para>The QScriptValueIterator constructor takes a QScriptValue as argument. After construction, the iterator is located at the very beginning of the sequence of properties. Here's how to iterate over all the properties of a QScriptValue:</para>
            <para> QScriptValue object;</para>
            <para> ...</para>
            <para> QScriptValueIterator it(object);</para>
            <para> while (it.hasNext()) {</para>
            <para>     it.next();</para>
            <para>     qDebug() &amp;lt;&amp;lt; it.name() &amp;lt;&amp;lt; &amp;quot;: &amp;quot; &amp;lt;&amp;lt; it.value().toString();</para>
            <para> }</para>
            <para>The next() advances the iterator. The name(), value() and flags() functions return the name, value and flags of the last item that was jumped over.</para>
            <para>If you want to remove properties as you iterate over the QScriptValue, use remove(). If you want to modify the value of a property, use setValue().</para>
            <para>Note that QScriptValueIterator only iterates over the QScriptValue's own properties; i.e. it does not follow the prototype chain. You can use a loop like this to follow the prototype chain:</para>
            <para> QScriptValue obj = ...; // the object to iterate over</para>
            <para> while (obj.isObject()) {</para>
            <para>     QScriptValueIterator it(obj);</para>
            <para>     while (it.hasNext()) {</para>
            <para>         it.next();</para>
            <para>         qDebug() &amp;lt;&amp;lt; it.name();</para>
            <para>     }</para>
            <para>     obj = obj.prototype();</para>
            <para> }</para>
            <para>Note that QScriptValueIterator will not automatically skip over properties that have the QScriptValue::SkipInEnumeration flag set; that flag only affects iteration in script code. If you want, you can skip over such properties with code like the following:</para>
            <para> while (it.hasNext()) {</para>
            <para>     it.next();</para>
            <para>     if (it.flags() &amp;amp; QScriptValue::SkipInEnumeration)</para>
            <para>         continue;</para>
            <para>     qDebug() &amp;lt;&amp;lt; &amp;quot;found enumerated property:&amp;quot; &amp;lt;&amp;lt; it.name();</para>
            <para> }</para>
            <para></para>
            <para>See also QScriptValue::property().</para>
            </remarks>
        </member>
        <member name="M:QtScript.QScriptValueIterator.#ctor(QtScript.QScriptValue)">
            <summary>
            <para>Constructs an iterator for traversing object. The iterator is set to be at the front of the sequence of properties (before the first property).</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValueIterator.Flags">
            <summary>
            <para>Returns the flags of the last property that was jumped over using next() or previous().</para>
            <para>See also value().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValueIterator.HasNext">
            <summary>
            <para>Returns true if there is at least one item ahead of the iterator (i.e. the iterator is not at the back of the property sequence); otherwise returns false.</para>
            <para>See also next() and hasPrevious().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValueIterator.HasPrevious">
            <summary>
            <para>Returns true if there is at least one item behind the iterator (i.e. the iterator is not at the front of the property sequence); otherwise returns false.</para>
            <para>See also previous() and hasNext().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValueIterator.Name">
            <summary>
            <para>Returns the name of the last property that was jumped over using next() or previous().</para>
            <para>See also value() and flags().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValueIterator.Next">
            <summary>
            <para>Advances the iterator by one position.</para>
            <para>Calling this function on an iterator located at the back of the container leads to undefined results.</para>
            <para>See also hasNext(), previous(), and name().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValueIterator.Previous">
            <summary>
            <para>Moves the iterator back by one position.</para>
            <para>Calling this function on an iterator located at the front of the container leads to undefined results.</para>
            <para>See also hasPrevious(), next(), and name().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValueIterator.Remove">
            <summary>
            <para>Removes the last property that was jumped over using next() or previous().</para>
            <para>See also setValue().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValueIterator.ScriptName">
            <summary>
            <para>Returns the name of the last property that was jumped over using next() or previous().</para>
            <para>This function was introduced in Qt 4.4.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValueIterator.ToBack">
            <summary>
            <para>Moves the iterator to the back of the QScriptValue (after the last property).</para>
            <para>See also toFront() and previous().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValueIterator.ToFront">
            <summary>
            <para>Moves the iterator to the front of the QScriptValue (before the first property).</para>
            <para>See also toBack() and next().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptValueIterator.Finalize">
            <summary>
            <para>Destroys the iterator.</para>
            </summary>
        </member>
        <member name="P:QtScript.QScriptValueIterator.Value">
            <summary>
            <para>Returns the value of the last property that was jumped over using next() or previous().</para>
            <para>Sets the value of the last property that was jumped over using next() or previous().</para>
            </summary>
        </member>
        <member name="T:QtScript.QScriptable">
            <summary>
            The QScriptable class provides access to the Qt Script environment from Qt C++ member functions.
            </summary>
            <remarks>
            <para></para>
            <para>With QScriptEngine::newQObject(), you can expose the signals and slots and properties of any QObject (or subclass) to script code. QScriptable augments this functionality by giving your C++ members access to the Qt Script environment they are invoked in; conceptually, it is similar to QObject::sender().</para>
            <para>By subclassing QScriptable, you get the following functions in your class: thisObject(), argumentCount(), argument(), context() and engine(). With these functions, you have full access to the Qt Script environment from the slots and property access functions of your class, when they are invoked from script code.</para>
            <para>For example, you can throw a Qt Script exception from a slot; manipulate the `this' object associated with the function call; inspect the arguments stored in the QScriptContext to know the &amp;quot;real&amp;quot; arguments passed to the function from script code; and call script functions from your slot.</para>
            <para>A typical use case of QScriptable is to implement prototype objects for custom C++ types. You define the scriptable interface of your custom type in a QScriptable subclass using properties and slots; then you wrap an instance of your class using QScriptEngine::newQObject(), and finally pass the result to QScriptEngine::setDefaultPrototype(). See the Default Prototypes Example to see how this can be done.</para>
            <para>The following is what subclassing QScriptable typically looks like:</para>
            <para> class MyScriptableObject: public QObject,</para>
            <para>       protected QScriptable</para>
            <para> {</para>
            <para>     Q_OBJECT</para>
            <para> ...</para>
            <para></para>
            <para> public slots:</para>
            <para>     void doSomething();</para>
            <para>     double doSomethingElse();</para>
            <para> }</para>
            <para>The only difference from regular QObject subclassing is that you also inherit from QScriptable.</para>
            <para>In the implementation of your slots, you can then use the functions inherited from QScriptable:</para>
            <para> void MyScriptableObject::doSomething()</para>
            <para> {</para>
            <para>   context()-&amp;gt;throwError(&amp;quot;Threw an error from a slot&amp;quot;);</para>
            <para> }</para>
            <para></para>
            <para> double MyScriptableObject::doSomethingElse()</para>
            <para> {</para>
            <para>   return qscriptvalue_cast&amp;lt;double&amp;gt;(thisObject());</para>
            <para> }</para>
            <para></para>
            <para>See also Default Prototypes Example and QScriptEngine::newFunction().</para>
            </remarks>
        </member>
        <member name="M:QtScript.QScriptable.Argument(System.Int32)">
            <summary>
            <para>Returns the function argument at the given index, or an invalid QScriptValue if the Qt function was not invoked from script code.</para>
            <para>See also argumentCount().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptable.ArgumentCount">
            <summary>
            <para>Returns the number of arguments passed to the function in this invocation, or -1 if the Qt function was not invoked from script code.</para>
            <para>See also argument().</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptable.Context">
            <summary>
            <para>Returns a pointer to the QScriptContext associated with the current Qt function call, or 0 if the Qt function was not invoked from script code.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptable.Engine">
            <summary>
            <para>Returns a pointer to the QScriptEngine associated with the current Qt function call, or 0 if the Qt function was not invoked from script code.</para>
            </summary>
        </member>
        <member name="M:QtScript.QScriptable.ThisObject">
            <summary>
            <para>Returns the `this' object associated with the current Qt function call, or an invalid QScriptValue if the Qt function was not invoked from script code.</para>
            </summary>
        </member>
        <member name="M:QtScript.IQScriptEngineSignals.SignalHandlerException(QtScript.QScriptValue)">
            <summary>
            <para>This signal is emitted when a script function connected to a signal causes an exception.</para>
            <para>This function was introduced in Qt 4.4.</para>
            <para>See also qScriptConnect().</para>
            </summary>
        </member>
    </members>
</doc>
