Plasma
timer.cpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <QtScript/QScriptValue>
00020 #include <QtScript/QScriptEngine>
00021 #include <QtScript/QScriptContext>
00022 #include <QtScript/QScriptable>
00023 #include <QtCore/QTimer>
00024 #include "../backportglobal.h"
00025
00026 Q_DECLARE_METATYPE(QTimer*)
00027
00028 static QScriptValue newTimer(QScriptEngine *eng, QTimer *timer)
00029 {
00030 return eng->newQObject(timer, QScriptEngine::AutoOwnership);
00031 }
00032
00033 static QScriptValue ctor(QScriptContext *ctx, QScriptEngine *eng)
00034 {
00035 return newTimer(eng, new QTimer(qscriptvalue_cast<QObject*>(ctx->argument(0))));
00036 }
00037
00038 static QScriptValue toString(QScriptContext *ctx, QScriptEngine *eng)
00039 {
00040 DECLARE_SELF(QTimer, toString);
00041 return QScriptValue(eng, QString::fromLatin1("QTimer(interval=%0)")
00042 .arg(self->interval()));
00043 }
00044
00045 QScriptValue constructTimerClass(QScriptEngine *eng)
00046 {
00047 QScriptValue proto = newTimer(eng, new QTimer());
00048 ADD_METHOD(proto, toString);
00049 eng->setDefaultPrototype(qMetaTypeId<QTimer*>(), proto);
00050
00051 return eng->newFunction(ctor, proto);
00052 }