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
qtoolbarextension.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
"qtoolbarextension_p.h"
6
#
include
<
qevent
.
h
>
7
#
include
<
qstyle
.
h
>
8
#
include
<
qstylepainter
.
h
>
9
#
include
<
qstyleoption
.
h
>
10
11
QT_BEGIN_NAMESPACE
12
13
using
namespace
Qt::StringLiterals;
14
15
QToolBarExtension::QToolBarExtension(QWidget *parent)
16
: QToolButton(parent)
17
, m_orientation(Qt::Horizontal)
18
{
19
setObjectName(
"qt_toolbar_ext_button"_L1
);
20
setAutoRaise(
true
);
21
setOrientation(m_orientation);
22
setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
23
setCheckable(
true
);
24
}
25
26
void
QToolBarExtension::setOrientation(Qt::Orientation o)
27
{
28
QStyleOption opt;
29
opt.initFrom(
this
);
30
if
(o == Qt::Horizontal) {
31
setIcon(style()->standardIcon(QStyle::SP_ToolBarHorizontalExtensionButton, &opt,
this
));
32
}
else
{
33
setIcon(style()->standardIcon(QStyle::SP_ToolBarVerticalExtensionButton, &opt,
this
));
34
}
35
m_orientation = o;
36
}
37
38
void
QToolBarExtension::paintEvent(QPaintEvent *)
39
{
40
QStylePainter p(
this
);
41
QStyleOptionToolButton opt;
42
initStyleOption(&opt);
43
// We do not need to draw both extension arrows
44
opt.features &= ~QStyleOptionToolButton::HasMenu;
45
p.drawComplexControl(QStyle::CC_ToolButton, opt);
46
}
47
48
49
QSize QToolBarExtension::sizeHint()
const
50
{
51
QStyleOption opt;
52
opt.initFrom(
this
);
53
const
int
ext = style()->pixelMetric(QStyle::PM_ToolBarExtensionExtent, &opt,
this
);
54
return
QSize(ext, ext);
55
}
56
57
bool
QToolBarExtension::event(QEvent *event)
58
{
59
switch
(event->type()) {
60
case
QEvent::LayoutDirectionChange:
61
setOrientation(m_orientation);
62
break
;
63
default
:
64
break
;
65
}
66
return
QToolButton::event(event);
67
}
68
69
QT_END_NAMESPACE
70
71
#
include
"moc_qtoolbarextension_p.cpp"
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
qtbase
src
widgets
widgets
qtoolbarextension.cpp
Generated on
for Qt by
1.18.0