1 /* 2 * DQt - D bindings for the Qt Toolkit 3 * 4 * GNU Lesser General Public License Usage 5 * This file may be used under the terms of the GNU Lesser 6 * General Public License version 3 as published by the Free Software 7 * Foundation and appearing in the file LICENSE.LGPL3 included in the 8 * packaging of this file. Please review the following information to 9 * ensure the GNU Lesser General Public License version 3 requirements 10 * will be met: https://www.gnu.org/licenses/lgpl-3.0.html. 11 */ 12 module qt.widgets.gridlayout; 13 extern(C++): 14 15 import qt.config; 16 import qt.core.namespace; 17 import qt.core.rect; 18 import qt.core.size; 19 import qt.helpers; 20 import qt.widgets.layout; 21 import qt.widgets.layoutitem; 22 import qt.widgets.widget; 23 24 /+ #ifdef QT_INCLUDE_COMPAT 25 #endif +/ 26 27 28 29 extern(C++, class) struct QGridLayoutPrivate; 30 31 /// Binding for C++ class [QGridLayout](https://doc.qt.io/qt-6/qgridlayout.html). 32 class /+ Q_WIDGETS_EXPORT +/ QGridLayout : QLayout 33 { 34 mixin(Q_OBJECT); 35 /+ Q_DECLARE_PRIVATE(QGridLayout) +/ 36 /+ QDOC_PROPERTY(int horizontalSpacing READ horizontalSpacing WRITE setHorizontalSpacing) 37 QDOC_PROPERTY(int verticalSpacing READ verticalSpacing WRITE setVerticalSpacing) +/ 38 39 public: 40 /+ explicit +/this(QWidget parent = null); 41 ~this(); 42 43 override QSize sizeHint() const; 44 override QSize minimumSize() const; 45 override QSize maximumSize() const; 46 47 final void setHorizontalSpacing(int spacing); 48 final int horizontalSpacing() const; 49 final void setVerticalSpacing(int spacing); 50 final int verticalSpacing() const; 51 override void setSpacing(int spacing); 52 override int spacing() const; 53 54 final void setRowStretch(int row, int stretch); 55 final void setColumnStretch(int column, int stretch); 56 final int rowStretch(int row) const; 57 final int columnStretch(int column) const; 58 59 final void setRowMinimumHeight(int row, int minSize); 60 final void setColumnMinimumWidth(int column, int minSize); 61 final int rowMinimumHeight(int row) const; 62 final int columnMinimumWidth(int column) const; 63 64 final int columnCount() const; 65 final int rowCount() const; 66 67 final QRect cellRect(int row, int column) const; 68 69 override bool hasHeightForWidth() const; 70 override int heightForWidth(int) const; 71 override int minimumHeightForWidth(int) const; 72 73 override /+ Qt:: +/qt.core.namespace.Orientations expandingDirections() const; 74 override void invalidate(); 75 76 // pragma(inline, true) final void addWidget(QWidget w) { QLayout.addWidget(w); } 77 final void addWidget(QWidget , int row, int column, /+ Qt:: +/qt.core.namespace.Alignment = globalInitVar!Alignment); 78 final void addWidget(QWidget , int row, int column, int rowSpan, int columnSpan, /+ Qt:: +/qt.core.namespace.Alignment = globalInitVar!Alignment); 79 final void addLayout(QLayout , int row, int column, /+ Qt:: +/qt.core.namespace.Alignment = globalInitVar!Alignment); 80 final void addLayout(QLayout , int row, int column, int rowSpan, int columnSpan, /+ Qt:: +/qt.core.namespace.Alignment = globalInitVar!Alignment); 81 82 final void setOriginCorner(/+ Qt:: +/qt.core.namespace.Corner); 83 final /+ Qt:: +/qt.core.namespace.Corner originCorner() const; 84 85 override QLayoutItem itemAt(int index) const; 86 final QLayoutItem itemAtPosition(int row, int column) const; 87 override QLayoutItem takeAt(int index); 88 override int count() const; 89 override void setGeometry(ref const(QRect)); 90 91 final void addItem(QLayoutItem item, int row, int column, int rowSpan = 1, int columnSpan = 1, /+ Qt:: +/qt.core.namespace.Alignment = globalInitVar!(qt.core.namespace.Alignment)); 92 93 final void setDefaultPositioning(int n, /+ Qt:: +/qt.core.namespace.Orientation orient); 94 final void getItemPosition(int idx, int* row, int* column, int* rowSpan, int* columnSpan) const; 95 96 protected: 97 override void addItem(QLayoutItem ); 98 99 private: 100 /+ Q_DISABLE_COPY(QGridLayout) +/ 101 102 mixin(CREATE_CONVENIENCE_WRAPPERS); 103 } 104