aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside2/PySide2/QtWidgets/glue/qlayout_help_functions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sources/pyside2/PySide2/QtWidgets/glue/qlayout_help_functions.cpp')
-rw-r--r--sources/pyside2/PySide2/QtWidgets/glue/qlayout_help_functions.cpp161
1 files changed, 0 insertions, 161 deletions
diff --git a/sources/pyside2/PySide2/QtWidgets/glue/qlayout_help_functions.cpp b/sources/pyside2/PySide2/QtWidgets/glue/qlayout_help_functions.cpp
deleted file mode 100644
index d542b881c..000000000
--- a/sources/pyside2/PySide2/QtWidgets/glue/qlayout_help_functions.cpp
+++ /dev/null
@@ -1,161 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of Qt for Python.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-void addLayoutOwnership(QLayout* layout, QLayoutItem* item);
-void removeLayoutOwnership(QLayout* layout, QWidget* widget);
-
-inline QByteArray retrieveObjectName(PyObject* obj)
-{
- Shiboken::AutoDecRef objName(PyObject_Str(obj));
- return Shiboken::String::toCString(objName);
-}
-
-inline void addLayoutOwnership(QLayout* layout, QWidget* widget)
-{
- //transfer ownership to parent widget
- QWidget *lw = layout->parentWidget();
- QWidget *pw = widget->parentWidget();
-
- Shiboken::AutoDecRef pyChild(%CONVERTTOPYTHON[QWidget*](widget));
-
- //Transfer parent to layout widget
- if (pw && lw && pw != lw)
- Shiboken::Object::setParent(0, pyChild);
-
- if (!lw && !pw) {
- //keep the reference while the layout is orphan
- Shiboken::AutoDecRef pyParent(%CONVERTTOPYTHON[QWidget*](layout));
- Shiboken::Object::keepReference(reinterpret_cast<SbkObject*>(pyParent.object()), retrieveObjectName(pyParent).data(), pyChild, true);
- } else {
- if (!lw)
- lw = pw;
- Shiboken::AutoDecRef pyParent(%CONVERTTOPYTHON[QWidget*](lw));
- Shiboken::Object::setParent(pyParent, pyChild);
- }
-}
-
-inline void addLayoutOwnership(QLayout* layout, QLayout* other)
-{
- //transfer all children widgets from other to layout parent widget
- QWidget* parent = layout->parentWidget();
- if (!parent) {
- //keep the reference while the layout is orphan
- Shiboken::AutoDecRef pyParent(%CONVERTTOPYTHON[QLayout*](layout));
- Shiboken::AutoDecRef pyChild(%CONVERTTOPYTHON[QLayout*](other));
- Shiboken::Object::keepReference(reinterpret_cast<SbkObject*>(pyParent.object()), retrieveObjectName(pyParent).data(), pyChild, true);
- return;
- }
-
- for (int i=0, i_max=other->count(); i < i_max; i++) {
- QLayoutItem* item = other->itemAt(i);
- if (PyErr_Occurred() || !item)
- return;
- addLayoutOwnership(layout, item);
- }
-
- Shiboken::AutoDecRef pyParent(%CONVERTTOPYTHON[QLayout*](layout));
- Shiboken::AutoDecRef pyChild(%CONVERTTOPYTHON[QLayout*](other));
- Shiboken::Object::setParent(pyParent, pyChild);
-}
-
-inline void addLayoutOwnership(QLayout* layout, QLayoutItem* item)
-{
- if (!item)
- return;
-
- QWidget* w = item->widget();
- if (w)
- addLayoutOwnership(layout, w);
- else {
- QLayout* l = item->layout();
- if (l)
- addLayoutOwnership(layout, l);
- }
-
- Shiboken::AutoDecRef pyParent(%CONVERTTOPYTHON[QLayout*](layout));
- Shiboken::AutoDecRef pyChild(%CONVERTTOPYTHON[QLayoutItem*](item));
- Shiboken::Object::setParent(pyParent, pyChild);
-}
-
-static void removeWidgetFromLayout(QLayout* layout, QWidget* widget)
-{
- QWidget* parent = widget->parentWidget();
-
- if (!parent) {
- //remove reference on layout
- Shiboken::AutoDecRef pyParent(%CONVERTTOPYTHON[QWidget*](layout));
- Shiboken::AutoDecRef pyChild(%CONVERTTOPYTHON[QWidget*](widget));
- Shiboken::Object::removeReference(reinterpret_cast<SbkObject*>(pyParent.object()), retrieveObjectName(pyParent).data(), pyChild);
- } else {
- //give the ownership to parent
- Shiboken::AutoDecRef pyParent(%CONVERTTOPYTHON[QWidget*](parent));
- Shiboken::AutoDecRef pyChild(%CONVERTTOPYTHON[QWidget*](widget));
- Shiboken::Object::setParent(pyParent, pyChild);
- }
-}
-
-inline void removeLayoutOwnership(QLayout* layout, QLayoutItem* item)
-{
- QWidget* w = item->widget();
- if (w)
- removeWidgetFromLayout(layout, w);
- else {
- QLayout* l = item->layout();
- if (l && item != l)
- removeLayoutOwnership(layout, l);
- }
-
- Shiboken::AutoDecRef pyChild(%CONVERTTOPYTHON[QLayoutItem*](item));
- Shiboken::Object::invalidate(pyChild);
- Shiboken::Object::setParent(0, pyChild);
-}
-
-inline void removeLayoutOwnership(QLayout* layout, QWidget* widget)
-{
- if (!widget)
- return;
-
- for (int i=0, i_max=layout->count(); i < i_max; i++) {
- QLayoutItem* item = layout->itemAt(i);
- if (PyErr_Occurred() || !item)
- return;
- if (item->widget() == widget)
- removeLayoutOwnership(layout, item);
- }
-}