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_H |
5 | #define |
6 | |
7 | #include <QtWidgets/qtwidgetsglobal.h> |
8 | #include <QtWidgets/qmenu.h> |
9 | |
10 | QT_REQUIRE_CONFIG(menubar); |
11 | |
12 | QT_BEGIN_NAMESPACE |
13 | |
14 | class ; |
15 | class ; |
16 | class QWindowsStyle; |
17 | class ; |
18 | |
19 | class Q_WIDGETS_EXPORT : public QWidget |
20 | { |
21 | Q_OBJECT |
22 | |
23 | Q_PROPERTY(bool defaultUp READ isDefaultUp WRITE setDefaultUp) |
24 | Q_PROPERTY(bool nativeMenuBar READ isNativeMenuBar WRITE setNativeMenuBar) |
25 | |
26 | public: |
27 | explicit (QWidget *parent = nullptr); |
28 | (); |
29 | |
30 | using QWidget::addAction; |
31 | #if QT_WIDGETS_REMOVED_SINCE(6, 3) |
32 | QAction *addAction(const QString &text); |
33 | QAction *addAction(const QString &text, const QObject *receiver, const char* member); |
34 | #endif |
35 | |
36 | QAction *(QMenu *); |
37 | QMenu *(const QString &title); |
38 | QMenu *(const QIcon &icon, const QString &title); |
39 | |
40 | |
41 | QAction *(); |
42 | QAction *(QAction *before); |
43 | |
44 | QAction *(QAction *before, QMenu *); |
45 | |
46 | void (); |
47 | |
48 | QAction *() const; |
49 | void (QAction *action); |
50 | |
51 | void (bool); |
52 | bool () const; |
53 | |
54 | QSize () const override; |
55 | QSize () const override; |
56 | int (int) const override; |
57 | |
58 | QRect (QAction *) const; |
59 | QAction *(const QPoint &) const; |
60 | |
61 | void (QWidget *w, Qt::Corner corner = Qt::TopRightCorner); |
62 | QWidget *(Qt::Corner corner = Qt::TopRightCorner) const; |
63 | |
64 | #if defined(Q_OS_MACOS) || defined(Q_QDOC) |
65 | NSMenu* toNSMenu(); |
66 | #endif |
67 | |
68 | bool () const; |
69 | void (bool ); |
70 | QPlatformMenuBar *(); |
71 | public Q_SLOTS: |
72 | void (bool visible) override; |
73 | |
74 | Q_SIGNALS: |
75 | void (QAction *action); |
76 | void (QAction *action); |
77 | |
78 | protected: |
79 | void (QEvent *) override; |
80 | void (QKeyEvent *) override; |
81 | void (QMouseEvent *) override; |
82 | void (QMouseEvent *) override; |
83 | void (QMouseEvent *) override; |
84 | void (QEvent *) override; |
85 | void (QPaintEvent *) override; |
86 | void (QResizeEvent *) override; |
87 | void (QActionEvent *) override; |
88 | void (QFocusEvent *) override; |
89 | void (QFocusEvent *) override; |
90 | void (QTimerEvent *) override; |
91 | bool (QObject *, QEvent *) override; |
92 | bool (QEvent *) override; |
93 | virtual void (QStyleOptionMenuItem *option, const QAction *action) const; |
94 | |
95 | private: |
96 | Q_DECLARE_PRIVATE(QMenuBar) |
97 | Q_DISABLE_COPY() |
98 | Q_PRIVATE_SLOT(d_func(), void _q_actionTriggered()) |
99 | Q_PRIVATE_SLOT(d_func(), void _q_actionHovered()) |
100 | Q_PRIVATE_SLOT(d_func(), void _q_internalShortcutActivated(int)) |
101 | Q_PRIVATE_SLOT(d_func(), void _q_updateLayout()) |
102 | |
103 | friend class QMenu; |
104 | friend class QMenuPrivate; |
105 | friend class QWindowsStyle; |
106 | }; |
107 | |
108 | QT_END_NAMESPACE |
109 | |
110 | #endif // QMENUBAR_H |
111 | |