Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qandroidplatformmenubar.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 QANDROIDPLATFORMMENUBAR_H
5#define QANDROIDPLATFORMMENUBAR_H
6
7#include <qpa/qplatformmenu.h>
8#include <qhash.h>
9#include <qlist.h>
10#include <qmutex.h>
11
13
16{
17public:
19public:
22
23 void insertMenu(QPlatformMenu *menu, QPlatformMenu *before) override;
24 void removeMenu(QPlatformMenu *menu) override;
25 void syncMenu(QPlatformMenu *menu) override;
26 void handleReparent(QWindow *newParentWindow) override;
27 QPlatformMenu *menuForTag(quintptr tag) const override;
28 QPlatformMenu *menuForId(int menuId) const;
29 int menuId(QPlatformMenu *menu) const;
30
31 QWindow *parentWindow() const override;
33 QMutex *menusListMutex();
34
35private:
36 PlatformMenusType m_menus;
37 QWindow *m_parentWindow;
38 QMutex m_menusListMutex;
39
40 int m_nextMenuId = 0;
41 QHash<int, QPlatformMenu *> m_menuHash;
42};
43
44QT_END_NAMESPACE
45
46#endif // QANDROIDPLATFORMMENUBAR_H
#define GET_AND_CHECK_STATIC_FIELD(VAR, CLASS, FIELD_NAME, FIELD_SIGNATURE)
#define FIND_AND_CHECK_CLASS(CLASS_NAME)
#define GET_AND_CHECK_METHOD(VAR, CLASS, METHOD_NAME, METHOD_SIGNATURE)
PlatformMenusType menus() const
QWindow * parentWindow() const override
void insertMenu(QPlatformMenu *menu, QPlatformMenu *before) override
void handleReparent(QWindow *newParentWindow) override
void syncMenu(QPlatformMenu *menu) override
int menuId(QPlatformMenu *menu) const
QPlatformMenu * menuForId(int menuId) const
QPlatformMenu * menuForTag(quintptr tag) const override
void removeMenu(QPlatformMenu *menu) override
QList< QAndroidPlatformMenu * > PlatformMenusType
QAndroidPlatformMenu * menu() const
void setChecked(bool isChecked) override
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
Definition qlist.h:80
\inmodule QtCore
Definition qmutex.h:346
static int addAllMenuItemsToMenu(JNIEnv *env, jobject menu, QAndroidPlatformMenu *platformMenu)
static jmethodID setHeaderTitleContextMenuMethodID
void hideContextMenu(QAndroidPlatformMenu *menu)
static jboolean onContextItemSelected(JNIEnv *env, jobject thiz, jint menuId, jboolean checked)
static QString removeAmpersandEscapes(QString s)
static QList< QAndroidPlatformMenu * > pendingContextMenus
static QSet< QAndroidPlatformMenuBar * > menuBars
void setActiveTopLevelWindow(QWindow *window)
void removeMenuBar(QAndroidPlatformMenuBar *menuBar)
void syncMenu(QAndroidPlatformMenu *)
static void onCreateContextMenu(JNIEnv *env, jobject thiz, jobject menu)
void androidPlatformMenuDestroyed(QAndroidPlatformMenu *menu)
static jmethodID clearMenuMethodID
static QAndroidPlatformMenuBar * visibleMenuBar
static jmethodID addMenuItemMethodID
void addMenuBar(QAndroidPlatformMenuBar *menuBar)
static int menuNoneValue
static jmethodID setIconMenuItemMethodID
static void onContextMenuClosed(JNIEnv *env, jobject thiz, jobject menu)
static void onOptionsMenuClosed(JNIEnv *env, jobject thiz, jobject menu)
static QWindow * activeTopLevelWindow
void showContextMenu(QAndroidPlatformMenu *menu, const QRect &anchorRect)
static jmethodID setCheckableMenuItemMethodID
static jboolean onPrepareOptionsMenu(JNIEnv *env, jobject thiz, jobject menu)
static QAndroidPlatformMenu * visibleMenu
static void fillMenuItem(JNIEnv *env, jobject menuItem, bool checkable, bool checked, bool enabled, bool visible, const QIcon &icon=QIcon())
bool registerNatives(QJniEnvironment &env)
static jmethodID setCheckedMenuItemMethodID
void setMenuBar(QAndroidPlatformMenuBar *menuBar, QWindow *window)
static jmethodID setVisibleMenuItemMethodID
static void fillContextMenu(JNIEnv *env, jobject thiz, jobject menu)
static jmethodID setEnabledMenuItemMethodID
static jboolean onOptionsItemSelected(JNIEnv *env, jobject thiz, jint menuId, jboolean checked)
static JNINativeMethod methods[]
AndroidBackendRegister * backendRegister()
Q_DECLARE_JNI_CLASS(MotionEvent, "android/view/MotionEvent")