/**************************************************************************** ** ** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the QtDeclarative module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:LGPL$ ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and Digia. For licensing terms and ** conditions see http://qt.digia.com/licensing. For further information ** use the contact form at http://qt.digia.com/contact-us. ** ** GNU Lesser General Public License Usage ** Alternatively, this file may be used under the terms of the GNU Lesser ** General Public License version 2.1 as published by the Free Software ** Foundation and appearing in the file LICENSE.LGPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU Lesser General Public License version 2.1 requirements ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. ** ** In addition, as a special exception, Digia gives you certain additional ** rights. These rights are described in the Digia Qt LGPL Exception ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. ** ** GNU General Public License Usage ** Alternatively, this file may be used under the terms of the GNU ** General Public License version 3.0 as published by the Free Software ** Foundation and appearing in the file LICENSE.GPL included in the ** packaging of this file. Please review the following information to ** ensure the GNU General Public License version 3.0 requirements will be ** met: http://www.gnu.org/copyleft/gpl.html. ** ** ** $QT_END_LICENSE$ ** ****************************************************************************/ #include "private/qdeclarativeitemsmodule_p.h" #include #include #include #include "private/qdeclarativeevents_p_p.h" #include "private/qdeclarativescalegrid_p_p.h" #include "private/qdeclarativeanimatedimage_p.h" #include "private/qdeclarativeborderimage_p.h" #include "private/qdeclarativepositioners_p.h" #include "private/qdeclarativemousearea_p.h" #include "private/qdeclarativeflickable_p.h" #include "private/qdeclarativeflickable_p_p.h" #include "private/qdeclarativeflipable_p.h" #include "private/qdeclarativefocuspanel_p.h" #include "private/qdeclarativefocusscope_p.h" #include "private/qdeclarativegridview_p.h" #include "private/qdeclarativeimage_p.h" #include "private/qdeclarativeitem_p.h" #include "private/qdeclarativelayoutitem_p.h" #include "private/qdeclarativelistview_p.h" #include "private/qdeclarativeloader_p.h" #include "private/qdeclarativemousearea_p.h" #include "private/qdeclarativepath_p.h" #include "private/qdeclarativepathview_p.h" #include "private/qdeclarativerectangle_p.h" #include "private/qdeclarativerepeater_p.h" #include "private/qdeclarativetranslate_p.h" #include "private/qdeclarativetext_p.h" #include "private/qdeclarativetextedit_p.h" #include "private/qdeclarativetextinput_p.h" #include "private/qdeclarativevisualitemmodel_p.h" #include "private/qdeclarativegraphicswidget_p.h" #ifdef QT_WEBKIT_LIB #include "private/qdeclarativewebview_p.h" #include "private/qdeclarativewebview_p_p.h" #endif #include "private/qdeclarativeanchors_p.h" #include "private/qdeclarativepincharea_p.h" static QDeclarativePrivate::AutoParentResult qgraphicsobject_autoParent(QObject *obj, QObject *parent) { QGraphicsObject* gobj = qobject_cast(obj); if (!gobj) return QDeclarativePrivate::IncompatibleObject; QGraphicsObject* gparent = qobject_cast(parent); if (!gparent) return QDeclarativePrivate::IncompatibleParent; gobj->setParentItem(gparent); return QDeclarativePrivate::Parented; } void QDeclarativeItemModule::defineModule() { if (!qobject_cast(QCoreApplication::instance())) return; QDeclarativePrivate::RegisterAutoParent autoparent = { 0, &qgraphicsobject_autoParent }; QDeclarativePrivate::qmlregister(QDeclarativePrivate::AutoParentRegistration, &autoparent); #ifdef QT_NO_MOVIE qmlRegisterTypeNotAvailable("QtQuick",1,0,"AnimatedImage", qApp->translate("QDeclarativeAnimatedImage","Qt was built without support for QMovie")); #else qmlRegisterType("QtQuick",1,0,"AnimatedImage"); #endif qmlRegisterType("QtQuick",1,0,"BorderImage"); qmlRegisterType("QtQuick",1,0,"Column"); qmlRegisterType("QtQuick",1,0,"Drag"); qmlRegisterType("QtQuick",1,0,"Flickable"); qmlRegisterType("QtQuick",1,0,"Flipable"); qmlRegisterType("QtQuick",1,0,"Flow"); qmlRegisterType("QtQuick",1,0,"FocusPanel"); qmlRegisterType("QtQuick",1,0,"FocusScope"); qmlRegisterType("QtQuick",1,0,"Gradient"); qmlRegisterType("QtQuick",1,0,"GradientStop"); qmlRegisterType("QtQuick",1,0,"Grid"); qmlRegisterType("QtQuick",1,0,"GridView"); qmlRegisterType("QtQuick",1,0,"Image"); qmlRegisterType("QtQuick",1,0,"Item"); qmlRegisterType("QtQuick",1,0,"LayoutItem"); qmlRegisterType("QtQuick",1,0,"ListView"); qmlRegisterType("QtQuick",1,0,"Loader"); qmlRegisterType("QtQuick",1,0,"MouseArea"); qmlRegisterType("QtQuick",1,0,"Path"); qmlRegisterType("QtQuick",1,0,"PathAttribute"); qmlRegisterType("QtQuick",1,0,"PathCubic"); qmlRegisterType("QtQuick",1,0,"PathLine"); qmlRegisterType("QtQuick",1,0,"PathPercent"); qmlRegisterType("QtQuick",1,0,"PathQuad"); qmlRegisterType("QtQuick",1,0,"PathView"); #ifndef QT_NO_VALIDATOR qmlRegisterType("QtQuick",1,0,"IntValidator"); qmlRegisterType("QtQuick",1,0,"DoubleValidator"); qmlRegisterType("QtQuick",1,0,"RegExpValidator"); #endif qmlRegisterType("QtQuick",1,0,"Rectangle"); qmlRegisterType("QtQuick",1,0,"Repeater"); qmlRegisterType("QtQuick",1,0,"Rotation"); qmlRegisterType("QtQuick",1,0,"Row"); qmlRegisterType("QtQuick",1,0,"Translate"); qmlRegisterType("QtQuick",1,0,"Scale"); qmlRegisterType("QtQuick",1,0,"Text"); qmlRegisterType("QtQuick",1,0,"TextEdit"); #ifndef QT_NO_LINEEDIT qmlRegisterType("QtQuick",1,0,"TextInput"); #endif qmlRegisterType("QtQuick",1,0,"ViewSection"); qmlRegisterType("QtQuick",1,0,"VisualDataModel"); qmlRegisterType("QtQuick",1,0,"VisualItemModel"); qmlRegisterType(); qmlRegisterType(); qmlRegisterType(); qmlRegisterType(); qmlRegisterType("QtQuick",1,0,"QGraphicsWidget"); qmlRegisterExtendedType("QtQuick",1,0,"QGraphicsWidget"); qmlRegisterType(); qmlRegisterType(); qmlRegisterType(); qmlRegisterType(); #ifndef QT_NO_VALIDATOR qmlRegisterType(); #endif qmlRegisterType(); #ifndef QT_NO_ACTION qmlRegisterType(); #endif qmlRegisterType(); qmlRegisterType(); #ifndef QT_NO_GRAPHICSEFFECT qmlRegisterType(); #endif qmlRegisterUncreatableType("QtQuick",1,0,"KeyNavigation",QDeclarativeKeyNavigationAttached::tr("KeyNavigation is only available via attached properties")); qmlRegisterUncreatableType("QtQuick",1,0,"Keys",QDeclarativeKeysAttached::tr("Keys is only available via attached properties")); // QtQuick 1.1 items qmlRegisterType("QtQuick",1,1,"PinchArea"); qmlRegisterType("QtQuick",1,1,"Pinch"); qmlRegisterType(); qmlRegisterType("QtQuick",1,1,"Item"); qmlRegisterType("QtQuick",1,1,"MouseArea"); qmlRegisterType("QtQuick",1,1,"Flickable"); qmlRegisterType("QtQuick",1,1,"ListView"); qmlRegisterType("QtQuick",1,1,"GridView"); qmlRegisterType("QtQuick",1,1,"Row"); qmlRegisterType("QtQuick",1,1,"Grid"); qmlRegisterType("QtQuick",1,1,"Flow"); qmlRegisterType("QtQuick",1,1,"Repeater"); qmlRegisterType("QtQuick",1,1,"Text"); qmlRegisterType("QtQuick",1,1,"TextEdit"); #ifndef QT_NO_LINEEDIT qmlRegisterType("QtQuick",1,1,"TextInput"); #endif qmlRegisterRevision("QtQuick",1,1); qmlRegisterRevision("QtQuick",1,0); qmlRegisterRevision("QtQuick",1,1); qmlRegisterRevision("QtQuick",1,0); qmlRegisterRevision("QtQuick",1,1); qmlRegisterUncreatableType("QtQuick",1,1,"LayoutMirroring", QDeclarativeLayoutMirroringAttached::tr("LayoutMirroring is only available via attached properties")); } void QDeclarativeItemModule::defineModuleCompat() { if (!qobject_cast(QCoreApplication::instance())) return; #ifdef QT_NO_MOVIE qmlRegisterTypeNotAvailable("Qt",4,7,"AnimatedImage", qApp->translate("QDeclarativeAnimatedImage","Qt was built without support for QMovie")); #else qmlRegisterType("Qt",4,7,"AnimatedImage"); #endif qmlRegisterType("Qt",4,7,"BorderImage"); qmlRegisterType("Qt",4,7,"Column"); qmlRegisterType("Qt",4,7,"Drag"); qmlRegisterType("Qt",4,7,"Flickable"); qmlRegisterType("Qt",4,7,"Flipable"); qmlRegisterType("Qt",4,7,"Flow"); qmlRegisterType("Qt",4,7,"FocusPanel"); qmlRegisterType("Qt",4,7,"FocusScope"); qmlRegisterType("Qt",4,7,"Gradient"); qmlRegisterType("Qt",4,7,"GradientStop"); qmlRegisterType("Qt",4,7,"Grid"); qmlRegisterType("Qt",4,7,"GridView"); qmlRegisterType("Qt",4,7,"Image"); qmlRegisterType("Qt",4,7,"Item"); qmlRegisterType("Qt",4,7,"LayoutItem"); qmlRegisterType("Qt",4,7,"ListView"); qmlRegisterType("Qt",4,7,"Loader"); qmlRegisterType("Qt",4,7,"MouseArea"); qmlRegisterType("Qt",4,7,"Path"); qmlRegisterType("Qt",4,7,"PathAttribute"); qmlRegisterType("Qt",4,7,"PathCubic"); qmlRegisterType("Qt",4,7,"PathLine"); qmlRegisterType("Qt",4,7,"PathPercent"); qmlRegisterType("Qt",4,7,"PathQuad"); qmlRegisterType("Qt",4,7,"PathView"); #ifndef QT_NO_VALIDATOR qmlRegisterType("Qt",4,7,"IntValidator"); qmlRegisterType("Qt",4,7,"DoubleValidator"); qmlRegisterType("Qt",4,7,"RegExpValidator"); #endif qmlRegisterType("Qt",4,7,"Rectangle"); qmlRegisterType("Qt",4,7,"Repeater"); qmlRegisterType("Qt",4,7,"Rotation"); qmlRegisterType("Qt",4,7,"Row"); qmlRegisterType("Qt",4,7,"Translate"); qmlRegisterType("Qt",4,7,"Scale"); qmlRegisterType("Qt",4,7,"Text"); qmlRegisterType("Qt",4,7,"TextEdit"); #ifndef QT_NO_LINEEDIT qmlRegisterType("Qt",4,7,"TextInput"); #endif qmlRegisterType("Qt",4,7,"ViewSection"); qmlRegisterType("Qt",4,7,"VisualDataModel"); qmlRegisterType("Qt",4,7,"VisualItemModel"); qmlRegisterType("Qt",4,7,"QGraphicsWidget"); qmlRegisterExtendedType("Qt",4,7,"QGraphicsWidget"); qmlRegisterUncreatableType("Qt",4,7,"KeyNavigation",QDeclarativeKeyNavigationAttached::tr("KeyNavigation is only available via attached properties")); qmlRegisterUncreatableType("Qt",4,7,"Keys",QDeclarativeKeysAttached::tr("Keys is only available via attached properties")); }