Showing the changes to libraries/script-engine/src/ScriptValueUtils.cpp (1 of 17 files). Show all
Unified · Split
| @@ -862,6 +862,14 @@ bool quuidFromScriptValue(const ScriptValue& object, QUuid& uuid) { · 861 unmodified lines | ||
| 862 | 862 | return true; |
| 863 | 863 | } |
| 864 | 864 | |
| 865 | +ScriptValue qStringToScriptValue(ScriptEngine* engine, const QString& string) { | |
| 866 | + if (string.isNull()) { | |
| 867 | + return engine->nullValue(); | |
| 868 | + } | |
| 869 | + ScriptValue obj(engine->newValue(string)); | |
| 870 | + return obj; | |
| 871 | +} | |
| 872 | + | |
| 865 | 873 | /*@jsdoc |
| 866 | 874 | * A 2D size value. |
| 867 | 875 | * @typedef {object} Size |
| @@ -1029,3 +1037,25 @@ QVector<EntityItemID> qVectorEntityItemIDFromScriptValue(const ScriptValue& arra · 161 unmodified lines | ||
| 1029 | 1037 | } |
| 1030 | 1038 | return newVector; |
| 1031 | 1039 | } |
| 1040 | + | |
| 1041 | +ScriptValue qVectorQStringToScriptValue(ScriptEngine* engine, const QVector<QString>& vector) { | |
| 1042 | + ScriptValue array = engine->newArray(); | |
| 1043 | + for (int i = 0; i < vector.size(); i++) { | |
| 1044 | + array.setProperty(i, qStringToScriptValue(engine, vector.at(i))); | |
| 1045 | + } | |
| 1046 | + return array; | |
| 1047 | +} | |
| 1048 | + | |
| 1049 | +QVector<QString> qVectorQStringFromScriptValue(const ScriptValue& array) { | |
| 1050 | + if (!array.isArray()) { | |
| 1051 | + return QVector<QString>(); | |
| 1052 | + } | |
| 1053 | + QVector<QString> newVector; | |
| 1054 | + int length = array.property("length").toInteger(); | |
| 1055 | + newVector.reserve(length); | |
| 1056 | + for (int i = 0; i < length; i++) { | |
| 1057 | + QString string = array.property(i).toString(); | |
| 1058 | + newVector << string; | |
| 1059 | + } | |
| 1060 | + return newVector; | |
| 1061 | +} | |