
=head1 NAME

OODoc::Text::Structure - base class for chapters, sections and sub-sections


=head1 INHERITANCE

 OODoc::Text::Structure
   is a OODoc::Text
   is a OODoc::Object

 OODoc::Text::Structure is extended by
   OODoc::Text::Chapter
   OODoc::Text::Section
   OODoc::Text::SubSection


=head1 SYNOPSIS

 # Cannot be instantiated itself


=head1 DESCRIPTION




=head1 METHODS


=head2 Attributes


$obj-E<gt>B<description>

=over 4

See L<OODoc::Text/"Attributes">

=back

$obj-E<gt>B<findDescriptionObject>

=over 4

See L<OODoc::Text/"Attributes">

=back

$obj-E<gt>B<openDescription>

=over 4

See L<OODoc::Text/"Attributes">

=back

$obj-E<gt>B<type>

=over 4

See L<OODoc::Text/"Attributes">

=back

$obj-E<gt>B<where>

=over 4

See L<OODoc::Text/"Attributes">

=back

=head2 Container


$obj-E<gt>B<all>(METHOD, PARAMETERS)

=over 4

Call the METHOD recursively on this object and all its sub-structures.
For instance, when C<all> is called on a chapter, it first will call
the METHOD on that chapter, than on all its sections and subsections.
The PARAMETERS are passed with each call.  The results of all calls is
returned as list.

=back

$obj-E<gt>B<path>

=over 4

Represent the location of this chapter, section, or subsection as
one string, separated by slashes.

I<Example:> 

 print $subsect->path;  # may print:  METHODS/Container/Search

=back

=head2 Subroutines

Each manual page structure element (chapter, section, and subsection)
can contain a list of subroutine descriptions.

$obj-E<gt>B<addSubroutine>(OBJECT)

=over 4

A subroutine (OODoc::Text::Subroutine object) is added to the chapter,
section or subsection.

=back

$obj-E<gt>B<setSubroutines>(OBJECTS)

=over 4

Changes the list of subroutines for this text structure.

=back

$obj-E<gt>B<subroutine>(NAME)

=over 4

Returns the subroutine with the specific name.

=back

$obj-E<gt>B<subroutines>

=over 4

Returns the list of subroutines which are related to this text object.

=back

=head2 Examples


$obj-E<gt>B<example>(OBJECT)

=over 4

See L<OODoc::Text/"Examples">

=back

$obj-E<gt>B<examples>

=over 4

See L<OODoc::Text/"Examples">

=back

=head2 Initiation


OODoc::Text::Structure-E<gt>B<new>(OPTIONS)

=over 4

See L<OODoc::Text::Diagnostic/"METHODS">

=back

=head2 Inheritance


$obj-E<gt>B<extends>([OBJECT])

=over 4

See L<OODoc::Object/"Inheritance">

=back

=head2 Commonly used functions


$obj-E<gt>B<filenameToPackage>(FILENAME)

OODoc::Text::Structure-E<gt>B<filenameToPackage>(FILENAME)

=over 4

See L<OODoc::Object/"Commonly used functions">

=back

$obj-E<gt>B<mergeObjects>(OPTIONS)

=over 4

See L<OODoc::Object/"Commonly used functions">

=back

$obj-E<gt>B<mkdirhier>(DIRECTORY)

OODoc::Text::Structure-E<gt>B<mkdirhier>(DIRECTORY)

=over 4

See L<OODoc::Object/"Commonly used functions">

=back

$obj-E<gt>B<unique>

=over 4

See L<OODoc::Text/"METHODS">

=back

=head2 Manual database

All manuals can be reached everywhere in the program: it is a global
collection.

$obj-E<gt>B<addManual>(MANUAL)

=over 4

See L<OODoc::Object/"Manual database">

=back

$obj-E<gt>B<mainManual>(NAME)

=over 4

See L<OODoc::Object/"Manual database">

=back

$obj-E<gt>B<manuals>

=over 4

See L<OODoc::Object/"Manual database">

=back

$obj-E<gt>B<manualsForPackage>(NAME)

=over 4

See L<OODoc::Object/"Manual database">

=back

$obj-E<gt>B<packageNames>

=over 4

See L<OODoc::Object/"Manual database">

=back



=head1 DIAGNOSTICS

I<Error:> manual definition requires manual object

A call to L<addManual()|OODoc::Object/"Manual database"> expects a new manual object (a L<OODoc::Manual|OODoc::Manual>),
however an incompatible thing was passed.  Usually, intended was a call
to L<manualsForPackage()|OODoc::Object/"Manual database"> or L<mainManual()|OODoc::Object/"Manual database">.

I<Warning:> order conflict "$take" before "$insert" in $file line $number

The order of the objects in a sub-class shall be the same as that of
the super class, otherwise the result of merging of the information
received from both classes is undertermined.






=head1 REFERENCES

See the OODoc website at L<$website> for more details.

=head1 COPYRIGHTS

Module version $version.
Written by Mark Overmeer (mark@overmeer.net).  See the ChangeLog for
other contributors.

Copyright (c) 2001-2002 by the authors. All rights reserved.  This program
is free software; you can redistribute it and/or modify it under the
same terms as Perl itself.


