Mercurial > minori
comparison 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 |
comparison
equal
deleted
inserted
replaced
252:a0eeb2cc7e6d | 253:b3549da699a6 |
---|---|
1 #ifndef __gui__layouts__flow_layout_h | |
2 #define __gui__layouts__flow_layout_h | |
3 | |
4 #include <QLayout> | |
5 #include <QRect> | |
6 #include <QStyle> | |
7 | |
8 class QWidget; | |
9 class QLayoutItem; | |
10 | |
11 class FlowLayout : public QLayout { | |
12 public: | |
13 explicit FlowLayout(QWidget* parent, int margin = -1, int hSpacing = -1, int vSpacing = -1); | |
14 explicit FlowLayout(int margin = -1, int hSpacing = -1, int vSpacing = -1); | |
15 ~FlowLayout(); | |
16 | |
17 void addItem(QLayoutItem* item) override; | |
18 int horizontalSpacing() const; | |
19 int verticalSpacing() const; | |
20 Qt::Orientations expandingDirections() const override; | |
21 bool hasHeightForWidth() const override; | |
22 int heightForWidth(int) const override; | |
23 int count() const override; | |
24 QLayoutItem* itemAt(int index) const override; | |
25 QSize minimumSize() const override; | |
26 void setGeometry(const QRect& rect) override; | |
27 QSize sizeHint() const override; | |
28 QLayoutItem* takeAt(int index) override; | |
29 | |
30 private: | |
31 int doLayout(const QRect& rect, bool testOnly) const; | |
32 int smartSpacing(QStyle::PixelMetric pm) const; | |
33 | |
34 QList<QLayoutItem*> item_list; | |
35 int _horiz_space; | |
36 int _vert_space; | |
37 }; | |
38 | |
39 #endif // __gui__layouts__flow_layout_h |