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
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
#include <QtCore/qpointer.h>
13
14
QT_BEGIN_NAMESPACE
15
16
class
QCocoaWindow
;
17
18
class
QCocoaMenuBar
:
public
QPlatformMenuBar
19
,
public
QNativeInterface::Private::QCocoaMenuBar
20
{
21
Q_OBJECT
22
public
:
23
QCocoaMenuBar
();
24
~QCocoaMenuBar
();
25
26
void
insertMenu
(
QPlatformMenu
*
menu
,
QPlatformMenu
* before)
override
;
27
void
removeMenu
(
QPlatformMenu
*
menu
)
override
;
28
void
syncMenu
(
QPlatformMenu
*menuItem)
override
;
29
void
handleReparent
(
QWindow
*newParentWindow)
override
;
30
QWindow
*
parentWindow
()
const override
;
31
QPlatformMenu
*
menuForTag
(
quintptr
tag
)
const override
;
32
33
NSMenu *
nsMenu
()
const override
{
return
m_nativeMenu; }
34
35
static
void
updateMenuBarImmediately
();
36
static
void
insertWindowMenu
();
37
38
QList<QCocoaMenuItem*>
merged
()
const
;
39
NSMenuItem *
itemForRole
(
QPlatformMenuItem::MenuRole
role);
40
QCocoaWindow
*
cocoaWindow
()
const
;
41
42
void
syncMenu_helper
(
QPlatformMenu
*
menu
,
bool
menubarUpdate);
43
44
private
:
45
static
QCocoaWindow
*findWindowForMenubar();
46
static
QCocoaMenuBar
*findGlobalMenubar();
47
48
bool
needsImmediateUpdate();
49
bool
shouldDisable(
QCocoaWindow
*active)
const
;
50
51
NSMenuItem *nativeItemForMenu(
QCocoaMenu
*
menu
)
const
;
52
53
QList<QPointer<QCocoaMenu> > m_menus;
54
NSMenu *m_nativeMenu;
55
QPointer<QCocoaWindow> m_window;
56
};
57
58
QT_END_NAMESPACE
59
60
#endif
QCocoaMenuBar
Definition
qcocoamenubar.h:20
QCocoaMenuBar::nsMenu
NSMenu * nsMenu() const override
Definition
qcocoamenubar.h:33
QCocoaMenuBar::merged
QList< QCocoaMenuItem * > merged() const
Definition
qcocoamenubar.mm:389
QCocoaMenuBar::itemForRole
NSMenuItem * itemForRole(QPlatformMenuItem::MenuRole role)
Definition
qcocoamenubar.mm:446
QCocoaMenuBar::removeMenu
void removeMenu(QPlatformMenu *menu) override
Definition
qcocoamenubar.mm:132
QCocoaMenuBar::updateMenuBarImmediately
static void updateMenuBarImmediately()
Definition
qcocoamenubar.mm:268
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:226
QCocoaMenuBar::insertMenu
void insertMenu(QPlatformMenu *menu, QPlatformMenu *before) override
Definition
qcocoamenubar.mm:89
QCocoaMenuBar::cocoaWindow
QCocoaWindow * cocoaWindow() const
Definition
qcocoamenubar.mm:459
QCocoaMenuBar::parentWindow
QWindow * parentWindow() const override
Definition
qcocoamenubar.mm:244
QCocoaMenuBar::insertWindowMenu
static void insertWindowMenu()
Definition
qcocoamenubar.mm:348
QCocoaMenuBar::QCocoaMenuBar
QCocoaMenuBar()
Definition
qcocoamenubar.mm:24
QCocoaMenuBar::menuForTag
QPlatformMenu * menuForTag(quintptr tag) const override
Definition
qcocoamenubar.mm:437
QCocoaMenu
Definition
qcocoamenu.h:21
QCocoaWindow
Definition
qcocoawindow.h:70
QPlatformMenuBar
Definition
qplatformmenu.h:121
QPlatformMenuItem::MenuRole
MenuRole
Definition
qplatformmenu.h:35
QPlatformMenu
Definition
qplatformmenu.h:72
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:1590
qcocoamenu.h
tag
AudioChannelLayoutTag tag
Definition
qcoreaudioutils.mm:175
Q_OBJECT
#define Q_OBJECT
Definition
qtmetamacros.h:119
quintptr
size_t quintptr
Definition
qtypes.h:167
menu
QMenu menu
[5]
Definition
src_gui_widgets_qmenu.cpp:35
qtbase
src
plugins
platforms
cocoa
qcocoamenubar.h
Generated by
1.10.0