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
qmenubar_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
4#ifndef QMENUBAR_P_H
5#define QMENUBAR_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtWidgets/private/qtwidgetsglobal_p.h>
19#include "QtWidgets/qstyleoption.h"
20#include <private/qmenu_p.h> // Mac needs what in this file!
21#include <qpa/qplatformmenu.h>
22
23#include <QtCore/qpointer.h>
24
26
27QT_BEGIN_NAMESPACE
28
29class QMenuBarExtension;
31{
32 Q_DECLARE_PUBLIC(QMenuBar)
33public:
38
40 {
41 delete platformMenuBar;
42 }
43
44 void init();
45 QAction *getNextAction(const int start, const int increment) const;
46
47 //item calculations
49
52 void calcActionRects(int max_width, int start) const;
53 QRect actionRect(QAction *) const;
54 void updateGeometries();
55
56 //selection
59 QAction *actionAt(QPoint p) const;
60 void setCurrentAction(QAction *, bool =false, bool =false);
61 void popupAction(QAction *, bool);
62
63 //active popup state
66
67 //keyboard mode for keyboard navigation
68 void focusFirstAction();
69 void setKeyboardMode(bool);
72
73 //firing of events
74 void activateAction(QAction *, QAction::ActionEvent);
75
76 void _q_actionTriggered();
77 void _q_actionHovered();
79 void _q_updateLayout();
80
81 //extra widgets in the menubar
84 bool isVisible(QAction *action);
85
86 //menu fading/scrolling effects
88
89 QRect menuRect(bool) const;
90
91 // reparenting
92 void handleReparent();
94
96 //default action
98
100 QPlatformMenuBar *platformMenuBar;
101 QPlatformMenu *getPlatformMenu(const QAction *action);
102 QPlatformMenu *findInsertionPlatformMenu(const QAction *action);
103 void copyActionToPlatformMenu(const QAction *e, QPlatformMenu *menu);
104
105 inline int indexOf(QAction *act) const { return q_func()->actions().indexOf(act); }
106};
107
108QT_END_NAMESPACE
109
110#endif // QMENUBAR_P_H
QSize sizeHint() const override
Definition qmenubar.cpp:71
void paintEvent(QPaintEvent *) override
\reimp
Definition qmenubar.cpp:60
QMenuBarExtension(QWidget *parent)
Definition qmenubar.cpp:49
QPlatformMenu * findInsertionPlatformMenu(const QAction *action)
QMenuBarExtension * extension
Definition qmenubar_p.h:83
QPlatformMenu * getPlatformMenu(const QAction *action)
QPointer< QAction > currentAction
Definition qmenubar_p.h:57
QAction * actionAt(QPoint p) const
Definition qmenubar.cpp:81
void calcActionRects(int max_width, int start) const
Definition qmenubar.cpp:384
void _q_internalShortcutActivated(int)
void _q_actionTriggered()
Definition qmenubar.cpp:496
QList< QRect > actionRects
Definition qmenubar_p.h:51
void _q_updateLayout()
QPointer< QMenu > activeMenu
Definition qmenubar_p.h:65
void copyActionToPlatformMenu(const QAction *e, QPlatformMenu *menu)
void focusFirstAction()
Definition qmenubar.cpp:238
QAction * getNextAction(const int start, const int increment) const
Definition qmenubar.cpp:691
QPlatformMenuBar * platformMenuBar
Definition qmenubar_p.h:100
void popupAction(QAction *, bool)
Definition qmenubar.cpp:275
void setCurrentAction(QAction *, bool=false, bool=false)
Definition qmenubar.cpp:341
QPointer< QWidget > keyboardFocusWidget
Definition qmenubar_p.h:71
QPointer< QWidget > rightWidget
Definition qmenubar_p.h:82
QList< QPointer< QWidget > > oldParents
Definition qmenubar_p.h:93
int indexOf(QAction *act) const
Definition qmenubar_p.h:105
QBasicTimer autoReleaseTimer
Definition qmenubar_p.h:99
QPointer< QAction > defaultAction
Definition qmenubar_p.h:97
void activateAction(QAction *, QAction::ActionEvent)
Definition qmenubar.cpp:480
QPointer< QWidget > leftWidget
Definition qmenubar_p.h:82
QList< QAction * > hiddenActions
Definition qmenubar_p.h:95
void updateGeometries()
Definition qmenubar.cpp:129
void handleReparent()
QRect menuRect(bool) const
Definition qmenubar.cpp:90
bool isVisible(QAction *action)
Definition qmenubar.cpp:124
void _q_actionHovered()
Definition qmenubar.cpp:504
void setKeyboardMode(bool)
Definition qmenubar.cpp:249
QRect actionRect(QAction *) const
Definition qmenubar.cpp:225
QList< int > shortcutIndexMap
Definition qmenubar_p.h:50
The QMenuBar class provides a horizontal menu bar.
Definition qmenubar.h:20
friend class QWidget
Definition qpainter.h:423
Combined button and popup list for selecting options.
QT_REQUIRE_CONFIG(animation)
#define qApp
QT_REQUIRE_CONFIG(menubar)
QMenu menu
[5]