Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-02 08:54:47

0001 // Copyright (C) 2016 The Qt Company Ltd.
0002 // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
0003 // Qt-Security score:significant reason:default
0004 
0005 #ifndef QGRIDLAYOUT_H
0006 #define QGRIDLAYOUT_H
0007 
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtWidgets/qlayout.h>
0010 #ifdef QT_INCLUDE_COMPAT
0011 #include <QtWidgets/qwidget.h>
0012 #endif
0013 
0014 #include <limits.h>
0015 
0016 QT_BEGIN_NAMESPACE
0017 
0018 
0019 class QGridLayoutPrivate;
0020 
0021 class Q_WIDGETS_EXPORT QGridLayout : public QLayout
0022 {
0023     Q_OBJECT
0024     Q_DECLARE_PRIVATE(QGridLayout)
0025     QDOC_PROPERTY(int horizontalSpacing READ horizontalSpacing WRITE setHorizontalSpacing)
0026     QDOC_PROPERTY(int verticalSpacing READ verticalSpacing WRITE setVerticalSpacing)
0027 
0028 public:
0029     explicit QGridLayout(QWidget *parent = nullptr);
0030     ~QGridLayout();
0031 
0032     QSize sizeHint() const override;
0033     QSize minimumSize() const override;
0034     QSize maximumSize() const override;
0035 
0036     void setHorizontalSpacing(int spacing);
0037     int horizontalSpacing() const;
0038     void setVerticalSpacing(int spacing);
0039     int verticalSpacing() const;
0040     void setSpacing(int spacing) override;
0041     int spacing() const override;
0042 
0043     void setRowStretch(int row, int stretch);
0044     void setColumnStretch(int column, int stretch);
0045     int rowStretch(int row) const;
0046     int columnStretch(int column) const;
0047 
0048     void setRowMinimumHeight(int row, int minSize);
0049     void setColumnMinimumWidth(int column, int minSize);
0050     int rowMinimumHeight(int row) const;
0051     int columnMinimumWidth(int column) const;
0052 
0053     int columnCount() const;
0054     int rowCount() const;
0055 
0056     QRect cellRect(int row, int column) const;
0057 
0058     bool hasHeightForWidth() const override;
0059     int heightForWidth(int) const override;
0060     int minimumHeightForWidth(int) const override;
0061 
0062     Qt::Orientations expandingDirections() const override;
0063     void invalidate() override;
0064 
0065     inline void addWidget(QWidget *w) { QLayout::addWidget(w); }
0066     void addWidget(QWidget *, int row, int column, Qt::Alignment = Qt::Alignment());
0067     void addWidget(QWidget *, int row, int column, int rowSpan, int columnSpan, Qt::Alignment = Qt::Alignment());
0068     void addLayout(QLayout *, int row, int column, Qt::Alignment = Qt::Alignment());
0069     void addLayout(QLayout *, int row, int column, int rowSpan, int columnSpan, Qt::Alignment = Qt::Alignment());
0070 
0071     void setOriginCorner(Qt::Corner);
0072     Qt::Corner originCorner() const;
0073 
0074     QLayoutItem *itemAt(int index) const override;
0075     QLayoutItem *itemAtPosition(int row, int column) const;
0076     QLayoutItem *takeAt(int index) override;
0077     int count() const override;
0078     void setGeometry(const QRect&) override;
0079 
0080     void addItem(QLayoutItem *item, int row, int column, int rowSpan = 1, int columnSpan = 1, Qt::Alignment = Qt::Alignment());
0081 
0082     void setDefaultPositioning(int n, Qt::Orientation orient);
0083     void getItemPosition(int idx, int *row, int *column, int *rowSpan, int *columnSpan) const;
0084 
0085 protected:
0086     void addItem(QLayoutItem *) override;
0087 
0088 private:
0089     Q_DISABLE_COPY(QGridLayout)
0090 
0091 };
0092 
0093 QT_END_NAMESPACE
0094 
0095 #endif // QGRIDLAYOUT_H