Qt
6.x
The Qt SDK
Loading...
Searching...
No Matches
qcocoamenubar.h
Go to the documentation of this file.
1
// Copyright (C) 2018 The Qt Company Ltd.
2
// Copyright (C) 2012 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com, author James Turner <james.turner@kdab.com>
3
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
4
5
#ifndef QCOCOAMENUBAR_H
6
#define QCOCOAMENUBAR_H
7
8
#include <QtCore/QList>
9
#include <qpa/qplatformmenu.h>
10
#include "
qcocoamenu.h
"
11
12
QT_BEGIN_NAMESPACE
13
14
class
QCocoaWindow
;
15
16
class
QCocoaMenuBar
:
public
QPlatformMenuBar
17
,
public
QNativeInterface::Private::QCocoaMenuBar
18
{
19
Q_OBJECT
20
public
:
21
QCocoaMenuBar
();
22
~QCocoaMenuBar
();
23
24
void
insertMenu
(
QPlatformMenu
*
menu
,
QPlatformMenu
* before)
override
;
25
void
removeMenu
(
QPlatformMenu
*
menu
)
override
;
26
void
syncMenu
(
QPlatformMenu
*menuItem)
override
;
27
void
handleReparent
(
QWindow
*newParentWindow)
override
;
28
QWindow
*
parentWindow
()
const override
;
29
QPlatformMenu
*
menuForTag
(
quintptr
tag
)
const override
;
30
31
NSMenu *
nsMenu
()
const override
{
return
m_nativeMenu; }
32
33
static
void
updateMenuBarImmediately
();
34
static
void
insertWindowMenu
();
35
36
QList<QCocoaMenuItem*>
merged
()
const
;
37
NSMenuItem *
itemForRole
(
QPlatformMenuItem::MenuRole
role);
38
QCocoaWindow
*
cocoaWindow
()
const
;
39
40
void
syncMenu_helper
(
QPlatformMenu
*
menu
,
bool
menubarUpdate);
41
42
private
:
43
static
QCocoaWindow
*findWindowForMenubar();
44
static
QCocoaMenuBar
*findGlobalMenubar();
45
46
bool
needsImmediateUpdate();
47
bool
shouldDisable(
QCocoaWindow
*active)
const
;
48
49
NSMenuItem *nativeItemForMenu(
QCocoaMenu
*
menu
)
const
;
50
51
QList<QPointer<QCocoaMenu>
> m_menus;
52
NSMenu *m_nativeMenu;
53
QPointer<QCocoaWindow>
m_window;
54
};
55
56
QT_END_NAMESPACE
57
58
#endif
QCocoaMenuBar
Definition
qcocoamenubar.h:18
QCocoaMenuBar::nsMenu
NSMenu * nsMenu() const override
Definition
qcocoamenubar.h:31
QCocoaMenuBar::merged
QList< QCocoaMenuItem * > merged() const
Definition
qcocoamenubar.mm:367
QCocoaMenuBar::itemForRole
NSMenuItem * itemForRole(QPlatformMenuItem::MenuRole role)
Definition
qcocoamenubar.mm:424
QCocoaMenuBar::removeMenu
void removeMenu(QPlatformMenu *menu) override
Definition
qcocoamenubar.mm:132
QCocoaMenuBar::updateMenuBarImmediately
static void updateMenuBarImmediately()
Definition
qcocoamenubar.mm:269
QCocoaMenuBar::syncMenu_helper
void syncMenu_helper(QPlatformMenu *menu, bool menubarUpdate)
Definition
qcocoamenubar.mm:157
QCocoaMenuBar::~QCocoaMenuBar
~QCocoaMenuBar()
Definition
qcocoamenubar.mm:37
QCocoaMenuBar::syncMenu
void syncMenu(QPlatformMenu *menuItem) override
Definition
qcocoamenubar.mm:152
QCocoaMenuBar::handleReparent
void handleReparent(QWindow *newParentWindow) override
Definition
qcocoamenubar.mm:227
QCocoaMenuBar::insertMenu
void insertMenu(QPlatformMenu *menu, QPlatformMenu *before) override
Definition
qcocoamenubar.mm:89
QCocoaMenuBar::cocoaWindow
QCocoaWindow * cocoaWindow() const
Definition
qcocoamenubar.mm:437
QCocoaMenuBar::parentWindow
QWindow * parentWindow() const override
Definition
qcocoamenubar.mm:245
QCocoaMenuBar::insertWindowMenu
static void insertWindowMenu()
Definition
qcocoamenubar.mm:335
QCocoaMenuBar::QCocoaMenuBar
QCocoaMenuBar()
Definition
qcocoamenubar.mm:24
QCocoaMenuBar::menuForTag
QPlatformMenu * menuForTag(quintptr tag) const override
Definition
qcocoamenubar.mm:415
QCocoaMenu
Definition
qcocoamenu.h:21
QCocoaWindow
Definition
qcocoawindow.h:70
QList
Definition
qlist.h:74
QPlatformMenuBar
Definition
qplatformmenu.h:121
QPlatformMenuItem::MenuRole
MenuRole
Definition
qplatformmenu.h:35
QPlatformMenu
Definition
qplatformmenu.h:72
QPointer
\inmodule QtCore
Definition
qpointer.h:18
QWindow
\inmodule QtGui
Definition
qwindow.h:63
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qstandardpaths_haiku.cpp:21
QT_END_NAMESPACE
Definition
qsharedpointer.cpp:1545
qcocoamenu.h
tag
AudioChannelLayoutTag tag
Definition
qcoreaudioutils.mm:175
Q_OBJECT
#define Q_OBJECT
Definition
qtmetamacros.h:117
quintptr
size_t quintptr
Definition
qtypes.h:72
menu
QMenu menu
[5]
Definition
src_gui_widgets_qmenu.cpp:35
qtbase
src
plugins
platforms
cocoa
qcocoamenubar.h
Generated by
1.9.7