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
qandroidplatformmenu.h
Go to the documentation of this file.
1// Copyright (C) 2012 BogDan Vatra <bogdan@kde.org>
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 QANDROIDPLATFORMMENU_H
5#define QANDROIDPLATFORMMENU_H
6
7#include <qhash.h>
8#include <qpa/qplatformmenu.h>
9#include <qlist.h>
10#include <qmutex.h>
11
13
16{
17public:
18 typedef QList<QAndroidPlatformMenuItem *> PlatformMenuItemsType;
19
20public:
23
24 void insertMenuItem(QPlatformMenuItem *menuItem, QPlatformMenuItem *before) override;
25 void removeMenuItem(QPlatformMenuItem *menuItem) override;
26 void syncMenuItem(QPlatformMenuItem *menuItem) override;
27 void syncSeparatorsCollapsible(bool enable) override;
28
29 void setText(const QString &text) override;
30 QString text() const;
31 void setIcon(const QIcon &icon) override;
32 QIcon icon() const;
33 void setEnabled(bool enabled) override;
34 bool isEnabled() const override;
35 void setVisible(bool visible) override;
36 bool isVisible() const;
37 void showPopup(const QWindow *parentWindow, const QRect &targetRect, const QPlatformMenuItem *item) override;
38
39 QPlatformMenuItem *menuItemAt(int position) const override;
42 int menuId(QPlatformMenuItem *menuItem) const;
43
46
47private:
48 PlatformMenuItemsType m_menuItems;
49 QString m_text;
50 QIcon m_icon;
51 bool m_enabled;
52 bool m_isVisible;
53 QMutex m_menuItemsMutex;
54
55 int m_nextMenuId = 0;
56 QHash<int, QPlatformMenuItem *> m_menuHash;
57};
58
60
61#endif // QANDROIDPLATFORMMENU_H
void syncMenuItem(QPlatformMenuItem *menuItem) override
void removeMenuItem(QPlatformMenuItem *menuItem) override
int menuId(QPlatformMenuItem *menuItem) const
QPlatformMenuItem * menuItemForTag(quintptr tag) const override
QPlatformMenuItem * menuItemForId(int menuId) const
void showPopup(const QWindow *parentWindow, const QRect &targetRect, const QPlatformMenuItem *item) override
QList< QAndroidPlatformMenuItem * > PlatformMenuItemsType
void insertMenuItem(QPlatformMenuItem *menuItem, QPlatformMenuItem *before) override
void syncSeparatorsCollapsible(bool enable) override
bool isEnabled() const override
void setIcon(const QIcon &icon) override
void setEnabled(bool enabled) override
void setVisible(bool visible) override
void setText(const QString &text) override
QPlatformMenuItem * menuItemAt(int position) const override
PlatformMenuItemsType menuItems() const
The QIcon class provides scalable icons in different modes and states.
Definition qicon.h:20
\inmodule QtCore
Definition qmutex.h:281
virtual quintptr tag() const
\inmodule QtCore\reentrant
Definition qrect.h:30
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtGui
Definition qwindow.h:63
Combined button and popup list for selecting options.
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLboolean enable
static qreal position(const QQuickItem *item, QQuickAnchors::Anchor anchorLine)
size_t quintptr
Definition qtypes.h:167
QGraphicsItem * item