diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2003-01-19 21:02:02 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2003-01-19 21:02:02 (GMT) |
commit | afb84237b8c3024f2f35346ba3ee4532e1a8b507 (patch) | |
tree | a3abc0d2a3da492a873fd59a140684da6a15924e /src | |
parent | be32faf9e70cecf7583687c1ce875071abd99005 (diff) | |
download | Doxygen-afb84237b8c3024f2f35346ba3ee4532e1a8b507.zip Doxygen-afb84237b8c3024f2f35346ba3ee4532e1a8b507.tar.gz Doxygen-afb84237b8c3024f2f35346ba3ee4532e1a8b507.tar.bz2 |
Release-1.3-rc2-20030119
Diffstat (limited to 'src')
169 files changed, 839 insertions, 523 deletions
diff --git a/src/Makefile.in b/src/Makefile.in index 4dda18e..689efb7 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -2,7 +2,7 @@ # # # -# Copyright (C) 1997-2002 by Dimitri van Heesch. +# Copyright (C) 1997-2003 by Dimitri van Heesch. # # Permission to use, copy, modify, and distribute this software and its # documentation under the terms of the GNU General Public License is hereby diff --git a/src/bufstr.h b/src/bufstr.h index 21257c0..c79287e 100644 --- a/src/bufstr.h +++ b/src/bufstr.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/classdef.cpp b/src/classdef.cpp index 24c68ab..aacf994 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/classdef.h b/src/classdef.h index 86a3b3a..36abdb7 100644 --- a/src/classdef.h +++ b/src/classdef.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/classlist.cpp b/src/classlist.cpp index 9483329..06614b8 100644 --- a/src/classlist.cpp +++ b/src/classlist.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/classlist.h b/src/classlist.h index 877fa03..720f721 100644 --- a/src/classlist.h +++ b/src/classlist.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/cmdmapper.cpp b/src/cmdmapper.cpp index 57dceef..50f72af 100644 --- a/src/cmdmapper.cpp +++ b/src/cmdmapper.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/cmdmapper.h b/src/cmdmapper.h index dbb9624..c69acb9 100644 --- a/src/cmdmapper.h +++ b/src/cmdmapper.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -740,7 +740,7 @@ static bool getLink(const char *className, { addDocCrossReference(g_currentMemberDef,md); } - //printf("d->getOutputBase()=`%s' name=`%s' member name=`%s'\n",d->getOutputFileBase().data(),d->name().data(),md->name().data()); + //printf("d->getReference()=`%s' d->getOutputBase()=`%s' name=`%s' member name=`%s'\n",d->getReference().data(),d->getOutputFileBase().data(),d->name().data(),md->name().data()); writeMultiLineCodeLink(ol,d->getReference(),d->getOutputFileBase(), md->getBodyAnchor(),text ? text : memberName); diff --git a/src/commentcnv.h b/src/commentcnv.h index 41cd661..fc7cb79 100644 --- a/src/commentcnv.h +++ b/src/commentcnv.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/commentcnv.l b/src/commentcnv.l index 4e3e8e3..aa8b37b 100644 --- a/src/commentcnv.l +++ b/src/commentcnv.l @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/config.l b/src/config.l index 60bd014..8b63659 100644 --- a/src/config.l +++ b/src/config.l @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/constexp.h b/src/constexp.h index 818dbaf..905cb4a 100644 --- a/src/constexp.h +++ b/src/constexp.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/constexp.l b/src/constexp.l index 0135e3a..264c9d6 100644 --- a/src/constexp.l +++ b/src/constexp.l @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/constexp.y b/src/constexp.y index 9063c52..1fd1c8f 100644 --- a/src/constexp.y +++ b/src/constexp.y @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-1999 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/cppvalue.cpp b/src/cppvalue.cpp index 642ae2d..8573638 100644 --- a/src/cppvalue.cpp +++ b/src/cppvalue.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/cppvalue.h b/src/cppvalue.h index e216bda..8c7d336 100644 --- a/src/cppvalue.h +++ b/src/cppvalue.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/debug.cpp b/src/debug.cpp index e9f3135..321452a 100644 --- a/src/debug.cpp +++ b/src/debug.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/debug.h b/src/debug.h index 4cec994..be68039 100644 --- a/src/debug.h +++ b/src/debug.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/declinfo.h b/src/declinfo.h index f6fa2c5..facddc2 100644 --- a/src/declinfo.h +++ b/src/declinfo.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/declinfo.l b/src/declinfo.l index ddcde3c..ba0b877 100644 --- a/src/declinfo.l +++ b/src/declinfo.l @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/defargs.h b/src/defargs.h index d1452cb..4d6c072 100644 --- a/src/defargs.h +++ b/src/defargs.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/defargs.l b/src/defargs.l index 7e08225..8bdffa3 100644 --- a/src/defargs.l +++ b/src/defargs.l @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/defgen.cpp b/src/defgen.cpp index 62d86d4..2aed0bf 100644 --- a/src/defgen.cpp +++ b/src/defgen.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/defgen.h b/src/defgen.h index 2348342..0f5f82a 100644 --- a/src/defgen.h +++ b/src/defgen.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/define.cpp b/src/define.cpp index f3148b0..d512315 100644 --- a/src/define.cpp +++ b/src/define.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/define.h b/src/define.h index 5f2a413..549e79c 100644 --- a/src/define.h +++ b/src/define.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/definition.cpp b/src/definition.cpp index 3f1ff1b..e3b35f5 100644 --- a/src/definition.cpp +++ b/src/definition.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/definition.h b/src/definition.h index 0fc367c..c3c726a 100644 --- a/src/definition.h +++ b/src/definition.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/diagram.cpp b/src/diagram.cpp index 8924346..c1291de 100644 --- a/src/diagram.cpp +++ b/src/diagram.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/diagram.h b/src/diagram.h index 1dddd96..69426b0 100644 --- a/src/diagram.h +++ b/src/diagram.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/docparser.cpp b/src/docparser.cpp index bc5d872..2cfa394 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -2161,11 +2161,15 @@ int DocIndexEntry::parse() warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: expected whitespace after \\addindex command"); goto endindexentry; } + doctokenizerYYsetStateTitle(); m_entry=""; - while ((tok=doctokenizerYYlex()) && tok!=TK_WHITESPACE && tok!=TK_NEWPARA) + while ((tok=doctokenizerYYlex())) { switch (tok) { + case TK_WHITESPACE: + m_entry+=" "; + break; case TK_WORD: case TK_LNKWORD: m_entry+=g_token->name; @@ -2216,6 +2220,7 @@ int DocIndexEntry::parse() } } if (tok!=TK_WHITESPACE) retval=tok; + doctokenizerYYsetStatePara(); endindexentry: DBG(("DocIndexEntry::parse() end retval=%x\n",retval)); DocNode *n=g_nodeStack.pop(); diff --git a/src/docparser.h b/src/docparser.h index d7c83d2..23e9465 100644 --- a/src/docparser.h +++ b/src/docparser.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/doctokenizer.h b/src/doctokenizer.h index 658e8a7..c258ee1 100644 --- a/src/doctokenizer.h +++ b/src/doctokenizer.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/doctokenizer.l b/src/doctokenizer.l index 61a98b5..5b8ae93 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -293,8 +293,8 @@ WORD2 "."|","|"("|")"|"["|"]"|":"|";"|"\?" WORD1NQ [^ \t\n\r\\@<>()\[\]:;\?{}&$#,."]+ WORD2NQ "."|","|"("|")"|"["|"]"|":"|";"|"\?" HTMLTAG "<"(("/")?){ID}({WS}+{ATTRIB})*">" -HTMLKEYL "strong"|"center"|"table"|"caption"|"small"|"code"|"dfn"|"var"|"img"|"pre"|"sub"|"tr"|"td"|"th"|"ol"|"ul"|"li"|"tt"|"kbd"|"em"|"hr"|"dl"|"dt"|"dd"|"br"|"i"|"a"|"b"|"p" -HTMLKEYU "STRONG"|"CENTER"|"TABLE"|"CAPTION"|"SMALL"|"CODE"|"DFN"|"VAR"|"IMG"|"PRE"|"SUB"|"TR"|"TD"|"TH"|"OL"|"UL"|"LI"|"TT"|"KBD"|"EM"|"HR"|"DL"|"DT"|"DD"|"BR"|"I"|"A"|"B"|"P" +HTMLKEYL "strong"|"center"|"table"|"caption"|"small"|"code"|"dfn"|"var"|"img"|"pre"|"sub"|"sup"|"tr"|"td"|"th"|"ol"|"ul"|"li"|"tt"|"kbd"|"em"|"hr"|"dl"|"dt"|"dd"|"br"|"i"|"a"|"b"|"p" +HTMLKEYU "STRONG"|"CENTER"|"TABLE"|"CAPTION"|"SMALL"|"CODE"|"DFN"|"VAR"|"IMG"|"PRE"|"SUB"|"SUP"|"TR"|"TD"|"TH"|"OL"|"UL"|"LI"|"TT"|"KBD"|"EM"|"HR"|"DL"|"DT"|"DD"|"BR"|"I"|"A"|"B"|"P" HTMLKEYW {HTMLKEYL}|{HTMLKEYU} LABELID [a-z_A-Z][a-z_A-Z0-9\-]* @@ -402,8 +402,12 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]* g_token->attribs.clear(); int startNamePos=1; if (g_token->name.at(1)=='/') startNamePos++; - int attSep = g_token->name.find(' '); - if (attSep!=-1) // tag has one or more options + int attSep=0; + while (attSep<yyleng && !isspace(yytext[attSep])) + { + attSep++; + } + if (attSep!=yyleng) // tag has one or more options { parseHtmlAttribs(g_token->name.mid(attSep+1,g_token->name.length()-attSep-2)); g_token->name=g_token->name.mid(startNamePos,attSep-1).lower(); diff --git a/src/docvisitor.h b/src/docvisitor.h index eb94e08..949781e 100644 --- a/src/docvisitor.h +++ b/src/docvisitor.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/dot.cpp b/src/dot.cpp index 6fedd24..928692b 100644 --- a/src/dot.cpp +++ b/src/dot.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 1eab93d..ba2943c 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -6689,7 +6689,7 @@ static void copyStyleSheet() cssf.readBlock(buffer,cssf.size()); df.writeBlock(buffer,cssf.size()); df.flush(); - delete buffer; + delete[] buffer; } else { @@ -7000,7 +7000,7 @@ static void readFormulaRepository() static void usage(const char *name) { - msg("Doxygen version %s\nCopyright Dimitri van Heesch 1997-2002\n\n",versionString); + msg("Doxygen version %s\nCopyright Dimitri van Heesch 1997-2003\n\n",versionString); msg("You can use doxygen in a number of ways:\n\n"); msg("1) Use doxygen to generate a template configuration file:\n"); msg(" %s [-s] -g [configName]\n\n",name); diff --git a/src/doxygen.h b/src/doxygen.h index d33ed94..ce69f94 100644 --- a/src/doxygen.h +++ b/src/doxygen.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/doxygen.pro.in b/src/doxygen.pro.in index dbb006f..237d22d 100644 --- a/src/doxygen.pro.in +++ b/src/doxygen.pro.in @@ -1,7 +1,7 @@ # # # -# Copyright (C) 1997-2002 by Dimitri van Heesch. +# Copyright (C) 1997-2003 by Dimitri van Heesch. # # Permission to use, copy, modify, and distribute this software and its # documentation under the terms of the GNU General Public License is hereby @@ -26,8 +26,10 @@ win32-msvc:TMAKE_LFLAGS += /LIBPATH:..\lib win32-borland:LIBS += qtools.lib png.lib doxygen.lib doxycfg.lib shell32.lib win32-borland:TMAKE_LFLAGS += -L..\lib -L$(BCB)\lib\psdk win32:TMAKE_CXXFLAGS += -DQT_NODLL -win32-g++:TMAKE_CXXFLAGS += -D_WIN32 -D__CYGWIN__ -DALL_STATIC +win32-g++:LIBS = -L../lib -ldoxygen -ldoxycfg -lqtools -lpng.dll +win32-g++:TMAKE_CXXFLAGS += -fno-exceptions -fno-rtti INCLUDEPATH += ../qtools ../libpng . +win32-g++:INCLUDEPATH -= ../libpng DESTDIR = ../bin TARGET = doxygen unix:TARGETDEPS = ../lib/libdoxygen.a ../lib/libdoxycfg.a diff --git a/src/doxysearch.cpp b/src/doxysearch.cpp index a521625..ebdf223 100644 --- a/src/doxysearch.cpp +++ b/src/doxysearch.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/doxysearch.pro.in b/src/doxysearch.pro.in index 17c90e7..07865cd 100644 --- a/src/doxysearch.pro.in +++ b/src/doxysearch.pro.in @@ -1,7 +1,7 @@ # # # -# Copyright (C) 1997-1999 by Dimitri van Heesch. +# Copyright (C) 1997-2003 by Dimitri van Heesch. # # Permission to use, copy, modify, and distribute this software and its # documentation under the terms of the GNU General Public License is hereby @@ -17,3 +17,4 @@ CONFIG = console warn_on $extraopts SOURCES = doxysearch.cpp TARGET = ../bin/doxysearch OBJECTS_DIR = ../objects +win32-g++:TMAKE_CXXFLAGS += -fno-exceptions -fno-rtti diff --git a/src/doxytag.l b/src/doxytag.l index 18d940e..f80a12b 100644 --- a/src/doxytag.l +++ b/src/doxytag.l @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -505,7 +505,7 @@ void parseFileOrDir(const char *fileName) void usage(const char *name) { - fprintf(stderr,"Doxytag version %s\nCopyright Dimitri van Heesch 1997-2002\n\n", + fprintf(stderr,"Doxytag version %s\nCopyright Dimitri van Heesch 1997-2003\n\n", versionString); fprintf(stderr," Generates a tag file and/or a search index for a set of HTML files\n\n"); fprintf(stderr,"Usage: %s [-t tag_file] [-s index_file] [ html_file [html_file...] ]\n",name); diff --git a/src/doxytag.pro.in b/src/doxytag.pro.in index 3016535..6fc00c7 100644 --- a/src/doxytag.pro.in +++ b/src/doxytag.pro.in @@ -1,7 +1,7 @@ # # # -# Copyright (C) 1997-1999 by Dimitri van Heesch. +# Copyright (C) 1997-2003 by Dimitri van Heesch. # # Permission to use, copy, modify, and distribute this software and its # documentation under the terms of the GNU General Public License is hereby diff --git a/src/doxytag.t b/src/doxytag.t index b56e0a1..0094b6d 100644 --- a/src/doxytag.t +++ b/src/doxytag.t @@ -1,7 +1,7 @@ # # # -# Copyright (C) 1997-1999 by Dimitri van Heesch. +# Copyright (C) 1997-2003 by Dimitri van Heesch. # # Permission to use, copy, modify, and distribute this software and its # documentation under the terms of the GNU General Public License is hereby diff --git a/src/entry.cpp b/src/entry.cpp index 8db6cd1..041c7ee 100644 --- a/src/entry.cpp +++ b/src/entry.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/entry.h b/src/entry.h index ba4afbf..752337e 100644 --- a/src/entry.h +++ b/src/entry.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/example.h b/src/example.h index 81a1b21..87f44f7 100644 --- a/src/example.h +++ b/src/example.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/filedef.cpp b/src/filedef.cpp index e48b398..9d9edcc 100644 --- a/src/filedef.cpp +++ b/src/filedef.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -36,14 +36,17 @@ \a the file name, and \a ref is an HTML anchor name if the file was read from a tag file or 0 otherwise */ -FileDef::FileDef(const char *p,const char *nm,const char *lref) +FileDef::FileDef(const char *p,const char *nm, + const char *lref,const char *dn) : Definition((QCString)p+nm,1,nm) { path=p; filepath=path+nm; filename=nm; - diskname=nm; + diskname=dn; + if (diskname.isEmpty()) diskname=nm; setReference(lref); + //printf("new FileDef(path=%s,name=%s,ref=%s)\n",p,nm,lref); classSDict = new ClassSDict(17); includeList = new QList<IncludeInfo>; includeList->setAutoDelete(TRUE); diff --git a/src/filedef.h b/src/filedef.h index d49cd8f..1850a7c 100644 --- a/src/filedef.h +++ b/src/filedef.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -65,7 +65,7 @@ class FileDef : public Definition public: //enum FileType { Source, Header, Unknown }; - FileDef(const char *p,const char *n,const char *ref=0); + FileDef(const char *p,const char *n,const char *ref=0,const char *dn=0); ~FileDef(); DefType definitionType() { return TypeFile; } diff --git a/src/filename.cpp b/src/filename.cpp index cbcceed..131f362 100644 --- a/src/filename.cpp +++ b/src/filename.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/filename.h b/src/filename.h index 0a0a7a5..c537deb 100644 --- a/src/filename.h +++ b/src/filename.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/formula.cpp b/src/formula.cpp index 3965bdf..913a4d5 100644 --- a/src/formula.cpp +++ b/src/formula.cpp @@ -2,7 +2,7 @@ i * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/formula.h b/src/formula.h index f703ee9..e876ac9 100644 --- a/src/formula.h +++ b/src/formula.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/groupdef.cpp b/src/groupdef.cpp index 4ddc35f..5a1346b 100644 --- a/src/groupdef.cpp +++ b/src/groupdef.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/groupdef.h b/src/groupdef.h index 9246c9f..79d1c21 100644 --- a/src/groupdef.h +++ b/src/groupdef.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/htmlattrib.h b/src/htmlattrib.h index 4715002..ffe9615 100644 --- a/src/htmlattrib.h +++ b/src/htmlattrib.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp index 12f2654..3f52ee2 100644 --- a/src/htmldocvisitor.cpp +++ b/src/htmldocvisitor.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -24,6 +24,7 @@ #include "code.h" #include "dot.h" #include "message.h" +#include "config.h" static QString htmlAttribsToString(const HtmlAttribList &attribs) { @@ -230,21 +231,22 @@ void HtmlDocVisitor::visit(DocIncOperator *op) // op->type(),op->isFirst(),op->isLast(),op->text().data()); if (op->isFirst()) { - m_t << "<div class=\"fragment\"><pre>"; - m_hide = TRUE; + if (!m_hide) m_t << "<div class=\"fragment\"><pre>"; + pushEnabled(); + m_hide=TRUE; } if (op->type()!=DocIncOperator::Skip) { - parseCode(m_ci,op->context(),op->text().latin1(),op->isExample(),op->exampleFile()); + if (!m_hide) parseCode(m_ci,op->context(),op->text().latin1(),op->isExample(),op->exampleFile()); } if (op->isLast()) { - m_hide = FALSE; - m_t << "</pre></div>"; + popEnabled(); + if (!m_hide) m_t << "</pre></div>"; } else { - m_t << endl; + if (!m_hide) m_t << endl; } } @@ -277,6 +279,7 @@ void HtmlDocVisitor::visit(DocIndexEntry *) void HtmlDocVisitor::visitPre(DocAutoList *l) { + if (m_hide) return; if (l->isEnumList()) { m_t << "<ol>"; @@ -290,6 +293,7 @@ void HtmlDocVisitor::visitPre(DocAutoList *l) void HtmlDocVisitor::visitPost(DocAutoList *l) { + if (m_hide) return; if (l->isEnumList()) { m_t << "</ol>"; @@ -303,11 +307,13 @@ void HtmlDocVisitor::visitPost(DocAutoList *l) void HtmlDocVisitor::visitPre(DocAutoListItem *) { + if (m_hide) return; m_t << "<li>"; } void HtmlDocVisitor::visitPost(DocAutoListItem *) { + if (m_hide) return; m_t << "</li>"; } @@ -317,13 +323,14 @@ void HtmlDocVisitor::visitPre(DocPara *) void HtmlDocVisitor::visitPost(DocPara *p) { + if (m_hide) return; if (!p->isLast() && // omit <p> for last paragraph !(p->parent() && // and for parameter sections p->parent()->kind()==DocNode::Kind_ParamSect ) ) { - m_t << "<p>"; + m_t << "<p>\n"; } } @@ -339,6 +346,7 @@ void HtmlDocVisitor::visitPost(DocRoot *) void HtmlDocVisitor::visitPre(DocSimpleSect *s) { + if (m_hide) return; m_t << "<dl compact><dt><b>"; switch(s->type()) { @@ -384,6 +392,7 @@ void HtmlDocVisitor::visitPre(DocSimpleSect *s) void HtmlDocVisitor::visitPost(DocSimpleSect *) { + if (m_hide) return; m_t << "</dd></dl>\n"; } @@ -393,34 +402,40 @@ void HtmlDocVisitor::visitPre(DocTitle *) void HtmlDocVisitor::visitPost(DocTitle *) { + if (m_hide) return; m_t << "</b></dt><dd>"; } void HtmlDocVisitor::visitPre(DocSimpleList *sl) { + if (m_hide) return; m_t << "<ul>"; if (!sl->isPreformatted()) m_t << "\n"; } void HtmlDocVisitor::visitPost(DocSimpleList *sl) { + if (m_hide) return; m_t << "</ul>"; if (!sl->isPreformatted()) m_t << "\n"; } void HtmlDocVisitor::visitPre(DocSimpleListItem *) { + if (m_hide) return; m_t << "<li>"; } void HtmlDocVisitor::visitPost(DocSimpleListItem *li) { + if (m_hide) return; m_t << "</li>"; if (!li->isPreformatted()) m_t << "\n"; } void HtmlDocVisitor::visitPre(DocSection *s) { + if (m_hide) return; m_t << "<h" << s->level()+1 << ">"; m_t << "<a name=\"" << s->anchor(); m_t << "\"></a>" << endl; @@ -434,6 +449,7 @@ void HtmlDocVisitor::visitPost(DocSection *) void HtmlDocVisitor::visitPre(DocHtmlList *s) { + if (m_hide) return; if (s->type()==DocHtmlList::Ordered) m_t << "<ol" << htmlAttribsToString(s->attribs()) << ">\n"; else @@ -442,6 +458,7 @@ void HtmlDocVisitor::visitPre(DocHtmlList *s) void HtmlDocVisitor::visitPost(DocHtmlList *s) { + if (m_hide) return; if (s->type()==DocHtmlList::Ordered) m_t << "</ol>"; else @@ -451,12 +468,14 @@ void HtmlDocVisitor::visitPost(DocHtmlList *s) void HtmlDocVisitor::visitPre(DocHtmlListItem *i) { + if (m_hide) return; m_t << "<li" << htmlAttribsToString(i->attribs()) << ">"; if (!i->isPreformatted()) m_t << "\n"; } void HtmlDocVisitor::visitPost(DocHtmlListItem *) { + if (m_hide) return; m_t << "</li>\n"; } @@ -474,36 +493,43 @@ void HtmlDocVisitor::visitPost(DocHtmlListItem *) void HtmlDocVisitor::visitPre(DocHtmlDescList *dl) { + if (m_hide) return; m_t << "<dl" << htmlAttribsToString(dl->attribs()) << ">\n"; } void HtmlDocVisitor::visitPost(DocHtmlDescList *) { + if (m_hide) return; m_t << "</dl>\n"; } void HtmlDocVisitor::visitPre(DocHtmlDescTitle *dt) { + if (m_hide) return; m_t << "<dt" << htmlAttribsToString(dt->attribs()) << ">"; } void HtmlDocVisitor::visitPost(DocHtmlDescTitle *) { + if (m_hide) return; m_t << "</dt>\n"; } void HtmlDocVisitor::visitPre(DocHtmlDescData *dd) { + if (m_hide) return; m_t << "<dd" << htmlAttribsToString(dd->attribs()) << ">"; } void HtmlDocVisitor::visitPost(DocHtmlDescData *) { + if (m_hide) return; m_t << "</dd>\n"; } void HtmlDocVisitor::visitPre(DocHtmlTable *t) { + if (m_hide) return; bool hasBorder = FALSE; bool hasCellSpacing = FALSE; bool hasCellPadding = FALSE; @@ -525,21 +551,25 @@ void HtmlDocVisitor::visitPre(DocHtmlTable *t) void HtmlDocVisitor::visitPost(DocHtmlTable *) { + if (m_hide) return; m_t << "</table>\n"; } void HtmlDocVisitor::visitPre(DocHtmlRow *tr) { + if (m_hide) return; m_t << "<tr" << htmlAttribsToString(tr->attribs()) << ">\n"; } void HtmlDocVisitor::visitPost(DocHtmlRow *) { + if (m_hide) return; m_t << "</tr>\n"; } void HtmlDocVisitor::visitPre(DocHtmlCell *c) { + if (m_hide) return; if (c->isHeading()) { m_t << "<th" << htmlAttribsToString(c->attribs()) << ">"; @@ -552,11 +582,13 @@ void HtmlDocVisitor::visitPre(DocHtmlCell *c) void HtmlDocVisitor::visitPost(DocHtmlCell *c) { + if (m_hide) return; if (c->isHeading()) m_t << "</th>"; else m_t << "</td>"; } void HtmlDocVisitor::visitPre(DocHtmlCaption *c) { + if (m_hide) return; bool hasAlign = FALSE; HtmlAttribListIterator li(c->attribs()); HtmlAttrib *att; @@ -571,38 +603,45 @@ void HtmlDocVisitor::visitPre(DocHtmlCaption *c) void HtmlDocVisitor::visitPost(DocHtmlCaption *) { + if (m_hide) return; m_t << "</caption>\n"; } void HtmlDocVisitor::visitPre(DocInternal *) { + if (m_hide) return; m_t << "<p><b>" << theTranslator->trForInternalUseOnly() << "</b></p>" << endl; m_t << "<p>" << endl; } void HtmlDocVisitor::visitPost(DocInternal *) { + if (m_hide) return; m_t << "</p>" << endl; } void HtmlDocVisitor::visitPre(DocHRef *href) { + if (m_hide) return; m_t << "<a href=\"" << href->url() << "\">"; } void HtmlDocVisitor::visitPost(DocHRef *) { + if (m_hide) return; m_t << "</a>"; } void HtmlDocVisitor::visitPre(DocHtmlHeader *header) { + if (m_hide) return; m_t << "<h" << header->level() << htmlAttribsToString(header->attribs()) << ">"; } void HtmlDocVisitor::visitPost(DocHtmlHeader *header) { + if (m_hide) return; m_t << "</h" << header->level() << ">\n"; } @@ -610,6 +649,7 @@ void HtmlDocVisitor::visitPre(DocImage *img) { if (img->type()==DocImage::Html) { + if (m_hide) return; QString baseName=img->name(); int i; if ((i=baseName.findRev('/'))!=-1 || (i=baseName.findRev('\\'))!=-1) @@ -626,6 +666,7 @@ void HtmlDocVisitor::visitPre(DocImage *img) } else // other format -> skip { + pushEnabled(); m_hide=TRUE; } } @@ -634,6 +675,7 @@ void HtmlDocVisitor::visitPost(DocImage *img) { if (img->type()==DocImage::Html) { + if (m_hide) return; if (img->hasCaption()) { m_t << "</strong></p>"; @@ -642,12 +684,13 @@ void HtmlDocVisitor::visitPost(DocImage *img) } else // other format { - m_hide=FALSE; + popEnabled(); } } void HtmlDocVisitor::visitPre(DocDotFile *df) { + if (m_hide) return; QString baseName=df->file(); int i; if ((i=baseName.findRev('/'))!=-1) @@ -672,6 +715,7 @@ void HtmlDocVisitor::visitPre(DocDotFile *df) void HtmlDocVisitor::visitPost(DocDotFile *df) { + if (m_hide) return; if (df->hasCaption()) { m_t << "</strong></p>" << endl; @@ -681,28 +725,33 @@ void HtmlDocVisitor::visitPost(DocDotFile *df) void HtmlDocVisitor::visitPre(DocLink *lnk) { + if (m_hide) return; startLink(lnk->ref(),lnk->file(),lnk->anchor()); } void HtmlDocVisitor::visitPost(DocLink *) { + if (m_hide) return; endLink(); } void HtmlDocVisitor::visitPre(DocRef *ref) { + if (m_hide) return; startLink(ref->ref(),ref->file(),ref->anchor()); if (!ref->hasLinkText()) filter(ref->targetTitle()); } void HtmlDocVisitor::visitPost(DocRef *) { + if (m_hide) return; endLink(); m_t << " "; } void HtmlDocVisitor::visitPre(DocSecRefItem *ref) { + if (m_hide) return; QString refName=ref->file(); if (refName.right(Doxygen::htmlFileExtension.length())!= QString(Doxygen::htmlFileExtension)) @@ -715,31 +764,46 @@ void HtmlDocVisitor::visitPre(DocSecRefItem *ref) void HtmlDocVisitor::visitPost(DocSecRefItem *) { + if (m_hide) return; m_t << "</a> "; } void HtmlDocVisitor::visitPre(DocSecRefList *) { + if (m_hide) return; m_t << "<multicol cols=3>" << endl; m_t << "<ul>" << endl; } void HtmlDocVisitor::visitPost(DocSecRefList *) { + if (m_hide) return; m_t << "</ul>" << endl; m_t << "</multicol>" << endl; } -void HtmlDocVisitor::visitPre(DocLanguage *) +void HtmlDocVisitor::visitPre(DocLanguage *l) { + QString langId = Config_getEnum("OUTPUT_LANGUAGE"); + if (l->id().lower()!=langId.lower()) + { + pushEnabled(); + m_hide = TRUE; + } } -void HtmlDocVisitor::visitPost(DocLanguage *) +void HtmlDocVisitor::visitPost(DocLanguage *l) { + QString langId = Config_getEnum("OUTPUT_LANGUAGE"); + if (l->id().lower()!=langId.lower()) + { + popEnabled(); + } } void HtmlDocVisitor::visitPre(DocParamSect *s) { + if (m_hide) return; m_t << "<dl compact><dt><b>"; switch(s->type()) { @@ -759,12 +823,14 @@ void HtmlDocVisitor::visitPre(DocParamSect *s) void HtmlDocVisitor::visitPost(DocParamSect *) { + if (m_hide) return; m_t << " </table>" << endl; m_t << "</dl>" << endl; } void HtmlDocVisitor::visitPre(DocParamList *pl) { + if (m_hide) return; m_t << " <tr><td valign=top><em>"; QStrListIterator li(pl->parameters()); const char *s; @@ -779,11 +845,13 @@ void HtmlDocVisitor::visitPre(DocParamList *pl) void HtmlDocVisitor::visitPost(DocParamList *) { + if (m_hide) return; m_t << "</td></tr>" << endl; } void HtmlDocVisitor::visitPre(DocXRefItem *x) { + if (m_hide) return; m_t << "<dl compact><dt><b><a class=\"el\" href=\"" << x->file() << Doxygen::htmlFileExtension << "#" << x->anchor() << "\">"; filter(x->title()); @@ -792,16 +860,19 @@ void HtmlDocVisitor::visitPre(DocXRefItem *x) void HtmlDocVisitor::visitPost(DocXRefItem *) { + if (m_hide) return; m_t << "</dd></dl>" << endl; } void HtmlDocVisitor::visitPre(DocInternalRef *ref) { + if (m_hide) return; startLink(0,ref->file(),ref->anchor()); } void HtmlDocVisitor::visitPost(DocInternalRef *) { + if (m_hide) return; endLink(); m_t << " "; } @@ -869,3 +940,16 @@ void HtmlDocVisitor::endLink() m_t << "</a>"; } +void HtmlDocVisitor::pushEnabled() +{ + m_enabled.push(new bool(m_hide)); +} + +void HtmlDocVisitor::popEnabled() +{ + bool *v=m_enabled.pop(); + ASSERT(v!=0); + m_hide = *v; + delete v; +} + diff --git a/src/htmldocvisitor.h b/src/htmldocvisitor.h index c2202a7..aad92e3 100644 --- a/src/htmldocvisitor.h +++ b/src/htmldocvisitor.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -20,6 +20,7 @@ #define _HTMLDOCVISITOR_H #include "docvisitor.h" +#include <qstack.h> class QTextStream; class BaseCodeDocInterface; @@ -136,6 +137,9 @@ class HtmlDocVisitor : public DocVisitor const QString &anchor); void endLink(); + void pushEnabled(); + void popEnabled(); + //-------------------------------------- // state variables //-------------------------------------- @@ -144,6 +148,7 @@ class HtmlDocVisitor : public DocVisitor BaseCodeDocInterface &m_ci; bool m_insidePre; bool m_hide; + QStack<bool> m_enabled; }; #endif diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp index 020f57e..516b05e 100644 --- a/src/htmlgen.cpp +++ b/src/htmlgen.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -191,7 +191,7 @@ void HtmlGenerator::writeFooterFile(QFile &file) << "</a> $doxygenversion"; // << " " << theTranslator->trWrittenBy() // << " <a href=\"mailto:dimitri@stack.nl\">Dimitri van Heesch</a>,\n" - // << " © 1997-2002" + // << " © 1997-2003" t << "</small></address>\n" << "</body>\n" << "</html>\n"; @@ -288,7 +288,7 @@ void HtmlGenerator::writeFooter(int part,bool external) default: if (g_footer.isEmpty()) { - //t << " <a href=\"mailto:dimitri@stack.nl\">Dimitri van Heesch</a>,\n © 1997-2002"; + //t << " <a href=\"mailto:dimitri@stack.nl\">Dimitri van Heesch</a>,\n © 1997-2003"; t << "</small></address>\n</body>\n</html>\n"; } break; diff --git a/src/htmlgen.h b/src/htmlgen.h index 9e29d89..32c71ac 100644 --- a/src/htmlgen.h +++ b/src/htmlgen.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/htmlhelp.cpp b/src/htmlhelp.cpp index 027c0d8..2036fab 100644 --- a/src/htmlhelp.cpp +++ b/src/htmlhelp.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/htmlhelp.h b/src/htmlhelp.h index 3e85494..e7f5d97 100644 --- a/src/htmlhelp.h +++ b/src/htmlhelp.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/image.cpp b/src/image.cpp index 5806230..b6160f4 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/image.h b/src/image.h index f5efe91..b0c98e2 100644 --- a/src/image.h +++ b/src/image.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/index.cpp b/src/index.cpp index df48b79..966accc 100644 --- a/src/index.cpp +++ b/src/index.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/index.h b/src/index.h index 6acf4a7..f6d546e 100644 --- a/src/index.h +++ b/src/index.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/instdox.cpp b/src/instdox.cpp index 3ae5760..55402d0 100644 --- a/src/instdox.cpp +++ b/src/instdox.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/instdox.h b/src/instdox.h index a6b2a73..6ff8ff5 100644 --- a/src/instdox.h +++ b/src/instdox.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/language.cpp b/src/language.cpp index 85f5858..5a2b9d2 100644 --- a/src/language.cpp +++ b/src/language.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/language.h b/src/language.h index 9c5ffc9..5d1f3ec 100644 --- a/src/language.h +++ b/src/language.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/latexdocvisitor.cpp b/src/latexdocvisitor.cpp index 645c357..00cf338 100644 --- a/src/latexdocvisitor.cpp +++ b/src/latexdocvisitor.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -285,17 +285,18 @@ void LatexDocVisitor::visit(DocIncOperator *op) // op->type(),op->isFirst(),op->isLast(),op->text().data()); if (op->isFirst()) { - m_t << "\n\n\\footnotesize\\begin{verbatim}"; + if (!m_hide) m_t << "\n\n\\footnotesize\\begin{verbatim}"; + pushEnabled(); m_hide = TRUE; } if (op->type()!=DocIncOperator::Skip) { - parseCode(m_ci,op->context(),op->text().latin1(),op->isExample(),op->exampleFile()); + if (!m_hide) parseCode(m_ci,op->context(),op->text().latin1(),op->isExample(),op->exampleFile()); } if (op->isLast()) { - m_hide = FALSE; - m_t << "\\end{verbatim}\\normalsize" << endl; + popEnabled(); + if (m_hide) m_t << "\\end{verbatim}\\normalsize" << endl; } else { @@ -311,6 +312,7 @@ void LatexDocVisitor::visit(DocFormula *f) void LatexDocVisitor::visit(DocIndexEntry *i) { + if (m_hide) return; m_t << "\\index{" << escapeLabelName(i->entry()) << "@{"; escapeMakeIndexChars(i->entry()); m_t << "}}"; @@ -322,6 +324,7 @@ void LatexDocVisitor::visit(DocIndexEntry *i) void LatexDocVisitor::visitPre(DocAutoList *l) { + if (m_hide) return; if (l->isEnumList()) { m_t << "\\begin{enumerate}" << endl; @@ -334,6 +337,7 @@ void LatexDocVisitor::visitPre(DocAutoList *l) void LatexDocVisitor::visitPost(DocAutoList *l) { + if (m_hide) return; if (l->isEnumList()) { m_t << "\\end{enumerate}" << endl; @@ -346,6 +350,7 @@ void LatexDocVisitor::visitPost(DocAutoList *l) void LatexDocVisitor::visitPre(DocAutoListItem *) { + if (m_hide) return; m_t << "\\item "; } @@ -359,6 +364,7 @@ void LatexDocVisitor::visitPre(DocPara *) void LatexDocVisitor::visitPost(DocPara *p) { + if (m_hide) return; if (!p->isLast() && // omit <p> for last paragraph !(p->parent() && // and for parameter sections p->parent()->kind()==DocNode::Kind_ParamSect @@ -376,6 +382,7 @@ void LatexDocVisitor::visitPost(DocRoot *) void LatexDocVisitor::visitPre(DocSimpleSect *s) { + if (m_hide) return; m_t << "\\begin{Desc}\n\\item["; switch(s->type()) { @@ -425,6 +432,7 @@ void LatexDocVisitor::visitPre(DocSimpleSect *s) void LatexDocVisitor::visitPost(DocSimpleSect *) { + if (m_hide) return; m_t << "\\end{Desc}" << endl; } @@ -434,22 +442,26 @@ void LatexDocVisitor::visitPre(DocTitle *) void LatexDocVisitor::visitPost(DocTitle *) { + if (m_hide) return; m_insideItem=FALSE; m_t << "]"; } void LatexDocVisitor::visitPre(DocSimpleList *) { + if (m_hide) return; m_t << "\\begin{itemize}" << endl; } void LatexDocVisitor::visitPost(DocSimpleList *) { + if (m_hide) return; m_t << "\\end{itemize}" << endl; } void LatexDocVisitor::visitPre(DocSimpleListItem *) { + if (m_hide) return; m_t << "\\item "; } @@ -459,6 +471,7 @@ void LatexDocVisitor::visitPost(DocSimpleListItem *) void LatexDocVisitor::visitPre(DocSection *s) { + if (m_hide) return; if (Config_getBool("PDF_HYPERLINKS")) { m_t << "\\hypertarget{" << s->file() << "_" << s->anchor() << "}{}"; @@ -493,6 +506,7 @@ void LatexDocVisitor::visitPost(DocSection *) void LatexDocVisitor::visitPre(DocHtmlList *s) { + if (m_hide) return; if (s->type()==DocHtmlList::Ordered) m_t << "\\begin{enumerate}" << endl; else @@ -501,6 +515,7 @@ void LatexDocVisitor::visitPre(DocHtmlList *s) void LatexDocVisitor::visitPost(DocHtmlList *s) { + if (m_hide) return; if (s->type()==DocHtmlList::Ordered) m_t << "\\end{enumerate}" << endl; else @@ -509,6 +524,7 @@ void LatexDocVisitor::visitPost(DocHtmlList *s) void LatexDocVisitor::visitPre(DocHtmlListItem *) { + if (m_hide) return; m_t << "\\item "; } @@ -530,22 +546,26 @@ void LatexDocVisitor::visitPost(DocHtmlListItem *) void LatexDocVisitor::visitPre(DocHtmlDescList *) { + if (m_hide) return; m_t << "\\begin{description}" << endl; } void LatexDocVisitor::visitPost(DocHtmlDescList *) { + if (m_hide) return; m_t << "\\end{description}" << endl; } void LatexDocVisitor::visitPre(DocHtmlDescTitle *) { + if (m_hide) return; m_t << "\\item["; m_insideItem=TRUE; } void LatexDocVisitor::visitPost(DocHtmlDescTitle *) { + if (m_hide) return; m_insideItem=FALSE; m_t << "]"; } @@ -560,6 +580,7 @@ void LatexDocVisitor::visitPost(DocHtmlDescData *) void LatexDocVisitor::visitPre(DocHtmlTable *t) { + if (m_hide) return; if (t->hasCaption()) { m_t << "\\begin{table}[h]"; @@ -569,6 +590,7 @@ void LatexDocVisitor::visitPre(DocHtmlTable *t) void LatexDocVisitor::visitPost(DocHtmlTable *t) { + if (m_hide) return; if (t->hasCaption()) { m_t << "\\end{table}\n"; @@ -581,11 +603,13 @@ void LatexDocVisitor::visitPost(DocHtmlTable *t) void LatexDocVisitor::visitPre(DocHtmlCaption *) { + if (m_hide) return; m_t << "\\\\\\hline\n\\end{TabularC}\n\\centering\n\\caption{"; } void LatexDocVisitor::visitPost(DocHtmlCaption *) { + if (m_hide) return; m_t << "}\n"; } @@ -595,6 +619,7 @@ void LatexDocVisitor::visitPre(DocHtmlRow *) void LatexDocVisitor::visitPost(DocHtmlRow *) { + if (m_hide) return; m_t << "\\\\\\hline\n"; } @@ -604,22 +629,26 @@ void LatexDocVisitor::visitPre(DocHtmlCell *) void LatexDocVisitor::visitPost(DocHtmlCell *c) { + if (m_hide) return; if (!c->isLast()) m_t << "&"; } void LatexDocVisitor::visitPre(DocInternal *) { + if (m_hide) return; m_t << "\\begin{Desc}" << endl << "\\item[" << theTranslator->trForInternalUseOnly() << "]" << endl; } void LatexDocVisitor::visitPost(DocInternal *) { + if (m_hide) return; m_t << "\\end{Desc}" << endl; } void LatexDocVisitor::visitPre(DocHRef *href) { + if (m_hide) return; if (Config_getBool("PDF_HYPERLINKS")) { m_t << "\\href{"; @@ -631,11 +660,13 @@ void LatexDocVisitor::visitPre(DocHRef *href) void LatexDocVisitor::visitPost(DocHRef *) { + if (m_hide) return; m_t << "}"; } void LatexDocVisitor::visitPre(DocHtmlHeader *header) { + if (m_hide) return; if (Config_getBool("COMPACT_LATEX")) { switch(header->level()) @@ -661,6 +692,7 @@ void LatexDocVisitor::visitPre(DocHtmlHeader *header) void LatexDocVisitor::visitPost(DocHtmlHeader *) { + if (m_hide) return; m_t << "}"; } @@ -668,6 +700,7 @@ void LatexDocVisitor::visitPre(DocImage *img) { if (img->type()==DocImage::Latex) { + if (m_hide) return; if (img->hasCaption()) { m_t << "\\begin{figure}[H]" << endl; @@ -699,6 +732,7 @@ void LatexDocVisitor::visitPre(DocImage *img) } else // other format -> skip { + pushEnabled(); m_hide=TRUE; } } @@ -707,6 +741,7 @@ void LatexDocVisitor::visitPost(DocImage *img) { if (img->type()==DocImage::Latex) { + if (m_hide) return; m_t << "}" << endl; // end mbox or caption if (img->hasCaption()) { @@ -716,12 +751,13 @@ void LatexDocVisitor::visitPost(DocImage *img) } else // other format { - m_hide=FALSE; + popEnabled(); } } void LatexDocVisitor::visitPre(DocDotFile *df) { + if (m_hide) return; QString baseName=df->file(); int i; if ((i=baseName.findRev('/'))!=-1) @@ -767,6 +803,7 @@ void LatexDocVisitor::visitPre(DocDotFile *df) void LatexDocVisitor::visitPost(DocDotFile *df) { + if (m_hide) return; m_t << "}" << endl; // end mbox or caption if (df->hasCaption()) { @@ -777,38 +814,45 @@ void LatexDocVisitor::visitPost(DocDotFile *df) void LatexDocVisitor::visitPre(DocLink *lnk) { + if (m_hide) return; startLink(lnk->ref(),lnk->file(),lnk->anchor()); } void LatexDocVisitor::visitPost(DocLink *) { + if (m_hide) return; endLink(); } void LatexDocVisitor::visitPre(DocRef *ref) { + if (m_hide) return; startLink(ref->ref(),ref->file(),ref->anchor()); if (!ref->hasLinkText()) filter(ref->targetTitle()); } void LatexDocVisitor::visitPost(DocRef *) { + if (m_hide) return; endLink(); m_t << " "; } void LatexDocVisitor::visitPre(DocSecRefItem *) { + if (m_hide) return; m_t << "\\item \\contentsline{section}{"; } void LatexDocVisitor::visitPost(DocSecRefItem *ref) { + if (m_hide) return; m_t << "}{\\ref{" << ref->anchor() << "}}{}" << endl; } void LatexDocVisitor::visitPre(DocSecRefList *) { + if (m_hide) return; m_t << "\\footnotesize" << endl; m_t << "\\begin{multicols}{2}" << endl; m_t << "\\begin{CompactList}" << endl; @@ -816,21 +860,34 @@ void LatexDocVisitor::visitPre(DocSecRefList *) void LatexDocVisitor::visitPost(DocSecRefList *) { + if (m_hide) return; m_t << "\\end{CompactList}" << endl; m_t << "\\end{multicols}" << endl; m_t << "\\normalsize" << endl; } -void LatexDocVisitor::visitPre(DocLanguage *) +void LatexDocVisitor::visitPre(DocLanguage *l) { + QString langId = Config_getEnum("OUTPUT_LANGUAGE"); + if (l->id().lower()!=langId.lower()) + { + pushEnabled(); + m_hide = TRUE; + } } -void LatexDocVisitor::visitPost(DocLanguage *) +void LatexDocVisitor::visitPost(DocLanguage *l) { + QString langId = Config_getEnum("OUTPUT_LANGUAGE"); + if (l->id().lower()!=langId.lower()) + { + popEnabled(); + } } void LatexDocVisitor::visitPre(DocParamSect *s) { + if (m_hide) return; m_t << "\\begin{Desc}" << endl; m_t << "\\item["; switch(s->type()) @@ -850,12 +907,14 @@ void LatexDocVisitor::visitPre(DocParamSect *s) void LatexDocVisitor::visitPost(DocParamSect *) { + if (m_hide) return; m_t << "\\end{description}" << endl; m_t << "\\end{Desc}" << endl; } void LatexDocVisitor::visitPre(DocParamList *pl) { + if (m_hide) return; m_t << "\\item[{\\em "; QStrListIterator li(pl->parameters()); const char *s; @@ -876,6 +935,7 @@ void LatexDocVisitor::visitPost(DocParamList *) void LatexDocVisitor::visitPre(DocXRefItem *x) { + if (m_hide) return; m_t << "\\begin{Desc}" << endl; m_t << "\\item["; if (Config_getBool("PDF_HYPERLINKS")) @@ -894,16 +954,19 @@ void LatexDocVisitor::visitPre(DocXRefItem *x) void LatexDocVisitor::visitPost(DocXRefItem *) { + if (m_hide) return; m_t << "\\end{Desc}" << endl; } void LatexDocVisitor::visitPre(DocInternalRef *ref) { + if (m_hide) return; startLink(0,ref->file(),ref->anchor()); } void LatexDocVisitor::visitPost(DocInternalRef *) { + if (m_hide) return; endLink(); m_t << " "; } @@ -951,3 +1014,16 @@ void LatexDocVisitor::endLink() m_t << "}"; } +void LatexDocVisitor::pushEnabled() +{ + m_enabled.push(new bool(m_hide)); +} + +void LatexDocVisitor::popEnabled() +{ + bool *v=m_enabled.pop(); + ASSERT(v!=0); + m_hide = *v; + delete v; +} + diff --git a/src/latexdocvisitor.h b/src/latexdocvisitor.h index 2d52dd7..f0a8204 100644 --- a/src/latexdocvisitor.h +++ b/src/latexdocvisitor.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -20,6 +20,7 @@ #define _LATEXDOCVISITOR_H #include "docvisitor.h" +#include <qstack.h> class QTextStream; class BaseCodeDocInterface; @@ -137,6 +138,9 @@ class LatexDocVisitor : public DocVisitor void endLink(); QString escapeMakeIndexChars(const char *s); + void pushEnabled(); + void popEnabled(); + //-------------------------------------- // state variables //-------------------------------------- @@ -146,6 +150,7 @@ class LatexDocVisitor : public DocVisitor bool m_insidePre; bool m_insideItem; bool m_hide; + QStack<bool> m_enabled; }; #endif diff --git a/src/latexgen.cpp b/src/latexgen.cpp index e04045d..7c9e136 100644 --- a/src/latexgen.cpp +++ b/src/latexgen.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -274,7 +274,7 @@ static void writeDefaultHeaderPart1(QTextStream &t) { // The command is not empty. Put it to the output. // if the command is empty, no output is needed. - t << sLanguageSupportCommand; + t << sLanguageSupportCommand << endl; } t << "\\usepackage{doxygen}\n"; @@ -425,12 +425,12 @@ void LatexGenerator::writeStyleSheetFile(QFile &f) t << theTranslator->trGeneratedAt( dateToString(TRUE), projectName ); t << " doxygen"; //t << " " << theTranslator->trWrittenBy() << " "; - //t << "Dimitri van Heesch \\copyright~1997-2002"; + //t << "Dimitri van Heesch \\copyright~1997-2003"; writeDefaultStyleSheetPart2(t); t << theTranslator->trGeneratedAt( dateToString(TRUE), projectName ); t << " doxygen"; //t << " << theTranslator->trWrittenBy() << " "; - //t << "Dimitri van Heesch \\copyright~1997-2002"; + //t << "Dimitri van Heesch \\copyright~1997-2003"; writeDefaultStyleSheetPart3(t); } @@ -837,14 +837,14 @@ void LatexGenerator::writeStyleInfo(int part) break; case 2: { - //t << " Dimitri van Heesch \\copyright~1997-2002"; + //t << " Dimitri van Heesch \\copyright~1997-2003"; t << "}]{}\n"; writeDefaultStyleSheetPart2(t); } break; case 4: { - //t << " Dimitri van Heesch \\copyright~1997-2002"; + //t << " Dimitri van Heesch \\copyright~1997-2003"; writeDefaultStyleSheetPart3(t); endPlainFile(); } diff --git a/src/latexgen.h b/src/latexgen.h index 7227daf..f3cf484 100644 --- a/src/latexgen.h +++ b/src/latexgen.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/libdoxycfg.pro.in b/src/libdoxycfg.pro.in index 2455a5b..f1fe76d 100644 --- a/src/libdoxycfg.pro.in +++ b/src/libdoxycfg.pro.in @@ -1,7 +1,7 @@ # # # -# Copyright (C) 1997-2002 by Dimitri van Heesch. +# Copyright (C) 1997-2003 by Dimitri van Heesch. # # Permission to use, copy, modify, and distribute this software and its # documentation under the terms of the GNU General Public License is hereby @@ -19,7 +19,7 @@ CONFIG = console warn_on staticlib $extraopts HEADERS = config.h SOURCES = config.cpp win32:TMAKE_CXXFLAGS += -DQT_NODLL -win32-g++:TMAKE_CXXFLAGS += -D_WIN32 -D__CYGWIN__ -DALL_STATIC +win32-g++:TMAKE_CXXFLAGS += -fno-exceptions -fno-rtti INCLUDEPATH += ../qtools win32:INCLUDEPATH += . DESTDIR = ../lib diff --git a/src/libdoxygen.pro.in b/src/libdoxygen.pro.in index b323aa7..0b7c1a4 100644 --- a/src/libdoxygen.pro.in +++ b/src/libdoxygen.pro.in @@ -1,7 +1,7 @@ # # # -# Copyright (C) 1997-2002 by Dimitri van Heesch. +# Copyright (C) 1997-2003 by Dimitri van Heesch. # # Permission to use, copy, modify, and distribute this software and its # documentation under the terms of the GNU General Public License is hereby @@ -181,10 +181,11 @@ SOURCES = ce_lex.cpp \ win32:TMAKE_CXXFLAGS += -DQT_NODLL win32-msvc:TMAKE_CXXFLAGS += -Zm200 -win32-g++:TMAKE_CXXFLAGS += -D_WIN32 -D__CYGWIN__ -DALL_STATIC +win32-g++:TMAKE_CXXFLAGS += -fno-exceptions -fno-rtti INCLUDEPATH += ../qtools INCLUDEPATH += ../libpng win32:INCLUDEPATH += . +win32-g++:INCLUDEPATH = ../qtools /usr/include/libpng12 DESTDIR = ../lib TARGET = doxygen OBJECTS_DIR = ../objects diff --git a/src/logos.cpp b/src/logos.cpp index 2653019..8d77943 100644 --- a/src/logos.cpp +++ b/src/logos.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/logos.h b/src/logos.h index 33732cf..3141d04 100644 --- a/src/logos.h +++ b/src/logos.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/main.cpp b/src/main.cpp index 082c0d7..4e49de4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/mandocvisitor.cpp b/src/mandocvisitor.cpp index 7700e5f..be61553 100644 --- a/src/mandocvisitor.cpp +++ b/src/mandocvisitor.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -245,25 +245,32 @@ void ManDocVisitor::visit(DocIncOperator *op) // op->type(),op->isFirst(),op->isLast(),op->text().data()); if (op->isFirst()) { - if (!m_firstCol) m_t << endl; - m_t << ".PP" << endl; - m_t << ".nf" << endl; + if (!m_hide) + { + if (!m_firstCol) m_t << endl; + m_t << ".PP" << endl; + m_t << ".nf" << endl; + } + pushEnabled(); m_hide = TRUE; } if (op->type()!=DocIncOperator::Skip) { - parseCode(m_ci,op->context(),op->text().latin1(),op->isExample(),op->exampleFile()); + if (!m_hide) parseCode(m_ci,op->context(),op->text().latin1(),op->isExample(),op->exampleFile()); } if (op->isLast()) { - m_hide = FALSE; - if (!m_firstCol) m_t << endl; - m_t << ".PP" << endl; - m_firstCol=TRUE; + popEnabled(); + if (!m_hide) + { + if (!m_firstCol) m_t << endl; + m_t << ".PP" << endl; + m_firstCol=TRUE; + } } else { - m_t << endl; + if (!m_hide) m_t << endl; } } @@ -283,17 +290,20 @@ void ManDocVisitor::visit(DocIndexEntry *) void ManDocVisitor::visitPre(DocAutoList *) { + if (m_hide) return; m_indent+=2; } void ManDocVisitor::visitPost(DocAutoList *) { + if (m_hide) return; m_indent-=2; m_t << ".PP" << endl; } void ManDocVisitor::visitPre(DocAutoListItem *li) { + if (m_hide) return; QCString ws; ws.fill(' ',m_indent-2); if (!m_firstCol) m_t << endl; @@ -312,6 +322,7 @@ void ManDocVisitor::visitPre(DocAutoListItem *li) void ManDocVisitor::visitPost(DocAutoListItem *) { + if (m_hide) return; m_t << endl; m_firstCol=TRUE; } @@ -322,6 +333,7 @@ void ManDocVisitor::visitPre(DocPara *) void ManDocVisitor::visitPost(DocPara *p) { + if (m_hide) return; if (!p->isLast() && // omit <p> for last paragraph !(p->parent() && // and for parameter sections p->parent()->kind()==DocNode::Kind_ParamSect @@ -344,6 +356,7 @@ void ManDocVisitor::visitPost(DocRoot *) void ManDocVisitor::visitPre(DocSimpleSect *s) { + if (m_hide) return; if (!m_firstCol) { m_t << endl; @@ -395,6 +408,7 @@ void ManDocVisitor::visitPre(DocSimpleSect *s) void ManDocVisitor::visitPost(DocSimpleSect *) { + if (m_hide) return; if (!m_firstCol) m_t << endl; m_t << ".RE" << endl; m_t << ".PP" << endl; @@ -407,23 +421,27 @@ void ManDocVisitor::visitPre(DocTitle *) void ManDocVisitor::visitPost(DocTitle *) { + if (m_hide) return; m_t << "\\fP"; m_t << ".RS 4" << endl; } void ManDocVisitor::visitPre(DocSimpleList *) { + if (m_hide) return; m_indent+=2; } void ManDocVisitor::visitPost(DocSimpleList *) { + if (m_hide) return; m_indent-=2; m_t << ".PP" << endl; } void ManDocVisitor::visitPre(DocSimpleListItem *) { + if (m_hide) return; QCString ws; ws.fill(' ',m_indent-2); if (!m_firstCol) m_t << endl; @@ -433,12 +451,14 @@ void ManDocVisitor::visitPre(DocSimpleListItem *) void ManDocVisitor::visitPost(DocSimpleListItem *) { + if (m_hide) return; m_t << endl; m_firstCol=TRUE; } void ManDocVisitor::visitPre(DocSection *s) { + if (m_hide) return; if (!m_firstCol) m_t << endl; if (s->level()==1) m_t << ".SH"; else m_t << ".SS"; m_t << " \""; @@ -454,17 +474,20 @@ void ManDocVisitor::visitPost(DocSection *) void ManDocVisitor::visitPre(DocHtmlList *) { + if (m_hide) return; m_indent+=2; } void ManDocVisitor::visitPost(DocHtmlList *) { + if (m_hide) return; m_indent-=2; m_t << ".PP" << endl; } void ManDocVisitor::visitPre(DocHtmlListItem *li) { + if (m_hide) return; QCString ws; ws.fill(' ',m_indent-2); if (!m_firstCol) m_t << endl; @@ -483,6 +506,7 @@ void ManDocVisitor::visitPre(DocHtmlListItem *li) void ManDocVisitor::visitPost(DocHtmlListItem *) { + if (m_hide) return; m_t << endl; m_firstCol=TRUE; } @@ -509,6 +533,7 @@ void ManDocVisitor::visitPre(DocHtmlDescList *) void ManDocVisitor::visitPost(DocHtmlDescList *) { + if (m_hide) return; if (!m_firstCol) m_t << endl; m_t << ".PP" << endl; m_firstCol=TRUE; @@ -516,6 +541,7 @@ void ManDocVisitor::visitPost(DocHtmlDescList *) void ManDocVisitor::visitPre(DocHtmlDescTitle *) { + if (m_hide) return; if (!m_firstCol) m_t << endl; m_t << ".IP \"\\fB"; m_firstCol=FALSE; @@ -523,6 +549,7 @@ void ManDocVisitor::visitPre(DocHtmlDescTitle *) void ManDocVisitor::visitPost(DocHtmlDescTitle *) { + if (m_hide) return; m_t << "\\fP\" 1c" << endl; m_firstCol=TRUE; } @@ -569,6 +596,7 @@ void ManDocVisitor::visitPost(DocHtmlCell *) void ManDocVisitor::visitPre(DocInternal *) { + if (m_hide) return; if (!m_firstCol) m_t << endl; m_t << ".PP" << endl; m_t << "\\fB" << theTranslator->trForInternalUseOnly() << "\\fP" << endl; @@ -577,6 +605,7 @@ void ManDocVisitor::visitPre(DocInternal *) void ManDocVisitor::visitPost(DocInternal *) { + if (m_hide) return; if (!m_firstCol) m_t << endl; m_t << ".RE" << endl; m_t << ".PP" << endl; @@ -585,16 +614,19 @@ void ManDocVisitor::visitPost(DocInternal *) void ManDocVisitor::visitPre(DocHRef *) { + if (m_hide) return; m_t << "\\fC"; } void ManDocVisitor::visitPost(DocHRef *) { + if (m_hide) return; m_t << "\\fP"; } void ManDocVisitor::visitPre(DocHtmlHeader *header) { + if (m_hide) return; if (!m_firstCol) m_t << endl; if (header->level()==1) m_t << ".SH"; else m_t << ".SS"; m_t << " \""; @@ -602,6 +634,7 @@ void ManDocVisitor::visitPre(DocHtmlHeader *header) void ManDocVisitor::visitPost(DocHtmlHeader *header) { + if (m_hide) return; m_t << "\"" << endl; if (header->level()==1) m_t << ".PP" << endl; m_firstCol=TRUE; @@ -625,27 +658,32 @@ void ManDocVisitor::visitPost(DocDotFile *) void ManDocVisitor::visitPre(DocLink *) { + if (m_hide) return; m_t << "\\fB"; } void ManDocVisitor::visitPost(DocLink *) { + if (m_hide) return; m_t << "\\fP"; } void ManDocVisitor::visitPre(DocRef *ref) { + if (m_hide) return; m_t << "\\fB"; if (!ref->hasLinkText()) filter(ref->targetTitle()); } void ManDocVisitor::visitPost(DocRef *) { + if (m_hide) return; m_t << "\\fP"; } void ManDocVisitor::visitPre(DocSecRefItem *) { + if (m_hide) return; QCString ws; ws.fill(' ',m_indent-2); if (!m_firstCol) m_t << endl; @@ -655,31 +693,46 @@ void ManDocVisitor::visitPre(DocSecRefItem *) void ManDocVisitor::visitPost(DocSecRefItem *) { + if (m_hide) return; m_t << endl; m_firstCol=TRUE; } void ManDocVisitor::visitPre(DocSecRefList *) { + if (m_hide) return; m_indent+=2; } void ManDocVisitor::visitPost(DocSecRefList *) { + if (m_hide) return; m_indent-=2; m_t << ".PP" << endl; } -void ManDocVisitor::visitPre(DocLanguage *) +void ManDocVisitor::visitPre(DocLanguage *l) { + QString langId = Config_getEnum("OUTPUT_LANGUAGE"); + if (l->id().lower()!=langId.lower()) + { + pushEnabled(); + m_hide = TRUE; + } } -void ManDocVisitor::visitPost(DocLanguage *) +void ManDocVisitor::visitPost(DocLanguage *l) { + QString langId = Config_getEnum("OUTPUT_LANGUAGE"); + if (l->id().lower()!=langId.lower()) + { + popEnabled(); + } } void ManDocVisitor::visitPre(DocParamSect *s) { + if (m_hide) return; if (!m_firstCol) { m_t << endl; @@ -703,6 +756,7 @@ void ManDocVisitor::visitPre(DocParamSect *s) void ManDocVisitor::visitPost(DocParamSect *) { + if (m_hide) return; if (!m_firstCol) m_t << endl; m_t << ".RE" << endl; m_t << ".PP" << endl; @@ -711,6 +765,7 @@ void ManDocVisitor::visitPost(DocParamSect *) void ManDocVisitor::visitPre(DocParamList *pl) { + if (m_hide) return; m_t << "\\fI"; QStrListIterator li(pl->parameters()); const char *s; @@ -725,6 +780,7 @@ void ManDocVisitor::visitPre(DocParamList *pl) void ManDocVisitor::visitPost(DocParamList *pl) { + if (m_hide) return; if (!pl->isLast()) { if (!m_firstCol) m_t << endl; @@ -734,6 +790,7 @@ void ManDocVisitor::visitPost(DocParamList *pl) void ManDocVisitor::visitPre(DocXRefItem *x) { + if (m_hide) return; if (!m_firstCol) { m_t << endl; @@ -747,6 +804,7 @@ void ManDocVisitor::visitPre(DocXRefItem *x) void ManDocVisitor::visitPost(DocXRefItem *) { + if (m_hide) return; if (!m_firstCol) m_t << endl; m_t << ".RE" << endl; m_t << ".PP" << endl; @@ -755,11 +813,13 @@ void ManDocVisitor::visitPost(DocXRefItem *) void ManDocVisitor::visitPre(DocInternalRef *) { + if (m_hide) return; m_t << "\\fB"; } void ManDocVisitor::visitPost(DocInternalRef *) { + if (m_hide) return; m_t << "\\fP"; } @@ -797,3 +857,16 @@ void ManDocVisitor::filter(const char *str) } } +void ManDocVisitor::pushEnabled() +{ + m_enabled.push(new bool(m_hide)); +} + +void ManDocVisitor::popEnabled() +{ + bool *v=m_enabled.pop(); + ASSERT(v!=0); + m_hide = *v; + delete v; +} + diff --git a/src/mandocvisitor.h b/src/mandocvisitor.h index cb3f5cc..d4043de 100644 --- a/src/mandocvisitor.h +++ b/src/mandocvisitor.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -20,6 +20,7 @@ #define _MANDOCVISITOR_H #include "docvisitor.h" +#include <qstack.h> class QTextStream; class BaseCodeDocInterface; @@ -133,6 +134,9 @@ class ManDocVisitor : public DocVisitor void filter(const char *str); + void pushEnabled(); + void popEnabled(); + //-------------------------------------- // state variables //-------------------------------------- @@ -143,6 +147,7 @@ class ManDocVisitor : public DocVisitor bool m_hide; bool m_firstCol; int m_indent; + QStack<bool> m_enabled; }; #endif diff --git a/src/mangen.cpp b/src/mangen.cpp index d6df66d..77cc5ce 100644 --- a/src/mangen.cpp +++ b/src/mangen.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/mangen.h b/src/mangen.h index 9c91102..43da3f9 100644 --- a/src/mangen.h +++ b/src/mangen.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/memberdef.cpp b/src/memberdef.cpp index bff8512..0cbe74c 100644 --- a/src/memberdef.cpp +++ b/src/memberdef.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/memberdef.h b/src/memberdef.h index 360d382..9801ca0 100644 --- a/src/memberdef.h +++ b/src/memberdef.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/membergroup.cpp b/src/membergroup.cpp index a7f82a4..d6137f4 100644 --- a/src/membergroup.cpp +++ b/src/membergroup.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/membergroup.h b/src/membergroup.h index d3062ec..c9e6222 100644 --- a/src/membergroup.h +++ b/src/membergroup.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/memberlist.cpp b/src/memberlist.cpp index f694159..28a3e9a 100644 --- a/src/memberlist.cpp +++ b/src/memberlist.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/memberlist.h b/src/memberlist.h index 8dba41b..c45584d 100644 --- a/src/memberlist.h +++ b/src/memberlist.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/membername.cpp b/src/membername.cpp index 59da4d9..140b342 100644 --- a/src/membername.cpp +++ b/src/membername.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/membername.h b/src/membername.h index a5700fd..3493f0a 100644 --- a/src/membername.h +++ b/src/membername.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/message.cpp b/src/message.cpp index 95a63db..558bcf1 100644 --- a/src/message.cpp +++ b/src/message.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/message.h b/src/message.h index 725270d..789cd99 100644 --- a/src/message.h +++ b/src/message.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/namespacedef.cpp b/src/namespacedef.cpp index fa73bc0..cf9dbb3 100644 --- a/src/namespacedef.cpp +++ b/src/namespacedef.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/namespacedef.h b/src/namespacedef.h index 37c1e9b..34da0d5 100644 --- a/src/namespacedef.h +++ b/src/namespacedef.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/outputgen.cpp b/src/outputgen.cpp index 1b5dcea..d8d1c82 100644 --- a/src/outputgen.cpp +++ b/src/outputgen.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/outputgen.h b/src/outputgen.h index 037eafc..046f47e 100644 --- a/src/outputgen.h +++ b/src/outputgen.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/outputlist.cpp b/src/outputlist.cpp index 5826cca..d943415 100644 --- a/src/outputlist.cpp +++ b/src/outputlist.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/outputlist.h b/src/outputlist.h index bd47bbe..b21ae50 100644 --- a/src/outputlist.h +++ b/src/outputlist.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/packagedef.cpp b/src/packagedef.cpp index 5f87030..ecea2f7 100644 --- a/src/packagedef.cpp +++ b/src/packagedef.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/packagedef.h b/src/packagedef.h index 0f1ba81..0835f74 100644 --- a/src/packagedef.h +++ b/src/packagedef.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/perlmodgen.cpp b/src/perlmodgen.cpp index 5814163..9589370 100644 --- a/src/perlmodgen.cpp +++ b/src/perlmodgen.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * Authors: Dimitri van Heesch, Miguel Lobo. * * Permission to use, copy, modify, and distribute this software and its diff --git a/src/perlmodgen.h b/src/perlmodgen.h index ec8c623..3466b8b 100644 --- a/src/perlmodgen.h +++ b/src/perlmodgen.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/pngenc.cpp b/src/pngenc.cpp index 18d7085..3ed69b3 100644 --- a/src/pngenc.cpp +++ b/src/pngenc.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2001 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/pngenc.h b/src/pngenc.h index 598cf80..a08107e 100644 --- a/src/pngenc.h +++ b/src/pngenc.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2001 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/printdocvisitor.h b/src/printdocvisitor.h index 550abde..684dd74 100644 --- a/src/printdocvisitor.h +++ b/src/printdocvisitor.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/reflist.cpp b/src/reflist.cpp index 7d49575..c3a3951 100644 --- a/src/reflist.cpp +++ b/src/reflist.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/reflist.h b/src/reflist.h index d282c13..c8d0937 100644 --- a/src/reflist.h +++ b/src/reflist.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/rtfdocvisitor.cpp b/src/rtfdocvisitor.cpp index 93faa02..f741aed 100644 --- a/src/rtfdocvisitor.cpp +++ b/src/rtfdocvisitor.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -364,24 +364,31 @@ void RTFDocVisitor::visit(DocIncOperator *op) // op->type(),op->isFirst(),op->isLast(),op->text().data()); if (op->isFirst()) { - m_t << "{" << endl; - m_t << "\\par" << endl; - m_t << rtf_Style_Reset << getStyle("CodeExample"); + if (!m_hide) + { + m_t << "{" << endl; + m_t << "\\par" << endl; + m_t << rtf_Style_Reset << getStyle("CodeExample"); + } + pushEnabled(); m_hide = TRUE; } if (op->type()!=DocIncOperator::Skip) { - parseCode(m_ci,op->context(),op->text().latin1(),op->isExample(),op->exampleFile()); + if (!m_hide) parseCode(m_ci,op->context(),op->text().latin1(),op->isExample(),op->exampleFile()); } if (op->isLast()) { - m_hide = FALSE; - m_t << "\\par" << endl; - m_t << "}" << endl; + popEnabled(); + if (!m_hide) + { + m_t << "\\par" << endl; + m_t << "}" << endl; + } } else { - m_t << endl; + if (!m_hide) m_t << endl; } } @@ -394,6 +401,7 @@ void RTFDocVisitor::visit(DocFormula *f) void RTFDocVisitor::visit(DocIndexEntry *i) { + if (m_hide) return; m_t << "{\\xe \\v " << i->entry() << "}" << endl; } @@ -403,6 +411,7 @@ void RTFDocVisitor::visit(DocIndexEntry *i) void RTFDocVisitor::visitPre(DocAutoList *l) { + if (m_hide) return; m_t << "{" << endl; incIndentLevel(); rtf_listItemInfo[m_indentLevel].isEnum = l->isEnumList(); @@ -411,6 +420,7 @@ void RTFDocVisitor::visitPre(DocAutoList *l) void RTFDocVisitor::visitPost(DocAutoList *) { + if (m_hide) return; m_t << "\\par" << endl; m_t << "}" << endl; decIndentLevel(); @@ -418,6 +428,7 @@ void RTFDocVisitor::visitPost(DocAutoList *) void RTFDocVisitor::visitPre(DocAutoListItem *) { + if (m_hide) return; m_t << "\\par" << endl; m_t << rtf_Style_Reset; if (rtf_listItemInfo[m_indentLevel].isEnum) @@ -442,6 +453,7 @@ void RTFDocVisitor::visitPre(DocPara *) void RTFDocVisitor::visitPost(DocPara *p) { + if (m_hide) return; if (!p->isLast() && // omit <p> for last paragraph !(p->parent() && // and for parameter sections p->parent()->kind()==DocNode::Kind_ParamSect @@ -459,6 +471,7 @@ void RTFDocVisitor::visitPost(DocRoot *) void RTFDocVisitor::visitPre(DocSimpleSect *s) { + if (m_hide) return; m_t << "{"; // start desc m_t << "{\\b "; // start bold m_t << "\\par" << endl; @@ -509,6 +522,7 @@ void RTFDocVisitor::visitPre(DocSimpleSect *s) void RTFDocVisitor::visitPost(DocSimpleSect *) { + if (m_hide) return; m_t << "\\par" << endl; decIndentLevel(); m_t << "}"; // end desc @@ -520,6 +534,7 @@ void RTFDocVisitor::visitPre(DocTitle *) void RTFDocVisitor::visitPost(DocTitle *) { + if (m_hide) return; m_t << "}"; // end bold m_t << "\\par" << endl; incIndentLevel(); @@ -528,6 +543,7 @@ void RTFDocVisitor::visitPost(DocTitle *) void RTFDocVisitor::visitPre(DocSimpleList *) { + if (m_hide) return; m_t << "{" << endl; incIndentLevel(); rtf_listItemInfo[m_indentLevel].isEnum = FALSE; @@ -535,6 +551,7 @@ void RTFDocVisitor::visitPre(DocSimpleList *) void RTFDocVisitor::visitPost(DocSimpleList *) { + if (m_hide) return; decIndentLevel(); m_t << "\\par" << endl; m_t << "}" << endl; @@ -542,6 +559,7 @@ void RTFDocVisitor::visitPost(DocSimpleList *) void RTFDocVisitor::visitPre(DocSimpleListItem *) { + if (m_hide) return; m_t << "\\par" << rtf_Style_Reset << getStyle("ListBullet") << endl; } @@ -551,6 +569,7 @@ void RTFDocVisitor::visitPost(DocSimpleListItem *) void RTFDocVisitor::visitPre(DocSection *s) { + if (m_hide) return; m_t << "{" // start section << rtf_Style_Reset; QString heading; @@ -566,12 +585,14 @@ void RTFDocVisitor::visitPre(DocSection *s) void RTFDocVisitor::visitPost(DocSection *) { + if (m_hide) return; m_t << "\\par" << endl; m_t << "}"; // end section } void RTFDocVisitor::visitPre(DocHtmlList *l) { + if (m_hide) return; m_t << "{" << endl; incIndentLevel(); rtf_listItemInfo[m_indentLevel].isEnum = l->type()==DocHtmlList::Ordered; @@ -580,12 +601,14 @@ void RTFDocVisitor::visitPre(DocHtmlList *l) void RTFDocVisitor::visitPost(DocHtmlList *) { + if (m_hide) return; m_t << "\\par" << endl << "}" << endl; decIndentLevel(); } void RTFDocVisitor::visitPre(DocHtmlListItem *) { + if (m_hide) return; m_t << "\\par" << endl; m_t << rtf_Style_Reset; if (rtf_listItemInfo[m_indentLevel].isEnum) @@ -621,24 +644,28 @@ void RTFDocVisitor::visitPost(DocHtmlListItem *) void RTFDocVisitor::visitPre(DocHtmlDescList *) { + if (m_hide) return; m_t << "{" << endl; m_t << rtf_Style_Reset << getStyle("ListContinue"); } void RTFDocVisitor::visitPost(DocHtmlDescList *) { + if (m_hide) return; m_t << "}" << endl; m_t << "\\par" << endl; } void RTFDocVisitor::visitPre(DocHtmlDescTitle *) { + if (m_hide) return; m_t << "\\par" << endl; m_t << "{\\b "; } void RTFDocVisitor::visitPost(DocHtmlDescTitle *) { + if (m_hide) return; m_t << "}" << endl; m_t << "\\par" << endl; } @@ -653,11 +680,13 @@ void RTFDocVisitor::visitPost(DocHtmlDescData *) void RTFDocVisitor::visitPre(DocHtmlTable *) { + if (m_hide) return; m_t << "\\par" << endl; } void RTFDocVisitor::visitPost(DocHtmlTable *t) { + if (m_hide) return; if (!t->hasCaption()) { m_t << endl; @@ -677,6 +706,7 @@ void RTFDocVisitor::visitPost(DocHtmlCaption *) void RTFDocVisitor::visitPre(DocHtmlRow *r) { + if (m_hide) return; uint i,columnWidth=rtf_pageWidth/r->numCells(); m_t << "\\trowd \\trgaph108\\trleft-108" "\\trbrdrt\\brdrs\\brdrw10 " @@ -699,6 +729,7 @@ void RTFDocVisitor::visitPre(DocHtmlRow *r) void RTFDocVisitor::visitPost(DocHtmlRow *) { + if (m_hide) return; m_t << endl; m_t << "\\pard \\widctlpar\\intbl\\adjustright" << endl; m_t << "{\\row }" << endl; @@ -706,16 +737,19 @@ void RTFDocVisitor::visitPost(DocHtmlRow *) void RTFDocVisitor::visitPre(DocHtmlCell *) { + if (m_hide) return; m_t << "{"; } void RTFDocVisitor::visitPost(DocHtmlCell *) { + if (m_hide) return; m_t << "\\cell }"; } void RTFDocVisitor::visitPre(DocInternal *) { + if (m_hide) return; m_t << "{"; // start desc m_t << "{\\b "; // start bold m_t << theTranslator->trForInternalUseOnly(); @@ -727,6 +761,7 @@ void RTFDocVisitor::visitPre(DocInternal *) void RTFDocVisitor::visitPost(DocInternal *) { + if (m_hide) return; m_t << "\\par" << endl; decIndentLevel(); m_t << "}"; // end desc @@ -734,6 +769,7 @@ void RTFDocVisitor::visitPost(DocInternal *) void RTFDocVisitor::visitPre(DocHRef *href) { + if (m_hide) return; if (Config_getBool("RTF_HYPERLINKS")) { m_t << "{\\field " @@ -753,6 +789,7 @@ void RTFDocVisitor::visitPre(DocHRef *href) void RTFDocVisitor::visitPost(DocHRef *) { + if (m_hide) return; if (Config_getBool("RTF_HYPERLINKS")) { m_t << "}" @@ -767,6 +804,7 @@ void RTFDocVisitor::visitPost(DocHRef *) void RTFDocVisitor::visitPre(DocHtmlHeader *header) { + if (m_hide) return; m_t << "{" // start section << rtf_Style_Reset; QString heading; @@ -781,6 +819,7 @@ void RTFDocVisitor::visitPre(DocHtmlHeader *header) void RTFDocVisitor::visitPost(DocHtmlHeader *) { + if (m_hide) return; m_t << "\\par" << endl; m_t << "}" << endl; // end section } @@ -802,12 +841,13 @@ void RTFDocVisitor::visitPre(DocImage *img) { } // hide caption since it is not supported at the moment + pushEnabled(); m_hide=TRUE; } void RTFDocVisitor::visitPost(DocImage *) { - m_hide=FALSE; + popEnabled(); } void RTFDocVisitor::visitPre(DocDotFile *df) @@ -829,32 +869,37 @@ void RTFDocVisitor::visitPre(DocDotFile *df) m_t << "}" << endl; // hide caption since it is not supported at the moment + pushEnabled(); m_hide=TRUE; } void RTFDocVisitor::visitPost(DocDotFile *) { - m_hide=FALSE; + popEnabled(); } void RTFDocVisitor::visitPre(DocLink *lnk) { + if (m_hide) return; startLink(lnk->ref(),lnk->file(),lnk->anchor()); } void RTFDocVisitor::visitPost(DocLink *lnk) { + if (m_hide) return; endLink(lnk->ref()); } void RTFDocVisitor::visitPre(DocRef *ref) { + if (m_hide) return; startLink(ref->ref(),ref->file(),ref->anchor()); if (!ref->hasLinkText()) filter(ref->targetTitle()); } void RTFDocVisitor::visitPost(DocRef *ref) { + if (m_hide) return; endLink(ref->ref()); m_t << " "; } @@ -870,6 +915,7 @@ void RTFDocVisitor::visitPost(DocSecRefItem *) void RTFDocVisitor::visitPre(DocSecRefList *) { + if (m_hide) return; m_t << "{" << endl; incIndentLevel(); m_t << rtf_Style_Reset << getStyle("LatexTOC") << endl; @@ -878,21 +924,34 @@ void RTFDocVisitor::visitPre(DocSecRefList *) void RTFDocVisitor::visitPost(DocSecRefList *) { + if (m_hide) return; decIndentLevel(); m_t << "\\par" << endl; m_t << "}"; } -void RTFDocVisitor::visitPre(DocLanguage *) +void RTFDocVisitor::visitPre(DocLanguage *l) { + QString langId = Config_getEnum("OUTPUT_LANGUAGE"); + if (l->id().lower()!=langId.lower()) + { + pushEnabled(); + m_hide = TRUE; + } } -void RTFDocVisitor::visitPost(DocLanguage *) +void RTFDocVisitor::visitPost(DocLanguage *l) { + QString langId = Config_getEnum("OUTPUT_LANGUAGE"); + if (l->id().lower()!=langId.lower()) + { + popEnabled(); + } } void RTFDocVisitor::visitPre(DocParamSect *s) { + if (m_hide) return; m_t << "{"; // start param list m_t << "\\par" << endl; m_t << "{\\b "; // start bold @@ -915,6 +974,7 @@ void RTFDocVisitor::visitPre(DocParamSect *s) void RTFDocVisitor::visitPost(DocParamSect *) { + if (m_hide) return; //m_t << "\\par" << endl; decIndentLevel(); m_t << "}" << endl; @@ -922,6 +982,7 @@ void RTFDocVisitor::visitPost(DocParamSect *) void RTFDocVisitor::visitPre(DocParamList *pl) { + if (m_hide) return; m_t << "{\\i "; QStrListIterator li(pl->parameters()); const char *s; @@ -936,11 +997,13 @@ void RTFDocVisitor::visitPre(DocParamList *pl) void RTFDocVisitor::visitPost(DocParamList *) { + if (m_hide) return; m_t << "\\par" << endl; } void RTFDocVisitor::visitPre(DocXRefItem *x) { + if (m_hide) return; m_t << "{"; // start param list m_t << "{\\b "; // start bold m_t << "\\par" << endl; @@ -984,6 +1047,7 @@ void RTFDocVisitor::visitPre(DocXRefItem *x) void RTFDocVisitor::visitPost(DocXRefItem *) { + if (m_hide) return; m_t << "\\par" << endl; decIndentLevel(); m_t << "}" << endl; // end xref item @@ -991,11 +1055,13 @@ void RTFDocVisitor::visitPost(DocXRefItem *) void RTFDocVisitor::visitPre(DocInternalRef *ref) { + if (m_hide) return; startLink("",ref->file(),ref->anchor()); } void RTFDocVisitor::visitPost(DocInternalRef *) { + if (m_hide) return; endLink(""); m_t << " "; } @@ -1098,3 +1164,16 @@ void RTFDocVisitor::endLink(const QString &ref) } } +void RTFDocVisitor::pushEnabled() +{ + m_enabled.push(new bool(m_hide)); +} + +void RTFDocVisitor::popEnabled() +{ + bool *v=m_enabled.pop(); + ASSERT(v!=0); + m_hide = *v; + delete v; +} + diff --git a/src/rtfdocvisitor.h b/src/rtfdocvisitor.h index 40487d1..7a6bbc8 100644 --- a/src/rtfdocvisitor.h +++ b/src/rtfdocvisitor.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -20,6 +20,7 @@ #define _RTFDOCVISITOR_H #include "docvisitor.h" +#include <qstack.h> class QTextStream; class BaseCodeDocInterface; @@ -139,6 +140,9 @@ class RTFDocVisitor : public DocVisitor void incIndentLevel(); void decIndentLevel(); + void pushEnabled(); + void popEnabled(); + //-------------------------------------- // state variables //-------------------------------------- @@ -148,6 +152,7 @@ class RTFDocVisitor : public DocVisitor bool m_insidePre; bool m_hide; int m_indentLevel; + QStack<bool> m_enabled; }; #endif diff --git a/src/rtfgen.cpp b/src/rtfgen.cpp index d76d817..88d0f62 100644 --- a/src/rtfgen.cpp +++ b/src/rtfgen.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Parker Waechter & Dimitri van Heesch. + * Copyright (C) 1997-2003 by Parker Waechter & Dimitri van Heesch. * * Style sheet additions by Alexander Bartolich * diff --git a/src/rtfgen.h b/src/rtfgen.h index 751622b..d85b8c7 100644 --- a/src/rtfgen.h +++ b/src/rtfgen.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Parker Waechter & Dimitri van Heesch. + * Copyright (C) 1997-2003 by Parker Waechter & Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/rtfstyle.cpp b/src/rtfstyle.cpp index 950b4ba..1d59a18 100644 --- a/src/rtfstyle.cpp +++ b/src/rtfstyle.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/rtfstyle.h b/src/rtfstyle.h index 260f922..58505e9 100644 --- a/src/rtfstyle.h +++ b/src/rtfstyle.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/scanner.h b/src/scanner.h index 80efb9a..01fbb5d 100644 --- a/src/scanner.h +++ b/src/scanner.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/scanner.l b/src/scanner.l index aba1dca..778f179 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -3566,6 +3566,10 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) <ClassDocArg2>"\n" { yyLineNr++; newDocState(); } +<ClassDocArg2>{B}*"*/" { + newDocState(); + unput('/');unput('*'); + } <ClassDocArg3>[<]?{FILE}[>]? { //printf("ClassDocArg3=%s\n",yytext); current->includeName = yytext; @@ -3576,6 +3580,10 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) <ClassDocArg3>"\n" { yyLineNr++; newDocState(); } +<ClassDocArg3>{B}*"*/" { + newDocState(); + unput('/');unput('*'); + } <FileDocArg1>{FILE} { current->name = stripQuotes(yytext); newDocState(); diff --git a/src/searchindex.cpp b/src/searchindex.cpp index fa3600d..48047fb 100644 --- a/src/searchindex.cpp +++ b/src/searchindex.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/searchindex.h b/src/searchindex.h index e93709f..f5ae41c 100644 --- a/src/searchindex.h +++ b/src/searchindex.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/section.h b/src/section.h index 8210bfc..6aca0c0 100644 --- a/src/section.h +++ b/src/section.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/sortdict.h b/src/sortdict.h index 903fea3..5659d71 100644 --- a/src/sortdict.h +++ b/src/sortdict.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/suffixtree.cpp b/src/suffixtree.cpp index d247f4d..641f502 100644 --- a/src/suffixtree.cpp +++ b/src/suffixtree.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/suffixtree.h b/src/suffixtree.h index 4d0f6a3..28d2a6c 100644 --- a/src/suffixtree.h +++ b/src/suffixtree.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/tagreader.cpp b/src/tagreader.cpp index 8302eb5..2b81982 100644 --- a/src/tagreader.cpp +++ b/src/tagreader.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -1054,7 +1054,10 @@ void TagFileParser::buildLists(Entry *root) QString fullName = m_tagName+":"+tfi->path+stripPath(tfi->name); fe->fileName = fullName; - FileDef *fd = new FileDef(m_tagName+":"+tfi->path,tfi->name,m_tagName); + FileDef *fd = new FileDef(m_tagName+":"+tfi->path, + tfi->name,m_tagName, + tfi->filename + ); FileName *mn; if ((mn=Doxygen::inputNameDict->find(tfi->name))) { diff --git a/src/tagreader.h b/src/tagreader.h index 8a62504..8a0df39 100644 --- a/src/tagreader.h +++ b/src/tagreader.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator.h b/src/translator.h index 578ecf3..5875e6e 100644 --- a/src/translator.h +++ b/src/translator.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_br.h b/src/translator_br.h index 8549d64..5d686f0 100644 --- a/src/translator_br.h +++ b/src/translator_br.h @@ -1,5 +1,5 @@ /****************************************************************************** - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_ca.h b/src/translator_ca.h index e232cde..2d54273 100644 --- a/src/translator_ca.h +++ b/src/translator_ca.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_cn.h b/src/translator_cn.h index 2e5d54f..cd1f9f8 100644 --- a/src/translator_cn.h +++ b/src/translator_cn.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_cz.h b/src/translator_cz.h index 4e241a3..7d8f88a 100644 --- a/src/translator_cz.h +++ b/src/translator_cz.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_de.h b/src/translator_de.h index af7483a..03d54cd 100644 --- a/src/translator_de.h +++ b/src/translator_de.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -101,7 +101,7 @@ class TranslatorGerman : public Translator { QCString result="\\usepackage{ngerman}\n"; result+="\\usepackage{t1enc}% Trennung verbessern bei Umlauten\n"; - result+="%\\usepackage[latin1]{inputenc}% Kodierung (cp850,latin1,ansinew)\n"; + //result+="%\\usepackage[latin1]{inputenc}% Kodierung (cp850,latin1,ansinew)\n"; return result; } diff --git a/src/translator_dk.h b/src/translator_dk.h index 2810157..98e6db5 100644 --- a/src/translator_dk.h +++ b/src/translator_dk.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_en.h b/src/translator_en.h index 8b4ab26..288461b 100644 --- a/src/translator_en.h +++ b/src/translator_en.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_es.h b/src/translator_es.h index 41b5acd..c3d39e2 100644 --- a/src/translator_es.h +++ b/src/translator_es.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_fi.h b/src/translator_fi.h index 98a63b2..5865dbd 100644 --- a/src/translator_fi.h +++ b/src/translator_fi.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_fr.h b/src/translator_fr.h index c956de5..9934f8f 100644 --- a/src/translator_fr.h +++ b/src/translator_fr.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2001 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_gr.h b/src/translator_gr.h index 0e701d6..6016da7 100644 --- a/src/translator_gr.h +++ b/src/translator_gr.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_hr.h b/src/translator_hr.h index c3b847d..b512626 100644 --- a/src/translator_hr.h +++ b/src/translator_hr.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_hu.h b/src/translator_hu.h index ff3ba87..c4459a9 100644 --- a/src/translator_hu.h +++ b/src/translator_hu.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_it.h b/src/translator_it.h index 836bdd5..13145fb 100644 --- a/src/translator_it.h +++ b/src/translator_it.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_jp.h b/src/translator_jp.h index f1a788d..3a4b904 100644 --- a/src/translator_jp.h +++ b/src/translator_jp.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2000 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_kr.h b/src/translator_kr.h index 5d6d9eb..6d14a25 100644 --- a/src/translator_kr.h +++ b/src/translator_kr.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_nl.h b/src/translator_nl.h index f07e089..88c157b 100644 --- a/src/translator_nl.h +++ b/src/translator_nl.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_no.h b/src/translator_no.h index e582072..f6aebff 100644 --- a/src/translator_no.h +++ b/src/translator_no.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_pl.h b/src/translator_pl.h index 9dced0d..e21a2f1 100644 --- a/src/translator_pl.h +++ b/src/translator_pl.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_pt.h b/src/translator_pt.h index ff0bade..47733b2 100644 --- a/src/translator_pt.h +++ b/src/translator_pt.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_ro.h b/src/translator_ro.h index 22209de..32d9aaf 100644 --- a/src/translator_ro.h +++ b/src/translator_ro.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_ru.h b/src/translator_ru.h index 7083e37..2dbbaed 100644 --- a/src/translator_ru.h +++ b/src/translator_ru.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2000 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_se.h b/src/translator_se.h index 5fba0d0..c1b5cd2 100644 --- a/src/translator_se.h +++ b/src/translator_se.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_si.h b/src/translator_si.h index cef1f33..1e9afbd 100644 --- a/src/translator_si.h +++ b/src/translator_si.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2000 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_sk.h b/src/translator_sk.h index dfcb2db..6498c4c 100644 --- a/src/translator_sk.h +++ b/src/translator_sk.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_sr.h b/src/translator_sr.h index 8822774..631da9c 100644 --- a/src/translator_sr.h +++ b/src/translator_sr.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_tw.h b/src/translator_tw.h index 57b9757..a4c68fc 100644 --- a/src/translator_tw.h +++ b/src/translator_tw.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/translator_ua.h b/src/translator_ua.h index 77421eb..fad3aee 100644 --- a/src/translator_ua.h +++ b/src/translator_ua.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2000 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/treeview.h b/src/treeview.h index aa65bfe..9cbcccd 100644 --- a/src/treeview.h +++ b/src/treeview.h @@ -103,20 +103,13 @@ " \n" "function hideFolder() \n" "{ \n" -" if (browserVersion == 1 || browserVersion == 3) \n" -" { \n" +" if (browserVersion == 1 || browserVersion == 3) { \n" " if (this.navObj.style.display == \"none\") \n" -" {\n" -" return\n" -" }\n" +" return \n" " this.navObj.style.display = \"none\" \n" -" } \n" -" else \n" -" { \n" +" } else { \n" " if (this.navObj.visibility == \"hidden\") \n" -" {\n" " return \n" -" }\n" " this.navObj.visibility = \"hidden\" \n" " } \n" " \n" @@ -125,11 +118,11 @@ " \n" "function initializeFolder(level, lastNode, leftSide) \n" "{ \n" -" var j=0 \n" -" var i=0 \n" -" var numberOfFolders \n" -" var numberOfDocs \n" -" var nc \n" +"var j=0 \n" +"var i=0 \n" +"var numberOfFolders \n" +"var numberOfDocs \n" +"var nc \n" " \n" " nc = this.nChildren \n" " \n" @@ -173,12 +166,9 @@ " \n" "function drawFolder(leftSide) \n" "{ \n" -" if (browserVersion == 2) \n" -" { \n" -" if (!doc.yPos)\n" -" {\n" +" if (browserVersion == 2) { \n" +" if (!doc.yPos) \n" " doc.yPos=8 \n" -" }\n" " doc.write(\"<layer id='folder\" + this.id + \"' top=\" + doc.yPos + \" visibility=hidden>\") \n" " } \n" " if (browserVersion == 3) \n" @@ -188,9 +178,7 @@ " \n" " doc.write(\"\\n<table \") \n" " if (browserVersion == 1) \n" -" {\n" " doc.write(\" id='folder\" + this.id + \"' style='position:block;' \") \n" -" }\n" " doc.write(\" border=0 cellspacing=0 cellpadding=0>\") \n" " doc.write(\"\\n<tr><td>\") \n" " doc.write(leftSide) \n" @@ -204,9 +192,7 @@ " doc.write(this.desc + \"</a>\") \n" " } \n" " else \n" -" {\n" " doc.write(this.desc) \n" -" }\n" " if (this.tagName!=\"\")\n" " {\n" " doc.write(\" [external]\")\n" @@ -214,30 +200,23 @@ " doc.write(\"</td>\") \n" " doc.write(\"\\n</table>\\n\") \n" " \n" -" if (browserVersion == 2) \n" -" { \n" +" if (browserVersion == 2) { \n" " doc.write(\"</layer>\") \n" " } \n" -" if (browserVersion == 3) \n" -" { \n" +" if (browserVersion == 3) { \n" " doc.write(\"</div>\") \n" " } \n" " \n" -" if (browserVersion == 1) \n" -" { \n" +" if (browserVersion == 1) { \n" " this.navObj = doc.all[\"folder\"+this.id] \n" " this.iconImg = doc.all[\"folderIcon\"+this.id] \n" " this.nodeImg = doc.all[\"nodeIcon\"+this.id] \n" -" } \n" -" else if (browserVersion == 2) \n" -" { \n" +" } else if (browserVersion == 2) { \n" " this.navObj = doc.layers[\"folder\"+this.id] \n" " this.iconImg = this.navObj.document.images[\"folderIcon\"+this.id] \n" " this.nodeImg = this.navObj.document.images[\"nodeIcon\"+this.id] \n" " doc.yPos=doc.yPos+this.navObj.clip.height \n" -" } \n" -" else if (browserVersion == 3) \n" -" {\n" +" } else if (browserVersion == 3) {\n" " this.navObj = doc.getElementById(\"folder\"+this.id)\n" " this.iconImg = doc.images.namedItem(\"folderIcon\"+this.id)\n" " this.nodeImg = doc.images.namedItem(\"nodeIcon\"+this.id)\n" @@ -324,7 +303,6 @@ " this.createIndex() \n" " \n" " if (level>0) \n" -" {\n" " if (lastNode) //the last 'brother' in the children array \n" " { \n" " this.renderOb(leftSide + \"<img src='ftv2lastnode.png' width=16 height=22>\") \n" @@ -335,29 +313,20 @@ " this.renderOb(leftSide + \"<img src='ftv2node.png' width=16 height=22>\") \n" " leftSide = leftSide + \"<img src='ftv2vertline.png' width=16 height=22>\" \n" " } \n" -" }\n" " else \n" -" {\n" " this.renderOb(\"\") \n" -" }\n" "} \n" " \n" "function drawItem(leftSide) \n" "{ \n" -" if (browserVersion == 2)\n" -" {\n" -" doc.write(\"<layer id='item\" + this.id + \"' top=\" + doc.yPos + \" visibility=hidden>\")\n" -" }\n" -" else if (browserVersion == 3)\n" -" {\n" -" doc.write(\"<div id='item\" + this.id + \"' style='display:block;'>\")\n" -" }\n" +" if (browserVersion == 2) \n" +" doc.write(\"<layer id='item\" + this.id + \"' top=\" + doc.yPos + \" visibility=hidden>\") \n" +" if (browserVersion == 3) \n" +" doc.write(\"<div id='item\" + this.id + \"' style='display:block;'>\") \n" " \n" " doc.write(\"\\n<table \") \n" -" if (browserVersion == 1)\n" -" {\n" -" doc.write(\" id='item\" + this.id + \"' style='position:block;' \")\n" -" }\n" +" if (browserVersion == 1) \n" +" doc.write(\" id='item\" + this.id + \"' style='position:block;' \") \n" " doc.write(\" border=0 cellspacing=0 cellpadding=0>\\n\") \n" " doc.write(\"<tr><td>\") \n" " doc.write(leftSide) \n" @@ -373,13 +342,9 @@ " } \n" " doc.write(\"</td>\\n<td valign=middle nowrap>\") \n" " if (USETEXTLINKS && this.link!=\"\") \n" -" {\n" " doc.write(\"<a href=\" + this.link + \">\" + this.desc + \"</a>\") \n" -" }\n" " else \n" -" {\n" " doc.write(this.desc) \n" -" }\n" " if (this.tagName!=\"\")\n" " {\n" " doc.write(\" [external]\");\n" @@ -387,27 +352,18 @@ " doc.write(\"\\n</table>\\n\") \n" " \n" " if (browserVersion == 2) \n" -" {\n" " doc.write(\"</layer>\") \n" -" }\n" -" else if (browserVersion == 3) \n" -" {\n" +" if (browserVersion == 3) \n" " doc.write(\"</div>\")\n" -" }\n" " \n" -" if (browserVersion == 1) \n" -" { \n" +" if (browserVersion == 1) { \n" " this.navObj = doc.all[\"item\"+this.id] \n" " this.iconImg = doc.all[\"itemIcon\"+this.id] \n" -" } \n" -" else if (browserVersion == 2) \n" -" { \n" +" } else if (browserVersion == 2) { \n" " this.navObj = doc.layers[\"item\"+this.id] \n" " this.iconImg = this.navObj.document.images[\"itemIcon\"+this.id] \n" " doc.yPos=doc.yPos+this.navObj.clip.height \n" -" } \n" -" else if (browserVersion == 3) \n" -" {\n" +" } else if (browserVersion == 3) {\n" " this.navObj = doc.getElementById(\"item\"+this.id)\n" " this.iconImg = doc.images.namedItem(\"itemIcon\"+this.id)\n" " }\n" @@ -420,13 +376,9 @@ "function display() \n" "{ \n" " if (browserVersion == 1 || browserVersion == 3) \n" -" {\n" " this.navObj.style.display = \"block\" \n" -" }\n" " else \n" -" {\n" -" this.navObj.visibility = \"show\"\n" -" }\n" +" this.navObj.visibility = \"show\" \n" "} \n" " \n" "function createEntryIndex() \n" @@ -477,49 +429,18 @@ " clickedFolder.setState(!state) //open<->close \n" "} \n" " \n" -"function preLoadIcons() \n" -"{\n" -" var auxImg\n" -" auxImg = new Image();\n" -" auxImg.src = \"ftv2blank.png\";\n" -" auxImg.src = \"ftv2doc.png\";\n" -" auxImg.src = \"ftv2folderclosed.png\";\n" -" auxImg.src = \"ftv2folderopen.png\";\n" -" auxImg.src = \"ftv2lastnode.png\";\n" -" auxImg.src = \"ftv2link.png\";\n" -" auxImg.src = \"ftv2mlastnode.png\";\n" -" auxImg.src = \"ftv2mnode.png\";\n" -" auxImg.src = \"ftv2node.png\";\n" -" auxImg.src = \"ftv2plastnode.png\";\n" -" auxImg.src = \"ftv2pnode.png\";\n" -" auxImg.src = \"ftv2vertline.png\";\n" -"}\n" -"\n" "function initializeDocument() \n" "{ \n" -" preLoadIcons()\n" -"\n" -" var ua = window.navigator.userAgent.toLowerCase();\n" -" if ((ua.indexOf('msie')!=-1) && (navigator.version>=4))\n" -" {\n" -" browserVersion = 1 // IE >= 4.x\n" -" }\n" -" else if (ua.indexOf('opera')!=-1)\n" -" {\n" -" browserVersion = 3; // Opera\n" -" }\n" -" else if (ua.indexOf('gecko')!=-1)\n" -" {\n" -" browserVersion = 3; // NS6 or Mozilla\n" -" }\n" -" else if (ua.indexOf('mozilla')!=-1)\n" -" {\n" -" browserVersion = 2; // NS4\n" -" }\n" -" else\n" -" {\n" -" browserVersion = 0; // unknown or old browser\n" -" }\n" +" doc = document;\n" +" if (doc.all) \n" +" browserVersion = 1 //IE4 \n" +" else \n" +" if (doc.layers) \n" +" browserVersion = 2 //NS4 \n" +" else if(navigator.userAgent.toLowerCase().indexOf('gecko') != -1)\n" +" browserVersion = 3 //mozilla\n" +" else \n" +" browserVersion = 0 //other \n" "\n" " foldersTree.initialize(0, 1, \"\") \n" " foldersTree.display()\n" @@ -539,7 +460,6 @@ "// Auxiliary Functions for Folder-Treee backward compatibility \n" "// ********************************************************* \n" " \n" -" \n" "function gFld(description, tagName, hreference) \n" "{ \n" " folder = new Folder(description, tagName, hreference) \n" @@ -572,10 +492,9 @@ "// Global variables \n" "// **************** \n" " \n" -"var USETEXTLINKS = 1\n" -"var indexOfEntries = new Array \n" -"var nEntries = 0 \n" -"var doc = document \n" -"var browserVersion = 0 \n" -"var selectedFolder=0\n" -"\n" +"USETEXTLINKS = 1\n" +"indexOfEntries = new Array \n" +"nEntries = 0 \n" +"doc = document \n" +"browserVersion = 0 \n" +"selectedFolder=0\n" diff --git a/src/treeview.js b/src/treeview.js index a9ff9b5..6b5ef51 100644 --- a/src/treeview.js +++ b/src/treeview.js @@ -103,20 +103,13 @@ function propagateChangesInState(folder) function hideFolder() { - if (browserVersion == 1 || browserVersion == 3) - { + if (browserVersion == 1 || browserVersion == 3) { if (this.navObj.style.display == "none") - { - return - } + return this.navObj.style.display = "none" - } - else - { + } else { if (this.navObj.visibility == "hidden") - { return - } this.navObj.visibility = "hidden" } @@ -125,11 +118,11 @@ function hideFolder() function initializeFolder(level, lastNode, leftSide) { - var j=0 - var i=0 - var numberOfFolders - var numberOfDocs - var nc +var j=0 +var i=0 +var numberOfFolders +var numberOfDocs +var nc nc = this.nChildren @@ -173,12 +166,9 @@ function initializeFolder(level, lastNode, leftSide) function drawFolder(leftSide) { - if (browserVersion == 2) - { - if (!doc.yPos) - { + if (browserVersion == 2) { + if (!doc.yPos) doc.yPos=8 - } doc.write("<layer id='folder" + this.id + "' top=" + doc.yPos + " visibility=hidden>") } if (browserVersion == 3) @@ -188,9 +178,7 @@ function drawFolder(leftSide) doc.write("\n<table ") if (browserVersion == 1) - { doc.write(" id='folder" + this.id + "' style='position:block;' ") - } doc.write(" border=0 cellspacing=0 cellpadding=0>") doc.write("\n<tr><td>") doc.write(leftSide) @@ -204,9 +192,7 @@ function drawFolder(leftSide) doc.write(this.desc + "</a>") } else - { doc.write(this.desc) - } if (this.tagName!="") { doc.write(" [external]") @@ -214,30 +200,23 @@ function drawFolder(leftSide) doc.write("</td>") doc.write("\n</table>\n") - if (browserVersion == 2) - { + if (browserVersion == 2) { doc.write("</layer>") } - if (browserVersion == 3) - { + if (browserVersion == 3) { doc.write("</div>") } - if (browserVersion == 1) - { + if (browserVersion == 1) { this.navObj = doc.all["folder"+this.id] this.iconImg = doc.all["folderIcon"+this.id] this.nodeImg = doc.all["nodeIcon"+this.id] - } - else if (browserVersion == 2) - { + } else if (browserVersion == 2) { this.navObj = doc.layers["folder"+this.id] this.iconImg = this.navObj.document.images["folderIcon"+this.id] this.nodeImg = this.navObj.document.images["nodeIcon"+this.id] doc.yPos=doc.yPos+this.navObj.clip.height - } - else if (browserVersion == 3) - { + } else if (browserVersion == 3) { this.navObj = doc.getElementById("folder"+this.id) this.iconImg = doc.images.namedItem("folderIcon"+this.id) this.nodeImg = doc.images.namedItem("nodeIcon"+this.id) @@ -324,7 +303,6 @@ function initializeItem(level, lastNode, leftSide) this.createIndex() if (level>0) - { if (lastNode) //the last 'brother' in the children array { this.renderOb(leftSide + "<img src='ftv2lastnode.png' width=16 height=22>") @@ -335,29 +313,20 @@ function initializeItem(level, lastNode, leftSide) this.renderOb(leftSide + "<img src='ftv2node.png' width=16 height=22>") leftSide = leftSide + "<img src='ftv2vertline.png' width=16 height=22>" } - } else - { this.renderOb("") - } } function drawItem(leftSide) { - if (browserVersion == 2) - { - doc.write("<layer id='item" + this.id + "' top=" + doc.yPos + " visibility=hidden>") - } - else if (browserVersion == 3) - { - doc.write("<div id='item" + this.id + "' style='display:block;'>") - } + if (browserVersion == 2) + doc.write("<layer id='item" + this.id + "' top=" + doc.yPos + " visibility=hidden>") + if (browserVersion == 3) + doc.write("<div id='item" + this.id + "' style='display:block;'>") doc.write("\n<table ") - if (browserVersion == 1) - { - doc.write(" id='item" + this.id + "' style='position:block;' ") - } + if (browserVersion == 1) + doc.write(" id='item" + this.id + "' style='position:block;' ") doc.write(" border=0 cellspacing=0 cellpadding=0>\n") doc.write("<tr><td>") doc.write(leftSide) @@ -373,13 +342,9 @@ function drawItem(leftSide) } doc.write("</td>\n<td valign=middle nowrap>") if (USETEXTLINKS && this.link!="") - { doc.write("<a href=" + this.link + ">" + this.desc + "</a>") - } else - { doc.write(this.desc) - } if (this.tagName!="") { doc.write(" [external]"); @@ -387,27 +352,18 @@ function drawItem(leftSide) doc.write("\n</table>\n") if (browserVersion == 2) - { doc.write("</layer>") - } - else if (browserVersion == 3) - { + if (browserVersion == 3) doc.write("</div>") - } - if (browserVersion == 1) - { + if (browserVersion == 1) { this.navObj = doc.all["item"+this.id] this.iconImg = doc.all["itemIcon"+this.id] - } - else if (browserVersion == 2) - { + } else if (browserVersion == 2) { this.navObj = doc.layers["item"+this.id] this.iconImg = this.navObj.document.images["itemIcon"+this.id] doc.yPos=doc.yPos+this.navObj.clip.height - } - else if (browserVersion == 3) - { + } else if (browserVersion == 3) { this.navObj = doc.getElementById("item"+this.id) this.iconImg = doc.images.namedItem("itemIcon"+this.id) } @@ -420,13 +376,9 @@ function drawItem(leftSide) function display() { if (browserVersion == 1 || browserVersion == 3) - { this.navObj.style.display = "block" - } else - { - this.navObj.visibility = "show" - } + this.navObj.visibility = "show" } function createEntryIndex() @@ -477,49 +429,18 @@ function clickOnNode(folderId) clickedFolder.setState(!state) //open<->close } -function preLoadIcons() -{ - var auxImg - auxImg = new Image(); - auxImg.src = "ftv2blank.png"; - auxImg.src = "ftv2doc.png"; - auxImg.src = "ftv2folderclosed.png"; - auxImg.src = "ftv2folderopen.png"; - auxImg.src = "ftv2lastnode.png"; - auxImg.src = "ftv2link.png"; - auxImg.src = "ftv2mlastnode.png"; - auxImg.src = "ftv2mnode.png"; - auxImg.src = "ftv2node.png"; - auxImg.src = "ftv2plastnode.png"; - auxImg.src = "ftv2pnode.png"; - auxImg.src = "ftv2vertline.png"; -} - function initializeDocument() { - preLoadIcons() - - var ua = window.navigator.userAgent.toLowerCase(); - if ((ua.indexOf('msie')!=-1) && (navigator.version>=4)) - { - browserVersion = 1 // IE >= 4.x - } - else if (ua.indexOf('opera')!=-1) - { - browserVersion = 3; // Opera - } - else if (ua.indexOf('gecko')!=-1) - { - browserVersion = 3; // NS6 or Mozilla - } - else if (ua.indexOf('mozilla')!=-1) - { - browserVersion = 2; // NS4 - } - else - { - browserVersion = 0; // unknown or old browser - } + doc = document; + if (doc.all) + browserVersion = 1 //IE4 + else + if (doc.layers) + browserVersion = 2 //NS4 + else if(navigator.userAgent.toLowerCase().indexOf('gecko') != -1) + browserVersion = 3 //mozilla + else + browserVersion = 0 //other foldersTree.initialize(0, 1, "") foldersTree.display() @@ -539,7 +460,6 @@ function initializeDocument() // Auxiliary Functions for Folder-Treee backward compatibility // ********************************************************* - function gFld(description, tagName, hreference) { folder = new Folder(description, tagName, hreference) @@ -572,10 +492,9 @@ function insDoc(parentFolder, document) // Global variables // **************** -var USETEXTLINKS = 1 -var indexOfEntries = new Array -var nEntries = 0 -var doc = document -var browserVersion = 0 -var selectedFolder=0 - +USETEXTLINKS = 1 +indexOfEntries = new Array +nEntries = 0 +doc = document +browserVersion = 0 +selectedFolder=0 diff --git a/src/util.cpp b/src/util.cpp index b0b2244..f7da9b5 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -94,36 +94,76 @@ int iSystem(const char *command,const char *args,bool isBatchFile) #ifndef _WIN32 isBatchFile=isBatchFile; /*! taken from the system() manpage on my Linux box */ - int pid,status; + int pid,status=0; if (command==0) return 1; - pid = fork(); - if (pid==-1) return -1; - if (pid==0) - { - char buf[4096]; - strcpy(buf,command); - strcat(buf," "); - strcat(buf,args); - const char * argv[4]; - argv[0] = "sh"; - argv[1] = "-c"; - argv[2] = buf; - argv[3] = 0; - execve("/bin/sh",(char * const *)argv,environ); - exit(127); + +//#ifdef _OS_SOLARIS_ + + // on Solaris fork() duplicates the memory usage + // so we use vfork instead + + char buf[4096]; + strcpy(buf,command); + strcat(buf," "); + strcat(buf,args); + + // spawn shell + if ((pid=vfork())<0) + { + status=-1; } - for (;;) + else if (pid==0) { - if (waitpid(pid,&status,0)==-1) - { - if (errno!=EINTR) return -1; - } - else + execl("/bin/sh","sh","-c",buf,(char*)0); + _exit(127); + } + else + { + while (waitpid(pid,&status,0 )<0) { - return status; + if (errno!=EINTR) + { + status=-1; + break; + } } } + return status; + +//#else /* Other unices where clients do copy on demand for the parent's pages +// * when forked. +// */ +// +// pid = fork(); +// if (pid==-1) return -1; +// if (pid==0) +// { +// char buf[4096]; +// strcpy(buf,command); +// strcat(buf," "); +// strcat(buf,args); +// const char * argv[4]; +// argv[0] = "sh"; +// argv[1] = "-c"; +// argv[2] = buf; +// argv[3] = 0; +// execve("/bin/sh",(char * const *)argv,environ); +// exit(127); +// } +// for (;;) +// { +// if (waitpid(pid,&status,0)==-1) +// { +// if (errno!=EINTR) return -1; +// } +// else +// { +// return status; +// } +// } +//#endif + #else if (isBatchFile) { @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/version.h b/src/version.h index 600735b..1d6667a 100644 --- a/src/version.h +++ b/src/version.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby diff --git a/src/xmldocvisitor.cpp b/src/xmldocvisitor.cpp index 531fa92..a8d1d91 100644 --- a/src/xmldocvisitor.cpp +++ b/src/xmldocvisitor.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -25,6 +25,7 @@ #include "code.h" #include "dot.h" #include "message.h" +#include "util.h" XmlDocVisitor::XmlDocVisitor(QTextStream &t,BaseCodeDocInterface &ci) : m_t(t), m_ci(ci), m_insidePre(FALSE), m_hide(FALSE) @@ -222,21 +223,25 @@ void XmlDocVisitor::visit(DocIncOperator *op) // op->type(),op->isFirst(),op->isLast(),op->text().data()); if (op->isFirst()) { - m_t << "<programlisting>"; + if (!m_hide) + { + m_t << "<programlisting>"; + } + pushEnabled(); m_hide = TRUE; } if (op->type()!=DocIncOperator::Skip) { - parseCode(m_ci,op->context(),op->text().latin1(),op->isExample(),op->exampleFile()); + if (!m_hide) parseCode(m_ci,op->context(),op->text().latin1(),op->isExample(),op->exampleFile()); } if (op->isLast()) { - m_hide = FALSE; - m_t << "</programlisting>"; + popEnabled(); + if (!m_hide) m_t << "</programlisting>"; } else { - m_t << endl; + if (!m_hide) m_t << endl; } } @@ -250,6 +255,7 @@ void XmlDocVisitor::visit(DocFormula *f) void XmlDocVisitor::visit(DocIndexEntry *ie) { + if (m_hide) return; m_t << "<indexentry>" "<primaryie>"; filter(ie->entry()); @@ -264,6 +270,7 @@ void XmlDocVisitor::visit(DocIndexEntry *ie) void XmlDocVisitor::visitPre(DocAutoList *l) { + if (m_hide) return; if (l->isEnumList()) { m_t << "<orderedlist>\n"; @@ -276,6 +283,7 @@ void XmlDocVisitor::visitPre(DocAutoList *l) void XmlDocVisitor::visitPost(DocAutoList *l) { + if (m_hide) return; if (l->isEnumList()) { m_t << "</orderedlist>\n"; @@ -288,21 +296,25 @@ void XmlDocVisitor::visitPost(DocAutoList *l) void XmlDocVisitor::visitPre(DocAutoListItem *) { + if (m_hide) return; m_t << "<listitem>"; } void XmlDocVisitor::visitPost(DocAutoListItem *) { + if (m_hide) return; m_t << "</listitem>"; } void XmlDocVisitor::visitPre(DocPara *) { + if (m_hide) return; m_t << "<para>"; } void XmlDocVisitor::visitPost(DocPara *) { + if (m_hide) return; m_t << "</para>"; } @@ -318,6 +330,7 @@ void XmlDocVisitor::visitPost(DocRoot *) void XmlDocVisitor::visitPre(DocSimpleSect *s) { + if (m_hide) return; m_t << "<simplesect kind=\""; switch(s->type()) { @@ -360,42 +373,50 @@ void XmlDocVisitor::visitPre(DocSimpleSect *s) void XmlDocVisitor::visitPost(DocSimpleSect *) { + if (m_hide) return; m_t << "</simplesect>\n"; } void XmlDocVisitor::visitPre(DocTitle *) { + if (m_hide) return; m_t << "<title>"; } void XmlDocVisitor::visitPost(DocTitle *) { + if (m_hide) return; m_t << "</title>"; } void XmlDocVisitor::visitPre(DocSimpleList *) { + if (m_hide) return; m_t << "<itemizedlist>\n"; } void XmlDocVisitor::visitPost(DocSimpleList *) { + if (m_hide) return; m_t << "</itemizedlist>\n"; } void XmlDocVisitor::visitPre(DocSimpleListItem *) { + if (m_hide) return; m_t << "<listitem>"; } void XmlDocVisitor::visitPost(DocSimpleListItem *) { + if (m_hide) return; m_t << "</listitem>\n"; } void XmlDocVisitor::visitPre(DocSection *s) { - m_t << "<sect" << s->level()+1 << ">"; + if (m_hide) return; + m_t << "<sect" << s->level()+1 << " id=\"" << s->id() << "\">"; filter(s->title()); m_t << "</sect" << s->level()+1 << ">\n"; } @@ -406,6 +427,7 @@ void XmlDocVisitor::visitPost(DocSection *) void XmlDocVisitor::visitPre(DocHtmlList *s) { + if (m_hide) return; if (s->type()==DocHtmlList::Ordered) m_t << "<orderedlist>\n"; else @@ -414,6 +436,7 @@ void XmlDocVisitor::visitPre(DocHtmlList *s) void XmlDocVisitor::visitPost(DocHtmlList *s) { + if (m_hide) return; if (s->type()==DocHtmlList::Ordered) m_t << "</orderedlist>\n"; else @@ -422,117 +445,140 @@ void XmlDocVisitor::visitPost(DocHtmlList *s) void XmlDocVisitor::visitPre(DocHtmlListItem *) { + if (m_hide) return; m_t << "<listitem>\n"; } void XmlDocVisitor::visitPost(DocHtmlListItem *) { + if (m_hide) return; m_t << "</listitem>\n"; } void XmlDocVisitor::visitPre(DocHtmlDescList *) { + if (m_hide) return; m_t << "<variablelist>\n"; } void XmlDocVisitor::visitPost(DocHtmlDescList *) { + if (m_hide) return; m_t << "</variablelist>\n"; } void XmlDocVisitor::visitPre(DocHtmlDescTitle *) { + if (m_hide) return; m_t << "<varlistentry><term>"; } void XmlDocVisitor::visitPost(DocHtmlDescTitle *) { + if (m_hide) return; m_t << "</term></varlistentry>\n"; } void XmlDocVisitor::visitPre(DocHtmlDescData *) { + if (m_hide) return; m_t << "<listitem>"; } void XmlDocVisitor::visitPost(DocHtmlDescData *) { + if (m_hide) return; m_t << "</listitem>\n"; } void XmlDocVisitor::visitPre(DocHtmlTable *t) { + if (m_hide) return; m_t << "<table rows=\"" << t->numRows() << "\" cols=\"" << t->numCols() << "\">" ; } void XmlDocVisitor::visitPost(DocHtmlTable *) { + if (m_hide) return; m_t << "</table>\n"; } void XmlDocVisitor::visitPre(DocHtmlRow *) { + if (m_hide) return; m_t << "<row>\n"; } void XmlDocVisitor::visitPost(DocHtmlRow *) { + if (m_hide) return; m_t << "</row>\n"; } void XmlDocVisitor::visitPre(DocHtmlCell *c) { + if (m_hide) return; if (c->isHeading()) m_t << "<entry thead=\"yes\">"; else m_t << "<entry thead=\"no\">"; } void XmlDocVisitor::visitPost(DocHtmlCell *) { + if (m_hide) return; m_t << "</entry>"; } void XmlDocVisitor::visitPre(DocHtmlCaption *) { + if (m_hide) return; m_t << "<caption>"; } void XmlDocVisitor::visitPost(DocHtmlCaption *) { + if (m_hide) return; m_t << "</caption>\n"; } void XmlDocVisitor::visitPre(DocInternal *) { + if (m_hide) return; m_t << "<internal>"; } void XmlDocVisitor::visitPost(DocInternal *) { + if (m_hide) return; m_t << "</internal>" << endl; } void XmlDocVisitor::visitPre(DocHRef *href) { + if (m_hide) return; m_t << "<ulink url=\"" << href->url() << "\">"; } void XmlDocVisitor::visitPost(DocHRef *) { + if (m_hide) return; m_t << "</ulink>"; } void XmlDocVisitor::visitPre(DocHtmlHeader *header) { + if (m_hide) return; m_t << "<heading" << header->level() << ">"; } void XmlDocVisitor::visitPost(DocHtmlHeader *header) { + if (m_hide) return; m_t << "</heading" << header->level() << ">\n"; } void XmlDocVisitor::visitPre(DocImage *img) { + if (m_hide) return; m_t << "<image type=\""; switch(img->type()) { @@ -566,73 +612,87 @@ void XmlDocVisitor::visitPre(DocImage *img) void XmlDocVisitor::visitPost(DocImage *) { + if (m_hide) return; m_t << "</image>" << endl; } void XmlDocVisitor::visitPre(DocDotFile *df) { + if (m_hide) return; m_t << "<dotfile name=\"" << df->file() << "\">"; } void XmlDocVisitor::visitPost(DocDotFile *) { + if (m_hide) return; m_t << "</dotfile>" << endl; } void XmlDocVisitor::visitPre(DocLink *lnk) { + if (m_hide) return; startLink(lnk->ref(),lnk->file(),lnk->anchor()); } void XmlDocVisitor::visitPost(DocLink *) { + if (m_hide) return; endLink(); } void XmlDocVisitor::visitPre(DocRef *ref) { + if (m_hide) return; startLink(ref->ref(),ref->file(),ref->anchor()); if (!ref->hasLinkText()) filter(ref->targetTitle()); } void XmlDocVisitor::visitPost(DocRef *) { + if (m_hide) return; endLink(); m_t << " "; } void XmlDocVisitor::visitPre(DocSecRefItem *ref) { + if (m_hide) return; m_t << "<tocitem id=\"" << ref->file() << "_1" << ref->anchor() << "\">"; } void XmlDocVisitor::visitPost(DocSecRefItem *) { + if (m_hide) return; m_t << "</tocitem>" << endl; } void XmlDocVisitor::visitPre(DocSecRefList *) { + if (m_hide) return; m_t << "<toclist>" << endl; } void XmlDocVisitor::visitPost(DocSecRefList *) { + if (m_hide) return; m_t << "</toclist>" << endl; } void XmlDocVisitor::visitPre(DocLanguage *l) { + if (m_hide) return; m_t << "<language id=\"" << l->id() << "\">"; } void XmlDocVisitor::visitPost(DocLanguage *) { + if (m_hide) return; m_t << "</language>" << endl; } void XmlDocVisitor::visitPre(DocParamSect *s) { + if (m_hide) return; m_t << "<parameterlist kind=\""; switch(s->type()) { @@ -650,11 +710,13 @@ void XmlDocVisitor::visitPre(DocParamSect *s) void XmlDocVisitor::visitPost(DocParamSect *) { + if (m_hide) return; m_t << "</parameterlist>" << endl; } void XmlDocVisitor::visitPre(DocParamList *pl) { + if (m_hide) return; QStrListIterator li(pl->parameters()); const char *s; for (li.toFirst();(s=li.current());++li) @@ -668,11 +730,13 @@ void XmlDocVisitor::visitPre(DocParamList *pl) void XmlDocVisitor::visitPost(DocParamList *) { + if (m_hide) return; m_t << "</parameterdescription>"; } void XmlDocVisitor::visitPre(DocXRefItem *x) { + if (m_hide) return; m_t << "<xrefsect id=\""; m_t << x->file() << "_1" << x->anchor(); m_t << "\">"; @@ -684,28 +748,33 @@ void XmlDocVisitor::visitPre(DocXRefItem *x) void XmlDocVisitor::visitPost(DocXRefItem *) { + if (m_hide) return; m_t << "</xrefdescription>"; m_t << "</xrefsect>"; } void XmlDocVisitor::visitPre(DocInternalRef *ref) { + if (m_hide) return; startLink(0,ref->file(),ref->anchor()); } void XmlDocVisitor::visitPost(DocInternalRef *) { + if (m_hide) return; endLink(); m_t << " "; } void XmlDocVisitor::visitPre(DocCopy *c) { + if (m_hide) return; m_t << "<copydoc link=\"" << c->link() << "\">"; } void XmlDocVisitor::visitPost(DocCopy *) { + if (m_hide) return; m_t << "</copydoc>" << endl; } @@ -719,20 +788,7 @@ void XmlDocVisitor::visitPost(DocText *) void XmlDocVisitor::filter(const char *str) { - if (str==0) return; - const char *p=str; - char c; - while (*p) - { - c=*p++; - switch(c) - { - case '<': m_t << "<"; break; - case '>': m_t << ">"; break; - case '&': m_t << "&"; break; - default: m_t << c; - } - } + m_t << convertToXML(str); } void XmlDocVisitor::startLink(const QString &ref,const QString &file,const QString &anchor) @@ -751,3 +807,16 @@ void XmlDocVisitor::endLink() m_t << "</ref>"; } +void XmlDocVisitor::pushEnabled() +{ + m_enabled.push(new bool(m_hide)); +} + +void XmlDocVisitor::popEnabled() +{ + bool *v=m_enabled.pop(); + ASSERT(v!=0); + m_hide = *v; + delete v; +} + diff --git a/src/xmldocvisitor.h b/src/xmldocvisitor.h index 95f5afe..bbb80f6 100644 --- a/src/xmldocvisitor.h +++ b/src/xmldocvisitor.h @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -20,6 +20,7 @@ #define _XMLDOCVISITOR_H #include "docvisitor.h" +#include <qstack.h> class QTextStream; class BaseCodeDocInterface; @@ -136,6 +137,9 @@ class XmlDocVisitor : public DocVisitor const QString &anchor); void endLink(); + void pushEnabled(); + void popEnabled(); + //-------------------------------------- // state variables //-------------------------------------- @@ -144,6 +148,7 @@ class XmlDocVisitor : public DocVisitor BaseCodeDocInterface &m_ci; bool m_insidePre; bool m_hide; + QStack<bool> m_enabled; }; #endif diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp index 8fade1a..ef16705 100644 --- a/src/xmlgen.cpp +++ b/src/xmlgen.cpp @@ -3,7 +3,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby @@ -187,7 +187,7 @@ class XMLCodeGenerator : public BaseCodeDocInterface XMLCodeGenerator(QTextStream &t) : m_t(t), m_lineNumber(-1), m_insideCodeLine(FALSE), m_normalHLNeedStartTag(TRUE), m_insideSpecialHL(FALSE) {} - virtual ~XMLCodeGenerator() {} + virtual ~XMLCodeGenerator() { } void codify(const char *text) { @@ -302,6 +302,10 @@ class XMLCodeGenerator : public BaseCodeDocInterface if (extRef) m_external=extRef; } } + void finish() + { + if (m_insideCodeLine) endCodeLine(); + } private: QTextStream &m_t; @@ -394,14 +398,13 @@ void writeXMLCodeBlock(QTextStream &t,FileDef *fd) { initParseCodeContext(); XMLCodeGenerator *xmlGen = new XMLCodeGenerator(t); - //xmlGen->m_inParStack.push(TRUE); parseCode(*xmlGen, 0, fileToString(fd->absFilePath(),Config_getBool("FILTER_SOURCE_FILES")), FALSE, 0, fd); - //t << xmlGen->getContents(); + xmlGen->finish(); delete xmlGen; } @@ -525,6 +528,8 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De t << " <type>"; linkifyText(TextGeneratorXMLImpl(t),scopeName,md->name(),typeStr); t << "</type>" << endl; + t << " <definition>" << md->definition() << "</definition>" << endl; + t << " <argsstring>" << md->argsString() << "</argsstring>" << endl; } t << " <name>" << convertToXML(md->name()) << "</name>" << endl; diff --git a/src/xmlgen.h b/src/xmlgen.h index 3a76e0e..3643959 100644 --- a/src/xmlgen.h +++ b/src/xmlgen.h @@ -2,7 +2,7 @@ * * * - * Copyright (C) 1997-2002 by Dimitri van Heesch. + * Copyright (C) 1997-2003 by Dimitri van Heesch. * * Permission to use, copy, modify, and distribute this software and its * documentation under the terms of the GNU General Public License is hereby |