Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
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
28
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
50 QList<int> shortcutIndexMap;
51 mutable QList<QRect> actionRects;
52 void calcActionRects(int max_width, int start) const;
53 QRect actionRect(QAction *) const;
54 void updateGeometries();
55
56 //selection
57 QPointer<QAction>currentAction;
59 QAction *actionAt(QPoint p) const;
60 void setCurrentAction(QAction *, bool =false, bool =false);
61 void popupAction(QAction *, bool);
62
63 //active popup state
65 QPointer<QMenu> activeMenu;
66
67 //keyboard mode for keyboard navigation
68 void focusFirstAction();
69 void setKeyboardMode(bool);
71 QPointer<QWidget> keyboardFocusWidget;
72
73 //firing of events
75
76 void _q_actionTriggered();
77 void _q_actionHovered();
79 void _q_updateLayout();
80
81 //extra widgets in the menubar
82 QPointer<QWidget> leftWidget, rightWidget;
84 bool isVisible(QAction *action);
85
86 //menu fading/scrolling effects
88
89 QRect menuRect(bool) const;
90
91 // reparenting
92 void handleReparent();
93 QList<QPointer<QWidget>> oldParents;
94
95 QList<QAction*> hiddenActions;
96 //default action
97 QPointer<QAction> defaultAction;
98
101 QPlatformMenu *getPlatformMenu(const QAction *action);
104
105 inline int indexOf(QAction *act) const { return q_func()->actions().indexOf(act); }
106};
107
109
110#endif // QMENUBAR_P_H
The QAction class provides an abstraction for user commands that can be added to different user inter...
Definition qaction.h:30
ActionEvent
This enum type is used when calling QAction::activate()
Definition qaction.h:175
\inmodule QtCore
Definition qbasictimer.h:18
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
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
\inmodule QtCore\reentrant
Definition qpoint.h:25
\inmodule QtCore\reentrant
Definition qrect.h:30
Combined button and popup list for selecting options.
GLuint start
GLfloat GLfloat p
[1]
#define QT_REQUIRE_CONFIG(feature)
unsigned int uint
Definition qtypes.h:34
QtConcurrent::task([]{ qDebug("Hello, world!");}).spawn(FutureResult void increment(QPromise< int > &promise, int i)
[10]
QObject::connect nullptr
edit isVisible()
QMenu menu
[5]