diff options
author | Michal Klocek <michal.klocek@qt.io> | 2020-07-27 11:26:15 +0200 |
---|---|---|
committer | Michal Klocek <michal.klocek@qt.io> | 2020-11-06 12:17:43 +0100 |
commit | 71cb91cfba5ab7db2b2415a48881aeba37d71438 (patch) | |
tree | 95f91556531ee6a7d153315cd3e5359cf0dce177 | |
parent | 36c9c74023edb39d6ab64fb0d6c789575cdccdbd (diff) |
Add datetimeaxis to configure system
This handles also qreal as float detection.
Change-Id: I6b975f487f4d244849c306a703e5f25172acec8e
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
-rw-r--r-- | configure.pri | 6 | ||||
-rw-r--r-- | examples/charts/charts.pro | 8 | ||||
-rw-r--r-- | src/charts/axis/axis.pri | 2 | ||||
-rw-r--r-- | src/charts/axis/cartesianchartaxis.cpp | 8 | ||||
-rw-r--r-- | src/charts/chartdataset.cpp | 4 | ||||
-rw-r--r-- | src/charts/charts.pro | 1 | ||||
-rw-r--r-- | src/charts/configure.json | 20 | ||||
-rw-r--r-- | src/chartsqml2/chartsqml2.pro | 1 | ||||
-rw-r--r-- | src/chartsqml2/chartsqml2_plugin.cpp | 8 | ||||
-rw-r--r-- | src/chartsqml2/declarativechart.cpp | 4 | ||||
-rw-r--r-- | tests/auto/auto.pro | 7 | ||||
-rw-r--r-- | tests/auto/chartdataset/chartdataset.pro | 1 | ||||
-rw-r--r-- | tests/auto/chartdataset/tst_chartdataset.cpp | 6 | ||||
-rw-r--r-- | tests/auto/qml/qml.pro | 1 | ||||
-rw-r--r-- | tests/auto/qml/tst_qml.cpp | 4 | ||||
-rw-r--r-- | tests/manual/chartviewer/charts/charts.pri | 8 |
16 files changed, 56 insertions, 33 deletions
diff --git a/configure.pri b/configure.pri new file mode 100644 index 00000000..55fdaa93 --- /dev/null +++ b/configure.pri @@ -0,0 +1,6 @@ +defineTest(qtConfTest_detectRealFloat) { + contains(QT_COORD_TYPE, float): return(true) + return(false) +} + + diff --git a/examples/charts/charts.pro b/examples/charts/charts.pro index d94eec1b..28bebd89 100644 --- a/examples/charts/charts.pro +++ b/examples/charts/charts.pro @@ -66,13 +66,11 @@ qtConfig(charts-scatter-chart) { } qtHaveModule(quick) { SUBDIRS += \ - qmlaxes \ qmlchart \ qmlcustomizations \ qmlcustomlegend \ qmlf1legends \ qmloscilloscope \ - qmlpolarchart \ qmlweather } @@ -88,8 +86,8 @@ contains(QT_CONFIG, opengl) { message("OpenGL not available. Some examples are disabled.") } -!contains(QT_COORD_TYPE, float): { -SUBDIRS += \ - datetimeaxis +qtConfig(charts-datetime-axis) { + SUBDIRS += datetimeaxis + qtHaveModule(quick): SUBDIRS += qmlaxes qmlpolarchart } diff --git a/src/charts/axis/axis.pri b/src/charts/axis/axis.pri index c5efddc2..ee9a607b 100644 --- a/src/charts/axis/axis.pri +++ b/src/charts/axis/axis.pri @@ -79,7 +79,7 @@ PRIVATE_HEADERS += \ $$PWD/categoryaxis/polarchartcategoryaxisangular_p.h \ $$PWD/categoryaxis/polarchartcategoryaxisradial_p.h -!contains(QT_COORD_TYPE, float): { +qtConfig(charts-datetime-axis) { INCLUDEPATH += \ $$PWD/datetimeaxis diff --git a/src/charts/axis/cartesianchartaxis.cpp b/src/charts/axis/cartesianchartaxis.cpp index 99e8f9ae..f4801a27 100644 --- a/src/charts/axis/cartesianchartaxis.cpp +++ b/src/charts/axis/cartesianchartaxis.cpp @@ -88,6 +88,7 @@ void CartesianChartAxis::createItems(int count) this, &ChartAxisElement::valueLabelEdited); if (labelsEditable()) static_cast<ValueAxisLabel *>(label)->setEditable(true); +#if QT_CONFIG(charts_datetime_axis) } else if (axis()->type() == QtCharts::QAbstractAxis::AxisTypeDateTime) { DateTimeAxisLabel *dateTimeLabel = new DateTimeAxisLabel(this); label = dateTimeLabel; @@ -96,6 +97,7 @@ void CartesianChartAxis::createItems(int count) if (labelsEditable()) dateTimeLabel->setEditable(true); dateTimeLabel->setFormat(static_cast<QDateTimeAxis*>(axis())->format()); +#endif } else { label = new QGraphicsTextItem(this); } @@ -296,9 +298,10 @@ void CartesianChartAxis::setDateTimeLabelsFormat(const QString &format) || axis()->type() != QAbstractAxis::AxisTypeDateTime) { return; } - +#if QT_CONFIG(charts_datetime_axis) for (int i = 0; i < layout().size(); i++) static_cast<DateTimeAxisLabel *>(labelItems().at(i))->setFormat(format); +#endif } void CartesianChartAxis::handleArrowPenChanged(const QPen &pen) @@ -390,12 +393,13 @@ void CartesianChartAxis::updateLabelsDateTimes() { if (max() <= min() || layout().size() < 1) return; - +#if QT_CONFIG(charts_datetime_axis) for (int i = 0; i < layout().size(); i++) { qreal value = min() + (i * (max() - min()) / (layout().size() - 1)); static_cast<DateTimeAxisLabel *>(labelItems().at(i))->setValue( QDateTime::fromMSecsSinceEpoch(value)); } +#endif } QT_CHARTS_END_NAMESPACE diff --git a/src/charts/chartdataset.cpp b/src/charts/chartdataset.cpp index e31ea513..00f2b262 100644 --- a/src/charts/chartdataset.cpp +++ b/src/charts/chartdataset.cpp @@ -51,7 +51,7 @@ #include <private/logxlogypolardomain_p.h> #include <private/glxyseriesdata_p.h> -#ifndef QT_QREAL_IS_FLOAT +#if QT_CONFIG(charts_datetime_axis) #include <QtCharts/QDateTimeAxis> #endif @@ -365,7 +365,7 @@ void ChartDataSet::createAxes(QAbstractAxis::AxisTypes type, Qt::Orientation ori case QAbstractAxis::AxisTypeCategory: axis = new QCategoryAxis(this); break; -#ifndef QT_QREAL_IS_FLOAT +#if QT_CONFIG(charts_datetime_axis) case QAbstractAxis::AxisTypeDateTime: axis = new QDateTimeAxis(this); break; diff --git a/src/charts/charts.pro b/src/charts/charts.pro index 0d86aeac..cd68e702 100644 --- a/src/charts/charts.pro +++ b/src/charts/charts.pro @@ -1,7 +1,6 @@ TARGET = QtCharts QT = core gui widgets opengl openglwidgets QT_PRIVATE += core-private -contains(QT_COORD_TYPE, float): DEFINES += QT_QREAL_IS_FLOAT QMAKE_DOCS = $$PWD/doc/qtcharts.qdocconf diff --git a/src/charts/configure.json b/src/charts/configure.json index 48d76868..ccf0a861 100644 --- a/src/charts/configure.json +++ b/src/charts/configure.json @@ -5,6 +5,12 @@ "graphicsview", "quick" ], + "tests" : { + "charts-realfloat" : { + "label": "qreal float", + "type": "detectRealFloat" + } + }, "features": { "charts-line-chart" : { "label": "Line Chart", @@ -48,6 +54,12 @@ "label": "Candlestick Chart", "purpose": "Support for candlestick charts", "output": [ "publicFeature" ] + }, + "charts-datetime-axis" : { + "label": "DateTime Axis", + "purpose": "Support for datetime axis", + "condition": "!tests.charts-realfloat", + "output": [ "publicFeature" ] } }, "summary": [ @@ -63,6 +75,12 @@ "charts-boxplot-chart", "charts-candlestick-chart" ] - } + }, + { + "section": "Qt Axis Types", + "entries" : [ + "charts-datetime-axis" + ] + } ] } diff --git a/src/chartsqml2/chartsqml2.pro b/src/chartsqml2/chartsqml2.pro index b98dd09f..02f6e4bf 100644 --- a/src/chartsqml2/chartsqml2.pro +++ b/src/chartsqml2/chartsqml2.pro @@ -8,7 +8,6 @@ DEFINES += QT_BUILD_QMLCHARTS_LIB QT += opengl qml quick QT += charts charts-private QT_PRIVATE += core-private charts-private -contains(QT_COORD_TYPE, float): DEFINES += QT_QREAL_IS_FLOAT include($$PWD/designer/designer.pri) diff --git a/src/chartsqml2/chartsqml2_plugin.cpp b/src/chartsqml2/chartsqml2_plugin.cpp index efba5372..fad0b69f 100644 --- a/src/chartsqml2/chartsqml2_plugin.cpp +++ b/src/chartsqml2/chartsqml2_plugin.cpp @@ -81,7 +81,7 @@ #include <QtCore/QAbstractItemModel> #include <QtQml> -#ifndef QT_QREAL_IS_FLOAT +#if QT_CONFIG(charts_datetime_axis) #include <QtCharts/QDateTimeAxis> #endif @@ -158,7 +158,7 @@ QML_DECLARE_TYPE(QVPieModelMapper) QML_DECLARE_TYPE(QScatterSeries) #endif -#ifndef QT_QREAL_IS_FLOAT +#if QT_CONFIG(charts_datetime_axis) QML_DECLARE_TYPE(QDateTimeAxis) #endif @@ -345,7 +345,7 @@ public: // QtCharts 1.1 qmlRegisterType<DeclarativeChart, 1>(uri, 1, 1, "ChartView"); qmlRegisterType<QValueAxis>(uri, 1, 1, "ValueAxis"); -#ifndef QT_QREAL_IS_FLOAT +#if QT_CONFIG(charts_datetime_axis) qmlRegisterType<QDateTimeAxis>(uri, 1, 1, "DateTimeAxis"); #endif qmlRegisterType<DeclarativeCategoryAxis>(uri, 1, 1, "CategoryAxis"); @@ -369,7 +369,7 @@ public: qmlRegisterType<QHXYModelMapper>(uri, 2, 0, "HXYModelMapper"); qmlRegisterType<QVXYModelMapper>(uri, 2, 0, "VXYModelMapper"); qmlRegisterType<QValueAxis>(uri, 2, 0, "ValueAxis"); -#ifndef QT_QREAL_IS_FLOAT +#if QT_CONFIG(charts_datetime_axis) qmlRegisterType<QDateTimeAxis>(uri, 2, 0, "DateTimeAxis"); #endif qmlRegisterType<DeclarativeCategoryAxis>(uri, 2, 0, "CategoryAxis"); diff --git a/src/chartsqml2/declarativechart.cpp b/src/chartsqml2/declarativechart.cpp index cdb88c09..811fb024 100644 --- a/src/chartsqml2/declarativechart.cpp +++ b/src/chartsqml2/declarativechart.cpp @@ -71,7 +71,7 @@ #include <QtCore/QThread> #include <QtQuick/QQuickWindow> -#ifndef QT_QREAL_IS_FLOAT +#if QT_CONFIG(charts_datetime_axis) #include <QtCharts/QDateTimeAxis> #endif @@ -1421,7 +1421,7 @@ QAbstractAxis *DeclarativeChart::defaultAxis(Qt::Orientation orientation, QAbstr return new QBarCategoryAxis(this); case QAbstractAxis::AxisTypeCategory: return new QCategoryAxis(this); -#ifndef QT_QREAL_IS_FLOAT +#if QT_CONFIG(charts_datetime_axis) case QAbstractAxis::AxisTypeDateTime: return new QDateTimeAxis(this); #endif diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro index 81557a7f..8e180c3d 100644 --- a/tests/auto/auto.pro +++ b/tests/auto/auto.pro @@ -1,3 +1,5 @@ +include($$OUT_PWD/../../src/charts/qtcharts-config.pri) +QT_FOR_CONFIG += charts TEMPLATE = subdirs SUBDIRS += \ qchartview \ @@ -29,9 +31,8 @@ SUBDIRS += \ qcandlestickseries \ qcandlestickset -!contains(QT_COORD_TYPE, float): { - SUBDIRS += \ - qdatetimeaxis +qtConfig(charts-datetime-axis) { + SUBDIRS += qdatetimeaxis } qtHaveModule(quick) { diff --git a/tests/auto/chartdataset/chartdataset.pro b/tests/auto/chartdataset/chartdataset.pro index d5c18732..22307d02 100644 --- a/tests/auto/chartdataset/chartdataset.pro +++ b/tests/auto/chartdataset/chartdataset.pro @@ -3,6 +3,5 @@ } QT += charts-private core-private -contains(QT_COORD_TYPE, float): DEFINES += QT_QREAL_IS_FLOAT SOURCES += tst_chartdataset.cpp diff --git a/tests/auto/chartdataset/tst_chartdataset.cpp b/tests/auto/chartdataset/tst_chartdataset.cpp index b3f40198..d9b3dbe1 100644 --- a/tests/auto/chartdataset/tst_chartdataset.cpp +++ b/tests/auto/chartdataset/tst_chartdataset.cpp @@ -33,7 +33,7 @@ #include <QtCharts/qlogvalueaxis.h> #include <QtCharts/qbarcategoryaxis.h> #include <QtCharts/qcategoryaxis.h> -#ifndef QT_QREAL_IS_FLOAT +#if QT_CONFIG(charts_datetime_axis) #include <QtCharts/qdatetimeaxis.h> #endif #include <QtCharts/qlineseries.h> @@ -213,7 +213,7 @@ void tst_ChartDataSet::addAxis_data() QAbstractAxis* logvalue = new QLogValueAxis(this); QAbstractAxis* category = new QCategoryAxis(this); QAbstractAxis* barcategory = new QBarCategoryAxis(this); -#ifndef QT_QREAL_IS_FLOAT +#if QT_CONFIG(charts_datetime_axis) QAbstractAxis* datetime = new QDateTimeAxis(this); #endif @@ -221,7 +221,7 @@ void tst_ChartDataSet::addAxis_data() QTest::newRow("logvalue") << logvalue; QTest::newRow("category") << category; QTest::newRow("barcategory") << barcategory; -#ifndef QT_QREAL_IS_FLOAT +#if QT_CONFIG(charts_datetime_axis) QTest::newRow("datetime") << datetime; #endif } diff --git a/tests/auto/qml/qml.pro b/tests/auto/qml/qml.pro index c7b808de..f116195d 100644 --- a/tests/auto/qml/qml.pro +++ b/tests/auto/qml/qml.pro @@ -3,4 +3,3 @@ } SOURCES += tst_qml.cpp QT += qml quick -contains(QT_COORD_TYPE, float): DEFINES += QT_QREAL_IS_FLOAT diff --git a/tests/auto/qml/tst_qml.cpp b/tests/auto/qml/tst_qml.cpp index b397f3d8..f6f63ed6 100644 --- a/tests/auto/qml/tst_qml.cpp +++ b/tests/auto/qml/tst_qml.cpp @@ -140,7 +140,7 @@ void tst_qml::checkPlugin_data() QTest::newRow("HBarModelMapper") << imports_1_1() + "HBarModelMapper{}"; QTest::newRow("VBarModelMapper") << imports_1_1() + "VBarModelMapper{}"; QTest::newRow("ValueAxis") << imports_1_1() + "ValueAxis{}"; -#ifndef QT_QREAL_IS_FLOAT +#if QT_CONFIG(charts_datetime_axis) QTest::newRow("DateTimeAxis") << imports_1_1() + "DateTimeAxis{}"; #endif QTest::newRow("CategoryAxis") << imports_1_1() + "CategoryAxis{}"; @@ -176,7 +176,7 @@ void tst_qml::checkPlugin_data() QTest::newRow("HBarModelMapper_2_0") << imports_2_0() + "HBarModelMapper{}"; QTest::newRow("VBarModelMapper_2_0") << imports_2_0() + "VBarModelMapper{}"; QTest::newRow("ValueAxis_2_0") << imports_2_0() + "ValueAxis{}"; -#ifndef QT_QREAL_IS_FLOAT +#if QT_CONFIG(charts_datetime_axis) QTest::newRow("DateTimeAxis_2_0") << imports_2_0() + "DateTimeAxis{}"; #endif QTest::newRow("CategoryAxis_2_0") << imports_2_0() + "CategoryAxis{}"; diff --git a/tests/manual/chartviewer/charts/charts.pri b/tests/manual/chartviewer/charts/charts.pri index 17e3d4e9..03b63648 100644 --- a/tests/manual/chartviewer/charts/charts.pri +++ b/tests/manual/chartviewer/charts/charts.pri @@ -44,8 +44,8 @@ SOURCES += \ $$PWD/domain/scatterlogxy.cpp \ $$PWD/domain/scatterxlogy.cpp -!contains(QT_COORD_TYPE, float): { -SOURCES += \ - $$PWD/axis/datetimeaxisx.cpp \ - $$PWD/axis/datetimeaxisy.cpp +qtConfig(charts-datetime-axis) { + SOURCES += \ + $$PWD/axis/datetimeaxisx.cpp \ + $$PWD/axis/datetimeaxisy.cpp } |