# Package icyllis.modernui.view.menu

@Internal package icyllis.modernui.view.menu
The internal implementation of `Menu` API and relevant components, controlling the creation and display of menus.

- Related Packages
  Package
  Description
  icyllis.modernui.view
  Provides classes that expose basic user interface classes that handle screen layout and interaction with the user.
- Class
  Description
  CascadingMenuPopup
  A popup for a menu which will allow multiple submenus to appear in a cascading fashion, side by side.
  CascadingMenuPopup.HorizPosition
  ContextMenuBuilder
  Implementation of the `ContextMenu` interface.
  ListMenuItemView
  The item view for each item in the ListView-based MenuViews.
  MenuAdapter
  MenuBuilder
  Implementation of the `Menu` interface for creating a standard menu UI.
  MenuBuilder.Callback
  Called by menu to notify of close and selection changes.
  MenuBuilder.ItemInvoker
  Called by menu items to execute their associated action
  MenuHelper
  Interface for a helper capable of presenting a menu.
  MenuItemImpl
  MenuPopup
  Base class for a menu popup abstraction - i.e., some type of menu, housed in a popup window environment.
  MenuPopupHelper
  MenuPresenter
  A MenuPresenter is responsible for building views for a Menu object.
  MenuPresenter.Callback
  Called by menu implementation to notify another component of open/close events.
  MenuView
  Minimal interface for a menu view.
  MenuView.ItemView
  Minimal interface for a menu item view.
  ShowableListMenu
  A list menu which can be shown and hidden and which is internally represented by a ListView.
  StandardMenuPopup
  A standard menu popup in which when a submenu is opened, it replaces its parent menu in the viewport.
  SubMenuArrowDrawable
  SubMenuBuilder
  The model for a sub menu, which is an extension of the menu.