digiKam
Loading...
Searching...
No Matches
dynamiclayout.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2009-10-22
7 * Description : a dynamic layout manager
8 *
9 * SPDX-FileCopyrightText: 2009-2012 by Andi Clemens <andi dot clemens at gmail dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QLayout>
20
21class QLayoutItem;
22class QRect;
23class QWidget;
24
25namespace Digikam
26{
27
28class DynamicLayout : public QLayout
29{
30 Q_OBJECT
31
32public:
33
34 explicit DynamicLayout(QWidget* const parent, int margin = -1,
35 int hSpacing = 0, int vSpacing = 0);
36 explicit DynamicLayout(int margin = -1, int hSpacing = 0,
37 int vSpacing = 0);
38 ~DynamicLayout() override;
39
40 void addItem(QLayoutItem* layItem) override;
41
42 int horizontalSpacing() const;
43 int verticalSpacing() const;
44
45 Qt::Orientations expandingDirections() const override;
46
47 bool hasHeightForWidth() const override;
48 int heightForWidth(int) const override;
49
50 int count() const override;
51
52 QLayoutItem* itemAt(int index) const override;
53 QLayoutItem* takeAt(int index) override;
54
55 QSize minimumSize() const override;
56
57 void setGeometry(const QRect& rect) override;
58 QSize sizeHint() const override;
59
60
61private:
62
63 int reLayout(const QRect& rect,
64 bool testOnly) const;
65
66private:
67
68 // Disable
69 DynamicLayout(const DynamicLayout&) = delete;
70 DynamicLayout& operator=(const DynamicLayout&) = delete;
71
72private:
73
74 class Private;
75 Private* const d = nullptr;
76};
77
78} // namespace Digikam
Definition dynamiclayout.h:29
int verticalSpacing() const
Definition dynamiclayout.cpp:99
QLayoutItem * takeAt(int index) override
Definition dynamiclayout.cpp:114
void addItem(QLayoutItem *layItem) override
Definition dynamiclayout.cpp:72
int count() const override
Definition dynamiclayout.cpp:104
int horizontalSpacing() const
Definition dynamiclayout.cpp:94
void setGeometry(const QRect &rect) override
Definition dynamiclayout.cpp:143
QSize minimumSize() const override
Definition dynamiclayout.cpp:154
QLayoutItem * itemAt(int index) const override
Definition dynamiclayout.cpp:109
Qt::Orientations expandingDirections() const override
Definition dynamiclayout.cpp:126
~DynamicLayout() override
Definition dynamiclayout.cpp:60
QSize sizeHint() const override
Definition dynamiclayout.cpp:149
bool hasHeightForWidth() const override
Definition dynamiclayout.cpp:131
int heightForWidth(int) const override
Definition dynamiclayout.cpp:136
Definition datefolderview.cpp:34