|
|
/****************************************************************************
|
|
|
**
|
|
|
** 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 <QAbstractItemModel>
|
|
|
#include <QtDeclarative/qdeclarativeextensionplugin.h>
|
|
|
#include <QtDeclarative/qdeclarative.h>
|
|
|
|
|
|
QTCOMMERCIALCHART_USE_NAMESPACE
|
|
|
|
|
|
Q_DECLARE_METATYPE(QList<QPieSlice *>)
|
|
|
Q_DECLARE_METATYPE(QList<QBarSet *>)
|
|
|
Q_DECLARE_METATYPE(QList<QAbstractAxis *>)
|
|
|
|
|
|
#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<QList<QPieSlice *> >();
|
|
|
qRegisterMetaType<QList<QBarSet *> >();
|
|
|
qRegisterMetaType<QList<QAbstractAxis *> >();
|
|
|
#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
|
|
|
qRegisterMetaType<DeclarativeChart::SeriesType>();
|
|
|
#endif
|
|
|
|
|
|
// QtCommercial.Chart 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."));
|
|
|
|
|
|
// QtCommercial.Chart 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."));
|
|
|
|
|
|
// QtCommercial.Chart 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");
|
|
|
}
|
|
|
};
|
|
|
|
|
|
#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
|
|
|
|