/**************************************************************************** ** ** Copyright (C) 2012 Digia Plc ** All rights reserved. ** For any questions to Digia, please use contact form at http://qt.digia.com ** ** This file is part of the Qt Commercial Charts Add-on. ** ** $QT_BEGIN_LICENSE$ ** Licensees holding valid Qt Commercial licenses may use this file in ** accordance with the Qt Commercial License Agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and Digia. ** ** If you have questions regarding the use of this file, please use ** contact form at http://qt.digia.com ** $QT_END_LICENSE$ ** ****************************************************************************/ #include "qchart.h" #include "qabstractaxis.h" #include "qvalueaxis.h" #include "declarativecategoryaxis.h" #include "qbarcategoryaxis.h" #include "declarativechart.h" #include "declarativexypoint.h" #include "declarativelineseries.h" #include "declarativesplineseries.h" #include "declarativeareaseries.h" #include "declarativescatterseries.h" #include "declarativebarseries.h" #include "declarativepieseries.h" #include "declarativeaxes.h" #include "qvxymodelmapper.h" #include "qhxymodelmapper.h" #include "qhpiemodelmapper.h" #include "qvpiemodelmapper.h" #include "qhbarmodelmapper.h" #include "qvbarmodelmapper.h" #include "declarativemargins.h" #include "qarealegendmarker.h" #include "qbarlegendmarker.h" #include "qpielegendmarker.h" #include "qxylegendmarker.h" #ifndef QT_ON_ARM #include "qdatetimeaxis.h" #endif #include #include #include QTCOMMERCIALCHART_USE_NAMESPACE Q_DECLARE_METATYPE(QList) Q_DECLARE_METATYPE(QList) Q_DECLARE_METATYPE(QList) #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) // NOTE: Hackish fixes for Qt5 (beta2). // These should not be needed or at least they are not needed in Qt4. Q_DECLARE_METATYPE(DeclarativeChart::SeriesType) Q_DECLARE_METATYPE(DeclarativeMargins *) Q_DECLARE_METATYPE(DeclarativeAreaSeries *) Q_DECLARE_METATYPE(DeclarativeBarSeries *) Q_DECLARE_METATYPE(DeclarativeLineSeries *) Q_DECLARE_METATYPE(DeclarativePieSeries *) Q_DECLARE_METATYPE(DeclarativeScatterSeries *) Q_DECLARE_METATYPE(DeclarativeSplineSeries *) Q_DECLARE_METATYPE(QAbstractAxis *) Q_DECLARE_METATYPE(QValueAxis *) Q_DECLARE_METATYPE(QBarCategoryAxis *) Q_DECLARE_METATYPE(QCategoryAxis *) Q_DECLARE_METATYPE(QDateTimeAxis *) Q_DECLARE_METATYPE(QLegend *) Q_DECLARE_METATYPE(QLegendMarker *) Q_DECLARE_METATYPE(QAreaLegendMarker *) Q_DECLARE_METATYPE(QBarLegendMarker *) Q_DECLARE_METATYPE(QPieLegendMarker *) Q_DECLARE_METATYPE(QHPieModelMapper *) Q_DECLARE_METATYPE(QHXYModelMapper *) Q_DECLARE_METATYPE(QPieModelMapper *) Q_DECLARE_METATYPE(QHBarModelMapper *) Q_DECLARE_METATYPE(QBarModelMapper *) Q_DECLARE_METATYPE(QVBarModelMapper *) Q_DECLARE_METATYPE(QVPieModelMapper *) Q_DECLARE_METATYPE(QVXYModelMapper *) Q_DECLARE_METATYPE(QXYLegendMarker *) Q_DECLARE_METATYPE(QXYModelMapper *) Q_DECLARE_METATYPE(QAbstractSeries *) Q_DECLARE_METATYPE(QXYSeries *) Q_DECLARE_METATYPE(QAbstractBarSeries *) Q_DECLARE_METATYPE(QBarSeries *) Q_DECLARE_METATYPE(QBarSet *) Q_DECLARE_METATYPE(QAreaSeries *) Q_DECLARE_METATYPE(QHorizontalBarSeries *) Q_DECLARE_METATYPE(QHorizontalPercentBarSeries *) Q_DECLARE_METATYPE(QHorizontalStackedBarSeries *) Q_DECLARE_METATYPE(QLineSeries *) Q_DECLARE_METATYPE(QPercentBarSeries *) Q_DECLARE_METATYPE(QPieSeries *) Q_DECLARE_METATYPE(QPieSlice *) Q_DECLARE_METATYPE(QScatterSeries *) Q_DECLARE_METATYPE(QSplineSeries *) Q_DECLARE_METATYPE(QStackedBarSeries *) #endif QTCOMMERCIALCHART_BEGIN_NAMESPACE class ChartQmlPlugin : public QDeclarativeExtensionPlugin { Q_OBJECT #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface") #endif public: virtual void registerTypes(const char *uri) { Q_ASSERT(QLatin1String(uri) == QLatin1String("QtCommercial.Chart")); qRegisterMetaType >(); qRegisterMetaType >(); qRegisterMetaType >(); #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) qRegisterMetaType(); #endif // QtCommercial.Chart 1.0 qmlRegisterType(uri, 1, 0, "ChartView"); qmlRegisterType(uri, 1, 0, "XYPoint"); qmlRegisterType(uri, 1, 0, "ScatterSeries"); qmlRegisterType(uri, 1, 0, "LineSeries"); qmlRegisterType(uri, 1, 0, "SplineSeries"); qmlRegisterType(uri, 1, 0, "AreaSeries"); qmlRegisterType(uri, 1, 0, "BarSeries"); qmlRegisterType(uri, 1, 0, "StackedBarSeries"); qmlRegisterType(uri, 1, 0, "PercentBarSeries"); qmlRegisterType(uri, 1, 0, "PieSeries"); qmlRegisterType(uri, 1, 0, "PieSlice"); qmlRegisterType(uri, 1, 0, "BarSet"); qmlRegisterType(uri, 1, 0, "HXYModelMapper"); qmlRegisterType(uri, 1, 0, "VXYModelMapper"); qmlRegisterType(uri, 1, 0, "HPieModelMapper"); qmlRegisterType(uri, 1, 0, "VPieModelMapper"); qmlRegisterType(uri, 1, 0, "HBarModelMapper"); qmlRegisterType(uri, 1, 0, "VBarModelMapper"); qmlRegisterType(uri, 1, 0, "ValuesAxis"); qmlRegisterType(uri, 1, 0, "BarCategoriesAxis"); qmlRegisterUncreatableType(uri, 1, 0, "Legend", QLatin1String("Trying to create uncreatable: Legend.")); qmlRegisterUncreatableType(uri, 1, 0, "XYSeries", QLatin1String("Trying to create uncreatable: XYSeries.")); qmlRegisterUncreatableType(uri, 1, 0, "AbstractItemModel", QLatin1String("Trying to create uncreatable: AbstractItemModel.")); qmlRegisterUncreatableType(uri, 1, 0, "XYModelMapper", QLatin1String("Trying to create uncreatable: XYModelMapper.")); qmlRegisterUncreatableType(uri, 1, 0, "PieModelMapper", QLatin1String("Trying to create uncreatable: PieModelMapper.")); qmlRegisterUncreatableType(uri, 1, 0, "BarModelMapper", QLatin1String("Trying to create uncreatable: BarModelMapper.")); qmlRegisterUncreatableType(uri, 1, 0, "AbstractSeries", QLatin1String("Trying to create uncreatable: AbstractSeries.")); qmlRegisterUncreatableType(uri, 1, 0, "AbstractBarSeries", QLatin1String("Trying to create uncreatable: AbstractBarSeries.")); qmlRegisterUncreatableType(uri, 1, 0, "AbstractAxis", QLatin1String("Trying to create uncreatable: AbstractAxis. Use specific types of axis instead.")); qmlRegisterUncreatableType(uri, 1, 0, "BarSetBase", QLatin1String("Trying to create uncreatable: BarsetBase.")); qmlRegisterUncreatableType(uri, 1, 0, "QPieSeries", QLatin1String("Trying to create uncreatable: QPieSeries. Use PieSeries instead.")); qmlRegisterUncreatableType(uri, 1, 0, "DeclarativeAxes", QLatin1String("Trying to create uncreatable: DeclarativeAxes.")); // QtCommercial.Chart 1.1 qmlRegisterType(uri, 1, 1, "ChartView"); qmlRegisterType(uri, 1, 1, "ScatterSeries"); qmlRegisterType(uri, 1, 1, "LineSeries"); qmlRegisterType(uri, 1, 1, "SplineSeries"); qmlRegisterType(uri, 1, 1, "AreaSeries"); qmlRegisterType(uri, 1, 1, "BarSeries"); qmlRegisterType(uri, 1, 1, "StackedBarSeries"); qmlRegisterType(uri, 1, 1, "PercentBarSeries"); qmlRegisterType(uri, 1, 1, "HorizontalBarSeries"); qmlRegisterType(uri, 1, 1, "HorizontalStackedBarSeries"); qmlRegisterType(uri, 1, 1, "HorizontalPercentBarSeries"); qmlRegisterType(uri, 1, 1, "PieSeries"); qmlRegisterType(uri, 1, 1, "BarSet"); qmlRegisterType(uri, 1, 1, "ValueAxis"); #ifndef QT_ON_ARM qmlRegisterType(uri, 1, 1, "DateTimeAxis"); #endif qmlRegisterType(uri, 1, 1, "CategoryAxis"); qmlRegisterType(uri, 1, 1, "CategoryRange"); qmlRegisterType(uri, 1, 1, "BarCategoryAxis"); qmlRegisterUncreatableType(uri, 1, 1, "Margins", QLatin1String("Trying to create uncreatable: Margins.")); // QtCommercial.Chart 1.2 qmlRegisterType(uri, 1, 2, "ChartView"); qmlRegisterType(uri, 1, 2, "ScatterSeries"); qmlRegisterType(uri, 1, 2, "LineSeries"); qmlRegisterType(uri, 1, 2, "SplineSeries"); qmlRegisterType(uri, 1, 2, "AreaSeries"); qmlRegisterType(uri, 1, 2, "BarSeries"); qmlRegisterType(uri, 1, 2, "StackedBarSeries"); qmlRegisterType(uri, 1, 2, "PercentBarSeries"); qmlRegisterType(uri, 1, 2, "HorizontalBarSeries"); qmlRegisterType(uri, 1, 2, "HorizontalStackedBarSeries"); qmlRegisterType(uri, 1, 2, "HorizontalPercentBarSeries"); } }; #include "plugin.moc" QTCOMMERCIALCHART_END_NAMESPACE QTCOMMERCIALCHART_USE_NAMESPACE #if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0)) Q_EXPORT_PLUGIN2(qtcommercialchartqml, QT_PREPEND_NAMESPACE(ChartQmlPlugin)) #endif