Mercurial > minori
view include/gui/layouts/flow_layout.h @ 253:b3549da699a6
*: ooooh! stupid big commit!
oops
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Tue, 06 Feb 2024 16:56:32 -0500 |
parents | |
children |
line wrap: on
line source
#ifndef __gui__layouts__flow_layout_h #define __gui__layouts__flow_layout_h #include <QLayout> #include <QRect> #include <QStyle> class QWidget; class QLayoutItem; class FlowLayout : public QLayout { public: explicit FlowLayout(QWidget* parent, int margin = -1, int hSpacing = -1, int vSpacing = -1); explicit FlowLayout(int margin = -1, int hSpacing = -1, int vSpacing = -1); ~FlowLayout(); void addItem(QLayoutItem* item) override; int horizontalSpacing() const; int verticalSpacing() const; Qt::Orientations expandingDirections() const override; bool hasHeightForWidth() const override; int heightForWidth(int) const override; int count() const override; QLayoutItem* itemAt(int index) const override; QSize minimumSize() const override; void setGeometry(const QRect& rect) override; QSize sizeHint() const override; QLayoutItem* takeAt(int index) override; private: int doLayout(const QRect& rect, bool testOnly) const; int smartSpacing(QStyle::PixelMetric pm) const; QList<QLayoutItem*> item_list; int _horiz_space; int _vert_space; }; #endif // __gui__layouts__flow_layout_h