NAME
TUI::Menus::Menu - container for menu item lists
SYNOPSIS
use TUI::Menus;
my $menu =
new_TMenu(
new_TMenuItem('~O~pen', cmOpen)
+ new_TMenuItem('~S~ave', cmSave)
);
DESCRIPTION
TMenu represents a container used to build menu structures for menu bars and menu boxes. It holds a linked list of TMenuItem objects and an optional default item.
Menu objects are typically created indirectly using helper constructors and combined using the overloaded '+' operator. The resulting menu structure is passed to menu views such as TMenuBar or TMenuBox.
TMenu is a data structure and does not perform any drawing or event processing itself.
ATTRIBUTES
The following attributes describe the contents of the menu.
items
Reference to the first menu item in the list (TMenuItem).
deflt
Optional reference to the default menu item (TMenuItem). This item may be highlighted or preselected depending on the menu view.
CONSTRUCTOR
new
my $menu = TMenu->new(
items => $items,
deflt => $default
);
Creates a new menu container.
- items
-
Optional reference to a list of menu items (TMenuItem).
- deflt
-
Optional default menu item (TMenuItem).
new_TMenu
my $menu = new_TMenu($items | undef, | $default);
Factory-style constructor using positional arguments.
This constructor is equivalent to calling new with named parameters and is provided for compatibility with traditional Turbo Vision construction patterns.
METHODS
deflt
my $item = $menu->deflt();
$menu->deflt($item);
Gets or sets the default menu item.
SEE ALSO
AUTHORS
Borland International (original Turbo Vision design)
J. Schneider <brickpool@cpan.org> (Perl implementation and maintenance)
COPYRIGHT AND LICENSE
Copyright (c) 1990-1994, 1997 by Borland International
Copyright (c) 2025-2026 the "AUTHORS" as listed above.
This software is licensed under the MIT license (see the LICENSE file, which is part of the distribution).