Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qqmlcontext.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QQMLCONTEXT_H
5#define QQMLCONTEXT_H
6
7#include <QtCore/qurl.h>
8#include <QtCore/qobject.h>
9#include <QtCore/qlist.h>
10#include <QtQml/qjsvalue.h>
11#include <QtCore/qmetatype.h>
12#include <QtCore/qvariant.h>
13
15
16
17class QString;
18class QQmlEngine;
20class QQmlCompositeTypeData;
21class QQmlContextData;
22
23class Q_QML_EXPORT QQmlContext : public QObject
24{
25 Q_OBJECT
26 Q_DECLARE_PRIVATE(QQmlContext)
27
28public:
29 struct PropertyPair { QString name; QVariant value; };
30
31 QQmlContext(QQmlEngine *parent, QObject *objParent = nullptr);
32 QQmlContext(QQmlContext *parent, QObject *objParent = nullptr);
33 ~QQmlContext() override;
34
35 bool isValid() const;
36
37 QQmlEngine *engine() const;
38 QQmlContext *parentContext() const;
39
40 QObject *contextObject() const;
41 void setContextObject(QObject *);
42
43 QVariant contextProperty(const QString &) const;
44 void setContextProperty(const QString &, QObject *);
45 void setContextProperty(const QString &, const QVariant &);
46 void setContextProperties(const QList<PropertyPair> &properties);
47
48 QString nameForObject(const QObject *) const;
49 QObject *objectForName(const QString &) const;
50
51 QUrl resolvedUrl(const QUrl &) const;
52
53 void setBaseUrl(const QUrl &);
54 QUrl baseUrl() const;
55
56 QJSValue importedScript(const QString &name) const;
57
58private:
59 friend class QQmlEngine;
60 friend class QQmlEnginePrivate;
61 friend class QQmlExpression;
62 friend class QQmlExpressionPrivate;
63 friend class QQmlComponent;
64 friend class QQmlComponentPrivate;
65 friend class QQmlScriptPrivate;
66 friend class QQmlContextData;
67 QQmlContext(QQmlContextPrivate &dd, QObject *parent = nullptr);
68 QQmlContext(QQmlEngine *, bool);
69 Q_DISABLE_COPY(QQmlContext)
70};
71QT_END_NAMESPACE
72
73#endif // QQMLCONTEXT_H
friend class QJSEngine
\inmodule QtCore
Definition qobject.h:105
The QQmlContext class defines a context within a QML engine.
Definition qqmlcontext.h:24
The QQmlEngine class provides an environment for instantiating QML components.
Definition qqmlengine.h:57
void updateCurrentTime(int) override
int duration() const override
QQuickBoundaryReturnJob(QQuickBoundaryRulePrivate *br, qreal to)
void updateState(QAbstractAnimationJob::State newState, QAbstractAnimationJob::State oldState) override
QQuickBoundaryRulePrivate * boundaryRule
qreal easedOvershoot(qreal overshootingValue)
QQuickBoundaryReturnJob * returnAnimationJob
int qmlRegisterCustomType(const char *uri, int versionMajor, int versionMinor, const char *qmlName, QQmlCustomParser *parser)
Definition qqml.h:547
#define QML_DECLARE_TYPE_HASMETATYPE(TYPE)
Definition qqml.h:23
Q_QML_EXPORT void qmlRegisterModuleImport(const char *uri, int moduleMajor, const char *import, int importMajor=QQmlModuleImportLatest, int importMinor=QQmlModuleImportLatest)
QQmlCustomParser * qmlCreateCustomParser()
Definition qqmlprivate.h:91
void qmlRegisterEnum(const char *name)
Definition qqml.h:999
Q_QML_EXPORT bool qmlProtectModule(const char *uri, int majVersion)
int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName)
Definition qqml.h:300
void qmlRegisterAnonymousTypesAndRevisions(const char *uri, int versionMajor)
Definition qqml.h:128
void qmlRegisterNamespaceAndRevisions(const QMetaObject *metaObject, const char *uri, int versionMajor, QList< int > *qmlTypeIds=nullptr, const QMetaObject *classInfoMetaObject=nullptr)
Definition qqml.h:989
int qmlRegisterCustomExtendedType(const char *uri, int versionMajor, int versionMinor, const char *qmlName, QQmlCustomParser *parser)
Definition qqml.h:584
#define QML_DECLARE_TYPE(TYPE)
Definition qqml.h:19
Q_QML_EXPORT void qmlExecuteDeferred(QObject *)
\inmodule QtQml \title Functions to register C++ types to QML
Definition qqml.cpp:59
int qmlRegisterType(const char *uri, int versionMajor, int versionMinor, const char *qmlName)
Definition qqml.h:336
void qmlRegisterNamespaceAndRevisions(const QMetaObject *metaObject, const char *uri, int versionMajor, QList< int > *qmlTypeIds, const QMetaObject *classInfoMetaObject, const QMetaObject *extensionMetaObject)
Definition qqml.h:948
void qmlRegisterTypesAndRevisions(const char *uri, int versionMajor, QList< int > *qmlTypeIds)
Definition qqml.h:935
int qmlRegisterCustomType(const char *uri, int versionMajor, int versionMinor, const char *qmlName, QQmlCustomParser *parser)
Definition qqml.h:510
int qmlRegisterExtendedType(const char *uri, int versionMajor)
Definition qqml.h:404
QQmlModuleImportSpecialVersions
Definition qqml.h:647
@ QQmlModuleImportLatest
Definition qqml.h:649
@ QQmlModuleImportModuleAny
Definition qqml.h:648
@ QQmlModuleImportAuto
Definition qqml.h:650
int qmlRegisterExtendedType(const char *uri, int versionMajor, int versionMinor, const char *qmlName)
Definition qqml.h:445
int qmlRegisterRevision(const char *uri, int versionMajor, int versionMinor)
Definition qqml.h:372
int qmlRegisterAnonymousType(const char *uri, int versionMajor)
Definition qqml.h:90
Q_QML_EXPORT void qmlUnregisterModuleImport(const char *uri, int moduleMajor, const char *import, int importMajor=QQmlModuleImportLatest, int importMinor=QQmlModuleImportLatest)
QObject * qmlAttachedPropertiesObject(const QObject *obj, bool create=true)
Definition qqml.h:663
int qmlRegisterAnonymousType(const char *uri, int versionMajor)
Definition qqml.h:56
Q_QML_EXPORT void qmlRegisterModule(const char *uri, int versionMajor, int versionMinor)
int qmlRegisterInterface(const char *uri, int versionMajor)
Definition qqml.h:492
QDebug Q_QML_EXPORT operator<<(QDebug debug, const QQmlError &error)
static void registerTypeAndRevisions(const char *uri, int versionMajor, QList< int > *qmlTypeIds, const QMetaObject *extension)
Definition qqml.h:806