NAME

TUI::Menus - Menu and status line system for the TUI::Vision framework

SYNOPSIS

use TUI::Objects;
use TUI::App;
use TUI::Menus;

# Typical in a TApplication/TProgram subclass:
sub initMenuBar {
  my ( $class, $r ) = @_;
  $r->{b}{y} = $r->{a}{y} + 1;
  return TMenuBar->new(
    bounds => $r,
    menu   =>
      new_TSubMenu( '~F~ile', hcNoContext ) +
        new_TMenuItem( '~O~pen...', cmOpen, kbF3, hcNoContext, 'F3' ) +
        newLine +
        new_TMenuItem( 'E~x~it', cmQuit, kbAltX, hcNoContext, 'Alt-X' ) +
      new_TSubMenu( '~H~elp', hcNoContext ) +
        new_TMenuItem( '~A~bout', cmAbout, hcNoContext ),
  );
}

sub initStatusLine {
  my ( $class, $r ) = @_;
  $r->{a}{y} = $r->{b}{y} - 1;
  return new_TStatusLine( $r,
    new_TStatusDef( 0, 0xFFFF ) +
      new_TStatusItem( '~Alt-X~ Exit', kbAltX, cmQuit ) +
      new_TStatusItem( '~F10~ Menu', kbF10, cmMenu ) +
      new_TStatusItem( '~F1~ Help', kbF1, cmHelp )
  );
}

DESCRIPTION

TUI::Menus provides the menu and status line subsystem for the TUI::Vision framework. It corresponds to the Turbo Vision menu architecture and includes all components required for building interactive menu bars, pull-down menus, popup menus, and status lines.

This module re-exported a wide range of menu-related classes, including:

AUTHORS

  • Borland International (original Turbo Vision design)

  • J. Schneider <brickpool@cpan.org> (Perl implementation and maintenance)

CONTRIBUTORS

Contributors are documented in the POD of the respective framework modules.

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).