1// qlayoutitem.sip generated by MetaSIP
2//
3// This file is part of the QtWidgets Python extension module.
4//
5// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
6//
7// This file is part of PyQt5.
8//
9// This file may be used under the terms of the GNU General Public License
10// version 3.0 as published by the Free Software Foundation and appearing in
11// the file LICENSE included in the packaging of this file.  Please review the
12// following information to ensure the GNU General Public License version 3.0
13// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
14//
15// If you do not wish to use this file under the terms of the GPL version 3.0
16// then you may purchase a commercial license.  For more information contact
17// info@riverbankcomputing.com.
18//
19// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
21
22
23class QLayoutItem /Supertype=sip.wrapper/
24{
25%TypeHeaderCode
26#include <qlayoutitem.h>
27%End
28
29%ConvertToSubClassCode
30    if (sipCpp->widget())
31    {
32        sipType = sipType_QWidgetItem;
33    }
34    else if (sipCpp->spacerItem())
35    {
36        sipType = sipType_QSpacerItem;
37    }
38    else
39    {
40        // Switch to the QObject convertor.
41        *sipCppRet = sipCpp->layout();
42        sipType = sipType_QObject;
43    }
44%End
45
46public:
47    explicit QLayoutItem(Qt::Alignment alignment = Qt::Alignment());
48    virtual ~QLayoutItem();
49    virtual QSize sizeHint() const = 0;
50    virtual QSize minimumSize() const = 0;
51    virtual QSize maximumSize() const = 0;
52    virtual Qt::Orientations expandingDirections() const = 0;
53    virtual void setGeometry(const QRect &) = 0;
54    virtual QRect geometry() const = 0;
55    virtual bool isEmpty() const = 0;
56    virtual bool hasHeightForWidth() const;
57    virtual int heightForWidth(int) const;
58    virtual int minimumHeightForWidth(int) const;
59    virtual void invalidate();
60    virtual QWidget *widget();
61    virtual QLayout *layout();
62    virtual QSpacerItem *spacerItem();
63    Qt::Alignment alignment() const;
64    void setAlignment(Qt::Alignment a);
65    virtual QSizePolicy::ControlTypes controlTypes() const;
66};
67
68class QSpacerItem : QLayoutItem
69{
70%TypeHeaderCode
71#include <qlayoutitem.h>
72%End
73
74public:
75    QSpacerItem(int w, int h, QSizePolicy::Policy hPolicy = QSizePolicy::Minimum, QSizePolicy::Policy vPolicy = QSizePolicy::Minimum);
76    virtual ~QSpacerItem();
77    void changeSize(int w, int h, QSizePolicy::Policy hPolicy = QSizePolicy::Minimum, QSizePolicy::Policy vPolicy = QSizePolicy::Minimum);
78    virtual QSize sizeHint() const;
79    virtual QSize minimumSize() const;
80    virtual QSize maximumSize() const;
81    virtual Qt::Orientations expandingDirections() const;
82    virtual bool isEmpty() const;
83    virtual void setGeometry(const QRect &);
84    virtual QRect geometry() const;
85    virtual QSpacerItem *spacerItem();
86%If (Qt_5_5_0 -)
87    QSizePolicy sizePolicy() const;
88%End
89};
90
91class QWidgetItem : QLayoutItem
92{
93%TypeHeaderCode
94#include <qlayoutitem.h>
95%End
96
97public:
98    explicit QWidgetItem(QWidget *w);
99    virtual ~QWidgetItem();
100    virtual QSize sizeHint() const;
101    virtual QSize minimumSize() const;
102    virtual QSize maximumSize() const;
103    virtual Qt::Orientations expandingDirections() const;
104    virtual bool isEmpty() const;
105    virtual void setGeometry(const QRect &);
106    virtual QRect geometry() const;
107    virtual QWidget *widget();
108    virtual bool hasHeightForWidth() const;
109    virtual int heightForWidth(int) const;
110    virtual QSizePolicy::ControlTypes controlTypes() const;
111
112private:
113    QWidgetItem(const QWidgetItem &);
114};
115