summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2008-01-16 19:20:21 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2008-01-16 19:20:21 (GMT)
commitfc90c25edfba404f54319eaeeacca39246f95c9e (patch)
tree78bac4e928b25e139605aceefa82537f378d8af0 /src
parentf57b7d974fec18d1d8f325c102efd8be5930131d (diff)
downloadDoxygen-fc90c25edfba404f54319eaeeacca39246f95c9e.zip
Doxygen-fc90c25edfba404f54319eaeeacca39246f95c9e.tar.gz
Doxygen-fc90c25edfba404f54319eaeeacca39246f95c9e.tar.bz2
Release-1.5.4
Diffstat (limited to 'src')
-rw-r--r--src/Makefile.in2
-rw-r--r--src/bufstr.h2
-rw-r--r--src/classdef.cpp2
-rw-r--r--src/classdef.h2
-rw-r--r--src/classlist.cpp5
-rw-r--r--src/classlist.h2
-rw-r--r--src/code.h2
-rw-r--r--src/code.l20
-rw-r--r--src/commentcnv.h2
-rw-r--r--src/commentcnv.l2
-rw-r--r--src/commentscan.l2
-rw-r--r--src/config.l19
-rw-r--r--src/constexp.h2
-rw-r--r--src/constexp.l2
-rw-r--r--src/constexp.y2
-rw-r--r--src/cppvalue.cpp2
-rw-r--r--src/cppvalue.h2
-rw-r--r--src/debug.cpp2
-rw-r--r--src/debug.h2
-rw-r--r--src/declinfo.h2
-rw-r--r--src/declinfo.l2
-rw-r--r--src/defargs.h2
-rw-r--r--src/defargs.l2
-rw-r--r--src/defgen.cpp2
-rw-r--r--src/defgen.h2
-rw-r--r--src/define.cpp2
-rw-r--r--src/define.h2
-rw-r--r--src/definition.cpp2
-rw-r--r--src/definition.h4
-rw-r--r--src/diagram.cpp6
-rw-r--r--src/diagram.h6
-rw-r--r--src/dirdef.h2
-rw-r--r--src/docparser.cpp2
-rw-r--r--src/docparser.h2
-rw-r--r--src/doctokenizer.h2
-rw-r--r--src/doctokenizer.l4
-rw-r--r--src/docvisitor.h2
-rw-r--r--src/dot.cpp29
-rw-r--r--src/dot.h18
-rw-r--r--src/doxygen.cpp209
-rw-r--r--src/doxygen.css1
-rw-r--r--src/doxygen.h5
-rw-r--r--src/doxygen.pro.in2
-rw-r--r--src/doxygen_css.h1
-rw-r--r--src/doxytag.l2
-rw-r--r--src/doxytag.pro.in2
-rw-r--r--src/doxytag.t2
-rw-r--r--src/entry.cpp2
-rw-r--r--src/entry.h2
-rw-r--r--src/example.h2
-rw-r--r--src/filedef.cpp5
-rw-r--r--src/filedef.h2
-rw-r--r--src/filename.cpp2
-rw-r--r--src/filename.h2
-rw-r--r--src/formula.cpp2
-rw-r--r--src/formula.h2
-rw-r--r--src/fortrancode.l18
-rw-r--r--src/fortranscanner.h2
-rw-r--r--src/fortranscanner.l14
-rw-r--r--src/ftvhelp.cpp17
-rw-r--r--src/ftvhelp.h26
-rw-r--r--src/groupdef.cpp2
-rw-r--r--src/groupdef.h2
-rw-r--r--src/htmlattrib.h2
-rw-r--r--src/htmldocvisitor.cpp2
-rw-r--r--src/htmldocvisitor.h2
-rw-r--r--src/htmlgen.cpp26
-rw-r--r--src/htmlgen.h18
-rw-r--r--src/htmlhelp.cpp23
-rw-r--r--src/htmlhelp.h18
-rw-r--r--src/image.cpp2
-rw-r--r--src/image.h2
-rw-r--r--src/index.cpp753
-rw-r--r--src/index.h67
-rw-r--r--src/instdox.cpp2
-rw-r--r--src/instdox.h2
-rw-r--r--src/language.h2
-rw-r--r--src/latexdocvisitor.cpp2
-rw-r--r--src/latexdocvisitor.h2
-rw-r--r--src/latexgen.cpp14
-rw-r--r--src/latexgen.h16
-rw-r--r--src/libdoxycfg.pro.in2
-rw-r--r--src/libdoxycfg.t2
-rw-r--r--src/libdoxygen.pro.in2
-rw-r--r--src/libdoxygen.t2
-rw-r--r--src/lockingptr.h2
-rw-r--r--src/logos.cpp2
-rw-r--r--src/logos.h2
-rw-r--r--src/main.cpp2
-rw-r--r--src/mandocvisitor.cpp2
-rw-r--r--src/mandocvisitor.h2
-rw-r--r--src/mangen.cpp2
-rw-r--r--src/mangen.h79
-rw-r--r--src/marshal.cpp25
-rw-r--r--src/memberdef.cpp65
-rw-r--r--src/membergroup.cpp2
-rw-r--r--src/membergroup.h2
-rw-r--r--src/memberlist.cpp2
-rw-r--r--src/memberlist.h2
-rw-r--r--src/membername.cpp2
-rw-r--r--src/membername.h2
-rw-r--r--src/message.cpp2
-rw-r--r--src/message.h2
-rw-r--r--src/msc.cpp2
-rw-r--r--src/msc.h2
-rw-r--r--src/namespacedef.cpp4
-rw-r--r--src/namespacedef.h2
-rw-r--r--src/objcache.cpp2
-rw-r--r--src/objcache.h2
-rw-r--r--src/outputgen.cpp2
-rw-r--r--src/outputgen.h18
-rw-r--r--src/outputlist.cpp16
-rw-r--r--src/outputlist.h36
-rw-r--r--src/pagedef.h2
-rw-r--r--src/parserintf.h2
-rw-r--r--src/perlmodgen.cpp10
-rw-r--r--src/pngenc.cpp2
-rw-r--r--src/pngenc.h2
-rw-r--r--src/pre.h2
-rw-r--r--src/pre.l49
-rw-r--r--src/printdocvisitor.h2
-rw-r--r--src/pycode.h2
-rw-r--r--src/pycode.l2
-rw-r--r--src/pyscanner.h2
-rw-r--r--src/pyscanner.l2
-rw-r--r--src/qtbc.h2
-rw-r--r--src/reflist.cpp2
-rw-r--r--src/reflist.h2
-rw-r--r--src/rtfdocvisitor.cpp2
-rw-r--r--src/rtfdocvisitor.h2
-rw-r--r--src/rtfgen.cpp14
-rw-r--r--src/rtfgen.h75
-rw-r--r--src/rtfstyle.cpp2
-rw-r--r--src/rtfstyle.h2
-rw-r--r--src/scanner.h2
-rw-r--r--src/scanner.l21
-rw-r--r--src/searchindex.cpp2
-rw-r--r--src/searchindex.h2
-rw-r--r--src/section.h2
-rw-r--r--src/sortdict.h2
-rw-r--r--src/store.cpp2
-rw-r--r--src/store.h2
-rw-r--r--src/tagreader.cpp2
-rw-r--r--src/tagreader.h2
-rw-r--r--src/textdocvisitor.cpp2
-rw-r--r--src/textdocvisitor.h2
-rw-r--r--src/translator_nl.h2
-rw-r--r--src/translator_pt.h2
-rw-r--r--src/translator_ro.h2
-rw-r--r--src/translator_si.h2
-rw-r--r--src/util.cpp80
-rw-r--r--src/util.h2
-rw-r--r--src/version.h2
-rw-r--r--src/xmldocvisitor.cpp5
-rw-r--r--src/xmldocvisitor.h2
-rw-r--r--src/xmlgen.cpp2
-rw-r--r--src/xmlgen.h2
157 files changed, 856 insertions, 1217 deletions
diff --git a/src/Makefile.in b/src/Makefile.in
index 880902f..57bbcea 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -1,6 +1,6 @@
#
-#
+# $Id$
#
# Copyright (C) 1997-2007 by Dimitri van Heesch.
#
diff --git a/src/bufstr.h b/src/bufstr.h
index 3d33cce..18db9d4 100644
--- a/src/bufstr.h
+++ b/src/bufstr.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/classdef.cpp b/src/classdef.cpp
index 58be2bb..182815a 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/classdef.h b/src/classdef.h
index 1cfccc2..762d138 100644
--- a/src/classdef.h
+++ b/src/classdef.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/classlist.cpp b/src/classlist.cpp
index 0e9de89..6619b8e 100644
--- a/src/classlist.cpp
+++ b/src/classlist.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -99,7 +99,8 @@ void ClassSDict::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *f
ol.startMemberList();
found=TRUE;
}
- if (!Config_getString("GENERATE_TAGFILE").isEmpty())
+ if (!Config_getString("GENERATE_TAGFILE").isEmpty() &&
+ !cd->isReference()) // skip classes found in tag files
{
Doxygen::tagFile << " <class kind=\"" << cd->compoundTypeString()
<< "\">" << convertToXML(cd->name()) << "</class>" << endl;
diff --git a/src/classlist.h b/src/classlist.h
index ace8195..b212873 100644
--- a/src/classlist.h
+++ b/src/classlist.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/code.h b/src/code.h
index b2f11f2..62cc77c 100644
--- a/src/code.h
+++ b/src/code.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/code.l b/src/code.l
index e9d3c7c..1052a03 100644
--- a/src/code.l
+++ b/src/code.l
@@ -773,12 +773,32 @@ static void addDocCrossReference(MemberDef *src,MemberDef *dst)
)
{
dst->addSourceReferencedBy(src);
+ MemberDef *mdDef = dst->memberDefinition();
+ if (mdDef)
+ {
+ mdDef->addSourceReferencedBy(src);
+ }
+ MemberDef *mdDecl = dst->memberDeclaration();
+ if (mdDecl)
+ {
+ mdDecl->addSourceReferencedBy(src);
+ }
}
if ((referencesRelation || callGraph) &&
(src->isFunction() || src->isSlot())
)
{
src->addSourceReferences(dst);
+ MemberDef *mdDef = src->memberDefinition();
+ if (mdDef)
+ {
+ mdDef->addSourceReferences(dst);
+ }
+ MemberDef *mdDecl = src->memberDeclaration();
+ if (mdDecl)
+ {
+ mdDecl->addSourceReferences(dst);
+ }
}
}
diff --git a/src/commentcnv.h b/src/commentcnv.h
index a2965f7..8bc8030 100644
--- a/src/commentcnv.h
+++ b/src/commentcnv.h
@@ -1,6 +1,6 @@
/*****************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/commentcnv.l b/src/commentcnv.l
index 465c951..e9a3b47 100644
--- a/src/commentcnv.l
+++ b/src/commentcnv.l
@@ -1,6 +1,6 @@
/*****************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/commentscan.l b/src/commentscan.l
index 5db2db5..8635906 100644
--- a/src/commentscan.l
+++ b/src/commentscan.l
@@ -959,7 +959,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
BEGIN(SkipLang);
}
}
-<Comment>{CMD}"f{"[^}\n]+"}" { // start of a formula with custom environment
+<Comment>{CMD}"f{"[^}\n]+"}"("{"?) { // start of a formula with custom environment
formulaText="\\begin";
formulaEnv=&yytext[2];
formulaText+=formulaEnv;
diff --git a/src/config.l b/src/config.l
index f084d03..23d0c5b 100644
--- a/src/config.l
+++ b/src/config.l
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -29,6 +29,7 @@
#include <qtextstream.h>
#include <qregexp.h>
#include <qstack.h>
+#include <qglobal.h>
#include "config.h"
#include "version.h"
@@ -1211,6 +1212,7 @@ void Config::check()
filePatternList.append("*.mm");
filePatternList.append("*.dox");
filePatternList.append("*.py");
+ filePatternList.append("*.f90");
if (portable_fileSystemIsCaseSensitive())
{
// unix => case sensitive match => also include useful uppercase versions
@@ -1228,6 +1230,7 @@ void Config::check()
filePatternList.append("*.M");
filePatternList.append("*.MM");
filePatternList.append("*.PY");
+ filePatternList.append("*.F90");
}
}
@@ -1692,6 +1695,16 @@ void Config::create()
"the \\nosubgrouping command. \n",
TRUE
);
+ cb = addBool( "TYPEDEF_HIDES_STRUCT",
+ "When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct (or union) is \n"
+ "documented as struct with the name of the typedef. So \n"
+ "typedef struct TypeS {} TypeT, will appear in the documentation as a struct \n"
+ "with name TypeT. When disabled the typedef will appear as a member of a file, \n"
+ "namespace, or class. And the struct will be named TypeS. This can typically \n"
+ "be useful for C code where the coding convention is that all structs are \n"
+ "typedef'ed and only the typedef is referenced never the struct's name.\n",
+ FALSE
+ );
//-----------------------------------------------------------------------------------------------
addInfo("Build","Build related configuration options");
//-----------------------------------------------------------------------------------------------
@@ -1987,7 +2000,7 @@ void Config::create()
"and *.h) to filter out the source-files in the directories. If left \n"
"blank the following patterns are tested: \n"
"*.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx \n"
- "*.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py\n"
+ "*.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90\n"
);
cb = addBool(
"RECURSIVE",
@@ -2953,7 +2966,7 @@ void Config::create()
"Warning: Depending on the platform used, enabling this option may lead to \n"
"badly anti-aliased labels on the edges of a graph (i.e. they become hard to \n"
"read). \n",
- FALSE
+ TRUE
);
cb->addDependency("HAVE_DOT");
cb = addBool(
diff --git a/src/constexp.h b/src/constexp.h
index 0df7ec3..d2bc7d0 100644
--- a/src/constexp.h
+++ b/src/constexp.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/constexp.l b/src/constexp.l
index c2cd529..5e44ba3 100644
--- a/src/constexp.l
+++ b/src/constexp.l
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/constexp.y b/src/constexp.y
index 04c6224..b0ced42 100644
--- a/src/constexp.y
+++ b/src/constexp.y
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/cppvalue.cpp b/src/cppvalue.cpp
index 983a55f..5858e60 100644
--- a/src/cppvalue.cpp
+++ b/src/cppvalue.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/cppvalue.h b/src/cppvalue.h
index b080431..c9a48f0 100644
--- a/src/cppvalue.h
+++ b/src/cppvalue.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/debug.cpp b/src/debug.cpp
index f1033a5..274294e 100644
--- a/src/debug.cpp
+++ b/src/debug.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/debug.h b/src/debug.h
index 95891d2..1a35900 100644
--- a/src/debug.h
+++ b/src/debug.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/declinfo.h b/src/declinfo.h
index 7287e1e..07869d8 100644
--- a/src/declinfo.h
+++ b/src/declinfo.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/declinfo.l b/src/declinfo.l
index 54c0a2a..5cb3944 100644
--- a/src/declinfo.l
+++ b/src/declinfo.l
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/defargs.h b/src/defargs.h
index b7c6aa1..abee943 100644
--- a/src/defargs.h
+++ b/src/defargs.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/defargs.l b/src/defargs.l
index 5939504..a924f10 100644
--- a/src/defargs.l
+++ b/src/defargs.l
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/defgen.cpp b/src/defgen.cpp
index 26201b7..87a46de 100644
--- a/src/defgen.cpp
+++ b/src/defgen.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/defgen.h b/src/defgen.h
index 5560602..7c8e2e4 100644
--- a/src/defgen.h
+++ b/src/defgen.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/define.cpp b/src/define.cpp
index 42789be..47e4541 100644
--- a/src/define.cpp
+++ b/src/define.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/define.h b/src/define.h
index 4c1f904..b57007b 100644
--- a/src/define.h
+++ b/src/define.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/definition.cpp b/src/definition.cpp
index 7647a68..408f831 100644
--- a/src/definition.cpp
+++ b/src/definition.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/definition.h b/src/definition.h
index 2bbc682..8f57ba8 100644
--- a/src/definition.h
+++ b/src/definition.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -164,7 +164,7 @@ class Definition : public DefinitionIntf, public LockableObj
/*! returns the file in which this definition was found */
QCString getDefFileName() const;
- /*! returns the file in which this definition was found */
+ /*! returns the extension of the file in which this definition was found */
QCString getDefFileExtension() const;
/*! returns the line number at which the definition was found */
diff --git a/src/diagram.cpp b/src/diagram.cpp
index 45e839b..dc6b05d 100644
--- a/src/diagram.cpp
+++ b/src/diagram.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
@@ -968,7 +968,7 @@ ClassDiagram::~ClassDiagram()
}
void ClassDiagram::writeFigure(QTextStream &output,const char *path,
- const char *fileName)
+ const char *fileName) const
{
uint baseRows=base->computeRows();
uint superRows=super->computeRows();
@@ -1263,7 +1263,7 @@ void ClassDiagram::writeFigure(QTextStream &output,const char *path,
void ClassDiagram::writeImage(QTextStream &t,const char *path,
const char *relPath,const char *fileName,
- bool generateMap)
+ bool generateMap) const
{
uint baseRows=base->computeRows();
uint superRows=super->computeRows();
diff --git a/src/diagram.h b/src/diagram.h
index ad19723..d0c9d12 100644
--- a/src/diagram.h
+++ b/src/diagram.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
@@ -123,9 +123,9 @@ class ClassDiagram
ClassDiagram(ClassDef *root);
~ClassDiagram();
void writeFigure(QTextStream &t,const char *path,
- const char *file);
+ const char *file) const;
void writeImage(QTextStream &t,const char *path,const char *relPath,
- const char *file,bool generateMap=TRUE);
+ const char *file,bool generateMap=TRUE) const;
private:
TreeDiagram *base;
TreeDiagram *super;
diff --git a/src/dirdef.h b/src/dirdef.h
index 27224de..234a708 100644
--- a/src/dirdef.h
+++ b/src/dirdef.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/docparser.cpp b/src/docparser.cpp
index b46aaed..3418c22 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/docparser.h b/src/docparser.h
index 5d18fe1..e39127c 100644
--- a/src/docparser.h
+++ b/src/docparser.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/doctokenizer.h b/src/doctokenizer.h
index 444516f..13995b6 100644
--- a/src/doctokenizer.h
+++ b/src/doctokenizer.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/doctokenizer.l b/src/doctokenizer.l
index b48af79..233205d 100644
--- a/src/doctokenizer.l
+++ b/src/doctokenizer.l
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
@@ -772,7 +772,7 @@ REFWORD ("#"|"::")?({ID}("."|"#"|"::"|"-"|"/"))*({ID}(":")?){FUNCARG}?
<St_XRefItem>" " {
BEGIN(St_XRefItem2);
}
-<St_XRefItem2>[0-9]+\n {
+<St_XRefItem2>[0-9]+{WS} {
QString numStr=yytext;
numStr=numStr.left(yyleng-1);
g_token->id=numStr.toInt();
diff --git a/src/docvisitor.h b/src/docvisitor.h
index 82f5137..d48e444 100644
--- a/src/docvisitor.h
+++ b/src/docvisitor.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/dot.cpp b/src/dot.cpp
index 02cd88f..87ed3e1 100644
--- a/src/dot.cpp
+++ b/src/dot.cpp
@@ -1,6 +1,6 @@
/*****************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
@@ -1013,7 +1013,7 @@ const DotNode *DotNode::findDocNode() const
int DotGfxHierarchyTable::m_curNodeNumber;
-void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
+void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path) const
{
//printf("DotGfxHierarchyTable::writeGraph(%s)\n",name);
//printf("m_rootNodes=%p count=%d\n",m_rootNodes,m_rootNodes->count());
@@ -1793,7 +1793,7 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
const char *path,
const char *relPath,
bool /*isTBRank*/,
- bool generateImageMap)
+ bool generateImageMap) const
{
QDir d(path);
// store the original directory
@@ -2012,8 +2012,12 @@ void DotInclDepGraph::buildGraph(DotNode *n,FileDef *fd,int distance)
else
{
QCString tmp_url;
- if (bfd) tmp_url=doc || src ? bfd->getReference()+"$"+url : QCString();
- QCString tooltip = fd->briefDescriptionAsTooltip();
+ QCString tooltip;
+ if (bfd)
+ {
+ tmp_url=doc || src ? bfd->getReference()+"$"+url : QCString();
+ tooltip = bfd->briefDescriptionAsTooltip();
+ }
bn = new DotNode(
m_curNodeNumber++, // n
ii->includeName, // label
@@ -2135,7 +2139,7 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
const char *path,
const char *relPath,
bool generateImageMap
- )
+ ) const
{
QDir d(path);
// store the original directory
@@ -2432,7 +2436,7 @@ DotCallGraph::~DotCallGraph()
}
QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format,
- const char *path,const char *relPath,bool generateImageMap)
+ const char *path,const char *relPath,bool generateImageMap) const
{
QDir d(path);
// store the original directory
@@ -2571,7 +2575,7 @@ QCString DotDirDeps::writeGraph(QTextStream &out,
GraphOutputFormat format,
const char *path,
const char *relPath,
- bool generateImageMap)
+ bool generateImageMap) const
{
QDir d(path);
// store the original directory
@@ -2820,6 +2824,7 @@ error:
* \param inFile just the basename part of the filename
* \param outDir output directory
* \param relPath relative path the to root of the output dir
+ * \param context the scope in which this graph is found (for resolving links)
* \returns a string which is the HTML image map (without the \<map\>\</map\>)
*/
QString getDotImageMapFromFile(const QString& inFile, const QString& outDir,
@@ -3066,7 +3071,7 @@ void DotGroupCollaboration::addCollaborationMember(
QCString DotGroupCollaboration::writeGraph( QTextStream &t, GraphOutputFormat format,
const char *path, const char *relPath,
- bool writeImageMap)
+ bool writeImageMap) const
{
QDir d(path);
// store the original directory
@@ -3105,7 +3110,7 @@ QCString DotGroupCollaboration::writeGraph( QTextStream &t, GraphOutputFormat fo
Edge* edge;
for (eli.toFirst();(edge=eli.current());++eli)
{
- edge->write( tdot, m_curNodeId );
+ edge->write( tdot );
}
writeGraphFooter(tdot);
@@ -3189,7 +3194,7 @@ QCString DotGroupCollaboration::writeGraph( QTextStream &t, GraphOutputFormat fo
return baseName;
}
-void DotGroupCollaboration::Edge::write( QTextStream &t, int& )
+void DotGroupCollaboration::Edge::write( QTextStream &t ) const
{
const char* linkTypeColor[] = {
"darkorchid3"
@@ -3253,7 +3258,7 @@ bool DotGroupCollaboration::isTrivial() const
return m_usedNodes->count() <= 1;
}
-void DotGroupCollaboration::writeGraphHeader(QTextStream &t)
+void DotGroupCollaboration::writeGraphHeader(QTextStream &t) const
{
t << "digraph structs" << endl;
t << "{" << endl;
diff --git a/src/dot.h b/src/dot.h
index 1645049..d69bc1e 100644
--- a/src/dot.h
+++ b/src/dot.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
@@ -139,7 +139,7 @@ class DotGfxHierarchyTable
public:
DotGfxHierarchyTable();
~DotGfxHierarchyTable();
- void writeGraph(QTextStream &t,const char *path);
+ void writeGraph(QTextStream &t,const char *path) const;
private:
void addHierarchy(DotNode *n,ClassDef *cd,bool hide);
@@ -160,7 +160,7 @@ class DotClassGraph
bool isTrivial() const;
bool isTooBig() const;
QCString writeGraph(QTextStream &t,GraphOutputFormat f,const char *path,
- const char *relPath, bool TBRank=TRUE,bool imageMap=TRUE);
+ const char *relPath, bool TBRank=TRUE,bool imageMap=TRUE) const;
void writeXML(QTextStream &t);
void writeDEF(QTextStream &t);
@@ -190,7 +190,7 @@ class DotInclDepGraph
~DotInclDepGraph();
QCString writeGraph(QTextStream &t, GraphOutputFormat f,const char *path,
const char *relPath,
- bool writeImageMap=TRUE);
+ bool writeImageMap=TRUE) const;
bool isTrivial() const;
bool isTooBig() const;
QCString diskName() const;
@@ -216,7 +216,7 @@ class DotCallGraph
DotCallGraph(MemberDef *md,bool inverse);
~DotCallGraph();
QCString writeGraph(QTextStream &t, GraphOutputFormat f,
- const char *path,const char *relPath,bool writeImageMap=TRUE);
+ const char *path,const char *relPath,bool writeImageMap=TRUE) const;
void buildGraph(DotNode *n,MemberDef *md,int distance);
bool isTrivial() const;
bool isTooBig() const;
@@ -245,7 +245,7 @@ class DotDirDeps
GraphOutputFormat format,
const char *path,
const char *relPath,
- bool writeImageMap=TRUE);
+ bool writeImageMap=TRUE) const;
private:
DirDef *m_dir;
};
@@ -284,20 +284,20 @@ class DotGroupCollaboration
EdgeType eType;
QList<Link> links;
- void write( QTextStream &t, int& curNodeId );
+ void write( QTextStream &t ) const;
};
DotGroupCollaboration(GroupDef* gd);
~DotGroupCollaboration();
QCString writeGraph(QTextStream &t, GraphOutputFormat format,
const char *path,const char *relPath,
- bool writeImageMap=TRUE);
+ bool writeImageMap=TRUE) const;
void buildGraph(GroupDef* gd);
bool isTrivial() const;
private :
void addCollaborationMember( Definition* def, QCString& url, EdgeType eType );
void addMemberList( class MemberList* ml );
- void writeGraphHeader(QTextStream &t);
+ void writeGraphHeader(QTextStream &t) const;
Edge* addEdge( DotNode* _pNStart, DotNode* _pNEnd, EdgeType _eType,
const QCString& _label, const QCString& _url );
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 5a62e38..4088467 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
@@ -134,6 +134,9 @@ Store *Doxygen::symbolStorage;
QCString Doxygen::objDBFileName;
QCString Doxygen::entryDBFileName;
bool Doxygen::gatherDefines = TRUE;
+IndexList Doxygen::indexList;
+
+bool Doxygen::userComments = FALSE;
// locally accessible globals
static QDict<EntryNav> classEntries(1009);
@@ -149,6 +152,7 @@ FileStorage *g_storage = 0;
QCString spaces;
static bool g_successfulRun = FALSE;
+static bool g_dumpSymbolMap = FALSE;
@@ -1255,100 +1259,60 @@ static void resolveClassNestingRelations()
ClassSDict::Iterator cli(*Doxygen::classSDict);
for (cli.toFirst();cli.current();++cli) cli.current()->visited=FALSE;
- int nestingLevel=0;
bool done=FALSE;
+ int iteration=0;
while (!done)
{
- // iterate over all classes searching for a class with right nesting
- // level (starting with 0 and going up until no more classes are found)
- //
- // we start with all classes that are inside a namespace and then
- // do the ones outside the namespace to avoid an "internal inconsistency" for the
- // following:
- // File A:
- // using namespace N;
- // class C::P {}
- // File B:
- // namespace N { class C { class P {}; }; }
- //
- // If file A is parsed before file B then without it C::P would not be related to N.
done=TRUE;
- ClassSDict::Iterator cli(*Doxygen::classSDict);
+ ++iteration;
ClassDef *cd=0;
- // first handle any class inside a namespace
for (cli.toFirst();(cd=cli.current());++cli)
{
- QCString c,n;
- extractNamespaceName(cd->name(),c,n,TRUE);
- n = stripAnonymousNamespaceScope(n);
- if (cd->name().contains("::")==nestingLevel && !n.isEmpty())
+ if (!cd->visited)
{
- cd->visited=TRUE;
- //printf("Level=%d processing=%s\n",nestingLevel,cd->name().data());
- // also add class to the correct structural context
- Definition *d = findScopeFromQualifiedName(Doxygen::globalScope,
- cd->name(),cd->getFileDef());
- if (d==0) // we didn't find anything, create the scope artificially
- // anyway, so we can at least relate scopes properly.
- {
- Definition *d = buildScopeFromQualifiedName(cd->name(),cd->name().contains("::"));
- if (d!=cd) // avoid recursion in case of redundant scopes, i.e: namespace N { class N::C {}; }
- // for this case doxygen assumes the exitance of a namespace N::N in which C is to be found!
- {
- d->addInnerCompound(cd);
- cd->setOuterScope(d);
- warn(cd->getDefFileName(),cd->getDefLine(),
- "Warning: Internal inconsistency: scope for class %s not "
- "found!",cd->name().data()
- );
- }
- }
- else
- {
- //printf("****** adding %s to scope %s\n",cd->name().data(),d->name().data());
- d->addInnerCompound(cd);
- cd->setOuterScope(d);
- }
- }
- if (!cd->visited) done=FALSE;
- }
- // and now the same for classes outside any namespace
- for (cli.toFirst();(cd=cli.current());++cli)
- {
- if (cd->name().contains("::")==nestingLevel && !cd->visited)
- {
- cd->visited=TRUE;
QCString name = stripAnonymousNamespaceScope(cd->name());
- //printf("Level=%d processing=%s\n",nestingLevel,cd->name().data());
+ //printf("processing=%s, iteration=%d\n",cd->name().data(),iteration);
// also add class to the correct structural context
Definition *d = findScopeFromQualifiedName(Doxygen::globalScope,
name,cd->getFileDef());
- if (d==0) // we didn't find anything, create the scope artificially
- // anyway, so we can at least relate scopes properly.
- {
- Definition *d = buildScopeFromQualifiedName(name,name.contains("::"));
- if (d!=cd) // avoid recursion in case of redundant scopes, i.e: namespace N { class N::C {}; }
- // for this case doxygen assumes the exitance of a namespace N::N in which C is to be found!
- {
- d->addInnerCompound(cd);
- cd->setOuterScope(d);
- warn(cd->getDefFileName(),cd->getDefLine(),
- "Warning: Internal inconsistency: scope for class %s not "
- "found while looking in the global scope!",name.data()
- );
- }
- }
- else
+ if (d)
{
- //printf("****** adding %s to scope %s\n",cd->name().data(),d->name().data());
+ //printf("****** adding %s to scope %s in iteration %d\n",cd->name().data(),d->name().data(),iteration);
d->addInnerCompound(cd);
cd->setOuterScope(d);
+ cd->visited=TRUE;
+ done=FALSE;
}
+ //else
+ //{
+ // printf("****** ignoring %s: scope not (yet) found in iteration %d\n",cd->name().data(),iteration);
+ //}
+ }
+ }
+ }
+
+ //give warnings for unresolved compounds
+ ClassDef *cd=0;
+ for (cli.toFirst();(cd=cli.current());++cli)
+ {
+ if (!cd->visited)
+ {
+ QCString name = stripAnonymousNamespaceScope(cd->name());
+ //printf("processing unresolved=%s, iteration=%d\n",cd->name().data(),iteration);
+ /// create the scope artificially
+ // anyway, so we can at least relate scopes properly.
+ Definition *d = buildScopeFromQualifiedName(name,name.contains("::"));
+ if (d!=cd) // avoid recursion in case of redundant scopes, i.e: namespace N { class N::C {}; }
+ // for this case doxygen assumes the exitance of a namespace N::N in which C is to be found!
+ {
+ d->addInnerCompound(cd);
+ cd->setOuterScope(d);
+ warn(cd->getDefFileName(),cd->getDefLine(),
+ "Warning: Internal inconsistency: scope for class %s not "
+ "found!",name.data()
+ );
}
- if (!cd->visited) done=FALSE;
}
- nestingLevel++;
- //printf("nestingLevel=%d\n",nestingLevel);
}
}
@@ -2604,7 +2568,7 @@ static void addMethodToClass(EntryNav *rootNav,ClassDef *cd,
Entry *root = rootNav->entry();
FileDef *fd=rootNav->fileDef();
- int l,i;
+ int l,i=-1;
static QRegExp re("([a-z_A-Z0-9: ]*[ &*]+[ ]*");
if (!root->type.isEmpty() && (i=re.match(root->type,0,&l))!=-1) // function variable
@@ -3389,6 +3353,7 @@ static void transferFunctionDocumentation()
);
}
+
mdec->mergeRefItems(mdef);
mdef->mergeRefItems(mdec);
@@ -8779,6 +8744,60 @@ void readAliases()
}
//----------------------------------------------------------------------------
+
+static void dumpSymbol(QTextStream &t,Definition *d)
+{
+ QCString anchor;
+ if (d->definitionType()==Definition::TypeMember)
+ {
+ MemberDef *md = (MemberDef *)d;
+ anchor=":"+md->anchor();
+ }
+ QCString scope;
+ if (d->getOuterScope() && d->getOuterScope()!=Doxygen::globalScope)
+ {
+ scope = d->getOuterScope()->getOutputFileBase()+Doxygen::htmlFileExtension;
+ }
+ t << "REPLACE INTO symbols (symbol_id,scope_id,name,file,line) VALUES('"
+ << d->getOutputFileBase()+Doxygen::htmlFileExtension+anchor << "','"
+ << scope << "','"
+ << d->name() << "','"
+ << d->getDefFileName() << "','"
+ << d->getDefLine()
+ << "');" << endl;
+}
+
+static void dumpSymbolMap()
+{
+ QFile f("symbols.sql");
+ if (f.open(IO_WriteOnly))
+ {
+ QTextStream t(&f);
+ QDictIterator<DefinitionIntf> di(*Doxygen::symbolMap);
+ DefinitionIntf *intf;
+ for (;(intf=di.current());++di)
+ {
+ if (intf->definitionType()==DefinitionIntf::TypeSymbolList) // list of symbols
+ {
+ DefinitionListIterator dli(*(DefinitionList*)intf);
+ Definition *d;
+ // for each symbol
+ for (dli.toFirst();(d=dli.current());++dli)
+ {
+ dumpSymbol(t,d);
+ }
+ }
+ else // single symbol
+ {
+ Definition *d = (Definition *)intf;
+ if (d!=Doxygen::globalScope) dumpSymbol(t,d);
+ }
+ }
+ }
+}
+
+
+//----------------------------------------------------------------------------
// print the usage of doxygen
static void usage(const char *name)
@@ -9093,6 +9112,9 @@ void readConfiguration(int argc, char **argv)
exit(1);
}
break;
+ case 'm':
+ g_dumpSymbolMap = TRUE;
+ break;
case '-':
if (strcmp(&argv[optind][2],"help")==0)
{
@@ -9846,6 +9868,11 @@ void generateOutput()
// }
// printf("\n");
//}
+ if (g_dumpSymbolMap)
+ {
+ dumpSymbolMap();
+ exit(0);
+ }
initDocParser();
@@ -9854,8 +9881,11 @@ void generateOutput()
{
outputList->add(new HtmlGenerator);
HtmlGenerator::init();
- if (Config_getBool("GENERATE_HTMLHELP")) HtmlHelp::getInstance()->initialize();
- if (Config_getBool("GENERATE_TREEVIEW")) FTVHelp::getInstance()->initialize();
+ if (Config_getBool("GENERATE_HTMLHELP")) Doxygen::indexList.addIndex(new HtmlHelp);
+ //HtmlHelp::getInstance()->initialize();
+ if (Config_getBool("GENERATE_TREEVIEW")) Doxygen::indexList.addIndex(new FTVHelp);
+ //FTVHelp::getInstance()->initialize();
+ Doxygen::indexList.initialize();
if (Config_getBool("HTML_DYNAMIC_SECTIONS")) HtmlGenerator::generateSectionImages();
copyStyleSheet();
}
@@ -10020,14 +10050,17 @@ void generateOutput()
Doxygen::formulaList.generateBitmaps(Config_getString("HTML_OUTPUT"));
}
- if (Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_HTMLHELP"))
- {
- HtmlHelp::getInstance()->finalize();
- }
- if (Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_TREEVIEW"))
- {
- FTVHelp::getInstance()->finalize();
- }
+ //if (Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_HTMLHELP"))
+ //{
+ // HtmlHelp::getInstance()->finalize();
+ //}
+ //if (Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_TREEVIEW"))
+ //{
+ // FTVHelp::getInstance()->finalize();
+ //}
+
+ Doxygen::indexList.finalize();
+
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
{
Doxygen::tagFile << "</tagfile>" << endl;
diff --git a/src/doxygen.css b/src/doxygen.css
index c7db1a8..e261cf6 100644
--- a/src/doxygen.css
+++ b/src/doxygen.css
@@ -299,6 +299,7 @@ HR { height: 1px;
font-size: 80%;
color: #606060;
font-weight: normal;
+ margin-left: 3px;
}
.memnav {
background-color: #e8eef2;
diff --git a/src/doxygen.h b/src/doxygen.h
index 4f6c972..e0d99c1 100644
--- a/src/doxygen.h
+++ b/src/doxygen.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
@@ -36,6 +36,7 @@
#include "membergroup.h"
#include "reflist.h"
#include "dirdef.h"
+#include "index.h"
class PageSList;
class PageSDict;
@@ -126,6 +127,8 @@ class Doxygen
static QCString objDBFileName;
static QCString entryDBFileName;
static bool gatherDefines;
+ static bool userComments;
+ static IndexList indexList;
};
void initDoxygen();
diff --git a/src/doxygen.pro.in b/src/doxygen.pro.in
index e9129d1..3519e09 100644
--- a/src/doxygen.pro.in
+++ b/src/doxygen.pro.in
@@ -1,5 +1,5 @@
#
-#
+# $Id$
#
# Copyright (C) 1997-2007 by Dimitri van Heesch.
#
diff --git a/src/doxygen_css.h b/src/doxygen_css.h
index 7679514..ed651af 100644
--- a/src/doxygen_css.h
+++ b/src/doxygen_css.h
@@ -299,6 +299,7 @@
" font-size: 80%;\n"
" color: #606060;\n"
" font-weight: normal;\n"
+" margin-left: 3px;\n"
"} \n"
".memnav { \n"
" background-color: #e8eef2;\n"
diff --git a/src/doxytag.l b/src/doxytag.l
index 5c8a4b3..932222b 100644
--- a/src/doxytag.l
+++ b/src/doxytag.l
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/doxytag.pro.in b/src/doxytag.pro.in
index 28e829e..daf77b2 100644
--- a/src/doxytag.pro.in
+++ b/src/doxytag.pro.in
@@ -1,5 +1,5 @@
#
-#
+# $Id$
#
# Copyright (C) 1997-2007 by Dimitri van Heesch.
#
diff --git a/src/doxytag.t b/src/doxytag.t
index 570acc3..a652d72 100644
--- a/src/doxytag.t
+++ b/src/doxytag.t
@@ -1,5 +1,5 @@
#
-#
+# $Id$
#
# Copyright (C) 1997-2007 by Dimitri van Heesch.
#
diff --git a/src/entry.cpp b/src/entry.cpp
index edb54c1..970459b 100644
--- a/src/entry.cpp
+++ b/src/entry.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/entry.h b/src/entry.h
index 1a51944..dec7a6c 100644
--- a/src/entry.h
+++ b/src/entry.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/example.h b/src/example.h
index 98fde77..80df545 100644
--- a/src/example.h
+++ b/src/example.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/filedef.cpp b/src/filedef.cpp
index 3588a45..c33f4f8 100644
--- a/src/filedef.cpp
+++ b/src/filedef.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -29,7 +29,6 @@
#include "dot.h"
#include "message.h"
#include "docparser.h"
-#include "ftvhelp.h"
#include "searchindex.h"
#include "htags.h"
#include "parserintf.h"
@@ -1235,8 +1234,6 @@ static void addDirsAsGroups(Directory *root,GroupDef *parent,int level)
void generateFileTree()
{
- FTVHelp::generateTreeViewImages();
-
Directory *root=new Directory(0,"root");
root->setLast(TRUE);
FileNameListIterator fnli(*Doxygen::inputNameList);
diff --git a/src/filedef.h b/src/filedef.h
index 1ad232c..20ac57f 100644
--- a/src/filedef.h
+++ b/src/filedef.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/filename.cpp b/src/filename.cpp
index 21659ef..929cc5f 100644
--- a/src/filename.cpp
+++ b/src/filename.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/filename.h b/src/filename.h
index b665255..71620ea 100644
--- a/src/filename.h
+++ b/src/filename.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/formula.cpp b/src/formula.cpp
index 673ca7e..380a53e 100644
--- a/src/formula.cpp
+++ b/src/formula.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
i
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/formula.h b/src/formula.h
index 581b6a2..ef46baa 100644
--- a/src/formula.h
+++ b/src/formula.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/fortrancode.l b/src/fortrancode.l
index daf9593..c71de8f 100644
--- a/src/fortrancode.l
+++ b/src/fortrancode.l
@@ -107,6 +107,7 @@ static Definition * g_currentDefinition;
static MemberDef * g_currentMemberDef;
static bool g_includeCodeFragment;
+static char stringStartSymbol; // single or double quote
static void endFontClass()
{
@@ -831,6 +832,7 @@ IGNORE (IMPLICIT{BS}NONE|CONTAINS|WRITE|READ|ALLOCATE|DEALLOCATE|SIZE)
}
<*>"!"[^>\n].*|"!"$ { // normal comment
+ if(YY_START == String) REJECT; // ignore in strings
startFontClass("comment");
codifyLines(yytext);
endFontClass();
@@ -846,26 +848,26 @@ IGNORE (IMPLICIT{BS}NONE|CONTAINS|WRITE|READ|ALLOCATE|DEALLOCATE|SIZE)
generateLink(*g_code, yytext);
g_insideBody=FALSE;
}
-
/*------ strings --------------------------------------------------*/
<*>"\\\\" { str+=yytext; /* ignore \\ */}
-<*>"\\\"" { str+=yytext; /* ignore \" */}
+<*>"\\\""|\\\' { str+=yytext; /* ignore \" */}
-<String>\" { // string ends with next quote without previous backspace
+<String>\"|\' { // string ends with next quote without previous backspace
+ if(yytext[0]!=stringStartSymbol) REJECT; // single vs double quote
str+=yytext;
startFontClass("stringliteral");
codifyLines(str);
endFontClass();
yy_pop_state();
}
-<*>\" { /* string starts */
+<*>\"|\' { /* string starts */
+ /* if(YY_START == StrIgnore) REJECT; // ignore in simple comments */
yy_push_state(YY_START);
- BEGIN(String);
+ stringStartSymbol=yytext[0]; // single or double quote
+ BEGIN(String);
str=yytext;
}
-<String>. {str+=yytext;}
-
-
+<String>. {str+=yytext;}
/*-----------------------------------------------------------------------------*/
<*>\n {
diff --git a/src/fortranscanner.h b/src/fortranscanner.h
index 2e16c67..da782a9 100644
--- a/src/fortranscanner.h
+++ b/src/fortranscanner.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2006 by Dimitri van Heesch.
*
diff --git a/src/fortranscanner.l b/src/fortranscanner.l
index e4ef1f8..eecdd60 100644
--- a/src/fortranscanner.l
+++ b/src/fortranscanner.l
@@ -184,7 +184,7 @@ B [ \t]
BS [ \t]*
BS_ [ \t]+
COMMA {BS},{BS}
-ARGS {BS}("("[^)]*")"){BS}
+ARGS {BS}("("[^)]*")")
NOARGS {BS}"\n"
NUM_TYPE (complex|integer|logical|real)
@@ -196,7 +196,7 @@ INTENT_SPEC intent{BS}"("{BS}(in|out|in{BS}out){BS}")"
ATTR_SPEC (ALLOCATABLE|DIMENSION{ARGS}|EXTERNAL|{INTENT_SPEC}|INTRINSIC|OPTIONAL|PARAMETER|POINTER|PRIVATE|PUBLIC|SAVE|TARGET)
ACCESS_SPEC (PRIVATE|PUBLIC)
/* Assume that attribute statements are almost the same as attributes. */
-ATTR_STMT {ATTR_SPEC}|DIMENSION
+ATTR_STMT {ATTR_SPEC}|DIMENSION|{ACCESS_SPEC}
%option noyywrap
%option stack
@@ -311,7 +311,7 @@ ATTR_STMT {ATTR_SPEC}|DIMENSION
}
/*------ ignore special fortran statements */
-<Start,ModuleBody,SubprogBody>(^|[ \t])interface({BS_}{ID})?/[ \t\n] { // handle interface block
+<Start,ModuleBody,SubprogBody>^[ \t]*interface({BS_}{ID}({BS}\({BS}[^ \t()]+{BS}\))?)? { // handle interface block
QString name = yytext;
int index = name.find("interface", 0, FALSE);
index = name.find(QRegExp("[^ \\t]"), index+9);
@@ -379,7 +379,7 @@ ATTR_STMT {ATTR_SPEC}|DIMENSION
/*------- type definition -------------------------------------------------------------------------------*/
-<Start,ModuleBody>"type"({BS_}|({COMMA}{ACCESS_SPEC})) { /* type definition found : TYPE , access-spec::type-name |*/
+<Start,ModuleBody>^{BS}"type"({BS_}|({COMMA}{ACCESS_SPEC})) { /* type definition found : TYPE , access-spec::type-name |*/
yy_push_state(YY_START);
BEGIN(Typedef);
current->protection = defaultProtection;
@@ -419,7 +419,7 @@ ATTR_STMT {ATTR_SPEC}|DIMENSION
<Start,ModuleBody,TypedefBody,SubprogBody>{
{TYPE_SPEC}/{SEPARATE} {
/* variable declaration starts */
- //cout << "4=========> got variable type: " << yytext << endl;
+ //fprintf(stderr,"4=========> got variable type: %s\n",yytext);
QString help=yytext;
help= help.simplifyWhiteSpace();
argType= help.latin1();
@@ -444,9 +444,9 @@ ATTR_STMT {ATTR_SPEC}|DIMENSION
REJECT;
}
}
-{ATTR_STMT}{BS}/{ID} {
+{ATTR_STMT}/{BS_}{ID}|{BS}"::" {
/* attribute statement starts */
- //cout << "5=========> Attribute statement: "<< yytext << endl;
+ //fprintf(stderr,"5=========> Attribute statement: %s\n", yytext);
QString tmp = yytext;
currentModifiers |= tmp.stripWhiteSpace();
argType="";
diff --git a/src/ftvhelp.cpp b/src/ftvhelp.cpp
index cf9e6a3..ebe1149 100644
--- a/src/ftvhelp.cpp
+++ b/src/ftvhelp.cpp
@@ -347,6 +347,7 @@ FTVHelp::~FTVHelp()
delete[] m_indentNodes;
}
+#if 0
/*! return a reference to the one and only instance of this class.
*/
FTVHelp *FTVHelp::getInstance()
@@ -354,6 +355,7 @@ FTVHelp *FTVHelp::getInstance()
if (m_theInstance==0) m_theInstance = new FTVHelp;
return m_theInstance;
}
+#endif
/*! This will create a folder tree view table of contents file (tree.js).
* \sa finalize()
@@ -369,6 +371,7 @@ void FTVHelp::initialize()
void FTVHelp::finalize()
{
generateTreeView();
+ generateTreeViewImages();
delete m_theInstance;
m_theInstance=0;
}
@@ -377,19 +380,19 @@ void FTVHelp::finalize()
* This will start a new sublist in contents file.
* \sa decContentsDepth()
*/
-int FTVHelp::incContentsDepth()
+void FTVHelp::incContentsDepth()
{
//int i; for (i=0;i<m_dc+1;i++) m_cts << " ";
m_indent++;
ASSERT(m_indent<MAX_INDENT);
- return m_indent;
+ //return m_indent;
}
/*! Decrease the level of the contents hierarchy.
* This will end the current sublist.
* \sa incContentsDepth()
*/
-int FTVHelp::decContentsDepth()
+void FTVHelp::decContentsDepth()
{
//int i; for (i=0;i<m_dc;i++) m_cts << " ";
@@ -405,7 +408,7 @@ int FTVHelp::decContentsDepth()
parent->children.append(children->take(0));
}
}
- return m_indent;
+ //return m_indent;
}
/*! Add a list item to the contents file.
@@ -416,10 +419,10 @@ int FTVHelp::decContentsDepth()
* \param name the name of the item.
*/
void FTVHelp::addContentsItem(bool isDir,
+ const char *name,
const char *ref,
const char *file,
- const char *anchor,
- const char *name
+ const char *anchor
)
{
QList<FTVNode> *nl = &m_indentNodes[m_indent];
@@ -611,7 +614,7 @@ void FTVHelp::generateTreeView()
t << " <frame src=\"tree" << Doxygen::htmlFileExtension << "\" name=\"treefrm\">" << endl;
t << " <frame src=\"main" << Doxygen::htmlFileExtension << "\" name=\"basefrm\">" << endl;
t << " <noframes>" << endl;
- t << " <a href=\"main.html\">Frames are disabled. Click here to go to the main page.</a>" << endl;
+ t << " <a href=\"main" << Doxygen::htmlFileExtension << "\">Frames are disabled. Click here to go to the main page.</a>" << endl;
t << " </noframes>" << endl;
t << "</frameset>" << endl;
t << "</html>" << endl;
diff --git a/src/ftvhelp.h b/src/ftvhelp.h
index 8fdca6a..c2f063a 100644
--- a/src/ftvhelp.h
+++ b/src/ftvhelp.h
@@ -14,6 +14,7 @@
#include "qtbc.h"
#include <qtextstream.h>
#include <qlist.h>
+#include "index.h"
class QFile;
struct FTVNode;
@@ -54,33 +55,32 @@ extern FTVImageInfo image_info[];
/*! A class that generates a dynamic tree view side panel.
*/
-class FTVHelp
+class FTVHelp : public IndexIntf
{
public:
- static FTVHelp *getInstance();
+ FTVHelp();
+ //static FTVHelp *getInstance();
void initialize();
void finalize();
- int incContentsDepth();
- int decContentsDepth();
- /*! return the current depth of the contents tree */
- int contentsDepth() const { return m_indent; }
+ void incContentsDepth();
+ void decContentsDepth();
void addContentsItem(bool isDir,
+ const char *name,
const char *ref,
const char *file,
- const char *anchor,
- const char *name);
- static void generateTreeViewImages();
+ const char *anchor);
+ void addIndexItem(const char *, const char *,
+ const char *, const char *,
+ const char *) {}
+ void addIndexFile(const char *) {}
private:
+ void generateTreeViewImages();
void generateTreeView();
void generateTree(QTextStream &t,const QList<FTVNode> &nl,int level);
void generateIndent(QTextStream &t,FTVNode *n,int level);
void generateLink(QTextStream &t,FTVNode *n);
- FTVHelp();
~FTVHelp();
- //QFile *m_cf;
- //QTextStream m_cts;
- //int m_dc;
static FTVHelp *m_theInstance;
QList<FTVNode> *m_indentNodes;
int m_indent;
diff --git a/src/groupdef.cpp b/src/groupdef.cpp
index 4370f5c..4905b28 100644
--- a/src/groupdef.cpp
+++ b/src/groupdef.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/groupdef.h b/src/groupdef.h
index dddf52b..d0761b2 100644
--- a/src/groupdef.h
+++ b/src/groupdef.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/htmlattrib.h b/src/htmlattrib.h
index 3291d05..8c852e4 100644
--- a/src/htmlattrib.h
+++ b/src/htmlattrib.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp
index 8040855..baebc7f 100644
--- a/src/htmldocvisitor.cpp
+++ b/src/htmldocvisitor.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/htmldocvisitor.h b/src/htmldocvisitor.h
index a91550c..2708c7b 100644
--- a/src/htmldocvisitor.h
+++ b/src/htmldocvisitor.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp
index 1cf596d..143baf5 100644
--- a/src/htmlgen.cpp
+++ b/src/htmlgen.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -658,6 +658,7 @@ static void generateDynamicSections(QTextStream &t,const QCString &relPath)
" button.src='" << relPath << "closed.gif';\n"
" section.id='dynsection'+sectionCounter;\n"
" section.style.display='none';\n"
+ " section.style.marginLeft='14px';\n"
" sectionCounter++;\n"
" }\n"
" }\n"
@@ -682,10 +683,11 @@ void HtmlGenerator::startFile(const char *name,const char *,
fileName+=Doxygen::htmlFileExtension;
}
startPlainFile(fileName);
- if (Config_getBool("GENERATE_HTMLHELP"))
- {
- HtmlHelp::getInstance()->addIndexFile(fileName);
- }
+ Doxygen::indexList.addIndexFile(fileName);
+ //if (Config_getBool("GENERATE_HTMLHELP"))
+ //{
+ // HtmlHelp::getInstance()->addIndexFile(fileName);
+ //}
QCString dispTitle = title;
QCString projName = Config_getString("PROJECT_NAME");
@@ -1118,7 +1120,7 @@ void HtmlGenerator::startClassDiagram()
t << "<div class=\"dynheader\">" << endl;
}
-void HtmlGenerator::endClassDiagram(ClassDiagram &d,
+void HtmlGenerator::endClassDiagram(const ClassDiagram &d,
const char *fileName,const char *name)
{
t << "</div>" << endl;
@@ -1490,7 +1492,7 @@ void HtmlGenerator::startDotGraph()
t << "<div class=\"dynheader\">" << endl;
}
-void HtmlGenerator::endDotGraph(DotClassGraph &g)
+void HtmlGenerator::endDotGraph(const DotClassGraph &g)
{
t << "</div>" << endl;
t << "<div class=\"dynsection\">" << endl;
@@ -1511,7 +1513,7 @@ void HtmlGenerator::startInclDepGraph()
t << "<div class=\"dynheader\">" << endl;
}
-void HtmlGenerator::endInclDepGraph(DotInclDepGraph &g)
+void HtmlGenerator::endInclDepGraph(const DotInclDepGraph &g)
{
t << "</div>" << endl;
t << "<div class=\"dynsection\">" << endl;
@@ -1524,7 +1526,7 @@ void HtmlGenerator::startGroupCollaboration()
t << "<div class=\"dynheader\">" << endl;
}
-void HtmlGenerator::endGroupCollaboration(DotGroupCollaboration &g)
+void HtmlGenerator::endGroupCollaboration(const DotGroupCollaboration &g)
{
t << "</div>" << endl;
t << "<div class=\"dynsection\">" << endl;
@@ -1537,7 +1539,7 @@ void HtmlGenerator::startCallGraph()
t << "<div class=\"dynheader\">" << endl;
}
-void HtmlGenerator::endCallGraph(DotCallGraph &g)
+void HtmlGenerator::endCallGraph(const DotCallGraph &g)
{
t << "</div>" << endl;
t << "<div class=\"dynsection\">" << endl;
@@ -1550,7 +1552,7 @@ void HtmlGenerator::startDirDepGraph()
t << "<div class=\"dynheader\">" << endl;
}
-void HtmlGenerator::endDirDepGraph(DotDirDeps &g)
+void HtmlGenerator::endDirDepGraph(const DotDirDeps &g)
{
t << "</div>" << endl;
t << "<div class=\"dynsection\">" << endl;
@@ -1558,7 +1560,7 @@ void HtmlGenerator::endDirDepGraph(DotDirDeps &g)
t << "</div>" << endl;
}
-void HtmlGenerator::writeGraphicalHierarchy(DotGfxHierarchyTable &g)
+void HtmlGenerator::writeGraphicalHierarchy(const DotGfxHierarchyTable &g)
{
g.writeGraph(t,dir);
}
diff --git a/src/htmlgen.h b/src/htmlgen.h
index 5c318be..3af767c 100644
--- a/src/htmlgen.h
+++ b/src/htmlgen.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -173,11 +173,9 @@ class HtmlGenerator : public OutputGenerator
void endIndent();
void writeSynopsis() {}
void startClassDiagram();
- void endClassDiagram(ClassDiagram &,const char *,const char *);
+ void endClassDiagram(const ClassDiagram &,const char *,const char *);
void startPageRef() {}
void endPageRef(const char *,const char *) {}
- //void startQuickIndexItem(const char *,const char *);
- //void endQuickIndexItem();
void writeQuickLinks(bool compact,HighlightedItem hli);
void writeNonBreakableSpace(int);
@@ -195,16 +193,16 @@ class HtmlGenerator : public OutputGenerator
{ t << "</td></tr>" << endl; }
void startDotGraph();
- void endDotGraph(DotClassGraph &g);
+ void endDotGraph(const DotClassGraph &g);
void startInclDepGraph();
- void endInclDepGraph(DotInclDepGraph &g);
+ void endInclDepGraph(const DotInclDepGraph &g);
void startGroupCollaboration();
- void endGroupCollaboration(DotGroupCollaboration &g);
+ void endGroupCollaboration(const DotGroupCollaboration &g);
void startCallGraph();
- void endCallGraph(DotCallGraph &g);
+ void endCallGraph(const DotCallGraph &g);
void startDirDepGraph();
- void endDirDepGraph(DotDirDeps &g);
- void writeGraphicalHierarchy(DotGfxHierarchyTable &g);
+ void endDirDepGraph(const DotDirDeps &g);
+ void writeGraphicalHierarchy(const DotGfxHierarchyTable &g);
void startTextBlock(bool) {}
void endTextBlock(bool) {}
diff --git a/src/htmlhelp.cpp b/src/htmlhelp.cpp
index 58e79f2..1ff3101 100644
--- a/src/htmlhelp.cpp
+++ b/src/htmlhelp.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -270,6 +270,7 @@ HtmlHelp::HtmlHelp() : indexFileDict(1009)
index = new HtmlHelpIndex;
}
+#if 0
/*! return a reference to the one and only instance of this class.
*/
HtmlHelp *HtmlHelp::getInstance()
@@ -277,6 +278,7 @@ HtmlHelp *HtmlHelp::getInstance()
if (theInstance==0) theInstance = new HtmlHelp;
return theInstance;
}
+#endif
static QDict<QCString> s_languageDict;
@@ -504,47 +506,50 @@ void HtmlHelp::finalize()
* This will start a new unnumbered HTML list in contents file.
* \sa decContentsDepth()
*/
-int HtmlHelp::incContentsDepth()
+void HtmlHelp::incContentsDepth()
{
int i; for (i=0;i<dc+1;i++) cts << " ";
cts << "<UL>\n";
- return ++dc;
+ ++dc;
}
/*! Decrease the level of the contents hierarchy.
* This will end the unnumber HTML list.
* \sa incContentsDepth()
*/
-int HtmlHelp::decContentsDepth()
+void HtmlHelp::decContentsDepth()
{
int i; for (i=0;i<dc;i++) cts << " ";
cts << "</UL>\n";
- return --dc;
+ --dc;
}
/*! Add an list item to the contents file.
* \param isDir boolean indicating if this is a dir or file entry
* \param name the name of the item.
* \param ref the URL of to the item.
+ * \param file the file in which the item is defined.
* \param anchor the anchor of the item.
*/
void HtmlHelp::addContentsItem(bool isDir,
- const char *name,const char *ref,
+ const char *name,
+ const char * /*ref*/,
+ const char *file,
const char *anchor)
{
// If we're using a binary toc then folders cannot have links.
if(Config_getBool("BINARY_TOC") && isDir)
{
- ref = 0;
+ file = 0;
anchor = 0;
}
int i; for (i=0;i<dc;i++) cts << " ";
cts << "<LI><OBJECT type=\"text/sitemap\">";
cts << "<param name=\"Name\" value=\"" << name << "\">";
- if (ref) // made ref optional param - KPW
+ if (file) // made file optional param - KPW
{
- cts << "<param name=\"Local\" value=\"" << ref << Doxygen::htmlFileExtension;
+ cts << "<param name=\"Local\" value=\"" << file << Doxygen::htmlFileExtension;
if (anchor) cts << "#" << anchor;
cts << "\">";
}
diff --git a/src/htmlhelp.h b/src/htmlhelp.h
index 81cac26..fb11d87 100644
--- a/src/htmlhelp.h
+++ b/src/htmlhelp.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -24,6 +24,7 @@
#include "qtbc.h"
#include <qtextstream.h>
#include <qstrlist.h>
+#include "index.h"
class QFile;
class HtmlHelpIndex;
@@ -32,7 +33,7 @@ class HtmlHelpIndex;
* These files can be used with the Microsoft HTML Help workshop
* to generate compressed HTML files (.chm).
*/
-class HtmlHelp
+class HtmlHelp : public IndexIntf
{
/*! used in imageNumber param of HTMLHelp::addContentsItem() function
to specify document icon in tree view.
@@ -61,28 +62,25 @@ class HtmlHelp
TOOL, TOOL_NEW
};
public:
- static HtmlHelp *getInstance();
+ //static HtmlHelp *getInstance();
+ HtmlHelp();
void initialize();
void finalize();
- int incContentsDepth();
- int decContentsDepth();
- /*! return the current depth of the contents tree */
- int contentsDepth() { return dc; }
- // added imageNumber - KPW
+ void incContentsDepth();
+ void decContentsDepth();
void addContentsItem(bool isDir,
const char *name,
const char *ref = 0,
+ const char *file = 0,
const char *anchor = 0);
void addIndexItem(const char *level1, const char *level2,
const char *contRef, const char *memRef,
const char *anchor);
void addIndexFile(const char *name);
-
private:
void createProjectFile();
- HtmlHelp();
QFile *cf,*kf;
QTextStream cts,kts;
HtmlHelpIndex *index;
diff --git a/src/image.cpp b/src/image.cpp
index 811317a..799ef75 100644
--- a/src/image.cpp
+++ b/src/image.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/image.h b/src/image.h
index 34a07f3..11e15a6 100644
--- a/src/image.h
+++ b/src/image.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/index.cpp b/src/index.cpp
index 316963e..100cf99 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -303,19 +303,6 @@ static bool classHasVisibleChildren(ClassDef *cd)
void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper,int level)
{
if (bcl==0) return;
- HtmlHelp *htmlHelp=0;
- FTVHelp *ftvHelp=0;
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- htmlHelp = HtmlHelp::getInstance();
- }
- if (hasFtvHelp)
- {
- ftvHelp = FTVHelp::getInstance();
- }
BaseClassListIterator bcli(*bcl);
bool started=FALSE;
for ( ; bcli.current() ; ++bcli)
@@ -326,8 +313,7 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper,int level)
if (!started)
{
startIndexHierarchy(ol,level);
- if (hasHtmlHelp) htmlHelp->incContentsDepth();
- if (hasFtvHelp) ftvHelp->incContentsDepth();
+ Doxygen::indexList.incContentsDepth();
started=TRUE;
}
//printf("Passed...\n");
@@ -345,28 +331,18 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper,int level)
ol.docify(" [external]");
ol.endTypewriter();
}
- if (hasHtmlHelp)
- {
- htmlHelp->addContentsItem(hasChildren,cd->displayName(),cd->getOutputFileBase());
- }
- if (hasFtvHelp)
- {
- ftvHelp->addContentsItem(hasChildren,cd->getReference(),cd->getOutputFileBase(),0,cd->displayName());
- }
+ Doxygen::indexList.addContentsItem(hasChildren,
+ cd->displayName(),
+ cd->getReference(),
+ cd->getOutputFileBase(),
+ 0);
}
else
{
ol.startIndexItem(0,0);
ol.parseText(cd->name());
ol.endIndexItem(0,0);
- if (hasHtmlHelp)
- {
- htmlHelp->addContentsItem(hasChildren,cd->displayName(),0);
- }
- if (hasFtvHelp)
- {
- ftvHelp->addContentsItem(hasChildren,0,0,0,cd->displayName());
- }
+ Doxygen::indexList.addContentsItem(hasChildren,cd->displayName(),0,0,0);
}
if (hasChildren)
{
@@ -380,8 +356,7 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper,int level)
if (started)
{
endIndexHierarchy(ol,level);
- if (hasHtmlHelp) htmlHelp->decContentsDepth();
- if (hasFtvHelp) ftvHelp->decContentsDepth();
+ Doxygen::indexList.decContentsDepth();
}
}
@@ -392,19 +367,6 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper,int level)
void writeClassTree(BaseClassList *cl,int level)
{
if (cl==0) return;
- HtmlHelp *htmlHelp=0;
- FTVHelp *ftvHelp=0;
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- htmlHelp = HtmlHelp::getInstance();
- }
- if (hasFtvHelp)
- {
- ftvHelp = FTVHelp::getInstance();
- }
BaseClassListIterator cli(*cl);
bool started=FALSE;
for ( ; cli.current() ; ++cli)
@@ -415,22 +377,14 @@ void writeClassTree(BaseClassList *cl,int level)
{
if (!started)
{
- if (hasHtmlHelp) htmlHelp->incContentsDepth();
- if (hasFtvHelp) ftvHelp->incContentsDepth();
+ Doxygen::indexList.incContentsDepth();
started=TRUE;
}
bool hasChildren = !cd->visited && classHasVisibleChildren(cd);
//printf("tree2: Has children %s: %d\n",cd->name().data(),hasChildren);
if (cd->isLinkable())
{
- if (hasHtmlHelp)
- {
- htmlHelp->addContentsItem(hasChildren,cd->displayName(),cd->getOutputFileBase());
- }
- if (hasFtvHelp)
- {
- ftvHelp->addContentsItem(hasChildren,cd->getReference(),cd->getOutputFileBase(),0,cd->displayName());
- }
+ Doxygen::indexList.addContentsItem(hasChildren,cd->displayName(),cd->getReference(),cd->getOutputFileBase(),0);
}
if (hasChildren)
{
@@ -441,15 +395,14 @@ void writeClassTree(BaseClassList *cl,int level)
}
if (started)
{
- if (hasHtmlHelp) htmlHelp->decContentsDepth();
- if (hasFtvHelp) ftvHelp->decContentsDepth();
+ Doxygen::indexList.decContentsDepth();
}
}
//----------------------------------------------------------------------------
/*! Generates HTML Help tree of classes */
-void writeClassTreeNode(ClassDef *cd,bool hasHtmlHelp,bool hasFtvHelp,bool &started,int level)
+void writeClassTreeNode(ClassDef *cd,bool &started,int level)
{
//printf("writeClassTreeNode(%s) visited=%d\n",cd->name().data(),cd->visited);
if (cd->isVisibleInHierarchy() && !cd->visited)
@@ -462,14 +415,7 @@ void writeClassTreeNode(ClassDef *cd,bool hasHtmlHelp,bool hasFtvHelp,bool &star
//printf("node: Has children %s: %d\n",cd->name().data(),hasChildren);
if (cd->isLinkable())
{
- if (hasHtmlHelp)
- {
- HtmlHelp::getInstance()->addContentsItem(hasChildren,cd->displayName(),cd->getOutputFileBase());
- }
- if (hasFtvHelp)
- {
- FTVHelp::getInstance()->addContentsItem(hasChildren,cd->getReference(),cd->getOutputFileBase(),0,cd->displayName());
- }
+ Doxygen::indexList.addContentsItem(hasChildren,cd->displayName(),cd->getReference(),cd->getOutputFileBase(),0);
}
if (hasChildren)
{
@@ -482,9 +428,6 @@ void writeClassTreeNode(ClassDef *cd,bool hasHtmlHelp,bool hasFtvHelp,bool &star
void writeClassTree(ClassList *cl,int level)
{
if (cl==0) return;
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
ClassListIterator cli(*cl);
bool started=FALSE;
for ( cli.toFirst() ; cli.current() ; ++cli)
@@ -493,16 +436,13 @@ void writeClassTree(ClassList *cl,int level)
}
for ( cli.toFirst() ; cli.current() ; ++cli)
{
- writeClassTreeNode(cli.current(),hasHtmlHelp,hasFtvHelp,started,level);
+ writeClassTreeNode(cli.current(),started,level);
}
}
void writeClassTree(ClassSDict *d,int level)
{
if (d==0) return;
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
ClassSDict::Iterator cli(*d);
bool started=FALSE;
for ( cli.toFirst() ; cli.current() ; ++cli)
@@ -511,7 +451,7 @@ void writeClassTree(ClassSDict *d,int level)
}
for ( cli.toFirst() ; cli.current() ; ++cli)
{
- writeClassTreeNode(cli.current(),hasHtmlHelp,hasFtvHelp,started,level);
+ writeClassTreeNode(cli.current(),started,level);
}
}
@@ -519,20 +459,6 @@ void writeClassTree(ClassSDict *d,int level)
static void writeClassTreeForList(OutputList &ol,ClassSDict *cl,bool &started)
{
- HtmlHelp *htmlHelp=0;
- FTVHelp *ftvHelp=0;
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- htmlHelp = HtmlHelp::getInstance();
- }
- if (hasFtvHelp)
- {
- ftvHelp = FTVHelp::getInstance();
- }
-
ClassSDict::Iterator cli(*cl);
for (;cli.current(); ++cli)
{
@@ -549,8 +475,7 @@ static void writeClassTreeForList(OutputList &ol,ClassSDict *cl,bool &started)
if (!started)
{
startIndexHierarchy(ol,0);
- if (hasHtmlHelp) htmlHelp->incContentsDepth();
- if (hasFtvHelp) ftvHelp->incContentsDepth();
+ Doxygen::indexList.incContentsDepth();
started=TRUE;
}
bool hasChildren = !cd->visited && classHasVisibleChildren(cd);
@@ -568,28 +493,14 @@ static void writeClassTreeForList(OutputList &ol,ClassSDict *cl,bool &started)
ol.docify(" [external]");
ol.endTypewriter();
}
- if (hasHtmlHelp)
- {
- htmlHelp->addContentsItem(hasChildren,cd->displayName(),cd->getOutputFileBase());
- }
- if (hasFtvHelp)
- {
- ftvHelp->addContentsItem(hasChildren,cd->getReference(),cd->getOutputFileBase(),0,cd->displayName());
- }
+ Doxygen::indexList.addContentsItem(hasChildren,cd->displayName(),cd->getReference(),cd->getOutputFileBase(),0);
}
else
{
ol.startIndexItem(0,0);
ol.parseText(cd->displayName());
ol.endIndexItem(0,0);
- if (hasHtmlHelp)
- {
- htmlHelp->addContentsItem(hasChildren,cd->displayName(),0);
- }
- if (hasFtvHelp)
- {
- ftvHelp->addContentsItem(hasChildren,0,0,0,cd->displayName());
- }
+ Doxygen::indexList.addContentsItem(hasChildren,cd->displayName(),0,0,0);
}
if (hasChildren)
{
@@ -603,20 +514,6 @@ static void writeClassTreeForList(OutputList &ol,ClassSDict *cl,bool &started)
void writeClassHierarchy(OutputList &ol)
{
- HtmlHelp *htmlHelp=0;
- FTVHelp *ftvHelp=0;
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- htmlHelp = HtmlHelp::getInstance();
- }
- if (hasFtvHelp)
- {
- ftvHelp = FTVHelp::getInstance();
- }
-
initClassHierarchy(Doxygen::classSDict);
initClassHierarchy(Doxygen::hiddenClasses);
@@ -626,8 +523,7 @@ void writeClassHierarchy(OutputList &ol)
if (started)
{
endIndexHierarchy(ol,0);
- if (hasHtmlHelp) htmlHelp->decContentsDepth();
- if (hasFtvHelp) ftvHelp->decContentsDepth();
+ Doxygen::indexList.decContentsDepth();
}
}
@@ -675,8 +571,6 @@ void writeHierarchicalIndex(OutputList &ol)
HLI_Hierarchy);
startTitle(ol,0);
QCString title = theTranslator->trClassHierarchy();
- QCString htmlHelpTitle = title;
- QCString ftvHelpTitle = title;
if (!Config_getString("PROJECT_NAME").isEmpty())
{
title.prepend(Config_getString("PROJECT_NAME")+" ");
@@ -684,21 +578,7 @@ void writeHierarchicalIndex(OutputList &ol)
ol.parseText(title);
endTitle(ol,0,0);
ol.startTextBlock();
- HtmlHelp *htmlHelp = 0;
- FTVHelp *ftvHelp = 0;
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- htmlHelp = HtmlHelp::getInstance();
- htmlHelp->addContentsItem(TRUE,htmlHelpTitle,"hierarchy");
- }
- if (hasFtvHelp)
- {
- ftvHelp = FTVHelp::getInstance();
- ftvHelp->addContentsItem(TRUE,0,"hierarchy",0,ftvHelpTitle);
- }
+ Doxygen::indexList.addContentsItem(TRUE,title,0,"hierarchy",0);
if (Config_getBool("HAVE_DOT") && Config_getBool("GRAPHICAL_HIERARCHY"))
{
ol.disable(OutputGenerator::Latex);
@@ -726,27 +606,11 @@ void writeGraphicalClassHierarchy(OutputList &ol)
QCString title = theTranslator->trGraphicalHierarchy();
startFile(ol,"inherits",0,title.data(),HLI_Hierarchy);
startTitle(ol,0);
- QCString htmlHelpTitle = title;
- QCString ftvHelpTitle = title;
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
ol.parseText(title);
endTitle(ol,0,0);
ol.startTextBlock();
- HtmlHelp *htmlHelp = 0;
- FTVHelp *ftvHelp = 0;
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- htmlHelp = HtmlHelp::getInstance();
- htmlHelp->addContentsItem(FALSE,htmlHelpTitle,"inherits");
- }
- if (hasFtvHelp)
- {
- ftvHelp = FTVHelp::getInstance();
- ftvHelp->addContentsItem(FALSE,0,"inherits",0,ftvHelpTitle);
- }
+ Doxygen::indexList.addContentsItem(FALSE,title,0,"inherits",0);
ol.startTextLink("hierarchy",0);
ol.parseText(theTranslator->trGotoTextualHierarchy());
ol.endTextLink();
@@ -803,29 +667,12 @@ void writeFileIndex(OutputList &ol)
startFile(ol,"files",0,theTranslator->trFileIndex().data(),HLI_Files);
startTitle(ol,0);
QCString title = theTranslator->trFileList();
- QCString htmlHelpTitle = title;
- QCString ftvHelpTitle = title;
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
ol.parseText(title);
endTitle(ol,0,0);
ol.startTextBlock();
- HtmlHelp *htmlHelp = 0;
- FTVHelp *ftvHelp = 0;
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- htmlHelp = HtmlHelp::getInstance();
- htmlHelp->addContentsItem(TRUE,htmlHelpTitle,"files");
- htmlHelp->incContentsDepth();
- }
- if (hasFtvHelp)
- {
- ftvHelp = FTVHelp::getInstance();
- ftvHelp->addContentsItem(TRUE,0,"files",0,ftvHelpTitle);
- ftvHelp->incContentsDepth();
- }
+ Doxygen::indexList.addContentsItem(TRUE,title,0,"files",0);
+ Doxygen::indexList.incContentsDepth();
ol.parseText(theTranslator->trFileListDescription(Config_getBool("EXTRACT_ALL")));
ol.endTextBlock();
@@ -903,28 +750,14 @@ void writeFileIndex(OutputList &ol)
if (doc)
{
ol.writeObjectLink(0,fd->getOutputFileBase(),0,fd->name());
- if (hasHtmlHelp)
- {
- htmlHelp->addContentsItem(FALSE,fullName,fd->getOutputFileBase());
- }
- if (hasFtvHelp)
- {
- ftvHelp->addContentsItem(FALSE,fd->getReference(),fd->getOutputFileBase(),0,fullName);
- }
+ Doxygen::indexList.addContentsItem(FALSE,fullName,fd->getReference(),fd->getOutputFileBase(),0);
}
else
{
ol.startBold();
ol.docify(fd->name());
ol.endBold();
- if (hasHtmlHelp)
- {
- htmlHelp->addContentsItem(FALSE,fullName,0);
- }
- if (hasFtvHelp)
- {
- ftvHelp->addContentsItem(FALSE,0,0,0,fullName);
- }
+ Doxygen::indexList.addContentsItem(FALSE,fullName,0,0,0);
}
if (src)
{
@@ -972,14 +805,7 @@ void writeFileIndex(OutputList &ol)
}
}
ol.endIndexList();
- if (hasHtmlHelp)
- {
- htmlHelp->decContentsDepth();
- }
- if (hasFtvHelp)
- {
- ftvHelp->decContentsDepth();
- }
+ Doxygen::indexList.decContentsDepth();
endFile(ol);
ol.popGeneratorState();
}
@@ -1016,29 +842,12 @@ void writeNamespaceIndex(OutputList &ol)
title = theTranslator->trNamespaceList();
}
startTitle(ol,0);
- QCString htmlHelpTitle = title;
- QCString ftvHelpTitle = title;
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
ol.parseText(title);
endTitle(ol,0,0);
ol.startTextBlock();
- HtmlHelp *htmlHelp = 0;
- FTVHelp *ftvHelp = 0;
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- htmlHelp = HtmlHelp::getInstance();
- htmlHelp->addContentsItem(TRUE,htmlHelpTitle,"namespaces");
- htmlHelp->incContentsDepth();
- }
- if (hasFtvHelp)
- {
- ftvHelp = FTVHelp::getInstance();
- ftvHelp->addContentsItem(TRUE,0,"namespaces",0,ftvHelpTitle);
- ftvHelp->incContentsDepth();
- }
+ Doxygen::indexList.addContentsItem(TRUE,title,0,"namespaces",0);
+ Doxygen::indexList.incContentsDepth();
//ol.newParagraph();
if (Config_getBool("OPTIMIZE_OUTPUT_JAVA"))
{
@@ -1087,25 +896,11 @@ void writeNamespaceIndex(OutputList &ol)
}
ol.endIndexValue(nd->getOutputFileBase(),hasBrief);
//ol.writeEndAnnoItem(nd->getOutputFileBase());
- if (hasHtmlHelp)
- {
- htmlHelp->addContentsItem(FALSE,nd->displayName(),nd->getOutputFileBase());
- }
- if (hasFtvHelp)
- {
- ftvHelp->addContentsItem(FALSE,nd->getReference(),nd->getOutputFileBase(),0,nd->displayName());
- }
+ Doxygen::indexList.addContentsItem(FALSE,nd->displayName(),nd->getReference(),nd->getOutputFileBase(),0);
}
}
if (!first) ol.endIndexList();
- if (hasHtmlHelp)
- {
- htmlHelp->decContentsDepth();
- }
- if (hasFtvHelp)
- {
- ftvHelp->decContentsDepth();
- }
+ Doxygen::indexList.decContentsDepth();
endFile(ol);
ol.popGeneratorState();
}
@@ -1133,9 +928,6 @@ int countAnnotatedClasses()
void writeAnnotatedClassList(OutputList &ol)
{
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
ol.startIndexList();
ClassSDict::Iterator cli(*Doxygen::classSDict);
ClassDef *cd;
@@ -1210,14 +1002,7 @@ void writeAnnotatedClassList(OutputList &ol)
}
ol.endIndexValue(cd->getOutputFileBase(),hasBrief);
//ol.writeEndAnnoItem(cd->getOutputFileBase());
- if (hasHtmlHelp)
- {
- HtmlHelp::getInstance()->addContentsItem(FALSE,cd->displayName(),cd->getOutputFileBase());
- }
- if (hasFtvHelp)
- {
- FTVHelp::getInstance()->addContentsItem(FALSE,cd->getReference(),cd->getOutputFileBase(),0,cd->displayName());
- }
+ Doxygen::indexList.addContentsItem(FALSE,cd->displayName(),cd->getReference(),cd->getOutputFileBase(),0);
}
}
ol.endIndexList();
@@ -1473,10 +1258,6 @@ void writeAlphabeticalIndex(OutputList &ol)
void writeAnnotatedIndex(OutputList &ol)
{
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
-
if (annotatedClasses==0) return;
ol.pushGeneratorState();
@@ -1484,37 +1265,16 @@ void writeAnnotatedIndex(OutputList &ol)
QCString title = theTranslator->trCompoundList();
startFile(ol,"annotated",0,title.data(),HLI_Annotated);
startTitle(ol,0);
- QCString htmlHelpTitle = title;
- QCString ftvHelpTitle = title;
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
ol.parseText(title);
endTitle(ol,0,0);
ol.startTextBlock();
- HtmlHelp *htmlHelp = 0;
- FTVHelp *ftvHelp = 0;
- if (hasHtmlHelp)
- {
- htmlHelp = HtmlHelp::getInstance();
- htmlHelp->addContentsItem(TRUE,htmlHelpTitle,"annotated");
- htmlHelp->incContentsDepth();
- }
- if (hasFtvHelp)
- {
- ftvHelp = FTVHelp::getInstance();
- ftvHelp->addContentsItem(TRUE,0,"annotated",0,ftvHelpTitle);
- ftvHelp->incContentsDepth();
- }
+ Doxygen::indexList.addContentsItem(TRUE,title,0,"annotated",0);
+ Doxygen::indexList.incContentsDepth();
ol.parseText(theTranslator->trCompoundListDescription());
ol.endTextBlock();
writeAnnotatedClassList(ol);
- if (hasHtmlHelp)
- {
- htmlHelp->decContentsDepth();
- }
- if (hasFtvHelp)
- {
- ftvHelp->decContentsDepth();
- }
+ Doxygen::indexList.decContentsDepth();
endFile(ol);
ol.popGeneratorState();
@@ -2007,19 +1767,7 @@ void writeClassMemberIndex(OutputList &ol)
if (documentedClassMembers[CMHL_All]>0)
{
QCString title = theTranslator->trCompoundMembers();
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- HtmlHelp *htmlHelp = HtmlHelp::getInstance();
- htmlHelp->addContentsItem(FALSE,title,"functions");
- }
- if (hasFtvHelp)
- {
- FTVHelp *ftvHelp = FTVHelp::getInstance();
- ftvHelp->addContentsItem(FALSE,0,"functions",0,title);
- }
+ Doxygen::indexList.addContentsItem(FALSE,title,0,"functions",0);
}
}
@@ -2139,19 +1887,7 @@ void writeFileMemberIndex(OutputList &ol)
if (documentedFileMembers[FMHL_All]>0)
{
QCString title = theTranslator->trFileMembers();
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- HtmlHelp *htmlHelp = HtmlHelp::getInstance();
- htmlHelp->addContentsItem(FALSE,title,"globals");
- }
- if (hasFtvHelp)
- {
- FTVHelp *ftvHelp = FTVHelp::getInstance();
- ftvHelp->addContentsItem(FALSE,0,"globals",0,title);
- }
+ Doxygen::indexList.addContentsItem(FALSE,title,0,"globals",0);
}
}
@@ -2268,19 +2004,7 @@ void writeNamespaceMemberIndex(OutputList &ol)
if (documentedNamespaceMembers[NMHL_All]>0)
{
QCString title = theTranslator->trNamespaceMembers();
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- HtmlHelp *htmlHelp = HtmlHelp::getInstance();
- htmlHelp->addContentsItem(FALSE,title,"namespacemembers");
- }
- if (hasFtvHelp)
- {
- FTVHelp *ftvHelp = FTVHelp::getInstance();
- ftvHelp->addContentsItem(FALSE,0,"namespacemembers",0,title);
- }
+ Doxygen::indexList.addContentsItem(FALSE,title,0,"namespacemembers",0);
}
}
@@ -2294,29 +2018,12 @@ void writeExampleIndex(OutputList &ol)
QCString title = theTranslator->trExamples();
startFile(ol,"examples",0,title.data(),HLI_Examples);
startTitle(ol,0);
- QCString htmlHelpTitle = title;
- QCString ftvHelpTitle = title;
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
ol.parseText(title);
endTitle(ol,0,0);
ol.startTextBlock();
- HtmlHelp *htmlHelp = 0;
- FTVHelp *ftvHelp = 0;
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- htmlHelp = HtmlHelp::getInstance();
- htmlHelp->addContentsItem(TRUE,htmlHelpTitle,"examples");
- htmlHelp->incContentsDepth();
- }
- if (hasFtvHelp)
- {
- ftvHelp = FTVHelp::getInstance();
- ftvHelp->addContentsItem(TRUE,0,"examples",0,ftvHelpTitle);
- ftvHelp->incContentsDepth();
- }
+ Doxygen::indexList.addContentsItem(TRUE,title,0,"examples",0);
+ Doxygen::indexList.incContentsDepth();
ol.parseText(theTranslator->trExamplesDescription());
//ol.newParagraph();
ol.endTextBlock();
@@ -2330,26 +2037,17 @@ void writeExampleIndex(OutputList &ol)
if (!pd->title().isEmpty())
{
ol.writeObjectLink(0,n,0,pd->title());
- if (hasHtmlHelp) htmlHelp->addContentsItem(FALSE,pd->title(),n);
- if (hasFtvHelp) ftvHelp->addContentsItem(FALSE,pd->getReference(),n,0,pd->title());
+ Doxygen::indexList.addContentsItem(FALSE,pd->title(),pd->getReference(),n,0);
}
else
{
ol.writeObjectLink(0,n,0,pd->name());
- if (hasHtmlHelp) htmlHelp->addContentsItem(FALSE,pd->name(),n);
- if (hasFtvHelp) ftvHelp->addContentsItem(FALSE,pd->getReference(),n,0,pd->name());
+ Doxygen::indexList.addContentsItem(FALSE,pd->name(),pd->getReference(),n,0);
}
ol.writeString("\n");
}
ol.endItemList();
- if (hasHtmlHelp)
- {
- htmlHelp->decContentsDepth();
- }
- if (hasFtvHelp)
- {
- ftvHelp->decContentsDepth();
- }
+ Doxygen::indexList.decContentsDepth();
endFile(ol);
ol.popGeneratorState();
}
@@ -2379,21 +2077,7 @@ void countRelatedPages(int &docPages,int &indexPages)
static void writeSubPages(PageDef *pd)
{
//printf("Write subpages(%s #=%d)\n",pd->name().data(),pd->getSubPages() ? pd->getSubPages()->count() : 0 );
- static bool generateHtml = Config_getBool("GENERATE_HTML") ;
- static bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- static bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- HtmlHelp *htmlHelp = 0;
- if (hasHtmlHelp)
- {
- htmlHelp = HtmlHelp::getInstance();
- htmlHelp->incContentsDepth();
- }
- FTVHelp *ftvHelp = 0;
- if (hasFtvHelp)
- {
- ftvHelp = FTVHelp::getInstance();
- ftvHelp->incContentsDepth();
- }
+ Doxygen::indexList.incContentsDepth();
PageSDict *subPages = pd->getSubPages();
if (subPages)
@@ -2411,25 +2095,12 @@ static void writeSubPages(PageDef *pd)
bool hasSubPages = subPage->hasSubPages();
- if (hasHtmlHelp)
- {
- htmlHelp->addContentsItem(hasSubPages,pageTitle,subPage->getOutputFileBase());
- }
- if (hasFtvHelp)
- {
- ftvHelp->addContentsItem(hasSubPages,subPage->getReference(),subPage->getOutputFileBase(),0,pageTitle);
- }
+ Doxygen::indexList.addContentsItem(hasSubPages,pageTitle,subPage->getReference(),subPage->getOutputFileBase(),0);
writeSubPages(subPage);
}
}
- if (hasHtmlHelp)
- {
- htmlHelp->decContentsDepth();
- }
- if (hasFtvHelp)
- {
- ftvHelp->decContentsDepth();
- }
+ Doxygen::indexList.decContentsDepth();
+
}
void writePageIndex(OutputList &ol)
@@ -2440,29 +2111,12 @@ void writePageIndex(OutputList &ol)
startFile(ol,"pages",0,theTranslator->trPageIndex().data(),HLI_Pages);
startTitle(ol,0);
QCString title = theTranslator->trRelatedPages();
- QCString htmlHelpTitle = title;
- QCString ftvHelpTitle = title;
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
ol.parseText(title);
endTitle(ol,0,0);
ol.startTextBlock();
- HtmlHelp *htmlHelp = 0;
- FTVHelp *ftvHelp = 0;
- static bool generateHtml = Config_getBool("GENERATE_HTML") ;
- static bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- static bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- htmlHelp = HtmlHelp::getInstance();
- htmlHelp->addContentsItem(TRUE,htmlHelpTitle,"pages");
- htmlHelp->incContentsDepth();
- }
- if (hasFtvHelp)
- {
- ftvHelp = FTVHelp::getInstance();
- ftvHelp->addContentsItem(TRUE,0,"pages",0,ftvHelpTitle);
- ftvHelp->incContentsDepth();
- }
+ Doxygen::indexList.addContentsItem(TRUE,title,0,"pages",0);
+ Doxygen::indexList.incContentsDepth();
ol.parseText(theTranslator->trRelatedPagesDescription());
ol.endTextBlock();
startIndexHierarchy(ol,0);
@@ -2491,26 +2145,12 @@ void writePageIndex(OutputList &ol)
ol.endTypewriter();
}
ol.writeString("\n");
- if (hasHtmlHelp)
- {
- htmlHelp->addContentsItem(hasSubPages,pageTitle,pd->getOutputFileBase());
- }
- if (hasFtvHelp)
- {
- ftvHelp->addContentsItem(hasSubPages,pd->getReference(),pd->getOutputFileBase(),0,pageTitle);
- }
+ Doxygen::indexList.addContentsItem(hasSubPages,pageTitle,pd->getReference(),pd->getOutputFileBase(),0);
writeSubPages(pd);
}
}
endIndexHierarchy(ol,0);
- if (hasHtmlHelp)
- {
- htmlHelp->decContentsDepth();
- }
- if (hasFtvHelp)
- {
- ftvHelp->decContentsDepth();
- }
+ Doxygen::indexList.decContentsDepth();
endFile(ol);
ol.popGeneratorState();
}
@@ -2573,8 +2213,7 @@ void writeGraphInfo(OutputList &ol)
ol.popGeneratorState();
}
-void writeGroupIndexItem(GroupDef *gd,MemberList *ml,const QCString &title,
- HtmlHelp *htmlHelp,FTVHelp *ftvHelp)
+void writeGroupIndexItem(GroupDef *gd,MemberList *ml,const QCString &title)
{
if (ml && ml->count()>0)
{
@@ -2587,33 +2226,18 @@ void writeGroupIndexItem(GroupDef *gd,MemberList *ml,const QCString &title,
if (first)
{
first=FALSE;
- if (htmlHelp)
- {
- htmlHelp->addContentsItem(TRUE, convertToHtml(title,TRUE), gd->getOutputFileBase(),0);
- htmlHelp->incContentsDepth();
- }
- if (ftvHelp)
- {
-
- ftvHelp->addContentsItem(TRUE, gd->getReference(), gd->getOutputFileBase(), 0, title);
- ftvHelp->incContentsDepth();
- }
- }
- if (htmlHelp)
- {
- htmlHelp->addContentsItem(FALSE,md->name(),md->getOutputFileBase(),md->anchor());
- }
- if (ftvHelp)
- {
- ftvHelp->addContentsItem(FALSE,md->getReference(),md->getOutputFileBase(),md->anchor(),md->name());
+ Doxygen::indexList.addContentsItem(TRUE, convertToHtml(title,TRUE), gd->getReference(), gd->getOutputFileBase(), 0);
+ Doxygen::indexList.incContentsDepth();
}
+ Doxygen::indexList.addContentsItem(FALSE,md->name(),md->getReference(),md->getOutputFileBase(),md->anchor());
}
md=ml->next();
}
- if (htmlHelp && !first) htmlHelp->decContentsDepth();
- if (ftvHelp && !first) ftvHelp->decContentsDepth();
-
+ if (!first)
+ {
+ Doxygen::indexList.decContentsDepth();
+ }
}
}
@@ -2624,8 +2248,6 @@ void writeGroupIndexItem(GroupDef *gd,MemberList *ml,const QCString &title,
*/
void writeGroupTreeNode(OutputList &ol, GroupDef *gd,int level)
{
- HtmlHelp *htmlHelp=0;
- FTVHelp *ftvHelp = 0;
if (level>20)
{
warn(gd->getDefFileName(),gd->getDefLine(),
@@ -2633,17 +2255,6 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,int level)
);
return;
}
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- htmlHelp = HtmlHelp::getInstance();
- }
- if (hasFtvHelp)
- {
- ftvHelp = FTVHelp::getInstance();
- }
/* Some groups should appear twice under different parent-groups.
* That is why we should not check if it was visited
@@ -2676,17 +2287,8 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,int level)
bool isDir = hasSubGroups || hasSubPages || numSubItems>0;
//printf("gd=`%s': pageDict=%d\n",gd->name().data(),gd->pageDict->count());
- if (htmlHelp)
- {
- htmlHelp->addContentsItem(isDir,gd->groupTitle(),gd->getOutputFileBase());
- htmlHelp->incContentsDepth();
- }
- if (ftvHelp)
- {
- ftvHelp->addContentsItem(isDir,gd->getReference(),gd->getOutputFileBase(),
- 0,gd->groupTitle());
- ftvHelp->incContentsDepth();
- }
+ Doxygen::indexList.addContentsItem(isDir,gd->groupTitle(),gd->getReference(),gd->getOutputFileBase(),0);
+ Doxygen::indexList.incContentsDepth();
//ol.writeListItem();
//ol.startTextLink(gd->getOutputFileBase(),0);
@@ -2714,16 +2316,11 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,int level)
{
SectionInfo *si=0;
if (!pd->name().isEmpty()) si=Doxygen::sectionDict[pd->name()];
- if (htmlHelp) htmlHelp->addContentsItem(FALSE,
+ Doxygen::indexList.addContentsItem(FALSE,
convertToHtml(pd->title(),TRUE),
- gd->getOutputFileBase(),
- si ? si->label.data() : 0
- );
- if (ftvHelp) ftvHelp->addContentsItem(FALSE,
gd->getReference(),
gd->getOutputFileBase(),
- si ? si->label.data() : 0,
- convertToHtml(pd->title(),TRUE)
+ si ? si->label.data() : 0
);
}
@@ -2744,67 +2341,39 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,int level)
if (Config_getBool("TOC_EXPAND"))
{
writeGroupIndexItem(gd,gd->getMemberList(MemberList::docDefineMembers),
- theTranslator->trDefines(),htmlHelp,ftvHelp);
+ theTranslator->trDefines());
writeGroupIndexItem(gd,gd->getMemberList(MemberList::docTypedefMembers),
- theTranslator->trTypedefs(),htmlHelp,ftvHelp);
+ theTranslator->trTypedefs());
writeGroupIndexItem(gd,gd->getMemberList(MemberList::docEnumMembers),
- theTranslator->trEnumerations(),htmlHelp,ftvHelp);
+ theTranslator->trEnumerations());
writeGroupIndexItem(gd,gd->getMemberList(MemberList::docFuncMembers),
- theTranslator->trFunctions(),htmlHelp,ftvHelp);
+ theTranslator->trFunctions());
writeGroupIndexItem(gd,gd->getMemberList(MemberList::docVarMembers),
- theTranslator->trVariables(),htmlHelp,ftvHelp);
+ theTranslator->trVariables());
writeGroupIndexItem(gd,gd->getMemberList(MemberList::docProtoMembers),
- theTranslator->trFuncProtos(),htmlHelp,ftvHelp);
+ theTranslator->trFuncProtos());
// write namespaces
NamespaceSDict *namespaceSDict=gd->namespaceSDict;
if (namespaceSDict->count()>0)
{
- if (htmlHelp)
- {
- htmlHelp->addContentsItem(TRUE, convertToHtml(theTranslator->trNamespaces(),TRUE), gd->getOutputFileBase(), 0);
- htmlHelp->incContentsDepth();
- }
-
- if (ftvHelp)
- {
-
- ftvHelp->addContentsItem(TRUE, gd->getReference(), gd->getOutputFileBase(), 0, theTranslator->trNamespaces());
- ftvHelp->incContentsDepth();
- }
+ Doxygen::indexList.addContentsItem(TRUE, convertToHtml(theTranslator->trNamespaces(),TRUE),gd->getReference(), gd->getOutputFileBase(), 0);
+ Doxygen::indexList.incContentsDepth();
NamespaceSDict::Iterator ni(*namespaceSDict);
NamespaceDef *nsd;
for (ni.toFirst();(nsd=ni.current());++ni)
{
- if (htmlHelp)
- {
- htmlHelp->addContentsItem(FALSE, convertToHtml(nsd->name(),TRUE), nsd->getOutputFileBase());
- }
- if (ftvHelp)
- {
- ftvHelp->addContentsItem(FALSE, nsd->getReference(), nsd->getOutputFileBase(), 0, convertToHtml(nsd->name(),TRUE));
- }
+ Doxygen::indexList.addContentsItem(FALSE, convertToHtml(nsd->name(),TRUE), nsd->getReference(), nsd->getOutputFileBase(), 0);
}
- if (htmlHelp) htmlHelp->decContentsDepth();
- if (ftvHelp) ftvHelp->decContentsDepth();
+ Doxygen::indexList.decContentsDepth();
}
// write classes
if (gd->classSDict->count()>0)
{
- if (htmlHelp)
- {
- htmlHelp->addContentsItem(TRUE, convertToHtml(theTranslator->trClasses(),TRUE), gd->getOutputFileBase(), 0);
- htmlHelp->incContentsDepth();
- }
-
- if (ftvHelp)
- {
-
- ftvHelp->addContentsItem(TRUE, gd->getReference(), gd->getOutputFileBase(), 0, theTranslator->trClasses());
- ftvHelp->incContentsDepth();
- }
+ Doxygen::indexList.addContentsItem(TRUE, convertToHtml(theTranslator->trClasses(),TRUE), gd->getReference(), gd->getOutputFileBase(), 0);
+ Doxygen::indexList.incContentsDepth();
ClassDef *cd;
ClassSDict::Iterator cdi(*gd->classSDict);
@@ -2813,91 +2382,52 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,int level)
if (cd->isLinkable())
{
//printf("node: Has children %s\n",cd->name().data());
- if (htmlHelp)
- htmlHelp->addContentsItem(FALSE,cd->displayName(),cd->getOutputFileBase());
- if (ftvHelp)
- ftvHelp->addContentsItem(FALSE,cd->getReference(),cd->getOutputFileBase(),0,cd->displayName());
+ Doxygen::indexList.addContentsItem(FALSE,cd->displayName(),cd->getReference(),cd->getOutputFileBase(),0);
}
}
//writeClassTree(gd->classSDict,1);
- if (htmlHelp) htmlHelp->decContentsDepth();
- if (ftvHelp) ftvHelp->decContentsDepth();
+ Doxygen::indexList.decContentsDepth();
}
// write file list
FileList *fileList=gd->fileList;
if (fileList->count()>0)
{
- if (htmlHelp)
- {
- htmlHelp->addContentsItem(TRUE,
- convertToHtml(theTranslator->trFile(TRUE,FALSE),TRUE),
+ Doxygen::indexList.addContentsItem(TRUE,
+ theTranslator->trFile(TRUE,FALSE),
+ gd->getReference(),
gd->getOutputFileBase(), 0);
- htmlHelp->incContentsDepth();
- }
-
- if (ftvHelp)
- {
-
- ftvHelp->addContentsItem(TRUE, gd->getReference(),
- gd->getOutputFileBase(), 0,
- theTranslator->trFile(TRUE,FALSE));
- ftvHelp->incContentsDepth();
- }
+ Doxygen::indexList.incContentsDepth();
FileDef *fd=fileList->first();
while (fd)
{
- if (htmlHelp)
- htmlHelp->addContentsItem(FALSE,convertToHtml(fd->name(),TRUE),fd->getOutputFileBase());
- if (ftvHelp)
- ftvHelp->addContentsItem(FALSE, fd->getReference(), fd->getOutputFileBase(), 0, convertToHtml(fd->name(),TRUE));
+ Doxygen::indexList.addContentsItem(FALSE, convertToHtml(fd->name(),TRUE),fd->getReference(), fd->getOutputFileBase(), 0);
fd=fileList->next();
}
- if (htmlHelp)
- htmlHelp->decContentsDepth();
- if (ftvHelp)
- ftvHelp->decContentsDepth();
+ Doxygen::indexList.decContentsDepth();
}
// write examples
if (gd->exampleDict->count()>0)
{
- if (htmlHelp)
- {
- htmlHelp->addContentsItem(TRUE, convertToHtml(theTranslator->trExamples(),TRUE), gd->getOutputFileBase(), 0);
- htmlHelp->incContentsDepth();
- }
-
- if (ftvHelp)
- {
- ftvHelp->addContentsItem(TRUE, gd->getReference(), gd->getOutputFileBase(), 0, theTranslator->trExamples());
- ftvHelp->incContentsDepth();
- }
+ Doxygen::indexList.addContentsItem(TRUE, convertToHtml(theTranslator->trExamples(),TRUE),gd->getReference(), gd->getOutputFileBase(), 0);
+ Doxygen::indexList.incContentsDepth();
PageSDict::Iterator eli(*(gd->exampleDict));
PageDef *pd=eli.toFirst();
while (pd)
{
- if (htmlHelp)
- {
- htmlHelp->addContentsItem(FALSE,pd->getReference(),pd->getOutputFileBase());
- }
- if (ftvHelp)
- {
- ftvHelp->addContentsItem(FALSE,pd->getReference(),pd->getOutputFileBase(),0,pd->name());
- }
+ Doxygen::indexList.addContentsItem(FALSE,pd->name(),pd->getReference(),pd->getOutputFileBase(),0);
pd=++eli;
}
- if (htmlHelp) htmlHelp->decContentsDepth();
- if (ftvHelp) ftvHelp->decContentsDepth();
+ Doxygen::indexList.decContentsDepth();
}
}
- if (htmlHelp) htmlHelp->decContentsDepth();
- if (ftvHelp) ftvHelp->decContentsDepth();
+ Doxygen::indexList.decContentsDepth();
//gd->visited=TRUE;
}
@@ -2918,8 +2448,6 @@ void writeGroupHierarchy(OutputList &ol)
//----------------------------------------------------------------------------
void writeDirTreeNode(OutputList &ol, DirDef *dd,int level)
{
- HtmlHelp *htmlHelp=0;
- FTVHelp *ftvHelp = 0;
if (level>20)
{
warn(dd->getDefFileName(),dd->getDefLine(),
@@ -2928,17 +2456,6 @@ void writeDirTreeNode(OutputList &ol, DirDef *dd,int level)
);
return;
}
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- htmlHelp = HtmlHelp::getInstance();
- }
- if (hasFtvHelp)
- {
- ftvHelp = FTVHelp::getInstance();
- }
static bool tocExpand = Config_getBool("TOC_EXPAND");
bool isDir = dd->subDirs().count()>0 || // there are subdirs
@@ -2946,17 +2463,8 @@ void writeDirTreeNode(OutputList &ol, DirDef *dd,int level)
dd->getFiles() && dd->getFiles()->count()>0 // there are files
);
//printf("gd=`%s': pageDict=%d\n",gd->name().data(),gd->pageDict->count());
- if (htmlHelp)
- {
- htmlHelp->addContentsItem(isDir,dd->shortName(),dd->getOutputFileBase());
- htmlHelp->incContentsDepth();
- }
- if (ftvHelp)
- {
- ftvHelp->addContentsItem(isDir,dd->getReference(),dd->getOutputFileBase(),
- 0,dd->shortName());
- ftvHelp->incContentsDepth();
- }
+ Doxygen::indexList.addContentsItem(isDir,dd->shortName(),dd->getReference(),dd->getOutputFileBase(),0);
+ Doxygen::indexList.incContentsDepth();
ol.startIndexItem(dd->getReference(),dd->getOutputFileBase());
ol.parseText(dd->shortName());
@@ -2990,17 +2498,13 @@ void writeDirTreeNode(OutputList &ol, DirDef *dd,int level)
FileDef *fd=fileList->first();
while (fd)
{
- if (htmlHelp)
- htmlHelp->addContentsItem(FALSE,convertToHtml(fd->name(),TRUE),fd->getOutputFileBase());
- if (ftvHelp)
- ftvHelp->addContentsItem(FALSE, fd->getReference(), fd->getOutputFileBase(), 0, convertToHtml(fd->name(),TRUE));
+ Doxygen::indexList.addContentsItem(FALSE, convertToHtml(fd->name(),TRUE),fd->getReference(), fd->getOutputFileBase(), 0);
fd=fileList->next();
}
}
}
- if (htmlHelp) htmlHelp->decContentsDepth();
- if (ftvHelp) ftvHelp->decContentsDepth();
+ Doxygen::indexList.decContentsDepth();
}
void writeDirHierarchy(OutputList &ol)
@@ -3025,40 +2529,17 @@ void writeGroupIndex(OutputList &ol)
startFile(ol,"modules",0,theTranslator->trModuleIndex().data(),HLI_Modules);
startTitle(ol,0);
QCString title = theTranslator->trModules();
- QCString htmlHelpTitle = title;
- QCString ftvHelpTitle = title;
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
ol.parseText(title);
endTitle(ol,0,0);
ol.startTextBlock();
- HtmlHelp *htmlHelp = 0;
- FTVHelp *ftvHelp = 0;
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- htmlHelp = HtmlHelp::getInstance();
- htmlHelp->addContentsItem(TRUE,htmlHelpTitle,"modules");
- htmlHelp->incContentsDepth();
- }
- if (hasFtvHelp)
- {
- ftvHelp = FTVHelp::getInstance();
- ftvHelp->addContentsItem(TRUE,0,"modules",0,ftvHelpTitle);
- ftvHelp->incContentsDepth();
- }
+ Doxygen::indexList.addContentsItem(TRUE,title,0,"modules",0);
+ Doxygen::indexList.incContentsDepth();
+
ol.parseText(theTranslator->trModulesDescription());
ol.endTextBlock();
writeGroupHierarchy(ol);
- if (hasHtmlHelp)
- {
- htmlHelp->decContentsDepth();
- }
- if (hasFtvHelp)
- {
- ftvHelp->decContentsDepth();
- }
+ Doxygen::indexList.decContentsDepth();
endFile(ol);
ol.popGeneratorState();
}
@@ -3073,8 +2554,6 @@ void writeDirIndex(OutputList &ol)
startFile(ol,"dirs",0,theTranslator->trDirIndex().data(),HLI_Directories);
startTitle(ol,0);
QCString title = theTranslator->trDirectories();
- QCString htmlHelpTitle = title;
- QCString ftvHelpTitle = title;
if (!Config_getString("PROJECT_NAME").isEmpty())
{
title.prepend(Config_getString("PROJECT_NAME")+" ");
@@ -3082,36 +2561,14 @@ void writeDirIndex(OutputList &ol)
ol.parseText(title);
endTitle(ol,0,0);
ol.startTextBlock();
- HtmlHelp *htmlHelp = 0;
- FTVHelp *ftvHelp = 0;
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- htmlHelp = HtmlHelp::getInstance();
- htmlHelp->addContentsItem(TRUE,htmlHelpTitle,"dirs");
- htmlHelp->incContentsDepth();
- }
- if (hasFtvHelp)
- {
- ftvHelp = FTVHelp::getInstance();
- ftvHelp->addContentsItem(TRUE,0,"dirs",0,ftvHelpTitle);
- ftvHelp->incContentsDepth();
- }
+ Doxygen::indexList.addContentsItem(TRUE,title,0,"dirs",0);
+ Doxygen::indexList.incContentsDepth();
ol.parseText(theTranslator->trDirDescription());
ol.endTextBlock();
writeDirHierarchy(ol);
- if (hasHtmlHelp)
- {
- htmlHelp->decContentsDepth();
- }
- if (hasFtvHelp)
- {
- ftvHelp->decContentsDepth();
- }
+ Doxygen::indexList.decContentsDepth();
endFile(ol);
ol.popGeneratorState();
}
@@ -3165,17 +2622,7 @@ void writeIndex(OutputList &ol)
if (Doxygen::mainPage)
{
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- HtmlHelp::getInstance()->addContentsItem(Doxygen::mainPage->hasSubPages(),title,indexName);
- }
- if (hasFtvHelp)
- {
- FTVHelp::getInstance()->addContentsItem(Doxygen::mainPage->hasSubPages(),0,indexName,0,title);
- }
+ Doxygen::indexList.addContentsItem(Doxygen::mainPage->hasSubPages(),title,0,indexName,0);
if (Doxygen::mainPage->hasSubPages())
{
diff --git a/src/index.h b/src/index.h
index ebe563e..88dc2e6 100644
--- a/src/index.h
+++ b/src/index.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -20,10 +20,75 @@
#include "qtbc.h"
#include <qfile.h>
+#include <qlist.h>
class MemberDef;
class OutputList;
+
+class IndexIntf
+{
+ public:
+ virtual ~IndexIntf() {}
+ virtual void initialize() = 0;
+ virtual void finalize() = 0;
+ virtual void incContentsDepth() = 0;
+ virtual void decContentsDepth() = 0;
+ virtual void addContentsItem(bool isDir, const char *name, const char *ref = 0,
+ const char *file = 0, const char *anchor = 0) = 0;
+ virtual void addIndexItem(const char *level1, const char *level2, const char *contRef,
+ const char *memRef, const char *anchor) = 0;
+ virtual void addIndexFile(const char *name) = 0;
+};
+
+class IndexList : public IndexIntf
+{
+ void foreach(void (IndexIntf::*methodPtr)())
+ {
+ QListIterator<IndexIntf> li(m_intfs);
+ for (li.toFirst();li.current();++li) (li.current()->*methodPtr)();
+ };
+ template<typename A1>
+ void foreach(void (IndexIntf::*methodPtr)(A1),A1 a1)
+ {
+ QListIterator<IndexIntf> li(m_intfs);
+ for (li.toFirst();li.current();++li) (li.current()->*methodPtr)(a1);
+ };
+ template<typename A1,typename A2,typename A3,typename A4,typename A5>
+ void foreach(void (IndexIntf::*methodPtr)(A1,A2,A3,A4,A5),A1 a1,A2 a2,A3 a3,A4 a4,A5 a5)
+ {
+ QListIterator<IndexIntf> li(m_intfs);
+ for (li.toFirst();li.current();++li) (li.current()->*methodPtr)(a1,a2,a3,a4,a5);
+ };
+
+ public:
+ IndexList() { m_intfs.setAutoDelete(TRUE); }
+ void addIndex(IndexIntf *intf)
+ { m_intfs.append(intf); }
+ void initialize()
+ { foreach(&IndexIntf::initialize); }
+ void finalize()
+ { foreach(&IndexIntf::finalize); }
+ void incContentsDepth()
+ { foreach(&IndexIntf::incContentsDepth); }
+ void decContentsDepth()
+ { foreach(&IndexIntf::decContentsDepth); }
+ void addContentsItem(bool isDir, const char *name, const char *ref = 0,
+ const char *file = 0, const char *anchor = 0)
+ { foreach<bool,const char *,const char *,const char *,const char*>
+ (&IndexIntf::addContentsItem,isDir,name,ref,file,anchor); }
+ void addIndexItem(const char *level1, const char *level2, const char *contRef,
+ const char *memRef, const char *anchor)
+ { foreach<const char *,const char *,const char *,const char *,const char *>
+ (&IndexIntf::addIndexItem,level1,level2,contRef,memRef,anchor); }
+ void addIndexFile(const char *name)
+ { foreach<const char *>(&IndexIntf::addIndexFile,name); }
+
+ private:
+ QList<IndexIntf> m_intfs;
+};
+
+
enum IndexSections
{
isTitlePageStart,
diff --git a/src/instdox.cpp b/src/instdox.cpp
index 85ff84d..7aae5f6 100644
--- a/src/instdox.cpp
+++ b/src/instdox.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/instdox.h b/src/instdox.h
index a35e2b1..7d20788 100644
--- a/src/instdox.h
+++ b/src/instdox.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/language.h b/src/language.h
index 2028387..bd97124 100644
--- a/src/language.h
+++ b/src/language.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/latexdocvisitor.cpp b/src/latexdocvisitor.cpp
index 76bff77..c5293de 100644
--- a/src/latexdocvisitor.cpp
+++ b/src/latexdocvisitor.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/latexdocvisitor.h b/src/latexdocvisitor.h
index 562d299..5a904ba 100644
--- a/src/latexdocvisitor.h
+++ b/src/latexdocvisitor.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/latexgen.cpp b/src/latexgen.cpp
index 8023514..6561404 100644
--- a/src/latexgen.cpp
+++ b/src/latexgen.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -1311,7 +1311,7 @@ void LatexGenerator::startClassDiagram()
//t << "{";
}
-void LatexGenerator::endClassDiagram(ClassDiagram &d,
+void LatexGenerator::endClassDiagram(const ClassDiagram &d,
const char *fileName,const char *)
{
d.writeFigure(t,dir,fileName);
@@ -1465,7 +1465,7 @@ void LatexGenerator::startDotGraph()
{
}
-void LatexGenerator::endDotGraph(DotClassGraph &g)
+void LatexGenerator::endDotGraph(const DotClassGraph &g)
{
g.writeGraph(t,EPS,Config_getString("LATEX_OUTPUT"),relPath);
}
@@ -1474,7 +1474,7 @@ void LatexGenerator::startInclDepGraph()
{
}
-void LatexGenerator::endInclDepGraph(DotInclDepGraph &g)
+void LatexGenerator::endInclDepGraph(const DotInclDepGraph &g)
{
g.writeGraph(t,EPS,Config_getString("LATEX_OUTPUT"),relPath);
}
@@ -1483,7 +1483,7 @@ void LatexGenerator::startGroupCollaboration()
{
}
-void LatexGenerator::endGroupCollaboration(DotGroupCollaboration &g)
+void LatexGenerator::endGroupCollaboration(const DotGroupCollaboration &g)
{
g.writeGraph(t,EPS,Config_getString("LATEX_OUTPUT"),relPath);
}
@@ -1492,7 +1492,7 @@ void LatexGenerator::startCallGraph()
{
}
-void LatexGenerator::endCallGraph(DotCallGraph &g)
+void LatexGenerator::endCallGraph(const DotCallGraph &g)
{
g.writeGraph(t,EPS,Config_getString("LATEX_OUTPUT"),relPath);
}
@@ -1501,7 +1501,7 @@ void LatexGenerator::startDirDepGraph()
{
}
-void LatexGenerator::endDirDepGraph(DotDirDeps &g)
+void LatexGenerator::endDirDepGraph(const DotDirDeps &g)
{
g.writeGraph(t,EPS,Config_getString("LATEX_OUTPUT"),relPath);
}
diff --git a/src/latexgen.h b/src/latexgen.h
index e57df38..4ab92e2 100644
--- a/src/latexgen.h
+++ b/src/latexgen.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -168,7 +168,7 @@ class LatexGenerator : public OutputGenerator
void endIndent() {}
void writeSynopsis() {}
void startClassDiagram();
- void endClassDiagram(ClassDiagram &,const char *,const char *);
+ void endClassDiagram(const ClassDiagram &,const char *,const char *);
void startPageRef();
void endPageRef(const char *,const char *);
void writeQuickLinks(bool,HighlightedItem) {}
@@ -187,16 +187,16 @@ class LatexGenerator : public OutputGenerator
void lastIndexPage() {}
void startDotGraph();
- void endDotGraph(DotClassGraph &);
+ void endDotGraph(const DotClassGraph &);
void startInclDepGraph();
- void endInclDepGraph(DotInclDepGraph &);
+ void endInclDepGraph(const DotInclDepGraph &);
void startCallGraph();
void startGroupCollaboration();
- void endGroupCollaboration(DotGroupCollaboration &g);
- void endCallGraph(DotCallGraph &);
+ void endGroupCollaboration(const DotGroupCollaboration &g);
+ void endCallGraph(const DotCallGraph &);
void startDirDepGraph();
- void endDirDepGraph(DotDirDeps &g);
- void writeGraphicalHierarchy(DotGfxHierarchyTable &) {}
+ void endDirDepGraph(const DotDirDeps &g);
+ void writeGraphicalHierarchy(const DotGfxHierarchyTable &) {}
void startTextBlock(bool) {}
void endTextBlock(bool) {}
diff --git a/src/libdoxycfg.pro.in b/src/libdoxycfg.pro.in
index 1632b4f..822de52 100644
--- a/src/libdoxycfg.pro.in
+++ b/src/libdoxycfg.pro.in
@@ -1,5 +1,5 @@
#
-#
+# $Id$
#
# Copyright (C) 1997-2007 by Dimitri van Heesch.
#
diff --git a/src/libdoxycfg.t b/src/libdoxycfg.t
index 6be6e51..e6817d5 100644
--- a/src/libdoxycfg.t
+++ b/src/libdoxycfg.t
@@ -1,5 +1,5 @@
#
-#
+# $Id$
#
# Copyright (C) 1997-2007 by Dimitri van Heesch.
#
diff --git a/src/libdoxygen.pro.in b/src/libdoxygen.pro.in
index 78ed341..5b926f0 100644
--- a/src/libdoxygen.pro.in
+++ b/src/libdoxygen.pro.in
@@ -1,5 +1,5 @@
#
-#
+# $Id$
#
# Copyright (C) 1997-2007 by Dimitri van Heesch.
#
diff --git a/src/libdoxygen.t b/src/libdoxygen.t
index f2cc6cb..ea6e839 100644
--- a/src/libdoxygen.t
+++ b/src/libdoxygen.t
@@ -1,5 +1,5 @@
#
-#
+# $Id$
#
# Copyright (C) 1997-2007 by Dimitri van Heesch.
#
diff --git a/src/lockingptr.h b/src/lockingptr.h
index a3cedfd..f694d24 100644
--- a/src/lockingptr.h
+++ b/src/lockingptr.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/logos.cpp b/src/logos.cpp
index dfed41c..fd939ad 100644
--- a/src/logos.cpp
+++ b/src/logos.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/logos.h b/src/logos.h
index 1dc89cc..a3cc4b6 100644
--- a/src/logos.h
+++ b/src/logos.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/main.cpp b/src/main.cpp
index 64006bc..afb5010 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/mandocvisitor.cpp b/src/mandocvisitor.cpp
index 8a63d5d..dee0911 100644
--- a/src/mandocvisitor.cpp
+++ b/src/mandocvisitor.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/mandocvisitor.h b/src/mandocvisitor.h
index c2c5f0d..4274568 100644
--- a/src/mandocvisitor.h
+++ b/src/mandocvisitor.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/mangen.cpp b/src/mangen.cpp
index 220dee2..0feab40 100644
--- a/src/mangen.cpp
+++ b/src/mangen.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/mangen.h b/src/mangen.h
index 45ef306..25a6082 100644
--- a/src/mangen.h
+++ b/src/mangen.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -48,7 +48,6 @@ class ManGenerator : public OutputGenerator
void endFile();
void clearBuffer();
- //void writeIndex();
void startIndexSection(IndexSections) {}
void endIndexSection(IndexSections) {}
void startProjectNumber() {}
@@ -71,11 +70,6 @@ class ManGenerator : public OutputGenerator
void endIndexValue(const char *,bool) {}
void startItemList() {}
void endItemList() { newParagraph(); }
- //void startEnumList() {}
- //void endEnumList() { newParagraph(); }
- //void startAlphabeticalIndexList() {}
- //void endAlphabeticalIndexList() {}
- //void writeIndexHeading(const char *) {}
void startIndexItem(const char *ref,const char *file);
void endIndexItem(const char *ref,const char *file);
void docify(const char *text);
@@ -89,7 +83,6 @@ class ManGenerator : public OutputGenerator
void endTextLink() {}
void startHtmlLink(const char *url);
void endHtmlLink();
- //void writeMailLink(const char *url);
void startTypewriter() { t << "\\fC"; firstCol=FALSE; }
void endTypewriter() { t << "\\fP"; firstCol=FALSE; }
void startGroupHeader();
@@ -124,15 +117,9 @@ class ManGenerator : public OutputGenerator
void writeAnchor(const char *,const char *) {}
void startCodeFragment();
void endCodeFragment();
- //void startPreFragment() { startCodeFragment(); }
- //void endPreFragment() { endCodeFragment(); }
- //void startVerbatimFragment() { startCodeFragment(); }
- //void endVerbatimFragment() { endCodeFragment(); }
void writeLineNumber(const char *,const char *,const char *,int l) { t << l << " "; }
void startCodeLine() {}
void endCodeLine() { codify("\n"); col=0; }
- //void writeBoldString(const char *text)
- // { t << "\\fB"; docify(text); t << "\\fP"; firstCol=FALSE; }
void startEmphasis() { t << "\\fI"; firstCol=FALSE; }
void endEmphasis() { t << "\\fP"; firstCol=FALSE; }
void startBold() { t << "\\fB"; firstCol=FALSE; }
@@ -150,7 +137,6 @@ class ManGenerator : public OutputGenerator
void startCodeAnchor(const char *) {}
void endCodeAnchor() {}
void writeLatexSpacing() {}
- //void writeLatexLabel(const char *,const char *) {}
void writeStartAnnoItem(const char *type,const char *file,
const char *path,const char *name);
void writeEndAnnoItem(const char *) { t << endl; firstCol=TRUE; }
@@ -162,33 +148,6 @@ class ManGenerator : public OutputGenerator
void endCenter() {}
void startSmall() {}
void endSmall() {}
- //void startSubscript() { t << "\\*<"; firstCol=FALSE; }
- //void endSubscript() { t << "\\*>"; firstCol=FALSE; }
- //void startSuperscript() { t << "\\*{"; firstCol=FALSE; }
- //void endSuperscript() { t << "\\*}"; firstCol=FALSE; }
- //void startTable(bool,int) {}
- //void endTable(bool) {}
- //void startCaption() {}
- //void endCaption() {}
- //void nextTableRow() {}
- //void endTableRow() {}
- //void nextTableColumn() {}
- //void endTableColumn() {}
- //void writeCopyright() { t << "(c)"; firstCol=FALSE; }
- //void writeQuote() { t << "`"; firstCol=FALSE; }
- //void writeUmlaut(char c) { t << c << "\\*'"; firstCol=FALSE; }
- //void writeAcute(char c) { t << c << "\\*`"; firstCol=FALSE; }
- //void writeGrave(char c) { t << c << "\\*:"; firstCol=FALSE; }
- //void writeCirc(char c) { t << c << "\\*^"; firstCol=FALSE; }
- //void writeTilde(char c) { t << c << "\\*~"; firstCol=FALSE; }
- //void writeRing(char c) { t << c << "\\*0"; /* just a wild guess,
- // need to check! */
- // firstCol=FALSE; }
- //void writeSharpS() { t << "s\\*:"; /* just a wild guess,
- // need to check! */
- // firstCol=FALSE; }
- //void writeCCedil(char c) { t << c; /* TODO: fix this */
- // firstCol=FALSE; }
void startMemberDescription() { t << "\n.RI \"\\fI"; firstCol=FALSE; }
void endMemberDescription() { t << "\\fP\""; firstCol=FALSE; }
void startDescList(SectionTypes);
@@ -197,33 +156,19 @@ class ManGenerator : public OutputGenerator
void endSimpleSect();
void startParamList(ParamListTypes,const char *title);
void endParamList();
- //void endDescTitle();
void writeDescItem();
void startSection(const char *,const char *,SectionInfo::SectionType);
void endSection(const char *,SectionInfo::SectionType);
- //void writeSectionRef(const char *,const char *,const char *,const char *) {}
- //void writeSectionRefItem(const char *,const char *,const char *) {}
- //void writeSectionRefAnchor(const char *,const char *,const char *) {}
void addIndexItem(const char *,const char *) {}
void startIndent() {}
void endIndent() {}
void writeSynopsis();
- //void generateExternalIndex() {}
void startClassDiagram() {}
- void endClassDiagram(ClassDiagram &,const char *,const char *) {}
- //void startColorFont(uchar,uchar,uchar) {}
- //void endColorFont() {}
+ void endClassDiagram(const ClassDiagram &,const char *,const char *) {}
void startPageRef() {}
void endPageRef(const char *,const char *) {}
- //void startQuickIndexItem(const char *,const char *) {}
- //void endQuickIndexItem() {}
void writeQuickLinks(bool,HighlightedItem) {}
- //void writeFormula(const char *,const char *) {}
void writeNonBreakableSpace(int n) { int i; for (i=0;i<n;i++) t << " "; }
- //void startImage(const char *,const char *,bool) {}
- //void endImage(bool) {}
- //void startDotFile(const char *,bool) {}
- //void endDotFile(bool) {}
void startDescTable() {}
void endDescTable() {}
@@ -233,16 +178,16 @@ class ManGenerator : public OutputGenerator
void endDescTableData() {}
void startDotGraph() {}
- void endDotGraph(DotClassGraph &) {}
+ void endDotGraph(const DotClassGraph &) {}
void startInclDepGraph() {}
- void endInclDepGraph(DotInclDepGraph &) {}
+ void endInclDepGraph(const DotInclDepGraph &) {}
void startGroupCollaboration() {}
- void endGroupCollaboration(DotGroupCollaboration &) {}
+ void endGroupCollaboration(const DotGroupCollaboration &) {}
void startCallGraph() {}
- void endCallGraph(DotCallGraph &) {}
+ void endCallGraph(const DotCallGraph &) {}
void startDirDepGraph() {}
- void endDirDepGraph(DotDirDeps &) {}
- void writeGraphicalHierarchy(DotGfxHierarchyTable &) {}
+ void endDirDepGraph(const DotDirDeps &) {}
+ void writeGraphicalHierarchy(const DotGfxHierarchyTable &) {}
void startTextBlock(bool) {}
void endTextBlock(bool) {}
@@ -262,14 +207,6 @@ class ManGenerator : public OutputGenerator
void startFontClass(const char *) {}
void endFontClass() {}
- //void startHtmlOnly() {}
- //void endHtmlOnly() {}
- //void startLatexOnly() {}
- //void endLatexOnly() {}
-
- //void startSectionRefList() {}
- //void endSectionRefList() {}
-
void startConstraintList(const char *);
void startConstraintParam();
void endConstraintParam();
diff --git a/src/marshal.cpp b/src/marshal.cpp
index a11a25f..a032a64 100644
--- a/src/marshal.cpp
+++ b/src/marshal.cpp
@@ -301,7 +301,17 @@ void marshalMemberList(StorageIntf *s,MemberList *ml)
}
else
{
- marshalUInt(s,1); // not a null pointer
+ marshalUInt(s,ml->count());
+ MemberListIterator mli(*ml);
+ MemberDef *md;
+ uint count=0;
+ for (mli.toFirst();(md=mli.current());++mli)
+ {
+ marshalObjPointer(s,md);
+ count++;
+ }
+ assert(count==ml->count());
+
ml->marshal(s);
}
}
@@ -690,11 +700,18 @@ GroupList *unmarshalGroupList(StorageIntf *s)
MemberList *unmarshalMemberList(StorageIntf *s)
{
+ uint i;
uint count = unmarshalUInt(s);
if (count==NULL_LIST) return 0;
- MemberList *ml = new MemberList;
- ml->unmarshal(s);
- return ml;
+ MemberList *result = new MemberList;
+ assert(count<1000000);
+ for (i=0;i<count;i++)
+ {
+ MemberDef *md = (MemberDef*)unmarshalObjPointer(s);
+ result->append(md);
+ }
+ result->unmarshal(s);
+ return result;
}
ExampleSDict *unmarshalExampleSDict(StorageIntf *s)
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 6591a37..c556047 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -1080,7 +1080,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
if (cd) d=cd; else if (nd) d=nd; else if (fd) d=fd; else d=gd;
// write tag file information of this member
- if (!Config_getString("GENERATE_TAGFILE").isEmpty())
+ if (!Config_getString("GENERATE_TAGFILE").isEmpty() && !isReference())
{
Doxygen::tagFile << " <member kind=\"";
switch (m_impl->mtype)
@@ -1127,7 +1127,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
}
// write search index info
- if (Config_getBool("SEARCHENGINE"))
+ if (Config_getBool("SEARCHENGINE") && !isReference())
{
Doxygen::searchIndex->setCurrentDoc(qualifiedName(),getOutputFileBase(),anchor());
Doxygen::searchIndex->addWord(localName(),TRUE);
@@ -1141,9 +1141,9 @@ void MemberDef::writeDeclaration(OutputList &ol,
// differs from the cname.
//if (getOuterScope()) osname=getOuterScope()->name();
- HtmlHelp *htmlHelp=0;
- bool hasHtmlHelp = Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_HTMLHELP");
- if (hasHtmlHelp) htmlHelp = HtmlHelp::getInstance();
+ //HtmlHelp *htmlHelp=0;
+ //bool hasHtmlHelp = Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_HTMLHELP");
+ //if (hasHtmlHelp) htmlHelp = HtmlHelp::getInstance();
// search for the last anonymous scope in the member type
ClassDef *annoClassDef=getClassDefOfAnonymousType();
@@ -1487,7 +1487,10 @@ bool MemberDef::isDetailedSectionLinkable() const
//(initLines>0 && initLines<maxInitLines) ||
(hasMultiLineInitializer() && !hideUndocMembers) ||
// has one or more documented arguments
- (m_impl->defArgList!=0 && m_impl->defArgList->hasDocumentation());
+ (m_impl->defArgList!=0 && m_impl->defArgList->hasDocumentation()) ||
+ // has user comments
+ Doxygen::userComments
+ ;
// this is not a global static or global statics should be extracted
bool staticFilter = getClassDef()!=0 || !isStatic() || extractStatic;
@@ -1570,23 +1573,24 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
QCString cfname = getOutputFileBase();
QCString cfiname = container->getOutputFileBase();
- static bool hasHtmlHelp = Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_HTMLHELP");
- HtmlHelp *htmlHelp = HtmlHelp::getInstance();
- if (hasHtmlHelp)
- {
+ //static bool hasHtmlHelp = Config_getBool("GENERATE_HTML") && Config_getBool("GENERATE_HTMLHELP");
+ //HtmlHelp *htmlHelp = HtmlHelp::getInstance();
+ //if (hasHtmlHelp)
+ //{
if (isEnumerate() && name().at(0)=='@')
{
// don't add to index
}
else
{
- htmlHelp->addIndexItem(ciname, // level1
+ Doxygen::indexList.addIndexItem(
+ ciname, // level1
name(), // level2
separateMemPages ? cfname : cfiname, // contRef
cfname, // memRef
memAnchor); // anchor
}
- }
+ //}
// get member name
QCString doxyName=name();
@@ -1973,14 +1977,20 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
ol.addIndexItem(fmd->name(),cname);
ol.addIndexItem(cname,fmd->name());
- if (hasHtmlHelp)
- {
- htmlHelp->addIndexItem(ciname, // level1
- fmd->name(), // level2
- separateMemPages ? cfname : cfiname, // contRef
- cfname, // memRef
- fmd->anchor()); // anchor
- }
+ //if (hasHtmlHelp)
+ //{
+ // htmlHelp->addIndexItem(ciname, // level1
+ // fmd->name(), // level2
+ // separateMemPages ? cfname : cfiname, // contRef
+ // cfname, // memRef
+ // fmd->anchor()); // anchor
+ //}
+ Doxygen::indexList.addIndexItem(
+ ciname, // level1
+ fmd->name(), // level2
+ separateMemPages ? cfname : cfiname, // contRef
+ cfname, // memRef
+ fmd->anchor()); // anchor
//ol.writeListItem();
ol.startDescTableTitle(); // this enables emphasis!
ol.startDoxyAnchor(cfname,cname,fmd->anchor(),fmd->name(),fmd->argsString());
@@ -2209,6 +2219,17 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
}
}
+ if (Doxygen::userComments)
+ {
+ ol.pushGeneratorState();
+ ol.disableAllBut(OutputGenerator::Html);
+ QCString cmd = "<? $root=$_SERVER['DOCUMENT_ROOT']; "
+ "passthru(\"$root/doxynotes --lookup "+
+ getOutputFileBase()+":"+anchor()+"\") ?>";
+ ol.writeString(cmd);
+ ol.popGeneratorState();
+ }
+
ol.endIndent();
// enable LaTeX again
@@ -2689,7 +2710,7 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl,
{
if (isLinkableInProject() || hasDocumentedEnumValues())
{
- if (!Config_getString("GENERATE_TAGFILE").isEmpty())
+ if (!Config_getString("GENERATE_TAGFILE").isEmpty() && !isReference())
{
Doxygen::tagFile << " <member kind=\"enumeration\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl;
@@ -2738,7 +2759,7 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl,
if (fmd->hasDocumentation()) // enum value has docs
{
- if (!Config_getString("GENERATE_TAGFILE").isEmpty())
+ if (!Config_getString("GENERATE_TAGFILE").isEmpty() && !fmd->isReference())
{
Doxygen::tagFile << " <member kind=\"enumvalue\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(fmd->name()) << "</name>" << endl;
diff --git a/src/membergroup.cpp b/src/membergroup.cpp
index dc2f200..f7aaedb 100644
--- a/src/membergroup.cpp
+++ b/src/membergroup.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/membergroup.h b/src/membergroup.h
index 93f9184..64ac0af 100644
--- a/src/membergroup.h
+++ b/src/membergroup.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/memberlist.cpp b/src/memberlist.cpp
index 3f04712..846a37f 100644
--- a/src/memberlist.cpp
+++ b/src/memberlist.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/memberlist.h b/src/memberlist.h
index c032c21..1b6a5cf 100644
--- a/src/memberlist.h
+++ b/src/memberlist.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/membername.cpp b/src/membername.cpp
index 136d215..6a594c2 100644
--- a/src/membername.cpp
+++ b/src/membername.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/membername.h b/src/membername.h
index 8b7ac22..74f5891 100644
--- a/src/membername.h
+++ b/src/membername.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/message.cpp b/src/message.cpp
index 8b24e31..2fedd9a 100644
--- a/src/message.cpp
+++ b/src/message.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/message.h b/src/message.h
index a5b3031..0cf2c49 100644
--- a/src/message.h
+++ b/src/message.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/msc.cpp b/src/msc.cpp
index afd3562..d519a50 100644
--- a/src/msc.cpp
+++ b/src/msc.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/msc.h b/src/msc.h
index 51e171b..fa6527f 100644
--- a/src/msc.h
+++ b/src/msc.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/namespacedef.cpp b/src/namespacedef.cpp
index d021764..7bc6221 100644
--- a/src/namespacedef.cpp
+++ b/src/namespacedef.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -663,7 +663,7 @@ void NamespaceSDict::writeDeclaration(OutputList &ol,bool localName)
name = nd->displayName();
}
ol.writeObjectLink(nd->getReference(),nd->getOutputFileBase(),0,name);
- if (!Config_getString("GENERATE_TAGFILE").isEmpty())
+ if (!Config_getString("GENERATE_TAGFILE").isEmpty() && !nd->isReference())
{
Doxygen::tagFile << " <namespace>" << convertToXML(nd->name()) << "</namespace>" << endl;
}
diff --git a/src/namespacedef.h b/src/namespacedef.h
index f36e89c..5c54897 100644
--- a/src/namespacedef.h
+++ b/src/namespacedef.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/objcache.cpp b/src/objcache.cpp
index 05c62cf..c6761dc 100644
--- a/src/objcache.cpp
+++ b/src/objcache.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/objcache.h b/src/objcache.h
index 2795e34..5a9e16b 100644
--- a/src/objcache.h
+++ b/src/objcache.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id:$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/outputgen.cpp b/src/outputgen.cpp
index d085312..13f7186 100644
--- a/src/outputgen.cpp
+++ b/src/outputgen.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/outputgen.h b/src/outputgen.h
index 9118ef4..8a8d60d 100644
--- a/src/outputgen.h
+++ b/src/outputgen.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -352,20 +352,18 @@ class OutputGenerator : public BaseOutputDocInterface
virtual void endIndent() = 0;
virtual void writeSynopsis() = 0;
virtual void startClassDiagram() = 0;
- virtual void endClassDiagram(ClassDiagram &,const char *,const char *) = 0;
+ virtual void endClassDiagram(const ClassDiagram &,const char *,const char *) = 0;
virtual void startDotGraph() = 0;
- virtual void endDotGraph(DotClassGraph &g) = 0;
+ virtual void endDotGraph(const DotClassGraph &g) = 0;
virtual void startInclDepGraph() = 0;
- virtual void endInclDepGraph(DotInclDepGraph &g) = 0;
+ virtual void endInclDepGraph(const DotInclDepGraph &g) = 0;
virtual void startGroupCollaboration() = 0;
- virtual void endGroupCollaboration(DotGroupCollaboration &g) = 0;
+ virtual void endGroupCollaboration(const DotGroupCollaboration &g) = 0;
virtual void startCallGraph() = 0;
- virtual void endCallGraph(DotCallGraph &g) = 0;
+ virtual void endCallGraph(const DotCallGraph &g) = 0;
virtual void startDirDepGraph() = 0;
- virtual void endDirDepGraph(DotDirDeps &g) = 0;
- virtual void writeGraphicalHierarchy(DotGfxHierarchyTable &g) = 0;
- //virtual void startQuickIndexItem(const char *s,const char *l) = 0;
- //virtual void endQuickIndexItem() = 0;
+ virtual void endDirDepGraph(const DotDirDeps &g) = 0;
+ virtual void writeGraphicalHierarchy(const DotGfxHierarchyTable &g) = 0;
virtual void writeQuickLinks(bool compact,HighlightedItem hli) = 0;
virtual void startTextBlock(bool) = 0;
virtual void endTextBlock(bool) = 0;
diff --git a/src/outputlist.cpp b/src/outputlist.cpp
index 27e1237..bbf321a 100644
--- a/src/outputlist.cpp
+++ b/src/outputlist.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -278,12 +278,12 @@ void OutputList::forall(void (OutputGenerator::*func)(a1,a2,a3,a4,a5),a1,a2,a3,a
FORALL1(const char *a1,a1)
FORALL1(char a1,a1)
FORALL1(int a1,a1)
-FORALL1(DotClassGraph &a1,a1)
-FORALL1(DotInclDepGraph &a1,a1)
-FORALL1(DotCallGraph &a1,a1)
-FORALL1(DotDirDeps &a1,a1)
-FORALL1(DotGfxHierarchyTable &a1,a1)
-FORALL1(DotGroupCollaboration &a1,a1)
+FORALL1(const DotClassGraph &a1,a1)
+FORALL1(const DotInclDepGraph &a1,a1)
+FORALL1(const DotCallGraph &a1,a1)
+FORALL1(const DotDirDeps &a1,a1)
+FORALL1(const DotGfxHierarchyTable &a1,a1)
+FORALL1(const DotGroupCollaboration &a1,a1)
FORALL1(SectionTypes a1,a1)
#if defined(HAS_BOOL_TYPE) || defined(Q_HAS_BOOL_TYPE)
FORALL1(bool a1,a1)
@@ -300,7 +300,7 @@ FORALL2(const char *a1,const char *a2,a1,a2)
FORALL2(const char *a1,bool a2,a1,a2)
FORALL2(const char *a1,SectionInfo::SectionType a2,a1,a2)
FORALL3(bool a1,bool a2,bool a3,a1,a2,a3)
-FORALL3(ClassDiagram &a1,const char *a2,const char *a3,a1,a2,a3)
+FORALL3(const ClassDiagram &a1,const char *a2,const char *a3,a1,a2,a3)
FORALL3(const char *a1,const char *a2,const char *a3,a1,a2,a3)
FORALL3(const char *a1,const char *a2,bool a3,a1,a2,a3)
FORALL3(const char *a1,const char *a2,SectionInfo::SectionType a3,a1,a2,a3)
diff --git a/src/outputlist.h b/src/outputlist.h
index 30f8e64..b4416f3 100644
--- a/src/outputlist.h
+++ b/src/outputlist.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -300,16 +300,12 @@ class OutputList : public OutputDocInterface
{ forall(&OutputGenerator::writeSynopsis); }
void startClassDiagram()
{ forall(&OutputGenerator::startClassDiagram); }
- void endClassDiagram(ClassDiagram &d,const char *f,const char *n)
+ void endClassDiagram(const ClassDiagram &d,const char *f,const char *n)
{ forall(&OutputGenerator::endClassDiagram,d,f,n); }
void startPageRef()
{ forall(&OutputGenerator::startPageRef); }
void endPageRef(const char *c,const char *a)
{ forall(&OutputGenerator::endPageRef,c,a); }
- //void startQuickIndexItem(const char *s,const char *l)
- //{ forall(&OutputGenerator::startQuickIndexItem,s,l); }
- //void endQuickIndexItem()
- //{ forall(&OutputGenerator::endQuickIndexItem); }
void writeQuickLinks(bool compact,HighlightedItem hli)
{ forall(&OutputGenerator::writeQuickLinks,compact,hli); }
void writeNonBreakableSpace(int num)
@@ -328,25 +324,25 @@ class OutputList : public OutputDocInterface
{ forall(&OutputGenerator::endDescTableData); }
void startDotGraph()
{ forall(&OutputGenerator::startDotGraph); }
- void endDotGraph(DotClassGraph &g)
+ void endDotGraph(const DotClassGraph &g)
{ forall(&OutputGenerator::endDotGraph,g); }
void startInclDepGraph()
{ forall(&OutputGenerator::startInclDepGraph); }
- void endInclDepGraph(DotInclDepGraph &g)
+ void endInclDepGraph(const DotInclDepGraph &g)
{ forall(&OutputGenerator::endInclDepGraph,g); }
void startCallGraph()
{ forall(&OutputGenerator::startCallGraph); }
- void endCallGraph(DotCallGraph &g)
+ void endCallGraph(const DotCallGraph &g)
{ forall(&OutputGenerator::endCallGraph,g); }
void startDirDepGraph()
{ forall(&OutputGenerator::startDirDepGraph); }
- void endDirDepGraph(DotDirDeps &g)
+ void endDirDepGraph(const DotDirDeps &g)
{ forall(&OutputGenerator::endDirDepGraph,g); }
void startGroupCollaboration()
{ forall(&OutputGenerator::startGroupCollaboration); }
- void endGroupCollaboration(DotGroupCollaboration &g)
+ void endGroupCollaboration(const DotGroupCollaboration &g)
{ forall(&OutputGenerator::endGroupCollaboration,g); }
- void writeGraphicalHierarchy(DotGfxHierarchyTable &g)
+ void writeGraphicalHierarchy(const DotGfxHierarchyTable &g)
{ forall(&OutputGenerator::writeGraphicalHierarchy,g); }
void startTextBlock(bool dense=FALSE)
{ forall(&OutputGenerator::startTextBlock,dense); }
@@ -391,8 +387,6 @@ class OutputList : public OutputDocInterface
{ forall(&OutputGenerator::endConstraintDocs); }
void endConstraintList()
{ forall(&OutputGenerator::endConstraintList); }
-
-
void startFontClass(const char *c)
{ forall(&OutputGenerator::startFontClass,c); }
void endFontClass()
@@ -430,12 +424,12 @@ class OutputList : public OutputDocInterface
FORALLPROTO1(char);
FORALLPROTO1(IndexSections);
FORALLPROTO1(int);
- FORALLPROTO1(DotClassGraph &);
- FORALLPROTO1(DotInclDepGraph &);
- FORALLPROTO1(DotCallGraph &);
- FORALLPROTO1(DotGroupCollaboration &);
- FORALLPROTO1(DotDirDeps &);
- FORALLPROTO1(DotGfxHierarchyTable &);
+ FORALLPROTO1(const DotClassGraph &);
+ FORALLPROTO1(const DotInclDepGraph &);
+ FORALLPROTO1(const DotCallGraph &);
+ FORALLPROTO1(const DotGroupCollaboration &);
+ FORALLPROTO1(const DotDirDeps &);
+ FORALLPROTO1(const DotGfxHierarchyTable &);
FORALLPROTO1(SectionTypes);
#if defined(HAS_BOOL_TYPE) || defined(Q_HAS_BOOL_TYPE)
FORALLPROTO1(bool);
@@ -455,7 +449,7 @@ class OutputList : public OutputDocInterface
FORALLPROTO3(const char *,const char *,SectionInfo::SectionType);
FORALLPROTO3(uchar,uchar,uchar);
FORALLPROTO3(const char *,const char *,const char *);
- FORALLPROTO3(ClassDiagram &,const char *,const char *);
+ FORALLPROTO3(const ClassDiagram &,const char *,const char *);
FORALLPROTO4(SectionTypes,const char *,const char *,const char *);
FORALLPROTO4(const char *,const char *,const char *,const char *);
FORALLPROTO4(const char *,const char *,const char *,bool);
diff --git a/src/pagedef.h b/src/pagedef.h
index a605aaf..347ce59 100644
--- a/src/pagedef.h
+++ b/src/pagedef.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id:$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/parserintf.h b/src/parserintf.h
index 6e45a96..941a10f 100644
--- a/src/parserintf.h
+++ b/src/parserintf.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/perlmodgen.cpp b/src/perlmodgen.cpp
index b6a2cd3..9e9f760 100644
--- a/src/perlmodgen.cpp
+++ b/src/perlmodgen.cpp
@@ -484,16 +484,24 @@ void PerlModDocVisitor::closeSubBlock()
void PerlModDocVisitor::openOther()
{
+ // Using a secondary text stream will corrupt the perl file. Instead of
+ // printing doc => [ data => [] ], it will print doc => [] data => [].
+ /*
leaveText();
m_output.openSave();
+ */
}
void PerlModDocVisitor::closeOther()
{
+ // Using a secondary text stream will corrupt the perl file. Instead of
+ // printing doc => [ data => [] ], it will print doc => [] data => [].
+ /*
QString other;
leaveText();
m_output.closeSave(other);
m_other += other;
+ */
}
void PerlModDocVisitor::visit(DocWord *w)
@@ -1414,7 +1422,7 @@ void PerlModGenerator::generatePerlModForMember(MemberDef *md,Definition *)
switch (md->memberType())
{
case MemberDef::Define: memType="define"; break;
- case MemberDef::EnumValue: ASSERT(0); break;
+ case MemberDef::EnumValue: memType="enumvalue"; break;
case MemberDef::Property: memType="property"; break;
case MemberDef::Variable: memType="variable"; break;
case MemberDef::Typedef: memType="typedef"; break;
diff --git a/src/pngenc.cpp b/src/pngenc.cpp
index 0624c91..6a2582d 100644
--- a/src/pngenc.cpp
+++ b/src/pngenc.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/pngenc.h b/src/pngenc.h
index 88dfa25..ac1d1fa 100644
--- a/src/pngenc.h
+++ b/src/pngenc.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/pre.h b/src/pre.h
index 5bc0f8b..48af6c3 100644
--- a/src/pre.h
+++ b/src/pre.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/pre.l b/src/pre.l
index cc92d66..38a9ae5 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -564,6 +564,7 @@ static bool replaceFunctionMacro(const QCString &expr,QCString *rest,int pos,int
// substitution of all formal arguments
QCString resExpr;
const QCString d=def->definition.stripWhiteSpace();
+ //printf("Macro definition: %s\n",d.data());
bool inString=FALSE;
while (k<d.length())
{
@@ -912,7 +913,10 @@ QCString removeMarkers(const char *s)
{
while (*p && !(pc=='*' && c=='/')) // search end of comment
{
- result+=c;
+ if (*p=='@' && *(p+1)=='@')
+ result+=c,p++;
+ else
+ result+=c;
pc=c;
c=*++p;
}
@@ -1190,6 +1194,37 @@ static void endCondSection()
}
}
+static QCString escapeAt(const char *text)
+{
+ QCString result;
+ if (text)
+ {
+ char c;
+ const char *p=text;
+ while ((c=*p++))
+ {
+ if (c=='@') result+="@@"; else result+=c;
+ }
+ }
+ return result;
+}
+
+static char resolveTrigraph(char c)
+{
+ switch (c)
+ {
+ case '=': return '#';
+ case '/': return '\\';
+ case '\'': return '^';
+ case '(': return '[';
+ case ')': return ']';
+ case '!': return '|';
+ case '<': return '{';
+ case '>': return '}';
+ case '-': return '~';
+ }
+ return '?';
+}
/* ----------------------------------------------------------------- */
@@ -1255,6 +1290,9 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<*>\x06
<*>\x00
<*>\r
+<*>"??"[=/'()!<>-] { // Trigraph
+ unput(resolveTrigraph(yytext[2]));
+ }
<Start>^{B}*"#" { BEGIN(Command); }
<Start>^{B}*/[^#] {
outputArray(yytext,yyleng);
@@ -1360,7 +1398,6 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
if (def->nargs==-1) // no function macro
{
QCString result = expandMacro(g_defArgsStr);
- //printf("result=`%s'\n",result.data());
outputArray(result,result.length());
}
else // zero or more arguments
@@ -1585,8 +1622,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<Guard>{ID} { g_guardExpr+=yytext; }
<Guard>. { g_guardExpr+=*yytext; }
<Guard>\n {
- outputChar('\n');
- g_yyLineNr++;
+ unput(*yytext);
//printf("Guard: `%s'\n",
// g_guardExpr.data());
bool guard=computeExpression(g_guardExpr);
@@ -1619,6 +1655,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
g_lastGuardName.resize(0);
}
<DefinedExpr1,DefinedExpr2>\n { // should not happen, handle anyway
+ g_yyLineNr++;
g_ifcount=0;
BEGIN(SkipCPPBlock);
}
@@ -1628,6 +1665,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<DefinedExpr1,DefinedExpr2>.
<SkipCPPBlock>^{B}*"#" { BEGIN(SkipCommand); }
<SkipCPPBlock>^{B}*/[^#] { BEGIN(SkipLine); }
+<SkipCPPBlock>\n { g_yyLineNr++; }
<SkipCPPBlock>.
<SkipCommand>"if"(("n")?("def"))?/[ \t(!] {
incrLevel();
@@ -1899,6 +1937,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<SkipCComment,SkipCPPComment>[\\@]"cond"[ \t\r]*\n |
<CondLine>. {
outputArray(yytext,yyleng);
+ g_yyLineNr+=QCString(yytext).contains('\n');
startCondSection(" ");
if (YY_START==CondLine) BEGIN(g_condCtx);
}
@@ -1932,7 +1971,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
}
<CopyCComment>[^*]+ {
g_defLitText+=yytext;
- g_defText+=yytext;
+ g_defText+=escapeAt(yytext);
}
<CopyCComment>"*/" {
g_defLitText+=yytext;
diff --git a/src/printdocvisitor.h b/src/printdocvisitor.h
index 27db658..c236a39 100644
--- a/src/printdocvisitor.h
+++ b/src/printdocvisitor.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/pycode.h b/src/pycode.h
index 04ca268..667d29c 100644
--- a/src/pycode.h
+++ b/src/pycode.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/pycode.l b/src/pycode.l
index 473d0f6..87c66cf 100644
--- a/src/pycode.l
+++ b/src/pycode.l
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/pyscanner.h b/src/pyscanner.h
index ebe9ab8..3434a55 100644
--- a/src/pyscanner.h
+++ b/src/pyscanner.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/pyscanner.l b/src/pyscanner.l
index 5b5f6cb..a4aafe3 100644
--- a/src/pyscanner.l
+++ b/src/pyscanner.l
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/qtbc.h b/src/qtbc.h
index 61a7896..b56541e 100644
--- a/src/qtbc.h
+++ b/src/qtbc.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/reflist.cpp b/src/reflist.cpp
index edbf86a..9125f3e 100644
--- a/src/reflist.cpp
+++ b/src/reflist.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/reflist.h b/src/reflist.h
index 9e47505..8ef0b4c 100644
--- a/src/reflist.h
+++ b/src/reflist.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/rtfdocvisitor.cpp b/src/rtfdocvisitor.cpp
index e835811..65c5bb2 100644
--- a/src/rtfdocvisitor.cpp
+++ b/src/rtfdocvisitor.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/rtfdocvisitor.h b/src/rtfdocvisitor.h
index 02bc904..04f3bd6 100644
--- a/src/rtfdocvisitor.h
+++ b/src/rtfdocvisitor.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/rtfgen.cpp b/src/rtfgen.cpp
index 37e2ddd..753d133 100644
--- a/src/rtfgen.cpp
+++ b/src/rtfgen.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Parker Waechter & Dimitri van Heesch.
*
@@ -1724,7 +1724,7 @@ void RTFGenerator::startClassDiagram()
DBG_RTF(t <<"{\\comment startClassDiagram }" << endl)
}
-void RTFGenerator::endClassDiagram(ClassDiagram &d,
+void RTFGenerator::endClassDiagram(const ClassDiagram &d,
const char *fileName,const char *)
{
newParagraph();
@@ -2228,7 +2228,7 @@ void RTFGenerator::startDotGraph()
DBG_RTF(t << "{\\comment (startDotGraph)}" << endl)
}
-void RTFGenerator::endDotGraph(DotClassGraph &g)
+void RTFGenerator::endDotGraph(const DotClassGraph &g)
{
newParagraph();
@@ -2251,7 +2251,7 @@ void RTFGenerator::startInclDepGraph()
DBG_RTF(t << "{\\comment (startInclDepGraph)}" << endl)
}
-void RTFGenerator::endInclDepGraph(DotInclDepGraph &g)
+void RTFGenerator::endInclDepGraph(const DotInclDepGraph &g)
{
newParagraph();
@@ -2272,7 +2272,7 @@ void RTFGenerator::startGroupCollaboration()
{
}
-void RTFGenerator::endGroupCollaboration(DotGroupCollaboration &)
+void RTFGenerator::endGroupCollaboration(const DotGroupCollaboration &)
{
}
@@ -2281,7 +2281,7 @@ void RTFGenerator::startCallGraph()
DBG_RTF(t << "{\\comment (startCallGraph)}" << endl)
}
-void RTFGenerator::endCallGraph(DotCallGraph &g)
+void RTFGenerator::endCallGraph(const DotCallGraph &g)
{
newParagraph();
@@ -2303,7 +2303,7 @@ void RTFGenerator::startDirDepGraph()
DBG_RTF(t << "{\\comment (startDirDepGraph)}" << endl)
}
-void RTFGenerator::endDirDepGraph(DotDirDeps &g)
+void RTFGenerator::endDirDepGraph(const DotDirDeps &g)
{
newParagraph();
diff --git a/src/rtfgen.h b/src/rtfgen.h
index 577cc40..5e39945 100644
--- a/src/rtfgen.h
+++ b/src/rtfgen.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Parker Waechter & Dimitri van Heesch.
*
@@ -31,9 +31,6 @@ class RTFGenerator : public OutputGenerator
static void writeStyleSheetFile(QFile &f);
static void writeExtensionsFile(QFile &file);
- //OutputGenerator *copy();
- //OutputGenerator *clone() { return new RTFGenerator(*this); }
- //void append(const OutputGenerator *o);
void enable()
{ if (genStack->top()) active=*genStack->top(); else active=TRUE; }
void disable() { active=FALSE; }
@@ -51,8 +48,6 @@ class RTFGenerator : public OutputGenerator
void clearBuffer();
void postProcess(QByteArray &);
- //void writeIndex();
-
void startIndexSection(IndexSections);
void endIndexSection(IndexSections);
void startProjectNumber();
@@ -110,8 +105,6 @@ class RTFGenerator : public OutputGenerator
void endMemberItem();
void startMemberTemplateParams() {}
void endMemberTemplateParams() {}
- //void memberGroupSpacing(bool) {}
- //void memberGroupSeparator() {}
void insertMemberAlign(bool) {}
void writeRuler() { rtfwriteRuler_thin(); }
@@ -119,15 +112,9 @@ class RTFGenerator : public OutputGenerator
void writeAnchor(const char *fileName,const char *name);
void startCodeFragment();
void endCodeFragment();
- //void startPreFragment() { startCodeFragment(); }
- //void endPreFragment() { endCodeFragment(); }
- //void startVerbatimFragment() { startCodeFragment(); }
- //void endVerbatimFragment() { endCodeFragment(); }
void writeLineNumber(const char *,const char *,const char *,int l) { t << l << " "; }
void startCodeLine() { col=0; }
void endCodeLine() { lineBreak(); }
- //void writeBoldString(const char *text)
- // { t << "{\\b "; docify(text); t << "}"; }
void startEmphasis() { t << "{\\i "; }
void endEmphasis() { t << "}"; }
void startBold() { t << "{\\b "; }
@@ -145,7 +132,6 @@ class RTFGenerator : public OutputGenerator
void endCodeAnchor() {};
void writeChar(char c);
void writeLatexSpacing() {};//{ t << "\\hspace{0.3cm}"; }
- //void writeLatexLabel(const char *scope,const char *anchor);
void writeStartAnnoItem(const char *type,const char *file,
const char *path,const char *name);
void writeEndAnnoItem(const char *name);
@@ -157,64 +143,27 @@ class RTFGenerator : public OutputGenerator
void endCenter() { t << "}"; }
void startSmall() { t << "{\\sub "; }
void endSmall() { t << "}"; }
- //void startSubscript() { t << "{\\sub " << endl;}
- //void endSubscript() { t << "}"; }
- //void startSuperscript() { t << "{\\super " << endl;}
- //void endSuperscript() { t << "}"; }
- //void startTable(bool,int);
- //void endTable(bool);
- //void startCaption();
- //void endCaption();
- //void nextTableRow();
- //void endTableRow();
- //void nextTableColumn();
- //void endTableColumn();
- //void writeCopyright() { t << "\251"; }
- //void writeQuote() { t << "\""; }
- //void writeUmlaut(char c);
- //void writeAcute(char c);
- //void writeGrave(char c);
- //void writeCirc(char c);
- //void writeTilde(char c);
- //void writeRing(char c);
- //void writeSharpS() { t << "\337"; }
- //void writeCCedil(char c);
void startMemberDescription();
void endMemberDescription();
void startDescList(SectionTypes);
- //void endDescList();
void startSimpleSect(SectionTypes,const char *,const char *,const char *);
void endSimpleSect();
void startParamList(ParamListTypes,const char *);
void endParamList();
- //void endDescTitle();
void writeDescItem();
void startSection(const char *,const char *,SectionInfo::SectionType);
void endSection(const char *,SectionInfo::SectionType);
- //void writeSectionRef(const char *,const char *,const char *,const char *);
- //void writeSectionRefItem(const char *,const char *,const char *);
- //void writeSectionRefAnchor(const char *,const char *,const char *);
void addIndexItem(const char *,const char *);
void startIndent();
void endIndent();
void writeSynopsis() {}
- //void generateExternalIndex() {}
void startClassDiagram();
- void endClassDiagram(ClassDiagram &,const char *filename,const char *name);
- //void startColorFont(uchar,uchar,uchar) {}
- //void endColorFont() {}
+ void endClassDiagram(const ClassDiagram &,const char *filename,const char *name);
void startPageRef();
void endPageRef(const char *,const char *);
- //void startQuickIndexItem(const char *,const char *) {}
- //void endQuickIndexItem() {}
void writeQuickLinks(bool,HighlightedItem) {}
- //void writeFormula(const char *,const char *);
void writeNonBreakableSpace(int);
- //void startImage(const char *,const char *,bool);
- //void endImage(bool);
- //void startDotFile(const char *,bool);
- //void endDotFile(bool);
void startDescTable();
void endDescTable();
@@ -224,16 +173,16 @@ class RTFGenerator : public OutputGenerator
void endDescTableData();
void startDotGraph();
- void endDotGraph(DotClassGraph &);
+ void endDotGraph(const DotClassGraph &);
void startInclDepGraph();
- void endInclDepGraph(DotInclDepGraph &);
+ void endInclDepGraph(const DotInclDepGraph &);
void startGroupCollaboration();
- void endGroupCollaboration(DotGroupCollaboration &g);
+ void endGroupCollaboration(const DotGroupCollaboration &g);
void startCallGraph();
- void endCallGraph(DotCallGraph &);
+ void endCallGraph(const DotCallGraph &);
void startDirDepGraph();
- void endDirDepGraph(DotDirDeps &g);
- void writeGraphicalHierarchy(DotGfxHierarchyTable &) {}
+ void endDirDepGraph(const DotDirDeps &g);
+ void writeGraphicalHierarchy(const DotGfxHierarchyTable &) {}
void startMemberGroupHeader(bool);
void endMemberGroupHeader();
@@ -270,14 +219,6 @@ class RTFGenerator : public OutputGenerator
void startFontClass(const char *) {}
void endFontClass() {}
- //void startHtmlOnly() {}
- //void endHtmlOnly() {}
- //void startLatexOnly() {}
- //void endLatexOnly() {}
-
- //void startSectionRefList() {}
- //void endSectionRefList() {}
-
void writeCodeAnchor(const char *) {}
void linkableSymbol(int,const char *,Definition *,Definition *) {}
diff --git a/src/rtfstyle.cpp b/src/rtfstyle.cpp
index ff3c2f1..aae7cef 100644
--- a/src/rtfstyle.cpp
+++ b/src/rtfstyle.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/rtfstyle.h b/src/rtfstyle.h
index 172e4fe..f6d6335 100644
--- a/src/rtfstyle.h
+++ b/src/rtfstyle.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/scanner.h b/src/scanner.h
index 891487a..33d9fb1 100644
--- a/src/scanner.h
+++ b/src/scanner.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/scanner.l b/src/scanner.l
index 8063c6e..b76b67d 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -1,6 +1,6 @@
/*****************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -1325,6 +1325,11 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
current->bodyLine = yyLineNr;
lineCount() ;
if (yytext[yyleng-1]=='{') unput('{');
+ if (insidePHP && current->spec&Entry::Abstract)
+ {
+ // convert Abstract to AbstractClass
+ current->spec=(current->spec&~Entry::Abstract)|Entry::AbstractClass;
+ }
BEGIN( CompoundName ) ;
}
<FindMembers>{B}*"value class{" | // C++/CLI extension
@@ -2928,6 +2933,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
}
else
{
+ current->doc.resize(0);
+ current->brief.resize(0);
BEGIN( MemberSpec ) ;
}
}
@@ -3059,10 +3066,10 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
//printf("msName=%s current->name=%s\n",msName.data(),current->name.data());
if (!msName.isEmpty() && msName!=current->name) // skip typedef T {} T;
{
- static bool optimizeForC = Config_getBool("OPTIMIZE_OUTPUT_FOR_C");
+ static bool typedefHidesStruct = Config_getBool("TYPEDEF_HIDES_STRUCT");
// case 1: typedef struct _S { ... } S_t;
// -> omit typedef and use S_t as the struct name
- if (optimizeForC &&
+ if (typedefHidesStruct &&
isTypedef &&
(current->spec&(Entry::Struct|Entry::Union)) &&
msType.stripWhiteSpace().isEmpty() &&
@@ -3086,7 +3093,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
varEntry->type.prepend("typedef ");
// //printf("current->name = %s %s\n",current->name.data(),msName.data());
}
- if (optimizeForC &&
+ if (typedefHidesStruct &&
isTypedef &&
(current->spec&(Entry::Struct|Entry::Union)) &&
memspecEntry
@@ -3139,6 +3146,11 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
initEntry();
BEGIN( FindMembers );
}
+ else
+ {
+ current->doc.resize(0);
+ current->brief.resize(0);
+ }
}
<MemberSpec>"=" {
lastInitializerContext=YY_START;
@@ -4907,6 +4919,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
<DocLine>[^\n]*"\n"[ \t]*"//"[/!] { // continuation of multiline C++-style comment
docBlock+=yytext;
docBlock.resize(docBlock.size() - 3);
+ yyLineNr++;
}
<DocLine>[^\n]*/"\n" { // whole line
docBlock+=yytext;
diff --git a/src/searchindex.cpp b/src/searchindex.cpp
index acc6a58..4e9560e 100644
--- a/src/searchindex.cpp
+++ b/src/searchindex.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/searchindex.h b/src/searchindex.h
index 8a2bf08..2f80c2a 100644
--- a/src/searchindex.h
+++ b/src/searchindex.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/section.h b/src/section.h
index 2423a5f..48f5756 100644
--- a/src/section.h
+++ b/src/section.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/sortdict.h b/src/sortdict.h
index 790d796..e40e87d 100644
--- a/src/sortdict.h
+++ b/src/sortdict.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/store.cpp b/src/store.cpp
index 328b679..9b082aa 100644
--- a/src/store.cpp
+++ b/src/store.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id:$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/store.h b/src/store.h
index 4e0503e..85bb506 100644
--- a/src/store.h
+++ b/src/store.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/tagreader.cpp b/src/tagreader.cpp
index 22a0648..a257685 100644
--- a/src/tagreader.cpp
+++ b/src/tagreader.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/tagreader.h b/src/tagreader.h
index 6bc466e..8de56ea 100644
--- a/src/tagreader.h
+++ b/src/tagreader.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/textdocvisitor.cpp b/src/textdocvisitor.cpp
index 88afcb2..4904be2 100644
--- a/src/textdocvisitor.cpp
+++ b/src/textdocvisitor.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/textdocvisitor.h b/src/textdocvisitor.h
index 8e70da9..f8cf023 100644
--- a/src/textdocvisitor.h
+++ b/src/textdocvisitor.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/translator_nl.h b/src/translator_nl.h
index e2f1e1a..d27d6a1 100644
--- a/src/translator_nl.h
+++ b/src/translator_nl.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/translator_pt.h b/src/translator_pt.h
index 657460f..ffd6500 100644
--- a/src/translator_pt.h
+++ b/src/translator_pt.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/translator_ro.h b/src/translator_ro.h
index b2e5e46..7f0bc40 100644
--- a/src/translator_ro.h
+++ b/src/translator_ro.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/translator_si.h b/src/translator_si.h
index 0549d5e..e5fe55f 100644
--- a/src/translator_si.h
+++ b/src/translator_si.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/util.cpp b/src/util.cpp
index 8466b28..8e6e4eb 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1,6 +1,6 @@
/*****************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
@@ -4825,7 +4825,6 @@ QCString insertTemplateSpecifierInScope(const QCString &scope,const QCString &te
/*! Strips the scope from a name. Examples: A::B will return A
* and A<T>::B<N::C<D> > will return A<T>.
- * \todo deal with cases like A< s<<2 >::B
*/
QCString stripScope(const char *name)
{
@@ -4868,8 +4867,85 @@ QCString stripScope(const char *name)
}
//printf("stripScope(%s)=%s\n",name,name);
return name;
+}
+
+#if 0 // original version
+// new version by Davide Cesari which also works for Fortran
+QCString stripScope(const char *name)
+{
+ QCString result = name;
+ int l=result.length();
+ int p;
+ bool done;
+ bool skipBracket=FALSE; // if brackets do not match properly, ignore them altogether
+ int count=0;
+ do
+ {
+ p=l-1; // start at the end of the string
+ while (p>=0 && count>=0)
+ {
+ char c=result.at(p);
+ switch (c)
+ {
+ case ':':
+ //printf("stripScope(%s)=%s\n",name,result.right(l-p-1).data());
+ return result.right(l-p-1);
+ case '>':
+ if (skipBracket) // we don't care about brackets
+ {
+ p--;
+ }
+ else // count open/close brackets
+ {
+ if (p>0 && result.at(p-1)=='>') // skip >> operator
+ {
+ p-=2;
+ break;
+ }
+ count=1;
+ //printf("pos < = %d\n",p);
+ p--;
+ while (p>=0 && !done)
+ {
+ c=result.at(p--);
+ switch (c)
+ {
+ case '>':
+ count++;
+ break;
+ case '<':
+ if (p>0)
+ {
+ if (result.at(p-1) == '<') // skip << operator
+ {
+ p--;
+ break;
+ }
+ }
+ count--;
+ break;
+ default:
+ //printf("c=%c count=%d\n",c,count);
+ break;
+ }
+ }
+ }
+ //printf("pos > = %d\n",p+1);
+ break;
+ default:
+ p--;
+ }
+ }
+ done = count==0 || skipBracket; // reparse if brackets do not match
+ skipBracket=TRUE;
+ }
+ while (!done); // if < > unbalanced repeat ignoring them
+ //printf("stripScope(%s)=%s\n",name,name);
+ return name;
}
+#endif
+
/*! Converts a string to an XML-encoded string */
QCString convertToXML(const char *s)
diff --git a/src/util.h b/src/util.h
index 00f44bc..d2eefbb 100644
--- a/src/util.h
+++ b/src/util.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/version.h b/src/version.h
index a040af7..9dfec1f 100644
--- a/src/version.h
+++ b/src/version.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*
diff --git a/src/xmldocvisitor.cpp b/src/xmldocvisitor.cpp
index 2813d65..7e56b12 100644
--- a/src/xmldocvisitor.cpp
+++ b/src/xmldocvisitor.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
@@ -108,7 +108,8 @@ void XmlDocVisitor::visit(DocURL *u)
if (m_hide) return;
m_t << "<ulink url=\"";
if (u->isEmail()) m_t << "mailto:";
- m_t << u->url() << "\">";
+ filter(u->url());
+ m_t << "\">";
filter(u->url());
m_t << "</ulink>";
}
diff --git a/src/xmldocvisitor.h b/src/xmldocvisitor.h
index 695a72f..705dfc4 100644
--- a/src/xmldocvisitor.h
+++ b/src/xmldocvisitor.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index 9b316c4..13f6408 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
diff --git a/src/xmlgen.h b/src/xmlgen.h
index b65689c..49ec0ca 100644
--- a/src/xmlgen.h
+++ b/src/xmlgen.h
@@ -1,6 +1,6 @@
/******************************************************************************
*
- *
+ * $Id$
*
* Copyright (C) 1997-2007 by Dimitri van Heesch.
*