summaryrefslogtreecommitdiffstats
path: root/src/declarative/qml
diff options
context:
space:
mode:
authorWarwick Allison <warwick.allison@nokia.com>2009-07-23 00:15:14 (GMT)
committerWarwick Allison <warwick.allison@nokia.com>2009-07-23 00:15:14 (GMT)
commitdc602e3b9c4d5e4da1d57ed657d82e73401b4531 (patch)
tree6f1ec1972a6dbeea0830373fe534390da06e6869 /src/declarative/qml
parent8dc527a3837c937630c8bbbab034b8bc84d496fb (diff)
downloadQt-dc602e3b9c4d5e4da1d57ed657d82e73401b4531.zip
Qt-dc602e3b9c4d5e4da1d57ed657d82e73401b4531.tar.gz
Qt-dc602e3b9c4d5e4da1d57ed657d82e73401b4531.tar.bz2
Move all QML types to Qt/4.6 namespace.
Adjust examples and demos accordingly. As per QT-558
Diffstat (limited to 'src/declarative/qml')
-rw-r--r--src/declarative/qml/qml.h11
-rw-r--r--src/declarative/qml/qmlcomponent.cpp2
-rw-r--r--src/declarative/qml/qmlcustomparser_p.h4
-rw-r--r--src/declarative/qml/qmlengine.cpp2
-rw-r--r--src/declarative/qml/qmlmetatype.cpp20
-rw-r--r--src/declarative/qml/qmlmetatype.h18
6 files changed, 32 insertions, 25 deletions
diff --git a/src/declarative/qml/qml.h b/src/declarative/qml/qml.h
index d43e693..5dd57bc 100644
--- a/src/declarative/qml/qml.h
+++ b/src/declarative/qml/qml.h
@@ -73,17 +73,14 @@ QT_MODULE(Declarative)
QT_BEGIN_NAMESPACE
-//#define QML_FORCE_NAMESPACE "Qt/4.6/"
-#define QML_FORCE_NAMESPACE
-
#define QML_DEFINE_INTERFACE(INTERFACE) \
template<> QmlPrivate::InstanceType QmlPrivate::Define<INTERFACE *>::instance(qmlRegisterInterface<INTERFACE>(#INTERFACE));
-#define QML_DEFINE_EXTENDED_TYPE(TYPE, NAME, EXTENSION) \
- template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *>::instance(qmlRegisterExtendedType<TYPE,EXTENSION>(QML_FORCE_NAMESPACE #NAME, #TYPE));
+#define QML_DEFINE_EXTENDED_TYPE(URI, VERSION, NAME, TYPE, EXTENSION) \
+ template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *>::instance(qmlRegisterExtendedType<TYPE,EXTENSION>(#URI, #VERSION, #NAME, #TYPE));
-#define QML_DEFINE_TYPE(TYPE, NAME) \
- template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *>::instance(qmlRegisterType<TYPE>(QML_FORCE_NAMESPACE #NAME, #TYPE));
+#define QML_DEFINE_TYPE(URI, VERSION, NAME, TYPE) \
+ template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *>::instance(qmlRegisterType<TYPE>(#URI, #VERSION, #NAME, #TYPE));
#define QML_DEFINE_EXTENDED_NOCREATE_TYPE(TYPE, EXTENSION) \
template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *>::instance(qmlRegisterExtendedType<TYPE,EXTENSION>(#TYPE));
diff --git a/src/declarative/qml/qmlcomponent.cpp b/src/declarative/qml/qmlcomponent.cpp
index 0fdba64..4de114d 100644
--- a/src/declarative/qml/qmlcomponent.cpp
+++ b/src/declarative/qml/qmlcomponent.cpp
@@ -95,7 +95,7 @@ Item {
}
\endqml
*/
-QML_DEFINE_TYPE(QmlComponent,Component);
+QML_DEFINE_TYPE(Qt,4.6,Component,QmlComponent);
/*!
\enum QmlComponent::Status
diff --git a/src/declarative/qml/qmlcustomparser_p.h b/src/declarative/qml/qmlcustomparser_p.h
index 914ddbd..63144d6 100644
--- a/src/declarative/qml/qmlcustomparser_p.h
+++ b/src/declarative/qml/qmlcustomparser_p.h
@@ -112,8 +112,8 @@ public:
virtual QByteArray compile(const QList<QmlCustomParserProperty> &, bool *ok);
virtual void setCustomData(QObject *, const QByteArray &);
};
-#define QML_DEFINE_CUSTOM_TYPE(TYPE, NAME, CUSTOMTYPE) \
- template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *>::instance(qmlRegisterCustomType<TYPE>(#NAME, #TYPE, new CUSTOMTYPE));
+#define QML_DEFINE_CUSTOM_TYPE(URI, VERSION, NAME, TYPE, CUSTOMTYPE) \
+ template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *>::instance(qmlRegisterCustomType<TYPE>(#URI, #VERSION, #NAME, #TYPE, new CUSTOMTYPE));
QT_END_NAMESPACE
diff --git a/src/declarative/qml/qmlengine.cpp b/src/declarative/qml/qmlengine.cpp
index c4b3c0d..492be3b 100644
--- a/src/declarative/qml/qmlengine.cpp
+++ b/src/declarative/qml/qmlengine.cpp
@@ -85,7 +85,7 @@ QT_BEGIN_NAMESPACE
DEFINE_BOOL_CONFIG_OPTION(qmlDebugger, QML_DEBUGGER)
DEFINE_BOOL_CONFIG_OPTION(qmlImportTrace, QML_IMPORT_TRACE)
-QML_DEFINE_TYPE(QObject,Object)
+QML_DEFINE_TYPE(Qt,4.6,Object,QObject)
struct StaticQtMetaObject : public QObject
{
diff --git a/src/declarative/qml/qmlmetatype.cpp b/src/declarative/qml/qmlmetatype.cpp
index 16baf08..bb05ebd 100644
--- a/src/declarative/qml/qmlmetatype.cpp
+++ b/src/declarative/qml/qmlmetatype.cpp
@@ -56,6 +56,7 @@
#include <qstringlist.h>
#include <qvector.h>
#include <qlocale.h>
+//#include <ctypes.h>
#include <QtCore/qcryptographichash.h>
#include <private/qmlcustomparser_p.h>
@@ -416,26 +417,35 @@ int QmlMetaType::registerInterface(const QmlPrivate::MetaTypeIds &id,
return index;
}
-int QmlMetaType::registerType(const QmlPrivate::MetaTypeIds &id, QmlPrivate::Func func, const char *cname, const QMetaObject *mo, QmlAttachedPropertiesFunc attach, const QMetaObject *attachMo, int pStatus, int object, QmlPrivate::CreateFunc extFunc, const QMetaObject *extmo, QmlCustomParser *parser)
+int QmlMetaType::registerType(const QmlPrivate::MetaTypeIds &id, QmlPrivate::Func func, const char *uri, const char *version, const char *cname, const QMetaObject *mo, QmlAttachedPropertiesFunc attach, const QMetaObject *attachMo, int pStatus, int object, QmlPrivate::CreateFunc extFunc, const QMetaObject *extmo, QmlCustomParser *parser)
{
Q_UNUSED(object);
QWriteLocker lock(metaTypeDataLock());
QmlMetaTypeData *data = metaTypeData();
- QString name = QLatin1String(cname);
+ QByteArray name = cname;
for (int ii = 0; ii < name.count(); ++ii) {
- QChar ch = name.at(ii);
- if (!ch.isLetterOrNumber() && ch != QChar::fromLatin1('/') && ch != QChar::fromLatin1('.')) {
+ if (!isalnum(name.at(ii))) {
qWarning("QmlMetaType: Invalid QML name %s", cname);
return -1;
}
}
+ // XXX Only adding specified version. Need all relevant versions!
+ if (uri) {
+ if (version)
+ name = QByteArray(uri) + '/' + version + '/' + name;
+ else
+ name = QByteArray(uri) + '/' + name;
+ } else {
+ Q_ASSERT(!version);
+ }
+
int index = data->types.count();
QmlType *type = new QmlType(id.typeId, id.listId, id.qmlListId,
- func, cname, mo, attach, attachMo, pStatus, extFunc,
+ func, name, mo, attach, attachMo, pStatus, extFunc,
extmo, index, parser);
data->types.append(type);
diff --git a/src/declarative/qml/qmlmetatype.h b/src/declarative/qml/qmlmetatype.h
index d10a0f0..d83b83e 100644
--- a/src/declarative/qml/qmlmetatype.h
+++ b/src/declarative/qml/qmlmetatype.h
@@ -59,7 +59,7 @@ class QmlCustomParser;
class Q_DECLARATIVE_EXPORT QmlMetaType
{
public:
- static int registerType(const QmlPrivate::MetaTypeIds &, QmlPrivate::Func, const char *, const QMetaObject *, QmlAttachedPropertiesFunc, const QMetaObject *, int pStatus, int object, QmlPrivate::CreateFunc extFunc, const QMetaObject *extmo, QmlCustomParser *);
+ static int registerType(const QmlPrivate::MetaTypeIds &, QmlPrivate::Func, const char *, const char *, const char *, const QMetaObject *, QmlAttachedPropertiesFunc, const QMetaObject *, int pStatus, int object, QmlPrivate::CreateFunc extFunc, const QMetaObject *extmo, QmlCustomParser *);
static int registerInterface(const QmlPrivate::MetaTypeIds &, QmlPrivate::Func, const char *);
static bool copy(int type, void *data, const void *copy = 0);
@@ -163,7 +163,7 @@ int qmlRegisterType(const char *typeName)
qRegisterMetaType<T *>(QByteArray("QmlList<" + name + "*>*").constData())
};
- return QmlMetaType::registerType(ids, QmlPrivate::list_nocreate_op<T>, 0,
+ return QmlMetaType::registerType(ids, QmlPrivate::list_nocreate_op<T>, 0, 0, 0,
&T::staticMetaObject,
QmlPrivate::attachedPropertiesFunc<T>(),
QmlPrivate::attachedPropertiesMetaObject<T>(),
@@ -173,7 +173,7 @@ int qmlRegisterType(const char *typeName)
}
template<typename T>
-int qmlRegisterType(const char *qmlName, const char *typeName)
+int qmlRegisterType(const char *uri, const char *version, const char *qmlName, const char *typeName)
{
QByteArray name(typeName);
QmlPrivate::MetaTypeIds ids = {
@@ -182,7 +182,7 @@ int qmlRegisterType(const char *qmlName, const char *typeName)
qRegisterMetaType<T *>(QByteArray("QmlList<" + name + "*>*").constData())
};
- return QmlMetaType::registerType(ids, QmlPrivate::list_op<T>, qmlName,
+ return QmlMetaType::registerType(ids, QmlPrivate::list_op<T>, uri, version, qmlName,
&T::staticMetaObject,
QmlPrivate::attachedPropertiesFunc<T>(),
QmlPrivate::attachedPropertiesMetaObject<T>(),
@@ -210,7 +210,7 @@ int qmlRegisterExtendedType(const char *typeName)
attachedMo = QmlPrivate::attachedPropertiesMetaObject<T>();
}
- return QmlMetaType::registerType(ids, QmlPrivate::list_nocreate_op<T>, 0,
+ return QmlMetaType::registerType(ids, QmlPrivate::list_nocreate_op<T>, 0, 0, 0,
&T::staticMetaObject, attached, attachedMo,
QmlPrivate::StaticCastSelector<T,QmlParserStatus>::cast(),
QmlPrivate::StaticCastSelector<T,QObject>::cast(),
@@ -218,7 +218,7 @@ int qmlRegisterExtendedType(const char *typeName)
}
template<typename T, typename E>
-int qmlRegisterExtendedType(const char *qmlName, const char *typeName)
+int qmlRegisterExtendedType(const char *uri, const char *version, const char *qmlName, const char *typeName)
{
QByteArray name(typeName);
QmlPrivate::MetaTypeIds ids = {
@@ -237,7 +237,7 @@ int qmlRegisterExtendedType(const char *qmlName, const char *typeName)
}
return QmlMetaType::registerType(ids, QmlPrivate::list_op<T>,
- qmlName,
+ uri, version, qmlName,
&T::staticMetaObject,
attached, attachedMo,
QmlPrivate::StaticCastSelector<T,QmlParserStatus>::cast(),
@@ -262,7 +262,7 @@ int qmlRegisterInterface(const char *typeName)
}
template<typename T>
-int qmlRegisterCustomType(const char *qmlName, const char *typeName, QmlCustomParser *parser)
+int qmlRegisterCustomType(const char *uri, const char *version, const char *qmlName, const char *typeName, QmlCustomParser *parser)
{
QByteArray name(typeName);
QmlPrivate::MetaTypeIds ids = {
@@ -271,7 +271,7 @@ int qmlRegisterCustomType(const char *qmlName, const char *typeName, QmlCustomPa
qRegisterMetaType<T *>(QByteArray("QmlList<" + name + "*>*").constData())
};
- return QmlMetaType::registerType(ids, QmlPrivate::list_op<T>, qmlName,
+ return QmlMetaType::registerType(ids, QmlPrivate::list_op<T>, uri, version, qmlName,
&T::staticMetaObject,
QmlPrivate::attachedPropertiesFunc<T>(),
QmlPrivate::attachedPropertiesMetaObject<T>(),