Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 3 files). Show all
Unified · Split
| @@ -248,10 +248,26 @@ void ScriptEngine::init() { · 247 unmodified lines | |||
| 248 | _particlesScriptingInterface.getParticlePacketSender()->setProcessCallIntervalHint(SCRIPT_DATA_CALLBACK_USECS); | 248 | _particlesScriptingInterface.getParticlePacketSender()->setProcessCallIntervalHint(SCRIPT_DATA_CALLBACK_USECS); |
| 249 | } | 249 | } |
| 250 | 250 | ||
| 251 | void ScriptEngine::registerGlobalObject(const QString& name, QObject* object) { | 251 | QScriptValue ScriptEngine::registerGlobalObject(const QString& name, QObject* object) { |
| 252 | if (object) { | 252 | if (object) { |
| 253 | QScriptValue value = _engine.newQObject(object); | 253 | QScriptValue value = _engine.newQObject(object); |
| 254 | _engine.globalObject().setProperty(name, value); | 254 | _engine.globalObject().setProperty(name, value); |
| 255 | return value; | ||
| 256 | } | ||
| 257 | return QScriptValue::NullValue; | ||
| 258 | } | ||
| 259 | |||
| 260 | void ScriptEngine::registerGetterSetter(const QString& name, QScriptEngine::FunctionSignature getter, | ||
| 261 | QScriptEngine::FunctionSignature setter, QScriptValue object) { | ||
| 262 | QScriptValue setterFunction = _engine.newFunction(setter, 1); | ||
| 263 | QScriptValue getterFunction = _engine.newFunction(getter); | ||
| 264 | |||
| 265 | if (object.isNull()) { | ||
| 266 | object.setProperty(name, setterFunction, QScriptValue::PropertySetter); | ||
| 267 | object.setProperty(name, getterFunction, QScriptValue::PropertyGetter); | ||
| 268 | } else { | ||
| 269 | _engine.globalObject().setProperty(name, setterFunction, QScriptValue::PropertySetter); | ||
| 270 | _engine.globalObject().setProperty(name, getterFunction, QScriptValue::PropertyGetter); | ||
| 255 | } | 271 | } |
| 256 | } | 272 | } |
| 257 | 273 | ||