diff options
Diffstat (limited to 'sources/pyside6/PySide6/QtUiTools/typesystem_uitools.xml')
-rw-r--r-- | sources/pyside6/PySide6/QtUiTools/typesystem_uitools.xml | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/sources/pyside6/PySide6/QtUiTools/typesystem_uitools.xml b/sources/pyside6/PySide6/QtUiTools/typesystem_uitools.xml new file mode 100644 index 000000000..9cfa176c8 --- /dev/null +++ b/sources/pyside6/PySide6/QtUiTools/typesystem_uitools.xml @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +--> + +<typesystem package="PySide6.QtUiTools" + namespace-begin="QT_BEGIN_NAMESPACE" namespace-end="QT_END_NAMESPACE"> + <load-typesystem name="QtWidgets/typesystem_widgets.xml" generate="no"/> + + <object-type name="QUiLoader"> + <extra-includes> + <include file-name="glue/plugins.h" location="local"/> + </extra-includes> + <inject-code class="native" position="beginning" file="../glue/qtuitools.cpp" snippet="uitools-loadui"/> + <inject-code file="../glue/qtuitools.cpp" snippet="quiloader"/> + <add-function signature="registerCustomWidget(PyObject*@customWidgetType@)" return-type="void"> + <inject-documentation format="target" mode="append" file="../doc/qtuitools.rst" + snippet="quiloader-registercustomwidget"/> + <inject-code class="target" position="beginning" file="../glue/qtuitools.cpp" + snippet="quiloader-registercustomwidget"/> + </add-function> + <modify-function signature="createAction(QObject*,const QString&)"> + <modify-argument index="return"> + <parent index="1" action="add"/> + <define-ownership class="native" owner="c++"/> + <define-ownership class="target" owner="default"/> + </modify-argument> + </modify-function> + + <modify-function signature="createActionGroup(QObject*,const QString&)"> + <modify-argument index="return"> + <parent index="1" action="add"/> + <define-ownership class="native" owner="c++"/> + <define-ownership class="target" owner="default"/> + </modify-argument> + </modify-function> + + <modify-function signature="createLayout(const QString&,QObject*,const QString&)"> + <modify-argument index="return"> + <parent index="2" action="add"/> + <define-ownership class="native" owner="c++"/> + <define-ownership class="target" owner="default"/> + </modify-argument> + </modify-function> + + <modify-function signature="createWidget(const QString&,QWidget*,const QString&)"> + <modify-argument index="return"> + <parent index="2" action="add"/> + <define-ownership class="native" owner="c++"/> + <define-ownership class="target" owner="default"/> + </modify-argument> + </modify-function> + + <modify-function signature="load(QIODevice*,QWidget*)"> + <modify-argument index="2"> + <replace-default-expression with="0"/> + <rename to="parentWidget"/> + </modify-argument> + <modify-argument index="return"> + <define-ownership class="target" owner="target"/> + </modify-argument> + <inject-code file="../glue/qtuitools.cpp" snippet="quiloader-load-1"/> + </modify-function> + + <!-- Syntax sugar --> + <add-function signature="load(PyPathLike,QWidget*@parentWidget@=nullptr)" return-type="QWidget*"> + <modify-argument index="return"> + <define-ownership class="target" owner="target"/> + </modify-argument> + <inject-code file="../glue/qtuitools.cpp" snippet="quiloader-load-2"/> + </add-function> + </object-type> + + <!-- + After the removal of the 'pysideuic' Python module, many users were unable to generate and + load UI classes dynamically. + This function was created to provide an equivalent solution to the 'loadUiType' function from + Riverbank's PyQt. + --> + <add-function signature="loadUiType(const QString& @uifile@)" return-type="PyObject*"> + <inject-code file="../glue/qtuitools.cpp" snippet="loaduitype"/> + <inject-documentation format="target" mode="append" file="../doc/qtuitools.rst" + snippet="loaduitype"/> + </add-function> + + +</typesystem> |