##// END OF EJS Templates
QML sample improvement....
QML sample improvement. Change-Id: I3bd708bc8ed65a3ca11ccf28274ed81c007decd0 Reviewed-by: Mika Salmela <mika.salmela@digia.com>

File last commit:

r2486:221296b3ca87
r2532:0fd351ebdc9b
Show More
plugin.cpp
233 lines | 11.1 KiB | text/x-c | CppLexer
Jani Honkonen
Add/modify license headers
r830 /****************************************************************************
**
Miikka Heikkinen
More copyright year changes
r2433 ** Copyright (C) 2013 Digia Plc
Jani Honkonen
Add/modify license headers
r830 ** 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$
**
****************************************************************************/
Tero Ahola
QML api to use chart theme enum of QChart
r836 #include "qchart.h"
Michal Klocek
Refactors QAxis to QAbstractAxis...
r1541 #include "qabstractaxis.h"
Marek Rosa
renamed QValueAxis related files
r1805 #include "qvalueaxis.h"
Tero Ahola
Added CategoryAxis and CategoryRange to QML API
r1870 #include "declarativecategoryaxis.h"
Marek Rosa
renamed QBarCategoryAxis related files
r1810 #include "qbarcategoryaxis.h"
Jani Honkonen
First draft of project structure
r1 #include "declarativechart.h"
Tero Ahola
d
r722 #include "declarativexypoint.h"
Tero Ahola
Dynamic data for QML pie and line series
r215 #include "declarativelineseries.h"
Tero Ahola
Spline to QML API
r732 #include "declarativesplineseries.h"
Tero Ahola
Added area series to QML api
r847 #include "declarativeareaseries.h"
Tero Ahola
Spline to QML API
r732 #include "declarativescatterseries.h"
Tero Ahola
Added QML api for bar series
r646 #include "declarativebarseries.h"
Mika Salmela
QML Plugins and sample for that...
r2481 #include "declarativeboxplotseries.h"
Tero Ahola
Dynamic data for QML pie and line series
r215 #include "declarativepieseries.h"
Tero Ahola
Added axisXTop and axisYRight properties to QML series APIs
r2296 #include "declarativeaxes.h"
Marek Rosa
removed many unnecessary includes from declarative files
r1669 #include "qvxymodelmapper.h"
#include "qhxymodelmapper.h"
#include "qhpiemodelmapper.h"
#include "qvpiemodelmapper.h"
#include "qhbarmodelmapper.h"
#include "qvbarmodelmapper.h"
Tero Ahola
Added ChartView.minimumMargins to QML properties
r1928 #include "declarativemargins.h"
Jani Honkonen
Adding metatype declarations in qml plugin for Qt5...
r2257 #include "qarealegendmarker.h"
#include "qbarlegendmarker.h"
#include "qpielegendmarker.h"
#include "qxylegendmarker.h"
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942 #ifndef QT_ON_ARM
Jani Honkonen
Fixing qml build for latest Qt5...
r2247 #include "qdatetimeaxis.h"
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942 #endif
Jani Honkonen
Fixing qml build for latest Qt5...
r2247 #include <QAbstractItemModel>
#include <QtDeclarative/qdeclarativeextensionplugin.h>
#include <QtDeclarative/qdeclarative.h>
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942
Tero Ahola
Fixed a build issue with metatype declaration in decl plugin
r2117 QTCOMMERCIALCHART_USE_NAMESPACE
Tero Ahola
List of slices and barsets as metatypes in decl plugin
r2116 Q_DECLARE_METATYPE(QList<QPieSlice *>)
Q_DECLARE_METATYPE(QList<QBarSet *>)
Tero Ahola
Added axisXTop and axisYRight properties to QML series APIs
r2296 Q_DECLARE_METATYPE(QList<QAbstractAxis *>)
Jani Honkonen
Adding metatype declarations in qml plugin for Qt5...
r2257
#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.
Tero Ahola
Fixed Qt5 specific issue with ChartView.createSeries series types
r2389 Q_DECLARE_METATYPE(DeclarativeChart *)
Jani Honkonen
Adding metatype declarations in qml plugin for Qt5...
r2257 Q_DECLARE_METATYPE(DeclarativeMargins *)
Q_DECLARE_METATYPE(DeclarativeAreaSeries *)
Q_DECLARE_METATYPE(DeclarativeBarSeries *)
Mika Salmela
QML Plugins and sample for that...
r2481 Q_DECLARE_METATYPE(DeclarativeBoxPlotSeries *)
Jani Honkonen
Adding metatype declarations in qml plugin for Qt5...
r2257 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 *)
Jani Honkonen
Fix issue with qmloscilloscope in Qt5
r2250 Q_DECLARE_METATYPE(QAbstractSeries *)
Jani Honkonen
Adding metatype declarations in qml plugin for Qt5...
r2257 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
Jani Honkonen
First draft of project structure
r1
Tero Ahola
Fixed a build issue with metatype declaration in decl plugin
r2117 QTCOMMERCIALCHART_BEGIN_NAMESPACE
Tero Ahola
Proof-of-concept for QML api...
r120 class ChartQmlPlugin : public QDeclarativeExtensionPlugin
Jani Honkonen
First draft of project structure
r1 {
Q_OBJECT
Marek Rosa
Qt5: declarative fix part1...
r2052
Jani Honkonen
Fixing qml build for latest Qt5...
r2247 #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface")
Marek Rosa
Qt5: declarative fix part1...
r2052 #endif
Jani Honkonen
coding style fixes for plugins
r2101 public:
Jani Honkonen
First draft of project structure
r1 virtual void registerTypes(const char *uri)
{
Tero Ahola
Proof-of-concept for QML api...
r120 Q_ASSERT(QLatin1String(uri) == QLatin1String("QtCommercial.Chart"));
Tero Ahola
Dynamic data for QML pie and line series
r215
Tero Ahola
List of slices and barsets as metatypes in decl plugin
r2116 qRegisterMetaType<QList<QPieSlice *> >();
qRegisterMetaType<QList<QBarSet *> >();
Tero Ahola
Added axisXTop and axisYRight properties to QML series APIs
r2296 qRegisterMetaType<QList<QAbstractAxis *> >();
Tero Ahola
List of slices and barsets as metatypes in decl plugin
r2116
Tero Ahola
QML API versioning to QtCommercial.Chart 1.1
r1857 // QtCommercial.Chart 1.0
Tero Ahola
Draft version for QML PieSeries model API
r1130 qmlRegisterType<DeclarativeChart>(uri, 1, 0, "ChartView");
Tero Ahola
Renamed XyPoint to XYPoint
r1532 qmlRegisterType<DeclarativeXYPoint>(uri, 1, 0, "XYPoint");
Tero Ahola
Proposal for QML data API
r196 qmlRegisterType<DeclarativeScatterSeries>(uri, 1, 0, "ScatterSeries");
Tero Ahola
Dynamic data for QML pie and line series
r215 qmlRegisterType<DeclarativeLineSeries>(uri, 1, 0, "LineSeries");
Tero Ahola
Spline to QML API
r732 qmlRegisterType<DeclarativeSplineSeries>(uri, 1, 0, "SplineSeries");
Tero Ahola
Added area series to QML api
r847 qmlRegisterType<DeclarativeAreaSeries>(uri, 1, 0, "AreaSeries");
sauimone
GroupedBarSeries to BarSeries
r1594 qmlRegisterType<DeclarativeBarSeries>(uri, 1, 0, "BarSeries");
Tero Ahola
Added stacked and percent bar series to QML api
r1318 qmlRegisterType<DeclarativeStackedBarSeries>(uri, 1, 0, "StackedBarSeries");
qmlRegisterType<DeclarativePercentBarSeries>(uri, 1, 0, "PercentBarSeries");
Mika Salmela
QML Plugins and sample for that...
r2481 qmlRegisterType<DeclarativeBoxPlotSeries>(uri, 1, 0, "BoxPlotSeries");
Tero Ahola
Dynamic data for QML pie and line series
r215 qmlRegisterType<DeclarativePieSeries>(uri, 1, 0, "PieSeries");
Tero Ahola
Removed DeclarativePieSlice; properties in QPieSlice now
r1329 qmlRegisterType<QPieSlice>(uri, 1, 0, "PieSlice");
Tero Ahola
QML demo with dynamic data
r1240 qmlRegisterType<DeclarativeBarSet>(uri, 1, 0, "BarSet");
Tero Ahola
XY model mappers to QML api
r1278 qmlRegisterType<QHXYModelMapper>(uri, 1, 0, "HXYModelMapper");
qmlRegisterType<QVXYModelMapper>(uri, 1, 0, "VXYModelMapper");
qmlRegisterType<QHPieModelMapper>(uri, 1, 0, "HPieModelMapper");
qmlRegisterType<QVPieModelMapper>(uri, 1, 0, "VPieModelMapper");
Tero Ahola
Bar model mapper to Qml custom model demo
r1313 qmlRegisterType<QHBarModelMapper>(uri, 1, 0, "HBarModelMapper");
qmlRegisterType<QVBarModelMapper>(uri, 1, 0, "VBarModelMapper");
Tero Ahola
QML API versioning to QtCommercial.Chart 1.1
r1857 qmlRegisterType<QValueAxis>(uri, 1, 0, "ValuesAxis");
Marek Rosa
QBarCategoriesAxis renamed to QBarCategoryAxis
r1808 qmlRegisterType<QBarCategoryAxis>(uri, 1, 0, "BarCategoriesAxis");
Tero Ahola
Qml ChartView properties; legend to use Qt alignments
r1357 qmlRegisterUncreatableType<QLegend>(uri, 1, 0, "Legend",
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942 QLatin1String("Trying to create uncreatable: Legend."));
Tero Ahola
Documenting xy-series
r1491 qmlRegisterUncreatableType<QXYSeries>(uri, 1, 0, "XYSeries",
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942 QLatin1String("Trying to create uncreatable: XYSeries."));
Tero Ahola
Added new model mappers for pie to QML api
r1249 qmlRegisterUncreatableType<QAbstractItemModel>(uri, 1, 0, "AbstractItemModel",
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942 QLatin1String("Trying to create uncreatable: AbstractItemModel."));
Tero Ahola
XY model mappers to QML api
r1278 qmlRegisterUncreatableType<QXYModelMapper>(uri, 1, 0, "XYModelMapper",
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942 QLatin1String("Trying to create uncreatable: XYModelMapper."));
Tero Ahola
Added new model mappers for pie to QML api
r1249 qmlRegisterUncreatableType<QPieModelMapper>(uri, 1, 0, "PieModelMapper",
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942 QLatin1String("Trying to create uncreatable: PieModelMapper."));
Tero Ahola
Bar model mapper to Qml custom model demo
r1313 qmlRegisterUncreatableType<QBarModelMapper>(uri, 1, 0, "BarModelMapper",
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942 QLatin1String("Trying to create uncreatable: BarModelMapper."));
Tero Ahola
QML demo with dynamic data
r1240 qmlRegisterUncreatableType<QAbstractSeries>(uri, 1, 0, "AbstractSeries",
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942 QLatin1String("Trying to create uncreatable: AbstractSeries."));
Michal Klocek
Adds axis to qml...
r1604 qmlRegisterUncreatableType<QAbstractBarSeries>(uri, 1, 0, "AbstractBarSeries",
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942 QLatin1String("Trying to create uncreatable: AbstractBarSeries."));
Tero Ahola
Added value and category axis to QML api
r1550 qmlRegisterUncreatableType<QAbstractAxis>(uri, 1, 0, "AbstractAxis",
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942 QLatin1String("Trying to create uncreatable: AbstractAxis. Use specific types of axis instead."));
Tero Ahola
Fixed QML BarSet::remove
r1908 qmlRegisterUncreatableType<QBarSet>(uri, 1, 0, "BarSetBase",
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942 QLatin1String("Trying to create uncreatable: BarsetBase."));
Tero Ahola
Bugfix: Define pie model mapper outside series scope
r1926 qmlRegisterUncreatableType<QPieSeries>(uri, 1, 0, "QPieSeries",
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942 QLatin1String("Trying to create uncreatable: QPieSeries. Use PieSeries instead."));
Tero Ahola
Added axisXTop and axisYRight properties to QML series APIs
r2296 qmlRegisterUncreatableType<DeclarativeAxes>(uri, 1, 0, "DeclarativeAxes",
QLatin1String("Trying to create uncreatable: DeclarativeAxes."));
Tero Ahola
QML API versioning to QtCommercial.Chart 1.1
r1857
// QtCommercial.Chart 1.1
Tero Ahola
Added ChartView.minimumMargins to QML properties
r1928 qmlRegisterType<DeclarativeChart, 1>(uri, 1, 1, "ChartView");
Tero Ahola
QML API versioning to QtCommercial.Chart 1.1
r1857 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");
Mika Salmela
QML Plugins and sample for that...
r2481 qmlRegisterType<DeclarativeBoxPlotSeries, 1>(uri, 1, 1, "BoxPlotSeries");
Tero Ahola
QML API versioning to QtCommercial.Chart 1.1
r1857 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");
Mika Salmela
Created own boxset class...
r2486 qmlRegisterType<DeclarativeBoxSet>(uri, 1, 1, "BoxSet");
Tero Ahola
Added missing count property to QBarCategoryAxis
r2249 qmlRegisterType<QValueAxis>(uri, 1, 1, "ValueAxis");
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942 #ifndef QT_ON_ARM
Tero Ahola
Added CategoryAxis and CategoryRange to QML API
r1870 qmlRegisterType<QDateTimeAxis>(uri, 1, 1, "DateTimeAxis");
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942 #endif
Tero Ahola
Added CategoryAxis and CategoryRange to QML API
r1870 qmlRegisterType<DeclarativeCategoryAxis>(uri, 1, 1, "CategoryAxis");
qmlRegisterType<DeclarativeCategoryRange>(uri, 1, 1, "CategoryRange");
Tero Ahola
QML API versioning to QtCommercial.Chart 1.1
r1857 qmlRegisterType<QBarCategoryAxis>(uri, 1, 1, "BarCategoryAxis");
Tero Ahola
Added ChartView.minimumMargins to QML properties
r1928 qmlRegisterUncreatableType<DeclarativeMargins>(uri, 1, 1, "Margins",
Marek Rosa
QDateTimeAxis: qml on arm not registering the type anymore
r1942 QLatin1String("Trying to create uncreatable: Margins."));
Michal Klocek
Rename minimumMargins to margins in QML plugin version 1.2
r2090
// QtCommercial.Chart 1.2
qmlRegisterType<DeclarativeChart, 2>(uri, 1, 2, "ChartView");
Tero Ahola
Added axisXTop and axisYRight properties to QML series APIs
r2296 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");
Mika Salmela
QML Plugins and sample for that...
r2481 qmlRegisterType<DeclarativeBoxPlotSeries, 2>(uri, 1, 2, "BoxPlotSeries");
Tero Ahola
Added axisXTop and axisYRight properties to QML series APIs
r2296 qmlRegisterType<DeclarativeHorizontalBarSeries, 2>(uri, 1, 2, "HorizontalBarSeries");
qmlRegisterType<DeclarativeHorizontalStackedBarSeries, 2>(uri, 1, 2, "HorizontalStackedBarSeries");
qmlRegisterType<DeclarativeHorizontalPercentBarSeries, 2>(uri, 1, 2, "HorizontalPercentBarSeries");
Jani Honkonen
First draft of project structure
r1 }
};
#include "plugin.moc"
Tero Ahola
Proof-of-concept for QML api...
r120 QTCOMMERCIALCHART_END_NAMESPACE
QTCOMMERCIALCHART_USE_NAMESPACE
Jani Honkonen
Fixing qml build for latest Qt5...
r2247 #if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
Marek Rosa
Qt5: declarative fix part1...
r2052 Q_EXPORT_PLUGIN2(qtcommercialchartqml, QT_PREPEND_NAMESPACE(ChartQmlPlugin))
#endif