36 enum MenuRole { NoRole = 0, TextHeuristicRole, ApplicationSpecificRole, AboutQtRole,
37 AboutRole, PreferencesRole, QuitRole,
40 CutRole, CopyRole, PasteRole, SelectAllRole,
44 virtual void setTag(quintptr tag);
45 virtual quintptr tag()
const;
47 virtual void setText(
const QString &text) = 0;
48 virtual void setIcon(
const QIcon &icon) = 0;
49 virtual void setMenu(QPlatformMenu *menu) = 0;
50 virtual void setVisible(
bool isVisible) = 0;
51 virtual void setIsSeparator(
bool isSeparator) = 0;
52 virtual void setFont(
const QFont &font) = 0;
53 virtual void setRole(MenuRole role) = 0;
54 virtual void setCheckable(
bool checkable) = 0;
55 virtual void setChecked(
bool isChecked) = 0;
56#if QT_CONFIG(shortcut)
57 virtual void setShortcut(
const QKeySequence& shortcut) = 0;
59 virtual void setEnabled(
bool enabled) = 0;
60 virtual void setIconSize(
int size) = 0;
61 virtual void setNativeContents(WId item) { Q_UNUSED(item); }
62 virtual void setHasExclusiveGroup(
bool hasExclusiveGroup) { Q_UNUSED(hasExclusiveGroup); }
78 enum MenuType { DefaultMenu = 0, EditMenu };
81 virtual void insertMenuItem(QPlatformMenuItem *menuItem, QPlatformMenuItem *before) = 0;
82 virtual void removeMenuItem(QPlatformMenuItem *menuItem) = 0;
83 virtual void syncMenuItem(QPlatformMenuItem *menuItem) = 0;
84 virtual void syncSeparatorsCollapsible(
bool enable) = 0;
86 virtual void setTag(quintptr tag);
87 virtual quintptr tag()
const;
89 virtual void setText(
const QString &text) = 0;
90 virtual void setIcon(
const QIcon &icon) = 0;
91 virtual void setEnabled(
bool enabled) = 0;
92 virtual bool isEnabled()
const {
return true; }
93 virtual void setVisible(
bool visible) = 0;
94 virtual void setMinimumWidth(
int width) { Q_UNUSED(width); }
95 virtual void setFont(
const QFont &font) { Q_UNUSED(font); }
96 virtual void setMenuType(MenuType type) { Q_UNUSED(type); }
98 virtual void showPopup(
const QWindow *parentWindow,
const QRect &targetRect,
const QPlatformMenuItem *item)
100 Q_UNUSED(parentWindow);
101 Q_UNUSED(targetRect);
106 virtual void dismiss() { }
108 virtual QPlatformMenuItem *menuItemAt(
int position)
const = 0;
109 virtual QPlatformMenuItem *menuItemForTag(quintptr tag)
const = 0;
111 virtual QPlatformMenuItem *createMenuItem()
const;
112 virtual QPlatformMenu *createSubMenu()
const;
125 virtual void insertMenu(QPlatformMenu *menu, QPlatformMenu *before) = 0;
126 virtual void removeMenu(QPlatformMenu *menu) = 0;
127 virtual void syncMenu(QPlatformMenu *menuItem) = 0;
128 virtual void handleReparent(QWindow *newParentWindow) = 0;
129 virtual QWindow *parentWindow()
const {
return nullptr; }
131 virtual QPlatformMenu *menuForTag(quintptr tag)
const = 0;
132 virtual QPlatformMenu *createMenu()
const;