The QSObjectFactory class provides a method for Qt Script programs to create C++ QObjects. More...
#include <qsobjectfactory.h>
Inherited by QSInputDialogFactory.
The QSObjectFactory class provides a method for Qt Script programs to create C++ QObjects.
To enable script programmers to create their own C++ QObjects, application programmers can provide a QObject subclass that has a slot which is a factory function that returns QObjects. Alternatively, the application programmer can subclass QSObjectFactory and reimplement the create() and classes() functions.
The classes() function is called by the scripting engine to see which classes can be constructed by the script programmer. In addition, the create() function is called by the scripting engine to create the instance, i.e. when the user writes something like this:
var x = new SomeCppObject( arg1, arg2 ); // Qt Script
The staticClasses() function is called by the scripting engine to check which classes provide static functions and variables. A QObject instance is then created using createStatic() to provide the interpreter of the static representation.
A single QSObjectFactory subclass may be used to provide any number of creatable QObject classes. To make these classes known to the scripting engine, create an instance of the subclass with a pointer to the interpreter as an argument.
A QSObjectFactory becomes active when it is added to a QSInterpreter using the function QSInterpreter::addObjectFactory(). An object factory can only be added to one QSInterpreter at a time.
This function is used by the scripting engine to find out which classes this QSObjectFactory can instantiate.
Only QObject subclasses may be created in this way. This function returns an instance of the requested class.
This function is called by the scripting engine, e.g. when it encounters code similar to the following:
var x = new ACppObject( arg1, arg2 ); // Qt Script
The classes that a particular QSObjectFactory instance is capable of instantiating is returned by classes().
If the arguments are invalid or any other invalid operation happens, you can use throwError() to issue a Qt Script error.
This function will return a QObject with slots and properties that will be exposed to the interpreter as static variables and functions.
This function is called by the scripting engine during initialization and can be used in code in the following way:
MessageBox.information( "This is a static function" );
The classes that a particular QSObjectFactory instance is capable of providing static contents for is returned by staticClasses().
This function is used by the scripting engine to find out which classes this QSObjectFactory can instantiate.