diff options
Diffstat (limited to 'doc/html/qaxscript-h.html')
-rw-r--r-- | doc/html/qaxscript-h.html | 261 |
1 files changed, 261 insertions, 0 deletions
diff --git a/doc/html/qaxscript-h.html b/doc/html/qaxscript-h.html new file mode 100644 index 0000000..4bf3ce0 --- /dev/null +++ b/doc/html/qaxscript-h.html @@ -0,0 +1,261 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qaxscript.h:1 --> +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>qaxscript.h Include File</title> +<style type="text/css"><!-- +fn { margin-left: 1cm; text-indent: -1cm; } +a:link { color: #004faf; text-decoration: none } +a:visited { color: #672967; text-decoration: none } +body { background: #ffffff; color: black; } +--></style> +</head> +<body> + +<table border="0" cellpadding="0" cellspacing="0" width="100%"> +<tr bgcolor="#E5E5E5"> +<td valign=center> + <a href="index.html"> +<font color="#004faf">Home</font></a> + | <a href="classes.html"> +<font color="#004faf">All Classes</font></a> + | <a href="mainclasses.html"> +<font color="#004faf">Main Classes</font></a> + | <a href="annotated.html"> +<font color="#004faf">Annotated</font></a> + | <a href="groups.html"> +<font color="#004faf">Grouped Classes</font></a> + | <a href="functions.html"> +<font color="#004faf">Functions</font></a> +</td> +<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qaxscript.h</h1> + +<p>This is the verbatim text of the qaxscript.h include file. It is provided only for illustration; the copyright remains with Trolltech. +<hr> +<pre> +/**************************************************************************** +** $Id: qt/qaxscript.h 3.3.8 edited Jan 11 14:46 $ +** +** Declaration of the QAxScriptEngine, QAxScript and QAxScriptManager classes +** +** Copyright (C) 2002-2007 Trolltech ASA. All rights reserved. +** +** This file is part of the Active Qt integration. +** +** Licensees holding valid Qt Enterprise Edition +** licenses for Windows may use this file in accordance with the Qt Commercial +** License Agreement provided with the Software. +** +** This file is not available for use under any other license without +** express written permission from the copyright holder. +** +** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE +** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. +** +** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for +** information about Qt Commercial License Agreements. +** +** Contact info@trolltech.com if any conditions of this licensing are +** not clear to you. +** +**********************************************************************/ + +#ifndef QAXSCRIPT_H +#define QAXSCRIPT_H + +#include <qaxobject.h> + +class QAxBase; +class QAxScript; +class QAxScriptSite; +class QAxScriptEngine; +class QAxScriptManager; +class QAxScriptManagerPrivate; +struct IActiveScript; + +class QAxScriptEngine : public QAxObject +{ +public: + enum State { + Uninitialized = 0, + Initialized = 5, + Started = 1, + Connected = 2, + Disconnected = 3, + Closed = 4 + }; + + QAxScriptEngine(const QString &language, QAxScript *script); + ~QAxScriptEngine(); + + bool isValid() const; + bool hasIntrospection() const; + + QString scriptLanguage() const; + + State state() const; + void setState(State st); + + void addItem(const QString &name); + + long queryInterface( const QUuid &, void** ) const; + +protected: + bool initialize(IUnknown** ptr); + +private: + QAxScript *script_code; + IActiveScript *engine; + + QString script_language; +}; + +class QAxScript : public QObject +{ + Q_OBJECT + +public: + enum FunctionFlags { + FunctionNames = 0, + FunctionSignatures + }; + + QAxScript(const QString &name, QAxScriptManager *manager); + ~QAxScript(); + + bool load(const QString &code, const QString &language = QString::null); + + QStringList functions(FunctionFlags = FunctionNames) const; + + QString scriptCode() const; + QString scriptName() const; + QAxScriptEngine *scriptEngine() const; + + 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()); + QVariant call(const QString &function, QValueList<QVariant> &arguments); + +signals: + void entered(); + void finished(); + void finished(const QVariant &result); + void finished(int code, const QString &source,const QString &description, const QString &help); + void stateChanged(int state); + void error(int code, const QString &description, int sourcePosition, const QString &sourceText); + +private: + friend class QAxScriptSite; + friend class QAxScriptEngine; + + void updateObjects(); + QAxBase *findObject(const QString &name); + + QString script_name; + QString script_code; + QAxScriptManager *script_manager; + QAxScriptEngine *script_engine; + QAxScriptSite *script_site; +}; + +class QAxScriptManager : public QObject +{ + Q_OBJECT + +public: + QAxScriptManager( QObject *parent = 0, const char *name = 0 ); + ~QAxScriptManager(); + + void addObject(QAxBase *object); + void addObject(QObject *object); + + QStringList functions(QAxScript::FunctionFlags = QAxScript::FunctionNames) const; + QStringList scriptNames() const; + QAxScript *script(const QString &name) const; + + QAxScript* load(const QString &code, const QString &name, const QString &language); + QAxScript* load(const QString &file, const QString &name); + + 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()); + QVariant call(const QString &function, QValueList<QVariant> &arguments); + + static bool registerEngine(const QString &name, const QString &extension, const QString &code = QString()); + static QString scriptFileFilter(); + +signals: + void error(QAxScript *script, int code, const QString &description, int sourcePosition, const QString &sourceText); + +private slots: + void objectDestroyed(QObject *o); + void scriptError(int code, const QString &description, int sourcePosition, const QString &sourceText); + +private: + friend class QAxScript; + QAxScriptManagerPrivate *d; + + void updateScript(QAxScript*); + QAxScript *scriptForFunction(const QString &function) const; +}; + + +// QAxScript inlines + +inline QString QAxScript::scriptCode() const +{ + return script_code; +} + +inline QString QAxScript::scriptName() const +{ + return script_name; +} + +inline QAxScriptEngine *QAxScript::scriptEngine() const +{ + return script_engine; +} + +// QAxScriptEngine inlines + +inline bool QAxScriptEngine::isValid() const +{ + return engine != 0; +} + +inline QString QAxScriptEngine::scriptLanguage() const +{ + return script_language; +} + +// QAxScriptManager inlines + +inline void QAxScriptManager::addObject(QObject *object) +{ + extern QAxBase *qax_create_object_wrapper(QObject*); + QAxBase *wrapper = qax_create_object_wrapper(object); + addObject(wrapper); +} + +#endif // QAXSCRIPT_H +</pre> +<!-- eof --> +<p><address><hr><div align=center> +<table width=100% cellspacing=0 border=0><tr> +<td>Copyright © 2007 +<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a> +<td align=right><div align=right>Qt 3.3.8</div> +</table></div></address></body> +</html> |