diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2010-06-16 07:25:13 (GMT) |
---|---|---|
committer | Aaron Kennedy <aaron.kennedy@nokia.com> | 2010-06-16 07:25:13 (GMT) |
commit | 1937adaab5861ced44813c6a4b0bff1c3750ecd3 (patch) | |
tree | e30aa1bec8dace42b5c70ec3d21fc1725886c98f /src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp | |
parent | bb8142436bacf5a4fa31880b58a8b3b6bc7b4d5b (diff) | |
download | Qt-1937adaab5861ced44813c6a4b0bff1c3750ecd3.zip Qt-1937adaab5861ced44813c6a4b0bff1c3750ecd3.tar.gz Qt-1937adaab5861ced44813c6a4b0bff1c3750ecd3.tar.bz2 |
Move knowledge of QGraphicsObject out of qml engine
Diffstat (limited to 'src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp')
-rw-r--r-- | src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp b/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp index 0be8dac..b198077 100644 --- a/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp +++ b/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp @@ -79,8 +79,24 @@ #endif #include "private/qdeclarativeanchors_p.h" +static QDeclarativePrivate::AutoParentResult qgraphicsobject_autoParent(QObject *obj, QObject *parent) +{ + QGraphicsObject* gobj = qobject_cast<QGraphicsObject*>(obj); + if (!gobj) + return QDeclarativePrivate::IncompatibleObject; + + QGraphicsObject* gparent = qobject_cast<QGraphicsObject*>(parent); + if (!gparent) + return QDeclarativePrivate::IncompatibleParent; + + gobj->setParentItem(gparent); + return QDeclarativePrivate::Parented; +} + void QDeclarativeItemModule::defineModule() { + QDeclarativePrivate::registerAutoParentFunction(qgraphicsobject_autoParent); + #ifdef QT_NO_MOVIE qmlRegisterTypeNotAvailable("Qt",4,7,"AnimatedImage", qApp->translate("QDeclarativeAnimatedImage","Qt was built without support for QMovie")); |