summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Klocek <michal.klocek@qt.io>2020-07-27 11:26:15 +0200
committerMichal Klocek <michal.klocek@qt.io>2020-11-06 12:17:43 +0100
commit71cb91cfba5ab7db2b2415a48881aeba37d71438 (patch)
tree95f91556531ee6a7d153315cd3e5359cf0dce177
parent36c9c74023edb39d6ab64fb0d6c789575cdccdbd (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.pri6
-rw-r--r--examples/charts/charts.pro8
-rw-r--r--src/charts/axis/axis.pri2
-rw-r--r--src/charts/axis/cartesianchartaxis.cpp8
-rw-r--r--src/charts/chartdataset.cpp4
-rw-r--r--src/charts/charts.pro1
-rw-r--r--src/charts/configure.json20
-rw-r--r--src/chartsqml2/chartsqml2.pro1
-rw-r--r--src/chartsqml2/chartsqml2_plugin.cpp8
-rw-r--r--src/chartsqml2/declarativechart.cpp4
-rw-r--r--tests/auto/auto.pro7
-rw-r--r--tests/auto/chartdataset/chartdataset.pro1
-rw-r--r--tests/auto/chartdataset/tst_chartdataset.cpp6
-rw-r--r--tests/auto/qml/qml.pro1
-rw-r--r--tests/auto/qml/tst_qml.cpp4
-rw-r--r--tests/manual/chartviewer/charts/charts.pri8
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
}