Qt 4.8
|
The QAxScriptManager class provides a bridge between application objects and script code. More...
#include <qaxscript.h>
Signals | |
void | error (QAxScript *script, int code, const QString &description, int sourcePosition, const QString &sourceText) |
This signal is emitted when an execution error occurred while running script. More... | |
Signals inherited from QObject | |
void | destroyed (QObject *=0) |
This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More... | |
Public Functions | |
void | addObject (QAxBase *object) |
Adds object to the manager. More... | |
void | addObject (QObject *object) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Adds a generic COM wrapper for object to the manager. More... | |
QVariant | call (const QString &function, const QVariant &v1=QVariant(), const QVariant &v2=QVariant(), const QVariant &v3=QVariant(), const QVariant &v4=QVariant(), const QVariant &v5=QVariant(), const QVariant &v6=QVariant(), const QVariant &v7=QVariant(), const QVariant &v8=QVariant()) |
Calls function, passing the parameters var1, var1, var2, var3, var4, var5, var6, var7 and var8 as arguments and returns the value returned by the function, or an invalid QVariant if the function does not return a value or when the function call failed. More... | |
QVariant | call (const QString &function, QList< QVariant > &arguments) |
Calls function passing arguments as parameters, and returns the result. More... | |
QStringList | functions (QAxScript::FunctionFlags=QAxScript::FunctionNames) const |
Returns a list with all the functions that are available. More... | |
QAxScript * | load (const QString &code, const QString &name, const QString &language) |
Loads the script source code using the script engine for language. More... | |
QAxScript * | load (const QString &file, const QString &name) |
Loads the source code from the file. More... | |
QAxScriptManager (QObject *parent=0) | |
Creates a QAxScriptManager object. More... | |
QAxScript * | script (const QString &name) const |
Returns the script called name. More... | |
QStringList | scriptNames () const |
Returns a list with the names of all the scripts. More... | |
~QAxScriptManager () | |
Destroys the objects, releasing all allocated resources. More... | |
Public Functions inherited from QObject | |
bool | blockSignals (bool b) |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More... | |
const QObjectList & | children () const |
Returns a list of child objects. More... | |
bool | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0) |
bool | disconnect (const QObject *receiver, const char *member=0) |
void | dumpObjectInfo () |
Dumps information about signal connections, etc. More... | |
void | dumpObjectTree () |
Dumps a tree of children to the debug output. More... | |
QList< QByteArray > | dynamicPropertyNames () const |
Returns the names of all properties that were dynamically added to the object using setProperty(). More... | |
virtual bool | event (QEvent *) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. More... | |
virtual bool | eventFilter (QObject *, QEvent *) |
Filters events if this object has been installed as an event filter for the watched object. More... | |
template<typename T > | |
T | findChild (const QString &aName=QString()) const |
Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More... | |
template<typename T > | |
QList< T > | findChildren (const QString &aName=QString()) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More... | |
template<typename T > | |
QList< T > | findChildren (const QRegExp &re) const |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More... | |
void | installEventFilter (QObject *) |
Installs an event filter filterObj on this object. More... | |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false. More... | |
void | killTimer (int id) |
Kills the timer with timer identifier, id. More... | |
virtual const QMetaObject * | metaObject () const |
Returns a pointer to the meta-object of this object. More... | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. More... | |
QString | objectName () const |
QObject * | parent () const |
Returns a pointer to the parent object. More... | |
QVariant | property (const char *name) const |
Returns the value of the object's name property. More... | |
Q_INVOKABLE | QObject (QObject *parent=0) |
Constructs an object with parent object parent. More... | |
void | removeEventFilter (QObject *) |
Removes an event filter object obj from this object. More... | |
void | setObjectName (const QString &name) |
void | setParent (QObject *) |
Makes the object a child of parent. More... | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. More... | |
void | setUserData (uint id, QObjectUserData *data) |
bool | signalsBlocked () const |
Returns true if signals are blocked; otherwise returns false. More... | |
int | startTimer (int interval) |
Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More... | |
QThread * | thread () const |
Returns the thread in which the object lives. More... | |
QObjectUserData * | userData (uint id) const |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. More... | |
Static Public Functions | |
static bool | registerEngine (const QString &name, const QString &extension, const QString &code=QString()) |
Registers the script engine called name and returns true if the engine was found; otherwise does nothing and returns false. More... | |
static QString | scriptFileFilter () |
Returns a file filter listing all the supported script languages. More... | |
Static Public Functions inherited from QObject | |
static bool | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More... | |
static bool | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
Disconnects signal in object sender from method in object receiver. More... | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static uint | registerUserData () |
static QString | tr (const char *sourceText, const char *comment=0, int n=-1) |
static QString | trUtf8 (const char *sourceText, const char *comment=0, int n=-1) |
Private Slots | |
void | objectDestroyed (QObject *o) |
void | scriptError (int code, const QString &description, int sourcePosition, const QString &sourceText) |
Private Functions | |
QAxScript * | scriptForFunction (const QString &function) const |
Returns a pointer to the first QAxScript that knows about function, or 0 if this function is unknown. More... | |
void | updateScript (QAxScript *) |
Properties | |
QAxScriptManagerPrivate * | d |
Friends | |
class | QAxScript |
Additional Inherited Members | |
Public Slots inherited from QObject | |
void | deleteLater () |
Schedules this object for deletion. More... | |
Static Public Variables inherited from QObject | |
static const QMetaObject | staticMetaObject |
This variable stores the meta-object for the class. More... | |
Protected Functions inherited from QObject | |
virtual void | childEvent (QChildEvent *) |
This event handler can be reimplemented in a subclass to receive child events. More... | |
virtual void | connectNotify (const char *signal) |
This virtual function is called when something has been connected to signal in this object. More... | |
virtual void | customEvent (QEvent *) |
This event handler can be reimplemented in a subclass to receive custom events. More... | |
virtual void | disconnectNotify (const char *signal) |
This virtual function is called when something has been disconnected from signal in this object. More... | |
QObject (QObjectPrivate &dd, QObject *parent=0) | |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. More... | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More... | |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *) |
This event handler can be reimplemented in a subclass to receive timer events for the object. More... | |
Protected Variables inherited from QObject | |
QScopedPointer< QObjectData > | d_ptr |
Static Protected Variables inherited from QObject | |
static const QMetaObject | staticQtMetaObject |
Related Functions inherited from QObject | |
T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QRegExp ®Exp)() |
T * | qobject_cast (QObject *object) |
QObjectList | |
void * | qt_find_obj_child (QObject *parent, const char *type, const QString &name) |
Returns a pointer to the object named name that inherits type and with a given parent. More... | |
The QAxScriptManager class provides a bridge between application objects and script code.
The QAxScriptManager acts as a bridge between the COM objects embedded in the Qt application through QAxObject or QAxWidget, and the scripting languages available through the Windows Script technologies, usually JScript and VBScript.
Create one QAxScriptManager for each separate document in your application, and add the COM objects the scripts need to access using addObject(). Then load() the script sources and invoke the functions using call().
Definition at line 153 of file qaxscript.h.
QAxScriptManager::QAxScriptManager | ( | QObject * | parent = 0 | ) |
Creates a QAxScriptManager object.
parent is passed on to the QObject constructor.
It is usual to create one QAxScriptManager for each document in an application.
Definition at line 972 of file qaxscript.cpp.
QAxScriptManager::~QAxScriptManager | ( | ) |
Destroys the objects, releasing all allocated resources.
Definition at line 981 of file qaxscript.cpp.
void QAxScriptManager::addObject | ( | QAxBase * | object | ) |
Adds object to the manager.
Scripts handled by this manager can access the object in the code using the object's objectName property.
You must add all the necessary objects before loading any scripts.
Definition at line 1040 of file qaxscript.cpp.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Adds a generic COM wrapper for object to the manager.
object must be exposed as a COM object using the functionality provided by the QAxServer module. Applications using this function you must link against the qaxserver library.
Definition at line 233 of file qaxscript.h.
QVariant QAxScriptManager::call | ( | const QString & | function, |
const QVariant & | var1 = QVariant() , |
||
const QVariant & | var2 = QVariant() , |
||
const QVariant & | var3 = QVariant() , |
||
const QVariant & | var4 = QVariant() , |
||
const QVariant & | var5 = QVariant() , |
||
const QVariant & | var6 = QVariant() , |
||
const QVariant & | var7 = QVariant() , |
||
const QVariant & | var8 = QVariant() |
||
) |
Calls function, passing the parameters var1, var1, var2, var3, var4, var5, var6, var7 and var8 as arguments and returns the value returned by the function, or an invalid QVariant if the function does not return a value or when the function call failed.
The call returns when the script's execution has finished.
In most script engines the only supported parameter type is "const QVariant&", for example, to call a JavaScript function
use
As with dynamicCall the parameters can directly be embedded in the function string.
However, this is slower.
Functions provided by script engines that don't support introspection are not available and must be called directly using QAxScript::call() on the respective script object.
Note that calling this function can be significantely slower than using call() on the respective QAxScript directly.
Definition at line 1177 of file qaxscript.cpp.
Calls function passing arguments as parameters, and returns the result.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Returns when the script's execution has finished.
Definition at line 1206 of file qaxscript.cpp.
|
signal |
This signal is emitted when an execution error occurred while running script.
code, description, sourcePosition and sourceText contain information about the execution error.
Referenced by scriptError().
QStringList QAxScriptManager::functions | ( | QAxScript::FunctionFlags | flags = QAxScript::FunctionNames | ) | const |
Returns a list with all the functions that are available.
Functions provided by script engines that don't support introspection are not included in the list. The functions are either provided with full prototypes or only as names, depending on the value of flags.
Definition at line 993 of file qaxscript.cpp.
QAxScript * QAxScriptManager::load | ( | const QString & | code, |
const QString & | name, | ||
const QString & | language | ||
) |
Loads the script source code using the script engine for language.
The script can later be referred to using its name which should not be empty.
The function returns a pointer to the script for the given code if the code was loaded successfully; otherwise it returns 0.
If language is empty it will be determined heuristically. If code contains the string "End Sub" it will be interpreted as VBScript, otherwise as JScript. Additional script engines can be registered using registerEngine().
You must add all the objects necessary (using addObject()) before loading any scripts. If code declares a function that is already available (no matter in which language) the first function is overloaded and can no longer be called via call(); but it will still be available by calling its script directly.
Definition at line 1083 of file qaxscript.cpp.
Loads the source code from the file.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
The script can later be referred to using its name which should not be empty.
The function returns a pointer to the script engine for the code in file if file was loaded successfully; otherwise it returns 0.
The script engine used is determined from the file's extension. By default ".js" files are interpreted as JScript files, and ".vbs" and ".dsm" files are interpreted as VBScript. Additional script engines can be registered using registerEngine().
Definition at line 1111 of file qaxscript.cpp.
|
privateslot |
Definition at line 1340 of file qaxscript.cpp.
Referenced by addObject().
|
static |
Registers the script engine called name and returns true if the engine was found; otherwise does nothing and returns false.
The script engine will be used when loading files with the given extension, or when loading source code that contains the string code.
Definition at line 1229 of file qaxscript.cpp.
Returns the script called name.
You can use the returned pointer to call functions directly through QAxScript::call(), to access the script engine directly, or to delete and thus unload the script.
Definition at line 1028 of file qaxscript.cpp.
Referenced by call(), functions(), load(), and scriptForFunction().
|
privateslot |
Definition at line 1348 of file qaxscript.cpp.
|
static |
Returns a file filter listing all the supported script languages.
This filter string is convenient for use with QFileDialog.
Definition at line 1252 of file qaxscript.cpp.
Returns a pointer to the first QAxScript that knows about function, or 0 if this function is unknown.
Definition at line 1295 of file qaxscript.cpp.
QStringList QAxScriptManager::scriptNames | ( | ) | const |
Returns a list with the names of all the scripts.
Definition at line 1009 of file qaxscript.cpp.
|
private |
Definition at line 1325 of file qaxscript.cpp.
Referenced by QAxScript::updateObjects().
Definition at line 192 of file qaxscript.h.
Referenced by load().
|
private |
Definition at line 193 of file qaxscript.h.
Referenced by addObject(), QAxScript::findObject(), functions(), objectDestroyed(), QAxScript::QAxScript(), QAxScriptManager(), script(), scriptForFunction(), scriptNames(), updateScript(), and ~QAxScriptManager().