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
qgraphicslayout_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
QGRAPHICSLAYOUT_P_H
6
#
define
QGRAPHICSLAYOUT_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 for the convenience
13
// of other Qt classes. 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
21
#
include
"qgraphicslayout.h"
22
#
include
"qgraphicslayoutitem_p.h"
23
#
include
<
QtWidgets
/
qstyle
.
h
>
24
#
include
<
QtWidgets
/
qwidget
.
h
>
25
#
include
<
QtWidgets
/
qstyleoption
.
h
>
26
27
QT_REQUIRE_CONFIG
(
graphicsview
);
28
29
QT_BEGIN_NAMESPACE
30
31
class
QGraphicsLayoutItem;
32
class
QGraphicsWidget;
33
34
#
ifdef
QT_DEBUG
35
inline
bool
qt_graphicsLayoutDebug()
36
{
37
static
int
checked_env = -1;
38
if
(checked_env == -1)
39
checked_env = !!qEnvironmentVariableIntValue(
"QT_GRAPHICSLAYOUT_DEBUG"
);
40
return
checked_env;
41
}
42
#
endif
43
44
45
class
QLayoutStyleInfo
46
{
47
public
:
48
inline
QLayoutStyleInfo
() {
invalidate
(
)
; }
49
inline
QLayoutStyleInfo
(QStyle *style, QWidget *widget)
50
: m_valid(
true
),
m_style
(
style
),
m_widget
(
widget
)
51
{
52
Q_ASSERT(style);
53
if
(widget)
//###
54
m_styleOption.initFrom(widget);
55
m_defaultSpacing[0] = style->pixelMetric(QStyle::PM_LayoutHorizontalSpacing, &m_styleOption, widget);
56
m_defaultSpacing[1] = style->pixelMetric(QStyle::PM_LayoutVerticalSpacing, &m_styleOption, widget);
57
}
58
59
inline
void
invalidate
() { m_valid =
false
; m_style =
nullptr
; m_widget =
nullptr
; }
60
61
inline
QStyle
*
style
()
const
{
return
m_style; }
62
inline
QWidget
*
widget
()
const
{
return
m_widget; }
63
64
inline
bool
operator
==(
const
QLayoutStyleInfo
&other)
const
65
{
return
m_style == other.m_style && m_widget == other.m_widget; }
66
inline
bool
operator
!=(
const
QLayoutStyleInfo
&other)
const
67
{
return
!(*
this
==
other); }
68
69
inline
void
setDefaultSpacing
(Qt::Orientation o, qreal spacing){
70
if
(spacing >= 0)
71
m_defaultSpacing[
int
(o) - 1] = spacing;
72
}
73
74
inline
qreal
defaultSpacing
(Qt::Orientation o)
const
{
75
return
m_defaultSpacing[
int
(o) - 1];
76
}
77
78
inline
qreal
perItemSpacing
(QSizePolicy::ControlType control1,
79
QSizePolicy::ControlType control2,
80
Qt::Orientation orientation)
const
81
{
82
Q_ASSERT(style());
83
return
style()->layoutSpacing(control1, control2, orientation, &m_styleOption, widget());
84
}
85
private
:
86
bool
m_valid;
87
QStyle *m_style;
88
QWidget *m_widget;
89
QStyleOption m_styleOption;
90
qreal m_defaultSpacing[2];
91
};
92
93
class
Q_AUTOTEST_EXPORT
QGraphicsLayoutPrivate
:
public
QGraphicsLayoutItemPrivate
94
{
95
Q_DECLARE_PUBLIC(QGraphicsLayout)
96
97
public
:
98
QGraphicsLayoutPrivate() : QGraphicsLayoutItemPrivate(
nullptr
,
true
), left(-1.0), top(-1.0), right(-1.0), bottom(-1.0),
99
activated(
true
) { }
100
101
void
reparentChildItems(QGraphicsItem *newParent);
102
void
getMargin(qreal *result, qreal userMargin, QStyle::PixelMetric pm)
const
;
103
Qt::LayoutDirection visualDirection()
const
;
104
105
void
addChildLayoutItem(QGraphicsLayoutItem *item);
106
void
activateRecursive(QGraphicsLayoutItem *item);
107
108
qreal left, top, right, bottom;
109
bool
activated;
110
};
111
112
QT_END_NAMESPACE
113
114
#
endif
QGraphicsAnchorLayoutPrivate
Definition
qgraphicsanchorlayout_p.h:350
QGraphicsAnchorPrivate
Definition
qgraphicsanchorlayout_p.h:315
QGraphicsAnchorPrivate::unsetSpacing
void unsetSpacing()
Definition
qgraphicsanchorlayout_p.cpp:72
QGraphicsAnchorPrivate::setSizePolicy
void setSizePolicy(QSizePolicy::Policy policy)
Definition
qgraphicsanchorlayout_p.cpp:47
QGraphicsAnchorPrivate::~QGraphicsAnchorPrivate
~QGraphicsAnchorPrivate()
Definition
qgraphicsanchorlayout_p.cpp:36
QGraphicsAnchorPrivate::data
AnchorData * data
Definition
qgraphicsanchorlayout_p.h:332
QGraphicsAnchorPrivate::sizePolicy
QSizePolicy::Policy sizePolicy
Definition
qgraphicsanchorlayout_p.h:335
QGraphicsAnchorPrivate::preferredSize
qreal preferredSize
Definition
qgraphicsanchorlayout_p.h:336
QGraphicsAnchorPrivate::spacing
qreal spacing() const
Definition
qgraphicsanchorlayout_p.cpp:85
QGraphicsAnchorPrivate::get
static QGraphicsAnchorPrivate * get(QGraphicsAnchor *q)
Definition
qgraphicsanchorlayout_p.h:328
QGraphicsAnchorPrivate::layoutPrivate
QGraphicsAnchorLayoutPrivate * layoutPrivate
Definition
qgraphicsanchorlayout_p.h:331
QGraphicsAnchorPrivate::setSpacing
void setSpacing(qreal value)
Definition
qgraphicsanchorlayout_p.cpp:55
QGraphicsAnchorPrivate::hasSize
uint hasSize
Definition
qgraphicsanchorlayout_p.h:338
QGraphicsLayoutPrivate
Definition
qgraphicslayout_p.h:94
QLayoutStyleInfo
Definition
qgraphicslayout_p.h:46
QLayoutStyleInfo::invalidate
void invalidate()
Definition
qgraphicslayout_p.h:59
QLayoutStyleInfo::setDefaultSpacing
void setDefaultSpacing(Qt::Orientation o, qreal spacing)
Definition
qgraphicslayout_p.h:69
QLayoutStyleInfo::operator==
bool operator==(const QLayoutStyleInfo &other) const
Definition
qgraphicslayout_p.h:64
QLayoutStyleInfo::operator!=
bool operator!=(const QLayoutStyleInfo &other) const
Definition
qgraphicslayout_p.h:66
QLayoutStyleInfo::perItemSpacing
qreal perItemSpacing(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation) const
Definition
qgraphicslayout_p.h:78
QLayoutStyleInfo::defaultSpacing
qreal defaultSpacing(Qt::Orientation o) const
Definition
qgraphicslayout_p.h:74
QLayoutStyleInfo::widget
QWidget * widget() const
Definition
qgraphicslayout_p.h:62
QLayoutStyleInfo::style
QStyle * style() const
Definition
qgraphicslayout_p.h:61
QLayoutStyleInfo::QLayoutStyleInfo
QLayoutStyleInfo()
Definition
qgraphicslayout_p.h:48
QLayoutStyleInfo::QLayoutStyleInfo
QLayoutStyleInfo(QStyle *style, QWidget *widget)
Definition
qgraphicslayout_p.h:49
QtGraphicsAnchorLayout::GraphPath
Definition
qgraphicsanchorlayout_p.h:294
QtGraphicsAnchorLayout::GraphPath::negatives
QSet< AnchorData * > negatives
Definition
qgraphicsanchorlayout_p.h:303
QtGraphicsAnchorLayout::GraphPath::positives
QSet< AnchorData * > positives
Definition
qgraphicsanchorlayout_p.h:302
QtGraphicsAnchorLayout::GraphPath::GraphPath
GraphPath()
Definition
qgraphicsanchorlayout_p.h:296
QtGraphicsAnchorLayout::GraphPath::constraint
QSimplexConstraint * constraint(const GraphPath &path) const
Definition
qgraphicsanchorlayout_p.cpp:543
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QtGraphicsAnchorLayout
Definition
qgraphicsanchorlayout_p.h:45
QT_REQUIRE_CONFIG
QT_REQUIRE_CONFIG(animation)
Q_DECLARE_TYPEINFO
Q_DECLARE_TYPEINFO(GraphPath, Q_RELOCATABLE_TYPE)
QT_REQUIRE_CONFIG
QT_REQUIRE_CONFIG(graphicsview)
QSimplexConstraint::ratio
Ratio ratio
Definition
qsimplex_p.h:67
QtGraphicsAnchorLayout::AnchorData
Definition
qgraphicsanchorlayout_p.h:78
QtGraphicsAnchorLayout::AnchorData::prefSize
qreal prefSize
Definition
qgraphicsanchorlayout_p.h:124
QtGraphicsAnchorLayout::AnchorData::dependency
uint dependency
Definition
qgraphicsanchorlayout_p.h:148
QtGraphicsAnchorLayout::AnchorData::isLayoutAnchor
uint isLayoutAnchor
Definition
qgraphicsanchorlayout_p.h:145
QtGraphicsAnchorLayout::AnchorData::AnchorData
AnchorData()
Definition
qgraphicsanchorlayout_p.h:93
QtGraphicsAnchorLayout::AnchorData::maxSize
qreal maxSize
Definition
qgraphicsanchorlayout_p.h:125
QtGraphicsAnchorLayout::AnchorData::updateChildrenSizes
virtual void updateChildrenSizes()
Definition
qgraphicsanchorlayout_p.h:104
QtGraphicsAnchorLayout::AnchorData::minPrefSize
qreal minPrefSize
Definition
qgraphicsanchorlayout_p.h:127
QtGraphicsAnchorLayout::AnchorData::sizeAtMinimum
qreal sizeAtMinimum
Definition
qgraphicsanchorlayout_p.h:134
QtGraphicsAnchorLayout::AnchorData::~AnchorData
virtual ~AnchorData()
Definition
qgraphicsanchorlayout_p.cpp:131
QtGraphicsAnchorLayout::AnchorData::isVertical
uint isVertical
Definition
qgraphicsanchorlayout_p.h:147
QtGraphicsAnchorLayout::AnchorData::isCenterAnchor
uint isCenterAnchor
Definition
qgraphicsanchorlayout_p.h:146
QtGraphicsAnchorLayout::AnchorData::refreshSizeHints
void refreshSizeHints(const QLayoutStyleInfo *styleInfo=nullptr)
Definition
qgraphicsanchorlayout_p.cpp:143
QtGraphicsAnchorLayout::AnchorData::item
QGraphicsLayoutItem * item
Definition
qgraphicsanchorlayout_p.h:141
QtGraphicsAnchorLayout::AnchorData::graphicsAnchor
QGraphicsAnchor * graphicsAnchor
Definition
qgraphicsanchorlayout_p.h:142
QtGraphicsAnchorLayout::AnchorData::Dependency
Dependency
Definition
qgraphicsanchorlayout_p.h:87
QtGraphicsAnchorLayout::AnchorData::Slave
@ Slave
Definition
qgraphicsanchorlayout_p.h:90
QtGraphicsAnchorLayout::AnchorData::Master
@ Master
Definition
qgraphicsanchorlayout_p.h:89
QtGraphicsAnchorLayout::AnchorData::Independent
@ Independent
Definition
qgraphicsanchorlayout_p.h:88
QtGraphicsAnchorLayout::AnchorData::Type
Type
Definition
qgraphicsanchorlayout_p.h:81
QtGraphicsAnchorLayout::AnchorData::Parallel
@ Parallel
Definition
qgraphicsanchorlayout_p.h:84
QtGraphicsAnchorLayout::AnchorData::Sequential
@ Sequential
Definition
qgraphicsanchorlayout_p.h:83
QtGraphicsAnchorLayout::AnchorData::Normal
@ Normal
Definition
qgraphicsanchorlayout_p.h:82
QtGraphicsAnchorLayout::AnchorData::maxPrefSize
qreal maxPrefSize
Definition
qgraphicsanchorlayout_p.h:128
QtGraphicsAnchorLayout::AnchorData::from
AnchorVertex * from
Definition
qgraphicsanchorlayout_p.h:114
QtGraphicsAnchorLayout::AnchorData::type
uint type
Definition
qgraphicsanchorlayout_p.h:144
QtGraphicsAnchorLayout::AnchorData::sizeAtMaximum
qreal sizeAtMaximum
Definition
qgraphicsanchorlayout_p.h:136
QtGraphicsAnchorLayout::AnchorData::sizeAtPreferred
qreal sizeAtPreferred
Definition
qgraphicsanchorlayout_p.h:135
QtGraphicsAnchorLayout::AnchorData::to
AnchorVertex * to
Definition
qgraphicsanchorlayout_p.h:115
QtGraphicsAnchorLayout::AnchorData::minSize
qreal minSize
Definition
qgraphicsanchorlayout_p.h:123
QtGraphicsAnchorLayout::AnchorVertexPair
Definition
qgraphicsanchorlayout_p.h:216
QtGraphicsAnchorLayout::AnchorVertexPair::AnchorVertexPair
AnchorVertexPair(AnchorVertex *v1, AnchorVertex *v2, AnchorData *data)
Definition
qgraphicsanchorlayout_p.h:217
QtGraphicsAnchorLayout::AnchorVertexPair::m_removedAnchor
AnchorData * m_removedAnchor
Definition
qgraphicsanchorlayout_p.h:225
QtGraphicsAnchorLayout::AnchorVertexPair::m_secondAnchors
QList< AnchorData * > m_secondAnchors
Definition
qgraphicsanchorlayout_p.h:227
QtGraphicsAnchorLayout::AnchorVertexPair::m_first
AnchorVertex * m_first
Definition
qgraphicsanchorlayout_p.h:222
QtGraphicsAnchorLayout::AnchorVertexPair::m_second
AnchorVertex * m_second
Definition
qgraphicsanchorlayout_p.h:223
QtGraphicsAnchorLayout::AnchorVertexPair::m_firstAnchors
QList< AnchorData * > m_firstAnchors
Definition
qgraphicsanchorlayout_p.h:226
QtGraphicsAnchorLayout::AnchorVertex
Definition
qgraphicsanchorlayout_p.h:52
QtGraphicsAnchorLayout::AnchorVertex::distance
qreal distance
Definition
qgraphicsanchorlayout_p.h:70
QtGraphicsAnchorLayout::AnchorVertex::AnchorVertex
AnchorVertex(QGraphicsLayoutItem *item, Qt::AnchorPoint edge)
Definition
qgraphicsanchorlayout_p.h:53
QtGraphicsAnchorLayout::AnchorVertex::~AnchorVertex
virtual ~AnchorVertex()=default
QtGraphicsAnchorLayout::AnchorVertex::AnchorVertex
AnchorVertex()
Definition
qgraphicsanchorlayout_p.h:56
QtGraphicsAnchorLayout::AnchorVertex::m_item
QGraphicsLayoutItem * m_item
Definition
qgraphicsanchorlayout_p.h:65
QtGraphicsAnchorLayout::AnchorVertex::m_edge
Qt::AnchorPoint m_edge
Definition
qgraphicsanchorlayout_p.h:66
QtGraphicsAnchorLayout::ParallelAnchorData
Definition
qgraphicsanchorlayout_p.h:179
QtGraphicsAnchorLayout::ParallelAnchorData::secondEdge
AnchorData * secondEdge
Definition
qgraphicsanchorlayout_p.h:210
QtGraphicsAnchorLayout::ParallelAnchorData::updateChildrenSizes
virtual void updateChildrenSizes() override
Definition
qgraphicsanchorlayout_p.cpp:235
QtGraphicsAnchorLayout::ParallelAnchorData::ParallelAnchorData
ParallelAnchorData(AnchorData *first, AnchorData *second)
Definition
qgraphicsanchorlayout_p.h:180
QtGraphicsAnchorLayout::ParallelAnchorData::m_secondConstraints
QList< QSimplexConstraint * > m_secondConstraints
Definition
qgraphicsanchorlayout_p.h:213
QtGraphicsAnchorLayout::ParallelAnchorData::calculateSizeHints
bool calculateSizeHints()
Definition
qgraphicsanchorlayout_p.cpp:265
QtGraphicsAnchorLayout::ParallelAnchorData::m_firstConstraints
QList< QSimplexConstraint * > m_firstConstraints
Definition
qgraphicsanchorlayout_p.h:212
QtGraphicsAnchorLayout::ParallelAnchorData::secondForward
bool secondForward() const
Definition
qgraphicsanchorlayout_p.h:202
QtGraphicsAnchorLayout::ParallelAnchorData::firstEdge
AnchorData * firstEdge
Definition
qgraphicsanchorlayout_p.h:209
QtGraphicsAnchorLayout::SequentialAnchorData
Definition
qgraphicsanchorlayout_p.h:159
QtGraphicsAnchorLayout::SequentialAnchorData::updateChildrenSizes
virtual void updateChildrenSizes() override
Definition
qgraphicsanchorlayout_p.cpp:446
QtGraphicsAnchorLayout::SequentialAnchorData::m_edges
const QList< AnchorData * > m_edges
Definition
qgraphicsanchorlayout_p.h:175
QtGraphicsAnchorLayout::SequentialAnchorData::SequentialAnchorData
SequentialAnchorData(const QList< AnchorVertex * > &vertices, const QList< AnchorData * > &edges)
Definition
qgraphicsanchorlayout_p.h:160
QtGraphicsAnchorLayout::SequentialAnchorData::calculateSizeHints
void calculateSizeHints()
Definition
qgraphicsanchorlayout_p.cpp:488
qtbase
src
widgets
graphicsview
qgraphicslayout_p.h
Generated on
for Qt by
1.18.0