diff options
Diffstat (limited to 'sources/pyside6/PySide6/QtCore/typesystem_core_common.xml')
-rw-r--r-- | sources/pyside6/PySide6/QtCore/typesystem_core_common.xml | 725 |
1 files changed, 536 insertions, 189 deletions
diff --git a/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml b/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml index 91afc3b2a..110f86f25 100644 --- a/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml +++ b/sources/pyside6/PySide6/QtCore/typesystem_core_common.xml @@ -31,29 +31,56 @@ <function signature="qIsNull(double)"/> <!-- Qt5: gone <function signature="qRound(qreal)"/> --> <function signature="qtTrId(const char*,int)" since="4.6"/> - <function signature="qVersion()"/> - <function signature="qCompress(const uchar*,qsizetype,int)"/> - <function signature="qCompress(const QByteArray&,int)"/> - <function signature="qUncompress(const uchar*,qsizetype)"/> - <function signature="qUncompress(const QByteArray&)"/> - <function signature="qFormatLogMessage(QtMsgType,const QMessageLogContext&,const QString&)"/> - <function signature="qSetMessagePattern(const QString&)"/> + <function signature="qVersion()"> + <modify-function> + <modify-argument index="return" pyi-type="str"/> + </modify-function> + </function> + <!-- Move PyBuffer overload to front to avoid conversion PyBuffer->QByteArray --> + <function signature="qCompress(const uchar*,qsizetype,int)" overload-number="0"> + <modify-function> + <modify-argument index="1"> + <replace-type modified-type="PyBuffer"/> + </modify-argument> + <inject-code file="../glue/qtcore.cpp" snippet="qcompress-buffer"/> + </modify-function> + </function> + <function signature="qCompress(const QByteArray&,int)" overload-number="1"/> + <!-- Move PyBuffer overload to front to avoid conversion PyBuffer->QByteArray --> + <function signature="qUncompress(const uchar*,qsizetype)" overload-number="0"> + <modify-function> + <modify-argument index="1"> + <replace-type modified-type="PyBuffer"/> + </modify-argument> + <inject-code file="../glue/qtcore.cpp" snippet="quncompress-buffer"/> + </modify-function> + </function> + <function signature="qUncompress(const QByteArray&)" overload-number="1"/> + <function signature="qFormatLogMessage(QtMsgType,const QMessageLogContext&,const QString&)" + doc-file="qtlogging"/> + <function signature="qSetMessagePattern(const QString&)" doc-file="qtlogging"/> <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" snippet="include-pyside"/> <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" snippet="qarg_helper"/> + <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" + snippet="darwin_permission_plugin"/> <add-function signature="qDebug(const char*)"> <inject-code file="../glue/qtcore.cpp" snippet="use-stream-for-format-security"/> + <modify-argument index="1" pyi-type="str"/> </add-function> <add-function signature="qCritical(const char*)"> <inject-code file="../glue/qtcore.cpp" snippet="use-stream-for-format-security"/> + <modify-argument index="1" pyi-type="str"/> </add-function> <add-function signature="qFatal(const char*)"> <inject-code file="../glue/qtcore.cpp" snippet="qfatal"/> + <modify-argument index="1" pyi-type="str"/> </add-function> <add-function signature="qWarning(const char*)"> <inject-code file="../glue/qtcore.cpp" snippet="use-stream-for-format-security"/> + <modify-argument index="1" pyi-type="str"/> </add-function> <add-function signature="Q_ARG(PyObject *@type@, PyObject *@value@)" @@ -87,29 +114,34 @@ <rejection class="QtSharedPointer"/> <rejection class="QtStringBuilder"/> + <rejection class="q20"/> + <rejection class="q23"/> + <rejection class="q_has_char8_t"/> + <rejection class="QContainerInfo"/> + <rejection class="QHashPrivate"/> + <rejection class="q_no_char8_t"/> + <rejection class="Qt::Literals"/> + <rejection class="QtLiterals"/> + <rejection class="QtMetaContainerPrivate"/> + <rejection class="QtTsan"/> + <rejection class="QTypeTraits"/> + <rejection class="qxp"/> + <rejection class="QChildEvent" field-name="c"/> <rejection class="QTimerEvent" field-name="id"/> <rejection class="QEvent" field-name="t"/> <rejection class="*" function-name="tr"/> - <rejection class="*" function-name="qt_metacast"/> <!-- From Qt4.6 --> <rejection class="*" field-name="d_ptr"/> - <rejection class="*" field-name="staticQtMetaObject"/> - <rejection class="*" function-name="qobject_interface_iid"/> - <rejection class="*" function-name="qGetPtrHelper"/> - <rejection class="*" function-name="q_check_ptr"/> - <rejection class="*" function-name="qobject_interface_iid<QTextCodecFactoryInterface*>"/> - <rejection class="*" function-name="qobject_interface_iid<QFactoryInterface*>"/> - <rejection class="*" function-name="qRegisterAnimationInterpolator"/> - <rejection class="*" function-name="qvariant_cast<QVariant>"/> - <rejection class="*" function-name="qVariantSetValue<QVariant>"/> - <rejection class="*" function-name="qReallocAligned"/> - <rejection class="*" function-name="qMallocAligned"/> - <rejection class="*" function-name="qFreeAligned"/> <rejection class="QMetaMethod" enum-name="Attributes"/> + <rejection class="QMetaMethod" field-name="data"/> + <!-- Note: Default parameter values of Disambiguated_t as defined by + QT6_DECL_NEW_OVERLOAD_TAIL are not seen by the clang parser since it + is relying on code snippets for the values. --> + <rejection class="Qt" field-name="Disambiguated"/> + <rejection class="" enum-name="QCborNegativeInteger"/> <rejection class="*" argument-type="^qfloat16&?$"/> - <rejection class="*" argument-type="QLatin1String"/> <rejection class="*" argument-type="QTSMFI"/> <rejection class="*" argument-type="QTSMFC"/> <rejection class="*" argument-type="QtPrivate::QSlotObjectBase*"/> @@ -122,17 +154,13 @@ <rejection class="*" argument-type="std::chrono::milliseconds"/> <rejection class="*" argument-type="^std::nullptr_t&?$"/> <rejection class="*" argument-type="^std::initializer_list<.*$"/> - <rejection class="*" argument-type="^std::list<[^>]> const&$"/> - <rejection class="*" argument-type="std::string const&"/> - <rejection class="*" argument-type="^std::vector<[^>]> const&$"/> <!-- From Qt4.6 ^^^ --> - - <enum-type name="QtMsgType"/> - <enum-type name="QCborSimpleType"/> - <enum-type name="QCborKnownTags"/> - <enum-type name="QCborTag"/> + <enum-type name="QtMsgType" doc-file="qtlogging"/> + <enum-type name="QCborSimpleType" doc-file="qtcborcommon"/> + <enum-type name="QCborKnownTags" doc-file="qtcborcommon"/> + <enum-type name="QCborTag" doc-file="qtcborcommon"/> <primitive-type name="qint8"/> <primitive-type name="qint16"/> @@ -198,7 +226,14 @@ </target-to-native> </conversion-rule> </primitive-type> - + <primitive-type name="QFunctionPointer" target-lang-api-name="PyLong"> + <conversion-rule> + <native-to-target file="../glue/qtcore.cpp" snippet="return-qfunctionpointer-pylong"/> + <target-to-native> + <add-conversion type="PyLong" file="../glue/qtcore.cpp" snippet="conversion-pylong-qfunctionpointer"/> + </target-to-native> + </conversion-rule> + </primitive-type> <primitive-type name="QString" target-lang-api-name="PyUnicode"> <include file-name="QString" location="global"/> <conversion-rule> @@ -217,6 +252,17 @@ </conversion-rule> </primitive-type> + <primitive-type name="QLatin1String" target-lang-api-name="PyUnicode"> + <include file-name="QtCore/qlatin1stringview.h" location="global"/> + <conversion-rule> + <native-to-target file="../glue/qtcore.cpp" snippet="return-pyunicode-from-qlatin1string"/> + <target-to-native> + <add-conversion type="PyString" check="qLatin1StringCheck(%in)" + file="../glue/qtcore.cpp" snippet="conversion-pystring-qlatin1string"/> + </target-to-native> + </conversion-rule> + </primitive-type> + <primitive-type name="QAnyStringView" target-lang-api-name="PyUnicode" view-on="QString"> <include file-name="QAnyStringView" location="global"/> <conversion-rule> @@ -236,6 +282,9 @@ </primitive-type> <primitive-type name="QVariant" target-lang-api-name="PyObject"> + <extra-includes> + <include file-name="optional" location="global"/> + </extra-includes> <conversion-rule> <native-to-target file="../glue/qtcore.cpp" snippet="return-qvariant"/> <target-to-native> @@ -245,7 +294,6 @@ <add-conversion type="QByteArray" file="../glue/qtcore.cpp" snippet="conversion-qbytearray"/> <add-conversion type="PyFloat" check="PyFloat_CheckExact(%in)" file="../glue/qtcore.cpp" snippet="conversion-pyfloat"/> <add-conversion type="PyLong" check="PyLong_CheckExact(%in)" file="../glue/qtcore.cpp" snippet="conversion-qlonglong"/> - <add-conversion type="SbkEnumType" file="../glue/qtcore.cpp" snippet="conversion-sbkobject"/> <add-conversion type="SbkObject" file="../glue/qtcore.cpp" snippet="conversion-sbkobject"/> <add-conversion type="PyDict" check="PyDict_CheckExact(%in)" file="../glue/qtcore.cpp" snippet="conversion-pydict"/> <add-conversion type="PyList" check="PyList_Check(%in)" file="../glue/qtcore.cpp" snippet="conversion-pylist"/> @@ -352,6 +400,10 @@ </conversion-rule> </value-type> + <value-type name="QNativeIpcKey" since="6.6"> + <enum-type name="Type"/> + </value-type> + <container-type name="QSet" type="set"> <include file-name="QSet" location="global"/> <conversion-rule> @@ -421,7 +473,6 @@ <container-type name="QHash" type="hash"> <include file-name="QHash" location="global"/> <!-- Include to make enum flags work. --> - <include file-name="pysideqflags.h" location="global"/> <conversion-rule> <native-to-target> <insert-template name="shiboken_conversion_qmap_to_pydict"/> @@ -437,7 +488,6 @@ <container-type name="QMultiHash" type="multi-hash"> <include file-name="QMultiHash" location="global"/> <!-- Include to make enum flags work. --> - <include file-name="pysideqflags.h" location="global"/> <conversion-rule> <native-to-target> <insert-template name="shiboken_conversion_qmultihash_to_pydict"/> @@ -450,6 +500,8 @@ </conversion-rule> </container-type> + <value-type name="QHashSeed" since="6.2"/> + <container-type name="QMap" type="map"> <include file-name="QMap" location="global"/> <conversion-rule> @@ -499,38 +551,12 @@ <rejection class="*" field-name="d"/> <rejection class="*" field-name="staticMetaObject"/> <!-- not support array in property --> - <rejection class="QTextCodec::ConverterState" field-name="state_data"/> <rejection class="QUuid" field-name="data1"/> <rejection class="QUuid" field-name="data2"/> <rejection class="QUuid" field-name="data3"/> <rejection class="QUuid" field-name="data4"/> - <rejection class="" enum-name="QtValidLicenseForTestModule"/> - <rejection class="" enum-name="QtValidLicenseForDBusModule"/> - <rejection class="" enum-name="QtValidLicenseForSqlModule"/> - <rejection class="" enum-name="QtValidLicenseForOpenGLModule"/> - <rejection class="" enum-name="QtValidLicenseForScriptToolsModule"/> - <rejection class="" enum-name="__codecvt_result"/> - <rejection class="" enum-name="enum_1"/> - <rejection class="" enum-name="enum_2"/> - <rejection class="" enum-name="QtValidLicenseForXmlModule"/> - <rejection class="" enum-name="QtValidLicenseForActiveQtModule"/> - <rejection class="" enum-name="QtValidLicenseForCoreModule"/> - <rejection class="" enum-name="QtValidLicenseForNetworkModule"/> - <rejection class="" enum-name="QtValidLicenseForSvgModule"/> - <rejection class="" enum-name="QtValidLicenseForGuiModule"/> - <rejection class="" enum-name="QtValidLicenseForHelpModule"/> <!-- Internal --> - <rejection class="QAbstractFileEngine"/> <!-- - <rejection class="QAbstractFileEngine" function-name="endEntryList"/> - <rejection class="QAbstractFileEngine" function-name="extension"/> XXX --> <rejection class="QCoreApplication" function-name="compressEvent"/> - <rejection class="QCoreApplication" function-name="eventFilter"/> - <rejection class="QCoreApplication" function-name="filterEvent"/> - <rejection class="QCoreApplication" function-name="setEventFilter"/> - <rejection class="QFile" function-name="setDecodingFunction"/> - <rejection class="QFile" function-name="setEncodingFunction"/> - <rejection class="QRegion" function-name="cleanUp"/> - <rejection class="QSettings" function-name="registerFormat"/> <namespace-type name="Qt"> <extra-includes> @@ -538,6 +564,7 @@ </extra-includes> <enum-type name="AlignmentFlag" python-type="IntFlag" flags="Alignment"/> <enum-type name="AnchorPoint" since="4.6"/> + <enum-type name="ColorScheme" since="6.5"/> <enum-type name="ApplicationAttribute"/> <enum-type name="ApplicationState" flags="ApplicationStates"/> <enum-type name="ArrowType"/> @@ -594,6 +621,7 @@ <enum-type name="PenCapStyle"/> <enum-type name="PenJoinStyle"/> <enum-type name="PenStyle"/> + <enum-type name="PermissionStatus" since="6.5"/> <enum-type name="ReturnByValueConstant"/> <enum-type name="ScreenOrientation" flags="ScreenOrientations"/> <enum-type name="ScrollBarPolicy"/> @@ -625,14 +653,8 @@ <enum-type name="WindowType" python-type="IntFlag" flags="WindowFlags"/> <enum-type name="CursorMoveStyle" since="4.8" revision="4800"/> - <modify-function signature="^operator.\(Qt::AlignmentFlag,Qt::TextFlag\)$" - remove="all"/> - <modify-function signature="^operator.\(Qt::TextFlag,Qt::AlignmentFlag\)$" - remove="all"/> - <modify-function signature="^operator.\(Qt::TextElideMode,Qt::TextFlag\)$" - remove="all"/> - <modify-function signature="^operator.\(Qt::TextFlag,Qt::TextElideMode\)$" - remove="all"/> + <inject-code class="target" position="end" file="../glue/qtcore.cpp" + snippet="qt-modifier"/> </namespace-type> <add-function signature="QEnum(PyObject*)" return-type="PyObject*"> @@ -667,6 +689,8 @@ <inject-code class="target" position="end" file="../glue/qtcore.cpp" snippet="qt-pysideinit"/> <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" snippet="qt-messagehandler"/> + <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" + snippet="qlatin1string-check"/> <add-function signature="qInstallMessageHandler(PyObject)" return-type="PyObject"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qt-installmessagehandler"/> </add-function> @@ -679,7 +703,8 @@ <enum-type name="ClockType" since="4.7"/> </value-type> - <object-type name="QAbstractTableModel" polymorphic-id-expression="qobject_cast<QAbstractTableModel*>(%1)"> + <object-type name="QAbstractTableModel" + polymorphic-id-expression="qobject_cast<QAbstractTableModel*>(%B)"> <extra-includes> <include file-name="QStringList" location="global"/> <include file-name="QSize" location="global"/> @@ -749,7 +774,7 @@ <modify-argument index="2"> <remove-argument /> </modify-argument> - <modify-argument index="return"> + <modify-argument index="return" pyi-type="Tuple[PySide6.QtCore.QLineF.IntersectionType, PySide6.QtCore.QPointF]"> <replace-type modified-type="(intersectType, intersectionPoint)"/> </modify-argument> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qlinef-intersect"/> @@ -789,10 +814,7 @@ <enum-type name="System"/> <enum-type identified-by-value="Unspecified"/> </value-type> - <value-type name="QDate" hash-function="PySide::hash" > - <extra-includes> - <include file-name="pysideqhash.h" location="global"/> - </extra-includes> + <value-type name="QDate"> <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" snippet="core-snippets-p-h"/> <conversion-rule> @@ -835,7 +857,7 @@ <modify-argument index="3"> <remove-argument/> </modify-argument> - <modify-argument index="return"> + <modify-argument index="return" pyi-type="Tuple[int, int, int]"> <replace-type modified-type="(year, month, day)"/> </modify-argument> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qdate-getdate"/> @@ -844,19 +866,17 @@ <modify-argument index="1"> <remove-argument/> </modify-argument> - <modify-argument index="return"> + <modify-argument index="return" pyi-type="Tuple[int, int]"> <replace-type modified-type="(week, yearNumber)"/> </modify-argument> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qdate-weeknumber"/> </modify-function> </value-type> - <value-type name="QDateTime" hash-function="PySide::hash"> - <extra-includes> - <include file-name="pysideqhash.h" location="global"/> - </extra-includes> + <value-type name="QDateTime"> <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" snippet="core-snippets-p-h"/> <enum-type name="YearRange"/> + <enum-type name="TransitionResolution" since="6.7"/> <conversion-rule> <target-to-native> <add-conversion type="Py_None" file="../glue/qtcore.cpp" snippet="conversion-pynone"/> @@ -935,10 +955,34 @@ </add-function> </value-type> - <value-type name="QPoint" hash-function="PySide::hash"> - <extra-includes> - <include file-name="pysideqhash.h" location="global"/> - </extra-includes> + <value-type name="QPermission" since="6.5"> + <configuration condition="QT_CONFIG(permissions)"/> + </value-type> + <value-type name="QBluetoothPermission" since="6.5"> + <configuration condition="QT_CONFIG(permissions)"/> + <enum-type name="CommunicationMode" flags="CommunicationModes" since="6.6"/> + </value-type> + <value-type name="QCalendarPermission" since="6.5"> + <configuration condition="QT_CONFIG(permissions)"/> + <enum-type name="AccessMode"/> + </value-type> + <value-type name="QCameraPermission" since="6.5"> + <configuration condition="QT_CONFIG(permissions)"/> + </value-type> + <value-type name="QContactsPermission" since="6.5"> + <configuration condition="QT_CONFIG(permissions)"/> + <enum-type name="AccessMode"/> + </value-type> + <value-type name="QLocationPermission" since="6.5"> + <configuration condition="QT_CONFIG(permissions)"/> + <enum-type name="Accuracy"/> + <enum-type name="Availability"/> + </value-type> + <value-type name="QMicrophonePermission" since="6.5"> + <configuration condition="QT_CONFIG(permissions)"/> + </value-type> + + <value-type name="QPoint"> <add-function signature="__repr__" return-type="PyObject*"> <inject-code class="target" position="beginning"> <insert-template name="repr_code"> @@ -956,7 +1000,6 @@ </insert-template> </inject-code> </add-function> - <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" snippet="qpoint"/> <add-function signature="toTuple" return-type="PyObject*"> <inject-code class="target" position="beginning"> @@ -1005,10 +1048,7 @@ <modify-function signature="ry()" remove="all"/> <!--### --> </value-type> - <value-type name="QRect" hash-function="PySide::hash"> - <extra-includes> - <include file-name="pysideqhash.h" location="global"/> - </extra-includes> + <value-type name="QRect"> <add-function signature="__repr__" return-type="PyObject*"> <inject-code class="target" position="beginning"> <insert-template name="repr_code"> @@ -1025,7 +1065,6 @@ </insert-template> </inject-code> </add-function> - <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" snippet="qrect"/> <modify-function signature="getCoords(int*,int*,int*,int*)const"> <modify-argument index="return"> @@ -1139,10 +1178,7 @@ </inject-code> </modify-function> </value-type> - <value-type name="QSize" hash-function="PySide::hash"> - <extra-includes> - <include file-name="pysideqhash.h" location="global"/> - </extra-includes> + <value-type name="QSize"> <add-function signature="__repr__" return-type="PyObject*"> <inject-code class="target" position="beginning"> <insert-template name="repr_code"> @@ -1160,7 +1196,6 @@ </insert-template> </inject-code> </add-function> - <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" snippet="qsize"/> <add-function signature="toTuple" return-type="PyObject*"> <inject-code class="target" position="beginning"> @@ -1210,10 +1245,7 @@ <!--### --> </value-type> - <value-type name="QTime" hash-function="PySide::hash"> - <extra-includes> - <include file-name="pysideqhash.h" location="global"/> - </extra-includes> + <value-type name="QTime"> <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" snippet="core-snippets-p-h"/> <conversion-rule> @@ -1257,6 +1289,7 @@ qRegisterMetaType<QList<QPersistentModelIndex> >("QList_QPersistentModelIndex"); </inject-code> <modify-function signature="internalPointer()const"> + <modify-argument index="return" pyi-type="Any"/> <inject-code class="target" position="beginning"> <insert-template name="return_internal_pointer" /> </inject-code> @@ -1269,9 +1302,13 @@ </value-type> <value-type name="QTimeZone"> + <configuration condition="QT_CONFIG(timezone)"/> + <enum-type name="Initialization" since="6.5"/> <enum-type name="TimeType"/> <enum-type name="NameType"/> - <value-type name="OffsetData"/> + <value-type name="OffsetData"> + <configuration condition="QT_CONFIG(timezone)"/> + </value-type> </value-type> <value-type name="QUuid"> @@ -1302,6 +1339,7 @@ </object-type> <value-type name="QLocale"> + <enum-type name="TagSeparator" since="6.7"/> <enum-type name="Country"/> <enum-type name="DataSizeFormat" flags="DataSizeFormats"/> <enum-type name="FloatingPointPrecisionOption" python-type="IntEnum"/> @@ -1317,26 +1355,60 @@ <modify-function signature="toString(qulonglong)const" remove="all"/> <modify-function signature="toString(ushort)const" remove="all"/> <modify-function signature="toString(unsigned int)const" remove="all"/> + <modify-function signature="system()" remove="all"/> <!--### --> <extra-includes> <include file-name="QDate" location="global"/> </extra-includes> + <add-function signature="system()" return-type="QLocale" static="yes"> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" + snippet="qlocale_system"/> + <inject-documentation mode="append" format="target"> + Returns a QLocale object initialized to the system locale. + + The system locale may use system-specific sources for locale data, where available, + otherwise falling back on QLocale's built-in database entry for the language, script and + territory the system reports. + + For example, on Windows, this locale will use the decimal/grouping characters and + date/time formats specified in the system configuration panel. + + .. note:: Qt for Python on macOS will not reflect the user's region and language + preferences though QLocale::system(), but will instead reflect the environment + variables POSIX uses to specify locale, similar to Python's locale module. If the + system locale cannot be determined, which can be due to none of the variables 'LC_ALL', + 'LC_CTYPE', 'LANG' or 'LANGUAGE' being set by your environment, then the default POSIX + locale or 'C' locale is returned. + + See also c(). + </inject-documentation> + </add-function> <modify-function signature="toTime(QString,QLocale::FormatType)const"> <modify-argument index="2"> <rename to="format"/> </modify-argument> </modify-function> - <modify-function signature="toDate(QString,QLocale::FormatType)const"> + <modify-function signature="toDate(QString,QLocale::FormatType,int)const"> <modify-argument index="2"> <rename to="format"/> </modify-argument> </modify-function> + <modify-function signature="^toDate(Time)?\(QString,[^,]+,int\)const$"> + <modify-argument index="3"> + <replace-default-expression with="1900"/> <!-- private FirstTwoDigitYear --> + </modify-argument> + </modify-function> + <modify-function signature="^toDate(Time)?\(QString,[^,]+,QCalendar,int\)const$"> + <modify-argument index="4"> + <replace-default-expression with="1900"/> <!-- private FirstTwoDigitYear --> + </modify-argument> + </modify-function> <modify-function signature="toUInt(QString,bool*)const"> <modify-argument index="2"> <remove-argument /> <remove-default-expression /> </modify-argument> - <modify-argument index="return"> + <modify-argument index="return" pyi-type="Tuple[int, bool]"> <replace-type modified-type="(int, bool ok)"/> </modify-argument> <inject-code class="target" position="beginning"> @@ -1348,7 +1420,7 @@ <remove-argument /> <remove-default-expression /> </modify-argument> - <modify-argument index="return"> + <modify-argument index="return" pyi-type="Tuple[int, bool]"> <replace-type modified-type="(int, bool ok)"/> </modify-argument> <inject-code class="target" position="beginning"> @@ -1360,7 +1432,7 @@ <remove-argument /> <remove-default-expression /> </modify-argument> - <modify-argument index="return"> + <modify-argument index="return" pyi-type="Tuple[float, bool]"> <replace-type modified-type="(float, bool ok)"/> </modify-argument> <inject-code class="target" position="beginning"> @@ -1372,7 +1444,7 @@ <remove-argument /> <remove-default-expression /> </modify-argument> - <modify-argument index="return"> + <modify-argument index="return" pyi-type="Tuple[float, bool]"> <replace-type modified-type="(float, bool ok)"/> </modify-argument> <inject-code class="target" position="beginning"> @@ -1383,7 +1455,7 @@ <modify-argument index="2"> <remove-argument /> </modify-argument> - <modify-argument index="return"> + <modify-argument index="return" pyi-type="Tuple[int, bool]"> <replace-type modified-type="(int, bool ok)"/> </modify-argument> <inject-code class="target" position="beginning"> @@ -1394,7 +1466,18 @@ <modify-argument index="2"> <remove-argument /> </modify-argument> - <modify-argument index="return"> + <modify-argument index="return" pyi-type="Tuple[int, bool]"> + <replace-type modified-type="(int, bool ok)"/> + </modify-argument> + <inject-code class="target" position="beginning"> + <insert-template name="fix_args,bool*"/> + </inject-code> + </modify-function> + <modify-function signature="toLong(QString,bool*)const"> + <modify-argument index="2"> + <remove-argument /> + </modify-argument> + <modify-argument index="return" pyi-type="Tuple[int, bool]"> <replace-type modified-type="(int, bool ok)"/> </modify-argument> <inject-code class="target" position="beginning"> @@ -1405,7 +1488,7 @@ <modify-argument index="2"> <remove-argument /> </modify-argument> - <modify-argument index="return"> + <modify-argument index="return" pyi-type="Tuple[int, bool]"> <replace-type modified-type="(int, bool ok)"/> </modify-argument> <inject-code class="target" position="beginning"> @@ -1416,7 +1499,7 @@ <modify-argument index="2"> <remove-argument /> </modify-argument> - <modify-argument index="return"> + <modify-argument index="return" pyi-type="Tuple[int, bool]"> <replace-type modified-type="(int, bool ok)"/> </modify-argument> <inject-code class="target" position="beginning"> @@ -1427,6 +1510,7 @@ ensure float overloads are used --> <modify-function signature="^to(Currency)?String\(q?u.*$" remove="all"/> <modify-function signature="^to(Currency)?String\(.*short.*$" remove="all"/> + <modify-function signature="^to.*\(.*QStringView.*$" remove="all"/> </value-type> <value-type name="QBitArray"> <add-function signature="__len__"> @@ -1446,6 +1530,16 @@ <modify-function signature="removeStaleLockFile()" allow-thread="yes"/> <modify-function signature="tryLock(int)" allow-thread="yes"/> <modify-function signature="unlock()" allow-thread="yes"/> + <modify-function signature="getLockInfo(qint64*,QString*,QString*)const"> + <modify-argument index="return" pyi-type="Tuple[int, str, str]"> + <replace-type modified-type="(int, str, str)"/> + </modify-argument> + <modify-argument index="1"><remove-argument/></modify-argument> + <modify-argument index="2"><remove-argument/></modify-argument> + <modify-argument index="3"><remove-argument/></modify-argument> + <inject-code class="target" position="beginning" + file="../glue/qtcore.cpp" snippet="qlockfile-getlockinfo"/> + </modify-function> </object-type> <object-type name="QMessageAuthenticationCode"/> <object-type name="QSignalBlocker"> @@ -1466,6 +1560,7 @@ <modify-function signature="tryLockForWrite(int)" allow-thread="yes"/> </object-type> <object-type name="QReadLocker"> + <configuration condition="QT_CONFIG(thread)"/> <modify-function signature="QReadLocker(QReadWriteLock*)"> <modify-argument index="1"> <reference-count action="set"/> @@ -1480,6 +1575,7 @@ </add-function> </object-type> <object-type name="QWriteLocker"> + <configuration condition="QT_CONFIG(thread)"/> <modify-function signature="QWriteLocker(QReadWriteLock*)"> <modify-argument index="1"> <reference-count action="set"/> @@ -1497,6 +1593,7 @@ <enum-type name="IteratorFlag" flags="IteratorFlags"/> </object-type> <object-type name="QThread"> + <configuration condition="QT_CONFIG(thread)"/> <inject-code file="../glue/qtcore.cpp" class="native" position="beginning" snippet="qthread_pthread_cleanup"/> <enum-type name="Priority"/> <modify-function signature="currentThreadId()" remove="all"/> @@ -1566,12 +1663,6 @@ <modify-argument index="return"> <define-ownership class="native" owner="c++"/> </modify-argument> - <inject-code class="native" position="end" file="../glue/qtcore.cpp" - snippet="qabstractitemmodel_data"/> - </modify-function> - <modify-function signature="headerData(int,Qt::Orientation,int)const"> - <inject-code class="native" position="end" file="../glue/qtcore.cpp" - snippet="qabstractitemmodel_data"/> </modify-function> <modify-function signature="dataChanged(const QModelIndex&,const QModelIndex&,const QVector<int>&)" allow-thread="yes"/> <modify-function signature="layoutAboutToBeChanged(const QList<QPersistentModelIndex>&,QAbstractItemModel::LayoutChangeHint)" allow-thread="yes"/> @@ -1587,8 +1678,9 @@ <add-function signature="operator==(const QItemSelection&)" return-type="bool"/> <add-function signature="operator!=(const QItemSelection&)" return-type="bool"/> <!-- For some reason, the empty selection is not seen. Maybe related to the new [default] - tag in Qt6? --> - <declare-function signature="QItemSelection()" return-type="QItemSelection" /> + tag in Qt6? + PYSIDE-2756: The return-type attribute is unnecessary --> + <declare-function signature="QItemSelection()"/> <!-- The __add__ function creates a result list, instead of using the inherited type. Fixed by adding with the correct type. --> <add-function signature="operator+(QItemSelection)" return-type="QItemSelection"> @@ -1605,7 +1697,8 @@ <value-type name="QItemSelectionRange"> </value-type> - <object-type name="QAbstractProxyModel" polymorphic-id-expression="qobject_cast<QAbstractProxyModel*>(%1)"> + <object-type name="QAbstractProxyModel" + polymorphic-id-expression="qobject_cast<QAbstractProxyModel*>(%B)"> <extra-includes> <include file-name="QItemSelection" location="global"/> <include file-name="QStringList" location="global"/> @@ -1642,7 +1735,9 @@ <reference-count action="set"/> </modify-argument> </modify-function> - + <!-- FIXME PYSIDE 7: Remove this (QT6_DECL_NEW_OVERLOAD_TAIL) --> + <modify-function signature="^moveToThread\(.*\)" remove="all"/> + <declare-function signature="moveToThread(QThread*)" return-type="bool"/> <modify-function signature="deleteLater()"> <modify-argument index="this"> <define-ownership owner="c++"/> @@ -1666,9 +1761,6 @@ </modify-function> <!-- End of Invalidate-after-use fix --> <modify-function signature="parent()const"> - <modify-argument index="this"> - <parent index="return" action="add"/> - </modify-argument> <modify-argument index="return"> <define-ownership class="target" owner="default"/> </modify-argument> @@ -1677,50 +1769,63 @@ <modify-argument index="this"> <parent index="1" action="add"/> </modify-argument> + <modify-argument index="1" pyi-type="Optional[PySide6.QtCore.QObject]"/> </modify-function> - <modify-function signature="connect(const QObject*,const char*,const char*,Qt::ConnectionType)const"> - <modify-argument index="4"> - <rename to="type"/> - </modify-argument> + <!-- Manual overload order fixes PYSIDE-2627 + + The addition of the qobject-connect-4-context overload resulted in an + automatic overload ordering that prevented the right overload from + ever being called if the callable was a QObject. Set a manual order to + fix this. --> + <modify-function signature="connect(const QObject*,const char*,const char*,Qt::ConnectionType)const" + overload-number="0"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qobject-connect-1"/> </modify-function> <!-- static version --> - <modify-function signature="connect(const QObject*,QMetaMethod,const QObject*,QMetaMethod,Qt::ConnectionType)"> - <modify-argument index="5"> - <rename to="type"/> - </modify-argument> + <modify-function signature="connect(const QObject*,QMetaMethod,const QObject*,QMetaMethod,Qt::ConnectionType)" + overload-number="1"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qobject-connect-2"/> </modify-function> - <modify-function signature="connect(const QObject*,const char*,const QObject*,const char*,Qt::ConnectionType)"> + <modify-function signature="connect(const QObject*,const char*,const QObject*,const char*,Qt::ConnectionType)" + overload-number="2"> <modify-argument index="5"> <rename to="type"/> </modify-argument> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qobject-connect-3"/> </modify-function> <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" snippet="qobject-connect"/> - <add-function signature="connect(const QObject*,const char*,PyCallable*,Qt::ConnectionType@type@=Qt::AutoConnection)" - return-type="QMetaObject::Connection" static="yes"> + <add-function signature="connect(const QObject*@sender@,const char*@signal@,PyCallable*@functor@,Qt::ConnectionType@type@=Qt::AutoConnection)" + return-type="QMetaObject::Connection" static="yes" overload-number="3"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qobject-connect-4"/> </add-function> + <add-function signature="connect(const QObject*@sender@,const char*@signal@,const QObject*@context@,PyCallable*@functor@,Qt::ConnectionType@type@=Qt::AutoConnection)" + return-type="QMetaObject::Connection" static="yes" overload-number="4"> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qobject-connect-4-context"/> + </add-function> <!-- static version --> - <add-function signature="connect(const char*,PyCallable*,Qt::ConnectionType@type@=Qt::AutoConnection)" - return-type="QMetaObject::Connection"> + <add-function signature="connect(const char*@signal@,PyCallable*@functor@,Qt::ConnectionType@type@=Qt::AutoConnection)" + return-type="QMetaObject::Connection" overload-number="5"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qobject-connect-5"/> </add-function> - <add-function signature="connect(const char*,const QObject*,const char*,Qt::ConnectionType@type@=Qt::AutoConnection)" - return-type="QMetaObject::Connection"> + <add-function signature="connect(const char*@signal@,const QObject*@receiver@,const char*@method@,Qt::ConnectionType@type@=Qt::AutoConnection)" + return-type="QMetaObject::Connection" overload-number="6"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qobject-connect-6"/> </add-function> <add-function signature="emit(const char*,...)" return-type="bool"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qobject-emit"/> </add-function> - <add-function signature="disconnect(const char*,PyCallable*)" return-type="bool"> + <add-function signature="disconnect(const char*@signal@,PyCallable*@functor@)" return-type="bool"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qobject-disconnect-1"/> </add-function> - <add-function signature="disconnect(const QObject*,const char*,PyCallable*)" return-type="bool" static="yes"> + <add-function signature="disconnect(const QObject*@sender@,const char*@signal@,PyCallable*@functor@)" return-type="bool" static="yes"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qobject-disconnect-2"/> </add-function> + <modify-function signature="disconnect(QMetaObject::Connection)"> + <modify-argument index="1"> + <rename to="connection"/> + </modify-argument> + </modify-function> <add-function signature="findChild(PyTypeObject*@type@,const QString&@name@={},Qt::FindChildOptions@options@=Qt::FindChildrenRecursively)" @@ -1794,7 +1899,8 @@ </modify-argument> </modify-function> </object-type> - <object-type name="QAbstractListModel" polymorphic-id-expression="qobject_cast<QAbstractListModel*>(%1)"> + <object-type name="QAbstractListModel" + polymorphic-id-expression="qobject_cast<QAbstractListModel*>(%B)"> <extra-includes> <include file-name="QStringList" location="global"/> <include file-name="QSize" location="global"/> @@ -1802,7 +1908,7 @@ </object-type> <value-type name="QUrlQuery"/> - <value-type name="QUrl" hash-function="PySide::hash"> + <value-type name="QUrl"> <!-- Qt5: lots of changes --> <enum-type name="ComponentFormattingOption" python-type="IntFlag" flags="ComponentFormattingOptions,FormattingOptions"/> <!-- note: above duplication of attribute is not by default XML compliant! --> @@ -1812,7 +1918,6 @@ <enum-type name="AceProcessingOption" flags="AceProcessingOptions" since="6.3"/> <extra-includes> <include file-name="QStringList" location="global"/> - <include file-name="pysideqhash.h" location="global"/> </extra-includes> <add-function signature="__repr__" return-type="PyObject*"> <inject-code class="target" position="beginning"> @@ -2255,12 +2360,21 @@ <modify-function signature="write(const QByteArray&)" allow-thread="yes"/> <modify-function signature="waitForReadyRead(int)" allow-thread="yes"/> <modify-function signature="waitForBytesWritten(int)" allow-thread="yes"/> - <!-- ### peek(qint64) do the job --> <modify-function signature="peek(char*,qint64)" remove="all"/> - <!-- ### read(qint64) do the job --> + <add-function signature="peek(PyBuffer@buffer@,qint64@maxlen@)" return-type="qint64"> + <modify-argument index="1" pyi-type="bytearray"/> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qiodevice-bufferedread"/> + </add-function> <modify-function signature="read(char*,qint64)" remove="all"/> - <!-- ### readLine(qint64) do the job --> + <add-function signature="read(PyBuffer@buffer@,qint64@maxlen@)" return-type="qint64"> + <modify-argument index="1" pyi-type="bytearray"/> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qiodevice-bufferedread"/> + </add-function> <modify-function signature="readLine(char*,qint64)" remove="all"/> + <add-function signature="readLine(PyBuffer@buffer@,qint64@maxlen@)" return-type="qint64"> + <modify-argument index="1" pyi-type="bytearray"/> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qiodevice-bufferedread"/> + </add-function> <!-- ### write(str) do the job --> <modify-function signature="write(const char*,qint64)" remove="all"/> <modify-function signature="write(const char*)" remove="all"/> @@ -2309,8 +2423,8 @@ <value-type name="QOperatingSystemVersionBase" since="6.3"> <enum-type name="OSType"/> </value-type> + <value-type name="QOperatingSystemVersionUnexported" since="6.3" generate="false"/> <value-type name="QOperatingSystemVersion"> - <enum-type name="OSType"/> <modify-function signature="QOperatingSystemVersion(const QOperatingSystemVersionBase&)" remove="all"/> </value-type> <object-type name="QLibrary"> @@ -2324,6 +2438,7 @@ </object-type> <namespace-type name="QtCoreHelper" visible="no"> <object-type name="QMutexLocker" copyable="no"> + <configuration condition="QT_CONFIG(thread)"/> <!-- PYSIDE-1271: Creating locking capable objects inside sections that contain allow-thread, require the classes to also allow having threads. The lack of the option here, was generating a deadlock when running a @@ -2351,27 +2466,31 @@ <reference-count action="set"/> </modify-argument> </modify-function> - <add-function signature="__enter__()" return-type="QMutexLocker"> + <add-function signature="__enter__()" return-type="QtCoreHelper::QMutexLocker"> <inject-code file="../glue/qtcore.cpp" snippet="default-enter"/> </add-function> <add-function signature="__exit__(PyObject*,PyObject*,PyObject*)"> <inject-code file="../glue/qtcore.cpp" snippet="unlock"/> </add-function> </object-type> + <object-type name="QIOPipe"/> <value-type name="QGenericArgumentHolder"/> <value-type name="QGenericReturnArgumentHolder"/> </namespace-type> <!-- Qt5 addition --> <object-type name="QBasicMutex"> + <configuration condition="QT_CONFIG(thread)"/> <modify-function signature="lock()" allow-thread="yes"/> <modify-function signature="tryLock()" allow-thread="yes"/> </object-type> <object-type name="QMutex"> + <configuration condition="QT_CONFIG(thread)"/> <modify-function signature="tryLock(int)" allow-thread="yes"/> </object-type> <object-type name="QRecursiveMutex"> + <configuration condition="QT_CONFIG(thread)"/> <modify-function signature="lock()" allow-thread="yes"/> <modify-function signature="tryLock(int)" allow-thread="yes"/> </object-type> @@ -2385,10 +2504,13 @@ <modify-function signature="operator()()" remove="all"/> </object-type> <object-type name="QSemaphore"> + <configuration condition="QT_CONFIG(thread)"/> <modify-function signature="acquire(int)" allow-thread="yes"/> <modify-function signature="tryAcquire(int,int)" allow-thread="yes"/> </object-type> - <object-type name="QSemaphoreReleaser"/> + <object-type name="QSemaphoreReleaser"> + <configuration condition="QT_CONFIG(thread)"/> + </object-type> <value-type name="QSocketDescriptor"> <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" snippet="qsocketdescriptor"/> @@ -2429,8 +2551,14 @@ </modify-argument> <inject-code file="../glue/qtcore.cpp" snippet="qtranslator-load"/> </modify-function> + <modify-function signature="translate(const char*,const char*, const char*,int)const"> + <modify-argument index="1" pyi-type="str"/> + <modify-argument index="2" pyi-type="str"/> + <modify-argument index="3" pyi-type="Optional[str]"/> + </modify-function> </object-type> <object-type name="QWaitCondition"> + <configuration condition="QT_CONFIG(thread)"/> <modify-function signature="wait(QMutex*,QDeadlineTimer)" allow-thread="yes"/> <modify-function signature="wait(QMutex*,unsigned long)" allow-thread="yes"/> <modify-function signature="wait(QReadWriteLock*,QDeadlineTimer)" allow-thread="yes"/> @@ -2443,19 +2571,28 @@ </object-type> <object-type name="QBuffer"> <!-- ### setData(QByteArray) do the job --> - <modify-function signature="setData(const char*,int)" remove="all"/> + <modify-function signature="setData(const char*,qsizetype)" remove="all"/> <!-- Disambiguate from Qt3DRender/qbuffer.h --> <include file-name="QtCore/qbuffer.h" location="global"/> </object-type> <object-type name="QTimer"> + <extra-includes> + <include file-name="pysidestaticstrings.h" location="global"/> + </extra-includes> + <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" + snippet="qtimer-singleshot-functorclass"/> <modify-function signature="singleShot(int,const QObject*,const char*)"> - <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qtimer-singleshot-1"/> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qtimer-singleshot-direct-mapping"/> </modify-function> - <add-function signature="singleShot(int,PyCallable*)" static="yes"> - <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qtimer-singleshot-2"/> + <add-function signature="singleShot(int@msec@,PyCallable*@functor@)" static="yes"> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qtimer-singleshot-functor"/> + </add-function> + <add-function signature="singleShot(int@msec@,const QObject*@context@,PyCallable*@functor@)" static="yes"> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qtimer-singleshot-functor-context"/> </add-function> </object-type> <object-type name="QProcess"> + <configuration condition="QT_CONFIG(process)"/> <enum-type name="ExitStatus"/> <enum-type name="InputChannelMode"/> <enum-type name="ProcessChannel"/> @@ -2463,6 +2600,11 @@ <enum-type name="ProcessError"/> <enum-type name="ProcessState"/> + <?if !windows?> + <enum-type name="UnixProcessFlag" flags="UnixProcessFlags" since="6.6"/> + <value-type name="UnixProcessParameters" since="6.6"/> + <?endif?> + <modify-function signature="waitForStarted(int)" allow-thread="yes"/> <modify-function signature="waitForBytesWritten(int)" allow-thread="yes"/> <modify-function signature="waitForFinished(int)" allow-thread="yes"/> @@ -2473,7 +2615,7 @@ <modify-argument index="4"> <remove-argument /> </modify-argument> - <modify-argument index="return"> + <modify-argument index="return" pyi-type="Tuple[bool, int]"> <replace-type modified-type="(retval, pid)"/> </modify-argument> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qprocess-startdetached"/> @@ -2501,20 +2643,17 @@ <include file-name="pysidecleanup.h" location="global"/> <include file-name="pysideqapp.h" location="global"/> </extra-includes> - <!-- constructor documentation --> - <inject-documentation format="target" mode="append"> -.. class:: QCoreApplication(args) - - Constructs a Qt kernel application. Kernel applications are applications - without a graphical user interface. These type of applications are used - at the console or as server processes. - - The *args* argument is processed by the application, and made available - in a more convenient form by the :meth:`~QCoreApplication.arguments()` - method. - </inject-documentation> - <add-function signature="QCoreApplication(QStringList)"> + <add-function signature="QCoreApplication(QStringList@args@)"> <inject-code file="../glue/qtcore.cpp" snippet="qcoreapplication-1"/> + <inject-documentation format="target" mode="append"> + Constructs a Qt kernel application. Kernel applications are applications + without a graphical user interface. These type of applications are used + at the console or as server processes. + + The *args* argument is processed by the application, and made available + in a more convenient form by the :meth:`~PySide6.QtCore.QCoreApplication.arguments()` + method. + </inject-documentation> </add-function> <add-function signature="QCoreApplication()"> <inject-code file="../glue/qtcore.cpp" snippet="qcoreapplication-2"/> @@ -2550,6 +2689,43 @@ <define-ownership owner="c++"/> </modify-argument> </modify-function> + <modify-function signature="translate(const char*,const char*,const char *,int)"> + <modify-argument index="1" pyi-type="str"/> + <modify-argument index="2" pyi-type="str"/> + <modify-argument index="3" pyi-type="Optional[str]"/> + </modify-function> + <?if !no_QPermission?> + <declare-function signature="checkPermission(const QBluetoothPermission & @permission@)" return-type="Qt::PermissionStatus" since="6.5" /> + <declare-function signature="checkPermission(const QCalendarPermission & @permission@)" return-type="Qt::PermissionStatus" since="6.5" /> + <declare-function signature="checkPermission(const QCameraPermission & @permission@)" return-type="Qt::PermissionStatus" since="6.5" /> + <declare-function signature="checkPermission(const QContactsPermission & @permission@)" return-type="Qt::PermissionStatus" since="6.5" /> + <declare-function signature="checkPermission(const QLocationPermission & @permission@)" return-type="Qt::PermissionStatus" since="6.5" /> + <declare-function signature="checkPermission(const QMicrophonePermission & @permission@)" return-type="Qt::PermissionStatus" since="6.5" /> + <add-function signature="requestPermission(const QBluetoothPermission & @permission@, const QObject* @context@, PyCallable* @functor@)" since="6.5"> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" + snippet="qcoreapplication-requestpermission"/> + </add-function> + <add-function signature="requestPermission(const QCalendarPermission & @permission@, const QObject* @context@, PyCallable* @functor@)" since="6.5"> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" + snippet="qcoreapplication-requestpermission"/> + </add-function> + <add-function signature="requestPermission(const QCameraPermission & @permission@, const QObject* @context@, PyCallable* @functor@)" since="6.5"> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" + snippet="qcoreapplication-requestpermission"/> + </add-function> + <add-function signature="requestPermission(const QContactsPermission & @permission@, const QObject* @context@, PyCallable* @functor@)" since="6.5"> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" + snippet="qcoreapplication-requestpermission"/> + </add-function> + <add-function signature="requestPermission(const QLocationPermission & @permission@, const QObject* @context@, PyCallable* @functor@)" since="6.5"> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" + snippet="qcoreapplication-requestpermission"/> + </add-function> + <add-function signature="requestPermission(const QMicrophonePermission & @permission@, const QObject* @context@, PyCallable* @functor@)" since="6.5"> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" + snippet="qcoreapplication-requestpermission"/> + </add-function> + <?endif?> </object-type> <object-type name="QSettings"> <enum-type name="Format"/> @@ -2558,10 +2734,12 @@ <extra-includes> <include file-name="QStringList" location="global"/> </extra-includes> + <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" + snippet="settings-value-helpers"/> <!-- PYSIDE-1010: We remove the original implementation of value() to include the optional parameter --> <modify-function signature="value(QAnyStringView,const QVariant&)const" remove="all"/> - <add-function signature="value(const QString&, const QVariant& @defaultValue@ = 0, PyObject* @type@ = 0)" return-type="PyObject*"> + <add-function signature="value(const QString&, const QVariant& @defaultValue@ = {}, PyObject* @type@ = nullptr)" return-type="PyObject*"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qsettings-value"/> <inject-documentation mode="append" format="target"> Custom overload that adds an optional named parameter to the function ``value()`` @@ -2594,15 +2772,18 @@ file="../glue/qtcore.cpp" snippet="repr-qevent"/> </add-function> </object-type> - <object-type name="QChildEvent" polymorphic-id-expression="%1->type() == QEvent::ChildAdded || %1->type() == QEvent::ChildPolished || %1->type() == QEvent::ChildRemoved"> + <object-type name="QChildEvent" + polymorphic-id-expression="%B->type() == QEvent::ChildAdded || %B->type() == QEvent::ChildPolished || %B->type() == QEvent::ChildRemoved"> <modify-function signature="child()const"> <modify-argument index="return"> <define-ownership class="target" owner="default"/> </modify-argument> </modify-function> </object-type> - <object-type name="QTimerEvent" polymorphic-id-expression="%1->type() == QEvent::Timer"/> - <object-type name="QDynamicPropertyChangeEvent" polymorphic-id-expression="%1->type() == QEvent::DynamicPropertyChange"/> + <object-type name="QTimerEvent" + polymorphic-id-expression="%B->type() == QEvent::Timer"/> + <object-type name="QDynamicPropertyChangeEvent" + polymorphic-id-expression="%B->type() == QEvent::DynamicPropertyChange"/> <object-type name="QDataStream" stream="yes"> @@ -2670,13 +2851,19 @@ <add-function signature="readQVariant()" return-type="QVariant"> <inject-code class="target" position="end" file="../glue/qtcore.cpp" snippet="stream-read-method"/> </add-function> - <modify-function signature="readRawData(char*,int)"> + <modify-function signature="readRawData(char*,qint64)"> + <modify-argument index="return" pyi-type="bytes"/> <modify-argument index="1"> <remove-argument /> </modify-argument> <inject-code class="target" file="../glue/qtcore.cpp" snippet="qdatastream-readrawdata"/> </modify-function> - <modify-function signature="writeRawData(const char*,int)"> + <add-function signature="writeRawData(PyBuffer)"> + <inject-code class="target" position="beginning" + file="../glue/qtcore.cpp" snippet="qdatastream-writerawdata-pybuffer"/> + </add-function> + <modify-function signature="writeRawData(const char*,qint64)"> + <modify-argument index="1" pyi-type="str"/> <modify-argument index="2"> <remove-argument /> </modify-argument> @@ -2757,7 +2944,7 @@ <add-function signature="writeString(QString)"> <inject-code class="target" position="end" file="../glue/qtcore.cpp" snippet="stream-write-method"/> </add-function> - <modify-function signature="readBytes(char*&,uint&)"> + <modify-function signature="readBytes(char*&,qint64&)"> <modify-argument index="return"> <replace-type modified-type="PyTuple"/> </modify-argument> @@ -2766,8 +2953,9 @@ </modify-argument> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qdatastream-read-bytes"/> </modify-function> + <modify-function signature="readBytes(char*&,uint&)" remove="all"/> - <modify-function signature="writeBytes(const char*,uint)"> + <modify-function signature="writeBytes(const char*,qint64)"> <modify-argument index="1"> <replace-type modified-type="PyBuffer"/> <conversion-rule class="native"> @@ -2845,11 +3033,13 @@ <enum-type name="LocateOption" flags="LocateOptions"/> </object-type> <object-type name="QSystemSemaphore"> + <configuration condition="#ifndef QT_NO_SYSTEMSEMAPHORE"/> <enum-type name="AccessMode"/> <enum-type name="SystemSemaphoreError"/> </object-type> <object-type name="QThreadPool"> + <configuration condition="QT_CONFIG(thread)"/> <modify-function signature="clear()" allow-thread="yes"/> <modify-function signature="activeThreadCount()const" allow-thread="yes"/> <modify-function signature="releaseThread()" allow-thread="yes"/> @@ -2917,6 +3107,7 @@ </object-type> <value-type name="QModelIndex"> <modify-function signature="internalPointer()const"> + <modify-argument index="return" pyi-type="Any"/> <inject-code class="target" position="beginning"> <insert-template name="return_internal_pointer" /> </inject-code> @@ -2929,19 +3120,23 @@ </value-type> <object-type name="QFutureInterfaceBase"> + <configuration condition="QT_CONFIG(future)"/> <enum-type name="State"/> <enum-type name="CancelMode" since="6.3"/> </object-type> <value-type name="QFuture" generate="no"> <include file-name="QtCore/qfuture.h" location="global"/> + <configuration condition="QT_CONFIG(future)"/> <modify-function signature="waitForFinished()" allow-thread="yes"/> </value-type> <object-type name="QFutureWatcherBase" generate="no"> + <configuration condition="QT_CONFIG(future)"/> <modify-function signature="futureInterface()" remove="all"/> <modify-function signature="futureInterface() const" remove="all"/> </object-type> <object-type name="QFutureWatcher" generate="no"> <include file-name="QtCore/qfuturewatcher.h" location="global"/> + <configuration condition="QT_CONFIG(future)"/> </object-type> <!--// FIXME PYSIDE 7: Remove in favor of QtCoreHelper::QGenericArgumentHolder for @@ -2958,11 +3153,89 @@ <object-type name="QMessageLogContext"/> <value-type name="QMetaMethod"> + <extra-includes> + <include file-name="pysidesignal.h" location="global"/> + <include file-name="glue/core_snippets_p.h" location="local"/> + </extra-includes> + <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" + snippet="qmetamethod-invoke-helpers"/> <enum-type name="Access"/> <enum-type name="MethodType"/> + <add-function signature="fromSignal(PySideSignalInstance@signal@)" + return-type="QMetaMethod" static="true"> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" + snippet="qmetamethod-from-signal"/> + <inject-documentation format="target" mode="append"> + Returns the meta-method that corresponds to the given signal, or an invalid QMetaMethod + if signal is not a signal of the class. + </inject-documentation> + </add-function> + <add-function signature="invoke(QObject*@object@,Qt::ConnectionType@type@, + QtCoreHelper::QGenericReturnArgumentHolder@ret@, + QtCoreHelper::QGenericArgumentHolder@val0@={}, + QtCoreHelper::QGenericArgumentHolder@val1@={}, + QtCoreHelper::QGenericArgumentHolder@val2@={}, + QtCoreHelper::QGenericArgumentHolder@val3@={}, + QtCoreHelper::QGenericArgumentHolder@val4@={}, + QtCoreHelper::QGenericArgumentHolder@val5@={}, + QtCoreHelper::QGenericArgumentHolder@val6@={}, + QtCoreHelper::QGenericArgumentHolder@val7@={}, + QtCoreHelper::QGenericArgumentHolder@val8@={}, + QtCoreHelper::QGenericArgumentHolder@val9@={})" + return-type="PyObject*"> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" + snippet="qmetamethod-invoke-conn-type-return-arg"/> + </add-function> + <add-function signature="invoke(QObject*@object@, + QtCoreHelper::QGenericReturnArgumentHolder@ret@, + QtCoreHelper::QGenericArgumentHolder@val0@={}, + QtCoreHelper::QGenericArgumentHolder@val1@={}, + QtCoreHelper::QGenericArgumentHolder@val2@={}, + QtCoreHelper::QGenericArgumentHolder@val3@={}, + QtCoreHelper::QGenericArgumentHolder@val4@={}, + QtCoreHelper::QGenericArgumentHolder@val5@={}, + QtCoreHelper::QGenericArgumentHolder@val6@={}, + QtCoreHelper::QGenericArgumentHolder@val7@={}, + QtCoreHelper::QGenericArgumentHolder@val8@={}, + QtCoreHelper::QGenericArgumentHolder@val9@={})" + return-type="PyObject*"> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" + snippet="qmetamethod-invoke-return-arg"/> + </add-function> + <add-function signature="invoke(QObject*@object@,Qt::ConnectionType@type@, + QtCoreHelper::QGenericArgumentHolder@val0@={}, + QtCoreHelper::QGenericArgumentHolder@val1@={}, + QtCoreHelper::QGenericArgumentHolder@val2@={}, + QtCoreHelper::QGenericArgumentHolder@val3@={}, + QtCoreHelper::QGenericArgumentHolder@val4@={}, + QtCoreHelper::QGenericArgumentHolder@val5@={}, + QtCoreHelper::QGenericArgumentHolder@val6@={}, + QtCoreHelper::QGenericArgumentHolder@val7@={}, + QtCoreHelper::QGenericArgumentHolder@val8@={}, + QtCoreHelper::QGenericArgumentHolder@val9@={})" + return-type="PyObject*"> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" + snippet="qmetamethod-invoke-conn-type"/> + </add-function> + <add-function signature="invoke(QObject*@object@, + QtCoreHelper::QGenericArgumentHolder@val0@={}, + QtCoreHelper::QGenericArgumentHolder@val1@={}, + QtCoreHelper::QGenericArgumentHolder@val2@={}, + QtCoreHelper::QGenericArgumentHolder@val3@={}, + QtCoreHelper::QGenericArgumentHolder@val4@={}, + QtCoreHelper::QGenericArgumentHolder@val5@={}, + QtCoreHelper::QGenericArgumentHolder@val6@={}, + QtCoreHelper::QGenericArgumentHolder@val7@={}, + QtCoreHelper::QGenericArgumentHolder@val8@={}, + QtCoreHelper::QGenericArgumentHolder@val9@={})" + return-type="PyObject*"> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" + snippet="qmetamethod-invoke"/> + </add-function> <!-- This isn't part of Qt public API --> <modify-function signature="attributes()const" remove="all"/> <modify-function signature="getParameterTypes(int*)const" remove="all"/> + <modify-field name="mobj" remove="yes"/> </value-type> <object-type name="QMetaObject"> <enum-type name="Call"/> @@ -2970,6 +3243,7 @@ <extra-includes> <include file-name="dynamicqmetaobject.h" location="global"/> <include file-name="pysidemetatype.h" location="global"/> + <include file-name="glue/core_snippets_p.h" location="local"/> <include file-name="pysideutils.h" location="global"/> <!-- QString conversion --> </extra-includes> <inject-code class="native" position="beginning" file="../glue/qtcore.cpp" @@ -2982,22 +3256,64 @@ <declare-function signature="operator bool() const" return-type="bool"/> </value-type> <modify-function signature="^invokeMethod\(" allow-thread="yes"/> - <add-function signature="invokeMethod(QObject*@object@,const char *@member@,Qt::ConnectionType@type@,QtCoreHelper::QGenericArgumentHolder@val0@={},QtCoreHelper::QGenericArgumentHolder@val1@={},QtCoreHelper::QGenericArgumentHolder@val2@={})" + <add-function signature="invokeMethod(QObject*@object@,const char *@member@,Qt::ConnectionType@type@, + QtCoreHelper::QGenericArgumentHolder@val0@={}, + QtCoreHelper::QGenericArgumentHolder@val1@={}, + QtCoreHelper::QGenericArgumentHolder@val2@={}, + QtCoreHelper::QGenericArgumentHolder@val3@={}, + QtCoreHelper::QGenericArgumentHolder@val4@={}, + QtCoreHelper::QGenericArgumentHolder@val5@={}, + QtCoreHelper::QGenericArgumentHolder@val6@={}, + QtCoreHelper::QGenericArgumentHolder@val7@={}, + QtCoreHelper::QGenericArgumentHolder@val8@={}, + QtCoreHelper::QGenericArgumentHolder@val9@={})" static="yes" return-type="bool"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qmetaobject-invokemethod-conn-type-arg"/> </add-function> - <add-function signature="invokeMethod(QObject*@object@,const char *@member@,QtCoreHelper::QGenericArgumentHolder@val0@={},QtCoreHelper::QGenericArgumentHolder@val1@={},QtCoreHelper::QGenericArgumentHolder@val2@={})" + <add-function signature="invokeMethod(QObject*@object@,const char *@member@, + QtCoreHelper::QGenericArgumentHolder@val0@={}, + QtCoreHelper::QGenericArgumentHolder@val1@={}, + QtCoreHelper::QGenericArgumentHolder@val2@={}, + QtCoreHelper::QGenericArgumentHolder@val3@={}, + QtCoreHelper::QGenericArgumentHolder@val4@={}, + QtCoreHelper::QGenericArgumentHolder@val5@={}, + QtCoreHelper::QGenericArgumentHolder@val6@={}, + QtCoreHelper::QGenericArgumentHolder@val7@={}, + QtCoreHelper::QGenericArgumentHolder@val8@={}, + QtCoreHelper::QGenericArgumentHolder@val9@={})" static="yes" return-type="bool"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qmetaobject-invokemethod-arg"/> </add-function> - <add-function signature="invokeMethod(QObject*@object@,const char *@member@,Qt::ConnectionType@type@,QtCoreHelper::QGenericReturnArgumentHolder@ret@,QtCoreHelper::QGenericArgumentHolder@val0@={},QtCoreHelper::QGenericArgumentHolder@val1@={},QtCoreHelper::QGenericArgumentHolder@val2@={})" + <add-function signature="invokeMethod(QObject*@object@,const char *@member@,Qt::ConnectionType@type@, + QtCoreHelper::QGenericReturnArgumentHolder@ret@, + QtCoreHelper::QGenericArgumentHolder@val0@={}, + QtCoreHelper::QGenericArgumentHolder@val1@={}, + QtCoreHelper::QGenericArgumentHolder@val2@={}, + QtCoreHelper::QGenericArgumentHolder@val3@={}, + QtCoreHelper::QGenericArgumentHolder@val4@={}, + QtCoreHelper::QGenericArgumentHolder@val5@={}, + QtCoreHelper::QGenericArgumentHolder@val6@={}, + QtCoreHelper::QGenericArgumentHolder@val7@={}, + QtCoreHelper::QGenericArgumentHolder@val8@={}, + QtCoreHelper::QGenericArgumentHolder@val9@={})" static="yes" return-type="PyObject*"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qmetaobject-invokemethod-conn-type-return-arg"/> </add-function> - <add-function signature="invokeMethod(QObject*@object@,const char *@member@,QtCoreHelper::QGenericReturnArgumentHolder@ret@,QtCoreHelper::QGenericArgumentHolder@val0@={},QtCoreHelper::QGenericArgumentHolder@val1@={},QtCoreHelper::QGenericArgumentHolder@val2@={})" + <add-function signature="invokeMethod(QObject*@object@,const char *@member@, + QtCoreHelper::QGenericReturnArgumentHolder@ret@, + QtCoreHelper::QGenericArgumentHolder@val0@={}, + QtCoreHelper::QGenericArgumentHolder@val1@={}, + QtCoreHelper::QGenericArgumentHolder@val2@={}, + QtCoreHelper::QGenericArgumentHolder@val3@={}, + QtCoreHelper::QGenericArgumentHolder@val4@={}, + QtCoreHelper::QGenericArgumentHolder@val5@={}, + QtCoreHelper::QGenericArgumentHolder@val6@={}, + QtCoreHelper::QGenericArgumentHolder@val7@={}, + QtCoreHelper::QGenericArgumentHolder@val8@={}, + QtCoreHelper::QGenericArgumentHolder@val9@={})" static="yes" return-type="PyObject*"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qmetaobject-invokemethod-return-arg"/> @@ -3005,6 +3321,27 @@ <add-function signature="__repr__" return-type="PyObject*"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qmetaobject-repr"/> </add-function> + <modify-function signature="indexOfClassInfo(const char *)"> + <modify-argument index="1" pyi-type="str"/> + </modify-function> + <modify-function signature="indexOfConstructor(const char *)"> + <modify-argument index="1" pyi-type="str"/> + </modify-function> + <modify-function signature="indexOfEnumerator(const char *)"> + <modify-argument index="1" pyi-type="str"/> + </modify-function> + <modify-function signature="indexOfMethod(const char *)"> + <modify-argument index="1" pyi-type="str"/> + </modify-function> + <modify-function signature="indexOfProperty(const char *)"> + <modify-argument index="1" pyi-type="str"/> + </modify-function> + <modify-function signature="indexOfSignal(const char *)"> + <modify-argument index="1" pyi-type="str"/> + </modify-function> + <modify-function signature="indexOfSlot(const char *)"> + <modify-argument index="1" pyi-type="str"/> + </modify-function> </object-type> <value-type name="QMetaProperty" > <!-- This isn't part of Qt public API --> @@ -3133,6 +3470,7 @@ <object-type name="QPauseAnimation" since="4.6"/> <value-type name="QProcessEnvironment" since="4.6"> + <configuration condition="QT_CONFIG(processenvironment)"/> <enum-type name="Initialization" since="6.3"/> </value-type> @@ -3154,10 +3492,12 @@ <add-function signature="SIGNAL(const char*)" return-type="str"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qt-signal"/> + <modify-argument index="1" pyi-type="str"/> </add-function> <add-function signature="SLOT(const char*)" return-type="str"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qt-slot"/> + <modify-argument index="1" pyi-type="str"/> </add-function> <add-function signature="QT_TR_NOOP(PyObject)" return-type="PyObject*"> @@ -3195,12 +3535,18 @@ </add-function> <object-type name="QFactoryInterface"/> - <object-type name="QRunnable"/> + <object-type name="QRunnable"> + <configuration condition="QT_CONFIG(thread)"/> + <add-function signature="create(PyObject* @functionToRun@)" static="yes" return-type="QRunnable*"> + <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qrunnable_create"/> + </add-function> + </object-type> <object-type name="QPluginLoader"/> <object-type name="QStringListModel"/> <object-type name="QSharedMemory"> + <configuration condition="#ifndef QT_NO_SHAREDMEMORY"/> <enum-type name="AccessMode"/> <enum-type name="SharedMemoryError"/> <modify-function signature="data()"> @@ -3238,25 +3584,25 @@ <include file-name="qloggingcategory.h" location="global" /> </extra-includes> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qloggingcategory_to_cpp"> - qCDebug(*category, "%s", %2); + qCDebug((*category), "%s", %2); </inject-code> </add-function> <add-function signature="qCCritical(PyObject *, const char *)"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qloggingcategory_to_cpp"> - qCCritical(*category, "%s", %2); + qCCritical((*category), "%s", %2); </inject-code> </add-function> <add-function signature="qCInfo(PyObject *, const char *)"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qloggingcategory_to_cpp"> - qCInfo(*category, "%s", %2); + qCInfo((*category), "%s", %2); </inject-code> </add-function> <add-function signature="qCWarning(PyObject *, const char *)"> <inject-code class="target" position="beginning" file="../glue/qtcore.cpp" snippet="qloggingcategory_to_cpp"> - qCWarning(*category, "%s", %2); + qCWarning((*category), "%s", %2); </inject-code> </add-function> @@ -3265,19 +3611,20 @@ <suppress-warning text="^Anonymous enum.*does not have a type entry.*$"/> <suppress-warning text="Visibility of function '*' modified in class '*'"/> - <suppress-warning text="hiding of function '*' in class '*'"/> <suppress-warning text="Shadowing: *"/> - <suppress-warning text="namespace '*' does not have a type entry"/> + <suppress-warning text="^namespace '.*' does not have a type entry.*$"/> <!-- QCborStreamReader: Suppress warnings about 32/64bit signatures not found depending on qsizetype --> <suppress-warning text="^signature 'readStringChunk\(char.*in 'QCborStreamReader' not found.*$"/> <!-- TODO: this need be removed --> - <suppress-warning text="^skipping function '.*', unmatched return type '.*$"/> - <suppress-warning text="^skipping function '.*', unmatched type '.*$"/> - <suppress-warning text="skipping field 'QStringConverter::iface' with unmatched type 'QStringConverter::Interface'"/> - <suppress-warning text="skipping field 'Qt::Uninitialized' with unmatched type 'Qt::Initialization'"/> - <suppress-warning text="skipping field 'State::clearFn' with unmatched type 'void'"/> + <suppress-warning text="^skipping.*function '.*', unmatched return type '.*$"/> + <suppress-warning text="^skipping.*function '.*', unmatched type '.*$"/> + <suppress-warning text="skipping protected field 'QStringConverter::iface' with unmatched type 'QStringConverter::Interface'"/> + <suppress-warning text="^skipping public field 'Qt::.*' with unmatched type 'Qt::.*ordering'$"/> + <suppress-warning text="skipping public field 'Qt::Uninitialized' with unmatched type 'Qt::Initialization'"/> + <suppress-warning text="skipping public field 'State::clearFn' with unmatched type 'void'"/> <suppress-warning text="template baseclass 'QListSpecialMethods<T>' of 'QList' is not known"/> <suppress-warning text="^.*inherits from a non polymorphic type.*QIODeviceBase.*type discovery based on RTTI is impossible.*$"/> + <suppress-warning text="Base class 'QOperatingSystemVersionUnexported' of class 'QOperatingSystemVersion' not found in the type system for setting up inheritance."/> </typesystem> |