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
qquicklabsplatformmenu_p.h
Go to the documentation of this file.
1// Copyright (C) 2020 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 QQUICKLABSPLATFORMMENU_P_H
5#define QQUICKLABSPLATFORMMENU_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 <QtCore/qobject.h>
19#include <QtCore/qurl.h>
20#include <QtGui/qfont.h>
21#include <QtGui/qpa/qplatformmenu.h>
22#include <QtQml/qqmlparserstatus.h>
23#include <QtQml/qqmllist.h>
24#include <QtQml/qqml.h>
25
27
29
30class QIcon;
31class QWindow;
32class QQuickItem;
33class QPlatformMenu;
38
40{
49#if QT_CONFIG(systemtrayicon)
50 Q_PROPERTY(QQuickLabsPlatformSystemTrayIcon *systemTrayIcon READ systemTrayIcon NOTIFY systemTrayIconChanged FINAL)
51#endif
56 Q_PROPERTY(QPlatformMenu::MenuType type READ type WRITE setType NOTIFY typeChanged FINAL)
58 Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY fontChanged FINAL)
59 Q_PROPERTY(QQuickLabsPlatformIcon icon READ icon WRITE setIcon NOTIFY iconChanged FINAL REVISION(1, 1))
60 Q_CLASSINFO("DefaultProperty", "data")
61
62public:
65
66 QPlatformMenu *handle() const;
68 void destroy();
69 void sync();
70
73
76
79
80#if QT_CONFIG(systemtrayicon)
81 QQuickLabsPlatformSystemTrayIcon *systemTrayIcon() const;
82 void setSystemTrayIcon(QQuickLabsPlatformSystemTrayIcon *icon);
83#endif
84
86
87 bool isEnabled() const;
88 void setEnabled(bool enabled);
89
90 bool isVisible() const;
91 void setVisible(bool visible);
92
93 int minimumWidth() const;
94 void setMinimumWidth(int width);
95
98
99 QString title() const;
100 void setTitle(const QString &title);
101
102 QFont font() const;
103 void setFont(const QFont &font);
104
107
111
115
116 Q_INVOKABLE void clear();
117
118public Q_SLOTS:
120 void close();
121
125
136 Q_REVISION(2, 1) void iconChanged();
137
138protected:
139 void classBegin() override;
140 void componentComplete() override;
141
143
145
146 static void data_append(QQmlListProperty<QObject> *property, QObject *object);
150
155
157 void updateIcon();
158
159private:
160 void unparentSubmenus();
161
162 bool m_complete;
163 bool m_enabled;
164 bool m_visible;
165 int m_minimumWidth;
166 QPlatformMenu::MenuType m_type;
167 QString m_title;
168 QFont m_font;
169 QList<QObject *> m_data;
171 QQuickLabsPlatformMenuBar *m_menuBar;
172 QQuickLabsPlatformMenu *m_parentMenu;
173 QQuickLabsPlatformSystemTrayIcon *m_systemTrayIcon;
174 mutable QQuickLabsPlatformMenuItem *m_menuItem;
175 mutable QQuickLabsPlatformIconLoader *m_iconLoader;
176 QPlatformMenu *m_handle;
177};
178
180
181#endif // QQUICKLABSPLATFORMMENU_P_H
\reentrant
Definition qfont.h:22
The QIcon class provides scalable icons in different modes and states.
Definition qicon.h:20
Definition qlist.h:75
\inmodule QtCore
Definition qobject.h:103
QObject * parent() const
Returns a pointer to the parent object.
Definition qobject.h:346
\inmodule QtCore\reentrant
Definition qpoint.h:25
The QQmlListProperty class allows applications to expose list-like properties of QObject-derived clas...
Definition qqmllist.h:24
The QQmlParserStatus class provides updates on the QML parser state.
The QQuickItem class provides the most basic of all visual items in \l {Qt Quick}.
Definition qquickitem.h:63
static QQuickLabsPlatformMenuItem * items_at(QQmlListProperty< QQuickLabsPlatformMenuItem > *property, qsizetype index)
static QObject * data_at(QQmlListProperty< QObject > *property, qsizetype index)
static void items_append(QQmlListProperty< QQuickLabsPlatformMenuItem > *property, QQuickLabsPlatformMenuItem *item)
bool isVisible() const
\qmlproperty bool Qt.labs.platform::Menu::visible
Q_INVOKABLE void insertItem(int index, QQuickLabsPlatformMenuItem *item)
\qmlmethod void Qt.labs.platform::Menu::insertItem(int index, MenuItem item)
static void items_clear(QQmlListProperty< QQuickLabsPlatformMenuItem > *property)
Q_REVISION(2, 1) void iconChanged()
Q_INVOKABLE void removeMenu(QQuickLabsPlatformMenu *menu)
\qmlmethod void Qt.labs.platform::Menu::removeMenu(Menu submenu)
static qsizetype data_count(QQmlListProperty< QObject > *property)
QQuickLabsPlatformIconLoader * iconLoader() const
Q_INVOKABLE void addMenu(QQuickLabsPlatformMenu *menu)
\qmlmethod void Qt.labs.platform::Menu::addMenu(Menu submenu)
Q_INVOKABLE void removeItem(QQuickLabsPlatformMenuItem *item)
\qmlmethod void Qt.labs.platform::Menu::removeItem(MenuItem item)
void setIcon(const QQuickLabsPlatformIcon &icon)
static qsizetype items_count(QQmlListProperty< QQuickLabsPlatformMenuItem > *property)
QQuickLabsPlatformMenuItem * menuItem
Q_INVOKABLE void clear()
\qmlmethod void Qt.labs.platform::Menu::clear()
void setFont(const QFont &font)
void componentComplete() override
Invoked after the root component that caused this instantiation has completed construction.
Q_INVOKABLE void addItem(QQuickLabsPlatformMenuItem *item)
\qmlmethod void Qt.labs.platform::Menu::addItem(MenuItem item)
void setType(QPlatformMenu::MenuType type)
static void data_append(QQmlListProperty< QObject > *property, QObject *object)
Q_INVOKABLE void insertMenu(int index, QQuickLabsPlatformMenu *menu)
\qmlmethod void Qt.labs.platform::Menu::insertMenu(int index, Menu submenu)
QQmlListProperty< QQuickLabsPlatformMenuItem > items
\qmlproperty list<MenuItem> Qt.labs.platform::Menu::items
QQuickLabsPlatformIcon icon
QQuickLabsPlatformMenuBar * menuBar
QQuickLabsPlatformMenu * parentMenu
void open(QQmlV4FunctionPtr args)
\qmlmethod void Qt.labs.platform::Menu::open(MenuItem item)
static void data_clear(QQmlListProperty< QObject > *property)
void close()
\qmlmethod void Qt.labs.platform::Menu::close()
bool isEnabled() const
\qmlproperty bool Qt.labs.platform::Menu::enabled
void classBegin() override
Invoked after class creation, but before any properties have been set.
void setMenuBar(QQuickLabsPlatformMenuBar *menuBar)
void setTitle(const QString &title)
QPlatformMenu::MenuType type
void setParentMenu(QQuickLabsPlatformMenu *menu)
QWindow * findWindow(QQuickItem *target, QPoint *offset) const
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtGui
Definition qwindow.h:63
Combined button and popup list for selecting options.
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
GLuint64 GLenum void * handle
GLuint index
[2]
GLint GLsizei GLsizei GLenum GLenum GLsizei void * data
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLint GLsizei width
GLenum type
GLenum target
GLenum GLuint GLintptr offset
#define QML_NAMED_ELEMENT(NAME)
#define QML_EXTENDED_NAMESPACE(EXTENDED_NAMESPACE)
#define Q_PROPERTY(...)
#define Q_OBJECT
#define Q_CLASSINFO(name, value)
#define Q_INVOKABLE
#define Q_INTERFACES(x)
#define Q_SLOTS
#define Q_SIGNALS
ptrdiff_t qsizetype
Definition qtypes.h:165
const char property[13]
Definition qwizard.cpp:101
#define explicit
QGraphicsItem * item
QMenu menu
[5]
QJSValueList args