diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-04-18 13:30:07 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2013-04-23 09:24:32 +0300 |
commit | 5862599d088d072b4ac89ed556a645680f786d80 (patch) | |
tree | 838db883bea99b520ae90c634746f9f942fb6832 /plugins/declarative/declarativechart.h | |
parent | b0caebd0eeccca1b5e901faa6e5df1a1f6301312 (diff) |
Generate charts plugin for QtQuick2 as well as QtQuick1
Added quick2 versions of a couple of demos, too.
Task-number: QTRD-1922
Change-Id: Ie3e2c1c40c38e06fc6d3afe27289eccc2f997f67
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
Diffstat (limited to 'plugins/declarative/declarativechart.h')
-rw-r--r-- | plugins/declarative/declarativechart.h | 38 |
1 files changed, 29 insertions, 9 deletions
diff --git a/plugins/declarative/declarativechart.h b/plugins/declarative/declarativechart.h index cc6295e7..c02434e4 100644 --- a/plugins/declarative/declarativechart.h +++ b/plugins/declarative/declarativechart.h @@ -22,7 +22,15 @@ #define DECLARATIVECHART_H #include <QtCore/QtGlobal> +#include "shared_defines.h" + +#ifdef CHARTS_FOR_QUICK2 +#include <QtQuick/QQuickItem> +#include <QtQuick/QQuickPaintedItem> +#include <QtWidgets/QGraphicsScene> +#else #include <QtDeclarative/QDeclarativeItem> +#endif #include "qchart.h" @@ -32,7 +40,7 @@ class DeclarativeMargins; class Domain; class DeclarativeAxes; -class DeclarativeChart : public QDeclarativeItem +class DeclarativeChart : public QDECLARATIVE_PAINTED_ITEM { Q_OBJECT Q_PROPERTY(Theme theme READ theme WRITE setTheme) @@ -51,7 +59,11 @@ class DeclarativeChart : public QDeclarativeItem Q_PROPERTY(DeclarativeMargins *minimumMargins READ minimumMargins NOTIFY minimumMarginsChanged REVISION 1) Q_PROPERTY(DeclarativeMargins *margins READ margins NOTIFY marginsChanged REVISION 2) Q_PROPERTY(QRectF plotArea READ plotArea NOTIFY plotAreaChanged REVISION 1) +#ifdef CHARTS_FOR_QUICK2 + Q_PROPERTY(QQmlListProperty<QAbstractAxis> axes READ axes REVISION 2) +#else Q_PROPERTY(QDeclarativeListProperty<QAbstractAxis> axes READ axes REVISION 2) +#endif Q_ENUMS(Animation) Q_ENUMS(Theme) Q_ENUMS(SeriesType) @@ -90,13 +102,18 @@ public: }; public: - DeclarativeChart(QDeclarativeItem *parent = 0); + DeclarativeChart(QDECLARATIVE_ITEM *parent = 0); ~DeclarativeChart(); -public: // From QDeclarativeItem/QGraphicsItem +public: // From parent classes void childEvent(QChildEvent *event); void componentComplete(); void geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry); +#ifdef CHARTS_FOR_QUICK2 + void paint(QPainter *painter); +private Q_SLOTS: + void handleAntialiasingChanged(bool enable); +#endif public: void setTheme(DeclarativeChart::Theme theme); @@ -129,10 +146,11 @@ public: QAbstractAxis *defaultAxis(Qt::Orientation orientation, QAbstractSeries *series); void initializeAxes(QAbstractSeries *series); void doInitializeAxes(QAbstractSeries *series, DeclarativeAxes *axes); - QDeclarativeListProperty<QAbstractAxis> axes(); - static void axesAppendFunc(QDeclarativeListProperty<QAbstractAxis> *list, QAbstractAxis *element); - static int axesCountFunc(QDeclarativeListProperty<QAbstractAxis> *list); - static QAbstractAxis *axesAtFunc(QDeclarativeListProperty<QAbstractAxis> *list, int index); + QDECLARATIVE_LIST_PROPERTY<QAbstractAxis> axes(); + static void axesAppendFunc(QDECLARATIVE_LIST_PROPERTY<QAbstractAxis> *list, QAbstractAxis *element); + static int axesCountFunc(QDECLARATIVE_LIST_PROPERTY<QAbstractAxis> *list); + static QAbstractAxis *axesAtFunc(QDECLARATIVE_LIST_PROPERTY<QAbstractAxis> *list, int index); + static void axesClearFunc(QDECLARATIVE_LIST_PROPERTY<QAbstractAxis> *list); public: Q_INVOKABLE QAbstractSeries *series(int index); @@ -171,14 +189,16 @@ private Q_SLOTS: void handleSeriesAdded(QAbstractSeries *series); protected: - explicit DeclarativeChart(QChart::ChartType type, QDeclarativeItem *parent); + explicit DeclarativeChart(QChart::ChartType type, QDECLARATIVE_ITEM *parent); private: void initChart(QChart::ChartType type); // Extending QChart with DeclarativeChart is not possible because QObject does not support // multi inheritance, so we now have a QChart as a member instead QChart *m_chart; - //QMargins m_chartMargins; +#ifdef CHARTS_FOR_QUICK2 + QGraphicsScene *m_scene; +#endif DeclarativeMargins *m_margins; }; |