NAME

TUI::Objects::Object - root class for all Turbo Vision objects

HIERARCHY

TObject
  TView
  TCollection
  TStream
  TStringList
  TStrListMaker
  TResourceFile

DESCRIPTION

TObject is the root class of the Turbo Vision object hierarchy. Nearly all objects used by the framework are derived from TObject, and all objects that can be written to streams must descend from it.

The class defines the basic initialization and destruction semantics shared by all Turbo Vision objects. Descendant classes are expected to follow these rules by invoking their parent constructors and destructors appropriately.

TObject itself does not provide visible behavior and is not normally used directly by application code.

CONSTRUCTOR

new

my $obj = TObject->new();

Creates a new object and performs base initialization.

This constructor corresponds to the Turbo Vision Init constructor. All derived classes must ensure that their base class constructor is invoked before performing class-specific initialization.

new_TObject

my $obj = new_TObject();

Factory-style constructor using positional arguments.

This constructor exists for compatibility with traditional Turbo Vision construction patterns and is primarily used internally.

DESTRUCTOR

DEMOLISH

$self->DEMOLISH($in_global_destruction);

Destroys the object and releases associated resources.

This method corresponds to the Turbo Vision Done destructor. Descendant classes should perform their cleanup before delegating to the base implementation.

METHODS

destroy

TObject->destroy($object);

Destroys an object and releases its internal references.

This method provides an explicit destruction mechanism that is part of the framework API. It performs controlled shutdown of the object and breaks internal reference cycles.

The method may be called either as a class method or as an instance method.

shutDown

$obj->shutDown();

Performs shutdown processing for the object. Derived classes may override this method to release internal resources prior to destruction.

SEE ALSO

TUI::Views::View, TUI::Objects::Collection, TUI::Objects::Stream

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) 2021-2026 the "AUTHORS" as listed above.

This software is licensed under the MIT license (see the LICENSE file, which is part of the distribution).