NAME
    `Tickit::Widget::Menu' - display a menu of choices

SYNOPSIS
     use Tickit;
     use Tickit::Widget::Menu;
     use Tickit::Widget::Menu::Item;

     my $tickit = Tickit->new;

     my $menu = Tickit::Widget::Menu->new(
        items => [
           Tickit::Widget::Menu::Item->new(
              name => "Exit",
              on_activate => sub { $tickit->stop }
           ),
        ],
     );

     $menu->popup( $tickit->rootwin, 5, 5 );

     $tickit->run;

DESCRIPTION
    This widget class acts as a display container for a list of items
    representing individual choices. It can be displayed as a floating
    window using the `popup' method, or attached to a
    Tickit::Widget::MenuBar or as a child menu within another
    `Tickit::Widget::Menu'.

    This widget is intended to be displayed transiently, either as a pop-up
    menu over some other widget, or as a child menu of another menu or an
    instance of a menu bar. Specifically, such objects should not be
    directly added to container widgets.

CONSTRUCTOR
  $menu = Tickit::Widget::Menu->new( %args )
    Constructs a new `Tickit::Widget::Menu' object.

    Takes the following named arguments:

    name => STRING
            Optional. If present, gives the name of the menu item for a
            submenu. Not used in a top-level menu.

    items => ARRAY
            Optional. If present, contains a list of
            `Tickit::Widget::Menu::Item' or `Tickit::Widget::Menu' objects
            to add to the menu. Equivalent to psasing each to the
            `push_item' method after construction.

METHODS
  $name = $menu->name
    Returns the string name for the menu.

  @items = $menu->items
    Returns the list of items currently stored.

  $menu->push_item( $item )
    Adds another item.

  $menu->popup( $win, $line, $col )
    Makes the menu appear at the given position relative to the given
    window. Note that as `$win->make_popup' is called, the menu is always
    displayed in a popup window, floating over the root window. Passed
    window is used simply as the origin for the given line and column
    position.

  $menu->dismiss
    Hides a menu previously displayed using `popup'.

AUTHOR
    Paul Evans <leonerd@leonerd.org.uk>

