BEGIN {
foreach (qw(Mac::Files)) {
$MOD_AVAIL{$_} = eval "use $_; 1";
}
}
package HeaderDoc::ObjCContainer;
use HeaderDoc::Utilities qw(findRelativePath safeName getAPINameAndDisc printArray printHash);
use HeaderDoc::APIOwner;
@ISA = qw( HeaderDoc::APIOwner );
use strict;
use vars qw($VERSION @ISA);
$VERSION = '1.20';
my $isMacOS;
my $pathSeparator;
if ($^O =~ /MacOS/io) {
$pathSeparator = ":";
$isMacOS = 1;
} else {
$pathSeparator = "/";
$isMacOS = 0;
}
my $debugging = 0;
my $tracing = 0;
my $outputExtension = ".html";
my $tocFrameName = "toc.html";
sub _initialize {
my($self) = shift;
$self->SUPER::_initialize();
$self->tocTitlePrefix('Class:');
$self->{CLASS} = "HeaderDoc::ObjCContainer";
}
sub _getCompositePageString {
my $self = shift;
my $name = $self->name();
my $compositePageString;
my $contentString;
$compositePageString .= $self->compositePageAPIRef();
my $abstract = $self->abstract();
if (length($abstract)) {
$compositePageString .= "<h2>Abstract</h2>\n";
$compositePageString .= $abstract;
}
my $discussion = $self->discussion();
if (length($discussion)) {
$compositePageString .= "<h2>Discussion</h2>\n";
$compositePageString .= $discussion;
}
$compositePageString .= "<hr><br>";
my $etoc = $self->_getClassEmbeddedTOC(1);
if (length($etoc)) {
$compositePageString .= $etoc;
$compositePageString .= "<hr><br>";
}
$contentString= $self->_getMethodDetailString(1);
if (length($contentString)) {
$compositePageString .= "<h2>Methods</h2>\n";
$compositePageString .= $contentString;
}
$contentString= $self->_getVarDetailString();
if (length($contentString)) {
$compositePageString .= "<h2>Variables</h2>\n";
$compositePageString .= $contentString;
}
$contentString= $self->_getConstantDetailString();
if (length($contentString)) {
$compositePageString .= "<h2>Constants</h2>\n";
$compositePageString .= $contentString;
}
return $compositePageString;
}
sub getMethodPrefix {
my $self = shift;
my $obj = shift;
my $prefix;
my $type;
$type = $obj->isInstanceMethod();
if ($type =~ /YES/o) {
$prefix = "- ";
} elsif ($type =~ /NO/o) {
$prefix = "+ ";
} else {
$prefix = "";
}
return $prefix;
}
sub docNavigatorComment {
my $self = shift;
my $name = $self->name();
$name =~ s/;//sgo;
return "<!-- headerDoc=cl; name=$name-->";
}
sub objName { my $obj1 = $a;
my $obj2 = $b;
return ($obj1->name() cmp $obj2->name());
}
sub byMethodType { my $obj1 = $a;
my $obj2 = $b;
if ($HeaderDoc::sort_entries) {
return ($obj1->isInstanceMethod() cmp $obj2->isInstanceMethod());
} else {
return (1 cmp 2);
}
}
sub byAccessControl { my $obj1 = $a;
my $obj2 = $b;
return ($obj1->accessControl() cmp $obj2->accessControl());
}
sub objGroup { my $obj1 = $a;
my $obj2 = $b;
return ($obj1->group() cmp $obj2->group());
}
sub printObject {
my $self = shift;
print "------------------------------------\n";
print "ObjCContainer\n";
print " - no ivars\n";
print "Inherits from:\n";
$self->SUPER::printObject();
}
1;