39 #define ADD_OPTION(langId,text) "|"+QCString().setNum(langId)+"="+text 41 #define COMPILE_FOR_1_OPTION(def,langId1,text1) \ 42 def+ADD_OPTION(langId1,text1) 44 #define COMPILE_FOR_2_OPTIONS(def,langId1,text1,langId2,text2) \ 45 COMPILE_FOR_1_OPTION(def,langId1,text1)+ADD_OPTION(langId2,text2) 47 #define COMPILE_FOR_3_OPTIONS(def,langId1,text1,langId2,text2,langId3,text3) \ 48 COMPILE_FOR_2_OPTIONS(def,langId1,text1,langId2,text2)+ADD_OPTION(langId3,text3) 50 #define COMPILE_FOR_4_OPTIONS(def,langId1,text1,langId2,text2,langId3,text3,langId4,text4) \ 51 COMPILE_FOR_3_OPTIONS(def,langId1,text1,langId2,text2,langId3,text3)+ADD_OPTION(langId4,text4) 56 if (visible.
isEmpty())
return defVal;
57 if (visible.
at(0)==
'$' && visible.
length()>1)
67 err(
"found unsupported value %s for visible attribute in layout file\n",
71 return visible!=
"no" && visible!=
"0";
77 const char *
file)
const 86 result = entry->
find(kind,file);
104 else if (url.
left(5)==
"@ref " || url.
left(5)==
"\\ref ")
111 if (d && d->isLinkable())
203 :
m_parent(parent), m_handler(h), m_type(type),
204 m_title(tl), m_subscript(ss) {}
260 m_sHandler.setAutoDelete(
TRUE);
261 m_eHandler.setAutoDelete(
TRUE);
270 m_sHandler.insert(
"doxygenlayout",
272 m_eHandler.insert(
"doxygenlayout",
276 m_sHandler.insert(
"navindex",
278 m_sHandler.insert(
"navindex/tab",
280 m_eHandler.insert(
"navindex/tab",
282 m_eHandler.insert(
"navindex",
286 m_sHandler.insert(
"class",
288 m_sHandler.insert(
"class/briefdescription",
290 m_sHandler.insert(
"class/detaileddescription",
293 m_sHandler.insert(
"class/authorsection",
295 m_sHandler.insert(
"class/includes",
297 m_sHandler.insert(
"class/inheritancegraph",
299 m_sHandler.insert(
"class/collaborationgraph",
301 m_sHandler.insert(
"class/allmemberslink",
303 m_sHandler.insert(
"class/usedfiles",
305 m_sHandler.insert(
"class/memberdecl",
307 m_sHandler.insert(
"class/memberdecl/membergroups",
309 m_sHandler.insert(
"class/memberdecl/nestedclasses",
316 m_sHandler.insert(
"class/memberdecl/services",
319 m_sHandler.insert(
"class/memberdecl/interfaces",
322 m_sHandler.insert(
"class/memberdecl/publictypes",
325 m_sHandler.insert(
"class/memberdecl/publicslots",
328 m_sHandler.insert(
"class/memberdecl/signals",
331 m_sHandler.insert(
"class/memberdecl/publicmethods",
338 m_sHandler.insert(
"class/memberdecl/publicstaticmethods",
345 m_sHandler.insert(
"class/memberdecl/publicattributes",
348 m_sHandler.insert(
"class/memberdecl/publicstaticattributes",
351 m_sHandler.insert(
"class/memberdecl/protectedtypes",
354 m_sHandler.insert(
"class/memberdecl/protectedslots",
357 m_sHandler.insert(
"class/memberdecl/protectedmethods",
360 m_sHandler.insert(
"class/memberdecl/protectedstaticmethods",
363 m_sHandler.insert(
"class/memberdecl/protectedattributes",
366 m_sHandler.insert(
"class/memberdecl/protectedstaticattributes",
369 m_sHandler.insert(
"class/memberdecl/packagetypes",
372 m_sHandler.insert(
"class/memberdecl/packagemethods",
375 m_sHandler.insert(
"class/memberdecl/packagestaticmethods",
378 m_sHandler.insert(
"class/memberdecl/packageattributes",
381 m_sHandler.insert(
"class/memberdecl/packagestaticattributes",
384 m_sHandler.insert(
"class/memberdecl/properties",
387 m_sHandler.insert(
"class/memberdecl/events",
390 m_sHandler.insert(
"class/memberdecl/privatetypes",
393 m_sHandler.insert(
"class/memberdecl/privateslots",
396 m_sHandler.insert(
"class/memberdecl/privatemethods",
399 m_sHandler.insert(
"class/memberdecl/privatestaticmethods",
402 m_sHandler.insert(
"class/memberdecl/privateattributes",
405 m_sHandler.insert(
"class/memberdecl/privatestaticattributes",
408 m_sHandler.insert(
"class/memberdecl/friends",
411 m_sHandler.insert(
"class/memberdecl/related",
415 m_eHandler.insert(
"class/memberdecl",
417 m_sHandler.insert(
"class/memberdef",
419 m_sHandler.insert(
"class/memberdef/inlineclasses",
425 m_sHandler.insert(
"class/memberdef/typedefs",
428 m_sHandler.insert(
"class/memberdef/enums",
431 m_sHandler.insert(
"class/memberdef/services",
434 m_sHandler.insert(
"class/memberdef/interfaces",
437 m_sHandler.insert(
"class/memberdef/constructors",
440 m_sHandler.insert(
"class/memberdef/functions",
448 m_sHandler.insert(
"class/memberdef/related",
451 m_sHandler.insert(
"class/memberdef/variables",
454 m_sHandler.insert(
"class/memberdef/properties",
457 m_sHandler.insert(
"class/memberdef/events",
460 m_eHandler.insert(
"class/memberdef",
462 m_eHandler.insert(
"class",
467 m_sHandler.insert(
"namespace",
469 m_sHandler.insert(
"namespace/briefdescription",
471 m_sHandler.insert(
"namespace/detaileddescription",
474 m_sHandler.insert(
"namespace/authorsection",
476 m_sHandler.insert(
"namespace/memberdecl",
478 m_sHandler.insert(
"namespace/memberdecl/nestednamespaces",
487 m_sHandler.insert(
"namespace/memberdecl/constantgroups",
490 m_sHandler.insert(
"namespace/memberdecl/classes",
497 m_sHandler.insert(
"namespace/memberdecl/membergroups",
499 m_sHandler.insert(
"namespace/memberdecl/typedefs",
502 m_sHandler.insert(
"namespace/memberdecl/enums",
505 m_sHandler.insert(
"namespace/memberdecl/functions",
513 m_sHandler.insert(
"namespace/memberdecl/variables",
516 m_eHandler.insert(
"namespace/memberdecl",
518 m_sHandler.insert(
"namespace/memberdef",
520 m_sHandler.insert(
"namespace/memberdef/inlineclasses",
526 m_sHandler.insert(
"namespace/memberdef/typedefs",
529 m_sHandler.insert(
"namespace/memberdef/enums",
532 m_sHandler.insert(
"namespace/memberdef/functions",
539 m_sHandler.insert(
"namespace/memberdef/variables",
542 m_eHandler.insert(
"namespace/memberdef",
544 m_eHandler.insert(
"namespace",
548 m_sHandler.insert(
"file",
550 m_sHandler.insert(
"file/briefdescription",
552 m_sHandler.insert(
"file/detaileddescription",
555 m_sHandler.insert(
"file/authorsection",
557 m_sHandler.insert(
"file/includes",
559 m_sHandler.insert(
"file/includegraph",
561 m_sHandler.insert(
"file/includedbygraph",
563 m_sHandler.insert(
"file/sourcelink",
565 m_sHandler.insert(
"file/memberdecl/membergroups",
567 m_sHandler.insert(
"file/memberdecl",
569 m_sHandler.insert(
"file/memberdecl/classes",
576 m_sHandler.insert(
"file/memberdecl/namespaces",
584 m_sHandler.insert(
"file/memberdecl/constantgroups",
587 m_sHandler.insert(
"file/memberdecl/defines",
590 m_sHandler.insert(
"file/memberdecl/typedefs",
593 m_sHandler.insert(
"file/memberdecl/enums",
596 m_sHandler.insert(
"file/memberdecl/functions",
604 m_sHandler.insert(
"file/memberdecl/variables",
608 m_eHandler.insert(
"file/memberdecl",
610 m_sHandler.insert(
"file/memberdef",
612 m_sHandler.insert(
"file/memberdef/inlineclasses",
618 m_sHandler.insert(
"file/memberdef/defines",
621 m_sHandler.insert(
"file/memberdef/typedefs",
624 m_sHandler.insert(
"file/memberdef/enums",
628 m_sHandler.insert(
"file/memberdef/functions",
635 m_sHandler.insert(
"file/memberdef/variables",
638 m_eHandler.insert(
"file/memberdef",
640 m_eHandler.insert(
"file",
644 m_sHandler.insert(
"group",
646 m_sHandler.insert(
"group/briefdescription",
648 m_sHandler.insert(
"group/detaileddescription",
651 m_sHandler.insert(
"group/authorsection",
653 m_sHandler.insert(
"group/groupgraph",
655 m_sHandler.insert(
"group/memberdecl/membergroups",
657 m_sHandler.insert(
"group/memberdecl",
659 m_sHandler.insert(
"group/memberdecl/classes",
666 m_sHandler.insert(
"group/memberdecl/namespaces",
673 m_sHandler.insert(
"group/memberdecl/dirs",
677 m_sHandler.insert(
"group/memberdecl/nestedgroups",
681 m_sHandler.insert(
"group/memberdecl/files",
686 m_sHandler.insert(
"group/memberdecl/defines",
689 m_sHandler.insert(
"group/memberdecl/typedefs",
692 m_sHandler.insert(
"group/memberdecl/enums",
695 m_sHandler.insert(
"group/memberdecl/enumvalues",
698 m_sHandler.insert(
"group/memberdecl/functions",
706 m_sHandler.insert(
"group/memberdecl/variables",
709 m_sHandler.insert(
"group/memberdecl/signals",
712 m_sHandler.insert(
"group/memberdecl/publicslots",
715 m_sHandler.insert(
"group/memberdecl/protectedslots",
718 m_sHandler.insert(
"group/memberdecl/privateslots",
721 m_sHandler.insert(
"group/memberdecl/events",
724 m_sHandler.insert(
"group/memberdecl/properties",
727 m_sHandler.insert(
"group/memberdecl/friends",
730 m_eHandler.insert(
"group/memberdecl",
732 m_sHandler.insert(
"group/memberdef",
734 m_sHandler.insert(
"group/memberdef/pagedocs",
736 m_sHandler.insert(
"group/memberdef/inlineclasses",
742 m_sHandler.insert(
"group/memberdef/defines",
745 m_sHandler.insert(
"group/memberdef/typedefs",
748 m_sHandler.insert(
"group/memberdef/enums",
751 m_sHandler.insert(
"group/memberdef/enumvalues",
754 m_sHandler.insert(
"group/memberdef/functions",
761 m_sHandler.insert(
"group/memberdef/variables",
764 m_sHandler.insert(
"group/memberdef/signals",
767 m_sHandler.insert(
"group/memberdef/publicslots",
770 m_sHandler.insert(
"group/memberdef/protectedslots",
773 m_sHandler.insert(
"group/memberdef/privateslots",
776 m_sHandler.insert(
"group/memberdef/events",
779 m_sHandler.insert(
"group/memberdef/properties",
782 m_sHandler.insert(
"group/memberdef/friends",
785 m_eHandler.insert(
"group/memberdef",
787 m_eHandler.insert(
"group",
791 m_sHandler.insert(
"directory",
793 m_sHandler.insert(
"directory/briefdescription",
795 m_sHandler.insert(
"directory/detaileddescription",
798 m_sHandler.insert(
"directory/directorygraph",
800 m_sHandler.insert(
"directory/memberdecl",
802 m_sHandler.insert(
"directory/memberdecl/dirs",
804 m_sHandler.insert(
"directory/memberdecl/files",
806 m_eHandler.insert(
"directory/memberdecl",
808 m_eHandler.insert(
"directory",
815 if (m_part!=-1 && isVisible)
829 if (userTitle.
isEmpty()) userTitle = title;
830 if (m_part!=-1 && isVisible)
845 if (userTitle.
isEmpty()) userTitle = title;
846 if (userSubscript.
isEmpty()) userSubscript = subscript;
859 if (userTitle.
isEmpty()) userTitle = title;
880 if (m_rootNav) m_rootNav->
clear();
903 static struct NavEntryMap
948 {
"namespacemembers",
981 hasGraphicalHierarchy ?
"inherits" :
"hierarchy" 1051 while (mapping[i].typeStr)
1053 if (mapping[i].typeStr==type)
1055 kind = mapping[i].kind;
1060 if (mapping[i].typeStr==0)
1064 err(
"an entry tag within a navindex has no type attribute! Check your layout file!\n");
1068 err(
"the type '%s' is not supported for the entry tag within a navindex! Check your layout file!\n",type.
data());
1070 m_invalidEntry=
TRUE;
1078 title = mapping[i].mainName;
1081 title = mapping[i].subName;
1088 intro = mapping[i].intro;
1107 m_rootNav =
new LayoutNavEntry(m_rootNav,kind,isVisible,baseFile,title,intro);
1113 if (m_rootNav && !m_invalidEntry) m_rootNav = m_rootNav->parent();
1114 m_invalidEntry=
FALSE;
1133 m_scope=
"namespace/";
1172 m_scope=
"directory/";
1184 m_scope+=
"memberdef/";
1194 int i=m_scope.findRev(
"memberdef/");
1197 m_scope=m_scope.left(i);
1208 m_scope+=
"memberdecl/";
1218 int i=m_scope.findRev(
"memberdecl/");
1221 m_scope=m_scope.left(i);
1242 err(
"Unexpected start tag `%s' found in scope='%s'!\n",
1243 name.
data(),m_scope.data());
1251 if (!m_scope.isEmpty() && m_scope.right(name.
length()+1)==name.
utf8()+
"/")
1253 handler = m_eHandler[m_scope.left(m_scope.length()-1)];
1257 handler = m_eHandler[m_scope+name.
utf8()];
1300 err(
"at line %d column %d of %s: %s\n",
1307 err(
"fatal: at line %d column %d of %s: %s\n",
1334 d->docEntries[i].setAutoDelete(
TRUE);
1350 reader.
parse( source );
1362 return *theInstance;
1367 return d->docEntries[(
int)part];
1377 d->docEntries[(
int)p].append(e);
1392 reader.
parse( source );
1403 err(
"Failed to open file %s for writing!\n",fileName);
1419 int i,
s=0,
e=input.
find(
'|');
1425 e=input.
find(
'|',s);
1426 i=input.
find(
'=',s);
1432 return input.
mid(i+1,
e-i-1);
1435 return input.
left(e1);
virtual QCString trSubprograms()=0
virtual QCString trPublicMembers()=0
virtual QCString trExamples()=0
virtual QCString trTypedefs()=0
virtual QCString trPackageTypes()=0
virtual QCString trEnumerationTypeDocumentation()=0
bool error(const QXmlParseException &exception)
virtual QCString trClassHierarchy()=0
QDict< StartElementHandler > m_sHandler
virtual QCString trPackageListDescription()=0
virtual QCString trStaticProtectedMembers()=0
QCString stripWhiteSpace() const
virtual QCString trClasses()=0
LayoutNavEntry * find(LayoutNavEntry::Kind k, const char *file=0) const
virtual ~StartElementHandler()
virtual QCString trFile(bool first_capital, bool singular)=0
virtual QCString trModulesDescription()=0
virtual QCString trCompoundListFortran()=0
bool openOutputFile(const char *outFile, QFile &f)
virtual QCString trCompounds()=0
bool resolveLink(const char *scName, const char *lr, bool, Definition **resContext, QCString &resAnchor)
static QCString trVhdlType(uint64 type, bool sing=true)
virtual QCString trStaticPrivateMembers()=0
void msg(const char *fmt,...)
Represents of a piece of a documentation page without configurable parts.
virtual QCString trEnumerationValues()=0
virtual QCString trStaticPackageAttribs()=0
void startSectionEntry(LayoutDocEntry::Kind k, const QXmlAttributes &attrib, const QCString &title)
QDict< EndElementHandler > m_eHandler
LayoutNavEntry * m_parent
void startFile(const QXmlAttributes &)
static QCString htmlFileExtension
static QCString trFunctionAndProc()
StartElementHandlerNavEntry(LayoutParser *parent, LayoutNavEntry::Kind kind, Handler h, const QCString &tl)
virtual QCString trInstanceMethods()=0
virtual QCString trFriends()=0
void startNavEntry(const QXmlAttributes &attrib)
void startNavIndex(const QXmlAttributes &)
bool parse(const QXmlInputSource &input)
#define COMPILE_FOR_4_OPTIONS(def, langId1, text1, langId2, text2, langId3, text3, langId4, text4)
virtual QCString trClassMethods()=0
QCString title(SrcLangExt lang) const
virtual QCString trCompoundIndex()=0
virtual QCString trRelatedFunctions()=0
static QCString trDesignUnitList()
static LayoutDocManager & instance()
virtual QCString trMemberFunctionDocumentation()=0
void startMemberDefEntry(const QXmlAttributes &attrib, MemberListType type, const QCString &title, const QCString &)
static QCString trDesignUnits()
StartElementHandlerKind(LayoutParser *parent, LayoutDocEntry::Kind k, Handler h)
const std::string instance
virtual QCString trDetailedDescription()=0
virtual QCString trPrivateTypes()=0
virtual QCString trProtectedMembers()=0
QCString left(uint len) const
The QString class provides an abstraction of Unicode text and the classic C null-terminated char arra...
virtual QCString trMemberTypedefDocumentation()=0
virtual QCString trRelatedPagesDescription()=0
virtual QCString trFileMembers()=0
static bool elemIsVisible(const QXmlAttributes &attrib, bool defVal=TRUE)
void setErrorHandler(QXmlErrorHandler *handler)
The QXmlErrorHandler class provides an interface to report errors in XML data.
int find(char c, int index=0, bool cs=TRUE) const
virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)=0
virtual QCString trMemberEnumerationDocumentation()=0
bool startElement(const QString &, const QString &, const QString &name, const QXmlAttributes &attrib)
const QList< LayoutDocEntry > & docEntries(LayoutPart part) const
void addEntry(LayoutPart p, LayoutDocEntry *e)
virtual QCString trDirectories()=0
virtual QCString trPublicTypes()=0
QString value(int index) const
QCString extractLanguageSpecificTitle(const QCString &input, SrcLangExt lang)
void parse(QTextStream &t, const char *fileName)
Represents of a member definition list with configurable title.
QCString title(SrcLangExt lang) const
Base class for the layout of a navigation item at the top of the HTML pages.
virtual QCString trFileListDescription(bool extractAll)=0
LayoutNavEntry::Kind m_kind
virtual QCString trMemberDataDocumentation()=0
Singleton providing access to the (user configurable) layout of the documentation.
#define COMPILE_FOR_1_OPTION(def, langId1, text1)
static QCString trDesignUnitHierarchy()
Represents of a member declaration list with configurable title and subtitle.
The QXmlSimpleReader class provides an implementation of a simple XML reader (i.e. parser).
virtual QCString trDataTypes()=0
LayoutErrorHandler(const char *fn)
StartElementHandlerMember(LayoutParser *parent, Handler h, MemberListType type, const QCString &tl, const QCString &ss=QCString())
void startMemberDef(const QXmlAttributes &)
bool fatalError(const QXmlParseException &exception)
void startSimpleEntry(LayoutDocEntry::Kind k, const QXmlAttributes &attrib)
virtual QCString trStaticPublicMembers()=0
virtual QCString trMethodDocumentation()=0
virtual QCString trProtectedSlots()=0
const char * data() const
virtual QCString trMemberFunctionDocumentationFortran()=0
virtual QCString trMainPage()=0
void startClass(const QXmlAttributes &)
void startMemberDeclEntry(const QXmlAttributes &attrib, MemberListType type, const QCString &title, const QCString &subscript)
EndElementHandler(LayoutParser *parent, Handler h)
void setContentHandler(QXmlContentHandler *handler)
void startDirectory(const QXmlAttributes &)
void operator()(const QXmlAttributes &attrib)
LayoutDocEntry::Kind m_kind
virtual QCString trVariables()=0
virtual QCString trStaticPrivateAttribs()=0
int toInt(bool *ok=0) const
virtual QCString trInterfaces()=0
virtual QCString trFileMembersDescription(bool extractAll)=0
friend class LayoutDocManager
static QCString trDesignUnitMembers()
virtual QCString trSignals()=0
void operator()(const QXmlAttributes &attrib)
virtual QCString trPublicSlots()=0
virtual QCString trClassDocumentation()=0
The QXmlDefaultHandler class provides a default implementation of all XML handler classes...
virtual QCString trFunctions()=0
LayoutNavEntry * m_rootNav
A bunch of utility functions.
const char * data() const
virtual QCString trPrivateSlots()=0
#define Config_getString(val)
#define Config_getBool(val)
virtual QCString trExamplesDescription()=0
static QCString trDesignUnitListDescription()
virtual QCString trProtectedTypes()=0
virtual QCString trModulesMembers()=0
virtual QCString trCompoundMembersDescription(bool extractAll)=0
bool warning(const QXmlParseException &exception)
void err(const char *fmt,...)
virtual QCString trNamespaceMembers()=0
virtual QCString trPackageAttribs()=0
StartElementHandler(LayoutParser *parent, Handler h)
virtual QCString trModulesListDescription(bool extractAll)=0
virtual QCString trEnumerations()=0
virtual QCString trPackageMembers()=0
LayoutDocEntry::Kind m_kind
QCString mid(uint index, uint len=0xffffffff) const
void startMemberDecl(const QXmlAttributes &)
The QFile class is an I/O device that operates on files.
QCString & sprintf(const char *format,...)
QCString subtitle(SrcLangExt lang) const
void writeDefaultLayoutFile(const char *fileName)
virtual QCString trPackages()=0
LayoutNavEntry * rootNavEntry() const
The QTextStream class provides basic functions for reading and writing text using a QIODevice...
virtual QCString trEvents()=0
void startGroup(const QXmlAttributes &)
virtual QCString trCompoundList()=0
virtual QCString trRelatedPages()=0
static const char layout_default[]
QCString baseFile() const
virtual QCString trPrivateAttribs()=0
QList< LayoutNavEntry > m_children
virtual QCString trServices()=0
#define COMPILE_FOR_3_OPTIONS(def, langId1, text1, langId2, text2, langId3, text3)
virtual QCString trNamespaceMemberDescription(bool extractAll)=0
void startLayout(const QXmlAttributes &)
virtual QCString trCompoundListDescriptionFortran()=0
virtual QCString trEnumerationValueDocumentation()=0
virtual QCString trConstantGroups()=0
bool endElement(const QString &, const QString &, const QString &name)
virtual QCString trStaticPackageMembers()=0
virtual QCString trModulesMemberDescription(bool extractAll)=0
virtual QCString trPropertyDocumentation()=0
StartElementHandlerSection(LayoutParser *parent, LayoutDocEntry::Kind k, Handler h, const QCString &title)
static LayoutParser & instance()
virtual QCString trClassHierarchyDescription()=0
Base class representing a piece of a documentation page.
virtual QCString trTypedefDocumentation()=0
virtual QCString trModules()=0
virtual QCString trNamespaces()=0
virtual QCString trEventDocumentation()=0
virtual QCString trProtectedAttribs()=0
The QXmlAttributes class provides XML attributes.
virtual void operator()(const QXmlAttributes &attrib)
virtual QCString trStaticProtectedAttribs()=0
Translator * theTranslator
static msg_handler handler
virtual QCString trCompoundMembers()=0
static int m_userGroupCount
#define COMPILE_FOR_2_OPTIONS(def, langId1, text1, langId2, text2)
virtual QCString trRelatedFunctionDocumentation()=0
virtual QCString trCompoundListDescription()=0
virtual QCString trProperties()=0
virtual QCString trSubprogramDocumentation()=0
virtual QCString trModulesList()=0
void operator()(const QXmlAttributes &attrib)
virtual QCString trStaticPublicAttribs()=0
virtual QCString trCompoundMembersFortran()=0
virtual QCString trPublicAttribs()=0
LayoutNavEntry * parent() const
virtual QCString trConstructorDocumentation()=0
virtual QCString trFileList()=0
virtual QCString trNamespaceListDescription(bool extractAll)=0
virtual QCString trVariableDocumentation()=0
const char * qPrint(const char *s)
virtual QCString trTypeDocumentation()=0
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
cet::coded_exception< error, detail::translate > exception
QCString title(SrcLangExt lang) const
The QXmlParseException class is used to report errors with the QXmlErrorHandler interface.
virtual QCString trDefineDocumentation()=0
virtual QCString trFunctionDocumentation()=0
void operator()(const QXmlAttributes &attrib)
virtual QCString trNamespaceList()=0
virtual QCString trPrivateMembers()=0
void warn_uncond(const char *fmt,...)
virtual QCString trDefines()=0
virtual QCString trRelatedSubscript()=0
void startNamespace(const QXmlAttributes &)