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
qgraphicslayoutstyleinfo.cpp
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
#
include
"qgraphicslayoutstyleinfo_p.h"
6
7
#
include
"qgraphicslayout_p.h"
8
#
include
"qgraphicswidget.h"
9
#
include
<
QtWidgets
/
qstyle
.
h
>
10
#
include
<
QtWidgets
/
qwidget
.
h
>
11
#
include
<
QtWidgets
/
qapplication
.
h
>
12
#
include
<
QtCore
/
qthread
.
h
>
13
14
QT_BEGIN_NAMESPACE
15
16
QGraphicsLayoutStyleInfo::QGraphicsLayoutStyleInfo(
const
QGraphicsLayoutPrivate *layout)
17
: m_layout(layout), m_style(
nullptr
)
18
{
19
if
(QThread::isMainThread()) {
20
m_widget = std::make_unique<QWidget>();
// pixelMetric might need a widget ptr
21
m_styleOption.initFrom(m_widget.get());
22
}
23
m_isWindow = m_styleOption.state & QStyle::State_Window;
24
}
25
26
QGraphicsLayoutStyleInfo
::~
QGraphicsLayoutStyleInfo
()
27
{
28
}
29
30
qreal
QGraphicsLayoutStyleInfo
::
combinedLayoutSpacing
(QLayoutPolicy::ControlTypes controls1,
31
QLayoutPolicy::ControlTypes controls2,
32
Qt::Orientation orientation)
const
33
{
34
Q_ASSERT(
style
(
)
);
35
return
style
(
)
->combinedLayoutSpacing(QSizePolicy::ControlTypes(
int
(controls1)), QSizePolicy::ControlTypes(
int
(controls2)),
36
orientation,
const_cast
<QStyleOption*>(&m_styleOption),
widget
(
)
);
37
}
38
39
qreal
QGraphicsLayoutStyleInfo
::
perItemSpacing
(QLayoutPolicy::ControlType control1,
40
QLayoutPolicy::ControlType control2,
41
Qt::Orientation orientation)
const
42
{
43
Q_ASSERT(
style
(
)
);
44
return
style
(
)
->layoutSpacing(QSizePolicy::ControlType(control1), QSizePolicy::ControlType(control2),
45
orientation,
const_cast
<QStyleOption*>(&m_styleOption),
widget
(
)
);
46
}
47
48
qreal
QGraphicsLayoutStyleInfo
::
spacing
(Qt::Orientation orientation)
const
49
{
50
Q_ASSERT(
style
(
)
);
51
return
style
(
)
->pixelMetric(orientation == Qt::Horizontal
52
? QStyle::PM_LayoutHorizontalSpacing : QStyle::PM_LayoutVerticalSpacing,
53
&m_styleOption,
widget
(
)
);
54
}
55
56
qreal
QGraphicsLayoutStyleInfo
::
windowMargin
(Qt::Orientation orientation)
const
57
{
58
return
style
(
)
->pixelMetric(orientation == Qt::Vertical
59
? QStyle::PM_LayoutBottomMargin
60
: QStyle::PM_LayoutRightMargin,
61
const_cast
<QStyleOption*>(&m_styleOption),
widget
(
)
);
62
}
63
64
QWidget
*
QGraphicsLayoutStyleInfo
::
widget
()
const
{
return
m_widget.get(); }
65
66
QStyle *
QGraphicsLayoutStyleInfo
::
style
()
const
67
{
68
if
(!m_style) {
69
Q_ASSERT(m_layout);
70
QGraphicsItem *item = m_layout->parentItem();
71
m_style = (item && item->isWidget()) ?
static_cast
<QGraphicsWidget*>(item)->style() : QApplication::style();
72
}
73
return
m_style;
74
}
75
76
QT_END_NAMESPACE
QGraphicsLayoutStyleInfo
Definition
qgraphicslayoutstyleinfo_p.h:34
QGraphicsLayoutStyleInfo::spacing
virtual qreal spacing(Qt::Orientation orientation) const override
Definition
qgraphicslayoutstyleinfo.cpp:48
QGraphicsLayoutStyleInfo::widget
QWidget * widget() const
Definition
qgraphicslayoutstyleinfo.cpp:64
QGraphicsLayoutStyleInfo::~QGraphicsLayoutStyleInfo
~QGraphicsLayoutStyleInfo()
Definition
qgraphicslayoutstyleinfo.cpp:26
QGraphicsLayoutStyleInfo::perItemSpacing
virtual qreal perItemSpacing(QLayoutPolicy::ControlType control1, QLayoutPolicy::ControlType control2, Qt::Orientation orientation) const override
Definition
qgraphicslayoutstyleinfo.cpp:39
QGraphicsLayoutStyleInfo::combinedLayoutSpacing
virtual qreal combinedLayoutSpacing(QLayoutPolicy::ControlTypes controls1, QLayoutPolicy::ControlTypes controls2, Qt::Orientation orientation) const override
Definition
qgraphicslayoutstyleinfo.cpp:30
QGraphicsLayoutStyleInfo::style
QStyle * style() const
Definition
qgraphicslayoutstyleinfo.cpp:66
QGraphicsLayoutStyleInfo::windowMargin
virtual qreal windowMargin(Qt::Orientation orientation) const override
Definition
qgraphicslayoutstyleinfo.cpp:56
QPainter::QWidget
friend class QWidget
Definition
qpainter.h:432
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtbase
src
widgets
graphicsview
qgraphicslayoutstyleinfo.cpp
Generated on
for Qt by
1.18.0