diff options
author | Chris Adams <christopher.adams@nokia.com> | 2012-05-23 18:05:10 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-06-21 09:58:56 +0200 |
commit | 03342a435a88656d64d1445991a4421d244fcb45 (patch) | |
tree | c70121da638aed1d8ef1240cae8acf5fddf35dff /src/qml/qml/qqmlengine.cpp | |
parent | b89c6459d760e68c629c0d318d2afd494a2a415a (diff) |
Put basic language types into QtQml import
This import is automatically registered by the engine.
It provides basic language types (Component and QtObject).
Note that the QtQuick import still has these types registered into it,
so this commit doesn't break existing code.
Change-Id: I8ff190f057fc92969020cf8e896da1649ca3069b
Reviewed-by: Alan Alpert <alan.alpert@nokia.com>
Diffstat (limited to 'src/qml/qml/qqmlengine.cpp')
-rw-r--r-- | src/qml/qml/qqmlengine.cpp | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/src/qml/qml/qqmlengine.cpp b/src/qml/qml/qqmlengine.cpp index ca1ac84046..3017c7336c 100644 --- a/src/qml/qml/qqmlengine.cpp +++ b/src/qml/qml/qqmlengine.cpp @@ -104,7 +104,8 @@ QT_BEGIN_NAMESPACE void qmlRegisterBaseTypes(const char *uri, int versionMajor, int versionMinor) { QQmlEnginePrivate::registerBaseTypes(uri, versionMajor, versionMinor); - QQmlValueTypeFactory::registerBaseTypes(uri, versionMajor, versionMinor); + QQmlEnginePrivate::registerQtQuick2Types(uri, versionMajor, versionMinor); + QQmlValueTypeFactory::registerValueTypes(uri, versionMajor, versionMinor); } /*! @@ -165,19 +166,30 @@ void qmlRegisterBaseTypes(const char *uri, int versionMajor, int versionMinor) bool QQmlEnginePrivate::qml_debugging_enabled = false; +// these types are part of the QML language void QQmlEnginePrivate::registerBaseTypes(const char *uri, int versionMajor, int versionMinor) { qmlRegisterType<QQmlComponent>(uri,versionMajor,versionMinor,"Component"); qmlRegisterType<QObject>(uri,versionMajor,versionMinor,"QtObject"); - qmlRegisterType<QQuickListElement>(uri, versionMajor, versionMinor,"ListElement"); - qmlRegisterCustomType<QQuickListModel>(uri, versionMajor, versionMinor,"ListModel", new QQuickListModelParser); - qmlRegisterType<QQuickWorkerScript>(uri,versionMajor,versionMinor,"WorkerScript"); } -void QQmlEnginePrivate::defineModule() + +// These QtQuick types' implementation resides in the QtQml module +void QQmlEnginePrivate::registerQtQuick2Types(const char *uri, int versionMajor, int versionMinor) { - registerBaseTypes("QtQuick", 2, 0); - qmlRegisterUncreatableType<QQmlLocale>("QtQuick",2,0,"Locale",QQmlEngine::tr("Locale cannot be instantiated. Use Qt.locale()")); + qmlRegisterType<QQuickListElement>(uri, versionMajor, versionMinor, "ListElement"); + qmlRegisterCustomType<QQuickListModel>(uri, versionMajor, versionMinor, "ListModel", new QQuickListModelParser); + qmlRegisterType<QQuickWorkerScript>(uri, versionMajor, versionMinor, "WorkerScript"); +} + +void QQmlEnginePrivate::defineQtQuick2Module() +{ + // register the base types into the QtQuick namespace + registerBaseTypes("QtQuick",2,0); + + // register the QtQuick2 types which are implemented in the QtQml module. + registerQtQuick2Types("QtQuick",2,0); + qmlRegisterUncreatableType<QQmlLocale>("QtQuick", 2, 0, "Locale", QQmlEngine::tr("Locale cannot be instantiated. Use Qt.locale()")); } @@ -602,7 +614,8 @@ void QQmlEnginePrivate::init() static bool firstTime = true; if (firstTime) { - qmlRegisterType<QQmlComponent>("QML", 1, 0, "Component"); + qmlRegisterType<QQmlComponent>("QML", 1, 0, "Component"); // required for the Compiler. + registerBaseTypes("QtQml", 2, 0); // import which provides language building blocks. QQmlData::init(); firstTime = false; |