diff options
Diffstat (limited to 'src/chartsqml2/chartsqml2_plugin.cpp')
-rw-r--r-- | src/chartsqml2/chartsqml2_plugin.cpp | 312 |
1 files changed, 312 insertions, 0 deletions
diff --git a/src/chartsqml2/chartsqml2_plugin.cpp b/src/chartsqml2/chartsqml2_plugin.cpp new file mode 100644 index 00000000..477f088c --- /dev/null +++ b/src/chartsqml2/chartsqml2_plugin.cpp @@ -0,0 +1,312 @@ +/**************************************************************************** +** +** Copyright (C) 2014 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 Enterprise Charts Add-on. +** +** $QT_BEGIN_LICENSE$ +** Licensees holding valid Qt Enterprise licenses may use this file in +** accordance with the Qt Enterprise 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 "qlogvalueaxis.h" +#include "declarativecategoryaxis.h" +#include "qbarcategoryaxis.h" +#include "declarativechart.h" +#include "declarativepolarchart.h" +#include "declarativexypoint.h" +#include "declarativelineseries.h" +#include "declarativesplineseries.h" +#include "declarativeareaseries.h" +#include "declarativescatterseries.h" +#include "declarativebarseries.h" +#include "declarativeboxplotseries.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" +#include "qboxplotmodelmapper.h" +#include "qvboxplotmodelmapper.h" +#ifndef QT_ON_ARM + #include "qdatetimeaxis.h" +#endif +#include <QAbstractItemModel> +#include <QtQml> + +QT_CHARTS_USE_NAMESPACE + +QML_DECLARE_TYPE(QList<QPieSlice *>) +QML_DECLARE_TYPE(QList<QBarSet *>) +QML_DECLARE_TYPE(QList<QAbstractAxis *>) + +QML_DECLARE_TYPE(DeclarativeChart) +QML_DECLARE_TYPE(DeclarativePolarChart) +QML_DECLARE_TYPE(DeclarativeMargins) +QML_DECLARE_TYPE(DeclarativeAreaSeries) +QML_DECLARE_TYPE(DeclarativeBarSeries) +QML_DECLARE_TYPE(DeclarativeBarSet) +QML_DECLARE_TYPE(DeclarativeBoxPlotSeries) +QML_DECLARE_TYPE(DeclarativeBoxSet) +QML_DECLARE_TYPE(DeclarativeLineSeries) +QML_DECLARE_TYPE(DeclarativePieSeries) +QML_DECLARE_TYPE(DeclarativePieSlice) +QML_DECLARE_TYPE(DeclarativeScatterSeries) +QML_DECLARE_TYPE(DeclarativeSplineSeries) + +QML_DECLARE_TYPE(QAbstractAxis) +QML_DECLARE_TYPE(QValueAxis) +QML_DECLARE_TYPE(QBarCategoryAxis) +QML_DECLARE_TYPE(QCategoryAxis) +QML_DECLARE_TYPE(QDateTimeAxis) +QML_DECLARE_TYPE(QLogValueAxis) + +QML_DECLARE_TYPE(QLegend) +QML_DECLARE_TYPE(QLegendMarker) +QML_DECLARE_TYPE(QAreaLegendMarker) +QML_DECLARE_TYPE(QBarLegendMarker) +QML_DECLARE_TYPE(QPieLegendMarker) + +QML_DECLARE_TYPE(QHPieModelMapper) +QML_DECLARE_TYPE(QHXYModelMapper) +QML_DECLARE_TYPE(QPieModelMapper) +QML_DECLARE_TYPE(QHBarModelMapper) +QML_DECLARE_TYPE(QBarModelMapper) +QML_DECLARE_TYPE(QVBarModelMapper) +QML_DECLARE_TYPE(QVPieModelMapper) +QML_DECLARE_TYPE(QVXYModelMapper) +QML_DECLARE_TYPE(QXYLegendMarker) +QML_DECLARE_TYPE(QXYModelMapper) +QML_DECLARE_TYPE(QBoxPlotModelMapper) +QML_DECLARE_TYPE(QVBoxPlotModelMapper) + +QML_DECLARE_TYPE(QAbstractSeries) +QML_DECLARE_TYPE(QXYSeries) +QML_DECLARE_TYPE(QAbstractBarSeries) +QML_DECLARE_TYPE(QBarSeries) +QML_DECLARE_TYPE(QBarSet) +QML_DECLARE_TYPE(QAreaSeries) +QML_DECLARE_TYPE(QHorizontalBarSeries) +QML_DECLARE_TYPE(QHorizontalPercentBarSeries) +QML_DECLARE_TYPE(QHorizontalStackedBarSeries) +QML_DECLARE_TYPE(QLineSeries) +QML_DECLARE_TYPE(QPercentBarSeries) +QML_DECLARE_TYPE(QPieSeries) +QML_DECLARE_TYPE(QPieSlice) +QML_DECLARE_TYPE(QScatterSeries) +QML_DECLARE_TYPE(QSplineSeries) +QML_DECLARE_TYPE(QStackedBarSeries) + +QT_CHARTS_BEGIN_NAMESPACE + +class QtChartsQml2Plugin : public QQmlExtensionPlugin +{ + Q_OBJECT + + Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface") + +public: + virtual void registerTypes(const char *uri) + { + Q_ASSERT(QLatin1String(uri) == QLatin1String("QtCharts")); + + // @uri QtCharts + + qRegisterMetaType<QList<QPieSlice *> >(); + qRegisterMetaType<QList<QBarSet *> >(); + qRegisterMetaType<QList<QAbstractAxis *> >(); + + // QtCharts 1.0 + qmlRegisterType<DeclarativeChart>(uri, 1, 0, "ChartView"); + qmlRegisterType<DeclarativeXYPoint>(uri, 1, 0, "XYPoint"); + qmlRegisterType<DeclarativeScatterSeries>(uri, 1, 0, "ScatterSeries"); + qmlRegisterType<DeclarativeLineSeries>(uri, 1, 0, "LineSeries"); + qmlRegisterType<DeclarativeSplineSeries>(uri, 1, 0, "SplineSeries"); + qmlRegisterType<DeclarativeAreaSeries>(uri, 1, 0, "AreaSeries"); + qmlRegisterType<DeclarativeBarSeries>(uri, 1, 0, "BarSeries"); + qmlRegisterType<DeclarativeStackedBarSeries>(uri, 1, 0, "StackedBarSeries"); + qmlRegisterType<DeclarativePercentBarSeries>(uri, 1, 0, "PercentBarSeries"); + qmlRegisterType<DeclarativePieSeries>(uri, 1, 0, "PieSeries"); + qmlRegisterType<QPieSlice>(uri, 1, 0, "PieSlice"); + qmlRegisterType<DeclarativeBarSet>(uri, 1, 0, "BarSet"); + qmlRegisterType<QHXYModelMapper>(uri, 1, 0, "HXYModelMapper"); + qmlRegisterType<QVXYModelMapper>(uri, 1, 0, "VXYModelMapper"); + qmlRegisterType<QHPieModelMapper>(uri, 1, 0, "HPieModelMapper"); + qmlRegisterType<QVPieModelMapper>(uri, 1, 0, "VPieModelMapper"); + qmlRegisterType<QHBarModelMapper>(uri, 1, 0, "HBarModelMapper"); + qmlRegisterType<QVBarModelMapper>(uri, 1, 0, "VBarModelMapper"); + + qmlRegisterType<QValueAxis>(uri, 1, 0, "ValuesAxis"); + qmlRegisterType<QBarCategoryAxis>(uri, 1, 0, "BarCategoriesAxis"); + qmlRegisterUncreatableType<QLegend>(uri, 1, 0, "Legend", + QLatin1String("Trying to create uncreatable: Legend.")); + qmlRegisterUncreatableType<QXYSeries>(uri, 1, 0, "XYSeries", + QLatin1String("Trying to create uncreatable: XYSeries.")); + qmlRegisterUncreatableType<QAbstractItemModel>(uri, 1, 0, "AbstractItemModel", + QLatin1String("Trying to create uncreatable: AbstractItemModel.")); + qmlRegisterUncreatableType<QXYModelMapper>(uri, 1, 0, "XYModelMapper", + QLatin1String("Trying to create uncreatable: XYModelMapper.")); + qmlRegisterUncreatableType<QPieModelMapper>(uri, 1, 0, "PieModelMapper", + QLatin1String("Trying to create uncreatable: PieModelMapper.")); + qmlRegisterUncreatableType<QBarModelMapper>(uri, 1, 0, "BarModelMapper", + QLatin1String("Trying to create uncreatable: BarModelMapper.")); + qmlRegisterUncreatableType<QAbstractSeries>(uri, 1, 0, "AbstractSeries", + QLatin1String("Trying to create uncreatable: AbstractSeries.")); + qmlRegisterUncreatableType<QAbstractBarSeries>(uri, 1, 0, "AbstractBarSeries", + QLatin1String("Trying to create uncreatable: AbstractBarSeries.")); + qmlRegisterUncreatableType<QAbstractAxis>(uri, 1, 0, "AbstractAxis", + QLatin1String("Trying to create uncreatable: AbstractAxis. Use specific types of axis instead.")); + qmlRegisterUncreatableType<QBarSet>(uri, 1, 0, "BarSetBase", + QLatin1String("Trying to create uncreatable: BarsetBase.")); + qmlRegisterUncreatableType<QPieSeries>(uri, 1, 0, "QPieSeries", + QLatin1String("Trying to create uncreatable: QPieSeries. Use PieSeries instead.")); + qmlRegisterUncreatableType<DeclarativeAxes>(uri, 1, 0, "DeclarativeAxes", + QLatin1String("Trying to create uncreatable: DeclarativeAxes.")); + + // QtCharts 1.1 + qmlRegisterType<DeclarativeChart, 1>(uri, 1, 1, "ChartView"); + qmlRegisterType<DeclarativeScatterSeries, 1>(uri, 1, 1, "ScatterSeries"); + qmlRegisterType<DeclarativeLineSeries, 1>(uri, 1, 1, "LineSeries"); + qmlRegisterType<DeclarativeSplineSeries, 1>(uri, 1, 1, "SplineSeries"); + qmlRegisterType<DeclarativeAreaSeries, 1>(uri, 1, 1, "AreaSeries"); + qmlRegisterType<DeclarativeBarSeries, 1>(uri, 1, 1, "BarSeries"); + qmlRegisterType<DeclarativeStackedBarSeries, 1>(uri, 1, 1, "StackedBarSeries"); + qmlRegisterType<DeclarativePercentBarSeries, 1>(uri, 1, 1, "PercentBarSeries"); + qmlRegisterType<DeclarativeHorizontalBarSeries, 1>(uri, 1, 1, "HorizontalBarSeries"); + qmlRegisterType<DeclarativeHorizontalStackedBarSeries, 1>(uri, 1, 1, "HorizontalStackedBarSeries"); + qmlRegisterType<DeclarativeHorizontalPercentBarSeries, 1>(uri, 1, 1, "HorizontalPercentBarSeries"); + qmlRegisterType<DeclarativePieSeries>(uri, 1, 1, "PieSeries"); + qmlRegisterType<DeclarativeBarSet>(uri, 1, 1, "BarSet"); + qmlRegisterType<QValueAxis>(uri, 1, 1, "ValueAxis"); +#ifndef QT_ON_ARM + qmlRegisterType<QDateTimeAxis>(uri, 1, 1, "DateTimeAxis"); +#endif + qmlRegisterType<DeclarativeCategoryAxis>(uri, 1, 1, "CategoryAxis"); + qmlRegisterType<DeclarativeCategoryRange>(uri, 1, 1, "CategoryRange"); + qmlRegisterType<QBarCategoryAxis>(uri, 1, 1, "BarCategoryAxis"); + qmlRegisterUncreatableType<DeclarativeMargins>(uri, 1, 1, "Margins", + QLatin1String("Trying to create uncreatable: Margins.")); + + // QtCharts 1.2 + qmlRegisterType<DeclarativeChart, 2>(uri, 1, 2, "ChartView"); + qmlRegisterType<DeclarativeScatterSeries, 2>(uri, 1, 2, "ScatterSeries"); + qmlRegisterType<DeclarativeLineSeries, 2>(uri, 1, 2, "LineSeries"); + qmlRegisterType<DeclarativeSplineSeries, 2>(uri, 1, 2, "SplineSeries"); + qmlRegisterType<DeclarativeAreaSeries, 2>(uri, 1, 2, "AreaSeries"); + qmlRegisterType<DeclarativeBarSeries, 2>(uri, 1, 2, "BarSeries"); + qmlRegisterType<DeclarativeStackedBarSeries, 2>(uri, 1, 2, "StackedBarSeries"); + qmlRegisterType<DeclarativePercentBarSeries, 2>(uri, 1, 2, "PercentBarSeries"); + qmlRegisterType<DeclarativeHorizontalBarSeries, 2>(uri, 1, 2, "HorizontalBarSeries"); + qmlRegisterType<DeclarativeHorizontalStackedBarSeries, 2>(uri, 1, 2, "HorizontalStackedBarSeries"); + qmlRegisterType<DeclarativeHorizontalPercentBarSeries, 2>(uri, 1, 2, "HorizontalPercentBarSeries"); + + // QtCharts 1.3 + qmlRegisterType<DeclarativeChart, 3>(uri, 1, 3, "ChartView"); + qmlRegisterType<DeclarativePolarChart, 1>(uri, 1, 3, "PolarChartView"); + qmlRegisterType<DeclarativeSplineSeries, 3>(uri, 1, 3, "SplineSeries"); + qmlRegisterType<DeclarativeScatterSeries, 3>(uri, 1, 3, "ScatterSeries"); + qmlRegisterType<DeclarativeLineSeries, 3>(uri, 1, 3, "LineSeries"); + qmlRegisterType<DeclarativeAreaSeries, 3>(uri, 1, 3, "AreaSeries"); + qmlRegisterType<QLogValueAxis>(uri, 1, 3, "LogValueAxis"); + qmlRegisterType<DeclarativeBoxPlotSeries>(uri, 1, 3, "BoxPlotSeries"); + qmlRegisterType<DeclarativeBoxSet>(uri, 1, 3, "BoxSet"); + + // QtCharts 1.4 + qmlRegisterType<DeclarativeAreaSeries, 4>(uri, 1, 4, "AreaSeries"); + qmlRegisterType<DeclarativeBarSet, 2>(uri, 1, 4, "BarSet"); + qmlRegisterType<DeclarativeBoxPlotSeries, 1>(uri, 1, 4, "BoxPlotSeries"); + qmlRegisterType<DeclarativeBoxSet, 1>(uri, 1, 4, "BoxSet"); + qmlRegisterType<DeclarativePieSlice>(uri, 1, 4, "PieSlice"); + qmlRegisterType<DeclarativeScatterSeries, 4>(uri, 1, 4, "ScatterSeries"); + + // QtCharts 2.0 + qmlRegisterType<QVBoxPlotModelMapper>(uri, 2, 0, "VBoxPlotModelMapper"); + qmlRegisterUncreatableType<QBoxPlotModelMapper>(uri, 2, 0, "BoxPlotModelMapper", + QLatin1String("Trying to create uncreatable: BoxPlotModelMapper.")); + qmlRegisterType<DeclarativeChart, 4>(uri, 2, 0, "ChartView"); + qmlRegisterType<DeclarativeXYPoint>(uri, 2, 0, "XYPoint"); + qmlRegisterType<DeclarativeScatterSeries, 4>(uri, 2, 0, "ScatterSeries"); + qmlRegisterType<DeclarativeLineSeries, 3>(uri, 2, 0, "LineSeries"); + qmlRegisterType<DeclarativeSplineSeries, 3>(uri, 2, 0, "SplineSeries"); + qmlRegisterType<DeclarativeAreaSeries, 4>(uri, 2, 0, "AreaSeries"); + qmlRegisterType<DeclarativeBarSeries, 2>(uri, 2, 0, "BarSeries"); + qmlRegisterType<DeclarativeStackedBarSeries, 2>(uri, 2, 0, "StackedBarSeries"); + qmlRegisterType<DeclarativePercentBarSeries, 2>(uri, 2, 0, "PercentBarSeries"); + qmlRegisterType<DeclarativePieSeries>(uri, 2, 0, "PieSeries"); + qmlRegisterType<QPieSlice>(uri, 2, 0, "PieSlice"); + qmlRegisterType<DeclarativeBarSet, 2>(uri, 2, 0, "BarSet"); + qmlRegisterType<QHXYModelMapper>(uri, 2, 0, "HXYModelMapper"); + qmlRegisterType<QVXYModelMapper>(uri, 2, 0, "VXYModelMapper"); + qmlRegisterType<QHPieModelMapper>(uri, 2, 0, "HPieModelMapper"); + qmlRegisterType<QVPieModelMapper>(uri, 2, 0, "VPieModelMapper"); + qmlRegisterType<QHBarModelMapper>(uri, 2, 0, "HBarModelMapper"); + qmlRegisterType<QVBarModelMapper>(uri, 2, 0, "VBarModelMapper"); + qmlRegisterType<QValueAxis>(uri, 2, 0, "ValueAxis"); +#ifndef QT_ON_ARM + qmlRegisterType<QDateTimeAxis>(uri, 2, 0, "DateTimeAxis"); +#endif + qmlRegisterType<DeclarativeCategoryAxis>(uri, 2, 0, "CategoryAxis"); + qmlRegisterType<DeclarativeCategoryRange>(uri, 2, 0, "CategoryRange"); + qmlRegisterType<QBarCategoryAxis>(uri, 2, 0, "BarCategoryAxis"); + qmlRegisterType<DeclarativePolarChart, 1>(uri, 2, 0, "PolarChartView"); + qmlRegisterType<QLogValueAxis, 1>(uri, 2, 0, "LogValueAxis"); + qmlRegisterType<DeclarativeBoxPlotSeries, 1>(uri, 2, 0, "BoxPlotSeries"); + qmlRegisterType<DeclarativeBoxSet, 1>(uri, 2, 0, "BoxSet"); + qmlRegisterType<DeclarativeHorizontalBarSeries, 2>(uri, 2, 0, "HorizontalBarSeries"); + qmlRegisterType<DeclarativeHorizontalStackedBarSeries, 2>(uri, 2, 0, "HorizontalStackedBarSeries"); + qmlRegisterType<DeclarativeHorizontalPercentBarSeries, 2>(uri, 2, 0, "HorizontalPercentBarSeries"); + qmlRegisterType<DeclarativePieSlice>(uri, 2, 0, "PieSlice"); + qmlRegisterUncreatableType<QLegend>(uri, 2, 0, "Legend", + QLatin1String("Trying to create uncreatable: Legend.")); + qmlRegisterUncreatableType<QXYSeries>(uri, 2, 0, "XYSeries", + QLatin1String("Trying to create uncreatable: XYSeries.")); + qmlRegisterUncreatableType<QAbstractItemModel>(uri, 2, 0, "AbstractItemModel", + QLatin1String("Trying to create uncreatable: AbstractItemModel.")); + qmlRegisterUncreatableType<QXYModelMapper>(uri, 2, 0, "XYModelMapper", + QLatin1String("Trying to create uncreatable: XYModelMapper.")); + qmlRegisterUncreatableType<QPieModelMapper>(uri, 2, 0, "PieModelMapper", + QLatin1String("Trying to create uncreatable: PieModelMapper.")); + qmlRegisterUncreatableType<QBarModelMapper>(uri, 2, 0, "BarModelMapper", + QLatin1String("Trying to create uncreatable: BarModelMapper.")); + qmlRegisterUncreatableType<QAbstractSeries>(uri, 2, 0, "AbstractSeries", + QLatin1String("Trying to create uncreatable: AbstractSeries.")); + qmlRegisterUncreatableType<QAbstractBarSeries>(uri, 2, 0, "AbstractBarSeries", + QLatin1String("Trying to create uncreatable: AbstractBarSeries.")); + qmlRegisterUncreatableType<QAbstractAxis>(uri, 2, 0, "AbstractAxis", + QLatin1String("Trying to create uncreatable: AbstractAxis. Use specific types of axis instead.")); + qmlRegisterUncreatableType<QBarSet>(uri, 2, 0, "BarSetBase", + QLatin1String("Trying to create uncreatable: BarsetBase.")); + qmlRegisterUncreatableType<QPieSeries>(uri, 2, 0, "QPieSeries", + QLatin1String("Trying to create uncreatable: QPieSeries. Use PieSeries instead.")); + qmlRegisterUncreatableType<DeclarativeAxes>(uri, 2, 0, "DeclarativeAxes", + QLatin1String("Trying to create uncreatable: DeclarativeAxes.")); + qmlRegisterUncreatableType<DeclarativeMargins>(uri, 2, 0, "Margins", + QLatin1String("Trying to create uncreatable: Margins.")); + } +}; + +QT_CHARTS_END_NAMESPACE + +#include "chartsqml2_plugin.moc" + +QT_CHARTS_USE_NAMESPACE |