/**************************************************************************** ** ** Copyright (C) 2022 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the QtWidgets module of the Qt Toolkit. ** ** $QT_BEGIN_LICENSE:COMM$ ** ** 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. ** ** $QT_END_LICENSE$ ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ******************************************************************************/ #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