diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2023-10-04 12:06:57 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2024-02-28 16:52:41 +0100 |
commit | bb35f031a9680be6f8cf92ddc8e2cc9f3e309612 (patch) | |
tree | 171f3e32c4c247ab0383dbc45591071c2c0272fa /sources/pyside6/PySide6 | |
parent | b08c24890d8c5c09ba7a25a69c8c3600dcca5dc3 (diff) |
Adapt to QtGraphs changed API
Task-number: QTBUG-114091
Task-number: PYSIDE-2497
Change-Id: I62b6c50ea4cafd240ef75b2814849821f4eb2c3b
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/pyside6/PySide6')
-rw-r--r-- | sources/pyside6/PySide6/QtGraphs/CMakeLists.txt | 14 | ||||
-rw-r--r-- | sources/pyside6/PySide6/QtGraphs/qtgraphs_helper.cpp | 30 | ||||
-rw-r--r-- | sources/pyside6/PySide6/QtGraphs/typesystem_graphs.xml | 257 | ||||
-rw-r--r-- | sources/pyside6/PySide6/glue/qtgraphs.cpp | 2 | ||||
-rw-r--r-- | sources/pyside6/PySide6/qtgraphs_helper.h | 4 |
5 files changed, 82 insertions, 225 deletions
diff --git a/sources/pyside6/PySide6/QtGraphs/CMakeLists.txt b/sources/pyside6/PySide6/QtGraphs/CMakeLists.txt index 1fc47dc8f..751f8108e 100644 --- a/sources/pyside6/PySide6/QtGraphs/CMakeLists.txt +++ b/sources/pyside6/PySide6/QtGraphs/CMakeLists.txt @@ -6,6 +6,7 @@ project(QtGraphs) list(APPEND QtGraphs_src "${QtGraphs_SOURCE_DIR}/qtgraphs_helper.cpp") set(QtGraphs_SRC +# 3D ${QtGraphs_GEN_DIR}/qabstract3daxis_wrapper.cpp ${QtGraphs_GEN_DIR}/qcategory3daxis_wrapper.cpp ${QtGraphs_GEN_DIR}/qlogvalue3daxisformatter_wrapper.cpp @@ -41,6 +42,19 @@ ${QtGraphs_GEN_DIR}/q3dinputhandler_wrapper.cpp ${QtGraphs_GEN_DIR}/qabstract3dinputhandler_wrapper.cpp ${QtGraphs_GEN_DIR}/qtouch3dinputhandler_wrapper.cpp ${QtGraphs_GEN_DIR}/q3dtheme_wrapper.cpp +# 2D +${QtGraphs_GEN_DIR}/qbarcategoryaxis_wrapper.cpp +${QtGraphs_GEN_DIR}/qabstractaxis_wrapper.cpp +${QtGraphs_GEN_DIR}/qvalueaxis_wrapper.cpp +${QtGraphs_GEN_DIR}/qabstractbarseries_wrapper.cpp +${QtGraphs_GEN_DIR}/qbarseries_wrapper.cpp +${QtGraphs_GEN_DIR}/qbarset_wrapper.cpp +${QtGraphs_GEN_DIR}/qlineseries_wrapper.cpp +${QtGraphs_GEN_DIR}/qabstractseries_wrapper.cpp +${QtGraphs_GEN_DIR}/qscatterseries_wrapper.cpp +${QtGraphs_GEN_DIR}/qgraphtheme_wrapper.cpp +${QtGraphs_GEN_DIR}/qseriestheme_wrapper.cpp +${QtGraphs_GEN_DIR}/qxyseries_wrapper.cpp # module is always needed ${QtGraphs_GEN_DIR}/qtgraphs_module_wrapper.cpp ) diff --git a/sources/pyside6/PySide6/QtGraphs/qtgraphs_helper.cpp b/sources/pyside6/PySide6/QtGraphs/qtgraphs_helper.cpp index 05d6b00a3..19fe4f818 100644 --- a/sources/pyside6/PySide6/QtGraphs/qtgraphs_helper.cpp +++ b/sources/pyside6/PySide6/QtGraphs/qtgraphs_helper.cpp @@ -18,28 +18,28 @@ static void populateArray(double xStart, double deltaX, double zStart, double de const qsizetype zStride = zStrideBytes / sizeof(T); double z = zStart; for (qsizetype zi = 0; zi < zSize; ++zi) { - auto *row = new QSurfaceDataRow; - row->reserve(xSize); - result->append(row); + QSurfaceDataRow row; + row.reserve(xSize); double x = xStart; auto *rowDataEnd = data + xSize; for (auto *d = data; d < rowDataEnd; ++d) { - row->append(QSurfaceDataItem(QVector3D(x, *d, z))); + row.append(QSurfaceDataItem(QVector3D(x, *d, z))); x += deltaX; } + result->append(row); data += zStride; z += deltaZ; } } -QSurfaceDataArray *surfaceDataFromNp(double xStart, double deltaX, double zStart, double deltaZ, - PyObject *pyData) +QSurfaceDataArray surfaceDataFromNp(double xStart, double deltaX, double zStart, double deltaZ, + PyObject *pyData) { static const char funcName[] = "QSurfaceDataProxy.resetArrayNp"; - auto *result = new QSurfaceDataArray; + QSurfaceDataArray result; auto view = Shiboken::Numpy::View::fromPyObject(pyData); if (!view) { @@ -59,35 +59,35 @@ QSurfaceDataArray *surfaceDataFromNp(double xStart, double deltaX, double zStart switch (view.type) { case Shiboken::Numpy::View::Int16: populateArray(xStart, deltaX, zStart, deltaZ, xSize, zSize, view.stride[0], - reinterpret_cast<const int16_t *>(view.data), result); + reinterpret_cast<const int16_t *>(view.data), &result); break; case Shiboken::Numpy::View::Unsigned16: populateArray(xStart, deltaX, zStart, deltaZ, xSize, zSize, view.stride[0], - reinterpret_cast<const uint16_t *>(view.data), result); + reinterpret_cast<const uint16_t *>(view.data), &result); break; case Shiboken::Numpy::View::Int: populateArray(xStart, deltaX, zStart, deltaZ, xSize, zSize, view.stride[0], - reinterpret_cast<const int *>(view.data), result); + reinterpret_cast<const int *>(view.data), &result); break; case Shiboken::Numpy::View::Unsigned: populateArray(xStart, deltaX, zStart, deltaZ, xSize, zSize, view.stride[0], - reinterpret_cast<const unsigned *>(view.data), result); + reinterpret_cast<const unsigned *>(view.data), &result); break; case Shiboken::Numpy::View::Int64: populateArray(xStart, deltaX, zStart, deltaZ, xSize, zSize, view.stride[0], - reinterpret_cast<const int64_t *>(view.data), result); + reinterpret_cast<const int64_t *>(view.data), &result); break; case Shiboken::Numpy::View::Unsigned64: populateArray(xStart, deltaX, zStart, deltaZ, xSize, zSize, view.stride[0], - reinterpret_cast<const uint64_t *>(view.data), result); + reinterpret_cast<const uint64_t *>(view.data), &result); break; case Shiboken::Numpy::View::Float: populateArray(xStart, deltaX, zStart, deltaZ, xSize, zSize, view.stride[0], - reinterpret_cast<const float *>(view.data), result); + reinterpret_cast<const float *>(view.data), &result); break; case Shiboken::Numpy::View::Double: populateArray(xStart, deltaX, zStart, deltaZ, xSize, zSize, view.stride[0], - reinterpret_cast<const double *>(view.data), result); + reinterpret_cast<const double *>(view.data), &result); break; } diff --git a/sources/pyside6/PySide6/QtGraphs/typesystem_graphs.xml b/sources/pyside6/PySide6/QtGraphs/typesystem_graphs.xml index eb893b2a0..a0c22cf9c 100644 --- a/sources/pyside6/PySide6/QtGraphs/typesystem_graphs.xml +++ b/sources/pyside6/PySide6/QtGraphs/typesystem_graphs.xml @@ -14,40 +14,6 @@ <function signature="qDefaultSurfaceFormat(bool)"/> - <primitive-type name="QBarDataArray"> - <include file-name="qbardataproxy.h" location="global"/> - <conversion-rule> - <native-to-target> - <insert-template name="cppqlistofptrtoqlists_to_py_conversion"> - <replace from="%INTYPE_0" to="QBarDataItem"/> - </insert-template> - </native-to-target> - <target-to-native> - <add-conversion type="PySequence"> - <insert-template name="py_to_cppqlistofptrtoqlists_conversion"> - <replace from="%OUTTYPE_0" to="QBarDataItem"/> - </insert-template> - </add-conversion> - </target-to-native> - </conversion-rule> - </primitive-type> - <primitive-type name="QSurfaceDataArray"> - <include file-name="qsurfacedataproxy.h" location="global"/> - <conversion-rule> - <native-to-target> - <insert-template name="cppqlistofptrtoqlists_to_py_conversion"> - <replace from="%INTYPE_0" to="QSurfaceDataItem"/> - </insert-template> - </native-to-target> - <target-to-native> - <add-conversion type="PySequence"> - <insert-template name="py_to_cppqlistofptrtoqlists_conversion"> - <replace from="%OUTTYPE_0" to="QSurfaceDataItem"/> - </insert-template> - </add-conversion> - </target-to-native> - </conversion-rule> - </primitive-type> <object-type name="QAbstract3DAxis"> <enum-type name="AxisOrientation"/> @@ -63,37 +29,12 @@ </modify-function> </object-type> <object-type name="QValue3DAxisFormatter"> - <inject-code class="native" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="qvalue3daxisformatter-friend"/> <modify-function signature="createNewInstance() const"> <modify-argument index="return"> <define-ownership class="native" owner="c++"/> <define-ownership class="target" owner="default"/> </modify-argument> </modify-function> - <!-- PYSIDE-2025: gridPositions(), labelPositions(), labelStrings() return - non-const-references to lists for modifications. Add setters for them. --> - <add-function signature="setGridPositions(const QList<float>&@grid_positions@)"> - <inject-documentation format="target" mode="append"> - Sets the normalized grid line positions to ``grid_positions``. - </inject-documentation> - <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="qvalue3daxisformatter-setgridpositions"/> - </add-function> - <add-function signature="setLabelPositions(const QList<float>&@label_positions@)"> - <inject-documentation format="target" mode="append"> - Sets the normalized label positions to ``label_positions``. - </inject-documentation> - <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="qvalue3daxisformatter-setlabelpositions"/> - </add-function> - <add-function signature="setLabelStrings(const QStringList&@label_strings@)"> - <inject-documentation format="target" mode="append"> - Sets the label strings to ``label_strings``. - </inject-documentation> - <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="qvalue3daxisformatter-setlabelstrings"/> - </add-function> </object-type> <object-type name="QAbstract3DSeries"> <enum-type name="Mesh"/> @@ -111,89 +52,6 @@ </object-type> <value-type name="QBarDataItem"/> <object-type name="QBarDataProxy"> - <modify-function signature="resetArray(QBarDataArray*)" remove="all"/> - <add-function signature="resetArray(const QBarDataArray&)"> - <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="dataproxy-resetarray"/> - </add-function> - <modify-function signature="resetArray(QBarDataArray*,const QStringList&,const QStringList&)" - remove="all"/> - <add-function signature="resetArray(const QBarDataArray&,const QStringList&,const QStringList&)"> - <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="dataproxy-resetarray2"/> - </add-function> - <modify-function signature="resetArray(QBarDataArray*,const QStringList&,const QStringList&)"> - <modify-argument index="1"> - <parent index="this" action="add"/> - </modify-argument> - </modify-function> - - <!-- PYSIDE-1438: Replace all add/set/insertRow() taking a 'QList*' by overloads - taking 'const QList &' since an allocated list needs to be passed. --> - <modify-function signature="addRow(QList<QBarDataItem>*)" remove="all"/> - <add-function signature="addRow(const QList<QBarDataItem>&)" return-type="int"> - <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="dataproxy-addrow"/> - </add-function> - <modify-function signature="addRow(QList<QBarDataItem>*,const QString&)" remove="all"/> - <add-function signature="addRow(const QList<QBarDataItem>&,const QString&)" - return-type="int"> - <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="dataproxy-addrow-string"/> - </add-function> - - <modify-function signature="insertRow(int,QList<QBarDataItem>*)" remove="all"/> - <add-function signature="insertRow(int,const QList<QBarDataItem>&)"> - <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="dataproxy-insertrow"/> - </add-function> - <modify-function signature="insertRow(int,QList<QBarDataItem>*,const QString&)" remove="all"/> - <add-function signature="insertRow(int,const QList<QBarDataItem>&, const QString&)"> - <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="dataproxy-insertrow-string"/> - </add-function> - - <modify-function signature="setRow(int,QList<QBarDataItem>*)" remove="all"/> - <add-function signature="setRow(int,const QList<QBarDataItem>&)"> - <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="dataproxy-setrow"/> - </add-function> - <modify-function signature="setRow(int,QList<QBarDataItem>*,const QString&)" remove="all"/> - <add-function signature="setRow(int,const QList<QBarDataItem>&,const QString&)"> - <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="dataproxy-setrow-string"/> - </add-function> - - <modify-function signature="addRows(const QBarDataArray&)"> - <modify-argument index="1"> - <parent index="this" action="add"/> - </modify-argument> - </modify-function> - <modify-function signature="addRows(const QBarDataArray&, const QStringList&)"> - <modify-argument index="1"> - <parent index="this" action="add"/> - </modify-argument> - </modify-function> - <modify-function signature="insertRows(int, const QBarDataArray&)"> - <modify-argument index="2"> - <parent index="this" action="add"/> - </modify-argument> - </modify-function> - <modify-function signature="insertRows(int, const QBarDataArray&, const QStringList&)"> - <modify-argument index="2"> - <parent index="this" action="add"/> - </modify-argument> - </modify-function> - <modify-function signature="setRows(int, const QBarDataArray&)"> - <modify-argument index="2"> - <parent index="this" action="add"/> - </modify-argument> - </modify-function> - <modify-function signature="setRows(int, const QBarDataArray&, const QStringList&)"> - <modify-argument index="2"> - <parent index="this" action="add"/> - </modify-argument> - </modify-function> </object-type> <object-type name="QCustom3DItem"/> <object-type name="QCustom3DLabel"/> @@ -221,42 +79,6 @@ </object-type> <value-type name="QScatterDataItem"/> <object-type name="QScatterDataProxy"> - <modify-function signature="resetArray(QList<QScatterDataItem>*)" - remove="all"/> - <add-function signature="resetArray(QList<QScatterDataItem>*)"> - <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="scatterdataproxy-resetarray"/> - </add-function> - <modify-function signature="addItem(const QScatterDataItem&)"> - <modify-argument index="1"> - <parent index="this" action="add"/> - </modify-argument> - </modify-function> - <modify-function signature="addItems(const QList<QScatterDataItem>&)"> - <modify-argument index="1"> - <parent index="this" action="add"/> - </modify-argument> - </modify-function> - <modify-function signature="insertItem(int, const QScatterDataItem&)"> - <modify-argument index="2"> - <parent index="this" action="add"/> - </modify-argument> - </modify-function> - <modify-function signature="insertItems(int, const QList<QScatterDataItem>&)"> - <modify-argument index="2"> - <parent index="this" action="add"/> - </modify-argument> - </modify-function> - <modify-function signature="setItem(int, const QScatterDataItem&)"> - <modify-argument index="2"> - <parent index="this" action="add"/> - </modify-argument> - </modify-function> - <modify-function signature="setItems(int, const QList<QScatterDataItem>&)"> - <modify-argument index="2"> - <parent index="this" action="add"/> - </modify-argument> - </modify-function> </object-type> <object-type name="QSurface3DSeries"> <enum-type name="DrawFlag" flags="DrawFlags"/> @@ -277,35 +99,6 @@ #include <sbknumpycheck.h> #include <qtgraphs_helper.h> </inject-code> - <!-- PYSIDE-1438: Replace all add/set/insertRow() taking a 'QList*' by overloads - taking 'const QList &' since an allocated list needs to be passed. --> - <modify-function signature="addRow(QList<QSurfaceDataItem>*)" remove="all"/> - <add-function signature="addRow(const QList<QSurfaceDataItem>&)" return-type="int"> - <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="dataproxy-addrow"/> - </add-function> - - <modify-function signature="insertRow(int,QList<QSurfaceDataItem>*)" remove="all"/> - <add-function signature="insertRow(int,const QList<QSurfaceDataItem>&)"> - <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="dataproxy-insertrow"/> - </add-function> - - <modify-function signature="setRow(int,QList<QSurfaceDataItem>*)" remove="all"/> - <add-function signature="setRow(int,const QList<QSurfaceDataItem>&)"> - <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="dataproxy-setrow"/> - </add-function> - - <modify-function signature="resetArray(QSurfaceDataArray*)" remove="all"/> - <add-function signature="resetArray(const QSurfaceDataArray&)"> - <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp" - snippet="dataproxy-resetarray"/> - <modify-argument index="1"> - <parent index="this" action="add"/> - </modify-argument> - </add-function> - <add-function signature="resetArrayNp(double@x@,double@deltaX@,double@z@,double@deltaZ@,PyArrayObject*@data@)"> <inject-code file="../glue/qtgraphs.cpp" snippet="graphs-qsurfacedataproxy-resetarraynp"/> @@ -461,6 +254,56 @@ <enum-type name="ColorStyle"/> <enum-type name="Theme"/> </object-type> + + <!-- 2D --> + <object-type name="QBarCategoryAxis"/> + <object-type name="QAbstractAxis"> + <enum-type name="AxisType"/> + </object-type> + <object-type name="QValueAxis"/> + <object-type name="QAbstractBarSeries"> + <enum-type name="LabelsPosition"/> + <modify-function signature="append(QBarSet*)"> + <modify-argument index="1"> + <parent index="this" action="add"/> + </modify-argument> + </modify-function> + <modify-function signature="append(QList<QBarSet*>)"> + <modify-argument index="1"> + <parent index="this" action="add"/> + </modify-argument> + </modify-function> + <modify-function signature="insert(int,QBarSet*)"> + <modify-argument index="2"> + <parent index="this" action="add"/> + </modify-argument> + </modify-function> + <modify-function signature="take(QBarSet*)"> + <modify-argument index="1"> + <parent index="this" action="add"/> + </modify-argument> + </modify-function> + </object-type> + <object-type name="QBarSeries"/> + <object-type name="QBarSet"/> + <object-type name="QLineSeries"/> + <object-type name="QAbstractSeries"> + <enum-type name="SeriesType"/> + </object-type> + <object-type name="QScatterSeries"/> + <object-type name="QGraphTheme"> + <enum-type name="ColorTheme"/> + <!-- missing symbols --> + <modify-function signature="graphSeriesCount()const" remove="all"/> + <modify-function signature="setGraphSeriesCount(int)" remove="all"/> + <modify-function signature="graphSeriesColor(int)const" remove="all"/> + </object-type> + <object-type name="QSeriesTheme"> + <enum-type name="SeriesColorTheme"/> + </object-type> + <object-type name="QXYSeries"> + </object-type> + <extra-includes> <include file-name="qutils.h" location="global"/> </extra-includes> diff --git a/sources/pyside6/PySide6/glue/qtgraphs.cpp b/sources/pyside6/PySide6/glue/qtgraphs.cpp index cf1a10eba..b5a5db799 100644 --- a/sources/pyside6/PySide6/glue/qtgraphs.cpp +++ b/sources/pyside6/PySide6/glue/qtgraphs.cpp @@ -2,7 +2,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only // @snippet graphs-qsurfacedataproxy-resetarraynp -auto *data = QtGraphsHelper::surfaceDataFromNp(%1, %2, %3, %4, %5); +auto data = QtGraphsHelper::surfaceDataFromNp(%1, %2, %3, %4, %5); // %CPPSELF.%FUNCTION_NAME %CPPSELF.resetArray(data); // @snippet graphs-qsurfacedataproxy-resetarraynp diff --git a/sources/pyside6/PySide6/qtgraphs_helper.h b/sources/pyside6/PySide6/qtgraphs_helper.h index 91ef818d3..726f5fb37 100644 --- a/sources/pyside6/PySide6/qtgraphs_helper.h +++ b/sources/pyside6/PySide6/qtgraphs_helper.h @@ -11,8 +11,8 @@ namespace QtGraphsHelper { -QSurfaceDataArray *surfaceDataFromNp(double x, double deltaX, double z, double deltaZ, - PyObject *data); +QSurfaceDataArray surfaceDataFromNp(double x, double deltaX, double z, double deltaZ, + PyObject *data); } // namespace QtGraphsHelper |