PlatformProvidedMenuItem class

A class that represents a menu item that is provided by the platform.

This is used to add things like the "About" and "Quit" menu items to a platform menu.

The type enum determines which type of platform defined menu will be added.

This is most useful on a macOS platform where there are many different types of platform provided menu items in the standard menu setup.

In order to know if a PlatformProvidedMenuItem is available on a particular platform, call PlatformProvidedMenuItem.hasMenu.

If the platform does not support the given type, then the menu item will throw an ArgumentError when it is sent to the platform.

See also:

  • PlatformMenuBar which takes these items for inclusion in a platform-rendered menu bar.
Inheritance

Constructors

PlatformProvidedMenuItem({required PlatformProvidedMenuItemType type, bool enabled = true})
Creates a const PlatformProvidedMenuItem of the appropriate type. Throws if the platform doesn't support the given default menu type.
const

Properties

descendants List<PlatformMenuItem>
Returns all descendant PlatformMenuItems of this item.
no setterinherited
enabled bool
True if this PlatformProvidedMenuItem should be enabled or not.
final
hashCode int
The hash code for this object.
no setterinherited
label String
The required label used for rendering the menu item.
finalinherited
members List<PlatformMenuItem>
Returns the list of group members if this menu item is a "grouping" menu item, such as PlatformMenuItemGroup.
no setterinherited
onClose VoidCallback?
Returns a callback, if any, to be invoked if the platform menu receives a "Menu.closed" method call from the platform for this item.
no setterinherited
onOpen VoidCallback?
Returns a callback, if any, to be invoked if the platform menu receives a "Menu.opened" method call from the platform for this item.
no setterinherited
onSelected VoidCallback?
An optional callback that is called when this PlatformMenuItem is selected.
finalinherited
onSelectedIntent Intent?
An optional intent that is invoked when this PlatformMenuItem is selected.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
shortcut MenuSerializableShortcut?
The optional shortcut that selects this PlatformMenuItem.
finalinherited
type PlatformProvidedMenuItemType
The type of default menu this is.
final

Methods

debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toChannelRepresentation(PlatformMenuDelegate delegate, {required MenuItemSerializableIdGenerator getId}) Iterable<Map<String, Object?>>
Converts the representation of this item into a map suitable for sending over the default "flutter/menu" channel used by DefaultPlatformMenuDelegate.
override
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringShort() String
A brief description of this object, usually just the runtimeType and the hashCode.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

hasMenu(PlatformProvidedMenuItemType menu) bool
Checks to see if the given default menu type is supported on this platform.