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
androidjnimenu.cpp File Reference

(6f76581d81acfe4242c46082c892289dfe0088d6)

#include "androidjnimain.h"
#include "androidjnimenu.h"
#include "qandroidplatformmenu.h"
#include "qandroidplatformmenubar.h"
#include "qandroidplatformmenuitem.h"
#include <QMutex>
#include <QPoint>
#include <QQueue>
#include <QRect>
#include <QSet>
#include <QWindow>
#include <QtCore/private/qjnihelpers_p.h>
#include <QtCore/QJniObject>
Include dependency graph for androidjnimenu.cpp:

Go to the source code of this file.

Namespaces

namespace  QtAndroidMenu

Macros

#define FIND_AND_CHECK_CLASS(CLASS_NAME)
#define GET_AND_CHECK_METHOD(VAR, CLASS, METHOD_NAME, METHOD_SIGNATURE)
#define GET_AND_CHECK_STATIC_METHOD(VAR, CLASS, METHOD_NAME, METHOD_SIGNATURE)
#define GET_AND_CHECK_STATIC_FIELD(VAR, CLASS, FIELD_NAME, FIELD_SIGNATURE)

Functions

 Q_DECLARE_JNI_CLASS (QtMenuInterface, "org/qtproject/qt/android/QtMenuInterface")
void QtAndroidMenu::resetMenuBar ()
void QtAndroidMenu::openOptionsMenu ()
void QtAndroidMenu::showContextMenu (QAndroidPlatformMenu *menu, const QRect &anchorRect)
void QtAndroidMenu::hideContextMenu (QAndroidPlatformMenu *menu)
void QtAndroidMenu::syncMenu (QAndroidPlatformMenu *)
void QtAndroidMenu::androidPlatformMenuDestroyed (QAndroidPlatformMenu *menu)
void QtAndroidMenu::setMenuBar (QAndroidPlatformMenuBar *menuBar, QWindow *window)
void QtAndroidMenu::setActiveTopLevelWindow (QWindow *window)
void QtAndroidMenu::addMenuBar (QAndroidPlatformMenuBar *menuBar)
void QtAndroidMenu::removeMenuBar (QAndroidPlatformMenuBar *menuBar)
static QString QtAndroidMenu::removeAmpersandEscapes (QString s)
static void QtAndroidMenu::fillMenuItem (JNIEnv *env, jobject menuItem, bool checkable, bool checked, bool enabled, bool visible, const QIcon &icon=QIcon())
static int QtAndroidMenu::addAllMenuItemsToMenu (JNIEnv *env, jobject menu, QAndroidPlatformMenu *platformMenu)
static jboolean QtAndroidMenu::onPrepareOptionsMenu (JNIEnv *env, jobject thiz, jobject menu)
static jboolean QtAndroidMenu::onOptionsItemSelected (JNIEnv *env, jobject thiz, jint menuId, jboolean checked)
static void QtAndroidMenu::onOptionsMenuClosed (JNIEnv *env, jobject thiz, jobject menu)
static void QtAndroidMenu::onCreateContextMenu (JNIEnv *env, jobject thiz, jobject menu)
static void QtAndroidMenu::fillContextMenu (JNIEnv *env, jobject thiz, jobject menu)
static jboolean QtAndroidMenu::onContextItemSelected (JNIEnv *env, jobject thiz, jint menuId, jboolean checked)
static void QtAndroidMenu::onContextMenuClosed (JNIEnv *env, jobject thiz, jobject menu)
bool QtAndroidMenu::registerNatives (QJniEnvironment &env)

Variables

static QList< QAndroidPlatformMenu * > QtAndroidMenu::pendingContextMenus
static QAndroidPlatformMenuQtAndroidMenu::visibleMenu = nullptr
static Q_CONSTINIT QRecursiveMutex QtAndroidMenu::visibleMenuMutex
static QSet< QAndroidPlatformMenuBar * > QtAndroidMenu::menuBars
static QAndroidPlatformMenuBarQtAndroidMenu::visibleMenuBar = nullptr
static QWindowQtAndroidMenu::activeTopLevelWindow = nullptr
static Q_CONSTINIT QRecursiveMutex QtAndroidMenu::menuBarMutex
static jmethodID QtAndroidMenu::clearMenuMethodID = 0
static jmethodID QtAndroidMenu::addMenuItemMethodID = 0
static int QtAndroidMenu::menuNoneValue = 0
static jmethodID QtAndroidMenu::setHeaderTitleContextMenuMethodID = 0
static jmethodID QtAndroidMenu::setCheckableMenuItemMethodID = 0
static jmethodID QtAndroidMenu::setCheckedMenuItemMethodID = 0
static jmethodID QtAndroidMenu::setEnabledMenuItemMethodID = 0
static jmethodID QtAndroidMenu::setIconMenuItemMethodID = 0
static jmethodID QtAndroidMenu::setVisibleMenuItemMethodID = 0
static JNINativeMethod QtAndroidMenu::methods []

Macro Definition Documentation

◆ FIND_AND_CHECK_CLASS

#define FIND_AND_CHECK_CLASS ( CLASS_NAME)
Value:
clazz = env->FindClass(CLASS_NAME); \
if (!clazz) { \
__android_log_print(ANDROID_LOG_FATAL, qtTagText(), classErrorMsgFmt(), CLASS_NAME); \
return false; \
}
const char * classErrorMsgFmt()
const char * qtTagText()

Definition at line 378 of file androidjnimenu.cpp.

◆ GET_AND_CHECK_METHOD

#define GET_AND_CHECK_METHOD ( VAR,
CLASS,
METHOD_NAME,
METHOD_SIGNATURE )
Value:
VAR = env->GetMethodID(CLASS, METHOD_NAME, METHOD_SIGNATURE); \
if (!VAR) { \
__android_log_print(ANDROID_LOG_FATAL, qtTagText(), methodErrorMsgFmt(), METHOD_NAME, METHOD_SIGNATURE); \
return false; \
}
const char * methodErrorMsgFmt()
#define VAR(I)

Definition at line 385 of file androidjnimenu.cpp.

◆ GET_AND_CHECK_STATIC_FIELD

#define GET_AND_CHECK_STATIC_FIELD ( VAR,
CLASS,
FIELD_NAME,
FIELD_SIGNATURE )
Value:
VAR = env->GetStaticFieldID(CLASS, FIELD_NAME, FIELD_SIGNATURE); \
if (!VAR) { \
__android_log_print(ANDROID_LOG_FATAL, qtTagText(), methodErrorMsgFmt(), FIELD_NAME, FIELD_SIGNATURE); \
return false; \
}

Definition at line 399 of file androidjnimenu.cpp.

◆ GET_AND_CHECK_STATIC_METHOD

#define GET_AND_CHECK_STATIC_METHOD ( VAR,
CLASS,
METHOD_NAME,
METHOD_SIGNATURE )
Value:
VAR = env->GetStaticMethodID(CLASS, METHOD_NAME, METHOD_SIGNATURE); \
if (!VAR) { \
__android_log_print(ANDROID_LOG_FATAL, qtTagText(), methodErrorMsgFmt(), METHOD_NAME, METHOD_SIGNATURE); \
return false; \
}

Definition at line 392 of file androidjnimenu.cpp.

Function Documentation

◆ Q_DECLARE_JNI_CLASS()

Q_DECLARE_JNI_CLASS ( QtMenuInterface ,
"org/qtproject/qt/android/QtMenuInterface"  )