// 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 #ifndef QGRIDLAYOUT_H #define QGRIDLAYOUT_H #include #include #ifdef QT_INCLUDE_COMPAT #include #endif #include QT_BEGIN_NAMESPACE class QGridLayoutPrivate; class Q_WIDGETS_EXPORT QGridLayout : public QLayout { Q_OBJECT Q_DECLARE_PRIVATE(QGridLayout) QDOC_PROPERTY(int horizontalSpacing READ horizontalSpacing WRITE setHorizontalSpacing) QDOC_PROPERTY(int verticalSpacing READ verticalSpacing WRITE setVerticalSpacing) public: explicit QGridLayout(QWidget *parent = nullptr); ~QGridLayout(); QSize sizeHint() const override; QSize minimumSize() const override; QSize maximumSize() const override; void setHorizontalSpacing(int spacing); int horizontalSpacing() const; void setVerticalSpacing(int spacing); int verticalSpacing() const; void setSpacing(int spacing) override; int spacing() const override; void setRowStretch(int row, int stretch); void setColumnStretch(int column, int stretch); int rowStretch(int row) const; int columnStretch(int column) const; void setRowMinimumHeight(int row, int minSize); void setColumnMinimumWidth(int column, int minSize); int rowMinimumHeight(int row) const; int columnMinimumWidth(int column) const; int columnCount() const; int rowCount() const; QRect cellRect(int row, int column) const; bool hasHeightForWidth() const override; int heightForWidth(int) const override; int minimumHeightForWidth(int) const override; Qt::Orientations expandingDirections() const override; void invalidate() override; inline void addWidget(QWidget *w) { QLayout::addWidget(w); } void addWidget(QWidget *, int row, int column, Qt::Alignment = Qt::Alignment()); void addWidget(QWidget *, int row, int column, int rowSpan, int columnSpan, Qt::Alignment = Qt::Alignment()); void addLayout(QLayout *, int row, int column, Qt::Alignment = Qt::Alignment()); void addLayout(QLayout *, int row, int column, int rowSpan, int columnSpan, Qt::Alignment = Qt::Alignment()); void setOriginCorner(Qt::Corner); Qt::Corner originCorner() const; QLayoutItem *itemAt(int index) const override; QLayoutItem *itemAtPosition(int row, int column) const; QLayoutItem *takeAt(int index) override; int count() const override; void setGeometry(const QRect&) override; void addItem(QLayoutItem *item, int row, int column, int rowSpan = 1, int columnSpan = 1, Qt::Alignment = Qt::Alignment()); void setDefaultPositioning(int n, Qt::Orientation orient); void getItemPosition(int idx, int *row, int *column, int *rowSpan, int *columnSpan) const; protected: void addItem(QLayoutItem *) override; private: Q_DISABLE_COPY(QGridLayout) }; QT_END_NAMESPACE #endif // QGRIDLAYOUT_H