Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-02 08:27:12

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 QGRAPHICSGRIDLAYOUT_H
0006 #define QGRAPHICSGRIDLAYOUT_H
0007 
0008 #include <QtWidgets/qtwidgetsglobal.h>
0009 #include <QtWidgets/qgraphicsitem.h>
0010 #include <QtWidgets/qgraphicslayout.h>
0011 
0012 QT_REQUIRE_CONFIG(graphicsview);
0013 
0014 QT_BEGIN_NAMESPACE
0015 
0016 class QGraphicsGridLayoutPrivate;
0017 
0018 class Q_WIDGETS_EXPORT QGraphicsGridLayout : public QGraphicsLayout
0019 {
0020 public:
0021     QGraphicsGridLayout(QGraphicsLayoutItem *parent = nullptr);
0022     virtual ~QGraphicsGridLayout();
0023 
0024     void addItem(QGraphicsLayoutItem *item, int row, int column, int rowSpan, int columnSpan,
0025                  Qt::Alignment alignment = Qt::Alignment());
0026     inline void addItem(QGraphicsLayoutItem *item, int row, int column, Qt::Alignment alignment = Qt::Alignment());
0027 
0028     void setHorizontalSpacing(qreal spacing);
0029     qreal horizontalSpacing() const;
0030     void setVerticalSpacing(qreal spacing);
0031     qreal verticalSpacing() const;
0032     void setSpacing(qreal spacing);
0033 
0034     void setRowSpacing(int row, qreal spacing);
0035     qreal rowSpacing(int row) const;
0036     void setColumnSpacing(int column, qreal spacing);
0037     qreal columnSpacing(int column) const;
0038 
0039     void setRowStretchFactor(int row, int stretch);
0040     int rowStretchFactor(int row) const;
0041     void setColumnStretchFactor(int column, int stretch);
0042     int columnStretchFactor(int column) const;
0043 
0044     void setRowMinimumHeight(int row, qreal height);
0045     qreal rowMinimumHeight(int row) const;
0046     void setRowPreferredHeight(int row, qreal height);
0047     qreal rowPreferredHeight(int row) const;
0048     void setRowMaximumHeight(int row, qreal height);
0049     qreal rowMaximumHeight(int row) const;
0050     void setRowFixedHeight(int row, qreal height);
0051 
0052     void setColumnMinimumWidth(int column, qreal width);
0053     qreal columnMinimumWidth(int column) const;
0054     void setColumnPreferredWidth(int column, qreal width);
0055     qreal columnPreferredWidth(int column) const;
0056     void setColumnMaximumWidth(int column, qreal width);
0057     qreal columnMaximumWidth(int column) const;
0058     void setColumnFixedWidth(int column, qreal width);
0059 
0060     void setRowAlignment(int row, Qt::Alignment alignment);
0061     Qt::Alignment rowAlignment(int row) const;
0062     void setColumnAlignment(int column, Qt::Alignment alignment);
0063     Qt::Alignment columnAlignment(int column) const;
0064 
0065     void setAlignment(QGraphicsLayoutItem *item, Qt::Alignment alignment);
0066     Qt::Alignment alignment(QGraphicsLayoutItem *item) const;
0067 
0068     int rowCount() const;
0069     int columnCount() const;
0070 
0071     QGraphicsLayoutItem *itemAt(int row, int column) const;
0072 
0073     // inherited from QGraphicsLayout
0074     int count() const override;
0075     QGraphicsLayoutItem *itemAt(int index) const override;
0076     void removeAt(int index) override;
0077     void removeItem(QGraphicsLayoutItem *item);
0078 
0079     void invalidate() override;
0080 
0081     // inherited from QGraphicsLayoutItem
0082     void setGeometry(const QRectF &rect) override;
0083     QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const override;
0084 
0085     // ####
0086     //QRect cellRect(int row, int column, int rowSpan = 1, int columnSpan = 1) const;
0087     //QSizePolicy::ControlTypes controlTypes(LayoutSide side) const;
0088 
0089 private:
0090     Q_DISABLE_COPY(QGraphicsGridLayout)
0091     Q_DECLARE_PRIVATE(QGraphicsGridLayout)
0092 };
0093 
0094 inline void QGraphicsGridLayout::addItem(QGraphicsLayoutItem *aitem, int arow, int acolumn, Qt::Alignment aalignment)
0095 { addItem(aitem, arow, acolumn, 1, 1, aalignment); }
0096 
0097 QT_END_NAMESPACE
0098 
0099 #endif