summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Make sure to install designer files with non-prefixed buildsAndy Nichols2021-09-043-3/+6
| | | | | | | | | | | | | | It is not enough to just call qt_copy_or_install with a DESTINATION value prefixed with only ${INSTALL_QMLDIR}/ because for non-prefixed builds this will install relative to the directory this cmake file is in. Instead we have to combine ${QT_INSTALL_DIR} with the target path to make sure the final path is always correct. This pattern is used all over, so we muse do it as well. Change-Id: I327765dd61224ff070b07a48abc424fd7dadbb37 Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io> (cherry picked from commit 76c3558507da722f7f523d36dc1cf61fdb376084) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Points selection for QSplineSeriesAndrii Staikov2021-08-301-8/+66
| | | | | | | | | | | | Points selection was implemented for QLineSeries and QScatterSeries, but not for QSplineSeries. Now points selection is supported for QSplineSeries not only by lightMarkers, but also using QXYSeries::setSelectedColor() and QXYSeries::setMarkerSize(). [qtcharts][splineseries] Task-number: QTBUG-89445 Change-Id: I26d2ed5a16afffa6b9cd813330a182156bf33cff Reviewed-by: Lukasz Kosinski <lukasz@scythe-studio.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> (cherry picked from commit c5d328b578477cddf4e094628a9dcc3b0912fa04) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add bar chart exampleAndrii Staikov2021-08-302-0/+69
| | | | | | | | | | | | Example shows using setBarSelected(). Selecting bars changes their color and information of selected/unselected bars. [QtCharts][Example] Added Example Task-number: QTBUG-89445 Change-Id: Ic863e763d2cfa552629f42afd1232c1f77b95e95 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> (cherry picked from commit 72d69b22d8da004fcb27e1a549cdda3f52b9c4af) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Drop \instantiates entryVenugopal Shivashankar2021-08-242-2/+0
| | | | | | | | | | | | | | Those C++ classes do not exist anymore. Fixes these qdoc warning: qt5/qtcharts/src/chartsqml2/declarativechart.cpp:80: (qdoc) warning: C++ class DeclarativeChart not found: \instantiates DeclarativeChart qt5/qtcharts/src/chartsqml2/declarativepolarchart.cpp:35: (qdoc) warning: C++ class DeclarativePolarChart not found: \instantiates DeclarativePolarChart Task-number: QTBUG-95860 Change-Id: Icfa42fe3d67496306a8e40096d7550da6f22e3d9 Reviewed-by: Paul Wicking <paul.wicking@qt.io> (cherry picked from commit 858d0e995f1cde3c96e73813488be406294ab0cb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Revert "Fix X axis labels to not draw over each other"Dimitrios Apostolou2021-08-191-12/+4
| | | | | | | | | | | | | | | | This reverts commit 5b6e1042bd0aa4514df71209e7784b23490dbd1e. It is reverted because it caused QTBUG-94998 (missing labels at the edges of axis). This revert reintroduces QTBUG-79218 (axis labels drawing over each other). A followup patch will fix it differently. Fixes: QTBUG-94998 Task-number: QTBUG-79218 Change-Id: I0dbb7e0a345feb9986bcf5d1d3e24d8dbea2277b Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> (cherry picked from commit 4b056cf30d5870f73ec467a963fcaaa6ec6fab46) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Display selected points regardless of QXYSeries::lightMarker()Lukas Kosinski2021-08-196-25/+119
| | | | | | | | | | | | | | | | | | Selected points needs to be displayed regardless of the visibility of other points. It was correctly implemented when not using light markers concept, but it didn't work correctly with QXYSeries::lightMarker() set to null image and valid QXYSeries::selectedLightMarker(). The fix was to change some of the conditions in linechartitem.cpp, splinechartitem.cpp and scatterchartitem.cpp. There was also a change added to scatterchartitem to use QXYSeries::pointsVisible() setting. Task-number: QTBUG-89445 Change-Id: I6010bbf6b6f670f6b0694a7612d22e353d320154 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> (cherry picked from commit 1ba0ef016e9fef13fe35235cac208d0a762b324e) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Fix the qdoc warningsVenugopal Shivashankar2021-08-183-13/+13
| | | | | | | | | | | | | | | | | | | | | | | | | qt5/qtcharts/src/chartsqml2/declarativechart.cpp:80: (qdoc) warning: C++ class DeclarativeChart not found: \instantiates DeclarativeChart qt5/qtcharts/src/chartsqml2/declarativepolarchart.cpp:35: (qdoc) warning: C++ class DeclarativePolarChart not found: \instantiates DeclarativePolarChart qt5/qtcharts/src/charts/legend/qlegend.cpp:238: (qdoc) warning: Undocumented parameter 'attachedToChart' in QLegend::attachedToChartChanged() qt5/qtcharts/src/charts/barchart/qbarset.cpp:693: (qdoc) warning: Undocumented parameter 'color' in QBarSet::setSelectedColor() qt5/qtcharts/src/charts/xychart/qxyseries.cpp:1607: (qdoc) warning: Can't link to 'QXYSeries::selectedColor()' qt5/qtcharts/src/charts/xychart/qxyseries.cpp:1624: (qdoc) warning: Undocumented parameter 'size' in QXYSeries::setMarkerSize() qt5/qtcharts/src/charts/xychart/qxyseries.cpp:1585: (qdoc) warning: Can't link to 'QXYSeries::selectedColor()' Task-number: QTBUG-95860 Change-Id: Id91d07df2caaac6de5a19536abaa56bef9686ba5 Reviewed-by: Paul Wicking <paul.wicking@qt.io> (cherry picked from commit 621d29d8f26f33c5e74c0bc839fa289019ec1825) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add module upgrade documentation pageMiikka Heikkinen2021-08-102-0/+58
| | | | | | | | Fixes: QTBUG-95307 Change-Id: Ifc5d59348d5f4c521e22a1aa7a30cef2f8dd57dd Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> (cherry picked from commit 002bbb637c25fac1617f8cd635ceca0fda62264b) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* LogValueAxis::labelFormat is a string, not a realAlbert Astals Cid2021-08-021-1/+1
| | | | | | | Change-Id: If00d0eb5c7ec10aba549393a235de5f6558e6a52 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> (cherry picked from commit b084cc1c4917cd2eb22c5cabd569a8c71d755c67) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix AxisTypeColor flag valueMiikka Heikkinen2021-06-291-1/+1
| | | | | | | | | | Other flag values are distinct bit values, so follow the logic on the new flag as well. Change-Id: I7442187b14465a0aa75e659ea1218284e0f48abb Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> (cherry picked from commit 338ff57186ee5223eb9f14856393505b44db0ae4) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Add a comment discouraging people from manually installing QML filesUlf Hermann2021-06-171-0/+4
| | | | | | | | | | | You should almost never do such a thing. Let's make sure no one cargo cults this code. Change-Id: Ice34272ab3e4e8a9bbe392c4aeda95c48baf829a Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> (cherry picked from commit 4f9baa79079d990de7aefef04b308d555689a07d) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Remove old configure-related filesJoerg Bornemann2021-06-172-155/+0
| | | | | | | | | | | | | | Remove the configure.json and configure.pri files that were used for the qmake-based configure. Remove the .prev_*.cmake files that were a by-product of configurejson2cmake.py. Task-number: QTBUG-89536 Change-Id: Ia9b0ed4dd8108d5a43cb5b6e878ac003d2d54f10 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 2d8c57704aa4b95cdeabcb448ea02ddb65415c99) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Fix qml designer files installationMiikka Heikkinen2021-06-144-205/+68
| | | | | | | | Change-Id: Ifba5203be0d10adec479c2a171d460f1675b5eca Fixes: QTBUG-94472 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io> (cherry picked from commit 519afc2f78a882c5878890547832a4ddd9a6d0c7) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Doc: Use correct return type for qmlpropertyPaul Wicking2021-06-141-1/+1
| | | | | | | | | Fixes: QTBUG-94469 Change-Id: Ice05acdcabdb5e54f3dcb60210171cea51e002eb Reviewed-by: Michal Klocek <michal.klocek@qt.io> Reviewed-by: Nico Vertriest <nico.vertriest@qt.io> (cherry picked from commit 663942a05dcfe5f77495491f0f740f1ddc430569) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
* Update Qt Charts legend example to illustrate interactivityKeith Kyzivat2021-06-083-14/+34
| | | | | | | | | Example cleaned up and organized, and interactive checkbox is added to allow user to see how an interactive legend works. Task-number: QTBUG-93477 Change-Id: I855283ad8fffd61b23cf021ab41530255abfbd47 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* Fix revisioning of a newly added propertyMiikka Heikkinen2021-06-071-2/+2
| | | | | Change-Id: I01428961dcad76e23cb30d50eadaada1583cf881 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Use empty string instead of QString("")Kai Köhne2021-06-077-10/+10
| | | | | | | | | | | | | Fixes deprecation warnings like declarativebarseries.cpp(38): warning C4996: 'QString::QString': Use fromUtf8, QStringLiteral, or QLatin1String There is an API difference between a QString() and an empty string, (QString::isNull), but a good API shouldn't rely on this. Change-Id: I341b066758ce05a7578ebad8bb9c1df3f2ea5370 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Port to new CMake qml APIFabian Kosmale2021-06-053-156/+80
| | | | | Change-Id: I043af5dabef71aa08b19252b0ecee6663ca25a7d Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Bound geometry to content on detachKeith Kyzivat2021-06-043-1/+44
| | | | | | | | | When detaching a legend, bound the geometry to the content, so the detached legend is of a reasonable size. Task-number: QTBUG-94089 Change-Id: Iecae338993b5476c6a631805be2eafb28ef95ac3 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Remove inner detached legend borderKeith Kyzivat2021-06-041-12/+0
| | | | | | | | | Remove the inner border designating the legend area for resizing. It is superfluous. Task-number: QTBUG-93477 Change-Id: I165a1e8153255bda5815ad3b6c44925b5c557c8f Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Support for custom light markers for selected points added to QXYSeriesLukas Kosinski2021-06-047-15/+118
| | | | | | | | | | Light markers and normal points are rather not used together, so selectedLightMarker feature was added to QXYSeries to highlight selected points using custom QImage. Task-number: QTBUG-89445 Change-Id: I199a0fe21e486240c2674ec042307ecd64aa3a35 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Port charts to new property registration systemFabian Kosmale2021-06-0319-3667/+614
| | | | | | Change-Id: I3d24eb8e5c0fdb718971535c2d2126dcf67a660f Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* Add colorBy method to QXYSeries and QColorAxisLukas Kosinski2021-06-0320-60/+1288
| | | | | | | | | | | | | | This feature adds the availability to pass list of values that will be used to colorize points using points configuration feature according to the gradient. Gradient can be either set when calling the colorBy method or can be taken from attached QColorAxis. QColorAxis displays color scale widget with ticks and range based on data passed as colorBy method's parameter. Task-number: QTBUG-89447 Change-Id: I611048fac0e787e0a1eeaf181c5d8e8a8354fac5 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add optional labels truncation to QAbstractAxisLukas Kosinski2021-06-027-15/+140
| | | | | | | | | | | | | | | | | This is a feature that allows users to switch off labels truncation that is by default performed if there is too little space for the label. By default truncateLabels is true, so it doesn't change previous behavior. If user doesn't want to have truncated labels, he can switch them off explicitly. There is also a labelsTruncated method added that returns true if there is at least one truncated label and false otherwise. The reason for this is to be able to programmatically check if labels are truncated. Task-number: QTBUG-89444 Change-Id: I8ab18a8d0335ddf31baf443a2046fee89ce58b38 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add sizeBy method to QXYSeriesLukas Kosinski2021-06-022-0/+41
| | | | | | | | | | | | This feature adds the availability to pass list of values that will be used to change points's sizes using points configuration feature. Size of the particular point is calculated by mapping corresponding value to range built upon passed values. Then it's adjusted by provided minimum and maximum size. Task-number: QTBUG-89448 Change-Id: I3f2fe4464ace34f64b381cd61184c743814a2f10 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Rename ChartAxisElement::isEmpty to not collide with QGraphicsLayoutItemKeith Kyzivat2021-06-016-9/+9
| | | | | | | | | | | Rename ChartAxisElement::isEmpty so it no longer collides with QGraphicsLayoutItem::isEmpty, which was introduced in Qt 6.0. Task-number: QTBUG-92586 Change-Id: I14f062e7a0cb090d7da435edfa22d1c447cc1a13 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add move and resize to QLegendKeith Kyzivat2021-06-019-21/+629
| | | | | | | | | | | | | | | | | | | | | | | This feature adds the ability to move and resize the chart legend when it is not attached to the chart. It does not put a separate frame around the legend, but instead takes control of mouse messages when the mouse cursor is between the content area and the border of the legend. The user can drag the legend around when they click and drag the top edge of a detached legend. A visual rectangle is painted when the user positions the cursor at the top of a detached legend. This area identifies the region they can use to drag the legend around. If the mouse pointer is moved beyond the edge of the chart, it will attach to the edge that the mouse moved off of. The legend remains bound to the area of the chart, even if dragging would have moved an edge of the legend beyond the edge of the chart. An attached legend can be detached by double clicking it. Task-number: QTBUG-93477 Change-Id: I5adff45802ba326004f2ffebe27357c8f8b138d0 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* QBarSet: Support for bars selectionLukas Kosinski2021-06-016-12/+302
| | | | | | | | | | | This feature allows user to mark desired bars as selected. Selected bars can have other color than other bars. The changes were made in abstractbarchartitem and qbarset. The idea is to add more interactivity to bar charts. Task-number: QTBUG-89445 Change-Id: I7db178c5e85c1872be9f1d7117c1ecd9299edde7 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Problem with coloring unselected points in linechartitem.cpp fixedLukas Kosinski2021-06-011-0/+3
| | | | | | | | | | There was a problem occurring when user selected a point and all points after that point were also colored in the same way as normal points. It was fixed by saving and restoring QPainter when needed. Task-number: QTBUG-94025 Change-Id: I26aca0c93c8dd6e321ce66ec4f3dba9a688a6b2e Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Chart item mouse click handling if chart rubber band enabledKeith Kyzivat2021-05-316-9/+30
| | | | | | | | | | | | | | | | | | | | | Pass left mouse clicks on to underlying Qt Chart items if those items accept left mouse clicks, in all cases. Previous to this change if QChartView's setRubberBand feature was enabled, left clicks were always handled by the QChartView to start showing the rubber band selection. With this change, if the mouse is over a QGraphicsItem in the scene that accepts Qt::LeftMouse button, then the click is passed on to the item. To make this work, some QGraphicsItems that are created in the chart needed to properly mark their acceptance of mouse buttons using QGraphicsItem::setAcceptedMouseButtons, as the default is to accept all mouse buttons. Task-number: QTBUG-94035 Change-Id: I4f2ec3823b10acbb5ef5195454ab5461d04b75da Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Add QLegend::attachedToChartChanged signalKeith Kyzivat2021-05-282-2/+14
| | | | | | | | | This will allow users to hook into when the legend is attached or detached. Task-number: QTBUG-93981 Change-Id: I3a0258a6c4c82a1feb005ac2df95a11e6f96d509 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Improve legend marker truncation behaviorKeith Kyzivat2021-05-282-4/+8
| | | | | | | | | | Add tooltips to markers in addition to the text. Remove marker label text entirely if it elides down to just "...". Fix double-counting of left and right layout margins in truncation code. Task-number: QTBUG-93986 Change-Id: I58935cf77c722dc9346c5046540e46411a406e3a Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Eliminate redundant code from setDettachedGeometryKeith Kyzivat2021-05-281-79/+23
| | | | | | | | | | | | | This just eliminates some redundant code in setDettachedGeometry. AlignTop and AlignBottom cases were combined, with only specific lines differing having conditional logic based on the top case and bottom case needing to be handled differently. The logic remains the same. This was also repeated for AlignLeft and AlignRight cases. Change-Id: Ie55e1d09cbfcb279bf5d692c31529444c9d5b7b7 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix MSVC warning C4267Kai Köhne2021-05-272-2/+2
| | | | | | | | | QOpenGLBuffer::allocate expects an int, not a size_t: warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data Change-Id: I3aea8924ec853662735ccca079e9f79509ff90ac Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Doc: Use \deprecated instead of \obsoletePaul Wicking2021-05-251-1/+1
| | | | | | Task-number: QTBUG-93990 Change-Id: I9715d5a84a6e5756138de1005cce1ad036e4bd20 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* Add custom legend markers to XYChart based chartsKeith Kyzivat2021-05-2519-240/+437
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is a feature which uses the light marker assigned to a series as the marker in the legend. The Scatter chart had similar functionality, but the Line and Spline charts did not. The Scatter chart is still able to use the series brush as a marker as previously implemented. This change does not break backward compatibility with Scatter charts. The marker size property of the Scatter series was moved to XYSeries so it can be used by Line and Spline. This has the benefit of allowing the user to specify the size of the light marker on the chart and on the legend. The new API allowed the legend to deal with any XYSeries subclass without regard to its implementation. Instead of adding a new QGraphicsViewItem to the LegendMarkerItem, the light marker, if present, is simply painted on the LegendMarkerItem. This was the simplest path to implement the desired feature and did not require a complete rework of the existing marker item code. This also adds rotated rectangle, triangle, star and pentagon to the explicitly set shape types that can be specified in the legend. Task-number: QTBUG-93365 Change-Id: I2ee3cbbe9eae051f48d4528fbde351caf5e2922f Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Replace qCeil/qFloor with std::ceil/floorDimitrios Apostolou2021-05-217-14/+14
| | | | | | | | | when a qreal result is expected. This avoids unnecessary type conversions and protects against int overflow. Change-Id: I420661e9948100ffbad661411df65906396689f9 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Remove unnecessary cast int(qFloor())Dimitrios Apostolou2021-05-216-9/+9
| | | | | | | | qFloor() already returns int. Change-Id: I62f13a5f270f0881b8de289147550ef901274939 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Replace code with simpler but equivalent codeDimitrios Apostolou2021-05-214-33/+27
| | | | | | | | | | | | The if-branching is unnecessary because ceil(a-b) == -floor(b-a) Also add comments to clarify subtle differences in seemingly identical code snippets. Change-Id: Idfd72e4aecf53805183f5b2741336d805fbfbb6a Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Fix assert crash when zooming too muchDimitrios Apostolou2021-05-214-6/+6
| | | | | | | | | | | | | | | Remove usage of qFuzzyCompare() when zooming in/out on the cartesian axis charts. Floating point comparisons work fine after the previous patch removed qCeil() and int() so that no conversions to integral types happen any longer. Now one can zoom in/out as much as he likes without any crashes or hangs. Task-number: QTBUG-93672 Change-Id: I72eae8ae2151f41efda0e37a26a8f66a3d93d26b Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Avoid infinite allocating loop when zooming in too muchDimitrios Apostolou2021-05-214-16/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | Use standard library ceil() and floor() instead of qCeil() and int(), because the latter return int, and in-between converting to/from floating-point math, the integer arithmetic causes wrap-arounds. To be more specific, the following part qCeil((minValue - value) / interval) returns a negative number because of int overflow, when the values are: minValue = 29.999999972060323 value = 0.0 interval = 9.3132257461547852e-09 As a result of this fix, the infinite allocating loop is avoided, but the program terminates with the following Q_ASSERT() when zooming in towards the limits of floating point precision. ASSERT: "labels.size() == labelList.size()" in file ../qt5/qtcharts/src/charts/axis/horizontalaxis.cpp, line 91 Task-number: QTBUG-93672 Change-Id: I5db17a55c3b10cfcb4e093f0ab78edb49f040a8c Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
* Possibility to set configuration of single point in QXYSeriesLukas Kosinski2021-05-218-42/+483
| | | | | | | | | | | | | This feature allows to set configuration of every single point in QXYSeries. As for now it is possible to change point's visibility, point's label's visibility, point's color and point's size. Configuration of a point overrides settings from series. Configuration can be cleared anytime. Task-number: QTBUG-89452 Change-Id: I885b1f0dc69df3cd263c143841cd9ee07f8a9cc6 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Best fit line support added to QXYSeriesLukas Kosinski2021-05-206-2/+201
| | | | | | | | | | | Best fit line reflects trend of points data set. This feature allows user to show and hide such a line on the chart. Look of the line can be adjusted by setting the pen for best fit line. Method to get factors (slope and intercept) of the best fit line added. Task-number: QTBUG-89453 Change-Id: I1c9660e04462352f6b4876e56eebb16b0de83a76 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix X axis labels to not draw over each otherDimitrios Apostolou2021-05-121-4/+12
| | | | | | | | | | | | | | | | When the label numbers on the Y axis become too wide then the plot area width is shrunk to accommodate for that. But the X axis label numbers were calculated for the wider X axis, and printed on the shrunk X axis, so they overlapped each other. This is addressed in the Qt::AlignBottom part of the fix. Presumably the same issue happens with different alignments so respective change has been applied to those too. Fixes: QTBUG-79218 Pick-to: 6.1 5.15 Change-Id: I2ad8c62f8c8d6308ab13b9da42fa6bd5e9192ee3 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add comments and clarify some codeDimitrios Apostolou2021-05-122-6/+13
| | | | | | Pick-to: 6.1 5.15 Change-Id: Ib0280e18d8e788631ae3c11674398c2725cbafa6 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* CMake: fix "$$QT_VERSION" in TARGET_PRODUCTLi Xinwei2021-05-101-1/+1
| | | | | | | | | | | | If you install Qt 6.1 on Windows, right click Qt6Charts.dll to view its properties, you can see "Qt Charts (Qt $$QT_VERSION)", it's wrong. "$$QT_VERSION" is "qmake-style", cannot be identified by CMake. In CMake, we should use "${PROJECT_VERSION}" instead. Pick-to: 6.1 Change-Id: I69e0f4e46b236a7f345d1578fff49eb39513a067 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
* QXYSeries: Add light markerLukas Kosinski2021-05-079-15/+244
| | | | | | | | | | | | | | | Now you can setLightMarker(QImage) on any QXYSeries. Which will result in that image being painted on all points of the series. Setting to a null/empty-image (also default value) will disable this again. Mouse events supported added as well. Task-number: QTBUG-92884 Change-Id: Ic28e67e74b190fdb249cdc3ac48af59d0cc29bd6 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* QXYSeries: Support for selection in a plotLukas Kosinski2021-05-076-9/+297
| | | | | | | | | | | | | | In order to support selection of points in a chart there is a support for this in scatterchartitem and linechartitem. The interface for that is available on QXYSeries level. Selected points can have changed color and they are a bit bigger than other points. Selected points are visible regardless of other points visibility. Task-number: QTBUG-89445 Change-Id: I6d11afa84288f4f949e53b005410659b0ecf3c55 Reviewed-by: Keith Kyzivat <keith.kyzivat@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add text bounds cacheAntti Määttä2021-05-071-5/+46
| | | | | | | | | | | | | | | Improve performance by caching recently used text bounds. Charts keeps requesting bounds for the same text multiple times. Store the recently requested bounds to a cache to improve performance. In android device reduces the frame time by about 30 % and in windows reduces the total time spent in native text function used to get the bounds from 8.5% to 3.1%. Fixes: QTBUG-59040 Pick-to: 5.15 6.1 Change-Id: I8a2fd89f2f2076e0c9364618a4cdc2596e0087a1 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Remove left-over .pri filesJoerg Bornemann2021-05-0516-511/+0
| | | | | | Task-number: QTBUG-88742 Change-Id: I95eef560adfc2bbcd4b9ab42f76f0bb72afdedee Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>