14#include <QLoggingCategory>
30 void addItem(QLayoutItem *item)
override;
31 [[nodiscard]]
int count()
const override;
32 [[nodiscard]] QLayoutItem *
itemAt(
int index)
const override;
33 QLayoutItem *
takeAt(
int index)
override;
40 [[nodiscard]] QSize
sizeHint()
const override;
54 [[nodiscard]]
int smartSpacing(QStyle::PixelMetric pm)
const;
57 virtual int layoutAllRows(
int originX,
int originY,
int availableWidth);
58 virtual void layoutSingleRow(
const QVector<QLayoutItem *> &rowItems,
int x,
int y,
int availableWidth);
int horizontalSpacing() const
Gets the horizontal spacing between items.
Definition flow_layout.cpp:446
int verticalSpacing() const
Gets the vertical spacing between items.
Definition flow_layout.cpp:455
QSize calculateSizeHintHorizontal() const
Preferred size for horizontal flow: all items in a single row (unconstrained).
Definition flow_layout.cpp:318
int verticalMargin
Vertical spacing between items (-1 = use style default).
Definition flow_layout.h:72
QLayoutItem * itemAt(int index) const override
Returns the layout item at the specified index.
Definition flow_layout.cpp:427
QSize minimumSize() const override
Definition flow_layout.cpp:126
Qt::Orientation flowDirection
Definition flow_layout.h:70
bool hasHeightForWidth() const override
Height-for-width is only meaningful for horizontal (wrapping) flow.
Definition flow_layout.cpp:59
QList< QLayoutItem * > items
Definition flow_layout.h:69
int count() const override
Retrieves the count of items in the layout.
Definition flow_layout.cpp:417
QSize calculateMinimumSizeHorizontal() const
Minimum size for horizontal flow: the largest single item.
Definition flow_layout.cpp:342
QSize sizeHint() const override
Definition flow_layout.cpp:121
virtual void layoutSingleRow(const QVector< QLayoutItem * > &rowItems, int x, int y, int availableWidth)
Sets the geometry for every item in rowItems, starting at (x, y).
Definition flow_layout.cpp:183
~FlowLayout() override
Definition flow_layout.cpp:36
void setGeometry(const QRect &rect) override
Places all children within rect.
Definition flow_layout.cpp:110
void setVerticalMargin(int margin)
Definition flow_layout.h:49
int heightForWidth(int width) const override
Returns the height required to display all items within width.
Definition flow_layout.cpp:71
QLayoutItem * takeAt(int index) override
Removes and returns the item at the specified index.
Definition flow_layout.cpp:437
int horizontalMargin
Horizontal spacing between items (-1 = use style default).
Definition flow_layout.h:71
void layoutSingleColumn(const QVector< QLayoutItem * > &colItems, int x, int y)
Sets the geometry for every item in colItems, starting at (x, y).
Definition flow_layout.cpp:283
Qt::Orientations expandingDirections() const override
Reports which axis the layout can expand along.
Definition flow_layout.cpp:51
int smartSpacing(QStyle::PixelMetric pm) const
Calculates smart spacing based on the parent widget style.
Definition flow_layout.cpp:465
virtual int layoutAllRows(int originX, int originY, int availableWidth)
Places all items into wrapping rows within availableWidth.
Definition flow_layout.cpp:137
QSize calculateSizeHintVertical() const
Preferred size for vertical flow: all items in a single column (unconstrained).
Definition flow_layout.cpp:358
void addItem(QLayoutItem *item) override
Adds a new item to the layout.
Definition flow_layout.cpp:398
FlowLayout(QWidget *parent=nullptr)
void insertWidgetAtIndex(QWidget *toInsert, int index)
Definition flow_layout.cpp:405
void setHorizontalMargin(int margin)
Definition flow_layout.h:44
int layoutAllColumns(int originX, int originY, int availableHeight)
Places all items into wrapping columns within availableHeight.
Definition flow_layout.cpp:244
QSize calculateMinimumSizeVertical() const
Minimum size for vertical flow: the largest single item.
Definition flow_layout.cpp:381
Q_LOGGING_CATEGORY(FlowLayoutLog, "flow_layout", QtInfoMsg)