Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
androidjnimenu.cpp File Reference
#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

void QtAndroidMenu::resetMenuBar ()
 
void QtAndroidMenu::openOptionsMenu ()
 
void QtAndroidMenu::showContextMenu (QAndroidPlatformMenu *menu, const QRect &anchorRect, JNIEnv *env)
 
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, jobject menu)
 
static jboolean QtAndroidMenu::onOptionsItemSelected (JNIEnv *env, jobject, jint menuId, jboolean checked)
 
static void QtAndroidMenu::onOptionsMenuClosed (JNIEnv *, jobject, jobject)
 
static void QtAndroidMenu::onCreateContextMenu (JNIEnv *env, jobject, jobject menu)
 
static void QtAndroidMenu::fillContextMenu (JNIEnv *env, jobject, jobject menu)
 
static jboolean QtAndroidMenu::onContextItemSelected (JNIEnv *env, jobject, jint menuId, jboolean checked)
 
static void QtAndroidMenu::onContextMenuClosed (JNIEnv *env, jobject, jobject)
 
bool QtAndroidMenu::registerNatives (JNIEnv *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::openContextMenuMethodID = 0
 
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 353 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()

Definition at line 360 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 374 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 367 of file androidjnimenu.cpp.