return;
}
- foreach my $access ( qw/public protected private/ ) {
- next if $access eq "private" && !$main::doPrivate;
+ foreach my $acc ( qw/public protected private/ ) {
+ next if $acc eq "private" && !$main::doPrivate;
+ $access = $acc;
my @types = ();
my @data = ();
}
# apply
- $access = ucfirst( $access );
+ $uc_access = ucfirst( $access );
- doGroup( "$access Types", $node, \@types, $startgrpsub,
+ doGroup( "$uc_access Types", $node, \@types, $startgrpsub,
$methodsub, $endgrpsub);
doGroup( "Modules", $node, \@modules, $startgrpsub,
$methodsub, $endgrpsub);
doGroup( "Interfaces", $node, \@interfaces, $startgrpsub,
$methodsub, $endgrpsub);
- doGroup( "$access Methods", $node, \@methods, $startgrpsub,
+ doGroup( "$uc_access Methods", $node, \@methods, $startgrpsub,
$methodsub, $endgrpsub);
- doGroup( "$access Slots", $node, \@slots, $startgrpsub,
+ doGroup( "$uc_access Slots", $node, \@slots, $startgrpsub,
$methodsub, $endgrpsub);
doGroup( "Signals", $node, \@signals, $startgrpsub,
$methodsub, $endgrpsub);
- doGroup( "$access Static Methods", $node, \@static,
+ doGroup( "$uc_access Static Methods", $node, \@static,
$startgrpsub, $methodsub, $endgrpsub);
- doGroup( "$access Members", $node, \@data, $startgrpsub,
+ doGroup( "$uc_access Members", $node, \@data, $startgrpsub,
$methodsub, $endgrpsub);
}
}
{
my ( $name, $node, $list, $startgrpsub, $methodsub, $endgrpsub ) = @_;
- return if $#$list < 0;
+ my ( $hasMembers ) = 0;
+ foreach my $kid ( @$list ) {
+ if ( !exists $kid->{DocNode}->{Reimplemented} ) {
+ $hasMembers = 1;
+ break;
+ }
+ }
+ return if !$hasMembers;
$startgrpsub->( $name ) if defined $startgrpsub;
if ( defined $methodsub ) {
foreach my $kid ( @$list ) {
- $methodsub->( $node, $kid );
+ if ( !exists $kid->{DocNode}->{Reimplemented} ) {
+ $methodsub->( $node, $kid );
+ }
}
}
+kdoc (2.0a35-1.0) unstable; urgency=low
+
+ * New upstream version
+
+ -- Ivan E. Moore II <rkrusty@debian.org> Mon, 21 Feb 2000 23:30:06 -0700
+
kdoc (2.0a15-1.0) unstable; urgency=low
* New upstream version
Source: kdoc
+Build-Depends: debhelper, automake, autoconf, perl5
Section: devel
Priority: optional
Maintainer: Bernd Gehrmann <bernd@physik.hu-berlin.de>
-Standards-Version: 3.0.1
+Standards-Version: 3.1.1
Package: kdoc
Architecture: all
KDOC is released under the terms of the GNU GPL.
-See /usr/doc/copyright/GPL for the full license.
+See /usr/share/common-licenses/GPL for the full license.
build:
dh_testdir
- ./configure --prefix=/usr
+ ./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info
$(MAKE)
touch build
install=@INSTALL@
MANPAGES = kdoc.1 makekdedoc.1 qt2kdoc.1
-MAINDOC = @srcdir@/kdoc.docbook @top_srcdir@/README
+MAINDOC = @srcdir@/index.docbook @top_srcdir@/README
-all: ${MANPAGES}
+all: ${MANPAGES} htmldoc
install:
${install} -d $(DESTDIR)${mandir}
clean:
rm -rf kdoc.1 makekdedoc.1 qt2kdoc.1
-
-html: kdoc.docbook
- mkdir html; (cd html && jade -d \
+# This needs to be improved, obviously
+htmldoc: @srcdir@/index.docbook
+ -rm -rf html; mkdir html; (cd html && jade -d \
/usr/lib/sgml/stylesheet/dsssl/docbook/nwalsh/html/docbook.dsl -t sgml \
../$< )
+
2.0. Directories for inclusion in the preprocessor header search path
can be specified via the B<-I> option.
+=item B<--docincluded>
+
+Parse files that are included by the preprocessor #include macro.
+This is off by default.
+
=item B<-cppcmd> <command>, B<-C> <command>
Specify the preprocessor command that will be used. The default is:
use kdocParseDoc;
use vars qw/ %rootNodes $declNodeType %options @formats_wanted
- @includeclasses $includeclasses
+ @includeclasses $includeclasses $skipInternal
$libdir $libname $outputdir @libs $striphpath $doPrivate $readstdin
$Version $quiet $debug $parseonly $currentfile $cSourceNode $exe
%formats %flagnames $rootNode @classStack $cNode
- $lastLine $docNode @includes $cpp $defcppcmd $cppcmd $inExtern
- %stats /;
+ $lastLine $docNode @includes $cpp $defcppcmd $cppcmd $docincluded
+ $inExtern %stats /;
## globals
GetOptions( \%options,
"format|f=s", \@formats_wanted,
"url|u=s",
- "skip-internal|i",
+ "skip-internal", \$skipInternal,
"skip-deprecated|e",
"document-all|a",
"compress|z",
"classes|c=s", \@includeclasses,
"cpp|P", \$cpp,
- "cppcmd|C", \$cppcmd,
+ "docincluded", \$docincluded,
+ "cppcmd|C=s", \$cppcmd,
"includedir|I=s", \@includes,
"quiet|q", \$quiet,
if ( $currentfile =~ /\.idl\s*$/ ) {
# IDL file
$lang = "IDL";
-
- open( INPUT, "$currentfile" )
- || croak "Can't read from $currentfile";
}
+
# assume cxx file
- elsif( $cpp ) {
+ if( $cpp ) {
# pass through preprocessor
my $cmd = $cppcmd;
foreach my $dir ( @includes ) {
$cmd .= " -I $dir ";
}
- open( INPUT, $cmd." -DQOBJECTDEFS_H $currentfile|" )
+
+ $cmd .= " -DQOBJECTDEFS_H $currentfile";
+
+ open( INPUT, "$cmd |" )
|| croak "Can't preprocess $currentfile";
}
else {
|| $p =~ /^\s*Q_OBJECT/ # QObject macro
);
+ next if ( $p =~ /^\s*Q_ENUMS/ # ignore Q_ENUMS
+ || $p =~ /^\s*Q_PROPERTY/ # and Q_PROPERTY
+ || $p =~ /^\s*K_SYCOCATYPE/ # and K_SYCOCA stuff
+ || $p =~ /^\s*K_SYCOCAFACTORY/ #
+ || $p =~ /^\s*K_DCOP/ # and DCOP stuff
+ );
+
# remove all preprocessor macros
if( $p =~ /^\s*#\s*(\w+)/ ) {
- if ($p =~ /^\s*#\s*[0-9]+\s*\".*$/
+ if (!$docincluded && $p =~ /^\s*#\s*[0-9]+\s*\".*$/
&& not($p =~ /\"$currentfile\"/)) {
# include file markers
while( <INPUT> ) {
my $her = join ( "::", heritage( $node ) );
$node->AddProp( "FullName", $her );
- push @$list, $node;
+ if ( !exists $node->{DocNode}->{Internal} ||
+ !$main::skipInternal ) {
+ push @$list, $node;
+ }
} );
@$list = sort { $a->{FullName} cmp $b->{FullName} } @$list;
else {
Iter::MembersByType ( $node,
sub { print CLASS "<h4>", $_[0], "</h4><ul>"; },
- sub { my ($node, $kid ) = @_;
- listMember( $node, $kid ); },
+ sub { my ($node, $kid ) = @_;
+ listMember( $node, $kid );
+ },
sub { print CLASS "</ul>"; }
);
}
$ref = kdocAstUtil::findOverride( $rootnode,
$node, $kid->{astNodeName} );
if ( defined $ref ) {
- print CLASS "<p>Reimplemented from ",
- refName( $ref ), "</p>\n";
+ print CLASS "<p>Reimplemented from ", refName( $ref );
+ if ( exists $kid->{DocNode}->{Reimplemented} ) {
+ print CLASS " for internal reasons; the API is not affected";
+ }
+ print CLASS ".</p>\n";
}
}
elsif ( $text =~ /^\s*\@deprecated\s*/ ) {
codeProp( "Deprecated", 1 );
}
+ elsif ( $text =~ /^\s*\@reimplemented\s*/ ) {
+ codeProp( "Reimplemented", 1 );
+ }
elsif ( $text =~ /^\s*\@group\s*/ ) {
# logical group tag in which this node belongs
# multiples allowed
elsif( $text =~ /^\s*\@(?:throws|exception|raises)\s*/ ) {
docListProp( "Throws" );
}
- elsif( $text =~ /^\s*\@image\s+(\w+)\s*/ ) {
+ elsif( $text =~ /^\s*\@image\s+([^\s]+)\s*/ ) {
textProp( "Image" );
$extraprops{ "Path" } = $1;
}