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
QtAndroidMenu Namespace Reference

Functions

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

Variables

static QList< QAndroidPlatformMenu * > pendingContextMenus
static QAndroidPlatformMenuvisibleMenu = nullptr
static Q_CONSTINIT QRecursiveMutex visibleMenuMutex
static QSet< QAndroidPlatformMenuBar * > menuBars
static QAndroidPlatformMenuBarvisibleMenuBar = nullptr
static QWindowactiveTopLevelWindow = nullptr
static Q_CONSTINIT QRecursiveMutex menuBarMutex
static jmethodID clearMenuMethodID = 0
static jmethodID addMenuItemMethodID = 0
static int menuNoneValue = 0
static jmethodID setHeaderTitleContextMenuMethodID = 0
static jmethodID setCheckableMenuItemMethodID = 0
static jmethodID setCheckedMenuItemMethodID = 0
static jmethodID setEnabledMenuItemMethodID = 0
static jmethodID setIconMenuItemMethodID = 0
static jmethodID setVisibleMenuItemMethodID = 0
static JNINativeMethod methods []

Function Documentation

◆ addAllMenuItemsToMenu()

int QtAndroidMenu::addAllMenuItemsToMenu ( JNIEnv * env,
jobject menu,
QAndroidPlatformMenu * platformMenu )
static

Definition at line 190 of file androidjnimenu.cpp.

References QAndroidPlatformMenu::menuItems().

Here is the call graph for this function:

◆ addMenuBar()

void QtAndroidMenu::addMenuBar ( QAndroidPlatformMenuBar * menuBar)

Definition at line 137 of file androidjnimenu.cpp.

References menuBars.

◆ androidPlatformMenuDestroyed()

void QtAndroidMenu::androidPlatformMenuDestroyed ( QAndroidPlatformMenu * menu)

Definition at line 96 of file androidjnimenu.cpp.

References visibleMenu.

Referenced by QAndroidPlatformMenu::~QAndroidPlatformMenu().

Here is the caller graph for this function:

◆ fillContextMenu()

void QtAndroidMenu::fillContextMenu ( JNIEnv * env,
jobject thiz,
jobject menu )
static

Definition at line 315 of file androidjnimenu.cpp.

References visibleMenu.

◆ fillMenuItem()

void QtAndroidMenu::fillMenuItem ( JNIEnv * env,
jobject menuItem,
bool checkable,
bool checked,
bool enabled,
bool visible,
const QIcon & icon = QIcon() )
static

Definition at line 167 of file androidjnimenu.cpp.

◆ hideContextMenu()

void QtAndroidMenu::hideContextMenu ( QAndroidPlatformMenu * menu)

Definition at line 73 of file androidjnimenu.cpp.

References QtAndroid::backendRegister(), pendingContextMenus, and visibleMenu.

Here is the call graph for this function:

◆ onContextItemSelected()

jboolean QtAndroidMenu::onContextItemSelected ( JNIEnv * env,
jobject thiz,
jint menuId,
jboolean checked )
static

Definition at line 326 of file androidjnimenu.cpp.

References QAndroidPlatformMenuItem::isCheckable(), QAndroidPlatformMenuItem::menu(), pendingContextMenus, QAndroidPlatformMenuItem::setChecked(), showContextMenu(), and visibleMenu.

Here is the call graph for this function:

◆ onContextMenuClosed()

void QtAndroidMenu::onContextMenuClosed ( JNIEnv * env,
jobject thiz,
jobject menu )
static

Definition at line 352 of file androidjnimenu.cpp.

References visibleMenu.

◆ onCreateContextMenu()

void QtAndroidMenu::onCreateContextMenu ( JNIEnv * env,
jobject thiz,
jobject menu )
static

Definition at line 298 of file androidjnimenu.cpp.

References visibleMenu.

◆ onOptionsItemSelected()

jboolean QtAndroidMenu::onOptionsItemSelected ( JNIEnv * env,
jobject thiz,
jint menuId,
jboolean checked )
static

Definition at line 261 of file androidjnimenu.cpp.

References QAndroidPlatformMenuItem::isCheckable(), QAndroidPlatformMenuItem::menu(), QAndroidPlatformMenuBar::menus(), QAndroidPlatformMenuItem::setChecked(), showContextMenu(), and visibleMenuBar.

Here is the call graph for this function:

◆ onOptionsMenuClosed()

void QtAndroidMenu::onOptionsMenuClosed ( JNIEnv * env,
jobject thiz,
jobject menu )
static

Definition at line 291 of file androidjnimenu.cpp.

◆ onPrepareOptionsMenu()

jboolean QtAndroidMenu::onPrepareOptionsMenu ( JNIEnv * env,
jobject thiz,
jobject menu )
static

Definition at line 221 of file androidjnimenu.cpp.

References QAndroidPlatformMenuBar::menus(), and visibleMenuBar.

Here is the call graph for this function:

◆ openOptionsMenu()

void QtAndroidMenu::openOptionsMenu ( )

Definition at line 54 of file androidjnimenu.cpp.

References QtAndroid::backendRegister().

Referenced by QAndroidPlatformTheme::showPlatformMenuBar().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ registerNatives()

bool QtAndroidMenu::registerNatives ( QJniEnvironment & env)

Definition at line 406 of file androidjnimenu.cpp.

References methods.

◆ removeAmpersandEscapes()

QString QtAndroidMenu::removeAmpersandEscapes ( QString s)
static

Definition at line 153 of file androidjnimenu.cpp.

◆ removeMenuBar()

void QtAndroidMenu::removeMenuBar ( QAndroidPlatformMenuBar * menuBar)

Definition at line 143 of file androidjnimenu.cpp.

References menuBars, resetMenuBar(), and visibleMenuBar.

Referenced by QAndroidPlatformMenuBar::~QAndroidPlatformMenuBar().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ resetMenuBar()

void QtAndroidMenu::resetMenuBar ( )

Definition at line 48 of file androidjnimenu.cpp.

References QtAndroid::backendRegister().

Referenced by removeMenuBar(), and setMenuBar().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setActiveTopLevelWindow()

void QtAndroidMenu::setActiveTopLevelWindow ( QWindow * window)

Definition at line 111 of file androidjnimenu.cpp.

References activeTopLevelWindow, and visibleMenuBar.

Referenced by QAndroidPlatformScreen::topVisibleWindowChanged().

Here is the caller graph for this function:

◆ setMenuBar()

void QtAndroidMenu::setMenuBar ( QAndroidPlatformMenuBar * menuBar,
QWindow * window )

Definition at line 103 of file androidjnimenu.cpp.

References activeTopLevelWindow, resetMenuBar(), and visibleMenuBar.

Referenced by QAndroidPlatformMenuBar::handleReparent().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ showContextMenu()

void QtAndroidMenu::showContextMenu ( QAndroidPlatformMenu * menu,
const QRect & anchorRect )

Definition at line 60 of file androidjnimenu.cpp.

References QtAndroid::backendRegister(), pendingContextMenus, and visibleMenu.

Referenced by onContextItemSelected(), onOptionsItemSelected(), and QAndroidPlatformMenu::showPopup().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ syncMenu()

void QtAndroidMenu::syncMenu ( QAndroidPlatformMenu * menu)

Definition at line 86 of file androidjnimenu.cpp.

Referenced by QAndroidPlatformMenuBar::syncMenu(), and QAndroidPlatformMenu::syncMenuItem().

Here is the caller graph for this function:

Variable Documentation

◆ activeTopLevelWindow

QWindow * QtAndroidMenu::activeTopLevelWindow = nullptr
static

Definition at line 34 of file androidjnimenu.cpp.

Referenced by setActiveTopLevelWindow(), and setMenuBar().

◆ addMenuItemMethodID

jmethodID QtAndroidMenu::addMenuItemMethodID = 0
static

Definition at line 38 of file androidjnimenu.cpp.

◆ clearMenuMethodID

jmethodID QtAndroidMenu::clearMenuMethodID = 0
static

Definition at line 37 of file androidjnimenu.cpp.

◆ menuBarMutex

Q_CONSTINIT QRecursiveMutex QtAndroidMenu::menuBarMutex
static

Definition at line 35 of file androidjnimenu.cpp.

◆ menuBars

QSet< QAndroidPlatformMenuBar * > QtAndroidMenu::menuBars
static

Definition at line 32 of file androidjnimenu.cpp.

Referenced by addMenuBar(), and removeMenuBar().

◆ menuNoneValue

int QtAndroidMenu::menuNoneValue = 0
static

Definition at line 39 of file androidjnimenu.cpp.

◆ methods

JNINativeMethod QtAndroidMenu::methods
static
Initial value:
= {
{"onPrepareOptionsMenu", "(Landroid/view/Menu;)Z", (void *)onPrepareOptionsMenu},
{"onOptionsItemSelected", "(IZ)Z", (void *)onOptionsItemSelected},
{"onOptionsMenuClosed", "(Landroid/view/Menu;)V", (void*)onOptionsMenuClosed},
{"onCreateContextMenu", "(Landroid/view/ContextMenu;)V", (void *)onCreateContextMenu},
{"fillContextMenu", "(Landroid/view/Menu;)V", (void *)fillContextMenu},
{"onContextItemSelected", "(IZ)Z", (void *)onContextItemSelected},
{"onContextMenuClosed", "(Landroid/view/Menu;)V", (void*)onContextMenuClosed},
}
static jboolean onContextItemSelected(JNIEnv *env, jobject thiz, jint menuId, jboolean checked)
static void onCreateContextMenu(JNIEnv *env, jobject thiz, jobject menu)
static void onContextMenuClosed(JNIEnv *env, jobject thiz, jobject menu)
static void onOptionsMenuClosed(JNIEnv *env, jobject thiz, jobject menu)
static jboolean onPrepareOptionsMenu(JNIEnv *env, jobject thiz, jobject menu)
static void fillContextMenu(JNIEnv *env, jobject thiz, jobject menu)
static jboolean onOptionsItemSelected(JNIEnv *env, jobject thiz, jint menuId, jboolean checked)

Definition at line 368 of file androidjnimenu.cpp.

Referenced by registerNatives().

◆ pendingContextMenus

QList< QAndroidPlatformMenu * > QtAndroidMenu::pendingContextMenus
static

Definition at line 28 of file androidjnimenu.cpp.

Referenced by hideContextMenu(), onContextItemSelected(), and showContextMenu().

◆ setCheckableMenuItemMethodID

jmethodID QtAndroidMenu::setCheckableMenuItemMethodID = 0
static

Definition at line 42 of file androidjnimenu.cpp.

◆ setCheckedMenuItemMethodID

jmethodID QtAndroidMenu::setCheckedMenuItemMethodID = 0
static

Definition at line 43 of file androidjnimenu.cpp.

◆ setEnabledMenuItemMethodID

jmethodID QtAndroidMenu::setEnabledMenuItemMethodID = 0
static

Definition at line 44 of file androidjnimenu.cpp.

◆ setHeaderTitleContextMenuMethodID

jmethodID QtAndroidMenu::setHeaderTitleContextMenuMethodID = 0
static

Definition at line 40 of file androidjnimenu.cpp.

◆ setIconMenuItemMethodID

jmethodID QtAndroidMenu::setIconMenuItemMethodID = 0
static

Definition at line 45 of file androidjnimenu.cpp.

◆ setVisibleMenuItemMethodID

jmethodID QtAndroidMenu::setVisibleMenuItemMethodID = 0
static

Definition at line 46 of file androidjnimenu.cpp.

◆ visibleMenu

◆ visibleMenuBar

QAndroidPlatformMenuBar * QtAndroidMenu::visibleMenuBar = nullptr
static

◆ visibleMenuMutex

Q_CONSTINIT QRecursiveMutex QtAndroidMenu::visibleMenuMutex
static

Definition at line 30 of file androidjnimenu.cpp.