Added 'overloaded' member ScriptFunctionWrapper::callWith()
This commit is contained in:
parent
9b299d8ea6
commit
81376f3a17
2 changed files with 21 additions and 4 deletions
|
@ -1,5 +1,9 @@
|
|||
#include "scriptfunctionwrapper.h"
|
||||
|
||||
#include <QScriptContext>
|
||||
#include <QScriptEngine>
|
||||
#include <QDebug>
|
||||
|
||||
class ScriptFunctionWrapper::PrivateData {
|
||||
public:
|
||||
QScriptValue object;
|
||||
|
@ -18,6 +22,18 @@ ScriptFunctionWrapper::~ScriptFunctionWrapper() {
|
|||
delete d;
|
||||
}
|
||||
|
||||
QVariant ScriptFunctionWrapper::call() {
|
||||
return d->object.property(d->name).call().toVariant();
|
||||
QScriptValue ScriptFunctionWrapper::call() {
|
||||
return d->object.property(d->name).call();
|
||||
}
|
||||
|
||||
QScriptValue ScriptFunctionWrapper::callWith(const QScriptValue &val) {
|
||||
qDebug() << "Call called" << d->name;
|
||||
QScriptEngine *eng = val.engine();
|
||||
if (!eng) {
|
||||
qDebug() << "We cannot access the script-engine, fail!";
|
||||
return QScriptValue();
|
||||
}
|
||||
QScriptContext *ctx = eng->currentContext();
|
||||
return d->object.property(d->name).call(QScriptValue(), ctx->argumentsObject());
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
|
||||
#include <QObject>
|
||||
#include <QScriptValue>
|
||||
#include <QVariant>
|
||||
|
||||
class ScriptFunctionWrapper : public QObject
|
||||
{
|
||||
|
@ -16,7 +15,9 @@ signals:
|
|||
void titleChanged();
|
||||
|
||||
public slots:
|
||||
QVariant call();
|
||||
QScriptValue call();
|
||||
QScriptValue callWith(const QScriptValue &val);
|
||||
|
||||
|
||||
private:
|
||||
class PrivateData;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue