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
25
QT_REQUIRE_CONFIG
(
menubar
);
26
27
QT_BEGIN_NAMESPACE
28
29
class
QMenuBarExtension;
30
class
QMenuBarPrivate
:
public
QWidgetPrivate
31
{
32
Q_DECLARE_PUBLIC(QMenuBar)
33
public
:
34
QMenuBarPrivate
() :
itemsDirty
(0),
currentAction
(
nullptr
),
mouseDown
(0),
35
closePopupMode
(0),
defaultPopDown
(1),
popupState
(0),
keyboardState
(0),
altPressed
(0),
36
doChildEffects
(
false
),
platformMenuBar
(
nullptr
)
37
{ }
38
39
~
QMenuBarPrivate
()
40
{
41
delete
platformMenuBar
;
42
}
43
44
void
init
();
45
QAction *
getNextAction
(
const
int
start,
const
int
increment)
const
;
46
47
//item calculations
48
uint
itemsDirty
: 1;
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
;
58
uint
mouseDown
: 1,
closePopupMode
: 1,
defaultPopDown
;
59
QAction *
actionAt
(QPoint p)
const
;
60
void
setCurrentAction
(QAction *,
bool
=
false
,
bool
=
false
);
61
void
popupAction
(QAction *,
bool
);
62
63
//active popup state
64
uint
popupState
: 1;
65
QPointer
<
QMenu
>
activeMenu
;
66
67
//keyboard mode for keyboard navigation
68
void
focusFirstAction
();
69
void
setKeyboardMode
(
bool
);
70
uint
keyboardState
: 1,
altPressed
: 1;
71
QPointer
<
QWidget
>
keyboardFocusWidget
;
72
73
//firing of events
74
void
activateAction
(QAction *,
QAction
::
ActionEvent
);
75
76
void
_q_actionTriggered
();
77
void
_q_actionHovered
();
78
void
_q_internalShortcutActivated
(
int
);
79
void
_q_updateLayout
();
80
81
//extra widgets in the menubar
82
QPointer
<
QWidget
>
leftWidget
,
rightWidget
;
83
QMenuBarExtension
*
extension
;
84
bool
isVisible
(QAction *action);
85
86
//menu fading/scrolling effects
87
bool
doChildEffects
;
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
99
QBasicTimer
autoReleaseTimer
;
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
108
QT_END_NAMESPACE
109
110
#
endif
// QMENUBAR_P_H
QMenuBarExtension
Definition
qmenubar.cpp:41
QMenuBarExtension::sizeHint
QSize sizeHint() const override
Definition
qmenubar.cpp:71
QMenuBarExtension::paintEvent
void paintEvent(QPaintEvent *) override
\reimp
Definition
qmenubar.cpp:60
QMenuBarExtension::QMenuBarExtension
QMenuBarExtension(QWidget *parent)
Definition
qmenubar.cpp:49
QMenuBarPrivate
Definition
qmenubar_p.h:31
QMenuBarPrivate::findInsertionPlatformMenu
QPlatformMenu * findInsertionPlatformMenu(const QAction *action)
Definition
qmenubar.cpp:1167
QMenuBarPrivate::extension
QMenuBarExtension * extension
Definition
qmenubar_p.h:83
QMenuBarPrivate::getPlatformMenu
QPlatformMenu * getPlatformMenu(const QAction *action)
Definition
qmenubar.cpp:1152
QMenuBarPrivate::currentAction
QPointer< QAction > currentAction
Definition
qmenubar_p.h:57
QMenuBarPrivate::actionAt
QAction * actionAt(QPoint p) const
Definition
qmenubar.cpp:81
QMenuBarPrivate::calcActionRects
void calcActionRects(int max_width, int start) const
Definition
qmenubar.cpp:384
QMenuBarPrivate::_q_internalShortcutActivated
void _q_internalShortcutActivated(int)
Definition
qmenubar.cpp:1670
QMenuBarPrivate::_q_actionTriggered
void _q_actionTriggered()
Definition
qmenubar.cpp:496
QMenuBarPrivate::actionRects
QList< QRect > actionRects
Definition
qmenubar_p.h:51
QMenuBarPrivate::popupState
uint popupState
Definition
qmenubar_p.h:64
QMenuBarPrivate::_q_updateLayout
void _q_updateLayout()
Definition
qmenubar.cpp:1693
QMenuBarPrivate::itemsDirty
uint itemsDirty
Definition
qmenubar_p.h:48
QMenuBarPrivate::activeMenu
QPointer< QMenu > activeMenu
Definition
qmenubar_p.h:65
QMenuBarPrivate::copyActionToPlatformMenu
void copyActionToPlatformMenu(const QAction *e, QPlatformMenu *menu)
Definition
qmenubar.cpp:1180
QMenuBarPrivate::focusFirstAction
void focusFirstAction()
Definition
qmenubar.cpp:238
QMenuBarPrivate::getNextAction
QAction * getNextAction(const int start, const int increment) const
Definition
qmenubar.cpp:691
QMenuBarPrivate::mouseDown
uint mouseDown
Definition
qmenubar_p.h:58
QMenuBarPrivate::platformMenuBar
QPlatformMenuBar * platformMenuBar
Definition
qmenubar_p.h:100
QMenuBarPrivate::popupAction
void popupAction(QAction *, bool)
Definition
qmenubar.cpp:275
QMenuBarPrivate::setCurrentAction
void setCurrentAction(QAction *, bool=false, bool=false)
Definition
qmenubar.cpp:341
QMenuBarPrivate::keyboardFocusWidget
QPointer< QWidget > keyboardFocusWidget
Definition
qmenubar_p.h:71
QMenuBarPrivate::rightWidget
QPointer< QWidget > rightWidget
Definition
qmenubar_p.h:82
QMenuBarPrivate::oldParents
QList< QPointer< QWidget > > oldParents
Definition
qmenubar_p.h:93
QMenuBarPrivate::indexOf
int indexOf(QAction *act) const
Definition
qmenubar_p.h:105
QMenuBarPrivate::autoReleaseTimer
QBasicTimer autoReleaseTimer
Definition
qmenubar_p.h:99
QMenuBarPrivate::defaultAction
QPointer< QAction > defaultAction
Definition
qmenubar_p.h:97
QMenuBarPrivate::activateAction
void activateAction(QAction *, QAction::ActionEvent)
Definition
qmenubar.cpp:480
QMenuBarPrivate::leftWidget
QPointer< QWidget > leftWidget
Definition
qmenubar_p.h:82
QMenuBarPrivate::hiddenActions
QList< QAction * > hiddenActions
Definition
qmenubar_p.h:95
QMenuBarPrivate::closePopupMode
uint closePopupMode
Definition
qmenubar_p.h:58
QMenuBarPrivate::updateGeometries
void updateGeometries()
Definition
qmenubar.cpp:129
QMenuBarPrivate::handleReparent
void handleReparent()
Definition
qmenubar.cpp:1288
QMenuBarPrivate::doChildEffects
bool doChildEffects
Definition
qmenubar_p.h:87
QMenuBarPrivate::menuRect
QRect menuRect(bool) const
Definition
qmenubar.cpp:90
QMenuBarPrivate::isVisible
bool isVisible(QAction *action)
Definition
qmenubar.cpp:124
QMenuBarPrivate::_q_actionHovered
void _q_actionHovered()
Definition
qmenubar.cpp:504
QMenuBarPrivate::defaultPopDown
uint defaultPopDown
Definition
qmenubar_p.h:58
QMenuBarPrivate::setKeyboardMode
void setKeyboardMode(bool)
Definition
qmenubar.cpp:249
QMenuBarPrivate::keyboardState
uint keyboardState
Definition
qmenubar_p.h:70
QMenuBarPrivate::actionRect
QRect actionRect(QAction *) const
Definition
qmenubar.cpp:225
QMenuBarPrivate::altPressed
uint altPressed
Definition
qmenubar_p.h:70
QMenuBarPrivate::shortcutIndexMap
QList< int > shortcutIndexMap
Definition
qmenubar_p.h:50
QMenuBar
The QMenuBar class provides a horizontal menu bar.
Definition
qmenubar.h:20
QPainter::QWidget
friend class QWidget
Definition
qpainter.h:423
QPointer
Definition
qpointer.h:19
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
std
Definition
qfloat16.h:493
QT_REQUIRE_CONFIG
QT_REQUIRE_CONFIG(animation)
qApp
#define qApp
Definition
qcoreapplication.h:37
QT_REQUIRE_CONFIG
QT_REQUIRE_CONFIG(menubar)
menu
QMenu menu
[5]
Definition
src_gui_widgets_qmenu.cpp:35
qtbase
src
widgets
widgets
qmenubar_p.h
Generated on Mon Mar 10 2025 00:47:23 for Qt by
1.13.2