NAME

TUI::App - Application layer for the TUI::Vision framework

SYNOPSIS

package MyApp;

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

extends TApplication;

sub BUILDARGS {
  my $args = shift->SUPER::BUILDARGS( @_ ) || return;
  $args->{bounds} = new_TRect( 0, 0, 80, 25 );
  return $args;
}

sub initMenuBar {
  my ( $class, $r ) = @_;
  $r->{b}{y} = $r->{a}{y} + 1;
  return new_TMenuBar( $r,
    new_TSubMenu( '~F~ile', hcNoContext ) +
      new_TMenuItem( 'E~x~it', cmQuit, kbAltX, hcNoContext, 'Alt-X' )
  );
}

package main;

my $app = MyApp->new();
$app->run();

DESCRIPTION

TUI::App represents the application-level framework of TUI::Vision. It corresponds to the Turbo Vision TProgram and TApplication layer and provides the structural foundation for building complete TUI programs.

This module re-exports multiple application components, including:

  • Const - Symbolic constants for application behavior.

  • TBackground - Default background view and screen initialization.

  • TDeskInit / TDeskTop - Desktop initialization and window management.

  • TProgInit - Program startup sequence.

  • TProgram - Main program loop and event dispatching.

  • TApplication - High-level application object.

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