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