47 Q_PROPERTY(QQmlApplication *application READ application CONSTANT)
48 Q_PROPERTY(QQmlPlatform *platform READ platform CONSTANT)
49 Q_PROPERTY(QObject *inputMethod READ inputMethod CONSTANT)
50 Q_PROPERTY(QObject *styleHints READ styleHints CONSTANT)
52#if QT_CONFIG(translation)
53 Q_PROPERTY(QString uiLanguage READ uiLanguage WRITE setUiLanguage BINDABLE uiLanguageBindable NOTIFY uiLanguageChanged)
58 QML_EXTENDED_NAMESPACE(Qt)
60 Q_CLASSINFO(
"QML.StrictArguments",
"true")
63 enum LoadingMode { Asynchronous = 0, Synchronous = 1 };
66 static QtObject *create(QQmlEngine *, QJSEngine *jsEngine);
68 Q_INVOKABLE QJSValue include(
const QString &url,
const QJSValue &callback = QJSValue())
const;
69 Q_INVOKABLE
bool isQtObject(
const QJSValue &value)
const;
71 Q_INVOKABLE QVariant color(
const QString &name)
const;
72 Q_INVOKABLE QVariant rgba(
double r,
double g,
double b,
double a = 1)
const;
73 Q_INVOKABLE QVariant hsla(
double h,
double s,
double l,
double a = 1)
const;
74 Q_INVOKABLE QVariant hsva(
double h,
double s,
double v,
double a = 1)
const;
75 Q_INVOKABLE
bool colorEqual(
const QVariant &lhs,
const QVariant &rhs)
const;
77 Q_INVOKABLE QRectF rect(
double x,
double y,
double width,
double height)
const;
78 Q_INVOKABLE QPointF point(
double x,
double y)
const;
79 Q_INVOKABLE QSizeF size(
double width,
double height)
const;
80 Q_INVOKABLE QVariant vector2d(
double x,
double y)
const;
81 Q_INVOKABLE QVariant vector3d(
double x,
double y,
double z)
const;
82 Q_INVOKABLE QVariant vector4d(
double x,
double y,
double z,
double w)
const;
83 Q_INVOKABLE QVariant quaternion(
double scalar,
double x,
double y,
double z)
const;
85 Q_INVOKABLE QVariant matrix4x4()
const;
86 Q_INVOKABLE QVariant matrix4x4(
double m11,
double m12,
double m13,
double m14,
87 double m21,
double m22,
double m23,
double m24,
88 double m31,
double m32,
double m33,
double m34,
89 double m41,
double m42,
double m43,
double m44)
const;
90 Q_INVOKABLE QVariant matrix4x4(
const QJSValue &value)
const;
92 Q_INVOKABLE QVariant lighter(
const QJSValue &color,
double factor = 1.5)
const;
93 Q_INVOKABLE QVariant darker(
const QJSValue &color,
double factor = 2.0)
const;
94 Q_INVOKABLE QVariant alpha(
const QJSValue &baseColor,
double value)
const;
95 Q_INVOKABLE QVariant tint(
const QJSValue &baseColor,
const QJSValue &tintColor)
const;
97 Q_INVOKABLE QString formatDate(QDate date,
const QString &format)
const;
98 Q_INVOKABLE QString formatDate(
const QDateTime &dateTime,
const QString &format)
const;
99 Q_INVOKABLE QString formatDate(
const QString &string,
const QString &format)
const;
100 Q_INVOKABLE QString formatDate(QDate date, Qt::DateFormat format)
const;
101 Q_INVOKABLE QString formatDate(
const QDateTime &dateTime, Qt::DateFormat format)
const;
102 Q_INVOKABLE QString formatDate(
const QString &string, Qt::DateFormat format)
const;
104 Q_INVOKABLE QString formatTime(QTime time,
const QString &format)
const;
105 Q_INVOKABLE QString formatTime(
const QDateTime &dateTime,
const QString &format)
const;
106 Q_INVOKABLE QString formatTime(
const QString &time,
const QString &format)
const;
107 Q_INVOKABLE QString formatTime(QTime time, Qt::DateFormat format)
const;
108 Q_INVOKABLE QString formatTime(
const QDateTime &dateTime, Qt::DateFormat format)
const;
109 Q_INVOKABLE QString formatTime(
const QString &time, Qt::DateFormat format)
const;
111 Q_INVOKABLE QString formatDateTime(
const QDateTime &date,
const QString &format)
const;
112 Q_INVOKABLE QString formatDateTime(
const QString &string,
const QString &format)
const;
113 Q_INVOKABLE QString formatDateTime(
const QDateTime &date, Qt::DateFormat format)
const;
114 Q_INVOKABLE QString formatDateTime(
const QString &string, Qt::DateFormat format)
const;
116#if QT_CONFIG(qml_locale)
117 Q_INVOKABLE QString formatDate(QDate date,
const QLocale &locale = QLocale(),
118 QLocale::FormatType formatType = QLocale::ShortFormat)
const;
119 Q_INVOKABLE QString formatDate(
const QDateTime &dateTime,
const QLocale &locale = QLocale(),
120 QLocale::FormatType formatType = QLocale::ShortFormat)
const;
121 Q_INVOKABLE QString formatDate(
const QString &string,
const QLocale &locale = QLocale(),
122 QLocale::FormatType formatType = QLocale::ShortFormat)
const;
123 Q_INVOKABLE QString formatTime(QTime time,
const QLocale &locale = QLocale(),
124 QLocale::FormatType formatType = QLocale::ShortFormat)
const;
125 Q_INVOKABLE QString formatTime(
const QDateTime &dateTime,
const QLocale &locale = QLocale(),
126 QLocale::FormatType formatType = QLocale::ShortFormat)
const;
127 Q_INVOKABLE QString formatTime(
const QString &time,
const QLocale &locale = QLocale(),
128 QLocale::FormatType formatType = QLocale::ShortFormat)
const;
129 Q_INVOKABLE QString formatDateTime(
const QDateTime &date,
const QLocale &locale = QLocale(),
130 QLocale::FormatType formatType = QLocale::ShortFormat)
const;
131 Q_INVOKABLE QString formatDateTime(
const QString &string,
const QLocale &locale = QLocale(),
132 QLocale::FormatType formatType = QLocale::ShortFormat)
const;
133 Q_INVOKABLE QLocale locale()
const;
134 Q_INVOKABLE QLocale locale(
const QString &name)
const;
137 Q_INVOKABLE QUrl url(
const QUrl &url)
const;
138 Q_INVOKABLE QUrl resolvedUrl(
const QUrl &url)
const;
139 Q_INVOKABLE QUrl resolvedUrl(
const QUrl &url, QObject *context)
const;
140 Q_INVOKABLE
bool openUrlExternally(
const QUrl &url)
const;
142 Q_INVOKABLE QVariant font(
const QJSValue &fontSpecifier)
const;
143 Q_INVOKABLE QStringList fontFamilies()
const;
145 Q_INVOKABLE QString md5(
const QString &data)
const;
146 Q_INVOKABLE QString btoa(
const QString &data)
const;
147 Q_INVOKABLE QString atob(
const QString &data)
const;
149 Q_INVOKABLE QByteArray btoa(
const QByteArray &data)
const;
150 Q_INVOKABLE QByteArray atob(
const QByteArray &data)
const;
152 Q_INVOKABLE QByteArray btoa(
const QVariantList &data)
const;
153 Q_INVOKABLE QByteArray atob(
const QVariantList &data)
const;
155 Q_INVOKABLE
void quit()
const;
156 Q_INVOKABLE
void exit(
int retCode)
const;
158 Q_INVOKABLE QObject *createQmlObject(
const QString &qml, QObject *parent,
159 const QUrl &url = QUrl(QStringLiteral(
"inline")))
const;
160 Q_INVOKABLE QQmlComponent *createComponent(
const QUrl &url, QObject *parent)
const;
161 Q_INVOKABLE QQmlComponent *createComponent(
162 const QUrl &url, QQmlComponent::CompilationMode mode = QQmlComponent::PreferSynchronous,
163 QObject *parent =
nullptr)
const;
165 Q_INVOKABLE QQmlComponent *createComponent(
const QString &moduleUri,
166 const QString &typeName, QObject *parent)
const;
167 Q_INVOKABLE QQmlComponent *createComponent(
const QString &moduleUri,
const QString &typeName,
168 QQmlComponent::CompilationMode mode = QQmlComponent::PreferSynchronous,
169 QObject *parent =
nullptr)
const;
171 Q_INVOKABLE QJSValue binding(
const QJSValue &function)
const;
172 Q_INVOKABLE
void callLater(QQmlV4FunctionPtr args);
174 Q_INVOKABLE
double enumStringToValue(
const QJSManagedValue &enumType,
const QString &string);
175 Q_INVOKABLE QString enumValueToString(
const QJSManagedValue &enumType,
double value);
176 Q_INVOKABLE QStringList enumValueToStrings(
const QJSManagedValue &enumType,
double value);
178#if QT_CONFIG(translation)
179 QString uiLanguage()
const;
180 void setUiLanguage(
const QString &uiLanguage);
181 QBindable<QString> uiLanguageBindable();
182 Q_SIGNAL
void uiLanguageChanged();
186 QQmlPlatform *platform();
187 QQmlApplication *application();
189 QObject *inputMethod()
const;
190 QObject *styleHints()
const;
193 friend struct QV4::ExecutionEngine;
195 QtObject(QV4::ExecutionEngine *engine);
197 QQmlEngine *qmlEngine()
const {
return m_engine->qmlEngine(); }
198 QJSEngine *jsEngine()
const {
return m_engine->jsEngine(); }
199 QV4::ExecutionEngine *v4Engine()
const {
return m_engine; }
202 QQmlRefPointer<QQmlContextData> context;
203 QQmlRefPointer<QQmlContextData> effectiveContext;
205 Contexts getContexts()
const;
207 template<
typename Ret,
typename HandleScoped,
typename HandleUnscoped>
208 Ret retrieveFromEnum(
const QJSManagedValue &enumType, HandleScoped &&handleScoped,
209 HandleUnscoped &&handleUnscoped, QV4::ExecutionEngine *engine)
216 QV4::Value *internal = QJSManagedValuePrivate::member(&enumType);
218 QV4::Heap::QQmlEnumWrapper *enumWrapper =
nullptr;
219 if (
auto *wrapper = internal ? internal->as<QV4::QQmlEnumWrapper>() :
nullptr) {
220 enumWrapper = wrapper->d();
222 engine->throwTypeError(
"Invalid first argument, expected enum"_L1);
227 const QQmlType type = enumWrapper->type();
228 const int enumIndex = enumWrapper->enumIndex;
229 auto *typeLoader = m_engine->typeLoader();
230 const auto value = enumWrapper->scoped
231 ? handleScoped(type, typeLoader, enumIndex, &ok)
232 : handleUnscoped(type, typeLoader, enumIndex, &ok);
235 engine->throwReferenceError(
"Invalid second argument, entry"_L1);
240 QQmlPlatform *m_platform =
nullptr;
241 QQmlApplication *m_application =
nullptr;
243 QV4::ExecutionEngine *m_engine =
nullptr;