tree da66aa1d23734879341b9e7b040a91952c402052
parent 77cb4e604104d0778b1dad3a9ea8adcf4c89bc4a
author Greg Spencer <gspencergoog@users.noreply.github.com> 1664399418 -0700
committer GitHub <noreply@github.com> 1664399418 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJjNLg6CRBK7hj4Ov3rIwAA5kIIACmEdw98Zt/aNjvzeyTIfgiP
 hHRRaWsauiyjOFqx+bRZmbFjCPg1phEttNZVr7vqnkLnS1dQ+NhR7evQqJJBo9T1
 IVU4Y159dPmHfNzPggr6lMi4pGOTDz1lvNAzh0pWPAOCA7UOsy/4ImKcZiOMzeO0
 xB0/E7gx0MYvllaT984oNXoT8Vs6mvBLkSz3qy4tWpruKjKRF1AL4ISjcDFBDpsK
 1BxcRHgpI0YugtOJ3+J2n2wWG+A/gZ1ETwA0XIbwf2kGu1cqudLRkIxcaPO3SpcK
 KG3e8uPui1LkelOcg/vh7FAVtZNvu+aack3R5nFjSV1ie0UJV220utDpdthoJyg=
 =ExYC
 -----END PGP SIGNATURE-----
 

Implement Material MenuBar and MenuAnchor (#112239)

This implements a MenuBar widget that can render a Material menu bar, and a MenuAnchor widget used to create a cascading menu in a region. The menus are drawn in the overlay, while the menu bar itself is in the regular widget tree. Keyboard traversal works between the two.

This implementation of the MenuBar uses MenuAnchor to create a cascading menu that contains widgets representing the menu items. These menu items can be any kind of widget, but are typically SubmenuButtons that host submenus, or MenuItemButtons that have shortcut hints (but don't actually activate the shortcuts) and don't host submenus.

Cascading menus can be created outside of a MenuBar by using a MenuAnchor. They can be either given a specific location to appear (a coordinate), or they can be located by the MenuAnchor region that wraps the control that opens them.

The developer may also create a MenuController to pass to the various menu primitives (MenuBar or MenuAnchor) to associate menus so that they can be traversed together and closed together. Creating a controller is not required.