aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2023-10-04 12:06:57 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2024-02-28 16:52:41 +0100
commitbb35f031a9680be6f8cf92ddc8e2cc9f3e309612 (patch)
tree171f3e32c4c247ab0383dbc45591071c2c0272fa /sources/pyside6
parentb08c24890d8c5c09ba7a25a69c8c3600dcca5dc3 (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')
-rw-r--r--sources/pyside6/PySide6/QtGraphs/CMakeLists.txt14
-rw-r--r--sources/pyside6/PySide6/QtGraphs/qtgraphs_helper.cpp30
-rw-r--r--sources/pyside6/PySide6/QtGraphs/typesystem_graphs.xml257
-rw-r--r--sources/pyside6/PySide6/glue/qtgraphs.cpp2
-rw-r--r--sources/pyside6/PySide6/qtgraphs_helper.h4
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&lt;float&gt;&amp;@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&lt;float&gt;&amp;@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&amp;@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&amp;)">
- <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp"
- snippet="dataproxy-resetarray"/>
- </add-function>
- <modify-function signature="resetArray(QBarDataArray*,const QStringList&amp;,const QStringList&amp;)"
- remove="all"/>
- <add-function signature="resetArray(const QBarDataArray&amp;,const QStringList&amp;,const QStringList&amp;)">
- <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp"
- snippet="dataproxy-resetarray2"/>
- </add-function>
- <modify-function signature="resetArray(QBarDataArray*,const QStringList&amp;,const QStringList&amp;)">
- <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&lt;QBarDataItem&gt;*)" remove="all"/>
- <add-function signature="addRow(const QList&lt;QBarDataItem&gt;&amp;)" return-type="int">
- <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp"
- snippet="dataproxy-addrow"/>
- </add-function>
- <modify-function signature="addRow(QList&lt;QBarDataItem&gt;*,const QString&amp;)" remove="all"/>
- <add-function signature="addRow(const QList&lt;QBarDataItem&gt;&amp;,const QString&amp;)"
- 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&lt;QBarDataItem&gt;*)" remove="all"/>
- <add-function signature="insertRow(int,const QList&lt;QBarDataItem&gt;&amp;)">
- <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp"
- snippet="dataproxy-insertrow"/>
- </add-function>
- <modify-function signature="insertRow(int,QList&lt;QBarDataItem&gt;*,const QString&amp;)" remove="all"/>
- <add-function signature="insertRow(int,const QList&lt;QBarDataItem&gt;&amp;, const QString&amp;)">
- <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp"
- snippet="dataproxy-insertrow-string"/>
- </add-function>
-
- <modify-function signature="setRow(int,QList&lt;QBarDataItem&gt;*)" remove="all"/>
- <add-function signature="setRow(int,const QList&lt;QBarDataItem&gt;&amp;)">
- <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp"
- snippet="dataproxy-setrow"/>
- </add-function>
- <modify-function signature="setRow(int,QList&lt;QBarDataItem&gt;*,const QString&amp;)" remove="all"/>
- <add-function signature="setRow(int,const QList&lt;QBarDataItem&gt;&amp;,const QString&amp;)">
- <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp"
- snippet="dataproxy-setrow-string"/>
- </add-function>
-
- <modify-function signature="addRows(const QBarDataArray&amp;)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
- </modify-argument>
- </modify-function>
- <modify-function signature="addRows(const QBarDataArray&amp;, const QStringList&amp;)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
- </modify-argument>
- </modify-function>
- <modify-function signature="insertRows(int, const QBarDataArray&amp;)">
- <modify-argument index="2">
- <parent index="this" action="add"/>
- </modify-argument>
- </modify-function>
- <modify-function signature="insertRows(int, const QBarDataArray&amp;, const QStringList&amp;)">
- <modify-argument index="2">
- <parent index="this" action="add"/>
- </modify-argument>
- </modify-function>
- <modify-function signature="setRows(int, const QBarDataArray&amp;)">
- <modify-argument index="2">
- <parent index="this" action="add"/>
- </modify-argument>
- </modify-function>
- <modify-function signature="setRows(int, const QBarDataArray&amp;, const QStringList&amp;)">
- <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&lt;QScatterDataItem&gt;*)"
- remove="all"/>
- <add-function signature="resetArray(QList&lt;QScatterDataItem&gt;*)">
- <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp"
- snippet="scatterdataproxy-resetarray"/>
- </add-function>
- <modify-function signature="addItem(const QScatterDataItem&amp;)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
- </modify-argument>
- </modify-function>
- <modify-function signature="addItems(const QList&lt;QScatterDataItem&gt;&amp;)">
- <modify-argument index="1">
- <parent index="this" action="add"/>
- </modify-argument>
- </modify-function>
- <modify-function signature="insertItem(int, const QScatterDataItem&amp;)">
- <modify-argument index="2">
- <parent index="this" action="add"/>
- </modify-argument>
- </modify-function>
- <modify-function signature="insertItems(int, const QList&lt;QScatterDataItem&gt;&amp;)">
- <modify-argument index="2">
- <parent index="this" action="add"/>
- </modify-argument>
- </modify-function>
- <modify-function signature="setItem(int, const QScatterDataItem&amp;)">
- <modify-argument index="2">
- <parent index="this" action="add"/>
- </modify-argument>
- </modify-function>
- <modify-function signature="setItems(int, const QList&lt;QScatterDataItem&gt;&amp;)">
- <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 &lt;sbknumpycheck.h&gt;
#include &lt;qtgraphs_helper.h&gt;
</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&lt;QSurfaceDataItem&gt;*)" remove="all"/>
- <add-function signature="addRow(const QList&lt;QSurfaceDataItem&gt;&amp;)" return-type="int">
- <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp"
- snippet="dataproxy-addrow"/>
- </add-function>
-
- <modify-function signature="insertRow(int,QList&lt;QSurfaceDataItem&gt;*)" remove="all"/>
- <add-function signature="insertRow(int,const QList&lt;QSurfaceDataItem&gt;&amp;)">
- <inject-code class="target" position="beginning" file="../glue/qtdatavisualization.cpp"
- snippet="dataproxy-insertrow"/>
- </add-function>
-
- <modify-function signature="setRow(int,QList&lt;QSurfaceDataItem&gt;*)" remove="all"/>
- <add-function signature="setRow(int,const QList&lt;QSurfaceDataItem&gt;&amp;)">
- <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&amp;)">
- <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&lt;QBarSet*&gt;)">
+ <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