summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qdeclarative.h
diff options
context:
space:
mode:
authorAlan Alpert <aalpert@rim.com>2012-12-03 08:50:11 -0800
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-12-05 19:21:01 +0100
commit9995a2910d8a5f0317fe3adeb54f838b99ab31a8 (patch)
treed35ae22a28bed65d143e5a8920d3024c0cc164c8 /src/declarative/qml/qdeclarative.h
parentdc96bfd00152e25f007511f64bff7c413f657886 (diff)
Add a method that allows registration of files to types
There is currently no way in C++ to duplicate the functionality of a qmldir file in mapping QML files to versioned types in a module. This functionality would be useful both in cases where a separate qmldir file would be overkill, and for cases where the type mapping should be generated dynamically. Change-Id: I28d7898122c5556fcd7cf3476795bcf4bb288eab Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
Diffstat (limited to 'src/declarative/qml/qdeclarative.h')
-rw-r--r--src/declarative/qml/qdeclarative.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/declarative/qml/qdeclarative.h b/src/declarative/qml/qdeclarative.h
index 4f7dcb2b..68fae370 100644
--- a/src/declarative/qml/qdeclarative.h
+++ b/src/declarative/qml/qdeclarative.h
@@ -49,6 +49,7 @@
#include <QtDeclarative/qdeclarativelist.h>
#include <QtCore/qbytearray.h>
+#include <QtCore/qurl.h>
#include <QtCore/qmetaobject.h>
QT_BEGIN_HEADER
@@ -390,6 +391,19 @@ int qmlRegisterCustomType(const char *uri, int versionMajor, int versionMinor,
return QDeclarativePrivate::qmlregister(QDeclarativePrivate::TypeRegistration, &type);
}
+inline int Q_DECLARATIVE_EXPORT qmlRegisterType(const QUrl &url, const char *uri, int versionMajor, int versionMinor, const char *qmlName)
+{
+ QDeclarativePrivate::RegisterComponent type = {
+ url,
+ uri,
+ qmlName,
+ versionMajor,
+ versionMinor
+ };
+
+ return QDeclarativePrivate::qmlregister(QDeclarativePrivate::ComponentRegistration, &type);
+}
+
class QDeclarativeContext;
class QDeclarativeEngine;
Q_DECLARATIVE_EXPORT void qmlExecuteDeferred(QObject *);