summaryrefslogtreecommitdiffstats
path: root/plugins/declarative/declarativechart.h
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@digia.com>2013-04-18 13:30:07 +0300
committerMiikka Heikkinen <miikka.heikkinen@digia.com>2013-04-23 09:24:32 +0300
commit5862599d088d072b4ac89ed556a645680f786d80 (patch)
tree838db883bea99b520ae90c634746f9f942fb6832 /plugins/declarative/declarativechart.h
parentb0caebd0eeccca1b5e901faa6e5df1a1f6301312 (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.h38
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;
};