summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2002-03-10 16:02:35 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2002-03-10 16:02:35 (GMT)
commit57a81b6ed2c1f626c57c20f143468730322856da (patch)
tree6db5f7392588f3b8c9d05ab7d2651803bc00c4c1
parentc7bc295f92f56d1dea369663e058933f550a0187 (diff)
downloadDoxygen-57a81b6ed2c1f626c57c20f143468730322856da.zip
Doxygen-57a81b6ed2c1f626c57c20f143468730322856da.tar.gz
Doxygen-57a81b6ed2c1f626c57c20f143468730322856da.tar.bz2
Release-1.2.14-20020310
-rw-r--r--INSTALL4
-rw-r--r--README4
-rw-r--r--VERSION2
-rw-r--r--addon/doxmlparser/include/doxmlintf.h145
-rw-r--r--addon/doxmlparser/src/basehandler.h12
-rw-r--r--addon/doxmlparser/src/compoundhandler.cpp49
-rw-r--r--addon/doxmlparser/src/compoundhandler.h46
-rw-r--r--addon/doxmlparser/src/dochandler.cpp112
-rw-r--r--addon/doxmlparser/src/dochandler.h89
-rw-r--r--addon/doxmlparser/src/doxmlintf.h145
-rw-r--r--addon/doxmlparser/src/doxmlparser.pro.in4
-rw-r--r--addon/doxmlparser/src/graphhandler.cpp86
-rw-r--r--addon/doxmlparser/src/graphhandler.h110
-rw-r--r--addon/doxmlparser/src/mainhandler.cpp1
-rw-r--r--addon/doxmlparser/test/main.cpp6
-rw-r--r--addon/doxmlparser/test/xmlparse.pro.in1
-rw-r--r--doc/Makefile.in2
-rw-r--r--doc/Makefile.latex2
-rw-r--r--doc/Makefile.win_make.in2
-rw-r--r--doc/Makefile.win_nmake.in2
-rw-r--r--doc/arch.doc2
-rw-r--r--doc/autolink.doc2
-rw-r--r--doc/commands.doc2
-rw-r--r--doc/config.doc2
-rw-r--r--doc/diagrams.doc2
-rw-r--r--doc/docblocks.doc2
-rw-r--r--doc/doxygen.sty6
-rw-r--r--doc/doxygen_manual.tex4
-rw-r--r--doc/doxygen_usage.doc2
-rw-r--r--doc/doxysearch_usage.doc2
-rw-r--r--doc/doxytag_usage.doc2
-rw-r--r--doc/doxywizard_usage.doc2
-rw-r--r--doc/external.doc2
-rw-r--r--doc/faq.doc4
-rw-r--r--doc/features.doc2
-rw-r--r--doc/formulas.doc2
-rw-r--r--doc/grouping.doc2
-rw-r--r--doc/history.doc2
-rw-r--r--doc/htmlcmds.doc8
-rw-r--r--doc/index.doc57
-rw-r--r--doc/install.doc2
-rw-r--r--doc/installdox_usage.doc2
-rw-r--r--doc/language.doc16
-rw-r--r--doc/language.tpl2
-rw-r--r--doc/maintainers.txt2
-rw-r--r--doc/output.doc2
-rw-r--r--doc/preprocessing.doc2
-rw-r--r--doc/starting.doc2
-rw-r--r--doc/trouble.doc2
-rw-r--r--packages/rpm/doxygen.spec2
-rw-r--r--src/config.l5
-rw-r--r--src/doc.l34
-rw-r--r--src/doxygen.cpp96
-rw-r--r--src/htmlgen.cpp18
-rw-r--r--src/index.cpp15
-rw-r--r--src/latexgen.cpp14
-rw-r--r--src/pngenc.cpp2
-rw-r--r--src/scanner.l2
-rw-r--r--src/translator_cz.h5
-rw-r--r--src/translator_pt.h27
-rw-r--r--src/util.cpp18
-rw-r--r--src/util.h3
-rw-r--r--src/xmlgen.cpp6
63 files changed, 952 insertions, 260 deletions
diff --git a/INSTALL b/INSTALL
index 7e989ae..7c2d118 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,6 +1,6 @@
-DOXYGEN Version 1.2.14-20020224
+DOXYGEN Version 1.2.14-20020310
Please read the installation section of the manual for instructions.
--------
-Dimitri van Heesch (24 February 2002)
+Dimitri van Heesch (10 March 2002)
diff --git a/README b/README
index fd927e1..ba73328 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-DOXYGEN Version 1.2.14_20020224
+DOXYGEN Version 1.2.14_20020310
Please read INSTALL for compilation instructions.
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
-Dimitri van Heesch (dimitri@stack.nl) (24 February 2002)
+Dimitri van Heesch (dimitri@stack.nl) (10 March 2002)
diff --git a/VERSION b/VERSION
index 87b668c..417bc95 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.2.14-20020224
+1.2.14-20020310
diff --git a/addon/doxmlparser/include/doxmlintf.h b/addon/doxmlparser/include/doxmlintf.h
index 067e5fd..89e567d 100644
--- a/addon/doxmlparser/include/doxmlintf.h
+++ b/addon/doxmlparser/include/doxmlintf.h
@@ -110,8 +110,8 @@ class IDoc
enum Kind
{
Invalid = 0, // 0
- Para, // 1 -> IDocPara
- Text, // 2 -> IDocText
+ Para = 1, // 1 -> IDocPara
+ Text = 2, // 2 -> IDocText
MarkupModifier, // 3 -> IDocMarkupModifier
ItemizedList, // 4 -> IDocItemizedList
OrderedList, // 5 -> IDocOrderedList
@@ -271,35 +271,35 @@ class IDocLineBreak : public IDoc
class IDocULink : public IDoc
{
public:
- virtual QString url() = 0;
- virtual QString text() = 0;
+ virtual QString url() const = 0;
+ virtual QString text() const = 0;
};
class IDocEMail : public IDoc
{
public:
- virtual QString address() = 0;
+ virtual QString address() const = 0;
};
class IDocLink : public IDoc
{
public:
- virtual QString refId() = 0;
- virtual QString text() = 0;
+ virtual QString refId() const = 0;
+ virtual QString text() const = 0;
};
class IDocProgramListing : public IDoc
{
public:
- virtual IDocIterator *codeLines() = 0;
+ virtual IDocIterator *codeLines() const = 0;
};
class IDocCodeLine : public IDoc
{
public:
- virtual int lineNumber() = 0;
- virtual QString refId() = 0;
- virtual IDocIterator *codeElements() = 0;
+ virtual int lineNumber() const = 0;
+ virtual QString refId() const = 0;
+ virtual IDocIterator *codeElements() const = 0;
};
class IDocHighlight : public IDoc
@@ -311,56 +311,56 @@ class IDocHighlight : public IDoc
KeywordType, KeywordFlow, CharLiteral,
StringLiteral, Preprocessor
};
- virtual HighlightKind highlightKind() = 0;
- virtual IDocIterator *codeElements() = 0;
+ virtual HighlightKind highlightKind() const = 0;
+ virtual IDocIterator *codeElements() const = 0;
};
class IDocFormula : public IDoc
{
public:
- virtual QString id() = 0;
- virtual QString text() = 0;
+ virtual QString id() const = 0;
+ virtual QString text() const = 0;
};
class IDocImage : public IDoc
{
public:
- virtual QString name() = 0;
- virtual QString caption() = 0;
+ virtual QString name() const = 0;
+ virtual QString caption() const = 0;
};
class IDocDotFile : public IDoc
{
public:
- virtual QString name() = 0;
- virtual QString caption() = 0;
+ virtual QString name() const = 0;
+ virtual QString caption() const = 0;
};
class IDocIndexEntry : public IDoc
{
public:
- virtual QString primary() = 0;
- virtual QString secondary() = 0;
+ virtual QString primary() const = 0;
+ virtual QString secondary() const = 0;
};
class IDocTable : public IDoc
{
public:
- virtual IDocIterator *rows() = 0;
- virtual int numColumns() = 0;
- virtual QString caption() = 0;
+ virtual IDocIterator *rows() const = 0;
+ virtual int numColumns() const = 0;
+ virtual QString caption() const = 0;
};
class IDocRow : public IDoc
{
public:
- virtual IDocIterator *entries() = 0;
+ virtual IDocIterator *entries() const = 0;
};
class IDocEntry : public IDoc
{
public:
- virtual IDocIterator *contents() = 0;
+ virtual IDocIterator *contents() const = 0;
};
class IDocSection : public IDoc
@@ -388,6 +388,72 @@ class IDocIterator
virtual void release() = 0;
};
+class IEdgeLabel
+{
+ public:
+ virtual QString label() = 0;
+};
+
+class IEdgeLabelIterator
+{
+ public:
+ virtual IEdgeLabel *toFirst() = 0;
+ virtual IEdgeLabel *toLast() = 0;
+ virtual IEdgeLabel *toNext() = 0;
+ virtual IEdgeLabel *toPrev() = 0;
+ virtual IEdgeLabel *current() const = 0;
+ virtual void release() = 0;
+};
+
+class IChildNode
+{
+ public:
+ enum NodeRelation { PublicInheritance, ProtectedInheritance,
+ PrivateInheritance, Usage, TemplateInstace
+ };
+ virtual QString id() const = 0;
+ virtual NodeRelation relation() const = 0;
+ virtual IEdgeLabelIterator *edgeLabels() const = 0;
+};
+
+class IChildNodeIterator
+{
+ public:
+ virtual IChildNode *toFirst() = 0;
+ virtual IChildNode *toLast() = 0;
+ virtual IChildNode *toNext() = 0;
+ virtual IChildNode *toPrev() = 0;
+ virtual IChildNode *current() const = 0;
+ virtual void release() = 0;
+};
+
+class INode
+{
+ public:
+ virtual QString id() const = 0;
+ virtual QString label() const = 0;
+ virtual QString linkId() const = 0;
+ virtual IChildNodeIterator *children() const = 0;
+};
+
+class INodeIterator
+{
+ public:
+ virtual INode *toFirst() = 0;
+ virtual INode *toLast() = 0;
+ virtual INode *toNext() = 0;
+ virtual INode *toPrev() = 0;
+ virtual INode *current() const = 0;
+ virtual void release() = 0;
+};
+
+class IGraph
+{
+ public:
+ virtual INodeIterator *nodes() const = 0;
+ virtual ~IGraph() {}
+};
+
class IMember
{
public:
@@ -501,6 +567,33 @@ class ICompound
* zero, the memory for the compound will be released.
*/
virtual void release() = 0;
+
+ // TODO:
+ // class:
+ // IRelatedCompoundIterator *baseClasses()
+ // IRelatedCompoundIterator *derivedClasses()
+ // ICompoundIterator *innerClasses()
+ // ITemplateParamListIterator *templateParamLists()
+ // listOfAllMembers()
+ // IDotGraph *inheritanceGraph()
+ // IDotGraph *collaborationGraph()
+ // locationFile()
+ // locationLine()
+ // locationBodyStartLine()
+ // locationBodyEndLine()
+ // namespace:
+ // ICompound *innerNamespaces()
+ // file:
+ // includes()
+ // includedBy()
+ // IDotGraph *includeDependencyGraph()
+ // IDotGraph *includedByDependencyGraph()
+ // IDocProgramListing *source()
+ // group:
+ // Title()
+ // innerFile()
+ // innerPage()
+ // page:
};
class ICompoundIterator
diff --git a/addon/doxmlparser/src/basehandler.h b/addon/doxmlparser/src/basehandler.h
index 89f9504..c86316b 100644
--- a/addon/doxmlparser/src/basehandler.h
+++ b/addon/doxmlparser/src/basehandler.h
@@ -22,6 +22,8 @@
#include "debug.h"
+//-----------------------------------------------------------------------------
+
class IBaseHandler
{
public:
@@ -30,6 +32,8 @@ class IBaseHandler
virtual ~IBaseHandler() {}
};
+//-----------------------------------------------------------------------------
+
class IFallBackHandler
{
public:
@@ -39,6 +43,8 @@ class IFallBackHandler
virtual ~IFallBackHandler() {}
};
+//-----------------------------------------------------------------------------
+
template<class T> class ElementMapper
{
class StartElementHandler
@@ -108,11 +114,15 @@ template<class T> class ElementMapper
QDict<EndElementHandlerT> m_endHandlers;
};
+//-----------------------------------------------------------------------------
+
struct LocatorContainer
{
static QXmlLocator *s_theLocator;
};
+//-----------------------------------------------------------------------------
+
template<class T> class BaseHandler : public QXmlDefaultHandler,
public ElementMapper<T>,
public LocatorContainer,
@@ -269,6 +279,8 @@ template<class T> class BaseHandler : public QXmlDefaultHandler,
IFallBackHandler *m_fallBackHandler;
};
+//-----------------------------------------------------------------------------
+
template<class T> class BaseFallBackHandler : public ElementMapper<T>,
public IFallBackHandler
{
diff --git a/addon/doxmlparser/src/compoundhandler.cpp b/addon/doxmlparser/src/compoundhandler.cpp
index 18a8c0c..caca36b 100644
--- a/addon/doxmlparser/src/compoundhandler.cpp
+++ b/addon/doxmlparser/src/compoundhandler.cpp
@@ -17,6 +17,8 @@
#include "compoundhandler.h"
#include "dochandler.h"
#include "debug.h"
+#include "graphhandler.h"
+#include "sectionhandler.h"
class CompoundErrorHandler : public QXmlErrorHandler
{
@@ -129,6 +131,10 @@ CompoundHandler::CompoundHandler(const QString &xmlDir)
addStartHandler("programlisting",this,&CompoundHandler::startProgramListing);
+ addStartHandler("inheritancegraph",this,&CompoundHandler::startInheritanceGraph);
+
+ addStartHandler("collaborationgraph",this,&CompoundHandler::startCollaborationGraph);
+
}
CompoundHandler::~CompoundHandler()
@@ -194,7 +200,7 @@ void CompoundHandler::endCompoundName()
void CompoundHandler::addSuperClass(const QXmlAttributes& attrib)
{
- SuperClass *sc=new SuperClass(
+ RelatedClass *sc=new RelatedClass(
attrib.value("refid"),
attrib.value("prot"),
attrib.value("virt")
@@ -208,7 +214,7 @@ void CompoundHandler::addSuperClass(const QXmlAttributes& attrib)
void CompoundHandler::addSubClass(const QXmlAttributes& attrib)
{
- SubClass *sc = new SubClass(
+ RelatedClass *sc = new RelatedClass(
attrib.value("refid"),
attrib.value("prot"),
attrib.value("virt")
@@ -266,3 +272,42 @@ void CompoundHandler::release()
}
}
+ISectionIterator *CompoundHandler::sections() const
+{
+ return new SectionIterator(m_sections);
+}
+
+IMemberIterator *CompoundHandler::memberByName(const QString &name) const
+{
+ QList<MemberHandler> *ml = m_memberNameDict[name];
+ if (ml==0) return 0;
+ return new MemberIterator(*ml);
+}
+
+void CompoundHandler::startInheritanceGraph(const QXmlAttributes &attrib)
+{
+ m_inheritanceGraph = new GraphHandler(this,"inheritancegraph");
+ m_inheritanceGraph->startGraph(attrib);
+}
+
+void CompoundHandler::startCollaborationGraph(const QXmlAttributes &attrib)
+{
+ m_collaborationGraph = new GraphHandler(this,"collaborationgraph");
+ m_collaborationGraph->startGraph(attrib);
+}
+
+IDocRoot *CompoundHandler::briefDescription() const
+{
+ return m_brief;
+}
+
+IDocRoot *CompoundHandler::detailedDescription() const
+{
+ return m_detailed;
+}
+
+IMember *CompoundHandler::memberById(const QString &id) const
+{
+ return m_memberDict[id];
+}
+
diff --git a/addon/doxmlparser/src/compoundhandler.h b/addon/doxmlparser/src/compoundhandler.h
index 762641f..1639487 100644
--- a/addon/doxmlparser/src/compoundhandler.h
+++ b/addon/doxmlparser/src/compoundhandler.h
@@ -22,11 +22,12 @@
#include "basehandler.h"
#include "baseiterator.h"
-#include "sectionhandler.h"
class MainHandler;
class DocHandler;
class ProgramListingHandler;
+class GraphHandler;
+class MemberHandler;
class CompoundHandler : public ICompound, public BaseHandler<CompoundHandler>
{
@@ -41,6 +42,8 @@ class CompoundHandler : public ICompound, public BaseHandler<CompoundHandler>
virtual void startDetailedDesc(const QXmlAttributes& attrib);
virtual void startLocation(const QXmlAttributes& attrib);
virtual void startProgramListing(const QXmlAttributes& attrib);
+ virtual void startInheritanceGraph(const QXmlAttributes& attrib);
+ virtual void startCollaborationGraph(const QXmlAttributes& attrib);
virtual void addref() { m_refCount++; }
CompoundHandler(const QString &dirName);
@@ -54,43 +57,25 @@ class CompoundHandler : public ICompound, public BaseHandler<CompoundHandler>
QString id() const { return m_id; }
CompoundKind kind() const { return m_kind; }
QString kindString() const { return m_kindString; }
- ISectionIterator *sections() const
- { return new SectionIterator(m_sections); }
- virtual IDocRoot *briefDescription() const
- { return m_brief; }
- virtual IDocRoot *detailedDescription() const
- { return m_detailed; }
- virtual IMember *memberById(const QString &id) const
- { return m_memberDict[id]; }
- virtual IMemberIterator *memberByName(const QString &name) const
- {
- QList<MemberHandler> *ml = m_memberNameDict[name];
- if (ml==0) return 0;
- return new MemberIterator(*ml);
- }
- virtual void release();
+ ISectionIterator *sections() const;
+ IDocRoot *briefDescription() const;
+ IDocRoot *detailedDescription() const;
+ IMember *memberById(const QString &id) const;
+ IMemberIterator *memberByName(const QString &name) const;
+ void release();
private:
- struct SuperClass
+ struct RelatedClass
{
- SuperClass(const QString &id,const QString &prot,const QString &virt) :
+ RelatedClass(const QString &id,const QString &prot,const QString &virt) :
m_id(id),m_protection(prot),m_virtualness(virt) {}
QString m_id;
QString m_protection;
QString m_virtualness;
};
- struct SubClass
- {
- SubClass(const QString &id,const QString &prot,const QString &virt) :
- m_id(id),m_protection(prot),m_virtualness(virt) {}
-
- QString m_id;
- QString m_protection;
- QString m_virtualness;
- };
- QList<SuperClass> m_superClasses;
- QList<SubClass> m_subClasses;
+ QList<RelatedClass> m_superClasses;
+ QList<RelatedClass> m_subClasses;
QList<ISection> m_sections;
DocHandler *m_brief;
DocHandler *m_detailed;
@@ -106,6 +91,9 @@ class CompoundHandler : public ICompound, public BaseHandler<CompoundHandler>
QDict<MemberHandler> m_memberDict;
QDict<QList<MemberHandler> > m_memberNameDict;
MainHandler *m_mainHandler;
+ GraphHandler *m_inheritanceGraph;
+ GraphHandler *m_collaborationGraph;
+
};
void compoundhandler_init();
diff --git a/addon/doxmlparser/src/dochandler.cpp b/addon/doxmlparser/src/dochandler.cpp
index 12a3a24..8f1249f 100644
--- a/addon/doxmlparser/src/dochandler.cpp
+++ b/addon/doxmlparser/src/dochandler.cpp
@@ -17,51 +17,77 @@
#include "debug.h"
#include <qmap.h>
+//----------------------------------------------------------------------
+
class TypeNameMapper
{
public:
TypeNameMapper()
{
- m_typeNameMap.insert("see", SimpleSectHandler::See);
- m_typeNameMap.insert("return", SimpleSectHandler::Return);
- m_typeNameMap.insert("author", SimpleSectHandler::Author);
- m_typeNameMap.insert("version", SimpleSectHandler::Version);
- m_typeNameMap.insert("since", SimpleSectHandler::Since);
- m_typeNameMap.insert("date", SimpleSectHandler::Date);
- m_typeNameMap.insert("bug", SimpleSectHandler::Bug);
- m_typeNameMap.insert("note", SimpleSectHandler::Note);
- m_typeNameMap.insert("warning", SimpleSectHandler::Warning);
- m_typeNameMap.insert("par", SimpleSectHandler::Par);
- m_typeNameMap.insert("deprecated",SimpleSectHandler::Deprecated);
- m_typeNameMap.insert("pre", SimpleSectHandler::Pre);
- m_typeNameMap.insert("post", SimpleSectHandler::Post);
- m_typeNameMap.insert("invariant", SimpleSectHandler::Invar);
- m_typeNameMap.insert("remark", SimpleSectHandler::Remark);
- m_typeNameMap.insert("attention", SimpleSectHandler::Attention);
- m_typeNameMap.insert("todo", SimpleSectHandler::Todo);
- m_typeNameMap.insert("test", SimpleSectHandler::Test);
- m_typeNameMap.insert("rcs", SimpleSectHandler::RCS);
- m_typeNameMap.insert("enumvalues",SimpleSectHandler::EnumValues);
- m_typeNameMap.insert("examples", SimpleSectHandler::Examples);
+ m_map.insert("see", SimpleSectHandler::See);
+ m_map.insert("return", SimpleSectHandler::Return);
+ m_map.insert("author", SimpleSectHandler::Author);
+ m_map.insert("version", SimpleSectHandler::Version);
+ m_map.insert("since", SimpleSectHandler::Since);
+ m_map.insert("date", SimpleSectHandler::Date);
+ m_map.insert("bug", SimpleSectHandler::Bug);
+ m_map.insert("note", SimpleSectHandler::Note);
+ m_map.insert("warning", SimpleSectHandler::Warning);
+ m_map.insert("par", SimpleSectHandler::Par);
+ m_map.insert("deprecated",SimpleSectHandler::Deprecated);
+ m_map.insert("pre", SimpleSectHandler::Pre);
+ m_map.insert("post", SimpleSectHandler::Post);
+ m_map.insert("invariant", SimpleSectHandler::Invar);
+ m_map.insert("remark", SimpleSectHandler::Remark);
+ m_map.insert("attention", SimpleSectHandler::Attention);
+ m_map.insert("todo", SimpleSectHandler::Todo);
+ m_map.insert("test", SimpleSectHandler::Test);
+ m_map.insert("rcs", SimpleSectHandler::RCS);
+ m_map.insert("enumvalues",SimpleSectHandler::EnumValues);
+ m_map.insert("examples", SimpleSectHandler::Examples);
}
SimpleSectHandler::Types stringToType(const QString &typeStr)
{
- return m_typeNameMap[typeStr];
+ return m_map[typeStr];
}
private:
- QMap<QString,SimpleSectHandler::Types> m_typeNameMap;
+ QMap<QString,SimpleSectHandler::Types> m_map;
+};
+
+class HighlightMapper
+{
+ public:
+ HighlightMapper()
+ {
+ m_map.insert("comment", HighlightHandler::Comment);
+ m_map.insert("keyword", HighlightHandler::Keyword);
+ m_map.insert("keywordtype", HighlightHandler::KeywordType);
+ m_map.insert("keywordflow", HighlightHandler::KeywordFlow);
+ m_map.insert("charliteral", HighlightHandler::CharLiteral);
+ m_map.insert("stringliteral", HighlightHandler::StringLiteral);
+ m_map.insert("preprocessor", HighlightHandler::Preprocessor);
+ }
+ HighlightHandler::HighlightKind stringToKind(const QString &kindStr)
+ {
+ return m_map[kindStr];
+ }
+ private:
+ QMap<QString,HighlightHandler::HighlightKind> m_map;
};
static TypeNameMapper *s_typeMapper;
+static HighlightMapper *s_highlightMapper;
void dochandler_init()
{
s_typeMapper = new TypeNameMapper;
+ s_highlightMapper = new HighlightMapper;
}
void dochandler_exit()
{
delete s_typeMapper;
+ delete s_highlightMapper;
}
//----------------------------------------------------------------------
@@ -820,6 +846,7 @@ HighlightHandler::HighlightHandler(IBaseHandler *parent)
m_children.setAutoDelete(TRUE);
addEndHandler("highlight",this,&HighlightHandler::endHighlight);
addStartHandler("ref",this,&HighlightHandler::startRef);
+ m_hl = Invalid;
}
HighlightHandler::~HighlightHandler()
@@ -828,7 +855,8 @@ HighlightHandler::~HighlightHandler()
void HighlightHandler::startHighlight(const QXmlAttributes& attrib)
{
- m_class = attrib.value("class");
+ m_hlString = attrib.value("class");
+ m_hl = s_highlightMapper->stringToKind(m_hlString);
m_curString="";
m_parent->setDelegate(this);
}
@@ -836,7 +864,7 @@ void HighlightHandler::startHighlight(const QXmlAttributes& attrib)
void HighlightHandler::endHighlight()
{
addTextNode();
- debug(2,"highlight class=`%s'\n",m_class.data());
+ debug(2,"highlight class=`%s'\n",m_hlString.data());
m_parent->setDelegate(0);
}
@@ -859,6 +887,11 @@ void HighlightHandler::addTextNode()
}
}
+IDocIterator *HighlightHandler::codeElements() const
+{
+ return new HighlightIterator(*this);
+}
+
//----------------------------------------------------------------------
// CodeLineHandler
//----------------------------------------------------------------------
@@ -931,6 +964,12 @@ void CodeLineHandler::addTextNode()
}
}
+IDocIterator *CodeLineHandler::codeElements() const
+{
+ return new CodeLineIterator(*this);
+}
+
+
//----------------------------------------------------------------------
// ProgramListingHandler
//----------------------------------------------------------------------
@@ -987,6 +1026,13 @@ void ProgramListingHandler::startCodeLine(const QXmlAttributes& attrib)
m_hasLineNumber=FALSE;
}
+IDocIterator *ProgramListingHandler::codeLines() const
+{
+ return new ProgramListingIterator(*this);
+}
+
+
+
//----------------------------------------------------------------------
// FormulaHandler
//----------------------------------------------------------------------
@@ -1155,6 +1201,11 @@ void EntryHandler::startParagraph(const QXmlAttributes& attrib)
m_children.append(ph);
}
+IDocIterator *EntryHandler::contents() const
+{
+ return new EntryIterator(*this);
+}
+
//----------------------------------------------------------------------
// RowHandler
//----------------------------------------------------------------------
@@ -1188,6 +1239,11 @@ void RowHandler::startEntry(const QXmlAttributes& attrib)
m_children.append(eh);
}
+IDocIterator *RowHandler::entries() const
+{
+ return new RowIterator(*this);
+}
+
//----------------------------------------------------------------------
// TableHandler
//----------------------------------------------------------------------
@@ -1235,6 +1291,12 @@ void TableHandler::endCaption()
m_caption = m_curString;
}
+IDocIterator *TableHandler::rows() const
+{
+ return new TableIterator(*this);
+}
+
+
//----------------------------------------------------------------------
// ParagraphHandler
//----------------------------------------------------------------------
diff --git a/addon/doxmlparser/src/dochandler.h b/addon/doxmlparser/src/dochandler.h
index 0161576..c3b8242 100644
--- a/addon/doxmlparser/src/dochandler.h
+++ b/addon/doxmlparser/src/dochandler.h
@@ -162,6 +162,13 @@ class ParagraphHandler : public IDocPara,
MarkupHandler *m_markupHandler;
};
+class ParagraphIterator : public BaseIterator<IDocIterator,IDoc,IDoc>
+{
+ public:
+ ParagraphIterator(const ParagraphHandler &handler) :
+ BaseIterator<IDocIterator,IDoc,IDoc>(handler.m_children) {}
+};
+
//-----------------------------------------------------------------------------
/*! \brief Node representing a list item.
@@ -358,6 +365,8 @@ class LinkHandler : public IDocLink, public BaseHandler<LinkHandler>
// IDocLink
virtual Kind kind() const { return Link; }
+ virtual QString refId() const { return m_ref; }
+ virtual QString text() const { return m_text; }
private:
IBaseHandler *m_parent;
@@ -382,6 +391,7 @@ class EMailHandler : public IDocEMail, public BaseHandler<EMailHandler>
// IDocEMail
virtual Kind kind() const { return EMail; }
+ virtual QString address() const { return m_address; }
private:
IBaseHandler *m_parent;
@@ -405,6 +415,8 @@ class ULinkHandler : public IDocULink, public BaseHandler<ULinkHandler>
// IDocULink
virtual Kind kind() const { return ULink; }
+ virtual QString url() const { return m_url; }
+ virtual QString text() const { return m_text; }
private:
IBaseHandler *m_parent;
@@ -601,9 +613,10 @@ class VariableListIterator : public BaseIterator<IDocIterator,IDoc,VariableListE
/*! \brief Node representing a highlighted text fragment.
*
*/
-// TODO: children: ref
+// children: ref
class HighlightHandler : public IDocHighlight, public BaseHandler<HighlightHandler>
{
+ friend class HighlightIterator;
public:
HighlightHandler(IBaseHandler *parent);
virtual ~HighlightHandler();
@@ -613,13 +626,23 @@ class HighlightHandler : public IDocHighlight, public BaseHandler<HighlightHandl
// IDocHighlight
virtual Kind kind() const { return Highlight; }
+ virtual HighlightKind highlightKind() const { return m_hl; }
+ virtual IDocIterator *codeElements() const;
private:
void addTextNode();
IBaseHandler *m_parent;
- QString m_class;
- QList<IDoc> m_children;
+ HighlightKind m_hl;
+ QString m_hlString;
+ QList<IDoc> m_children;
+};
+
+class HighlightIterator : public BaseIterator<IDocIterator,IDoc,IDoc>
+{
+ public:
+ HighlightIterator(const HighlightHandler &handler) :
+ BaseIterator<IDocIterator,IDoc,IDoc>(handler.m_children) {}
};
//-----------------------------------------------------------------------------
@@ -630,6 +653,7 @@ class HighlightHandler : public IDocHighlight, public BaseHandler<HighlightHandl
// children: linenumber, highlight, anchor, ref
class CodeLineHandler : public IDocCodeLine, public BaseHandler<CodeLineHandler>
{
+ friend class CodeLineIterator;
public:
virtual void startCodeLine(const QXmlAttributes&);
@@ -644,6 +668,9 @@ class CodeLineHandler : public IDocCodeLine, public BaseHandler<CodeLineHandler>
// IDocCodeLine
virtual Kind kind() const { return CodeLine; }
+ virtual int lineNumber() const { return m_lineNumber; }
+ virtual QString refId() const { return m_refId; }
+ virtual IDocIterator *codeElements() const;
private:
void addTextNode();
@@ -654,6 +681,13 @@ class CodeLineHandler : public IDocCodeLine, public BaseHandler<CodeLineHandler>
QList<IDoc> m_children;
};
+class CodeLineIterator : public BaseIterator<IDocIterator,IDoc,IDoc>
+{
+ public:
+ CodeLineIterator(const CodeLineHandler &handler) :
+ BaseIterator<IDocIterator,IDoc,IDoc>(handler.m_children) {}
+};
+
//-----------------------------------------------------------------------------
/*! \brief Node representing a program listing
@@ -662,6 +696,7 @@ class CodeLineHandler : public IDocCodeLine, public BaseHandler<CodeLineHandler>
// children: codeline, linenumber
class ProgramListingHandler : public IDocProgramListing, public BaseHandler<ProgramListingHandler>
{
+ friend class ProgramListingIterator;
public:
virtual void startProgramListing(const QXmlAttributes& attrib);
virtual void endProgramListing();
@@ -673,6 +708,7 @@ class ProgramListingHandler : public IDocProgramListing, public BaseHandler<Prog
// IDocProgramListing
virtual Kind kind() const { return ProgramListing; }
+ virtual IDocIterator *codeLines() const;
private:
IBaseHandler *m_parent;
@@ -682,6 +718,15 @@ class ProgramListingHandler : public IDocProgramListing, public BaseHandler<Prog
//-----------------------------------------------------------------------------
+class ProgramListingIterator : public BaseIterator<IDocIterator,IDoc,CodeLineHandler>
+{
+ public:
+ ProgramListingIterator(const ProgramListingHandler &handler) :
+ BaseIterator<IDocIterator,IDoc,CodeLineHandler>(handler.m_children) {}
+};
+
+//-----------------------------------------------------------------------------
+
/*! \brief Node representing a formula.
*
*/
@@ -696,6 +741,8 @@ class FormulaHandler : public IDocFormula, public BaseHandler<FormulaHandler>
// IDocFormula
virtual Kind kind() const { return Formula; }
+ virtual QString id() const { return m_id; }
+ virtual QString text() const { return m_text; }
private:
IBaseHandler *m_parent;
@@ -719,6 +766,8 @@ class ImageHandler : public IDocImage, public BaseHandler<ImageHandler>
// IDocImage
virtual Kind kind() const { return Image; }
+ virtual QString name() const { return m_name; }
+ virtual QString caption() const { return m_caption; }
private:
IBaseHandler *m_parent;
@@ -742,6 +791,8 @@ class DotFileHandler : public IDocDotFile, public BaseHandler<DotFileHandler>
// IDocDotFile
virtual Kind kind() const { return DotFile; }
+ virtual QString name() const { return m_name; }
+ virtual QString caption() const { return m_caption; }
private:
IBaseHandler *m_parent;
@@ -769,6 +820,8 @@ class IndexEntryHandler : public IDocIndexEntry, public BaseHandler<IndexEntryHa
// IDocIndexEntry
virtual Kind kind() const { return IndexEntry; }
+ virtual QString primary() const { return m_primary; }
+ virtual QString secondary() const { return m_secondary; }
private:
IBaseHandler *m_parent;
@@ -784,6 +837,7 @@ class IndexEntryHandler : public IDocIndexEntry, public BaseHandler<IndexEntryHa
// children: para
class EntryHandler : public IDocEntry, public BaseHandler<EntryHandler>
{
+ friend class EntryIterator;
public:
EntryHandler(IBaseHandler *parent);
virtual ~EntryHandler();
@@ -793,12 +847,20 @@ class EntryHandler : public IDocEntry, public BaseHandler<EntryHandler>
// IDocEntry
virtual Kind kind() const { return Entry; }
+ virtual IDocIterator *contents() const;
private:
IBaseHandler *m_parent;
QList<IDoc> m_children;
};
+class EntryIterator : public BaseIterator<IDocIterator,IDoc,IDoc>
+{
+ public:
+ EntryIterator(const EntryHandler &handler) :
+ BaseIterator<IDocIterator,IDoc,IDoc>(handler.m_children) {}
+};
+
//-----------------------------------------------------------------------------
/*! \brief Node representing an entry in the table row.
@@ -807,6 +869,7 @@ class EntryHandler : public IDocEntry, public BaseHandler<EntryHandler>
// children: entry
class RowHandler : public IDocRow, public BaseHandler<RowHandler>
{
+ friend class RowIterator;
public:
RowHandler(IBaseHandler *parent);
virtual ~RowHandler();
@@ -816,12 +879,20 @@ class RowHandler : public IDocRow, public BaseHandler<RowHandler>
// IDocRow
virtual Kind kind() const { return Row; }
+ virtual IDocIterator *entries() const;
private:
IBaseHandler *m_parent;
QList<EntryHandler> m_children;
};
+class RowIterator : public BaseIterator<IDocIterator,IDoc,EntryHandler>
+{
+ public:
+ RowIterator(const RowHandler &handler) :
+ BaseIterator<IDocIterator,IDoc,EntryHandler>(handler.m_children) {}
+};
+
//-----------------------------------------------------------------------------
/*! \brief Node representing an entry in the table.
@@ -830,6 +901,7 @@ class RowHandler : public IDocRow, public BaseHandler<RowHandler>
// children: row, caption
class TableHandler : public IDocTable, public BaseHandler<TableHandler>
{
+ friend class TableIterator;
public:
TableHandler(IBaseHandler *parent);
virtual ~TableHandler();
@@ -841,6 +913,9 @@ class TableHandler : public IDocTable, public BaseHandler<TableHandler>
// IDocTable
virtual Kind kind() const { return Table; }
+ virtual IDocIterator *rows() const;
+ virtual int numColumns() const { return m_numColumns; }
+ virtual QString caption() const { return m_caption; }
private:
IBaseHandler *m_parent;
@@ -849,13 +924,11 @@ class TableHandler : public IDocTable, public BaseHandler<TableHandler>
QString m_caption;
};
-//-----------------------------------------------------------------------------
-
-class ParagraphIterator : public BaseIterator<IDocIterator,IDoc,IDoc>
+class TableIterator : public BaseIterator<IDocIterator,IDoc,RowHandler>
{
public:
- ParagraphIterator(const ParagraphHandler &handler) :
- BaseIterator<IDocIterator,IDoc,IDoc>(handler.m_children) {}
+ TableIterator(const TableHandler &handler) :
+ BaseIterator<IDocIterator,IDoc,RowHandler>(handler.m_children) {}
};
diff --git a/addon/doxmlparser/src/doxmlintf.h b/addon/doxmlparser/src/doxmlintf.h
index 067e5fd..89e567d 100644
--- a/addon/doxmlparser/src/doxmlintf.h
+++ b/addon/doxmlparser/src/doxmlintf.h
@@ -110,8 +110,8 @@ class IDoc
enum Kind
{
Invalid = 0, // 0
- Para, // 1 -> IDocPara
- Text, // 2 -> IDocText
+ Para = 1, // 1 -> IDocPara
+ Text = 2, // 2 -> IDocText
MarkupModifier, // 3 -> IDocMarkupModifier
ItemizedList, // 4 -> IDocItemizedList
OrderedList, // 5 -> IDocOrderedList
@@ -271,35 +271,35 @@ class IDocLineBreak : public IDoc
class IDocULink : public IDoc
{
public:
- virtual QString url() = 0;
- virtual QString text() = 0;
+ virtual QString url() const = 0;
+ virtual QString text() const = 0;
};
class IDocEMail : public IDoc
{
public:
- virtual QString address() = 0;
+ virtual QString address() const = 0;
};
class IDocLink : public IDoc
{
public:
- virtual QString refId() = 0;
- virtual QString text() = 0;
+ virtual QString refId() const = 0;
+ virtual QString text() const = 0;
};
class IDocProgramListing : public IDoc
{
public:
- virtual IDocIterator *codeLines() = 0;
+ virtual IDocIterator *codeLines() const = 0;
};
class IDocCodeLine : public IDoc
{
public:
- virtual int lineNumber() = 0;
- virtual QString refId() = 0;
- virtual IDocIterator *codeElements() = 0;
+ virtual int lineNumber() const = 0;
+ virtual QString refId() const = 0;
+ virtual IDocIterator *codeElements() const = 0;
};
class IDocHighlight : public IDoc
@@ -311,56 +311,56 @@ class IDocHighlight : public IDoc
KeywordType, KeywordFlow, CharLiteral,
StringLiteral, Preprocessor
};
- virtual HighlightKind highlightKind() = 0;
- virtual IDocIterator *codeElements() = 0;
+ virtual HighlightKind highlightKind() const = 0;
+ virtual IDocIterator *codeElements() const = 0;
};
class IDocFormula : public IDoc
{
public:
- virtual QString id() = 0;
- virtual QString text() = 0;
+ virtual QString id() const = 0;
+ virtual QString text() const = 0;
};
class IDocImage : public IDoc
{
public:
- virtual QString name() = 0;
- virtual QString caption() = 0;
+ virtual QString name() const = 0;
+ virtual QString caption() const = 0;
};
class IDocDotFile : public IDoc
{
public:
- virtual QString name() = 0;
- virtual QString caption() = 0;
+ virtual QString name() const = 0;
+ virtual QString caption() const = 0;
};
class IDocIndexEntry : public IDoc
{
public:
- virtual QString primary() = 0;
- virtual QString secondary() = 0;
+ virtual QString primary() const = 0;
+ virtual QString secondary() const = 0;
};
class IDocTable : public IDoc
{
public:
- virtual IDocIterator *rows() = 0;
- virtual int numColumns() = 0;
- virtual QString caption() = 0;
+ virtual IDocIterator *rows() const = 0;
+ virtual int numColumns() const = 0;
+ virtual QString caption() const = 0;
};
class IDocRow : public IDoc
{
public:
- virtual IDocIterator *entries() = 0;
+ virtual IDocIterator *entries() const = 0;
};
class IDocEntry : public IDoc
{
public:
- virtual IDocIterator *contents() = 0;
+ virtual IDocIterator *contents() const = 0;
};
class IDocSection : public IDoc
@@ -388,6 +388,72 @@ class IDocIterator
virtual void release() = 0;
};
+class IEdgeLabel
+{
+ public:
+ virtual QString label() = 0;
+};
+
+class IEdgeLabelIterator
+{
+ public:
+ virtual IEdgeLabel *toFirst() = 0;
+ virtual IEdgeLabel *toLast() = 0;
+ virtual IEdgeLabel *toNext() = 0;
+ virtual IEdgeLabel *toPrev() = 0;
+ virtual IEdgeLabel *current() const = 0;
+ virtual void release() = 0;
+};
+
+class IChildNode
+{
+ public:
+ enum NodeRelation { PublicInheritance, ProtectedInheritance,
+ PrivateInheritance, Usage, TemplateInstace
+ };
+ virtual QString id() const = 0;
+ virtual NodeRelation relation() const = 0;
+ virtual IEdgeLabelIterator *edgeLabels() const = 0;
+};
+
+class IChildNodeIterator
+{
+ public:
+ virtual IChildNode *toFirst() = 0;
+ virtual IChildNode *toLast() = 0;
+ virtual IChildNode *toNext() = 0;
+ virtual IChildNode *toPrev() = 0;
+ virtual IChildNode *current() const = 0;
+ virtual void release() = 0;
+};
+
+class INode
+{
+ public:
+ virtual QString id() const = 0;
+ virtual QString label() const = 0;
+ virtual QString linkId() const = 0;
+ virtual IChildNodeIterator *children() const = 0;
+};
+
+class INodeIterator
+{
+ public:
+ virtual INode *toFirst() = 0;
+ virtual INode *toLast() = 0;
+ virtual INode *toNext() = 0;
+ virtual INode *toPrev() = 0;
+ virtual INode *current() const = 0;
+ virtual void release() = 0;
+};
+
+class IGraph
+{
+ public:
+ virtual INodeIterator *nodes() const = 0;
+ virtual ~IGraph() {}
+};
+
class IMember
{
public:
@@ -501,6 +567,33 @@ class ICompound
* zero, the memory for the compound will be released.
*/
virtual void release() = 0;
+
+ // TODO:
+ // class:
+ // IRelatedCompoundIterator *baseClasses()
+ // IRelatedCompoundIterator *derivedClasses()
+ // ICompoundIterator *innerClasses()
+ // ITemplateParamListIterator *templateParamLists()
+ // listOfAllMembers()
+ // IDotGraph *inheritanceGraph()
+ // IDotGraph *collaborationGraph()
+ // locationFile()
+ // locationLine()
+ // locationBodyStartLine()
+ // locationBodyEndLine()
+ // namespace:
+ // ICompound *innerNamespaces()
+ // file:
+ // includes()
+ // includedBy()
+ // IDotGraph *includeDependencyGraph()
+ // IDotGraph *includedByDependencyGraph()
+ // IDocProgramListing *source()
+ // group:
+ // Title()
+ // innerFile()
+ // innerPage()
+ // page:
};
class ICompoundIterator
diff --git a/addon/doxmlparser/src/doxmlparser.pro.in b/addon/doxmlparser/src/doxmlparser.pro.in
index 889f069..1d05f5b 100644
--- a/addon/doxmlparser/src/doxmlparser.pro.in
+++ b/addon/doxmlparser/src/doxmlparser.pro.in
@@ -4,12 +4,12 @@ HEADERS = basehandler.h mainhandler.h \
compoundhandler.h sectionhandler.h \
memberhandler.h paramhandler.h \
dochandler.h linkedtexthandler.h \
- debug.h
+ debug.h graphhandler.h
SOURCES = mainhandler.cpp \
compoundhandler.cpp sectionhandler.cpp \
memberhandler.cpp paramhandler.cpp \
dochandler.cpp linkedtexthandler.cpp \
- basehandler.cpp debug.cpp
+ basehandler.cpp debug.cpp graphhandler.cpp
unix:LIBS += -L../../../lib -lqtools
win32:INCLUDEPATH += .
win32-mingw:LIBS += -L../../../lib -lqtools
diff --git a/addon/doxmlparser/src/graphhandler.cpp b/addon/doxmlparser/src/graphhandler.cpp
new file mode 100644
index 0000000..9c822de
--- /dev/null
+++ b/addon/doxmlparser/src/graphhandler.cpp
@@ -0,0 +1,86 @@
+#include "graphhandler.h"
+
+GraphHandler::GraphHandler(IBaseHandler *parent,const char *endTag)
+ : m_parent(parent)
+{
+ addEndHandler(endTag,this,&GraphHandler::endGraph);
+ addStartHandler("node",this,&GraphHandler::startNode);
+ m_nodes.setAutoDelete(TRUE);
+}
+
+GraphHandler::~GraphHandler()
+{
+}
+
+void GraphHandler::startGraph(const QXmlAttributes &)
+{
+ m_parent->setDelegate(this);
+}
+
+void GraphHandler::endGraph()
+{
+ m_parent->setDelegate(0);
+}
+
+void GraphHandler::startNode(const QXmlAttributes &attrib)
+{
+ NodeHandler *n = new NodeHandler(this);
+ n->startNode(attrib);
+ m_nodes.append(n);
+}
+
+INodeIterator *GraphHandler::nodes() const
+{
+ return new NodeIterator(*this);
+}
+
+//------------------------------------------------------------------------
+
+NodeHandler::NodeHandler(IBaseHandler *parent)
+ : m_parent(parent)
+{
+ addEndHandler("node",this,&NodeHandler::endNode);
+ addStartHandler("link",this,&NodeHandler::startLink);
+ addEndHandler("link",this,&NodeHandler::endLink);
+ addStartHandler("label",this,&NodeHandler::startLabel);
+ addEndHandler("label",this,&NodeHandler::endLabel);
+}
+
+NodeHandler::~NodeHandler()
+{
+}
+
+void NodeHandler::startNode(const QXmlAttributes &attrib)
+{
+ m_parent->setDelegate(this);
+ m_id = attrib.value("id");
+}
+
+void NodeHandler::endNode()
+{
+ m_parent->setDelegate(0);
+}
+
+void NodeHandler::startLink(const QXmlAttributes &attrib)
+{
+ m_link = attrib.value("id");
+}
+
+void NodeHandler::endLink()
+{
+}
+
+void NodeHandler::startLabel(const QXmlAttributes &/*attrib*/)
+{
+ m_curString="";
+}
+
+void NodeHandler::endLabel()
+{
+ m_label = m_curString;
+}
+
+
+
+
+
diff --git a/addon/doxmlparser/src/graphhandler.h b/addon/doxmlparser/src/graphhandler.h
new file mode 100644
index 0000000..47222d1
--- /dev/null
+++ b/addon/doxmlparser/src/graphhandler.h
@@ -0,0 +1,110 @@
+/******************************************************************************
+ *
+ * $Id$
+ *
+ *
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ */
+
+#ifndef _GRAPHHANDLER_H
+#define _GRAPHHANDLER_H
+
+#include "doxmlintf.h"
+#include "basehandler.h"
+#include "baseiterator.h"
+
+class NodeHandler;
+class ChildNodeHandler;
+
+class GraphHandler : public IGraph, public BaseHandler<GraphHandler>
+{
+ friend class NodeIterator;
+ public:
+ GraphHandler(IBaseHandler *parent,const char *endTag);
+ virtual ~GraphHandler();
+
+ void startGraph(const QXmlAttributes &attrib);
+ void endGraph();
+ void startNode(const QXmlAttributes &attrib);
+
+ // IGraph
+ virtual INodeIterator *nodes() const;
+
+ private:
+ IBaseHandler *m_parent;
+ QList<NodeHandler> m_nodes;
+};
+
+//----------------------------------------------------------------------
+
+class NodeHandler : public INode, public BaseHandler<NodeHandler>
+{
+ friend class ChildNodeIterator;
+ public:
+ NodeHandler(IBaseHandler *parent);
+ virtual ~NodeHandler();
+
+ void startNode(const QXmlAttributes &attrib);
+ void endNode();
+ void startLabel(const QXmlAttributes &attrib);
+ void endLabel();
+ void startLink(const QXmlAttributes &attrib);
+ void endLink();
+
+ // INode
+ virtual QString id() const { return m_id; }
+ virtual QString label() const { return m_label; }
+ virtual QString linkId() const { return m_link; }
+ virtual IChildNodeIterator *children() const { return 0; } // TODO: implement
+
+ private:
+ IBaseHandler *m_parent;
+ QString m_id;
+ QString m_label;
+ QString m_link;
+ QList<ChildNodeHandler> m_children;
+};
+
+class NodeIterator : public BaseIterator<INodeIterator,INode,NodeHandler>
+{
+ public:
+ NodeIterator(const GraphHandler &handler) :
+ BaseIterator<INodeIterator,INode,NodeHandler>(handler.m_nodes) {}
+};
+
+//----------------------------------------------------------------------
+
+class ChildNodeHandler : public IChildNode, public BaseHandler<ChildNodeHandler>
+{
+ public:
+ ChildNodeHandler(IBaseHandler *parent);
+ virtual ~ChildNodeHandler();
+
+ void startChildNode(const QXmlAttributes &attrib);
+ void endChildNode();
+
+ // IChildNode
+ virtual QString id() const { return m_id; }
+
+ private:
+ IBaseHandler *m_parent;
+ QString m_id;
+};
+
+class ChildNodeIterator : public BaseIterator<IChildNodeIterator,IChildNode,ChildNodeHandler>
+{
+ public:
+ ChildNodeIterator(const NodeHandler &handler) :
+ BaseIterator<IChildNodeIterator,IChildNode,ChildNodeHandler>(handler.m_children) {}
+};
+
+
+#endif
+
diff --git a/addon/doxmlparser/src/mainhandler.cpp b/addon/doxmlparser/src/mainhandler.cpp
index 99cb665..98249ee 100644
--- a/addon/doxmlparser/src/mainhandler.cpp
+++ b/addon/doxmlparser/src/mainhandler.cpp
@@ -16,6 +16,7 @@
#include <qxml.h>
#include "mainhandler.h"
#include "compoundhandler.h"
+#include "sectionhandler.h"
#include "debug.h"
class ErrorHandler : public QXmlErrorHandler
diff --git a/addon/doxmlparser/test/main.cpp b/addon/doxmlparser/test/main.cpp
index c90883e..4359ba5 100644
--- a/addon/doxmlparser/test/main.cpp
+++ b/addon/doxmlparser/test/main.cpp
@@ -234,12 +234,6 @@ void DumpDoc(IDoc *doc)
ASSERT(hl!=0);
}
break;
- case IDoc::Anchor:
- {
- IDocAnchor *anc = dynamic_cast<IDocAnchor*>(anc);
- ASSERT(anc!=0);
- }
- break;
case IDoc::Formula:
{
IDocFormula *fm = dynamic_cast<IDocFormula*>(fm);
diff --git a/addon/doxmlparser/test/xmlparse.pro.in b/addon/doxmlparser/test/xmlparse.pro.in
index 1dc095b..cfb95be 100644
--- a/addon/doxmlparser/test/xmlparse.pro.in
+++ b/addon/doxmlparser/test/xmlparse.pro.in
@@ -14,6 +14,7 @@ DESTDIR =
OBJECTS_DIR = ../objects
TARGET = xmlparse
INCLUDEPATH += ../../../qtools ../include
+DEPENDPATH += ../include
unix:TARGETDEPS = ../lib/libdoxmlparser.a
win32:TARGETDEPS = ..\lib\doxmlparser.lib
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 4deee03..6dfddcc 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2001 by Dimitri van Heesch.
+# Copyright (C) 1997-2002 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/Makefile.latex b/doc/Makefile.latex
index 43489ce..f824b70 100644
--- a/doc/Makefile.latex
+++ b/doc/Makefile.latex
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2001 by Dimitri van Heesch.
+# Copyright (C) 1997-2002 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/Makefile.win_make.in b/doc/Makefile.win_make.in
index 3161b31..1f576cb 100644
--- a/doc/Makefile.win_make.in
+++ b/doc/Makefile.win_make.in
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2001 by Dimitri van Heesch.
+# Copyright (C) 1997-2002 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/Makefile.win_nmake.in b/doc/Makefile.win_nmake.in
index 05820b0..bd79a33 100644
--- a/doc/Makefile.win_nmake.in
+++ b/doc/Makefile.win_nmake.in
@@ -1,7 +1,7 @@
#
#
#
-# Copyright (C) 1997-2001 by Dimitri van Heesch.
+# Copyright (C) 1997-2002 by Dimitri van Heesch.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/arch.doc b/doc/arch.doc
index 2529fcb..1851d31 100644
--- a/doc/arch.doc
+++ b/doc/arch.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/autolink.doc b/doc/autolink.doc
index ee0cd09..94b28d4 100644
--- a/doc/autolink.doc
+++ b/doc/autolink.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/commands.doc b/doc/commands.doc
index fd4f71d..edd5804 100644
--- a/doc/commands.doc
+++ b/doc/commands.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/config.doc b/doc/config.doc
index 8300a84..d36dfc5 100644
--- a/doc/config.doc
+++ b/doc/config.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/diagrams.doc b/doc/diagrams.doc
index 3094720..d44a8b4 100644
--- a/doc/diagrams.doc
+++ b/doc/diagrams.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/docblocks.doc b/doc/docblocks.doc
index 611f0ee..49a2f5f 100644
--- a/doc/docblocks.doc
+++ b/doc/docblocks.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/doxygen.sty b/doc/doxygen.sty
index 86ee4ca..bada1f9 100644
--- a/doc/doxygen.sty
+++ b/doc/doxygen.sty
@@ -1,7 +1,7 @@
%
%
%
-% Copyright (C) 1997-2001 by Dimitri van Heesch.
+% Copyright (C) 1997-2002 by Dimitri van Heesch.
%
% Permission to use, copy, modify, and distribute this software and its
% documentation under the terms of the GNU General Public License is hereby
@@ -24,8 +24,8 @@
{\fancyplain{}{\bfseries\rightmark}}
\rhead[\fancyplain{}{\bfseries\leftmark}]
{\fancyplain{}{\bfseries\thepage}}
-\rfoot[\fancyplain{}{\bfseries\scriptsize User Manual for Doxygen $VERSION, written by Dimitri van Heesch \copyright 1997-2001}]{}
-\lfoot[]{\fancyplain{}{\bfseries\scriptsize User Manual for Doxygen $VERSION, written by Dimitri van Heesch \copyright 1997-2001}}
+\rfoot[\fancyplain{}{\bfseries\scriptsize User Manual for Doxygen $VERSION, written by Dimitri van Heesch \copyright 1997-2002}]{}
+\lfoot[]{\fancyplain{}{\bfseries\scriptsize User Manual for Doxygen $VERSION, written by Dimitri van Heesch \copyright 1997-2002}}
\cfoot{}
\newenvironment{CompactList}
{\begin{list}{}{
diff --git a/doc/doxygen_manual.tex b/doc/doxygen_manual.tex
index 6f3313a..2b718e3 100644
--- a/doc/doxygen_manual.tex
+++ b/doc/doxygen_manual.tex
@@ -1,7 +1,7 @@
%
%
%
-% Copyright (C) 1997-2001 by Dimitri van Heesch.
+% Copyright (C) 1997-2002 by Dimitri van Heesch.
%
% Permission to use, copy, modify, and distribute this software and its
% documentation under the terms of the GNU General Public License is hereby
@@ -37,7 +37,7 @@
\begin{center}
Manual for version $VERSION\\[2ex]
Written by Dimitri van Heesch\\[2ex]
-\copyright 1997-2001
+\copyright 1997-2002
\end{center}
\end{titlepage}
\clearemptydoublepage
diff --git a/doc/doxygen_usage.doc b/doc/doxygen_usage.doc
index 865f5ca..bf86ffb 100644
--- a/doc/doxygen_usage.doc
+++ b/doc/doxygen_usage.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/doxysearch_usage.doc b/doc/doxysearch_usage.doc
index e878a9c..a919360 100644
--- a/doc/doxysearch_usage.doc
+++ b/doc/doxysearch_usage.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/doxytag_usage.doc b/doc/doxytag_usage.doc
index 506dc5f..187c285 100644
--- a/doc/doxytag_usage.doc
+++ b/doc/doxytag_usage.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/doxywizard_usage.doc b/doc/doxywizard_usage.doc
index 5c17add..05d1d9f 100644
--- a/doc/doxywizard_usage.doc
+++ b/doc/doxywizard_usage.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/external.doc b/doc/external.doc
index 111703e..e7d3bf0 100644
--- a/doc/external.doc
+++ b/doc/external.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/faq.doc b/doc/faq.doc
index cf18fab..77ba440 100644
--- a/doc/faq.doc
+++ b/doc/faq.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -218,7 +218,7 @@ Qt had nicely generated documentation (using an internal tool which
they didn't want to release) and I wrote similar docs by hand.
This was a nightmare to maintain, so I wanted a similar tool. I looked at
Doc++ but that just wasn't good enough (it didn't support signals and
-slots and did have the Qt look and feel I have grown to like),
+slots and did not have the Qt look and feel I had grown to like),
so I started to write my own tool...
</ol>
diff --git a/doc/features.doc b/doc/features.doc
index 71c2a1f..806a5b5 100644
--- a/doc/features.doc
+++ b/doc/features.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/formulas.doc b/doc/formulas.doc
index e90424f..52a30e7 100644
--- a/doc/formulas.doc
+++ b/doc/formulas.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/grouping.doc b/doc/grouping.doc
index ae80ae8..0d20b39 100644
--- a/doc/grouping.doc
+++ b/doc/grouping.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/history.doc b/doc/history.doc
index 5a28e9d..0866130 100644
--- a/doc/history.doc
+++ b/doc/history.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/htmlcmds.doc b/doc/htmlcmds.doc
index 12d5356..476be78 100644
--- a/doc/htmlcmds.doc
+++ b/doc/htmlcmds.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -115,5 +115,11 @@ The special HTML character entities that are recognized by Doxygen:
<li>\c &nbsp; a non breakable space.
</ul>
+Finally, to put invisible comments inside comment blocks, HTML style
+comments can be used:
+\verbatim
+/*! <!-- This is a comment with a comment block --> Visible text */
+\endverbatim
+
*/
diff --git a/doc/index.doc b/doc/index.doc
index 450bfe9..ca2d9b5 100644
--- a/doc/index.doc
+++ b/doc/index.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -25,25 +25,6 @@ Version: $(VERSION)
</center>
\endif
-<h2>Doxygen license</h2>
-\addindex license
-\addindex GPL
-
-Copyright &copy; 1997-2001 by
-<a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>.<p>
-
-Permission to use, copy, modify, and distribute this software and its
-documentation under the terms of the GNU General Public License is hereby
-granted. No representations are made about the suitability of this software
-for any purpose. It is provided "as is" without express or implied warranty.
-See the
-<a href="http://www.gnu.org/copyleft/gpl.html">
-GNU General Public License</a>
-for more details.
-<p>
-Documents produced by doxygen are derivative works derived from the
-input used in their production; they are not affected by this license.
-
<h2>Introduction</h2>
Doxygen is a documentation system for C++, Java, IDL
(Corba, Microsoft and KDE-DCOP flavors) and C.
@@ -70,8 +51,8 @@ It can help you in three ways:
Doxygen is developed under <a href="http://www.linux.org">Linux</a>,
but is set-up to be highly portable. As a result, it runs on most
-other Unix flavors as well. Furthermore, an executable for
-Windows 9x/NT is also available.
+other Unix flavors as well. Furthermore, executables for
+Windows 9x/NT and Mac OS X are available.
This manual is divided into three parts, each of which is divided into several
sections.
@@ -128,6 +109,25 @@ The third part provides information for developers:
output languages.
</ul>
+<h2>Doxygen license</h2>
+\addindex license
+\addindex GPL
+
+Copyright &copy; 1997-2002 by
+<a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>.<p>
+
+Permission to use, copy, modify, and distribute this software and its
+documentation under the terms of the GNU General Public License is hereby
+granted. No representations are made about the suitability of this software
+for any purpose. It is provided "as is" without express or implied warranty.
+See the
+<a href="http://www.gnu.org/copyleft/gpl.html">
+GNU General Public License</a>
+for more details.
+<p>
+Documents produced by doxygen are derivative works derived from the
+input used in their production; they are not affected by this license.
+
<h2>Projects using doxygen</h2>
I have compiled a
@@ -165,20 +165,19 @@ Thanks go to:
<li>My brother <a href="http://www.stack.nl/~fidget/index.html">Frank</a>
for rendering the logos.
<li>Harm van der Heijden for adding HTML help support.
-<li>Wouter Slegers for registering the www.doxygen.org domain.
+<li>Wouter Slegers of
+ <a href="http://www.yourcreativesolutions.nl">Your Creative Solutions</a>
+ for registering the www.doxygen.org domain.
<li>Parker Waechter for adding the RTF output generator.
<li>Joerg Baumann, for adding conditional documentation blocks,
PDF links, and the configuration generator.
<li>Matthias Andree for providing a .spec script for building rpms from the
sources.
<li>Tim Mensch for adding the todo command.
+<li>Christian Hammond for redesigning the web-site.
<li>Ken Wong for providing the HTML tree view code.
-<li>Jens Breitenstein, Christophe Bordeaux, Samuel Hägglund, Xet Erixon,
- Vlastimil Havran, Petr Prikryl, Ahmed Also Faisal, Alessandro Falappa,
- Kenji Nagamatsu, Francisco Oltra Thennet, Olli Korhonen,
- Boris Bralo, Nickolay Semyonov, Richard Kim, Földvári György,
- Grzegorz Kowal, and Wang Weihan
- for providing translations into various languages.
+<li>Petr Prikryl for coordinating the internationalisation support.
+ All language maintainers for providing translations into many languages.
<li>Erik Jan Lingen of <a href="http://www.habanera.nl/">Habanera</a> for
donating money.
<li>The Comms group of <a href="http://www.symbian.com">Symbian</a> for donating
diff --git a/doc/install.doc b/doc/install.doc
index 78a61cf..7472355 100644
--- a/doc/install.doc
+++ b/doc/install.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/installdox_usage.doc b/doc/installdox_usage.doc
index 1662a10..df9973e 100644
--- a/doc/installdox_usage.doc
+++ b/doc/installdox_usage.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/language.doc b/doc/language.doc
index 966fc6a..4b3bcca 100644
--- a/doc/language.doc
+++ b/doc/language.doc
@@ -5,7 +5,7 @@
* Do not edit this file. Edit the above mentioned files!
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
@@ -25,7 +25,7 @@ Doxygen has built-in support for multiple languages. This means
that the text fragments that doxygen generates can be produced in
languages other than English (the default) at configuration time.
-Currently (version 1.2.13-20020210), 25 languages
+Currently (version 1.2.14-20020224), 25 languages
are supported (sorted alphabetically):
Brazilian Portuguese, Chinese, Croatian, Czech, Danish,
Dutch, English, Finnish, French, German,
@@ -72,7 +72,7 @@ when the translator was updated.
<TD>Czech</TD>
<TD>Petr P&#x0159;ikryl</TD>
<TD>prikrylp@NOSPAM.skil.cz</TD>
- <TD>1.2.13</TD>
+ <TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Danish</TD>
@@ -143,7 +143,7 @@ when the translator was updated.
<TR BGCOLOR="#ffffff">
<TD>Norwegian</TD>
<TD>Lars Erik Jordet</TD>
- <TD>larsej@NOSPAM.stud.ifd.hibu.no</TD>
+ <TD>lej@NOSPAM.circuitry.no</TD>
<TD>1.2.2</TD>
</TR>
<TR BGCOLOR="#ffffff">
@@ -156,7 +156,7 @@ when the translator was updated.
<TD>Portuguese</TD>
<TD>Rui Godinho Lopes</TD>
<TD>ruiglopes@NOSPAM.yahoo.com</TD>
- <TD>1.2.13</TD>
+ <TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Romanian</TD>
@@ -218,7 +218,7 @@ when the translator was updated.
\hline
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} & up-to-date \\
\hline
- Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} & 1.2.13 \\
+ Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} & up-to-date \\
\hline
Danish & Erik S\o{}e S\o{}rensen & {\tt erik@mail.nu} & 1.2.7 \\
\hline
@@ -245,11 +245,11 @@ when the translator was updated.
\hline
Korean & Richard Kim & {\tt ryk@dspwiz.com} & 1.2.13 \\
\hline
- Norwegian & Lars Erik Jordet & {\tt larsej@stud.ifd.hibu.no} & 1.2.2 \\
+ Norwegian & Lars Erik Jordet & {\tt lej@circuitry.no} & 1.2.2 \\
\hline
Polish & Grzegorz Kowal & {\tt g\_kowal@poczta.onet.pl} & 1.2.1 \\
\hline
- Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} & 1.2.13 \\
+ Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} & up-to-date \\
\hline
Romanian & Alexandru Iosup & {\tt aiosup@yahoo.com} & 1.2.1 \\
\hline
diff --git a/doc/language.tpl b/doc/language.tpl
index bc14fd5..875d770 100644
--- a/doc/language.tpl
+++ b/doc/language.tpl
@@ -3,7 +3,7 @@
* Edit manually this file, not the language.doc!</notice>
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/maintainers.txt b/doc/maintainers.txt
index 93de235..488573d 100644
--- a/doc/maintainers.txt
+++ b/doc/maintainers.txt
@@ -51,7 +51,7 @@ Korean
Richard Kim: ryk@dspwiz.com
Norwegian
-Lars Erik Jordet: larsej@stud.ifd.hibu.no
+Lars Erik Jordet: lej@circuitry.no
Polish
Grzegorz Kowal: g_kowal@poczta.onet.pl
diff --git a/doc/output.doc b/doc/output.doc
index 4ee733c..e4ee62f 100644
--- a/doc/output.doc
+++ b/doc/output.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/preprocessing.doc b/doc/preprocessing.doc
index 1be3ecd..9b7e8bc 100644
--- a/doc/preprocessing.doc
+++ b/doc/preprocessing.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/starting.doc b/doc/starting.doc
index f7578c9..5729087 100644
--- a/doc/starting.doc
+++ b/doc/starting.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/doc/trouble.doc b/doc/trouble.doc
index f03eb99..bfac14a 100644
--- a/doc/trouble.doc
+++ b/doc/trouble.doc
@@ -2,7 +2,7 @@
*
*
*
- * Copyright (C) 1997-2001 by Dimitri van Heesch.
+ * Copyright (C) 1997-2002 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
diff --git a/packages/rpm/doxygen.spec b/packages/rpm/doxygen.spec
index 49f091d..eedb104 100644
--- a/packages/rpm/doxygen.spec
+++ b/packages/rpm/doxygen.spec
@@ -1,6 +1,6 @@
Summary: A documentation system for C/C++.
Name: doxygen
-Version: 1.2.14_20020224
+Version: 1.2.14_20020310
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
diff --git a/src/config.l b/src/config.l
index 810287e..fe32174 100644
--- a/src/config.l
+++ b/src/config.l
@@ -881,9 +881,10 @@ void Config::check()
if (p)
{
char c;
- while ((c=*p++))
+ while ((c=*p))
{
- if (c=='\\') c='/';
+ if (c=='\\') *p='/';
+ p++;
}
}
QCString path = sfp;
diff --git a/src/doc.l b/src/doc.l
index c519ee4..b6469a7 100644
--- a/src/doc.l
+++ b/src/doc.l
@@ -752,13 +752,30 @@ static QCString findAndCopyImage(const char *fileName,ImageTypes type)
else
{
warn(yyFileName,yyLineNr,
- "Warning: could not write output image %s",outputFile.data());
+ "Warning: could not write output image %s",outputFile.data());
}
}
else
{
warn(yyFileName,yyLineNr,
- "Warning: could not open image %s",fileName);
+ "Warning: could not open image %s",fileName);
+ }
+
+ if (type==IT_Latex && Config_getBool("USE_PDFLATEX") &&
+ fd->name().right(4)==".eps"
+ )
+ { // we have an .eps image in pdflatex mode => convert it to a pdf.
+ QCString outputDir = Config_getString("LATEX_OUTPUT");
+ QCString baseName = fd->name().left(fd->name().length()-4);
+ QCString epstopdfArgs(4096);
+ epstopdfArgs.sprintf("\"%s/%s.eps\" --outfile=\"%s/%s.pdf\"",
+ outputDir.data(), baseName.data(),
+ outputDir.data(), baseName.data());
+ if (iSystem("epstopdf",epstopdfArgs,TRUE)!=0)
+ {
+ err("Error: Problems running epstopdf. Check your TeX installation!\n");
+ }
+ return baseName;
}
}
else if (ambig)
@@ -1202,13 +1219,13 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
<DocScan>{CMD}"link"/{BN} { BEGIN( DocLink ); }
<DocScan>"{"{CMD}"link"{BN}+ { BEGIN( DocJavaLink ); }
<DocSkipWord>[a-z_A-Z0-9.:()]+ { BEGIN( DocScan ); }
-<DocLink>[a-z_A-Z0-9:#.,~&*/\[\]<>()\-\+]+ { // TODO: support operators as well!
+<DocLink>[a-z_A-Z0-9:#.,~&*/\[\]<>()\-\+]+({B}*("const"|"volatile"))? { // TODO: support operators as well!
linkRef = stripKnownExtensions(yytext);
linkText = "";
BEGIN( DocLinkText );
}
<DocJavaLink>([a-z_A-Z0-9]+".")+ { /* Skip scope prefix (TODO: fix) */ }
-<DocJavaLink>([a-z_A-Z0-9]*"#")?[a-z_A-Z0-9]+("("[a-z_A-Z0-9.,:~&*()\[\]]*")")? { // TODO: support operators as well!
+<DocJavaLink>([a-z_A-Z0-9]*"#")?[a-z_A-Z0-9]+("("[a-z_A-Z0-9.,:~&*()\[\]]*")")?({B}*("const"|"volatile"))? { // TODO: support operators as well!
linkRef = yytext;
linkText = "";
BEGIN( DocJavaLinkText );
@@ -2076,7 +2093,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
}
BEGIN(DocScan);
}
-<DocScan,DocRefName>{SCOPEMASK}"("[a-z_A-Z0-9,:\<\> \t\*\&]+")" {
+<DocScan,DocRefName>{SCOPEMASK}"("[a-z_A-Z0-9,:\<\> \t\*\&]+")"({B}*("const"|"volatile"))? {
if (!insideHtmlLink)
{
generateRef(*outDoc,className,yytext,inSeeBlock);
@@ -2087,7 +2104,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
}
BEGIN(DocScan);
}
-<DocScan,DocRefName>{SCOPEMASK}("()")? {
+<DocScan,DocRefName>{SCOPEMASK}("()"({B}*("const"|"volatile"))?)? {
if (!insideHtmlLink)
{
generateRef(*outDoc,className,yytext,inSeeBlock);
@@ -2617,7 +2634,10 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
{
outDoc->newParagraph();
}
- if (ib) endBlock();
+ if (ib && currentListIndent.top()=="P")
+ { // inside paragraph block
+ endBlock();
+ }
}
}
<DocScan>{BN}+/\n {
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 1363348..f420437 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -3909,7 +3909,8 @@ static void findMember(Entry *root,
int count=0;
MemberNameIterator mni(*mn);
MemberDef *md;
- for (mni.toFirst();(md=mni.current());++mni)
+ bool memFound=FALSE;
+ for (mni.toFirst();!memFound && (md=mni.current());++mni)
{
ClassDef *cd=md->getClassDef();
Debug::print(Debug::FindMembers,0,
@@ -3993,13 +3994,64 @@ static void findMember(Entry *root,
bool ambig;
FileDef *fd=findFileDef(Doxygen::inputNameDict,root->fileName,ambig);
- // list of namespaces using in the file that this member definition is part of
- NamespaceList *nl = 0;
- if (nd) nl = nd->getUsedNamespaces();
- else if (fd) nl = fd->getUsedNamespaces();
- ClassList *cl = 0;
- if (nd) cl = nd->getUsedClasses();
- else if (fd) cl = fd->getUsedClasses();
+
+ // list of namespaces using in the file/namespace that this
+ // member definition is part of
+ NamespaceList *nl = new NamespaceList;
+ if (nd)
+ {
+ NamespaceList *nnl = nd->getUsedNamespaces();
+ if (nnl)
+ {
+ NamespaceDef *nnd = nnl->first();
+ while (nnd)
+ {
+ nl->append(nnd);
+ nnd = nnl->next();
+ }
+ }
+ }
+ if (fd)
+ {
+ NamespaceList *fnl = fd->getUsedNamespaces();
+ if (fnl)
+ {
+ NamespaceDef *fnd = fnl->first();
+ while (fnd)
+ {
+ nl->append(fnd);
+ fnd = fnl->next();
+ }
+ }
+ }
+
+ ClassList *cl = new ClassList;
+ if (nd)
+ {
+ ClassList *ncl = nd->getUsedClasses();
+ if (ncl)
+ {
+ ClassDef *ncd = ncl->first();
+ while (ncd)
+ {
+ cl->append(ncd);
+ ncd = ncl->next();
+ }
+ }
+ }
+ if (fd)
+ {
+ ClassList *fcl = fd->getUsedClasses();
+ if (fcl)
+ {
+ ClassDef *fcd = fcl->first();
+ while (fcd)
+ {
+ cl->append(fcd);
+ fcd = fcl->next();
+ }
+ }
+ }
bool matching=
md->isVariable() || md->isTypedef() || // needed for function pointers
@@ -4038,8 +4090,10 @@ static void findMember(Entry *root,
// root->inLine,md->isInline());
addMemberDocs(root,md,funcDecl,0,overloaded,nl);
count++;
- break;
+ memFound=TRUE;
}
+ delete cl;
+ delete nl;
}
}
if (count==0 && !(isFriend && funcType=="class"))
@@ -6565,13 +6619,19 @@ void readConfiguration(int argc, char **argv)
else
{
Config::instance()->init();
- setTranslator("English");
}
if (optind+3>=argc)
{
err("Error: option \"-w html\" does not have enough arguments\n");
exit(1);
}
+
+ QCString outputLanguage=Config_getEnum("OUTPUT_LANGUAGE");
+ if (!setTranslator(outputLanguage))
+ {
+ err("Error: Output language %s not supported! Using English instead.\n", outputLanguage.data());
+ }
+
QFile f;
if (openOutputFile(argv[optind+1],f))
{
@@ -6605,13 +6665,19 @@ void readConfiguration(int argc, char **argv)
else // use default config
{
Config::instance()->init();
- setTranslator("English");
}
if (optind+2>=argc)
{
- err("Error: option \"-w html\" does not have enough arguments\n");
+ err("Error: option \"-w latex\" does not have enough arguments\n");
exit(1);
}
+
+ QCString outputLanguage=Config_getEnum("OUTPUT_LANGUAGE");
+ if (!setTranslator(outputLanguage))
+ {
+ err("Error: Output language %s not supported! Using English instead.\n", outputLanguage.data());
+ }
+
QFile f;
if (openOutputFile(argv[optind+1],f))
{
@@ -6713,7 +6779,7 @@ void readConfiguration(int argc, char **argv)
Config::instance()->check();
initWarningFormat();
QCString outputLanguage=Config_getEnum("OUTPUT_LANGUAGE");
- if (!outputLanguage.isEmpty() && !setTranslator(outputLanguage))
+ if (!setTranslator(outputLanguage))
{
err("Error: Output language %s not supported! Using English instead.\n",
outputLanguage.data());
@@ -7335,13 +7401,13 @@ void generateOutput()
theTranslator->trGeneratedAt(dateToString(TRUE),Config_getString("PROJECT_NAME"))
);
outputList->writeStyleInfo(1); // write second part
- parseText(*outputList,theTranslator->trWrittenBy());
+ //parseText(*outputList,theTranslator->trWrittenBy());
outputList->writeStyleInfo(2); // write third part
parseText(*outputList,
theTranslator->trGeneratedAt(dateToString(TRUE),Config_getString("PROJECT_NAME"))
);
outputList->writeStyleInfo(3); // write fourth part
- parseText(*outputList,theTranslator->trWrittenBy());
+ //parseText(*outputList,theTranslator->trWrittenBy());
outputList->writeStyleInfo(4); // write last part
outputList->enableAll();
diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp
index af01a96..4f971c2 100644
--- a/src/htmlgen.cpp
+++ b/src/htmlgen.cpp
@@ -181,14 +181,16 @@ void HtmlGenerator::writeHeaderFile(QFile &file)
void HtmlGenerator::writeFooterFile(QFile &file)
{
QTextStream t(&file);
- t << "<hr><address><small>\n";
+ t << "<hr><address align=\"right\"><small>\n";
t << theTranslator->trGeneratedAt( "$datetime", "$projectname" );
t << " <a href=\"http://www.doxygen.org/index.html\">\n"
<< "<img src=\"doxygen.png\" alt=\"doxygen\" "
<< "align=\"middle\" border=0 width=110 height=53>\n"
- << "</a> $doxygenversion " << theTranslator->trWrittenBy()
- << " <a href=\"mailto:dimitri@stack.nl\">Dimitri van Heesch</a>,\n"
- << " &copy;&nbsp;1997-2002</small></address>\n"
+ << "</a> $doxygenversion";
+ // << " " << theTranslator->trWrittenBy()
+ // << " <a href=\"mailto:dimitri@stack.nl\">Dimitri van Heesch</a>,\n"
+ // << " &copy;&nbsp;1997-2002"
+ t << "</small></address>\n"
<< "</body>\n"
<< "</html>\n";
}
@@ -255,7 +257,7 @@ void HtmlGenerator::writeFooter(int part,bool external)
{
case 0:
if (g_footer.isEmpty())
- t << "<hr><address><small>";
+ t << "<hr><address align=\"right\"><small>";
else
t << substituteKeywords(g_footer,convertToHtml(lastTitle));
break;
@@ -280,8 +282,10 @@ void HtmlGenerator::writeFooter(int part,bool external)
break;
default:
if (g_footer.isEmpty())
- t << " <a href=\"mailto:dimitri@stack.nl\">Dimitri van Heesch</a>,\n &copy;&nbsp;"
- "1997-2002</small></address>\n</body>\n</html>\n";
+ {
+ //t << " <a href=\"mailto:dimitri@stack.nl\">Dimitri van Heesch</a>,\n &copy;&nbsp;1997-2002";
+ t << "</small></address>\n</body>\n</html>\n";
+ }
break;
}
diff --git a/src/index.cpp b/src/index.cpp
index 9b20b51..47bdaab 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -340,10 +340,10 @@ void endFile(OutputList &ol,bool external)
));
}
ol.writeFooter(1,external); // write the link to the picture
- if (Config_getString("HTML_FOOTER").isEmpty())
- {
- parseText(ol,theTranslator->trWrittenBy());
- }
+ //if (Config_getString("HTML_FOOTER").isEmpty())
+ //{
+ // parseText(ol,theTranslator->trWrittenBy());
+ //}
ol.writeFooter(2,external); // end the footer
ol.popGeneratorState();
ol.endFile();
@@ -2228,7 +2228,10 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,int level)
ftvHelp = FTVHelp::getInstance();
}
- if (!gd->visited && (!gd->isASubGroup() || level>0))
+ /* Some groups should appear twice under different parent-groups.
+ * That is why we should not check if it was visited
+ */
+ if (/*!gd->visited &&*/ (!gd->isASubGroup() || level>0))
{
//printf("gd->name()=%s #members=%d\n",gd->name().data(),gd->countMembers());
// write group info
@@ -2503,7 +2506,7 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,int level)
if (htmlHelp) htmlHelp->decContentsDepth();
if (ftvHelp) ftvHelp->decContentsDepth();
- gd->visited=TRUE;
+ //gd->visited=TRUE;
}
}
diff --git a/src/latexgen.cpp b/src/latexgen.cpp
index 4604a58..c02428c 100644
--- a/src/latexgen.cpp
+++ b/src/latexgen.cpp
@@ -407,12 +407,14 @@ void LatexGenerator::writeStyleSheetFile(QFile &f)
QCString &projectName = Config_getString("PROJECT_NAME");
t << theTranslator->trGeneratedAt( dateToString(TRUE), projectName );
- t << " doxygen " << theTranslator->trWrittenBy() << " ";
- t << "Dimitri van Heesch \\copyright~1997-2002";
+ t << " doxygen";
+ //t << " " << theTranslator->trWrittenBy() << " ";
+ //t << "Dimitri van Heesch \\copyright~1997-2002";
writeDefaultStyleSheetPart2(t);
t << theTranslator->trGeneratedAt( dateToString(TRUE), projectName );
- t << " doxygen " << theTranslator->trWrittenBy() << " ";
- t << "Dimitri van Heesch \\copyright~1997-2002";
+ t << " doxygen";
+ //t << " << theTranslator->trWrittenBy() << " ";
+ //t << "Dimitri van Heesch \\copyright~1997-2002";
writeDefaultStyleSheetPart3(t);
}
@@ -824,14 +826,14 @@ void LatexGenerator::writeStyleInfo(int part)
break;
case 2:
{
- t << " Dimitri van Heesch \\copyright~1997-2002";
+ //t << " Dimitri van Heesch \\copyright~1997-2002";
t << "}]{}\n";
writeDefaultStyleSheetPart2(t);
}
break;
case 4:
{
- t << " Dimitri van Heesch \\copyright~1997-2002";
+ //t << " Dimitri van Heesch \\copyright~1997-2002";
writeDefaultStyleSheetPart3(t);
endPlainFile();
}
diff --git a/src/pngenc.cpp b/src/pngenc.cpp
index 438b4b5..b7e54f4 100644
--- a/src/pngenc.cpp
+++ b/src/pngenc.cpp
@@ -99,7 +99,7 @@ void PngEncoder::write(const char *name)
png_palette[i].green = palette[i].green;
png_palette[i].blue = palette[i].blue;
}
- png_set_PLTE(png_ptr, info_ptr, png_palette, PNG_MAX_PALETTE_LENGTH);
+ png_set_PLTE(png_ptr, info_ptr, png_palette, numOfColors);
png_set_IHDR( png_ptr, info_ptr, width, height, bit_depth,
PNG_COLOR_TYPE_PALETTE, PNG_INTERLACE_NONE,
PNG_COMPRESSION_TYPE_BASE, PNG_FILTER_TYPE_BASE
diff --git a/src/scanner.l b/src/scanner.l
index e558eb1..ab08498 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -2859,7 +2859,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
current->brief+=' ';
lineCount();
}
-<JavaDoc>".\\"/[ \t\r\n] {
+<JavaDoc,AfterDocBrief>".\\"/[ \t\r\n] {
current->brief+=".";
}
<JavaDoc>"."[ \t\r\n] {
diff --git a/src/translator_cz.h b/src/translator_cz.h
index e785da4..07941bb 100644
--- a/src/translator_cz.h
+++ b/src/translator_cz.h
@@ -135,6 +135,9 @@
// - trImplementedFromList() and trImplementedInList() implemented
// (new since 1.2.13)
//
+// 2002/03/05
+// - ... forgot to replace TranslatorAdapter... base class by Translator.
+//
// Todo
// ----
// - The trReimplementedFromList() should pass the kind of the
@@ -154,7 +157,7 @@
// probably slightly faster.
-class TranslatorCzech : public TranslatorAdapter_1_2_13
+class TranslatorCzech : public Translator
{
private:
/*! The decode() inline assumes the source written in the
diff --git a/src/translator_pt.h b/src/translator_pt.h
index 232eecb..6d73bbd 100644
--- a/src/translator_pt.h
+++ b/src/translator_pt.h
@@ -15,9 +15,12 @@
*
* The translation into Portuguese was provided by
* Rui Godinho Lopes <ruiglopes@yahoo.com>
+ * http://www.ruilopes.com
*
* VERSION HISTORY
* ---------------
+ * 004 03 march 2002
+ * ! Updated for doxygen v1.2.14
* 003 23 november 2001
* - Removed some obsolete methods (latexBabelPackage, trAuthor, trAuthors and trFiles)
* 002 19 november 2001
@@ -31,7 +34,7 @@
#ifndef TRANSLATOR_PT_H
#define TRANSLATOR_PT_H
-class TranslatorPortuguese : public TranslatorAdapter_1_2_13
+class TranslatorPortuguese : public Translator
{
public:
@@ -1048,7 +1051,7 @@ class TranslatorPortuguese : public TranslatorAdapter_1_2_13
"\\endcode\n"
"Se no ficheiro de configuração estiver a tag \\c MAX_DOT_GRAPH_HEIGHT "
"com o valor de 200 então o seguinte grafo será gerado:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend.gif\"></center>\n"
"<p>\n"
"As caixas no grafo anterior têm as seguintes interpretações:\n"
"<ul>\n"
@@ -1345,6 +1348,26 @@ class TranslatorPortuguese : public TranslatorAdapter_1_2_13
return "Referências";
}
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.13
+//////////////////////////////////////////////////////////////////////////
+
+ /*! used in member documentation blocks to produce a list of
+ * members that are implemented by this one.
+ */
+ virtual QCString trImplementedFromList(int numEntries)
+ {
+ return "Implementa "+trWriteList(numEntries)+".";
+ }
+
+ /*! used in member documentation blocks to produce a list of
+ * all members that implement this abstract member.
+ */
+ virtual QCString trImplementedInList(int numEntries)
+ {
+ return "Implementado em "+trWriteList(numEntries)+".";
+ }
+
};
#endif
diff --git a/src/util.cpp b/src/util.cpp
index ed55620..c99b1bd 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1999,7 +1999,8 @@ bool getDefs(const QCString &scName,const QCString &memberName,
MemberDef *&md,
ClassDef *&cd, FileDef *&fd, NamespaceDef *&nd, GroupDef *&gd,
bool forceEmptyScope,
- FileDef *currentFile
+ FileDef *currentFile,
+ bool checkCV
)
{
fd=0, md=0, cd=0, nd=0, gd=0;
@@ -2076,7 +2077,7 @@ bool getDefs(const QCString &scName,const QCString &memberName,
if (mmd->isLinkable())
{
bool match=args==0 ||
- matchArguments(mmd->argumentList(),argList,className,0,FALSE);
+ matchArguments(mmd->argumentList(),argList,className,0,checkCV);
//printf("match=%d\n",match);
if (match)
{
@@ -2187,7 +2188,7 @@ bool getDefs(const QCString &scName,const QCString &memberName,
argList=new ArgumentList;
stringToArgumentList(args,argList);
match=matchArguments(mmd->argumentList(),argList,0,
- namespaceName,FALSE);
+ namespaceName,checkCV);
}
if (match)
{
@@ -2247,7 +2248,7 @@ bool getDefs(const QCString &scName,const QCString &memberName,
{
argList=new ArgumentList;
stringToArgumentList(args,argList);
- match=matchArguments(md->argumentList(),argList);
+ match=matchArguments(md->argumentList(),argList,0,0,checkCV);
delete argList; argList=0;
}
if (match)
@@ -2489,8 +2490,13 @@ bool generateRef(OutputDocInterface &od,const char *scName,
// scopeStr.data(),nameStr.data(),argsStr.data());
// check if nameStr is a member or global.
- if (getDefs(scopeStr,nameStr,argsStr,md,cd,fd,nd,gd,
- scopePos==0 && !memberScopeFirst))
+ if (getDefs(scopeStr,nameStr,argsStr,
+ md,cd,fd,nd,gd,
+ scopePos==0 && !memberScopeFirst,
+ 0,
+ TRUE
+ )
+ )
{
//printf("after getDefs md=%p cd=%p fd=%p nd=%p gd=%p\n",md,cd,fd,nd,gd);
QCString anchor;
diff --git a/src/util.h b/src/util.h
index 2a68fad..6831c2b 100644
--- a/src/util.h
+++ b/src/util.h
@@ -86,7 +86,8 @@ extern bool getDefs(const QCString &scopeName,
NamespaceDef *&nd,
GroupDef *&gd,
bool forceEmptyScope=FALSE,
- FileDef *currentFile=0
+ FileDef *currentFile=0,
+ bool checkCV=FALSE
);
extern bool generateRef(OutputDocInterface &od,const char *,
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index 9273f63..c5b1fb0 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -1309,7 +1309,7 @@ static void writeTemplateLists(Definition *d,QTextStream &t)
}
}
-static void writeListOfAllMember(ClassDef *cd,QTextStream &t)
+static void writeListOfAllMembers(ClassDef *cd,QTextStream &t)
{
t << " <listofallmembers>" << endl;
MemberNameInfoSDict::Iterator mnii(*cd->memberNameInfoSDict());
@@ -1365,7 +1365,7 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
// + list of direct sub classes
// + list of inner classes
// + collaboration diagram
- // - list of all members
+ // + list of all members
// + user defined member sections
// + standard member sections
// + detailed member documentation
@@ -1459,7 +1459,7 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
}
}
writeTemplateLists(cd,t);
- writeListOfAllMember(cd,t);
+ writeListOfAllMembers(cd,t);
MemberGroupSDict::Iterator mgli(*cd->memberGroupSDict);
MemberGroup *mg;
for (;(mg=mgli.current());++mgli)