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 | return true; | 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 | /*@jsdoc | 873 | /*@jsdoc |
| 866 | * A 2D size value. | 874 | * A 2D size value. |
| 867 | * @typedef {object} Size | 875 | * @typedef {object} Size |
| @@ -1029,3 +1037,25 @@ QVector<EntityItemID> qVectorEntityItemIDFromScriptValue(const ScriptValue& arra · 161 unmodified lines | |||
| 1029 | } | 1037 | } |
| 1030 | return newVector; | 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 | } | ||