summaryrefslogtreecommitdiffstats
path: root/src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2010-06-16 07:25:13 (GMT)
committerAaron Kennedy <aaron.kennedy@nokia.com>2010-06-16 07:25:13 (GMT)
commit1937adaab5861ced44813c6a4b0bff1c3750ecd3 (patch)
treee30aa1bec8dace42b5c70ec3d21fc1725886c98f /src/declarative/graphicsitems/qdeclarativeitemsmodule.cpp
parentbb8142436bacf5a4fa31880b58a8b3b6bc7b4d5b (diff)
downloadQt-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.cpp16
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"));