summaryrefslogtreecommitdiffstats
path: root/src/charts/xychart/xychart.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use SPDX license identifiersLucie Gérard2022-06-161-28/+2
| | | | | | | | | | | Replace the current license disclaimer in files by a SPDX-License-Identifier. License files are organized under LICENSES directory. Pick-to: 6.4 Task-number: QTBUG-67283 Change-Id: Ibb797d52859b5c504f7300f4a5dc956a7b44ac11 Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
* Display selected points regardless of QXYSeries::lightMarker()Lukas Kosinski2021-08-191-7/+17
| | | | | | | | | | | | | | | | | 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 Pick-to: 6.2 Change-Id: I6010bbf6b6f670f6b0694a7612d22e353d320154 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Add custom legend markers to XYChart based chartsKeith Kyzivat2021-05-251-13/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* QXYSeries: Add light markerLukas Kosinski2021-05-071-0/+29
| | | | | | | | | | | | | | | 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>
* Remove charts namespace for Qt6Michal Klocek2020-11-061-2/+2
| | | | | | | | | This auto refactor to remove charts namespace, just use qt one. [ChangeLog] Use QT_NAMESPACE as other modules. Change-Id: I7722ed2ff5cd84c594ea96db15e5df50a24f06b4 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Use QList instead of QVectorJarek Kobus2020-06-261-19/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notice the following API changes: -void QXYSeries::replace(QVector<QPointF> points); +void QXYSeries::replace(const QList<QPointF> &points); -bool QAbstractBarSeries::append(QVector<QBarSet *> sets); +bool QAbstractBarSeries::append(const QList<QBarSet *> &sets); -void QAbstractBarSeries::barsetsAdded(QVector<QBarSet *> sets); +void QAbstractBarSeries::barsetsAdded(const QList<QBarSet *> &sets); -void QAbstractBarSeries::barsetsRemoved(QVector<QBarSet *> sets); +void QAbstractBarSeries::barsetsRemoved(const QList<QBarSet *> &sets); -bool QBoxPlotSeries::append(QVector<QBoxSet *> boxes); +bool QBoxPlotSeries::append(const QList<QBoxSet *> &boxes); -bool QBoxPlotSeries::append(QVector<QBoxSet *> boxes); +bool QBoxPlotSeries::append(const QList<QBoxSet *> &boxes); -void QBoxPlotSeries::boxsetsAdded(QVector<QBoxSet *> sets); +void QBoxPlotSeries::boxsetsAdded(const QList<QBoxSet *> &sets); -void QBoxPlotSeries::boxsetsRemoved(QVector<QBoxSet *> sets); +void QBoxPlotSeries::boxsetsRemoved(const QList<QBoxSet *> &sets); -bool QPieSeries::append(QVector<QPieSlice *> slices); +bool QPieSeries::append(const QList<QPieSlice *> &slices); -QPieSlice *QPieSeries::append(QString label, qreal value); +QPieSlice *QPieSeries::append(const QString &label, qreal value); -void QPieSeries::added(QVector<QPieSlice *> slices); +void QPieSeries::added(const QList<QPieSlice *> &slices); -void QPieSeries::removed(QVector<QPieSlice *> slices); +void QPieSeries::removed(const QList<QPieSlice *> &slices); These should be source compatible changes. Task-number: QTBUG-84469 Change-Id: I153796e9d8244c8e22819993ef26aa91e7b71f99 Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
* Fix namespaced buildLiang Qi2018-10-041-2/+2
| | | | | | | | | | | It is not allowed to include files within Qt namespace. This amends a93849d0. See 5b99f3a3 in qtbase dev. Task-number: QTBUG-70907 Change-Id: I37f0924429313f2251f656bcd5b6b248a22ccfbb Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Fix crash on charts initialization when useOpenGL is setv5.8.0-rc1Miikka Heikkinen2016-12-171-1/+2
| | | | | | | | | | In some common QML use cases, presenter can be null in XYChart::refreshGlChart(), leading to a crash. Task-number: QTBUG-57680 Change-Id: I41c7980adfe097039f09d75acfcb213740d50f72 Reviewed-by: Mika Salmela <mika.salmela@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-09-061-0/+6
|\ | | | | | | | | | | | | | | | | | | | | Conflicts: examples/charts/charts.pro src/charts/glwidget.cpp src/chartsqml2/declarativechart.cpp src/chartsqml2/declarativeopenglrendernode.cpp tests/auto/auto.pro Change-Id: If909b4b13844c474bf4898a66ee01ac111d0a248
| * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-08-111-0/+6
| |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/charts/glwidget.cpp src/charts/xychart/glxyseriesdata_p.h src/chartsqml2/declarativerendernode.cpp Change-Id: I611ff3a7874ceb7dddcf0f4d069927a9899a986d
| | * Make OpenGL accelerated series obey series visibilityMiikka Heikkinen2016-08-021-0/+6
| | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-54914 Change-Id: Ia55274aee13e3d700f75a1521be26ed78bddba8d Reviewed-by: Janne Koskinen <janne.p.koskinen@theqtcompany.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* | | Add mouse events support for OpenGL accelerated seriesMiikka Heikkinen2016-08-241-0/+2
|/ / | | | | | | | | | | | | | | | | | | On QML side, the mouse events for accelerated series work asynchronously, as the rendering is typically done in a different thread. Change-Id: I08c478768b40ed90b34b0904b7a3e74e315c3caa Reviewed-by: Mika Salmela <mika.salmela@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* | Merge remote-tracking branch 'origin/5.6' into 5.7v5.7.0-alpha1Liang Qi2016-02-151-1/+1
|\| | | | | | | | | | | | | Conflicts: sync.profile Change-Id: Icdf61d347a6d0b3624867ceb8c1e4220c6c78a76
| * Explicitly update GLWidget when we set new pointsMiikka Heikkinen2016-02-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | QOpenGLWidget was modified to not trigger some extra paint calls, which charts used to rely on, so now we do explicit updates instead. Change-Id: Ibe06c2f88ac7efe4e61351d582f2eff9d350f073 Task-number: QTBUG-51000 Reviewed-by: Tomi Korpipää <tomi.korpipaa@theqtcompany.com> Reviewed-by: Mika Salmela <mika.salmela@theqtcompany.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
* | Updated licenseMiikka Heikkinen2016-01-131-9/+17
|/ | | | | | Change-Id: I7ad9838039b56b9e3a7fe2c42a2d8ff818f393fb Reviewed-by: Titta Heikkala <titta.heikkala@theqtcompany.com> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
* Updated license headersTitta Heikkala2015-10-201-17/+20
| | | | | Change-Id: Ic72ee3c9723c2b3f3368c79219b7468f5d95aa84 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
* Accelerating lineseries with OpenGLMiikka Heikkinen2015-09-251-46/+73
| | | | | | | | | | | | Added support for QAbstractSeries::useOpenGL property. When true, the series in question is drawn on a separate offscreen buffer using OpenGL and then superimposed on the chart. Currently this property is only supported for line and scatter series. Change-Id: I174fec541f9f3c23464270c1fe08f824af16a0fb Reviewed-by: Titta Heikkala <titta.heikkala@theqtcompany.com> Reviewed-by: Tomi Korpipää <tomi.korpipaa@theqtcompany.com>
* Add a method to remove more than one point to QXYSeriesMiikka Heikkinen2015-09-111-0/+18
| | | | | | Task-number: QTRD-3688 Change-Id: Iaea85c5f07740aeaf35ff34a2c5227c5105f2f25 Reviewed-by: Titta Heikkala <titta.heikkala@theqtcompany.com>
* Copyright header changesTitta Heikkala2015-04-231-3/+3
| | | | | | | Copyright header changes for Qt 5.5. Change-Id: I2b8e9356997de2c87a7436bcefd4d0948d566259 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
* Updated license headersTitta Heikkala2014-11-121-9/+7
| | | | | | | Updated new license headers and added missing ones to qdoc files. Change-Id: I9f2af2a8b44c3ebf19fd494628dfaa8775a47b06 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
* Add pressed, released and doubleClicked signalsTitta Heikkala2014-11-121-0/+3
| | | | | | | | | Added pressed, released and doubleClicked signals for all series. The signals are also added to QPieSlice and QBoxPlotSet. Change-Id: If94948be439a3b53ed48c02d0092091e836222a4 Task-number: QTRD-2384 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
* Fix include syntaxTitta Heikkala2014-10-201-9/+9
| | | | | | | | | The includes for the whole project are changed to syntax: '#include <module/class> Change-Id: If32f8b6c3f47516ad6bc30ed40789ea9042d5664 Task-number: QTRD-3373 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>
* Qt Charts project file structure changeTitta Heikkala2014-10-141-0/+189
Charts repository structure is changed to follow the structure of a Qt Add-On module. The task includes following changes: - All macros and definitions named 'commercial' have been renamed. - Compile errors related to QString and qSort usage have been fixed. - Old demos are moved under examples. The QML examples now support only Qt Quick 2.0, the support for Qt Quick 1 is removed. - The QML examples with multiple views are updated so that they are usable also with touch devices. - Unnecessary version checks are removed from examples. - The build stamp has been removed as it was only meant for Charts development purposes and it's no longer needed. Also development build related debug prints are removed as __DATE__ can't be used for all OS thus it doesn't make much sense. - Documentation structure has been updated based on the new module structure. The raw HTML files have been removed. Demos are combined to examples. - Unnecessary .qdocinc files are no longer needed. The content is moved to the corresponding .cpp files. - The Charts widget designer plugin is updated according to the module change. - The test cases updated according to the project structure change. Tests are added also for version 2.0. - cmake modules generation is not needed with Qt 5.4 and Qt Charts so it's disabled. - The new module name and version are updated to the plugin.qmltypes file. Task-number: QTRD-2844, QTRD-3217, QTRD-3218, QTRD-3277, QTRD-3228, QTRD-2526, QTRD-3233, QTRD-3222 Change-Id: Ib7fb26057cde710ffaf6bc780c8bf52a16f45160 Reviewed-by: Miikka Heikkinen <miikka.heikkinen@theqtcompany.com>