16 if (typeName == u"QVector2D") {
17 std::array<
double, 2> parameters;
18 if (!QQmlStringConverters::isValidNumberString<2, u','>(value, ¶meters))
19 return QQmlJSStructuredTypeError::withInvalidString();
21 const auto result = QQmlJSStructuredTypeError::fromSuggestedString(
22 u"({ x: %1, y: %2 })"_s.arg(parameters[0]).arg(parameters[1]));
24 }
else if (typeName == u"QVector3D") {
25 std::array<
double, 3> parameters;
26 if (!QQmlStringConverters::isValidNumberString<3, u',', u','>(value, ¶meters))
27 return QQmlJSStructuredTypeError::withInvalidString();
29 const auto result = QQmlJSStructuredTypeError::fromSuggestedString(
30 u"({ x: %1, y: %2, z: %3 })"_s.arg(parameters[0])
34 }
else if (typeName == u"QVector4D") {
35 std::array<
double, 4> parameters;
36 if (!QQmlStringConverters::isValidNumberString<4, u',', u',', u','>(value, ¶meters))
37 return QQmlJSStructuredTypeError::withInvalidString();
39 const auto result = QQmlJSStructuredTypeError::fromSuggestedString(
40 u"({ x: %1, y: %2, z: %3, w: %4 })"_s.arg(parameters[0])
45 }
else if (typeName == u"QQuaternion") {
46 std::array<
double, 4> parameters;
47 if (!QQmlStringConverters::isValidNumberString<4, u',', u',', u','>(value, ¶meters))
48 return QQmlJSStructuredTypeError::withInvalidString();
50 const auto result = QQmlJSStructuredTypeError::fromSuggestedString(
51 u"({ scalar: %1, x: %2, y: %3, z: %4 })"_s.arg(parameters[0])
56 }
else if (typeName == u"QMatrix4x4") {
57 std::array<
double, 16> parameters;
58 if (!QQmlStringConverters::isValidNumberString<16, u',', u',', u',', u',', u',', u',', u',',
59 u',', u',', u',', u',', u',', u',', u',',
60 u','>(value, ¶meters)) {
61 return QQmlJSStructuredTypeError::withInvalidString();
64 QString construction = u"({ "_s;
65 for (
int i = 0; i < 4; ++i) {
66 for (
int j = 0; j < 4; ++j) {
68 u"m%1%2: %3"_s.arg(i + 1).arg(j + 1).arg(parameters[i * 4 + j]));
69 if (!(i == 3 && j == 3))
70 construction.append(u", "_s);
73 construction.append(u" })"_s);
75 const auto result = QQmlJSStructuredTypeError::fromSuggestedString(construction);
79 return QQmlJSStructuredTypeError::withValidString();