Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qgraphicsgridlayoutengine_p.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
QGRAPHICSGRIDLAYOUTENGINE_P_H
6
#
define
QGRAPHICSGRIDLAYOUTENGINE_P_H
7
8
//
9
// W A R N I N G
10
// -------------
11
//
12
// This file is not part of the Qt API. It exists purely as an
13
// implementation detail. This header file may change from version to
14
// version without notice, or even be removed.
15
//
16
// We mean it.
17
//
18
19
#
include
<
QtWidgets
/
private
/
qtwidgetsglobal_p
.
h
>
20
#
include
<
QtGui
/
private
/
qgridlayoutengine_p
.
h
>
21
22
#
include
<
QtWidgets
/
qsizepolicy
.
h
>
23
#
include
<
QtWidgets
/
qstyle
.
h
>
24
#
include
<
QtWidgets
/
qstyleoption
.
h
>
25
#
include
"qgraphicslayoutitem.h"
26
27
QT_REQUIRE_CONFIG
(
graphicsview
);
28
29
QT_BEGIN_NAMESPACE
30
31
class
QGraphicsLayoutPrivate;
32
33
class
QGraphicsGridLayoutEngineItem
:
public
QGridLayoutItem
{
34
public
:
35
QGraphicsGridLayoutEngineItem(QGraphicsLayoutItem *item,
int
row,
int
columns,
int
rowSpan = 1,
int
columnSpan = 1,
36
Qt::Alignment alignment = { })
37
: QGridLayoutItem(row, columns, rowSpan, columnSpan, alignment),
q_layoutItem
(item) {}
38
39
virtual
QLayoutPolicy
::
Policy
sizePolicy
(Qt::Orientation orientation)
const
override
40
{
41
QSizePolicy sizePolicy(
q_layoutItem
->sizePolicy());
42
return
(QLayoutPolicy::Policy)((orientation == Qt::Horizontal) ? sizePolicy.horizontalPolicy()
43
: sizePolicy.verticalPolicy());
44
}
45
46
virtual
QLayoutPolicy
::
ControlTypes
controlTypes
(
LayoutSide
)
const
override
47
{
48
const
QSizePolicy::ControlType ct =
q_layoutItem
->sizePolicy().controlType();
49
return
(QLayoutPolicy::ControlTypes)ct;
50
}
51
52
virtual
QSizeF
sizeHint
(Qt::SizeHint which,
const
QSizeF &constraint)
const
override
53
{
54
return
q_layoutItem
->effectiveSizeHint(which, constraint);
55
}
56
57
virtual
void
setGeometry
(
const
QRectF &rect)
override
58
{
59
q_layoutItem
->setGeometry(rect);
60
}
61
62
virtual
bool
hasDynamicConstraint
()
const
override
;
63
virtual
Qt
::
Orientation
dynamicConstraintOrientation
()
const
override
;
64
65
virtual
bool
isEmpty
()
const
override
;
66
67
QGraphicsLayoutItem *
layoutItem
()
const
{
return
q_layoutItem
; }
68
69
protected
:
70
QGraphicsLayoutItem *
q_layoutItem
;
71
};
72
73
74
class
QGraphicsGridLayoutEngine
:
public
QGridLayoutEngine
75
{
76
public
:
77
QGraphicsGridLayoutEngineItem
*findLayoutItem(QGraphicsLayoutItem *layoutItem)
const
78
{
79
const
int
index = indexOf(layoutItem);
80
if
(index < 0)
81
return
nullptr
;
82
return
static_cast
<QGraphicsGridLayoutEngineItem*>(q_items.at(index));
83
}
84
85
int
indexOf(QGraphicsLayoutItem *item)
const
86
{
87
for
(
int
i = 0; i < q_items.size(); ++i) {
88
if
(item ==
static_cast
<QGraphicsGridLayoutEngineItem*>(q_items.at(i))->layoutItem())
89
return
i;
90
}
91
return
-1;
92
}
93
94
void
setAlignment(QGraphicsLayoutItem *graphicsLayoutItem, Qt::Alignment alignment);
95
Qt::Alignment alignment(QGraphicsLayoutItem *graphicsLayoutItem)
const
;
96
97
void
setStretchFactor(QGraphicsLayoutItem *layoutItem,
int
stretch, Qt::Orientation orientation);
98
int
stretchFactor(QGraphicsLayoutItem *layoutItem, Qt::Orientation orientation)
const
;
99
100
};
101
102
QT_END_NAMESPACE
103
104
#
endif
// QGRAPHICSGRIDLAYOUTENGINE_P_H
QGraphicsGridLayoutEngineItem
Definition
qgraphicsgridlayoutengine_p.h:33
QGraphicsGridLayoutEngineItem::sizeHint
virtual QSizeF sizeHint(Qt::SizeHint which, const QSizeF &constraint) const override
Definition
qgraphicsgridlayoutengine_p.h:52
QGraphicsGridLayoutEngineItem::layoutItem
QGraphicsLayoutItem * layoutItem() const
Definition
qgraphicsgridlayoutengine_p.h:67
QGraphicsGridLayoutEngineItem::setGeometry
virtual void setGeometry(const QRectF &rect) override
Definition
qgraphicsgridlayoutengine_p.h:57
QGraphicsGridLayoutEngineItem::isEmpty
virtual bool isEmpty() const override
Definition
qgraphicsgridlayoutengine.cpp:37
QGraphicsGridLayoutEngineItem::dynamicConstraintOrientation
virtual Qt::Orientation dynamicConstraintOrientation() const override
Definition
qgraphicsgridlayoutengine.cpp:23
QGraphicsGridLayoutEngineItem::controlTypes
virtual QLayoutPolicy::ControlTypes controlTypes(LayoutSide) const override
Definition
qgraphicsgridlayoutengine_p.h:46
QGraphicsGridLayoutEngineItem::sizePolicy
virtual QLayoutPolicy::Policy sizePolicy(Qt::Orientation orientation) const override
Definition
qgraphicsgridlayoutengine_p.h:39
QGraphicsGridLayoutEngineItem::q_layoutItem
QGraphicsLayoutItem * q_layoutItem
Definition
qgraphicsgridlayoutengine_p.h:70
QGraphicsGridLayoutEngineItem::hasDynamicConstraint
virtual bool hasDynamicConstraint() const override
Definition
qgraphicsgridlayoutengine.cpp:17
QGraphicsGridLayoutEngine
Definition
qgraphicsgridlayoutengine_p.h:75
QGraphicsGridLayoutPrivate
Definition
qgraphicsgridlayout.cpp:66
QGraphicsGridLayoutPrivate::engine
QGraphicsGridLayoutEngine engine
Definition
qgraphicsgridlayout.cpp:72
QGraphicsGridLayoutPrivate::styleInfo
QGraphicsLayoutStyleInfo * styleInfo() const
Definition
qgraphicsgridlayout.cpp:80
QGraphicsGridLayoutPrivate::m_styleInfo
QScopedPointer< QGraphicsLayoutStyleInfo > m_styleInfo
Definition
qgraphicsgridlayout.cpp:71
QGraphicsGridLayoutPrivate::QGraphicsGridLayoutPrivate
QGraphicsGridLayoutPrivate()
Definition
qgraphicsgridlayout.cpp:68
QGraphicsGridLayout
The QGraphicsGridLayout class provides a grid layout for managing widgets in Graphics View.
Definition
qgraphicsgridlayout.h:19
QGraphicsLayoutItem
The QGraphicsLayoutItem class can be inherited to allow your custom items to be managed by layouts.
Definition
qgraphicslayoutitem.h:20
QGraphicsLayoutStyleInfo
Definition
qgraphicslayoutstyleinfo_p.h:34
QGraphicsWidgetPrivate
Definition
qgraphicswidget_p.h:38
QGraphicsWidget
The QGraphicsWidget class is the base class for all widget items in a QGraphicsScene.
Definition
qgraphicswidget.h:33
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QT_REQUIRE_CONFIG
QT_REQUIRE_CONFIG(liburing)
qtbase
src
widgets
graphicsview
qgraphicsgridlayoutengine_p.h
Generated on
for Qt by
1.18.0