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
qtoolbarlayout_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 QTOOLBARLAYOUT_P_H
6#define QTOOLBARLAYOUT_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 <QtWidgets/qlayout.h>
21#include <private/qlayoutengine_p.h>
22#include <QList>
23
25
26QT_BEGIN_NAMESPACE
27
28class QAction;
29class QToolBarExtension;
30class QMenu;
31
33{
34public:
35 QToolBarItem(QWidget *widget);
36 bool isEmpty() const override;
37
38 QAction *action;
40};
41
42class Q_AUTOTEST_EXPORT QToolBarLayout : public QLayout
43{
44 Q_OBJECT
45
46public:
47 QToolBarLayout(QWidget *parent = nullptr);
48 ~QToolBarLayout();
49
50 void addItem(QLayoutItem *item) override;
51 QLayoutItem *itemAt(int index) const override;
52 QLayoutItem *takeAt(int index) override;
53 int count() const override;
54
55 bool isEmpty() const override;
56 void invalidate() override;
57 Qt::Orientations expandingDirections() const override;
58
59 void setGeometry(const QRect &r) override;
60 QSize minimumSize() const override;
61 QSize sizeHint() const override;
62
63 void insertAction(int index, QAction *action);
64 int indexOf(const QAction *action) const;
65 using QLayout::indexOf; // bring back the hidden members
66
67 bool layoutActions(const QSize &size);
68 QSize expandedSize(const QSize &size) const;
69 bool expanded, animating;
70
71 void setUsePopupMenu(bool set); // Yeah, there's no getter, but it's internal.
72 void checkUsePopupMenu();
73
74 bool movable() const;
75 void updateMarginAndSpacing();
76 bool hasExpandFlag() const;
77
78 void updateMacBorderMetrics();
79public Q_SLOTS:
80 void setExpanded(bool b);
81
82private:
83 QList<QToolBarItem*> items;
84 QSize hint, minSize;
85 bool dirty, expanding, empty, expandFlag;
86 QList<QLayoutStruct> geomArray;
87 QRect handRect;
88 QToolBarExtension *extension;
89
90 void updateGeomArray() const;
91 QToolBarItem *createItem(QAction *action);
92 QMenu *popupMenu;
93};
94
95QT_END_NAMESPACE
96
97#endif // QTOOLBARLAYOUT_P_H
bool isEmpty() const override
Implemented in subclasses to return whether this item is empty, i.e.
QToolBarItem(QWidget *widget)
bool explicitToolButtonStyle
Definition qtoolbar_p.h:53
Qt::Orientation orientation
Definition qtoolbar_p.h:57
void plug(const QRect &r)
Definition qtoolbar.cpp:373
void updateWindowFlags(bool floating, bool unplug=false)
Definition qtoolbar.cpp:98
void startDrag(bool moving=false)
Definition qtoolbar.cpp:162
bool mousePressEvent(QMouseEvent *e)
Definition qtoolbar.cpp:228
void unplug(const QRect &r)
Definition qtoolbar.cpp:364
QToolBarLayout * layout
Definition qtoolbar_p.h:63
void _q_toggleView(bool b)
Definition qtoolbar.cpp:68
void setWindowState(bool floating, bool unplug=false, const QRect &rect=QRect())
Definition qtoolbar.cpp:117
bool mouseMoveEvent(QMouseEvent *e)
Definition qtoolbar.cpp:286
bool explicitIconSize
Definition qtoolbar_p.h:52
void actionTriggered()
void _q_updateToolButtonStyle(Qt::ToolButtonStyle style)
Definition qtoolbar.cpp:89
Qt::ToolBarAreas allowedAreas
Definition qtoolbar_p.h:56
Qt::ToolButtonStyle toolButtonStyle
Definition qtoolbar_p.h:58
bool mouseReleaseEvent(QMouseEvent *e)
Definition qtoolbar.cpp:262
DragState * state
Definition qtoolbar_p.h:71
void initDrag(const QPoint &pos)
Definition qtoolbar.cpp:138
void _q_updateIconSize(const QSize &sz)
Definition qtoolbar.cpp:79
QAction * toggleViewAction
Definition qtoolbar_p.h:61
QBasicTimer waitForPopupTimer
Definition qtoolbar_p.h:91
QToolBarSeparator(QToolBar *parent)
Qt::Orientation orientation() const
void initStyleOption(QStyleOption *option) const
void paintEvent(QPaintEvent *) override
This event handler can be reimplemented in a subclass to receive paint events passed in event.
QSize sizeHint() const override
The QToolBar class provides a movable panel that contains a set of controls.
Definition qtoolbar.h:24
QT_REQUIRE_CONFIG(animation)
QMainWindowLayout * qt_mainwindow_layout(const QMainWindow *window)
static bool waitForPopup(QToolBar *tb, QWidget *popup)
Definition qtoolbar.cpp:958
#define POPUP_TIMER_INTERVAL
Definition qtoolbar.cpp:34
QT_REQUIRE_CONFIG(toolbar)