History

Added QTimer* script data type and some nullptr checks

ksuprynowicz committed 4 years ago

Commit e9984c71 parent 80e5f2421 files · +43 −11Browse files

Showing the changes to libraries/script-engine/src/ScriptValueUtils.cpp (1 of 21 files). Show all

Unified · Split

libraries/script-engine/src/ScriptValueUtils.cpp+11−2
@@ -19,6 +19,7 @@ · 18 unmodified lines
19#include <QtCore/QRect>19#include <QtCore/QRect>
20#include <QtCore/QUrl>20#include <QtCore/QUrl>
21#include <QtCore/QUuid>21#include <QtCore/QUuid>
22#include <QtCore/QTimer>
22 23
23#include <AACube.h>24#include <AACube.h>
24#include <shared/MiniPromises.h>25#include <shared/MiniPromises.h>
@@ -68,6 +69,7 @@ void registerMetaTypes(ScriptEngine* engine) { · 43 unmodified lines
68 scriptRegisterMetaType<QRect, qRectToScriptValue, qRectFromScriptValue>(engine);69 scriptRegisterMetaType<QRect, qRectToScriptValue, qRectFromScriptValue>(engine);
69 scriptRegisterMetaType<QUrl, qURLToScriptValue, qURLFromScriptValue>(engine);70 scriptRegisterMetaType<QUrl, qURLToScriptValue, qURLFromScriptValue>(engine);
70 scriptRegisterMetaType<QColor, qColorToScriptValue, qColorFromScriptValue>(engine);71 scriptRegisterMetaType<QColor, qColorToScriptValue, qColorFromScriptValue>(engine);
72 scriptRegisterMetaType<QTimer*, qTimerToScriptValue, qTimerFromScriptValue>(engine, "QTimer*");
71 73
72 scriptRegisterMetaType<PickRay, pickRayToScriptValue, pickRayFromScriptValue>(engine);74 scriptRegisterMetaType<PickRay, pickRayToScriptValue, pickRayFromScriptValue>(engine);
73 scriptRegisterMetaType<Collision, collisionToScriptValue, collisionFromScriptValue>(engine);75 scriptRegisterMetaType<Collision, collisionToScriptValue, collisionFromScriptValue>(engine);
@@ -665,6 +667,14 @@ bool aaCubeFromScriptValue(const ScriptValue& object, AACube& aaCube) { · 591 unmodified lines
665 return true;667 return true;
666}668}
667 669
670ScriptValue qTimerToScriptValue(ScriptEngine* engine, QTimer* const &in) {
671 return engine->newQObject(in, ScriptEngine::QtOwnership);
672}
673
674bool qTimerFromScriptValue(const ScriptValue& object, QTimer* &out) {
675 return (out = qobject_cast<QTimer*>(object.toQObject())) != nullptr;
676}
677
668bool qColorFromScriptValue(const ScriptValue& object, QColor& color) {678bool qColorFromScriptValue(const ScriptValue& object, QColor& color) {
669 if (object.isNumber()) {679 if (object.isNumber()) {
670 color.setRgb(object.toUInt32());680 color.setRgb(object.toUInt32());
@@ -834,8 +844,7 @@ ScriptValue meshToScriptValue(ScriptEngine* engine, MeshProxy* const& in) { · 163 unmodified lines
834}844}
835 845
836bool meshFromScriptValue(const ScriptValue& value, MeshProxy*& out) {846bool meshFromScriptValue(const ScriptValue& value, MeshProxy*& out) {
837 out = qobject_cast<MeshProxy*>(value.toQObject());847 return (out = qobject_cast<MeshProxy*>(value.toQObject())) != nullptr;
838 return true;
839}848}
840 849
841ScriptValue meshesToScriptValue(ScriptEngine* engine, const MeshProxyList& in) {850ScriptValue meshesToScriptValue(ScriptEngine* engine, const MeshProxyList& in) {