From eeb090abac42f7c3391b1600c8a263353603e66d 2012-12-13 13:02:49 From: Tero Ahola Date: 2012-12-13 13:02:49 Subject: [PATCH] Fixed Qt5 specific issue with ChartView.createSeries series types --- diff --git a/demos/qmloscilloscope/qml/qmloscilloscope/ScopeView.qml b/demos/qmloscilloscope/qml/qmloscilloscope/ScopeView.qml index 97c9403..7d05fc2 100644 --- a/demos/qmloscilloscope/qml/qmloscilloscope/ScopeView.qml +++ b/demos/qmloscilloscope/qml/qmloscilloscope/ScopeView.qml @@ -81,16 +81,16 @@ ChartView { // but the series have their own y-axes to make it possible to control the y-offset // of the "signal sources". if (type == "line") { - scopeView.createSeries(ChartView.SeriesTypeLine, "signal 1", axisX, axisY1); - scopeView.createSeries(ChartView.SeriesTypeLine, "signal 2", axisX, axisY2); + chartView.createSeries(ChartView.SeriesTypeLine, "signal 1", axisX, axisY1); + chartView.createSeries(ChartView.SeriesTypeLine, "signal 2", axisX, axisY2); } else if (type == "spline") { - scopeView.createSeries(ChartView.SeriesTypeSpline, "signal 1", axisX, axisY1); - scopeView.createSeries(ChartView.SeriesTypeSpline, "signal 2", axisX, axisY2); + chartView.createSeries(ChartView.SeriesTypeSpline, "signal 1", axisX, axisY1); + chartView.createSeries(ChartView.SeriesTypeSpline, "signal 2", axisX, axisY2); } else { - var series1 = scopeView.createSeries(ChartView.SeriesTypeScatter, "signal 1", axisX, axisY1); + var series1 = chartView.createSeries(ChartView.SeriesTypeScatter, "signal 1", axisX, axisY1); series1.markerSize = 3; series1.borderColor = "transparent"; - var series2 = scopeView.createSeries(ChartView.SeriesTypeScatter, "signal 2", axisX, axisY2); + var series2 = chartView.createSeries(ChartView.SeriesTypeScatter, "signal 2", axisX, axisY2); series2.markerSize = 3; series2.borderColor = "transparent"; } @@ -105,9 +105,9 @@ ChartView { function setAnimations(enabled) { if (enabled) - scopeView.animationOptions = ChartView.SeriesAnimations; + chartView.animationOptions = ChartView.SeriesAnimations; else - scopeView.animationOptions = ChartView.NoAnimation; + chartView.animationOptions = ChartView.NoAnimation; } function changeRefreshRate(rate) { diff --git a/plugins/declarative/declarativechart.cpp b/plugins/declarative/declarativechart.cpp index e905f67..5a5821c 100644 --- a/plugins/declarative/declarativechart.cpp +++ b/plugins/declarative/declarativechart.cpp @@ -590,12 +590,7 @@ QAbstractSeries *DeclarativeChart::series(QString seriesName) return 0; } -QAbstractSeries *DeclarativeChart::createSeries(DeclarativeChart::SeriesType type, QString name) -{ - return createSeries(type, name, 0, 0); -} - -QAbstractSeries *DeclarativeChart::createSeries(DeclarativeChart::SeriesType type, QString name, QAbstractAxis *axisX, QAbstractAxis *axisY) +QAbstractSeries *DeclarativeChart::createSeries(int type, QString name, QAbstractAxis *axisX, QAbstractAxis *axisY) { QAbstractSeries *series = 0; diff --git a/plugins/declarative/declarativechart.h b/plugins/declarative/declarativechart.h index fec8f65..ef2b966 100644 --- a/plugins/declarative/declarativechart.h +++ b/plugins/declarative/declarativechart.h @@ -137,8 +137,7 @@ public: public: Q_INVOKABLE QAbstractSeries *series(int index); Q_INVOKABLE QAbstractSeries *series(QString seriesName); - Q_INVOKABLE QAbstractSeries *createSeries(DeclarativeChart::SeriesType type, QString name = ""); - Q_INVOKABLE QAbstractSeries *createSeries(DeclarativeChart::SeriesType type, QString name, QAbstractAxis *axisX, QAbstractAxis *axisY); + Q_INVOKABLE QAbstractSeries *createSeries(int type, QString name = "", QAbstractAxis *axisX = 0, QAbstractAxis *axisY = 0); Q_INVOKABLE void removeSeries(QAbstractSeries *series); Q_INVOKABLE void removeAllSeries() { m_chart->removeAllSeries(); } Q_INVOKABLE void setAxisX(QAbstractAxis *axis, QAbstractSeries *series = 0); diff --git a/plugins/declarative/plugin.cpp b/plugins/declarative/plugin.cpp index 750b1a8..3dcfcc1 100644 --- a/plugins/declarative/plugin.cpp +++ b/plugins/declarative/plugin.cpp @@ -61,7 +61,7 @@ Q_DECLARE_METATYPE(QList) // 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(DeclarativeChart *) Q_DECLARE_METATYPE(DeclarativeMargins *) Q_DECLARE_METATYPE(DeclarativeAreaSeries *) Q_DECLARE_METATYPE(DeclarativeBarSeries *) @@ -130,9 +130,6 @@ public: qRegisterMetaType >(); qRegisterMetaType >(); qRegisterMetaType >(); -#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) - qRegisterMetaType(); -#endif // QtCommercial.Chart 1.0 qmlRegisterType(uri, 1, 0, "ChartView");