summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2002-07-07 17:23:26 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2002-07-07 17:23:26 (GMT)
commit457ca5c291eddeb1a4cd667e20cd8d7dfc1d7f2e (patch)
treef08f27e02ce20e8ca59117d6d02be98fbe3c8c24
parent977ad9d3ec7dff388b8be849ae4a596ae5cd3ad4 (diff)
downloadDoxygen-457ca5c291eddeb1a4cd667e20cd8d7dfc1d7f2e.zip
Doxygen-457ca5c291eddeb1a4cd667e20cd8d7dfc1d7f2e.tar.gz
Doxygen-457ca5c291eddeb1a4cd667e20cd8d7dfc1d7f2e.tar.bz2
Release-1.2.16-20020707
-rw-r--r--INSTALL4
-rw-r--r--README4
-rw-r--r--VERSION2
-rw-r--r--addon/doxmlparser/src/mainhandler.cpp1
-rwxr-xr-xconfigure10
-rw-r--r--doc/commands.doc18
-rw-r--r--doc/config.doc18
-rw-r--r--doc/language.doc58
-rw-r--r--packages/rpm/doxygen.spec2
-rw-r--r--src/classdef.h2
-rw-r--r--src/code.l3
-rw-r--r--src/config.l16
-rw-r--r--src/defargs.l2
-rw-r--r--src/definition.h2
-rw-r--r--src/doc.l2
-rw-r--r--src/dot.cpp2
-rw-r--r--src/doxygen.cpp64
-rw-r--r--src/htmlhelp.cpp8
-rw-r--r--src/index.cpp6
-rw-r--r--src/reflist.h15
-rw-r--r--src/rtfgen.cpp57
-rw-r--r--src/scanner.l6
-rw-r--r--src/translator.h6
-rw-r--r--src/translator_adapter.h12
-rw-r--r--src/translator_br.h2
-rw-r--r--src/translator_cz.h2
-rw-r--r--src/translator_de.h2
-rw-r--r--src/translator_en.h14
-rw-r--r--src/translator_fr.h2
-rw-r--r--src/translator_hr.h2
-rw-r--r--src/translator_it.h8
-rw-r--r--src/translator_jp.h2
-rw-r--r--src/translator_nl.h14
-rw-r--r--src/translator_pl.h2
-rw-r--r--src/translator_pt.h2
-rw-r--r--src/translator_ro.h2
-rw-r--r--src/translator_ru.h2
-rw-r--r--src/translator_si.h2
-rw-r--r--src/translator_sr.h2
-rw-r--r--src/translator_tw.h2
-rw-r--r--src/util.h2
-rw-r--r--src/xmlgen.cpp19
-rw-r--r--wintools/Doxygen.dsp1130
-rw-r--r--wintools/Doxygen.dsw33
-rw-r--r--wintools/README9
45 files changed, 1473 insertions, 102 deletions
diff --git a/INSTALL b/INSTALL
index 3c40fba..82c2538 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,6 +1,6 @@
-DOXYGEN Version 1.2.16-20020630
+DOXYGEN Version 1.2.16-20020707
Please read the installation section of the manual for instructions.
--------
-Dimitri van Heesch (30 June 2002)
+Dimitri van Heesch (07 July 2002)
diff --git a/README b/README
index 6ef0734..7a7b2c2 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-DOXYGEN Version 1.2.16_20020630
+DOXYGEN Version 1.2.16_20020707
Please read INSTALL for compilation instructions.
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
-Dimitri van Heesch (dimitri@stack.nl) (30 June 2002)
+Dimitri van Heesch (dimitri@stack.nl) (07 July 2002)
diff --git a/VERSION b/VERSION
index ffd14dc..436b3b9 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.2.16-20020630
+1.2.16-20020707
diff --git a/addon/doxmlparser/src/mainhandler.cpp b/addon/doxmlparser/src/mainhandler.cpp
index d4e296f..1a130e2 100644
--- a/addon/doxmlparser/src/mainhandler.cpp
+++ b/addon/doxmlparser/src/mainhandler.cpp
@@ -20,6 +20,7 @@
#include "graphhandler.h"
#include "debug.h"
+
class ErrorHandler : public QXmlErrorHandler
{
public:
diff --git a/configure b/configure
index eb60190..ba80dc8 100755
--- a/configure
+++ b/configure
@@ -240,6 +240,10 @@ if test "$f_wizard" = YES; then
echo "QTDIR is set, but include directory does not exist!"
exit 2
fi
+ if test ! -x "$QTDIR/bin/moc"; then
+ echo "QTDIR is set, but the moc tool could not be found in $QTDIR/bin!"
+ exit 2
+ fi
echo " headers $QTDIR/include,"
echo " libraries $QTDIR/lib"
fi
@@ -411,6 +415,12 @@ EOF
EOF
fi
fi
+if test "$f_wizard" = YES; then
+ cat >> .tmakeconfig <<EOF
+TMAKE_MOC = $QTDIR/bin/moc
+EOF
+fi
+
#if test "$f_platform" = "win32-g++"; then
# cat >> .tmakeconfig <<EOF
diff --git a/doc/commands.doc b/doc/commands.doc
index 972fe90..ee52cbe 100644
--- a/doc/commands.doc
+++ b/doc/commands.doc
@@ -325,14 +325,21 @@ doxygen. Unrecognized commands are treated as normal text.
\addindex \fn
Indicates that a comment block contains documentation for a function
- (either global or as a member of a class). This command is needed if a
- comment block is \e not placed in front of the function declaration
- or definition. If your comment block \e is in front of the function
+ (either global or as a member of a class). This command is \em only
+ needed if a comment block is \e not placed in front (or behind)
+ the function declaration or definition.
+
+ If your comment block \e is in front of the function
declaration or definition this command can (and to avoid redundancy
should) be ommitted.
- A full function declaration should be specified after the
- \\fn command. The argument ends at the end of the line.
+ A full function declaration including arguments should be specified after the
+ \\fn command on a \e single line, since the argument ends at the end
+ of the line!
+
+ \warning Do not use this command
+ if it is not absolutely needed, since it will lead to duplication of
+ information and thus to errors.
\par Example:
\verbinclude func.h
@@ -341,6 +348,7 @@ doxygen. Unrecognized commands are treated as normal text.
for the corresponding HTML documentation that is generated by doxygen.
\endhtmlonly
+
\sa section \ref cmdvar "\\var" and \ref cmdtypedef "\\typedef".
<hr>
diff --git a/doc/config.doc b/doc/config.doc
index b0043c4..e469b57 100644
--- a/doc/config.doc
+++ b/doc/config.doc
@@ -73,6 +73,7 @@ followed by the descriptions of the tags grouped by category.
<li> \refitem cfg_case_sense_names CASE_SENSE_NAMES
<li> \refitem cfg_cgi_name CGI_NAME
<li> \refitem cfg_cgi_url CGI_URL
+<li> \refitem cfg_chm_file CHM_FILE
<li> \refitem cfg_class_diagrams CLASS_DIAGRAMS
<li> \refitem cfg_class_graph CLASS_GRAPH
<li> \refitem cfg_collaboration_graph COLLABORATION_GRAPH
@@ -122,6 +123,7 @@ followed by the descriptions of the tags grouped by category.
<li> \refitem cfg_generate_treeview GENERATE_TREEVIEW
<li> \refitem cfg_graphical_hierarchy GRAPHICAL_HIERARCHY
<li> \refitem cfg_have_dot HAVE_DOT
+<li> \refitem cfg_hhc_location HHC_LOCATION
<li> \refitem cfg_hide_scope_names HIDE_SCOPE_NAMES
<li> \refitem cfg_hide_undoc_classes HIDE_UNDOC_CLASSES
<li> \refitem cfg_hide_undoc_members HIDE_UNDOC_MEMBERS
@@ -864,6 +866,22 @@ followed by the descriptions of the tags grouped by category.
(which basically renders \c doxysearch obsolete on Windows).
The HTML workshop also contains a viewer for compressed HTML files.
+\anchor cfg_chm_file
+<dt>\c CHM_FILE <dd>
+ \addindex CHM_FILE
+ If the \c GENERATE_HTMLHELP tag is set to \c YES, the \c CHM_FILE tag can
+ be used to specify the file name of the resulting .chm file. You
+ can add a path in front of the file if the result should not be
+ written to the html output dir.
+
+\anchor cfg_hhc_location
+<dt>\c HHC_LOCATION <dd>
+ \addindex HHC_LOCATION
+ If the \c GENERATE_HTMLHELP tag is set to \c YES, the \c HHC_LOCATION tag can
+ be used to specify the location (absolute path including file name) of
+ the HTML help compiler (hhc.exe). If non empty doxygen will try to run
+ the html help compiler on the generated index.hhp.
+
\anchor cfg_generate_chi
<dt>\c GENERATE_CHI <dd>
\addindex GENERATE_CHI
diff --git a/doc/language.doc b/doc/language.doc
index 700fef2..2c15c0f 100644
--- a/doc/language.doc
+++ b/doc/language.doc
@@ -25,7 +25,7 @@ Doxygen has built-in support for multiple languages. This means
that the text fragments that doxygen generates can be produced in
languages other than English (the default) at configuration time.
-Currently (version 1.2.16-20020616), 27 languages
+Currently (version 1.2.14-20020317), 27 languages
are supported (sorted alphabetically):
Brazilian Portuguese, Chinese, Chinese Traditional, Croatian, Czech,
Danish, Dutch, English, Finnish, French,
@@ -55,7 +55,7 @@ when the translator was updated.
<TD>Brazilian Portuguese</TD>
<TD>Fabio "FJTC" Jun Takada Chino</TD>
<TD>chino@NOSPAM.icmc.sc.usp.br</TD>
- <TD>up-to-date</TD>
+ <TD>1.2.16</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Chinese</TD>
@@ -67,19 +67,19 @@ when the translator was updated.
<TD>Chinese Traditional</TD>
<TD>Gary Lee</TD>
<TD>garylee@NOSPAM.ecosine.com.tw</TD>
- <TD>up-to-date</TD>
+ <TD>1.2.16</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Croatian</TD>
<TD>Boris Bralo</TD>
<TD>boris.bralo@NOSPAM.zg.tel.hr</TD>
- <TD>up-to-date</TD>
+ <TD>1.2.16</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Czech</TD>
<TD>Petr P&#x0159;ikryl</TD>
<TD>prikrylp@NOSPAM.skil.cz</TD>
- <TD>up-to-date</TD>
+ <TD>1.2.16</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Danish</TD>
@@ -109,13 +109,13 @@ when the translator was updated.
<TD>French</TD>
<TD>Xavier Outhier</TD>
<TD>xouthier@NOSPAM.yahoo.fr</TD>
- <TD>up-to-date</TD>
+ <TD>1.2.16</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>German</TD>
<TD>Jens Seidel<br>Jens Breitenstein</TD>
<TD>jensseidel@NOSPAM.users.sf.net<br>Jens.Breitenstein@NOSPAM.tlc.de</TD>
- <TD>up-to-date</TD>
+ <TD>1.2.16</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Greek</TD>
@@ -133,13 +133,13 @@ when the translator was updated.
<TD>Italian</TD>
<TD>Alessandro Falappa<br>Ahmed Aldo Faisal</TD>
<TD>alessandro@NOSPAM.falappa.net<br>aaf23@NOSPAM.cam.ac.uk</TD>
- <TD>up-to-date</TD>
+ <TD>1.2.16</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Japanese</TD>
<TD>Ryunosuke Sato<br>Kenji Nagamatsu</TD>
<TD>puyo@NOSPAM.mint.freemail.ne.jp<br>naga@NOSPAM.joyful.club.ne.jp</TD>
- <TD>up-to-date</TD>
+ <TD>1.2.16</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Korean</TD>
@@ -157,31 +157,31 @@ when the translator was updated.
<TD>Polish</TD>
<TD>Piotr Kaminski<br>Grzegorz Kowal</TD>
<TD>Piotr.Kaminski@NOSPAM.ctm.gdynia.pl<br>g_kowal@NOSPAM.poczta.onet.pl</TD>
- <TD>up-to-date</TD>
+ <TD>1.2.16</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Portuguese</TD>
<TD>Rui Godinho Lopes</TD>
<TD>ruiglopes@NOSPAM.yahoo.com</TD>
- <TD>up-to-date</TD>
+ <TD>1.2.16</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Romanian</TD>
<TD>Alexandru Iosup</TD>
<TD>aiosup@NOSPAM.yahoo.com</TD>
- <TD>up-to-date</TD>
+ <TD>1.2.16</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Russian</TD>
<TD>Alexandr Chelpanov</TD>
<TD>cav@NOSPAM.cryptopro.ru</TD>
- <TD>up-to-date</TD>
+ <TD>1.2.16</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Serbian</TD>
<TD>Dejan Milosavljevic</TD>
<TD>dmilos@NOSPAM.email.com</TD>
- <TD>up-to-date</TD>
+ <TD>1.2.16</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Slovak</TD>
@@ -193,7 +193,7 @@ when the translator was updated.
<TD>Slovene</TD>
<TD>Matjaz Ostroversnik</TD>
<TD>matjaz.ostroversnik@NOSPAM.zrs-tk.si</TD>
- <TD>up-to-date</TD>
+ <TD>1.2.16</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Spanish</TD>
@@ -224,16 +224,16 @@ when the translator was updated.
{\bf Language} & {\bf Maintainer} & {\bf Contact address} & {\bf Status} \\
\hline
\hline
- Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt chino@icmc.sc.usp.br} & up-to-date \\
+ Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt chino@icmc.sc.usp.br} & 1.2.16 \\
\hline
Chinese & Wei Liu & {\tt liuwei@asiainfo.com} & 1.2.13 \\
& Wang Weihan & {\tt wangweihan@capinfo.com.cn} & \\
\hline
- Chinese Traditional & Gary Lee & {\tt garylee@ecosine.com.tw} & up-to-date \\
+ Chinese Traditional & Gary Lee & {\tt garylee@ecosine.com.tw} & 1.2.16 \\
\hline
- Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} & up-to-date \\
+ Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} & 1.2.16 \\
\hline
- Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} & up-to-date \\
+ Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} & 1.2.16 \\
\hline
Danish & Erik S\o{}e S\o{}rensen & {\tt erik@mail.nu} & 1.2.7 \\
\hline
@@ -243,39 +243,39 @@ when the translator was updated.
\hline
Finnish & Olli Korhonen & {\tt Olli.Korhonen@ccc.fi} & obsolete \\
\hline
- French & Xavier Outhier & {\tt xouthier@yahoo.fr} & up-to-date \\
+ French & Xavier Outhier & {\tt xouthier@yahoo.fr} & 1.2.16 \\
\hline
- German & Jens Seidel & {\tt jensseidel@users.sf.net} & up-to-date \\
+ German & Jens Seidel & {\tt jensseidel@users.sf.net} & 1.2.16 \\
& Jens Breitenstein & {\tt Jens.Breitenstein@tlc.de} & \\
\hline
Greek & Harry Kalogirou & {\tt harkal@rainbow.cs.unipi.gr} & 1.2.11 \\
\hline
Hungarian & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt foldvari@diatronltd.com} & 1.2.1 \\
\hline
- Italian & Alessandro Falappa & {\tt alessandro@falappa.net} & up-to-date \\
+ Italian & Alessandro Falappa & {\tt alessandro@falappa.net} & 1.2.16 \\
& Ahmed Aldo Faisal & {\tt aaf23@cam.ac.uk} & \\
\hline
- Japanese & Ryunosuke Sato & {\tt puyo@mint.freemail.ne.jp} & up-to-date \\
+ Japanese & Ryunosuke Sato & {\tt puyo@mint.freemail.ne.jp} & 1.2.16 \\
& Kenji Nagamatsu & {\tt naga@joyful.club.ne.jp} & \\
\hline
Korean & Richard Kim & {\tt ryk@dspwiz.com} & 1.2.13 \\
\hline
Norwegian & Lars Erik Jordet & {\tt lej@circuitry.no} & 1.2.2 \\
\hline
- Polish & Piotr Kaminski & {\tt Piotr.Kaminski@ctm.gdynia.pl} & up-to-date \\
+ Polish & Piotr Kaminski & {\tt Piotr.Kaminski@ctm.gdynia.pl} & 1.2.16 \\
& Grzegorz Kowal & {\tt g\_kowal@poczta.onet.pl} & \\
\hline
- Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} & up-to-date \\
+ Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} & 1.2.16 \\
\hline
- Romanian & Alexandru Iosup & {\tt aiosup@yahoo.com} & up-to-date \\
+ Romanian & Alexandru Iosup & {\tt aiosup@yahoo.com} & 1.2.16 \\
\hline
- Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} & up-to-date \\
+ Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} & 1.2.16 \\
\hline
- Serbian & Dejan Milosavljevic & {\tt dmilos@email.com} & up-to-date \\
+ Serbian & Dejan Milosavljevic & {\tt dmilos@email.com} & 1.2.16 \\
\hline
Slovak & Stanislav Kudl\'{a}\v{c} & {\tt skudlac@pobox.sk} & 1.2.13 \\
\hline
- Slovene & Matjaz Ostroversnik & {\tt matjaz.ostroversnik@zrs-tk.si} & up-to-date \\
+ Slovene & Matjaz Ostroversnik & {\tt matjaz.ostroversnik@zrs-tk.si} & 1.2.16 \\
\hline
Spanish & Francisco Oltra Thennet & {\tt foltra@puc.cl} & 1.2.7 \\
\hline
diff --git a/packages/rpm/doxygen.spec b/packages/rpm/doxygen.spec
index def8e43..fca793c 100644
--- a/packages/rpm/doxygen.spec
+++ b/packages/rpm/doxygen.spec
@@ -1,6 +1,6 @@
Summary: A documentation system for C/C++.
Name: doxygen
-Version: 1.2.16_20020630
+Version: 1.2.16_20020707
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
diff --git a/src/classdef.h b/src/classdef.h
index 67c620f..fd7c1b4 100644
--- a/src/classdef.h
+++ b/src/classdef.h
@@ -163,6 +163,8 @@ class ClassDef : public Definition
*/
ClassDef *templateMaster() const { return m_templateMaster; }
+ IncludeInfo *includeInfo() const { return m_incInfo; }
+
UsesClassDict *usedImplementationClasses() const
{
return m_usesImplClassDict;
diff --git a/src/code.l b/src/code.l
index 63acbf9..59b0f16 100644
--- a/src/code.l
+++ b/src/code.l
@@ -662,6 +662,7 @@ static void generateClassOrGlobalLink(OutputDocInterface &ol,char *clName,int *c
{
Definition *d = md->getOuterScope()==Doxygen::globalScope ?
md->getBodyDef() : md->getOuterScope();
+ if (md->getGroupDef()) d = md->getGroupDef();
if (d && d->isLinkable() && md->isLinkable())
{
writeMultiLineCodeLink(ol,d->getReference(),d->getOutputFileBase(),md->getBodyAnchor(),clName);
@@ -718,6 +719,7 @@ static bool getLink(const char *className,
Definition *d = md->getOuterScope()==Doxygen::globalScope ?
md->getBodyDef() : md->getOuterScope();
+ if (md->getGroupDef()) d = md->getGroupDef();
if (d && d->isLinkable())
{
g_theCallContext.setClass(stripClassName(md->typeString()));
@@ -774,6 +776,7 @@ static bool generateClassMemberLink(OutputDocInterface &ol,ClassDef *mcd,const c
Definition *xd = xmd->getOuterScope()==Doxygen::globalScope ?
xmd->getBodyDef() : xmd->getOuterScope();
+ if (xmd->getGroupDef()) xd = xmd->getGroupDef();
if (xd)
{
diff --git a/src/config.l b/src/config.l
index 3c647cc..8c3c50b 100644
--- a/src/config.l
+++ b/src/config.l
@@ -1857,6 +1857,22 @@ void Config::create()
FALSE
);
cb->addDependency("GENERATE_HTML");
+ cs = addString(
+ "CHM_FILE",
+ "If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can \n"
+ "be used to specify the file name of the resulting .chm file. You \n"
+ "can add a path in front of the file if the result should not be \n"
+ "written to the html output dir. \n"
+ );
+ cs->addDependency("GENERATE_HTML");
+ cs = addString(
+ "HHC_LOCATION",
+ "If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can \n"
+ "be used to specify the location (absolute path including file name) of \n"
+ "the HTML help compiler (hhc.exe). If non empty doxygen will try to run \n"
+ "the html help compiler on the generated index.hhp.\n"
+ );
+ cs->addDependency("GENERATE_HTML");
cb = addBool(
"GENERATE_CHI",
"If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag \n"
diff --git a/src/defargs.l b/src/defargs.l
index b88ef13..5a0feaf 100644
--- a/src/defargs.l
+++ b/src/defargs.l
@@ -256,7 +256,7 @@ ID [a-z_A-Z][a-z_A-Z0-9]*
if (l>0)
{
int i=l-1;
- while (i>=0 && isspace(g_curArgTypeName.at(i))) i--;
+ while (i>=0 && (isspace(g_curArgTypeName.at(i)) || g_curArgTypeName.at(i)=='.')) i--;
while (i>=0 && isId(g_curArgTypeName.at(i))) i--;
//printf("g_curArgTypeName=`%s' i=%d\n",g_curArgTypeName.data(),i);
Argument *a = new Argument;
diff --git a/src/definition.h b/src/definition.h
index 91ebfd7..ad3da97 100644
--- a/src/definition.h
+++ b/src/definition.h
@@ -30,7 +30,7 @@ class MemberSDict;
class MemberDef;
class GroupDef;
class GroupList;
-class ListItemInfo;
+struct ListItemInfo;
/*! The common base class of all entity definitions found in the sources. */
class Definition
diff --git a/src/doc.l b/src/doc.l
index d8b00e2..ca6648c 100644
--- a/src/doc.l
+++ b/src/doc.l
@@ -940,6 +940,7 @@ static void checkArgName(const QCString &name,bool isParam)
for (ali.toFirst();(a=ali.current());++ali)
{
QCString argName = memberDef->isDefine() ? a->type : a->name;
+ if (argName.right(3)=="...") argName=argName.left(argName.length()-3);
if (aName==argName)
{
//printf("adding `%s'\n",aName.data());
@@ -2938,6 +2939,7 @@ void parseDoc(OutputDocInterface &od,const char *fileName,int startLine,
for (ali.toFirst();(a=ali.current());++ali)
{
QCString argName = memberDef->isDefine() ? a->type : a->name;
+ if (argName.right(3)=="...") argName=argName.left(argName.length()-3);
if (!argName.isEmpty() && paramsFound.find(argName)==0)
{
found = TRUE;
diff --git a/src/dot.cpp b/src/dot.cpp
index ef0e053..f3533b5 100644
--- a/src/dot.cpp
+++ b/src/dot.cpp
@@ -1613,7 +1613,7 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
convertMapFile(tmpout,baseName+".map");
if (!tmpstr.isEmpty())
{
- out << "<map name=\"" << mapName << "\">" << endl;
+ out << "<map name=\"" << mapName << "_map\">" << endl;
out << tmpstr;
out << "</map>" << endl;
}
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index e6951fe..90b1ab2 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -1441,6 +1441,56 @@ static int findFunctionPtr(const QCString &type,int *pLength=0)
}
}
+
+/*! Returns TRUE iff \a type is a class within scope \a context.
+ * Used to detect variable declarations that look like function prototypes.
+ */
+static bool isVarWithConstructor(Entry *root)
+{
+ static QRegExp initChars("[0-9\"'&*!^]+");
+ static QRegExp idChars("[a-z_A-Z][a-z_A-Z0-9]*");
+ if (root->type.isEmpty()) return FALSE;
+ Definition *ctx = 0;
+ //printf("isVarWithConstructor(%s,%s)\n",root->parent->name.data(),
+ // root->type.data());
+ if (root->parent->name) ctx=Doxygen::namespaceSDict.find(root->parent->name);
+ bool typeIsClass=getResolvedClass(ctx,root->type)!=0;
+ if (typeIsClass) // now we still have to check if the arguments are
+ // types or values. Since we do not have complete type info
+ // we need to rely on heuristics :-(
+ {
+ //printf("typeIsClass\n");
+ ArgumentList *al = root->argList;
+ if (al==0) return FALSE; // empty arg list -> function prototype.
+ ArgumentListIterator ali(*al);
+ Argument *a;
+ for (ali.toFirst();(a=ali.current());++ali)
+ {
+ //printf("a->name=%s a->type=%s\n",a->name.data(),a->type.data());
+ if (!a->name.isEmpty() || !a->defval.isEmpty()) return FALSE; // arg has (type,name) pair -> function prototype
+ if (a->type.isEmpty() || getResolvedClass(ctx,a->type)!=0) return FALSE; // arg type is a known type
+ if (a->type.find(initChars)==0) return TRUE; // argument type starts with typical initializer char
+ QCString resType=resolveTypeDef(ctx,a->type);
+ if (resType.isEmpty()) resType=a->type;
+ int len;
+ if (idChars.match(resType,0,&len)==0) // resType starts with identifier
+ {
+ resType=resType.left(len);
+ //printf("resType=%s\n",resType.data());
+ if (resType=="int" || resType=="long" || resType=="float" ||
+ resType=="double" || resType=="char" || resType=="signed" ||
+ resType=="const" || resType=="unsigned")
+ {
+ return FALSE; // type keyword -> function prototype
+ }
+ }
+ }
+ return TRUE;
+ }
+ // return type not a class -> function prototype
+ return FALSE;
+}
+
//----------------------------------------------------------------------
// Searches the Entry tree for Variable documentation sections.
// If found they are stored in their class or in the global list.
@@ -1454,6 +1504,9 @@ void buildVarList(Entry *root)
) ||
(root->section==Entry::FUNCTION_SEC && // or maybe a function pointer variable
findFunctionPtr(root->type)!=-1
+ ) ||
+ (root->section==Entry::FUNCTION_SEC && // class variable initialized by constructor
+ isVarWithConstructor(root)
)
)
) // documented variable
@@ -7662,5 +7715,16 @@ void generateOutput()
msg("Generating AutoGen DEF output...\n");
generateDEF();
}
+ if (Config_getBool("GENERATE_HTMLHELP") && !Config_getString("HHC_LOCATION").isEmpty())
+ {
+ msg("Running html help compiler...\n");
+ QString oldDir = QDir::currentDirPath();
+ QDir::setCurrent(Config_getString("HTML_OUTPUT"));
+ if (iSystem(Config_getString("HHC_LOCATION"), "index.hhp", FALSE))
+ {
+ err("Error: failed to run html help compiler on index.hhp");
+ }
+ QDir::setCurrent(oldDir);
+ }
}
diff --git a/src/htmlhelp.cpp b/src/htmlhelp.cpp
index 6bdded6..4ca6188 100644
--- a/src/htmlhelp.cpp
+++ b/src/htmlhelp.cpp
@@ -387,8 +387,12 @@ void HtmlHelp::createProjectFile()
QCString indexName="index"+htmlFileExtension;
if (Config_getBool("GENERATE_TREEVIEW")) indexName="main"+htmlFileExtension;
- t << "[OPTIONS]\n"
- "Compatibility=1.1\n"
+ t << "[OPTIONS]\n";
+ if (!Config_getString("CHM_FILE").isEmpty())
+ {
+ t << "Compiled file=" << Config_getString("CHM_FILE") << "\n";
+ }
+ t << "Compatibility=1.1\n"
"Full-text search=Yes\n"
"Contents file=index.hhc\n"
"Default Window=main\n"
diff --git a/src/index.cpp b/src/index.cpp
index a9c52de..cd93267 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -930,7 +930,11 @@ void writeFileIndex(OutputList &ol)
path=stripFromPath(fd->getPath().copy());
}
QCString fullName=fd->name();
- if (!path.isEmpty()) fullName.prepend(path+"/");
+ if (!path.isEmpty())
+ {
+ if (path.at(path.length()-1)!='/') fullName.prepend("/");
+ fullName.prepend(path);
+ }
// --------------- LaTeX/RTF only -------------------------
#if 0
diff --git a/src/reflist.h b/src/reflist.h
index cb60dc2..d282c13 100644
--- a/src/reflist.h
+++ b/src/reflist.h
@@ -32,7 +32,16 @@ struct RefItem
bool written;
};
-/*! Singleton for the one and only RefList */
+/*! @brief List of cross-referenced items
+ *
+ * This class represents a list of items that are put
+ * at a certain point in the documentation by some special command
+ * and are collected in a list. The items cross-reference the
+ * documentation and the list.
+ *
+ * Examples are the todo list, the test list and the bug list,
+ * introduced by the \\todo, \\test, and \\bug commands respectively.
+ */
class RefList
{
public:
@@ -63,8 +72,4 @@ class RefList
BaseOutputDocInterface::SectionTypes m_type;
};
-//extern RefList todoList;
-//extern RefList testList;
-//extern RefList bugList;
-
#endif
diff --git a/src/rtfgen.cpp b/src/rtfgen.cpp
index 0b11da5..04ce7f4 100644
--- a/src/rtfgen.cpp
+++ b/src/rtfgen.cpp
@@ -839,7 +839,7 @@ void RTFGenerator::beginRTFDocument()
void RTFGenerator::beginRTFChapter()
{
t <<"\n";
- DBG_RTF(t << "{\\comment Begin Chapter}\n")
+ DBG_RTF(t << "{\\comment BeginRTFChapter}\n")
t << Rtf_Style_Reset;
// if we are compact, no extra page breaks...
@@ -859,7 +859,7 @@ void RTFGenerator::beginRTFChapter()
void RTFGenerator::beginRTFSection()
{
t <<"\n";
- DBG_RTF(t << "{\\comment Begin Section}\n")
+ DBG_RTF(t << "{\\comment BeginRTFSection}\n")
t << Rtf_Style_Reset;
// if we are compact, no extra page breaks...
@@ -896,11 +896,13 @@ void RTFGenerator::endFile()
void RTFGenerator::startProjectNumber()
{
+ DBG_RTF(t <<"{\\comment startProjectNumber }" << endl)
t << " ";
}
void RTFGenerator::endProjectNumber()
{
+ DBG_RTF(t <<"{\\comment endProjectNumber }" << endl)
}
void RTFGenerator::startIndexSection(IndexSections is)
@@ -1093,7 +1095,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
t << Rtf_Style_Reset << Rtf_Style["SubTitle"]->reference << endl; // set to title style
- t << "\\vertalc\\qc\\par\\par\\par\\par\\par\\par\\par";
+ t << "\\vertalc\\qc\\par\\par\\par\\par\\par\\par\\par\n";
if (logoFilename)
{
t << "{\\field\\flddirty {\\*\\fldinst INCLUDEPICTURE " << logoFilename;
@@ -1131,14 +1133,23 @@ void RTFGenerator::endIndexSection(IndexSections is)
DBG_RTF(t << "{\\comment Table of contents}\n")
t << "\\vertalt\n";
t << Rtf_Style_Reset << endl;
+ t << Rtf_Style["Heading1"]->reference;
+ t << theTranslator->trRTFTableOfContents() << "\\par"<< endl;
+ t << Rtf_Style_Reset << "\\par" << endl;
t << "{\\field\\fldedit {\\*\\fldinst TOC \\\\f \\\\*MERGEFORMAT}{\\fldrslt Table of contents}}\\par\n";
t << Rtf_Style_Reset << endl;
-
}
break;
case isMainPage:
t << "\\par " << Rtf_Style_Reset << endl;
- t << "{\\tc \\v " << theTranslator->trMainPage() << "}"<< endl;
+ if (!Doxygen::mainPage || Doxygen::mainPage->title.isEmpty())
+ {
+ t << "{\\tc \\v " << theTranslator->trMainPage() << "}"<< endl;
+ }
+ else
+ {
+ t << "{\\tc \\v " << substitute(Doxygen::mainPage->title,"%","") << "}"<< endl;
+ }
t << "{\\field\\fldedit{\\*\\fldinst INCLUDETEXT \"";
if (Config_getBool("GENERATE_TREEVIEW")) t << "main"; else t << "index";
t << ".rtf\" \\\\*MERGEFORMAT}{\\fldrslt includedstuff}}\n";
@@ -1369,10 +1380,10 @@ void RTFGenerator::endIndexSection(IndexSections is)
void RTFGenerator::lastIndexPage()
{
- DBG_RTF(t <<"{\\comment Begining Body of RTF Document}\n")
+ DBG_RTF(t <<"{\\comment Beginning Body of RTF Document}\n")
// end page and setup for rest of document
- t <<"\\sect \\sbkpage \\pgnrestart\n";
- t <<"\\sect \\sectd \\sbknone \\pgndec\n";
+ t <<"\\sect \\sbkpage \\pgndec \\pgnrestart\n";
+ t <<"\\sect \\sectd \\sbknone\n";
// set footer
t <<"{\\footer "<< Rtf_Style["Footer"]->reference << "{\\chpgn}}\n";
@@ -1386,9 +1397,8 @@ void RTFGenerator::writeStyleInfo(int)
void RTFGenerator::lineBreak()
{
+ DBG_RTF(t << "{\\comment (lineBreak)}" << endl)
t << "\\par" << endl;
- //newParagraph();
- //t << "\\line" << endl;
}
void RTFGenerator::writeString(const char *text)
@@ -1403,7 +1413,6 @@ void RTFGenerator::startIndexList()
incrementIndentLevel();
t << Rtf_Style_Reset << Rtf_LCList_DepthStyle() << endl;
newParagraph();
- m_omitParagraph=TRUE;
}
void RTFGenerator::endIndexList()
@@ -1412,7 +1421,6 @@ void RTFGenerator::endIndexList()
newParagraph();
t << "}";
decrementIndentLevel();
- m_omitParagraph=TRUE;
}
/*! start bullet list */
@@ -1431,7 +1439,6 @@ void RTFGenerator::endItemList()
DBG_RTF(t << "{\\comment (endItemList level=" << m_listLevel << ")}" << endl)
t << "}";
decrementIndentLevel();
- m_omitParagraph=TRUE;
}
/*! start enumeration list */
@@ -1442,10 +1449,6 @@ void RTFGenerator::startEnumList() // starts an enumeration list
incrementIndentLevel();
listItemInfo[m_listLevel].isEnum = TRUE;
listItemInfo[m_listLevel].number = 1;
- //t << Rtf_Style_Reset << Rtf_EList_DepthStyle() << endl;
- //newParagraph();
- //m_omitParagraph=TRUE;
-
}
/*! end enumeration list */
@@ -1455,7 +1458,6 @@ void RTFGenerator::endEnumList()
DBG_RTF(t << "{\\comment (endEnumList)}" << endl)
t << "}";
decrementIndentLevel();
- m_omitParagraph=TRUE;
}
/*! write bullet or enum item */
@@ -1474,7 +1476,6 @@ void RTFGenerator::writeListItem()
{
t << Rtf_BList_DepthStyle() << endl;
}
- m_omitParagraph=TRUE;
}
void RTFGenerator::writeIndexItem(const char *ref,const char *fn,
@@ -1494,7 +1495,6 @@ void RTFGenerator::writeIndexItem(const char *ref,const char *fn,
t << endl;
}
newParagraph();
- m_omitParagraph=TRUE;
}
//void RTFGenerator::writeIndexFileItem(const char *,const char *text)
@@ -1914,6 +1914,7 @@ void RTFGenerator::endMemberDoc()
void RTFGenerator::startDoxyAnchor(const char *,const char *,
const char *,const char *)
{
+ DBG_RTF(t << "{\\comment startDoxyAnchor}" << endl)
}
void RTFGenerator::endDoxyAnchor(const char *fName,const char *anchor)
@@ -1929,6 +1930,7 @@ void RTFGenerator::endDoxyAnchor(const char *fName,const char *anchor)
ref+=anchor;
}
+ DBG_RTF(t << "{\\comment endDoxyAnchor}" << endl)
t << "{\\bkmkstart ";
t << formatBmkStr(ref);
t << "}" << endl;
@@ -2050,7 +2052,6 @@ void RTFGenerator::endDescList()
DBG_RTF(t << "{\\comment (endDescList)}" << endl)
newParagraph();
decrementIndentLevel();
- m_omitParagraph = TRUE;
t << "}";
}
@@ -2082,6 +2083,7 @@ void RTFGenerator::startSection(const char *,const char *title,bool sub)
void RTFGenerator::endSection(const char *lab,bool)
{
+ DBG_RTF(t << "{\\comment (endSection)}" << endl)
newParagraph();
// make bookmark
writeAnchor(0,lab);
@@ -2269,6 +2271,7 @@ void RTFGenerator::endMemberItem(bool)
void RTFGenerator::writeAnchor(const char *fileName,const char *name)
{
+ DBG_RTF(t <<"{\\comment writeAncheor }" << endl)
t << "{\\bkmkstart ";
if (fileName) t << formatBmkStr(fileName);
if (fileName && name) t << "_";
@@ -2300,7 +2303,6 @@ void RTFGenerator::endCodeFragment()
//t << Rtf_Style_Reset << styleStack.top() << endl;
DBG_RTF(t << "{\\comment (endCodeFragment) }" << endl)
t << "}" << endl;
- m_omitParagraph = TRUE;
}
void RTFGenerator::writeNonBreakableSpace(int)
@@ -2418,7 +2420,6 @@ void RTFGenerator::endDescTableData()
{
DBG_RTF(t << "{\\comment (endDescTableData) }" << endl)
newParagraph();
- m_omitParagraph=TRUE;
}
// a style for list formatted as a "bulleted list"
@@ -2485,7 +2486,7 @@ const char * RTFGenerator::Rtf_Code_DepthStyle()
void RTFGenerator::startTextBlock(bool dense)
{
- DBG_RTF(t << "{\\comment Start TextBlock}" << endl)
+ DBG_RTF(t << "{\\comment startTextBlock}" << endl)
t << "{" << endl;
t << Rtf_Style_Reset;
if (dense) // no spacing between "paragraphs"
@@ -2501,15 +2502,16 @@ void RTFGenerator::startTextBlock(bool dense)
void RTFGenerator::endTextBlock()
{
newParagraph();
- DBG_RTF(t << "{\\comment End TextBlock}" << endl)
+ DBG_RTF(t << "{\\comment endTextBlock}" << endl)
t << "}" << endl;
- m_omitParagraph = TRUE;
}
void RTFGenerator::newParagraph()
{
+ DBG_RTF(t << "{\\comment (newParagraph)}" << endl)
if (!m_omitParagraph) t << "\\par" << endl;
- m_omitParagraph = FALSE;
+ // Suppress multiple paragraphs in a row
+ m_omitParagraph = TRUE;
}
void RTFGenerator::startMemberSubtitle()
@@ -2936,7 +2938,6 @@ void RTFGenerator::endParamList()
DBG_RTF(t << "{\\comment (endParamList)}" << endl)
newParagraph();
decrementIndentLevel();
- m_omitParagraph = TRUE;
t << "}";
}
diff --git a/src/scanner.l b/src/scanner.l
index 9a76eab..095c1cd 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -2148,7 +2148,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
/*- Function argument reading rules ---------------------------------------*/
-<ReadFuncArgType>[^ \/\r\t\n\)\(\"\']+ { *copyArgString+=yytext;
+<ReadFuncArgType>[^ \/\r\t\n\)\(\"\']+ { *copyArgString+=yytext;
fullArgString+=yytext;
}
<CopyArgString>[^\n\\\"\']+ { *copyArgString+=yytext;
@@ -2183,7 +2183,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
BEGIN( currentArgumentContext );
}
/* a special comment */
-<ReadFuncArgType>("/*"[*!]|"//"[/!])("<"?) {
+<ReadFuncArgType,ReadTempArgs>("/*"[*!]|"//"[/!])("<"?) {
if (currentArgumentContext==DefineEnd)
{
// for defines we interpret a comment
@@ -3934,7 +3934,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
BEGIN( lastBriefContext );
}
<ClassDocBrief>{BS}{CMD}("brief"|"short"){BN}+ {
- lastBriefContext=YY_START;
+ //lastBriefContext=YY_START;
}
<ClassDocBrief>. { current->brief += *yytext; }
<ClassDocDefine>{ID}/"(" {
diff --git a/src/translator.h b/src/translator.h
index 6398ca4..093f4ad 100644
--- a/src/translator.h
+++ b/src/translator.h
@@ -371,6 +371,12 @@ class Translator
virtual QCString trImplementedFromList(int numEntries) = 0;
virtual QCString trImplementedInList(int numEntries) = 0;
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.16
+//////////////////////////////////////////////////////////////////////////
+
+ virtual QCString trRTFTableOfContents() = 0;
+
};
#endif
diff --git a/src/translator_adapter.h b/src/translator_adapter.h
index 932cfe3..5ef3094 100644
--- a/src/translator_adapter.h
+++ b/src/translator_adapter.h
@@ -40,7 +40,17 @@ class TranslatorAdapterBase : public Translator
};
-class TranslatorAdapter_1_2_13 : public TranslatorAdapterBase
+class TranslatorAdapter_1_2_16 : public TranslatorAdapterBase
+{
+ public:
+ virtual QCString updateNeededMessage()
+ { return createUpdateNeededMessage(idLanguage(),"release 1.2.16"); }
+
+ virtual QCString trRTFTableOfContents()
+ { return english.trRTFTableOfContents(); }
+};
+
+class TranslatorAdapter_1_2_13 : public TranslatorAdapter_1_2_16
{
public:
virtual QCString updateNeededMessage()
diff --git a/src/translator_br.h b/src/translator_br.h
index 74e1dea..eaf4cb2 100644
--- a/src/translator_br.h
+++ b/src/translator_br.h
@@ -23,7 +23,7 @@
#ifndef TRANSLATOR_BR_H
#define TRANSLATOR_BR_H
-class TranslatorBrazilian: public Translator
+class TranslatorBrazilian: public TranslatorAdapter_1_2_16
{
public:
diff --git a/src/translator_cz.h b/src/translator_cz.h
index a0001ca..74e2ac2 100644
--- a/src/translator_cz.h
+++ b/src/translator_cz.h
@@ -157,7 +157,7 @@
// probably slightly faster.
-class TranslatorCzech : public Translator
+class TranslatorCzech : public TranslatorAdapter_1_2_16
{
private:
/*! The decode() inline assumes the source written in the
diff --git a/src/translator_de.h b/src/translator_de.h
index db3427e..11fb085 100644
--- a/src/translator_de.h
+++ b/src/translator_de.h
@@ -68,7 +68,7 @@
#ifndef TRANSLATOR_DE_H
#define TRANSLATOR_DE_H
-class TranslatorGerman : public Translator
+class TranslatorGerman : public TranslatorAdapter_1_2_16
{
public:
diff --git a/src/translator_en.h b/src/translator_en.h
index c7ab6c7..fe88737 100644
--- a/src/translator_en.h
+++ b/src/translator_en.h
@@ -638,7 +638,7 @@ class TranslatorEnglish : public Translator
ClassDef::CompoundType compType,
bool isTemplate)
{
- QCString result=(QCString)clName+" ";
+ QCString result=(QCString)clName;
switch(compType)
{
case ClassDef::Class: result+=" Class"; break;
@@ -1392,6 +1392,18 @@ class TranslatorEnglish : public Translator
return "Implemented in "+trWriteList(numEntries)+".";
}
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.16
+//////////////////////////////////////////////////////////////////////////
+
+ /*! used in RTF documentation as a heading for the Table
+ * of Contents.
+ */
+ virtual QCString trRTFTableOfContents()
+ {
+ return "Table of Contents";
+ }
+
};
#endif
diff --git a/src/translator_fr.h b/src/translator_fr.h
index 4611501..59119d4 100644
--- a/src/translator_fr.h
+++ b/src/translator_fr.h
@@ -39,7 +39,7 @@
#ifndef TRANSLATOR_FR_H
#define TRANSLATOR_FR_H
-class TranslatorFrench : public Translator
+class TranslatorFrench : public TranslatorAdapter_1_2_16
{
public:
QCString idLanguage()
diff --git a/src/translator_hr.h b/src/translator_hr.h
index 100d53c..baff5d5 100644
--- a/src/translator_hr.h
+++ b/src/translator_hr.h
@@ -50,7 +50,7 @@
#ifndef TRANSLATOR_HR_H
#define TRANSLATOR_HR_H
-class TranslatorCroatian : public Translator
+class TranslatorCroatian : public TranslatorAdapter_1_2_16
{
private:
/*! to avoid macro redefinition from translator_cz.h */
diff --git a/src/translator_it.h b/src/translator_it.h
index 3d49e6a..35f96d8 100644
--- a/src/translator_it.h
+++ b/src/translator_it.h
@@ -19,6 +19,8 @@
*
* Revision history
*
+ * 2002/07: modified trRelatedPagesDescription() method
+ * correct typo in trInclByDepGraph() method
* 2002/01: translated new items used since version 1.2.13
* updated e-mail address
* 2001/11: corrected the translation fixing the issues reported by the translator.pl script
@@ -62,7 +64,7 @@
#ifndef TRANSLATOR_IT_H
#define TRANSLATOR_IT_H
-class TranslatorItalian : public Translator
+class TranslatorItalian : public TranslatorAdapter_1_2_16
{
public:
@@ -333,7 +335,7 @@ class TranslatorItalian : public Translator
/*! This is an introduction to the page with the list of related pages */
QCString trRelatedPagesDescription()
- { return "Questa è la lista di tutte le pagine di documentazione collegate fra loro:"; }
+ { return "Questa è la lista di tutte le pagine di documentazione generale:"; }
/*! This is an introduction to the page with the list of class/file groups */
QCString trModulesDescription()
@@ -1011,7 +1013,7 @@ class TranslatorItalian : public Translator
}
virtual QCString trInclByDepGraph()
{
- return "Queato grafo mostra quali file includono direttamente o indirettamente questo file:";
+ return "Questo grafo mostra quali altri file includono direttamente o indirettamente questo file:";
}
virtual QCString trSince()
{
diff --git a/src/translator_jp.h b/src/translator_jp.h
index 30ac856..2275ea8 100644
--- a/src/translator_jp.h
+++ b/src/translator_jp.h
@@ -61,7 +61,7 @@ class TranslatorJapaneseEn : public TranslatorEnglish
}
};
-class TranslatorJapanese : public Translator
+class TranslatorJapanese : public TranslatorAdapter_1_2_16
{
private:
/*! The decode() can change euc into sjis */
diff --git a/src/translator_nl.h b/src/translator_nl.h
index 631ed08..bc4eaca 100644
--- a/src/translator_nl.h
+++ b/src/translator_nl.h
@@ -272,7 +272,7 @@ class TranslatorDutch : public Translator
bool isTemplate)
// used as the title of the HTML page of a class/struct/union
{
- QCString result=(QCString)clName+" ";
+ QCString result=(QCString)clName;
if (isTemplate) result+=" Template";
switch(compType)
{
@@ -975,6 +975,10 @@ class TranslatorDutch : public Translator
return "Gebruikt";
}
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.13
+//////////////////////////////////////////////////////////////////////////
+
/*! used in member documentation blocks to produce a list of
* members that are implemented by this one.
*/
@@ -990,6 +994,14 @@ class TranslatorDutch : public Translator
{
return "Wordt ge&iuml;mplementeerd door "+trWriteList(numEntries)+".";
}
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.16
+//////////////////////////////////////////////////////////////////////////
+
+ virtual QCString trRTFTableOfContents()
+ { return "Inhoudsopgave"; }
+
};
#endif
diff --git a/src/translator_pl.h b/src/translator_pl.h
index 0e3ce6b..4951a6f 100644
--- a/src/translator_pl.h
+++ b/src/translator_pl.h
@@ -22,7 +22,7 @@
#include "translator_adapter.h"
-class TranslatorPolish : public Translator
+class TranslatorPolish : public TranslatorAdapter_1_2_16
{
public:
diff --git a/src/translator_pt.h b/src/translator_pt.h
index bc32c8a..3754517 100644
--- a/src/translator_pt.h
+++ b/src/translator_pt.h
@@ -34,7 +34,7 @@
#ifndef TRANSLATOR_PT_H
#define TRANSLATOR_PT_H
-class TranslatorPortuguese : public Translator
+class TranslatorPortuguese : public TranslatorAdapter_1_2_16
{
public:
diff --git a/src/translator_ro.h b/src/translator_ro.h
index 3383e0d..cc7183c 100644
--- a/src/translator_ro.h
+++ b/src/translator_ro.h
@@ -42,7 +42,7 @@
#define TRANSLATOR_RO_H
-class TranslatorRomanian: public Translator
+class TranslatorRomanian: public TranslatorAdapter_1_2_16
{
public:
diff --git a/src/translator_ru.h b/src/translator_ru.h
index e9f330a..d40f064 100644
--- a/src/translator_ru.h
+++ b/src/translator_ru.h
@@ -50,7 +50,7 @@
#ifndef TRANSLATOR_RU_H
#define TRANSLATOR_RU_H
-class TranslatorRussian : public Translator
+class TranslatorRussian : public TranslatorAdapter_1_2_16
{
private:
/*! The Decode() inline assumes the source written in the
diff --git a/src/translator_si.h b/src/translator_si.h
index cef09f6..cef1f33 100644
--- a/src/translator_si.h
+++ b/src/translator_si.h
@@ -21,7 +21,7 @@
#define TRANSLATOR_SI_H
-class TranslatorSlovene : public Translator
+class TranslatorSlovene : public TranslatorAdapter_1_2_16
{
public:
QCString idLanguage()
diff --git a/src/translator_sr.h b/src/translator_sr.h
index aa5502b..71d66d5 100644
--- a/src/translator_sr.h
+++ b/src/translator_sr.h
@@ -20,7 +20,7 @@
// translation by Dejan D. M. Milosavljevic <dmilos@email.com>;<dmilosx@ptt.yu>
-class TranslatorSerbian : public Translator
+class TranslatorSerbian : public TranslatorAdapter_1_2_16
{
QCString decode(const QCString& sInput)
{
diff --git a/src/translator_tw.h b/src/translator_tw.h
index 6cef372..f8b218f 100644
--- a/src/translator_tw.h
+++ b/src/translator_tw.h
@@ -39,7 +39,7 @@
// Translator class (by the local maintainer) when the localized
// translator is made up-to-date again.
-class TranslatorChinesetraditional : public Translator
+class TranslatorChinesetraditional : public TranslatorAdapter_1_2_16
{
public:
diff --git a/src/util.h b/src/util.h
index a92f77c..61d9ff3 100644
--- a/src/util.h
+++ b/src/util.h
@@ -43,7 +43,7 @@ class MemberGroupSDict;
class Definition;
struct TagInfo;
class MemberNameInfoSDict;
-class ListItemInfo;
+struct ListItemInfo;
//--------------------------------------------------------------------
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index 9c694a8..567cf02 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -1508,6 +1508,25 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
<< "\">" << convertToXML(cd->name()) << "</innerclass>" << endl;
}
}
+
+ IncludeInfo *ii=cd->includeInfo();
+ if (ii)
+ {
+ QCString nm = ii->includeName;
+ if (nm.isEmpty() && ii->fileDef) nm = ii->fileDef->docName();
+ if (!nm.isEmpty())
+ {
+ t << " <includes";
+ if (ii->fileDef && !ii->fileDef->isReference()) // TODO: support external references
+ {
+ t << " id=\"" << ii->fileDef->getOutputFileBase() << "\"";
+ }
+ t << " local=\"" << (ii->local ? "yes" : "no") << "\"";
+ t << nm;
+ t << "</includes>" << endl;
+ }
+ }
+
writeTemplateList(cd,t);
writeListOfAllMembers(cd,t);
MemberGroupSDict::Iterator mgli(*cd->memberGroupSDict);
diff --git a/wintools/Doxygen.dsp b/wintools/Doxygen.dsp
new file mode 100644
index 0000000..d8f63dc
--- /dev/null
+++ b/wintools/Doxygen.dsp
@@ -0,0 +1,1130 @@
+# Microsoft Developer Studio Project File - Name="Doxygen" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Console Application" 0x0103
+
+CFG=Doxygen - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE
+!MESSAGE NMAKE /f "Doxygen.mak".
+!MESSAGE
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE
+!MESSAGE NMAKE /f "Doxygen.mak" CFG="Doxygen - Win32 Debug"
+!MESSAGE
+!MESSAGE Possible choices for configuration are:
+!MESSAGE
+!MESSAGE "Doxygen - Win32 Release" (based on "Win32 (x86) Console Application")
+!MESSAGE "Doxygen - Win32 Debug" (based on "Win32 (x86) Console Application")
+!MESSAGE
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName "Doxygen"
+# PROP Scc_LocalPath ".."
+CPP=cwcl.exe
+RSC=rc.exe
+
+!IF "$(CFG)" == "Doxygen - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "Release"
+# PROP Intermediate_Dir "Release"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
+# ADD CPP /nologo /W3 /GX /O2 /I "..\qtools" /I "..\src" /I "..\libpng" /D "WIN32" /D "_CONSOLE" /D "_MBCS" /D "NDEBUG" /D "QT_NO_CODECS" /FR /YX /FD /Zm200 /c
+# ADD BASE RSC /l 0x809 /d "NDEBUG"
+# ADD RSC /l 0x809 /d "NDEBUG" /d "QT_NO_CODECS"
+BSC32=snBsc.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=cwlink.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
+
+!ELSEIF "$(CFG)" == "Doxygen - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "Debug"
+# PROP Intermediate_Dir "Debug"
+# PROP Ignore_Export_Lib 0
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
+# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\qtools" /I "..\src" /I "..\libpng" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "QT_NO_CODECS" /FR /YX /FD /Zm200 /GZ /c
+# ADD BASE RSC /l 0x809 /d "_DEBUG"
+# ADD RSC /l 0x809 /d "_DEBUG" /d "QT_NO_CODECS"
+BSC32=snBsc.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LINK32=cwlink.exe
+# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
+
+!ENDIF
+
+# Begin Target
+
+# Name "Doxygen - Win32 Release"
+# Name "Doxygen - Win32 Debug"
+# Begin Group "Source Files"
+
+# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+# Begin Source File
+
+SOURCE=..\libpng\adler32.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ce_lex.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ce_parse.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\classdef.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\classlist.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\code.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\commentcnv.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\compress.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\config.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\cppvalue.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\crc32.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\debug.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\declinfo.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\defargs.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\defgen.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\define.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\definition.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\deflate.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\diagram.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\doc.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\dot.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\doxygen.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\entry.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\filedef.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\filename.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\formula.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ftvhelp.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\groupdef.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\gzio.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\htmlgen.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\htmlhelp.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\image.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\index.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\infblock.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\infcodes.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\inffast.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\inflate.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\inftrees.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\infutil.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\instdox.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\language.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\latexgen.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\logos.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\main.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\mangen.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\memberdef.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\membergroup.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\memberlist.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\membername.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\message.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\namespacedef.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\outputgen.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\outputlist.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\packagedef.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\png.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\pngenc.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngerror.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pnggccrd.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngget.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngmem.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngpread.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngread.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngrio.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngrtran.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngrutil.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngset.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngtrans.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngvcrd.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngwio.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngwrite.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngwtran.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngwutil.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\pre.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qbuffer.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qcollection.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qcstring.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qdatastream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qdatetime.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qdir.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qdir_win32.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qfile.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qfile_win32.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qfileinfo.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qfileinfo_win32.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qgarray.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qgdict.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qglist.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qglobal.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qgvector.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qiodevice.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qmap.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qregexp.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qstring.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qstringlist.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qtextcodec.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qtextstream.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qxml.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\reflist.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\rtfgen.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\scanner.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\searchindex.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\suffixtree.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\tagreader.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\trees.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\uncompr.c
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\util.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\version.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\xmlgen.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\zutil.c
+# End Source File
+# End Group
+# Begin Group "Header Files"
+
+# PROP Default_Filter "h;hpp;hxx;hm;inl"
+# Begin Source File
+
+SOURCE=..\src\bufstr.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ce_parse.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\classdef.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\classlist.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\code.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\commentcnv.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\config.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\constexp.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\cppvalue.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\debug.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\declinfo.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\defargs.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\defgen.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\define.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\definition.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\deflate.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\diagram.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\doc.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\dot.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\doxygen.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\entry.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\example.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\filedef.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\filename.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\formula.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\ftvhelp.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\groupdef.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\htmlgen.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\htmlhelp.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\image.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\index.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\infblock.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\infcodes.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\inffast.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\inffixed.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\inftrees.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\infutil.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\instdox.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\lang_cfg.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\language.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\latexgen.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\logos.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\mangen.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\memberdef.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\membergroup.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\memberlist.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\membername.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\message.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\namespacedef.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\outputgen.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\outputlist.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\packagedef.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\page.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\png.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngasmrd.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\pngconf.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\pngenc.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\pre.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qarray.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qasciidict.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qbuffer.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qcollection.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qconfig.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qcstring.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qdatastream.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qdatetime.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qdict.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qdir.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qfeatures.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qfile.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qfiledefs_p.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qfileinfo.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qgarray.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qgdict.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qgeneric.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qglist.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qglobal.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qgvector.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qintdict.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qiodevice.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qlist.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qmap.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qmodules.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qptrdict.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qqueue.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qregexp.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qshared.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qsortedlist.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qstack.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qstring.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qstringlist.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qstrlist.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qstrvec.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\qtbc.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qtextcodec.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qtextstream.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qtl.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qvaluelist.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qvaluestack.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qvector.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\qtools\qxml.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\reflist.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\rtfgen.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\scanner.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\searchindex.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\section.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\sortdict.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\suffixtree.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\tagreader.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_adapter.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_br.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_cn.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_cz.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_de.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_dk.h
+# End Source File
+# Begin Source File
+
+SOURCE="..\src\translator_en-old.h"
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_en.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_es.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_fi.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_fr.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_gr.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_hr.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_hu.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_it.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_jp.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_kr.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_nl.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_no.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_pl.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_pt.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_ro.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_ru.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_se.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_si.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_sk.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_std.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_tw.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\translator_ua.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\trees.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\treeview.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\unistd.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\util.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\version.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\src\xmlgen.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\zconf.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\zlib.h
+# End Source File
+# Begin Source File
+
+SOURCE=..\libpng\zutil.h
+# End Source File
+# End Group
+# Begin Group "Resource Files"
+
+# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+# End Group
+# End Target
+# End Project
diff --git a/wintools/Doxygen.dsw b/wintools/Doxygen.dsw
new file mode 100644
index 0000000..6e7bceb
--- /dev/null
+++ b/wintools/Doxygen.dsw
@@ -0,0 +1,33 @@
+Microsoft Developer Studio Workspace File, Format Version 6.00
+# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
+
+###############################################################################
+
+Project: "Doxygen"=".\Doxygen.dsp" - Package Owner=<4>
+
+Package=<5>
+{{{
+ begin source code control
+ Doxygen
+ ..
+ end source code control
+}}}
+
+Package=<4>
+{{{
+}}}
+
+###############################################################################
+
+Global:
+
+Package=<5>
+{{{
+}}}
+
+Package=<3>
+{{{
+}}}
+
+###############################################################################
+
diff --git a/wintools/README b/wintools/README
new file mode 100644
index 0000000..4f3e599
--- /dev/null
+++ b/wintools/README
@@ -0,0 +1,9 @@
+The files Doxygen.dsw and Doxygen.dsp can
+be used to build doxygen from within
+Microsoft's Developer Studio 6.0.
+
+These files are created and maintained by
+Simon Goodwin <simon.goodwin@atd.co.uk>.
+Please contact him in case of question or
+problems with these files.
+