Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qgraphicslayoutitem.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QGRAPHICSLAYOUTITEM_H
6#define QGRAPHICSLAYOUTITEM_H
7
8#include <QtWidgets/qtwidgetsglobal.h>
9#include <QtCore/qscopedpointer.h>
10#include <QtWidgets/qsizepolicy.h>
11#include <QtGui/qevent.h>
12
14
15QT_BEGIN_NAMESPACE
16
17class QGraphicsLayoutItemPrivate;
18class QGraphicsItem;
19class Q_WIDGETS_EXPORT QGraphicsLayoutItem
20{
21public:
22 QGraphicsLayoutItem(QGraphicsLayoutItem *parent = nullptr, bool isLayout = false);
23 virtual ~QGraphicsLayoutItem();
24
25 void setSizePolicy(const QSizePolicy &policy);
26 void setSizePolicy(QSizePolicy::Policy hPolicy, QSizePolicy::Policy vPolicy, QSizePolicy::ControlType controlType = QSizePolicy::DefaultType);
27 QSizePolicy sizePolicy() const;
28
29 void setMinimumSize(const QSizeF &size);
30 inline void setMinimumSize(qreal w, qreal h);
31 QSizeF minimumSize() const;
32 void setMinimumWidth(qreal width);
33 inline qreal minimumWidth() const;
34 void setMinimumHeight(qreal height);
35 inline qreal minimumHeight() const;
36
37 void setPreferredSize(const QSizeF &size);
38 inline void setPreferredSize(qreal w, qreal h);
39 QSizeF preferredSize() const;
40 void setPreferredWidth(qreal width);
41 inline qreal preferredWidth() const;
42 void setPreferredHeight(qreal height);
43 inline qreal preferredHeight() const;
44
45 void setMaximumSize(const QSizeF &size);
46 inline void setMaximumSize(qreal w, qreal h);
47 QSizeF maximumSize() const;
48 void setMaximumWidth(qreal width);
49 inline qreal maximumWidth() const;
50 void setMaximumHeight(qreal height);
51 inline qreal maximumHeight() const;
52
53 virtual void setGeometry(const QRectF &rect);
54 QRectF geometry() const;
55 virtual void getContentsMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const;
56 QRectF contentsRect() const;
57
58 QSizeF effectiveSizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const;
59
60 virtual void updateGeometry();
61
62 virtual bool isEmpty() const;
63 QGraphicsLayoutItem *parentLayoutItem() const;
64 void setParentLayoutItem(QGraphicsLayoutItem *parent);
65
66 bool isLayout() const;
67 QGraphicsItem *graphicsItem() const;
68 bool ownedByLayout() const;
69
70protected:
71 void setGraphicsItem(QGraphicsItem *item);
72 void setOwnedByLayout(bool ownedByLayout);
73 QGraphicsLayoutItem(QGraphicsLayoutItemPrivate &dd);
74
75 virtual QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const = 0;
76 QScopedPointer<QGraphicsLayoutItemPrivate> d_ptr;
77
78private:
79 QSizeF *effectiveSizeHints(const QSizeF &constraint) const;
80 Q_DECLARE_PRIVATE(QGraphicsLayoutItem)
81
82 friend class QGraphicsLayout;
83};
84
85#ifndef Q_QDOC
86Q_DECLARE_INTERFACE(QGraphicsLayoutItem, "org.qt-project.Qt.QGraphicsLayoutItem")
87#endif
88
89inline void QGraphicsLayoutItem::setMinimumSize(qreal aw, qreal ah)
90{ setMinimumSize(QSizeF(aw, ah)); }
91inline void QGraphicsLayoutItem::setPreferredSize(qreal aw, qreal ah)
92{ setPreferredSize(QSizeF(aw, ah)); }
93inline void QGraphicsLayoutItem::setMaximumSize(qreal aw, qreal ah)
94{ setMaximumSize(QSizeF(aw, ah)); }
95
96inline qreal QGraphicsLayoutItem::minimumWidth() const
97{ return effectiveSizeHint(Qt::MinimumSize).width(); }
98inline qreal QGraphicsLayoutItem::minimumHeight() const
99{ return effectiveSizeHint(Qt::MinimumSize).height(); }
100
101inline qreal QGraphicsLayoutItem::preferredWidth() const
102{ return effectiveSizeHint(Qt::PreferredSize).width(); }
103inline qreal QGraphicsLayoutItem::preferredHeight() const
104{ return effectiveSizeHint(Qt::PreferredSize).height(); }
105
106inline qreal QGraphicsLayoutItem::maximumWidth() const
107{ return effectiveSizeHint(Qt::MaximumSize).width(); }
108inline qreal QGraphicsLayoutItem::maximumHeight() const
109{ return effectiveSizeHint(Qt::MaximumSize).height(); }
110
111QT_END_NAMESPACE
112
113#endif
QGraphicsGridLayoutEngine engine
QGraphicsLayoutStyleInfo * styleInfo() const
QScopedPointer< QGraphicsLayoutStyleInfo > m_styleInfo
The QGraphicsLayoutItem class can be inherited to allow your custom items to be managed by layouts.
Combined button and popup list for selecting options.
QT_REQUIRE_CONFIG(liburing)