summaryrefslogtreecommitdiffstats
path: root/plugins
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
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')
-rw-r--r--plugins/declarative/declarative.pri58
-rw-r--r--plugins/declarative/declarative.pro54
-rw-r--r--plugins/declarative/declarativebarseries.cpp48
-rw-r--r--plugins/declarative/declarativebarseries.h103
-rw-r--r--plugins/declarative/declarativecategoryaxis.cpp6
-rw-r--r--plugins/declarative/declarativecategoryaxis.h18
-rw-r--r--plugins/declarative/declarativechart.cpp63
-rw-r--r--plugins/declarative/declarativechart.h38
-rw-r--r--plugins/declarative/declarativelineseries.cpp6
-rw-r--r--plugins/declarative/declarativelineseries.h21
-rw-r--r--plugins/declarative/declarativepieseries.cpp8
-rw-r--r--plugins/declarative/declarativepieseries.h20
-rw-r--r--plugins/declarative/declarativepolarchart.cpp2
-rw-r--r--plugins/declarative/declarativepolarchart.h9
-rw-r--r--plugins/declarative/declarativescatterseries.cpp6
-rw-r--r--plugins/declarative/declarativescatterseries.h21
-rw-r--r--plugins/declarative/declarativesplineseries.cpp6
-rw-r--r--plugins/declarative/declarativesplineseries.h21
-rw-r--r--plugins/declarative/plugin.cpp14
-rw-r--r--plugins/declarative/shared_defines.h42
-rw-r--r--plugins/plugins.pro5
-rw-r--r--plugins/quick1/qmldir (renamed from plugins/declarative/qmldir)0
-rw-r--r--plugins/quick1/quick1.pro8
-rw-r--r--plugins/quick2/qmldir2
-rw-r--r--plugins/quick2/quick2.pro9
25 files changed, 428 insertions, 160 deletions
diff --git a/plugins/declarative/declarative.pri b/plugins/declarative/declarative.pri
new file mode 100644
index 00000000..305e6861
--- /dev/null
+++ b/plugins/declarative/declarative.pri
@@ -0,0 +1,58 @@
+!include( ../plugins.pri ) {
+ error( "Couldn't find the plugins.pri file!" )
+}
+
+contains(DEFINES, CHARTS_FOR_QUICK2) {
+ DESTDIR = $$CHART_BUILD_QML2_PLUGIN_DIR
+} else {
+ DESTDIR = $$CHART_BUILD_QML_PLUGIN_DIR
+}
+
+INCLUDEPATH += $$CHART_BUILD_PRIVATE_HEADER_DIR
+
+CONFIG(debug, debug|release) {
+ mac: TARGET = $$join(TARGET,,,_debug)
+ win32: TARGET = $$join(TARGET,,,d)
+}
+
+SOURCES += \
+ ../declarative/plugin.cpp \
+ ../declarative/declarativechart.cpp \
+ ../declarative/declarativexypoint.cpp \
+ ../declarative/declarativexyseries.cpp \
+ ../declarative/declarativelineseries.cpp \
+ ../declarative/declarativesplineseries.cpp \
+ ../declarative/declarativeareaseries.cpp \
+ ../declarative/declarativescatterseries.cpp \
+ ../declarative/declarativepieseries.cpp \
+ ../declarative/declarativebarseries.cpp \
+ ../declarative/declarativecategoryaxis.cpp \
+ ../declarative/declarativemargins.cpp \
+ ../declarative/declarativeaxes.cpp \
+ ../declarative/declarativepolarchart.cpp
+
+HEADERS += \
+ ../declarative/declarativechart.h \
+ ../declarative/declarativexypoint.h \
+ ../declarative/declarativexyseries.h \
+ ../declarative/declarativelineseries.h \
+ ../declarative/declarativesplineseries.h \
+ ../declarative/declarativeareaseries.h \
+ ../declarative/declarativescatterseries.h \
+ ../declarative/declarativepieseries.h \
+ ../declarative/declarativebarseries.h \
+ ../declarative/declarativecategoryaxis.h \
+ ../declarative/declarativemargins.h \
+ ../declarative/declarativeaxes.h \
+ ../declarative/declarativepolarchart.h \
+ ../declarative/shared_defines.h
+
+TARGETPATH = QtCommercial/Chart
+target.path = $$IMPORT_INSTALL_PATH/$$TARGETPATH
+qmldir.files += $$_PRO_FILE_PWD_/qmldir
+qmldir.path += $$IMPORT_INSTALL_PATH/$$TARGETPATH
+INSTALLS += target qmldir
+
+QMLDIR_FILE = $$_PRO_FILE_PWD_/qmldir
+win32:QMLDIR_FILE = $$replace(QMLDIR_FILE, "/","\\")
+QMAKE_POST_LINK += $$QMAKE_COPY $$QMLDIR_FILE $$DESTDIR
diff --git a/plugins/declarative/declarative.pro b/plugins/declarative/declarative.pro
deleted file mode 100644
index 12d48832..00000000
--- a/plugins/declarative/declarative.pro
+++ /dev/null
@@ -1,54 +0,0 @@
-!include( ../plugins.pri ) {
- error( "Couldn't find the plugins.pri file!" )
-}
-
-TARGET = qtcommercialchartqml
-QT += declarative
-DESTDIR = $$CHART_BUILD_QML_PLUGIN_DIR
-INCLUDEPATH += $$CHART_BUILD_PRIVATE_HEADER_DIR
-
-CONFIG(debug, debug|release) {
- mac: TARGET = $$join(TARGET,,,_debug)
- win32: TARGET = $$join(TARGET,,,d)
-}
-
-SOURCES += \
- plugin.cpp \
- declarativechart.cpp \
- declarativexypoint.cpp \
- declarativexyseries.cpp \
- declarativelineseries.cpp \
- declarativesplineseries.cpp \
- declarativeareaseries.cpp \
- declarativescatterseries.cpp \
- declarativepieseries.cpp \
- declarativebarseries.cpp \
- declarativecategoryaxis.cpp \
- declarativemargins.cpp \
- declarativeaxes.cpp \
- declarativepolarchart.cpp
-
-HEADERS += \
- declarativechart.h \
- declarativexypoint.h \
- declarativexyseries.h \
- declarativelineseries.h \
- declarativesplineseries.h \
- declarativeareaseries.h \
- declarativescatterseries.h \
- declarativepieseries.h \
- declarativebarseries.h \
- declarativecategoryaxis.h \
- declarativemargins.h \
- declarativeaxes.h \
- declarativepolarchart.h
-
-TARGETPATH = QtCommercial/Chart
-target.path = $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
-qmldir.files += $$PWD/qmldir
-qmldir.path += $$[QT_INSTALL_IMPORTS]/$$TARGETPATH
-INSTALLS += target qmldir
-
-FILE = $$PWD/qmldir
-win32:{FILE = $$replace(FILE, "/","\\")}
-QMAKE_POST_LINK += $$QMAKE_COPY $$FILE $$CHART_BUILD_QML_PLUGIN_DIR
diff --git a/plugins/declarative/declarativebarseries.cpp b/plugins/declarative/declarativebarseries.cpp
index 9133141a..2bff984b 100644
--- a/plugins/declarative/declarativebarseries.cpp
+++ b/plugins/declarative/declarativebarseries.cpp
@@ -74,7 +74,7 @@ void DeclarativeBarSet::setValues(QVariantList values)
}
// Declarative bar series ======================================================================================
-DeclarativeBarSeries::DeclarativeBarSeries(QDeclarativeItem *parent) :
+DeclarativeBarSeries::DeclarativeBarSeries(QDECLARATIVE_ITEM *parent) :
QBarSeries(parent),
m_axes(new DeclarativeAxes(this))
{
@@ -103,12 +103,12 @@ void DeclarativeBarSeries::componentComplete()
}
}
-QDeclarativeListProperty<QObject> DeclarativeBarSeries::seriesChildren()
+QDECLARATIVE_LIST_PROPERTY<QObject> DeclarativeBarSeries::seriesChildren()
{
- return QDeclarativeListProperty<QObject>(this, 0, &DeclarativeBarSeries::appendSeriesChildren);
+ return QDECLARATIVE_LIST_PROPERTY<QObject>(this, 0, &DeclarativeBarSeries::appendSeriesChildren LIST_PROPERTY_PARAM_DEFAULTS);
}
-void DeclarativeBarSeries::appendSeriesChildren(QDeclarativeListProperty<QObject> * list, QObject *element)
+void DeclarativeBarSeries::appendSeriesChildren(QDECLARATIVE_LIST_PROPERTY<QObject> *list, QObject *element)
{
// Empty implementation; the children are parsed in componentComplete instead
Q_UNUSED(list);
@@ -136,7 +136,7 @@ DeclarativeBarSet *DeclarativeBarSeries::insert(int index, QString label, QVaria
}
// Declarative stacked bar series ==============================================================================
-DeclarativeStackedBarSeries::DeclarativeStackedBarSeries(QDeclarativeItem *parent) :
+DeclarativeStackedBarSeries::DeclarativeStackedBarSeries(QDECLARATIVE_ITEM *parent) :
QStackedBarSeries(parent),
m_axes(0)
{
@@ -167,12 +167,12 @@ void DeclarativeStackedBarSeries::componentComplete()
}
-QDeclarativeListProperty<QObject> DeclarativeStackedBarSeries::seriesChildren()
+QDECLARATIVE_LIST_PROPERTY<QObject> DeclarativeStackedBarSeries::seriesChildren()
{
- return QDeclarativeListProperty<QObject>(this, 0, &DeclarativeBarSeries::appendSeriesChildren);
+ return QDECLARATIVE_LIST_PROPERTY<QObject>(this, 0, &DeclarativeBarSeries::appendSeriesChildren LIST_PROPERTY_PARAM_DEFAULTS);
}
-void DeclarativeStackedBarSeries::appendSeriesChildren(QDeclarativeListProperty<QObject> * list, QObject *element)
+void DeclarativeStackedBarSeries::appendSeriesChildren(QDECLARATIVE_LIST_PROPERTY<QObject> * list, QObject *element)
{
// Empty implementation; the children are parsed in componentComplete instead
Q_UNUSED(list);
@@ -200,7 +200,7 @@ DeclarativeBarSet *DeclarativeStackedBarSeries::insert(int index, QString label,
}
// Declarative percent bar series ==============================================================================
-DeclarativePercentBarSeries::DeclarativePercentBarSeries(QDeclarativeItem *parent) :
+DeclarativePercentBarSeries::DeclarativePercentBarSeries(QDECLARATIVE_ITEM *parent) :
QPercentBarSeries(parent),
m_axes(0)
{
@@ -230,12 +230,12 @@ void DeclarativePercentBarSeries::componentComplete()
}
}
-QDeclarativeListProperty<QObject> DeclarativePercentBarSeries::seriesChildren()
+QDECLARATIVE_LIST_PROPERTY<QObject> DeclarativePercentBarSeries::seriesChildren()
{
- return QDeclarativeListProperty<QObject>(this, 0, &DeclarativeBarSeries::appendSeriesChildren);
+ return QDECLARATIVE_LIST_PROPERTY<QObject>(this, 0, &DeclarativeBarSeries::appendSeriesChildren LIST_PROPERTY_PARAM_DEFAULTS);
}
-void DeclarativePercentBarSeries::appendSeriesChildren(QDeclarativeListProperty<QObject> * list, QObject *element)
+void DeclarativePercentBarSeries::appendSeriesChildren(QDECLARATIVE_LIST_PROPERTY<QObject> * list, QObject *element)
{
// Empty implementation; the children are parsed in componentComplete instead
Q_UNUSED(list);
@@ -263,7 +263,7 @@ DeclarativeBarSet *DeclarativePercentBarSeries::insert(int index, QString label,
}
// Declarative horizontal bar series ===========================================================================
-DeclarativeHorizontalBarSeries::DeclarativeHorizontalBarSeries(QDeclarativeItem *parent) :
+DeclarativeHorizontalBarSeries::DeclarativeHorizontalBarSeries(QDECLARATIVE_ITEM *parent) :
QHorizontalBarSeries(parent),
m_axes(0)
{
@@ -293,12 +293,12 @@ void DeclarativeHorizontalBarSeries::componentComplete()
}
}
-QDeclarativeListProperty<QObject> DeclarativeHorizontalBarSeries::seriesChildren()
+QDECLARATIVE_LIST_PROPERTY<QObject> DeclarativeHorizontalBarSeries::seriesChildren()
{
- return QDeclarativeListProperty<QObject>(this, 0, &DeclarativeHorizontalBarSeries::appendSeriesChildren);
+ return QDECLARATIVE_LIST_PROPERTY<QObject>(this, 0, &DeclarativeHorizontalBarSeries::appendSeriesChildren LIST_PROPERTY_PARAM_DEFAULTS);
}
-void DeclarativeHorizontalBarSeries::appendSeriesChildren(QDeclarativeListProperty<QObject> * list, QObject *element)
+void DeclarativeHorizontalBarSeries::appendSeriesChildren(QDECLARATIVE_LIST_PROPERTY<QObject> * list, QObject *element)
{
// Empty implementation; the children are parsed in componentComplete instead
Q_UNUSED(list);
@@ -326,7 +326,7 @@ DeclarativeBarSet *DeclarativeHorizontalBarSeries::insert(int index, QString lab
}
// Declarative horizontal stacked bar series ===================================================================
-DeclarativeHorizontalStackedBarSeries::DeclarativeHorizontalStackedBarSeries(QDeclarativeItem *parent) :
+DeclarativeHorizontalStackedBarSeries::DeclarativeHorizontalStackedBarSeries(QDECLARATIVE_ITEM *parent) :
QHorizontalStackedBarSeries(parent),
m_axes(0)
{
@@ -356,12 +356,12 @@ void DeclarativeHorizontalStackedBarSeries::componentComplete()
}
}
-QDeclarativeListProperty<QObject> DeclarativeHorizontalStackedBarSeries::seriesChildren()
+QDECLARATIVE_LIST_PROPERTY<QObject> DeclarativeHorizontalStackedBarSeries::seriesChildren()
{
- return QDeclarativeListProperty<QObject>(this, 0, &DeclarativeHorizontalStackedBarSeries::appendSeriesChildren);
+ return QDECLARATIVE_LIST_PROPERTY<QObject>(this, 0, &DeclarativeHorizontalStackedBarSeries::appendSeriesChildren LIST_PROPERTY_PARAM_DEFAULTS);
}
-void DeclarativeHorizontalStackedBarSeries::appendSeriesChildren(QDeclarativeListProperty<QObject> * list, QObject *element)
+void DeclarativeHorizontalStackedBarSeries::appendSeriesChildren(QDECLARATIVE_LIST_PROPERTY<QObject> * list, QObject *element)
{
// Empty implementation; the children are parsed in componentComplete instead
Q_UNUSED(list);
@@ -389,7 +389,7 @@ DeclarativeBarSet *DeclarativeHorizontalStackedBarSeries::insert(int index, QStr
}
// Declarative horizontal percent bar series ===================================================================
-DeclarativeHorizontalPercentBarSeries::DeclarativeHorizontalPercentBarSeries(QDeclarativeItem *parent) :
+DeclarativeHorizontalPercentBarSeries::DeclarativeHorizontalPercentBarSeries(QDECLARATIVE_ITEM *parent) :
QHorizontalPercentBarSeries(parent),
m_axes(0)
{
@@ -419,12 +419,12 @@ void DeclarativeHorizontalPercentBarSeries::componentComplete()
}
}
-QDeclarativeListProperty<QObject> DeclarativeHorizontalPercentBarSeries::seriesChildren()
+QDECLARATIVE_LIST_PROPERTY<QObject> DeclarativeHorizontalPercentBarSeries::seriesChildren()
{
- return QDeclarativeListProperty<QObject>(this, 0, &DeclarativeHorizontalPercentBarSeries::appendSeriesChildren);
+ return QDECLARATIVE_LIST_PROPERTY<QObject>(this, 0, &DeclarativeHorizontalPercentBarSeries::appendSeriesChildren LIST_PROPERTY_PARAM_DEFAULTS);
}
-void DeclarativeHorizontalPercentBarSeries::appendSeriesChildren(QDeclarativeListProperty<QObject> * list, QObject *element)
+void DeclarativeHorizontalPercentBarSeries::appendSeriesChildren(QDECLARATIVE_LIST_PROPERTY<QObject> * list, QObject *element)
{
// Empty implementation; the children are parsed in componentComplete instead
Q_UNUSED(list);
diff --git a/plugins/declarative/declarativebarseries.h b/plugins/declarative/declarativebarseries.h
index 8e63fcbb..7d8f99cf 100644
--- a/plugins/declarative/declarativebarseries.h
+++ b/plugins/declarative/declarativebarseries.h
@@ -29,8 +29,15 @@
#include "qhorizontalpercentbarseries.h"
#include "qbarset.h"
#include "declarativeaxes.h"
+#include "shared_defines.h"
+
+#ifdef CHARTS_FOR_QUICK2
+#include <QtQuick/QQuickItem>
+#include <QtQml/QQmlParserStatus>
+#else
#include <QtDeclarative/QDeclarativeItem>
#include <QtDeclarative/QDeclarativeParserStatus>
+#endif
QTCOMMERCIALCHART_BEGIN_NAMESPACE
@@ -64,19 +71,27 @@ private Q_SLOTS:
void handleCountChanged(int index, int count);
};
-class DeclarativeBarSeries : public QBarSeries, public QDeclarativeParserStatus
+class DeclarativeBarSeries : public QBarSeries, public QDECLARATIVE_PARSER_STATUS
{
Q_OBJECT
+#ifdef CHARTS_FOR_QUICK2
+ Q_INTERFACES(QQmlParserStatus)
+#else
Q_INTERFACES(QDeclarativeParserStatus)
+#endif
Q_PROPERTY(QAbstractAxis *axisX READ axisX WRITE setAxisX NOTIFY axisXChanged REVISION 1)
Q_PROPERTY(QAbstractAxis *axisY READ axisY WRITE setAxisY NOTIFY axisYChanged REVISION 1)
Q_PROPERTY(QAbstractAxis *axisXTop READ axisXTop WRITE setAxisXTop NOTIFY axisXTopChanged REVISION 2)
Q_PROPERTY(QAbstractAxis *axisYRight READ axisYRight WRITE setAxisYRight NOTIFY axisYRightChanged REVISION 2)
+#ifdef CHARTS_FOR_QUICK2
+ Q_PROPERTY(QQmlListProperty<QObject> seriesChildren READ seriesChildren)
+#else
Q_PROPERTY(QDeclarativeListProperty<QObject> seriesChildren READ seriesChildren)
+#endif
Q_CLASSINFO("DefaultProperty", "seriesChildren")
public:
- explicit DeclarativeBarSeries(QDeclarativeItem *parent = 0);
+ explicit DeclarativeBarSeries(QDECLARATIVE_ITEM *parent = 0);
QAbstractAxis *axisX() { return m_axes->axisX(); }
void setAxisX(QAbstractAxis *axis) { m_axes->setAxisX(axis); }
QAbstractAxis *axisY() { return m_axes->axisY(); }
@@ -85,7 +100,7 @@ public:
Q_REVISION(2) void setAxisXTop(QAbstractAxis *axis) { m_axes->setAxisXTop(axis); }
Q_REVISION(2) QAbstractAxis *axisYRight() { return m_axes->axisYRight(); }
Q_REVISION(2) void setAxisYRight(QAbstractAxis *axis) { m_axes->setAxisYRight(axis); }
- QDeclarativeListProperty<QObject> seriesChildren();
+ QDECLARATIVE_LIST_PROPERTY<QObject> seriesChildren();
public:
Q_INVOKABLE DeclarativeBarSet *at(int index);
@@ -105,25 +120,33 @@ Q_SIGNALS:
Q_REVISION(2) void axisYRightChanged(QAbstractAxis *axis);
public Q_SLOTS:
- static void appendSeriesChildren(QDeclarativeListProperty<QObject> *list, QObject *element);
+ static void appendSeriesChildren(QDECLARATIVE_LIST_PROPERTY<QObject> *list, QObject *element);
public:
DeclarativeAxes *m_axes;
};
-class DeclarativeStackedBarSeries : public QStackedBarSeries, public QDeclarativeParserStatus
+class DeclarativeStackedBarSeries : public QStackedBarSeries, public QDECLARATIVE_PARSER_STATUS
{
Q_OBJECT
+#ifdef CHARTS_FOR_QUICK2
+ Q_INTERFACES(QQmlParserStatus)
+#else
Q_INTERFACES(QDeclarativeParserStatus)
+#endif
Q_PROPERTY(QAbstractAxis *axisX READ axisX WRITE setAxisX NOTIFY axisXChanged REVISION 1)
Q_PROPERTY(QAbstractAxis *axisY READ axisY WRITE setAxisY NOTIFY axisYChanged REVISION 1)
Q_PROPERTY(QAbstractAxis *axisXTop READ axisXTop WRITE setAxisXTop NOTIFY axisXTopChanged REVISION 2)
Q_PROPERTY(QAbstractAxis *axisYRight READ axisYRight WRITE setAxisYRight NOTIFY axisYRightChanged REVISION 2)
+#ifdef CHARTS_FOR_QUICK2
+ Q_PROPERTY(QQmlListProperty<QObject> seriesChildren READ seriesChildren)
+#else
Q_PROPERTY(QDeclarativeListProperty<QObject> seriesChildren READ seriesChildren)
+#endif
Q_CLASSINFO("DefaultProperty", "seriesChildren")
public:
- explicit DeclarativeStackedBarSeries(QDeclarativeItem *parent = 0);
+ explicit DeclarativeStackedBarSeries(QDECLARATIVE_ITEM *parent = 0);
QAbstractAxis *axisX() { return m_axes->axisX(); }
void setAxisX(QAbstractAxis *axis) { m_axes->setAxisX(axis); }
QAbstractAxis *axisY() { return m_axes->axisY(); }
@@ -132,7 +155,7 @@ public:
Q_REVISION(2) void setAxisXTop(QAbstractAxis *axis) { m_axes->setAxisXTop(axis); }
Q_REVISION(2) QAbstractAxis *axisYRight() { return m_axes->axisYRight(); }
Q_REVISION(2) void setAxisYRight(QAbstractAxis *axis) { m_axes->setAxisYRight(axis); }
- QDeclarativeListProperty<QObject> seriesChildren();
+ QDECLARATIVE_LIST_PROPERTY<QObject> seriesChildren();
public:
Q_INVOKABLE DeclarativeBarSet *at(int index);
@@ -152,25 +175,33 @@ Q_SIGNALS:
Q_REVISION(2) void axisYRightChanged(QAbstractAxis *axis);
public Q_SLOTS:
- static void appendSeriesChildren(QDeclarativeListProperty<QObject> *list, QObject *element);
+ static void appendSeriesChildren(QDECLARATIVE_LIST_PROPERTY<QObject> *list, QObject *element);
public:
DeclarativeAxes *m_axes;
};
-class DeclarativePercentBarSeries : public QPercentBarSeries, public QDeclarativeParserStatus
+class DeclarativePercentBarSeries : public QPercentBarSeries, public QDECLARATIVE_PARSER_STATUS
{
Q_OBJECT
+#ifdef CHARTS_FOR_QUICK2
+ Q_INTERFACES(QQmlParserStatus)
+#else
Q_INTERFACES(QDeclarativeParserStatus)
+#endif
Q_PROPERTY(QAbstractAxis *axisX READ axisX WRITE setAxisX NOTIFY axisXChanged REVISION 1)
Q_PROPERTY(QAbstractAxis *axisY READ axisY WRITE setAxisY NOTIFY axisYChanged REVISION 1)
Q_PROPERTY(QAbstractAxis *axisXTop READ axisXTop WRITE setAxisXTop NOTIFY axisXTopChanged REVISION 2)
Q_PROPERTY(QAbstractAxis *axisYRight READ axisYRight WRITE setAxisYRight NOTIFY axisYRightChanged REVISION 2)
+#ifdef CHARTS_FOR_QUICK2
+ Q_PROPERTY(QQmlListProperty<QObject> seriesChildren READ seriesChildren)
+#else
Q_PROPERTY(QDeclarativeListProperty<QObject> seriesChildren READ seriesChildren)
+#endif
Q_CLASSINFO("DefaultProperty", "seriesChildren")
public:
- explicit DeclarativePercentBarSeries(QDeclarativeItem *parent = 0);
+ explicit DeclarativePercentBarSeries(QDECLARATIVE_ITEM *parent = 0);
QAbstractAxis *axisX() { return m_axes->axisX(); }
void setAxisX(QAbstractAxis *axis) { m_axes->setAxisX(axis); }
QAbstractAxis *axisY() { return m_axes->axisY(); }
@@ -179,7 +210,7 @@ public:
Q_REVISION(2) void setAxisXTop(QAbstractAxis *axis) { m_axes->setAxisXTop(axis); }
Q_REVISION(2) QAbstractAxis *axisYRight() { return m_axes->axisYRight(); }
Q_REVISION(2) void setAxisYRight(QAbstractAxis *axis) { m_axes->setAxisYRight(axis); }
- QDeclarativeListProperty<QObject> seriesChildren();
+ QDECLARATIVE_LIST_PROPERTY<QObject> seriesChildren();
public:
Q_INVOKABLE DeclarativeBarSet *at(int index);
@@ -199,25 +230,33 @@ Q_SIGNALS:
Q_REVISION(2) void axisYRightChanged(QAbstractAxis *axis);
public Q_SLOTS:
- static void appendSeriesChildren(QDeclarativeListProperty<QObject> *list, QObject *element);
+ static void appendSeriesChildren(QDECLARATIVE_LIST_PROPERTY<QObject> *list, QObject *element);
public:
DeclarativeAxes *m_axes;
};
-class DeclarativeHorizontalBarSeries : public QHorizontalBarSeries, public QDeclarativeParserStatus
+class DeclarativeHorizontalBarSeries : public QHorizontalBarSeries, public QDECLARATIVE_PARSER_STATUS
{
Q_OBJECT
+#ifdef CHARTS_FOR_QUICK2
+ Q_INTERFACES(QQmlParserStatus)
+#else
Q_INTERFACES(QDeclarativeParserStatus)
+#endif
Q_PROPERTY(QAbstractAxis *axisX READ axisX WRITE setAxisX NOTIFY axisXChanged REVISION 1)
Q_PROPERTY(QAbstractAxis *axisY READ axisY WRITE setAxisY NOTIFY axisYChanged REVISION 1)
Q_PROPERTY(QAbstractAxis *axisXTop READ axisXTop WRITE setAxisXTop NOTIFY axisXTopChanged REVISION 2)
Q_PROPERTY(QAbstractAxis *axisYRight READ axisYRight WRITE setAxisYRight NOTIFY axisYRightChanged REVISION 2)
+#ifdef CHARTS_FOR_QUICK2
+ Q_PROPERTY(QQmlListProperty<QObject> seriesChildren READ seriesChildren)
+#else
Q_PROPERTY(QDeclarativeListProperty<QObject> seriesChildren READ seriesChildren)
+#endif
Q_CLASSINFO("DefaultProperty", "seriesChildren")
public:
- explicit DeclarativeHorizontalBarSeries(QDeclarativeItem *parent = 0);
+ explicit DeclarativeHorizontalBarSeries(QDECLARATIVE_ITEM *parent = 0);
QAbstractAxis *axisX() { return m_axes->axisX(); }
void setAxisX(QAbstractAxis *axis) { m_axes->setAxisX(axis); }
QAbstractAxis *axisY() { return m_axes->axisY(); }
@@ -226,7 +265,7 @@ public:
Q_REVISION(2) void setAxisXTop(QAbstractAxis *axis) { m_axes->setAxisXTop(axis); }
Q_REVISION(2) QAbstractAxis *axisYRight() { return m_axes->axisYRight(); }
Q_REVISION(2) void setAxisYRight(QAbstractAxis *axis) { m_axes->setAxisYRight(axis); }
- QDeclarativeListProperty<QObject> seriesChildren();
+ QDECLARATIVE_LIST_PROPERTY<QObject> seriesChildren();
public:
Q_INVOKABLE DeclarativeBarSet *at(int index);
@@ -246,25 +285,33 @@ Q_SIGNALS:
Q_REVISION(2) void axisYRightChanged(QAbstractAxis *axis);
public Q_SLOTS:
- static void appendSeriesChildren(QDeclarativeListProperty<QObject> *list, QObject *element);
+ static void appendSeriesChildren(QDECLARATIVE_LIST_PROPERTY<QObject> *list, QObject *element);
public:
DeclarativeAxes *m_axes;
};
-class DeclarativeHorizontalStackedBarSeries : public QHorizontalStackedBarSeries, public QDeclarativeParserStatus
+class DeclarativeHorizontalStackedBarSeries : public QHorizontalStackedBarSeries, public QDECLARATIVE_PARSER_STATUS
{
Q_OBJECT
+#ifdef CHARTS_FOR_QUICK2
+ Q_INTERFACES(QQmlParserStatus)
+#else
Q_INTERFACES(QDeclarativeParserStatus)
+#endif
Q_PROPERTY(QAbstractAxis *axisX READ axisX WRITE setAxisX NOTIFY axisXChanged REVISION 1)
Q_PROPERTY(QAbstractAxis *axisY READ axisY WRITE setAxisY NOTIFY axisYChanged REVISION 1)
Q_PROPERTY(QAbstractAxis *axisXTop READ axisXTop WRITE setAxisXTop NOTIFY axisXTopChanged REVISION 2)
Q_PROPERTY(QAbstractAxis *axisYRight READ axisYRight WRITE setAxisYRight NOTIFY axisYRightChanged REVISION 2)
+#ifdef CHARTS_FOR_QUICK2
+ Q_PROPERTY(QQmlListProperty<QObject> seriesChildren READ seriesChildren)
+#else
Q_PROPERTY(QDeclarativeListProperty<QObject> seriesChildren READ seriesChildren)
+#endif
Q_CLASSINFO("DefaultProperty", "seriesChildren")
public:
- explicit DeclarativeHorizontalStackedBarSeries(QDeclarativeItem *parent = 0);
+ explicit DeclarativeHorizontalStackedBarSeries(QDECLARATIVE_ITEM *parent = 0);
QAbstractAxis *axisX() { return m_axes->axisX(); }
void setAxisX(QAbstractAxis *axis) { m_axes->setAxisX(axis); }
QAbstractAxis *axisY() { return m_axes->axisY(); }
@@ -273,7 +320,7 @@ public:
Q_REVISION(2) void setAxisXTop(QAbstractAxis *axis) { m_axes->setAxisXTop(axis); }
Q_REVISION(2) QAbstractAxis *axisYRight() { return m_axes->axisYRight(); }
Q_REVISION(2) void setAxisYRight(QAbstractAxis *axis) { m_axes->setAxisYRight(axis); }
- QDeclarativeListProperty<QObject> seriesChildren();
+ QDECLARATIVE_LIST_PROPERTY<QObject> seriesChildren();
public:
Q_INVOKABLE DeclarativeBarSet *at(int index);
@@ -293,25 +340,33 @@ Q_SIGNALS:
Q_REVISION(2) void axisYRightChanged(QAbstractAxis *axis);
public Q_SLOTS:
- static void appendSeriesChildren(QDeclarativeListProperty<QObject> *list, QObject *element);
+ static void appendSeriesChildren(QDECLARATIVE_LIST_PROPERTY<QObject> *list, QObject *element);
public:
DeclarativeAxes *m_axes;
};
-class DeclarativeHorizontalPercentBarSeries : public QHorizontalPercentBarSeries, public QDeclarativeParserStatus
+class DeclarativeHorizontalPercentBarSeries : public QHorizontalPercentBarSeries, public QDECLARATIVE_PARSER_STATUS
{
Q_OBJECT
+#ifdef CHARTS_FOR_QUICK2
+ Q_INTERFACES(QQmlParserStatus)
+#else
Q_INTERFACES(QDeclarativeParserStatus)
+#endif
Q_PROPERTY(QAbstractAxis *axisX READ axisX WRITE setAxisX NOTIFY axisXChanged REVISION 1)
Q_PROPERTY(QAbstractAxis *axisY READ axisY WRITE setAxisY NOTIFY axisYChanged REVISION 1)
Q_PROPERTY(QAbstractAxis *axisXTop READ axisXTop WRITE setAxisXTop NOTIFY axisXTopChanged REVISION 2)
Q_PROPERTY(QAbstractAxis *axisYRight READ axisYRight WRITE setAxisYRight NOTIFY axisYRightChanged REVISION 2)
+#ifdef CHARTS_FOR_QUICK2
+ Q_PROPERTY(QQmlListProperty<QObject> seriesChildren READ seriesChildren)
+#else
Q_PROPERTY(QDeclarativeListProperty<QObject> seriesChildren READ seriesChildren)
+#endif
Q_CLASSINFO("DefaultProperty", "seriesChildren")
public:
- explicit DeclarativeHorizontalPercentBarSeries(QDeclarativeItem *parent = 0);
+ explicit DeclarativeHorizontalPercentBarSeries(QDECLARATIVE_ITEM *parent = 0);
QAbstractAxis *axisX() { return m_axes->axisX(); }
void setAxisX(QAbstractAxis *axis) { m_axes->setAxisX(axis); }
QAbstractAxis *axisY() { return m_axes->axisY(); }
@@ -320,7 +375,7 @@ public:
Q_REVISION(2) void setAxisXTop(QAbstractAxis *axis) { m_axes->setAxisXTop(axis); }
Q_REVISION(2) QAbstractAxis *axisYRight() { return m_axes->axisYRight(); }
Q_REVISION(2) void setAxisYRight(QAbstractAxis *axis) { m_axes->setAxisYRight(axis); }
- QDeclarativeListProperty<QObject> seriesChildren();
+ QDECLARATIVE_LIST_PROPERTY<QObject> seriesChildren();
public:
Q_INVOKABLE DeclarativeBarSet *at(int index);
@@ -340,7 +395,7 @@ Q_SIGNALS:
Q_REVISION(2) void axisYRightChanged(QAbstractAxis *axis);
public Q_SLOTS:
- static void appendSeriesChildren(QDeclarativeListProperty<QObject> *list, QObject *element);
+ static void appendSeriesChildren(QDECLARATIVE_LIST_PROPERTY<QObject> *list, QObject *element);
public:
DeclarativeAxes *m_axes;
diff --git a/plugins/declarative/declarativecategoryaxis.cpp b/plugins/declarative/declarativecategoryaxis.cpp
index 4e2c4fa5..dbe37f11 100644
--- a/plugins/declarative/declarativecategoryaxis.cpp
+++ b/plugins/declarative/declarativecategoryaxis.cpp
@@ -66,9 +66,9 @@ bool DeclarativeCategoryAxis::endValueLessThan(const QPair<QString, qreal> &valu
return value1.second < value2.second;
}
-QDeclarativeListProperty<QObject> DeclarativeCategoryAxis::axisChildren()
+QDECLARATIVE_LIST_PROPERTY<QObject> DeclarativeCategoryAxis::axisChildren()
{
- return QDeclarativeListProperty<QObject>(this, 0, &DeclarativeCategoryAxis::appendAxisChildren);
+ return QDECLARATIVE_LIST_PROPERTY<QObject>(this, 0, &DeclarativeCategoryAxis::appendAxisChildren LIST_PROPERTY_PARAM_DEFAULTS);
}
void DeclarativeCategoryAxis::append(const QString &label, qreal categoryEndValue)
@@ -86,7 +86,7 @@ void DeclarativeCategoryAxis::replace(const QString &oldLabel, const QString &ne
QCategoryAxis::replaceLabel(oldLabel, newLabel);
}
-void DeclarativeCategoryAxis::appendAxisChildren(QDeclarativeListProperty<QObject> *list, QObject *element)
+void DeclarativeCategoryAxis::appendAxisChildren(QDECLARATIVE_LIST_PROPERTY<QObject> *list, QObject *element)
{
// Empty implementation; the children are parsed in componentComplete instead
Q_UNUSED(list)
diff --git a/plugins/declarative/declarativecategoryaxis.h b/plugins/declarative/declarativecategoryaxis.h
index 5e17bab3..6e718d78 100644
--- a/plugins/declarative/declarativecategoryaxis.h
+++ b/plugins/declarative/declarativecategoryaxis.h
@@ -22,8 +22,15 @@
#define DECLARATIVECATEGORYAXIS_H
#include "qcategoryaxis.h"
+#include "shared_defines.h"
+
+#ifdef CHARTS_FOR_QUICK2
+#include <QtQml/QQmlListProperty>
+#include <QtQml/QQmlParserStatus>
+#else
#include <QtDeclarative/QDeclarativeListProperty>
#include <QtDeclarative/QDeclarativeParserStatus>
+#endif
QTCOMMERCIALCHART_BEGIN_NAMESPACE
@@ -45,16 +52,21 @@ private:
QString m_label;
};
-class DeclarativeCategoryAxis : public QCategoryAxis, public QDeclarativeParserStatus
+class DeclarativeCategoryAxis : public QCategoryAxis, public QDECLARATIVE_PARSER_STATUS
{
Q_OBJECT
+#ifdef CHARTS_FOR_QUICK2
+ Q_INTERFACES(QQmlParserStatus)
+ Q_PROPERTY(QQmlListProperty<QObject> axisChildren READ axisChildren)
+#else
Q_INTERFACES(QDeclarativeParserStatus)
Q_PROPERTY(QDeclarativeListProperty<QObject> axisChildren READ axisChildren)
+#endif
Q_CLASSINFO("DefaultProperty", "axisChildren")
public:
explicit DeclarativeCategoryAxis(QObject *parent = 0);
- QDeclarativeListProperty<QObject> axisChildren();
+ QDECLARATIVE_LIST_PROPERTY<QObject> axisChildren();
public: // from QDeclarativeParserStatus
void classBegin();
@@ -64,7 +76,7 @@ public Q_SLOTS:
Q_INVOKABLE void append(const QString &label, qreal categoryEndValue);
Q_INVOKABLE void remove(const QString &label);
Q_INVOKABLE void replace(const QString &oldLabel, const QString &newLabel);
- static void appendAxisChildren(QDeclarativeListProperty<QObject> *list, QObject *element);
+ static void appendAxisChildren(QDECLARATIVE_LIST_PROPERTY<QObject> *list, QObject *element);
private:
static bool endValueLessThan(const QPair<QString, qreal> &value1, const QPair<QString, qreal> &value2);
diff --git a/plugins/declarative/declarativechart.cpp b/plugins/declarative/declarativechart.cpp
index 344f5e62..c81bbdcc 100644
--- a/plugins/declarative/declarativechart.cpp
+++ b/plugins/declarative/declarativechart.cpp
@@ -20,7 +20,6 @@
#include "declarativechart.h"
#include <QPainter>
-#include <QDeclarativeEngine>
#include "declarativelineseries.h"
#include "declarativeareaseries.h"
#include "declarativebarseries.h"
@@ -235,26 +234,41 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE
object after the signal handler has completed.
*/
-DeclarativeChart::DeclarativeChart(QDeclarativeItem *parent)
- : QDeclarativeItem(parent)
+DeclarativeChart::DeclarativeChart(QDECLARATIVE_ITEM *parent)
+ : QDECLARATIVE_PAINTED_ITEM(parent)
{
initChart(QChart::ChartTypeCartesian);
}
-DeclarativeChart::DeclarativeChart(QChart::ChartType type, QDeclarativeItem *parent)
- : QDeclarativeItem(parent)
+DeclarativeChart::DeclarativeChart(QChart::ChartType type, QDECLARATIVE_ITEM *parent)
+ : QDECLARATIVE_PAINTED_ITEM(parent)
{
initChart(type);
}
void DeclarativeChart::initChart(QChart::ChartType type)
{
+#ifdef CHARTS_FOR_QUICK2
+ if (type == QChart::ChartTypePolar)
+ m_chart = new QPolarChart();
+ else
+ m_chart = new QChart();
+
+ m_scene = new QGraphicsScene(this);
+ m_scene->addItem(m_chart);
+
+ setAntialiasing(QQuickItem::antialiasing());
+ connect(m_scene, SIGNAL(changed(QList<QRectF>)), this, SLOT(update()));
+ connect(this, SIGNAL(antialiasingChanged(bool)), this, SLOT(handleAntialiasingChanged(bool)));
+#else
if (type == QChart::ChartTypePolar)
m_chart = new QPolarChart(this);
else
m_chart = new QChart(this);
setFlag(QGraphicsItem::ItemHasNoContents, false);
+#endif
+
m_margins = new DeclarativeMargins(this);
m_margins->setTop(m_chart->margins().top());
m_margins->setLeft(m_chart->margins().left());
@@ -314,7 +328,7 @@ void DeclarativeChart::componentComplete()
}
}
- QDeclarativeItem::componentComplete();
+ QDECLARATIVE_ITEM::componentComplete();
}
void DeclarativeChart::handleAxisXSet(QAbstractAxis *axis)
@@ -377,7 +391,7 @@ void DeclarativeChart::geometryChanged(const QRectF &newGeometry, const QRectF &
m_chart->resize(newGeometry.width(), newGeometry.height());
}
}
- QDeclarativeItem::geometryChanged(newGeometry, oldGeometry);
+ QDECLARATIVE_ITEM::geometryChanged(newGeometry, oldGeometry);
// It would be better to trigger the plotAreaChanged signal from QChart::plotAreaChanged or
// similar. Since that kind of a signal is not clearly needed in the C++ API the work-around is
@@ -385,6 +399,19 @@ void DeclarativeChart::geometryChanged(const QRectF &newGeometry, const QRectF &
emit plotAreaChanged(m_chart->plotArea());
}
+#ifdef CHARTS_FOR_QUICK2
+void DeclarativeChart::paint(QPainter *painter)
+{
+ QRectF renderRect(QPointF(0, 0), m_chart->size());
+ m_scene->render(painter, renderRect, renderRect);
+}
+
+void DeclarativeChart::handleAntialiasingChanged(bool enable)
+{
+ setAntialiasing(enable);
+}
+#endif
+
void DeclarativeChart::setTheme(DeclarativeChart::Theme theme)
{
QChart::ChartTheme chartTheme = (QChart::ChartTheme) theme;
@@ -555,22 +582,27 @@ void DeclarativeChart::scrollDown(qreal pixels)
m_chart->scroll(0, -pixels);
}
-QDeclarativeListProperty<QAbstractAxis> DeclarativeChart::axes()
+QDECLARATIVE_LIST_PROPERTY<QAbstractAxis> DeclarativeChart::axes()
{
- return QDeclarativeListProperty<QAbstractAxis>(this, 0,
+ return QDECLARATIVE_LIST_PROPERTY<QAbstractAxis>(this, 0,
&DeclarativeChart::axesAppendFunc,
&DeclarativeChart::axesCountFunc,
+#ifdef CHARTS_FOR_QUICK2
+ &DeclarativeChart::axesAtFunc,
+ &DeclarativeChart::axesClearFunc);
+#else
&DeclarativeChart::axesAtFunc);
+#endif
}
-void DeclarativeChart::axesAppendFunc(QDeclarativeListProperty<QAbstractAxis> *list, QAbstractAxis *element)
+void DeclarativeChart::axesAppendFunc(QDECLARATIVE_LIST_PROPERTY<QAbstractAxis> *list, QAbstractAxis *element)
{
// Empty implementation
Q_UNUSED(list);
Q_UNUSED(element);
}
-int DeclarativeChart::axesCountFunc(QDeclarativeListProperty<QAbstractAxis> *list)
+int DeclarativeChart::axesCountFunc(QDECLARATIVE_LIST_PROPERTY<QAbstractAxis> *list)
{
if (qobject_cast<DeclarativeChart *>(list->object)) {
DeclarativeChart *chart = qobject_cast<DeclarativeChart *>(list->object);
@@ -579,7 +611,7 @@ int DeclarativeChart::axesCountFunc(QDeclarativeListProperty<QAbstractAxis> *lis
return 0;
}
-QAbstractAxis *DeclarativeChart::axesAtFunc(QDeclarativeListProperty<QAbstractAxis> *list, int index)
+QAbstractAxis *DeclarativeChart::axesAtFunc(QDECLARATIVE_LIST_PROPERTY<QAbstractAxis> *list, int index)
{
if (qobject_cast<DeclarativeChart *>(list->object)) {
DeclarativeChart *chart = qobject_cast<DeclarativeChart *>(list->object);
@@ -589,6 +621,13 @@ QAbstractAxis *DeclarativeChart::axesAtFunc(QDeclarativeListProperty<QAbstractAx
return 0;
}
+void DeclarativeChart::axesClearFunc(QDECLARATIVE_LIST_PROPERTY<QAbstractAxis> *list)
+{
+ // Empty implementation
+ Q_UNUSED(list);
+}
+
+
QAbstractSeries *DeclarativeChart::series(int index)
{
if (index < m_chart->series().count()) {
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;
};
diff --git a/plugins/declarative/declarativelineseries.cpp b/plugins/declarative/declarativelineseries.cpp
index 735b2962..7fed7cd1 100644
--- a/plugins/declarative/declarativelineseries.cpp
+++ b/plugins/declarative/declarativelineseries.cpp
@@ -87,12 +87,12 @@ void DeclarativeLineSeries::setCapStyle(Qt::PenCapStyle capStyle)
}
}
-QDeclarativeListProperty<QObject> DeclarativeLineSeries::declarativeChildren()
+QDECLARATIVE_LIST_PROPERTY<QObject> DeclarativeLineSeries::declarativeChildren()
{
- return QDeclarativeListProperty<QObject>(this, 0, &appendDeclarativeChildren);
+ return QDECLARATIVE_LIST_PROPERTY<QObject>(this, 0, &appendDeclarativeChildren LIST_PROPERTY_PARAM_DEFAULTS);
}
-void DeclarativeLineSeries::appendDeclarativeChildren(QDeclarativeListProperty<QObject> *list, QObject *element)
+void DeclarativeLineSeries::appendDeclarativeChildren(QDECLARATIVE_LIST_PROPERTY<QObject> *list, QObject *element)
{
Q_UNUSED(list)
Q_UNUSED(element)
diff --git a/plugins/declarative/declarativelineseries.h b/plugins/declarative/declarativelineseries.h
index 05222a6d..a3fd19b9 100644
--- a/plugins/declarative/declarativelineseries.h
+++ b/plugins/declarative/declarativelineseries.h
@@ -24,15 +24,26 @@
#include "qlineseries.h"
#include "declarativexyseries.h"
#include "declarativeaxes.h"
+#include "shared_defines.h"
+
+#ifdef CHARTS_FOR_QUICK2
+#include <QtQml/QQmlListProperty>
+#include <QtQml/QQmlParserStatus>
+#else
#include <QtDeclarative/QDeclarativeListProperty>
#include <QtDeclarative/QDeclarativeParserStatus>
+#endif
QTCOMMERCIALCHART_BEGIN_NAMESPACE
-class DeclarativeLineSeries : public QLineSeries, public DeclarativeXySeries, public QDeclarativeParserStatus
+class DeclarativeLineSeries : public QLineSeries, public DeclarativeXySeries, public QDECLARATIVE_PARSER_STATUS
{
Q_OBJECT
+#ifdef CHARTS_FOR_QUICK2
+ Q_INTERFACES(QQmlParserStatus)
+#else
Q_INTERFACES(QDeclarativeParserStatus)
+#endif
Q_PROPERTY(int count READ count NOTIFY countChanged)
Q_PROPERTY(QAbstractAxis *axisX READ axisX WRITE setAxisX NOTIFY axisXChanged REVISION 1)
Q_PROPERTY(QAbstractAxis *axisY READ axisY WRITE setAxisY NOTIFY axisYChanged REVISION 1)
@@ -43,7 +54,11 @@ class DeclarativeLineSeries : public QLineSeries, public DeclarativeXySeries, pu
Q_PROPERTY(qreal width READ width WRITE setWidth NOTIFY widthChanged REVISION 1)
Q_PROPERTY(Qt::PenStyle style READ style WRITE setStyle NOTIFY styleChanged REVISION 1)
Q_PROPERTY(Qt::PenCapStyle capStyle READ capStyle WRITE setCapStyle NOTIFY capStyleChanged REVISION 1)
+#ifdef CHARTS_FOR_QUICK2
+ Q_PROPERTY(QQmlListProperty<QObject> declarativeChildren READ declarativeChildren)
+#else
Q_PROPERTY(QDeclarativeListProperty<QObject> declarativeChildren READ declarativeChildren)
+#endif
Q_CLASSINFO("DefaultProperty", "declarativeChildren")
public:
@@ -67,7 +82,7 @@ public:
void setStyle(Qt::PenStyle style);
Qt::PenCapStyle capStyle() const;
void setCapStyle(Qt::PenCapStyle capStyle);
- QDeclarativeListProperty<QObject> declarativeChildren();
+ QDECLARATIVE_LIST_PROPERTY<QObject> declarativeChildren();
public: // from QDeclarativeParserStatus
void classBegin() { DeclarativeXySeries::classBegin(); }
@@ -94,7 +109,7 @@ Q_SIGNALS:
Q_REVISION(1) void capStyleChanged(Qt::PenCapStyle capStyle);
public Q_SLOTS:
- static void appendDeclarativeChildren(QDeclarativeListProperty<QObject> *list, QObject *element);
+ static void appendDeclarativeChildren(QDECLARATIVE_LIST_PROPERTY<QObject> *list, QObject *element);
void handleCountChanged(int index);
public:
diff --git a/plugins/declarative/declarativepieseries.cpp b/plugins/declarative/declarativepieseries.cpp
index 46a52938..6764f5a6 100644
--- a/plugins/declarative/declarativepieseries.cpp
+++ b/plugins/declarative/declarativepieseries.cpp
@@ -25,7 +25,7 @@
QTCOMMERCIALCHART_BEGIN_NAMESPACE
-DeclarativePieSeries::DeclarativePieSeries(QDeclarativeItem *parent) :
+DeclarativePieSeries::DeclarativePieSeries(QDECLARATIVE_ITEM *parent) :
QPieSeries(parent)
{
connect(this, SIGNAL(added(QList<QPieSlice*>)), this, SLOT(handleAdded(QList<QPieSlice*>)));
@@ -51,12 +51,12 @@ void DeclarativePieSeries::componentComplete()
}
}
-QDeclarativeListProperty<QObject> DeclarativePieSeries::seriesChildren()
+QDECLARATIVE_LIST_PROPERTY<QObject> DeclarativePieSeries::seriesChildren()
{
- return QDeclarativeListProperty<QObject>(this, 0, &DeclarativePieSeries::appendSeriesChildren);
+ return QDECLARATIVE_LIST_PROPERTY<QObject>(this, 0, &DeclarativePieSeries::appendSeriesChildren LIST_PROPERTY_PARAM_DEFAULTS);
}
-void DeclarativePieSeries::appendSeriesChildren(QDeclarativeListProperty<QObject> * list, QObject *element)
+void DeclarativePieSeries::appendSeriesChildren(QDECLARATIVE_LIST_PROPERTY<QObject> * list, QObject *element)
{
// Empty implementation; the children are parsed in componentComplete instead
Q_UNUSED(list);
diff --git a/plugins/declarative/declarativepieseries.h b/plugins/declarative/declarativepieseries.h
index 2440990a..7c6c8f13 100644
--- a/plugins/declarative/declarativepieseries.h
+++ b/plugins/declarative/declarativepieseries.h
@@ -22,22 +22,34 @@
#define DECLARATIVEPIESERIES_H
#include "qpieseries.h"
+#include "shared_defines.h"
+
+#ifdef CHARTS_FOR_QUICK2
+#include <QtQuick/QQuickItem>
+#include <QtQml/QQmlParserStatus>
+#else
#include <QtDeclarative/QDeclarativeItem>
#include <QtDeclarative/QDeclarativeParserStatus>
+#endif
QTCOMMERCIALCHART_BEGIN_NAMESPACE
class QPieSlice;
-class DeclarativePieSeries : public QPieSeries, public QDeclarativeParserStatus
+class DeclarativePieSeries : public QPieSeries, public QDECLARATIVE_PARSER_STATUS
{
Q_OBJECT
+#ifdef CHARTS_FOR_QUICK2
+ Q_INTERFACES(QQmlParserStatus)
+ Q_PROPERTY(QQmlListProperty<QObject> seriesChildren READ seriesChildren)
+#else
Q_INTERFACES(QDeclarativeParserStatus)
Q_PROPERTY(QDeclarativeListProperty<QObject> seriesChildren READ seriesChildren)
+#endif
Q_CLASSINFO("DefaultProperty", "seriesChildren")
public:
- explicit DeclarativePieSeries(QDeclarativeItem *parent = 0);
- QDeclarativeListProperty<QObject> seriesChildren();
+ explicit DeclarativePieSeries(QDECLARATIVE_ITEM *parent = 0);
+ QDECLARATIVE_LIST_PROPERTY<QObject> seriesChildren();
Q_INVOKABLE QPieSlice *at(int index);
Q_INVOKABLE QPieSlice *find(QString label);
Q_INVOKABLE QPieSlice *append(QString label, qreal value);
@@ -53,7 +65,7 @@ Q_SIGNALS:
void sliceRemoved(QPieSlice *slice);
public Q_SLOTS:
- static void appendSeriesChildren(QDeclarativeListProperty<QObject> *list, QObject *element);
+ static void appendSeriesChildren(QDECLARATIVE_LIST_PROPERTY<QObject> *list, QObject *element);
void handleAdded(QList<QPieSlice *> slices);
void handleRemoved(QList<QPieSlice *> slices);
};
diff --git a/plugins/declarative/declarativepolarchart.cpp b/plugins/declarative/declarativepolarchart.cpp
index 3be90d78..25c2ece8 100644
--- a/plugins/declarative/declarativepolarchart.cpp
+++ b/plugins/declarative/declarativepolarchart.cpp
@@ -50,7 +50,7 @@ QTCOMMERCIALCHART_BEGIN_NAMESPACE
\clearfloat
*/
-DeclarativePolarChart::DeclarativePolarChart(QDeclarativeItem *parent)
+DeclarativePolarChart::DeclarativePolarChart(QDECLARATIVE_ITEM *parent)
: DeclarativeChart(QChart::ChartTypePolar, parent)
{
}
diff --git a/plugins/declarative/declarativepolarchart.h b/plugins/declarative/declarativepolarchart.h
index 598de6ea..96c3e0c8 100644
--- a/plugins/declarative/declarativepolarchart.h
+++ b/plugins/declarative/declarativepolarchart.h
@@ -22,7 +22,14 @@
#define DECLARATIVEPOLARCHART_H
#include <QtCore/QtGlobal>
+#include "shared_defines.h"
+
+#ifdef CHARTS_FOR_QUICK2
+#include <QtQuick/QQuickItem>
+#else
#include <QtDeclarative/QDeclarativeItem>
+#endif
+
#include "declarativechart.h"
QTCOMMERCIALCHART_BEGIN_NAMESPACE
@@ -31,7 +38,7 @@ class DeclarativePolarChart : public DeclarativeChart
{
Q_OBJECT
public:
- DeclarativePolarChart(QDeclarativeItem *parent = 0);
+ DeclarativePolarChart(QDECLARATIVE_ITEM *parent = 0);
~DeclarativePolarChart();
};
diff --git a/plugins/declarative/declarativescatterseries.cpp b/plugins/declarative/declarativescatterseries.cpp
index af7b41a6..dedc99f1 100644
--- a/plugins/declarative/declarativescatterseries.cpp
+++ b/plugins/declarative/declarativescatterseries.cpp
@@ -57,12 +57,12 @@ void DeclarativeScatterSeries::setBorderWidth(qreal width)
}
}
-QDeclarativeListProperty<QObject> DeclarativeScatterSeries::declarativeChildren()
+QDECLARATIVE_LIST_PROPERTY<QObject> DeclarativeScatterSeries::declarativeChildren()
{
- return QDeclarativeListProperty<QObject>(this, 0, &appendDeclarativeChildren);
+ return QDECLARATIVE_LIST_PROPERTY<QObject>(this, 0, &appendDeclarativeChildren LIST_PROPERTY_PARAM_DEFAULTS);
}
-void DeclarativeScatterSeries::appendDeclarativeChildren(QDeclarativeListProperty<QObject> *list, QObject *element)
+void DeclarativeScatterSeries::appendDeclarativeChildren(QDECLARATIVE_LIST_PROPERTY<QObject> *list, QObject *element)
{
Q_UNUSED(list)
Q_UNUSED(element)
diff --git a/plugins/declarative/declarativescatterseries.h b/plugins/declarative/declarativescatterseries.h
index 2400242c..549e5ff7 100644
--- a/plugins/declarative/declarativescatterseries.h
+++ b/plugins/declarative/declarativescatterseries.h
@@ -24,15 +24,26 @@
#include "qscatterseries.h"
#include "declarativexyseries.h"
#include "declarativeaxes.h"
+#include "shared_defines.h"
+
+#ifdef CHARTS_FOR_QUICK2
+#include <QtQml/QQmlListProperty>
+#include <QtQml/QQmlParserStatus>
+#else
#include <QtDeclarative/QDeclarativeListProperty>
#include <QtDeclarative/QDeclarativeParserStatus>
+#endif
QTCOMMERCIALCHART_BEGIN_NAMESPACE
-class DeclarativeScatterSeries : public QScatterSeries, public DeclarativeXySeries, public QDeclarativeParserStatus
+class DeclarativeScatterSeries : public QScatterSeries, public DeclarativeXySeries, public QDECLARATIVE_PARSER_STATUS
{
Q_OBJECT
+#ifdef CHARTS_FOR_QUICK2
+ Q_INTERFACES(QQmlParserStatus)
+#else
Q_INTERFACES(QDeclarativeParserStatus)
+#endif
Q_PROPERTY(int count READ count NOTIFY countChanged)
Q_PROPERTY(QAbstractAxis *axisX READ axisX WRITE setAxisX NOTIFY axisXChanged REVISION 1)
Q_PROPERTY(QAbstractAxis *axisY READ axisY WRITE setAxisY NOTIFY axisYChanged REVISION 1)
@@ -41,7 +52,11 @@ class DeclarativeScatterSeries : public QScatterSeries, public DeclarativeXySeri
Q_PROPERTY(QAbstractAxis *axisAngular READ axisAngular WRITE setAxisAngular NOTIFY axisAngularChanged REVISION 3)
Q_PROPERTY(QAbstractAxis *axisRadial READ axisRadial WRITE setAxisRadial NOTIFY axisRadialChanged REVISION 3)
Q_PROPERTY(qreal borderWidth READ borderWidth WRITE setBorderWidth NOTIFY borderWidthChanged REVISION 1)
+#ifdef CHARTS_FOR_QUICK2
+ Q_PROPERTY(QQmlListProperty<QObject> declarativeChildren READ declarativeChildren)
+#else
Q_PROPERTY(QDeclarativeListProperty<QObject> declarativeChildren READ declarativeChildren)
+#endif
Q_CLASSINFO("DefaultProperty", "declarativeChildren")
public:
@@ -61,7 +76,7 @@ public:
Q_REVISION(3) void setAxisRadial(QAbstractAxis *axis) { m_axes->setAxisY(axis); }
qreal borderWidth() const;
void setBorderWidth(qreal borderWidth);
- QDeclarativeListProperty<QObject> declarativeChildren();
+ QDECLARATIVE_LIST_PROPERTY<QObject> declarativeChildren();
public: // from QDeclarativeParserStatus
void classBegin() { DeclarativeXySeries::classBegin(); }
@@ -86,7 +101,7 @@ Q_SIGNALS:
Q_REVISION(3) void axisRadialChanged(QAbstractAxis *axis);
public Q_SLOTS:
- static void appendDeclarativeChildren(QDeclarativeListProperty<QObject> *list, QObject *element);
+ static void appendDeclarativeChildren(QDECLARATIVE_LIST_PROPERTY<QObject> *list, QObject *element);
void handleCountChanged(int index);
public:
diff --git a/plugins/declarative/declarativesplineseries.cpp b/plugins/declarative/declarativesplineseries.cpp
index f3900413..1acc91cb 100644
--- a/plugins/declarative/declarativesplineseries.cpp
+++ b/plugins/declarative/declarativesplineseries.cpp
@@ -87,12 +87,12 @@ void DeclarativeSplineSeries::setCapStyle(Qt::PenCapStyle capStyle)
}
}
-QDeclarativeListProperty<QObject> DeclarativeSplineSeries::declarativeChildren()
+QDECLARATIVE_LIST_PROPERTY<QObject> DeclarativeSplineSeries::declarativeChildren()
{
- return QDeclarativeListProperty<QObject>(this, 0, &appendDeclarativeChildren);
+ return QDECLARATIVE_LIST_PROPERTY<QObject>(this, 0, &appendDeclarativeChildren LIST_PROPERTY_PARAM_DEFAULTS);
}
-void DeclarativeSplineSeries::appendDeclarativeChildren(QDeclarativeListProperty<QObject> *list, QObject *element)
+void DeclarativeSplineSeries::appendDeclarativeChildren(QDECLARATIVE_LIST_PROPERTY<QObject> *list, QObject *element)
{
Q_UNUSED(list)
Q_UNUSED(element)
diff --git a/plugins/declarative/declarativesplineseries.h b/plugins/declarative/declarativesplineseries.h
index cfa0a7ee..6d256e62 100644
--- a/plugins/declarative/declarativesplineseries.h
+++ b/plugins/declarative/declarativesplineseries.h
@@ -24,15 +24,26 @@
#include "qsplineseries.h"
#include "declarativexyseries.h"
#include "declarativeaxes.h"
+#include "shared_defines.h"
+
+#ifdef CHARTS_FOR_QUICK2
+#include <QtQml/QQmlListProperty>
+#include <QtQml/QQmlParserStatus>
+#else
#include <QtDeclarative/QDeclarativeListProperty>
#include <QtDeclarative/QDeclarativeParserStatus>
+#endif
QTCOMMERCIALCHART_BEGIN_NAMESPACE
-class DeclarativeSplineSeries : public QSplineSeries, public DeclarativeXySeries, public QDeclarativeParserStatus
+class DeclarativeSplineSeries : public QSplineSeries, public DeclarativeXySeries, public QDECLARATIVE_PARSER_STATUS
{
Q_OBJECT
+#ifdef CHARTS_FOR_QUICK2
+ Q_INTERFACES(QQmlParserStatus)
+#else
Q_INTERFACES(QDeclarativeParserStatus)
+#endif
Q_PROPERTY(int count READ count NOTIFY countChanged)
Q_PROPERTY(QAbstractAxis *axisX READ axisX WRITE setAxisX NOTIFY axisXChanged REVISION 1)
Q_PROPERTY(QAbstractAxis *axisY READ axisY WRITE setAxisY NOTIFY axisYChanged REVISION 1)
@@ -43,7 +54,11 @@ class DeclarativeSplineSeries : public QSplineSeries, public DeclarativeXySeries
Q_PROPERTY(qreal width READ width WRITE setWidth NOTIFY widthChanged REVISION 1)
Q_PROPERTY(Qt::PenStyle style READ style WRITE setStyle NOTIFY styleChanged REVISION 1)
Q_PROPERTY(Qt::PenCapStyle capStyle READ capStyle WRITE setCapStyle NOTIFY capStyleChanged REVISION 1)
+#ifdef CHARTS_FOR_QUICK2
+ Q_PROPERTY(QQmlListProperty<QObject> declarativeChildren READ declarativeChildren)
+#else
Q_PROPERTY(QDeclarativeListProperty<QObject> declarativeChildren READ declarativeChildren)
+#endif
Q_CLASSINFO("DefaultProperty", "declarativeChildren")
public:
@@ -67,7 +82,7 @@ public:
void setStyle(Qt::PenStyle style);
Qt::PenCapStyle capStyle() const;
void setCapStyle(Qt::PenCapStyle capStyle);
- QDeclarativeListProperty<QObject> declarativeChildren();
+ QDECLARATIVE_LIST_PROPERTY<QObject> declarativeChildren();
public: // from QDeclarativeParserStatus
void classBegin() { DeclarativeXySeries::classBegin(); }
@@ -94,7 +109,7 @@ Q_SIGNALS:
Q_REVISION(1) void capStyleChanged(Qt::PenCapStyle capStyle);
public Q_SLOTS:
- static void appendDeclarativeChildren(QDeclarativeListProperty<QObject> *list, QObject *element);
+ static void appendDeclarativeChildren(QDECLARATIVE_LIST_PROPERTY<QObject> *list, QObject *element);
void handleCountChanged(int index);
public:
diff --git a/plugins/declarative/plugin.cpp b/plugins/declarative/plugin.cpp
index bf560e59..dd060212 100644
--- a/plugins/declarative/plugin.cpp
+++ b/plugins/declarative/plugin.cpp
@@ -47,9 +47,14 @@
#ifndef QT_ON_ARM
#include "qdatetimeaxis.h"
#endif
+#include "shared_defines.h"
#include <QAbstractItemModel>
+#ifdef CHARTS_FOR_QUICK2
+#include <QtQml/QQmlExtensionPlugin>
+#else
#include <QtDeclarative/qdeclarativeextensionplugin.h>
#include <QtDeclarative/qdeclarative.h>
+#endif
QTCOMMERCIALCHART_USE_NAMESPACE
@@ -67,6 +72,7 @@ Q_DECLARE_METATYPE(DeclarativePolarChart *)
Q_DECLARE_METATYPE(DeclarativeMargins *)
Q_DECLARE_METATYPE(DeclarativeAreaSeries *)
Q_DECLARE_METATYPE(DeclarativeBarSeries *)
+Q_DECLARE_METATYPE(DeclarativeBarSet *)
Q_DECLARE_METATYPE(DeclarativeLineSeries *)
Q_DECLARE_METATYPE(DeclarativePieSeries *)
Q_DECLARE_METATYPE(DeclarativeScatterSeries *)
@@ -116,12 +122,16 @@ Q_DECLARE_METATYPE(QStackedBarSeries *)
QTCOMMERCIALCHART_BEGIN_NAMESPACE
-class ChartQmlPlugin : public QDeclarativeExtensionPlugin
+class ChartQmlPlugin : public QDECLARATIVE_EXTENSION_PLUGIN
{
Q_OBJECT
-#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
+#ifdef CHARTS_FOR_QUICK2
+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QQmlExtensionInterface")
+#else
+# if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QDeclarativeExtensionInterface")
+# endif
#endif
public:
diff --git a/plugins/declarative/shared_defines.h b/plugins/declarative/shared_defines.h
new file mode 100644
index 00000000..f5580cfe
--- /dev/null
+++ b/plugins/declarative/shared_defines.h
@@ -0,0 +1,42 @@
+/****************************************************************************
+**
+** Copyright (C) 2013 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$
+**
+****************************************************************************/
+
+#ifndef SHARED_DEFINES_H
+#define SHARED_DEFINES_H
+
+#ifdef CHARTS_FOR_QUICK2
+#define QDECLARATIVE_ITEM QQuickItem
+#define QDECLARATIVE_PAINTED_ITEM QQuickPaintedItem
+#define QDECLARATIVE_LIST_PROPERTY QQmlListProperty
+#define QDECLARATIVE_EXTENSION_PLUGIN QQmlExtensionPlugin
+#define QDECLARATIVE_PARSER_STATUS QQmlParserStatus
+#define LIST_PROPERTY_PARAM_DEFAULTS ,0,0,0
+
+#else
+#define QDECLARATIVE_ITEM QDeclarativeItem
+#define QDECLARATIVE_PAINTED_ITEM QDeclarativeItem
+#define QDECLARATIVE_LIST_PROPERTY QDeclarativeListProperty
+#define QDECLARATIVE_EXTENSION_PLUGIN QDeclarativeExtensionPlugin
+#define QDECLARATIVE_PARSER_STATUS QDeclarativeParserStatus
+#define LIST_PROPERTY_PARAM_DEFAULTS ,0,0
+
+#endif
+
+#endif // SHARED_DEFINES_H
diff --git a/plugins/plugins.pro b/plugins/plugins.pro
index e9cda3b0..704489d1 100644
--- a/plugins/plugins.pro
+++ b/plugins/plugins.pro
@@ -7,7 +7,10 @@ TEMPLATE = subdirs
contains(QT_VERSION, ^4\\.[0-7]\\.[0-3]\\s*$) | contains(QT_VERSION, ^4\\.[0-6]\\..*) {
warning("QtCommercial.Charts QML API requires at least Qt 4.7.4. You are using $${QT_VERSION} so the QML API is disabled.")
} else {
- SUBDIRS += declarative
+ SUBDIRS += quick1
+ contains(QT_VERSION, ^5\\..*\\..*$) {
+ qtHaveModule(quick): SUBDIRS += quick2
+ }
}
!linux-arm*:!qnx:!vxworks:!wince*: {
diff --git a/plugins/declarative/qmldir b/plugins/quick1/qmldir
index d4b6ae7d..d4b6ae7d 100644
--- a/plugins/declarative/qmldir
+++ b/plugins/quick1/qmldir
diff --git a/plugins/quick1/quick1.pro b/plugins/quick1/quick1.pro
new file mode 100644
index 00000000..17300d5c
--- /dev/null
+++ b/plugins/quick1/quick1.pro
@@ -0,0 +1,8 @@
+TARGET = qtcommercialchartqml
+QT += declarative
+IMPORT_INSTALL_PATH = $$[QT_INSTALL_IMPORTS]
+
+!include(../declarative/declarative.pri) {
+ error( "Couldn't find the declarative.pri file!" )
+}
+
diff --git a/plugins/quick2/qmldir b/plugins/quick2/qmldir
new file mode 100644
index 00000000..90d4edb8
--- /dev/null
+++ b/plugins/quick2/qmldir
@@ -0,0 +1,2 @@
+module QtCommercial.Chart
+plugin qtcommercialchartqml2
diff --git a/plugins/quick2/quick2.pro b/plugins/quick2/quick2.pro
new file mode 100644
index 00000000..43f697db
--- /dev/null
+++ b/plugins/quick2/quick2.pro
@@ -0,0 +1,9 @@
+TARGET = qtcommercialchartqml2
+QT += quick qml widgets
+IMPORT_INSTALL_PATH = $$[QT_INSTALL_QML]
+DEFINES += CHARTS_FOR_QUICK2
+
+!include(../declarative/declarative.pri) {
+ error( "Couldn't find the declarative.pri file!" )
+}
+