Commit bb18b811 authored by dimitri's avatar dimitri

Release-1.3.8-20040812

parent 6e8975ab
DOXYGEN Version 1.3.8-20040803
DOXYGEN Version 1.3.8-20040812
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (03 August 2004)
Dimitri van Heesch (12 August 2004)
DOXYGEN Version 1.3.8_20040803
DOXYGEN Version 1.3.8_20040812
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) (03 August 2004)
Dimitri van Heesch (dimitri@stack.nl) (12 August 2004)
1.3.8-20040803
1.3.8-20040812
......@@ -26,7 +26,7 @@ all: language FORCE
@epstopdf doxygen_logo.eps --outfile=../latex/doxygen_logo.pdf
clean:
rm -rf ../html ../latex *.bak translator_report.txt
rm -rf ../html ../latex *.bak
language: language.doc
......
......@@ -932,7 +932,7 @@ function's detailed documentation block.
<dt>\c HTML_FOOTER <dd>
\addindex HTML_FOOTER
The \c HTML_FOOTER tag can be used to specify a user-defined HTML footer for
each generated HTML page. To get valid HTML the header file should contain
each generated HTML page. To get valid HTML the footer file should contain
at least a \c \</BODY\> and a \c \</HTML\> tag. A minimal example:
\verbatim
</BODY>
......@@ -940,7 +940,7 @@ function's detailed documentation block.
\endverbatim
If the tag is left blank doxygen will generate a standard footer.
The following commands have a special meaning inside the header:
The following commands have a special meaning inside the footer:
<code>\$title</code>, <code>\$datetime</code>, <code>\$date</code>,
<code>\$doxygenversion</code>, <code>\$projectname</code>,
<code>\$projectnumber</code>.
......@@ -1412,7 +1412,9 @@ EXTRA_PACKAGES = times
are defined before the preprocessor is started (similar to the -D option of
gcc). The argument of the tag is a list of macros of the form:
<code>name</code> or <code>name=definition</code> (no spaces).
If the definition and the "=" are omitted, "=1" is assumed.
If the definition and the "=" are omitted, "=1" is assumed. To prevent
a macro definition from being undefined via #undef or recursively expanded
use the := operator instead of the = operator.
\anchor cfg_expand_as_defined
<dt>\c EXPAND_AS_DEFINED <dd>
......
......@@ -23,7 +23,7 @@ text fragments, generated by doxygen, can be produced in languages other
than English (the default). The output language is chosen through the
configuration file (with default name and known as Doxyfile).
Currently (version 1.3.8), 30 languages
Currently (version 1.3.8-20040803), 30 languages
are supported (sorted alphabetically):
Afrikaans, Brazilian Portuguese, Catalan, Chinese, Chinese
Traditional, Croatian, Czech, Danish, Dutch, English, Finnish, French,
......@@ -95,8 +95,8 @@ when the translator was updated.
<tr bgcolor="#ffffff">
<td>Danish</td>
<td>Erik S&oslash;e S&oslash;rensen</td>
<td>erik at mail dot nu</td>
<td>1.3.8</td>
<td>eriksoe+doxygen at daimi dot au dot dk</td>
<td>up-to-date</td>
</tr>
<tr bgcolor="#ffffff">
<td>Dutch</td>
......@@ -113,7 +113,7 @@ when the translator was updated.
<tr bgcolor="#ffffff">
<td>Finnish</td>
<td>Olli Korhonen</td>
<td>Olli.Korhonen at ccc dot fi</td>
<td>olli.korhonen lost at cyberspace</td>
<td>obsolete</td>
</tr>
<tr bgcolor="#ffffff">
......@@ -137,7 +137,7 @@ when the translator was updated.
<tr bgcolor="#ffffff">
<td>Hungarian</td>
<td>F&ouml;ldv&aacute;ri Gy&ouml;rgy<br>&Aacute;kos Kiss</td>
<td>foldvari at diatronltd dot com<br>akiss at users dot sourceforge dot net</td>
<td>foldvari lost at cyberspace<br>akiss at users dot sourceforge dot net</td>
<td>1.3.8</td>
</tr>
<tr bgcolor="#ffffff">
......@@ -220,8 +220,8 @@ when the translator was updated.
</tr>
<tr bgcolor="#ffffff">
<td>Slovene</td>
<td>Matjaz Ostroversnik</td>
<td>matjaz.ostroversnik at zrs-tk dot si</td>
<td>Matja&#x017e; Ostrover&#x0161;nik</td>
<td>matjaz.ostroversnik at ztm dot si</td>
<td>1.2.16</td>
</tr>
<tr bgcolor="#ffffff">
......@@ -239,7 +239,7 @@ when the translator was updated.
<tr bgcolor="#ffffff">
<td>Ukrainian</td>
<td>Olexij Tkatchenko</td>
<td>olexij.tkatchenko at gmx dot de</td>
<td>olexij.tkatchenko at parcs dot de</td>
<td>1.2.11</td>
</tr>
<!-- table content end -->
......@@ -273,13 +273,13 @@ when the translator was updated.
\hline
Czech & Petr P\v{r}ikryl & {\tt\tiny prikrylp@skil.cz} & up-to-date \\
\hline
Danish & Erik S\o{}e S\o{}rensen & {\tt\tiny erik@mail.nu} & 1.3.8 \\
Danish & Erik S\o{}e S\o{}rensen & {\tt\tiny eriksoe+doxygen@daimi.au.dk} & up-to-date \\
\hline
Dutch & Dimitri van Heesch & {\tt\tiny dimitri@stack.nl} & up-to-date \\
\hline
English & Dimitri van Heesch & {\tt\tiny dimitri@stack.nl} & up-to-date \\
\hline
Finnish & Olli Korhonen & {\tt\tiny Olli.Korhonen@ccc.fi} & obsolete \\
Finnish & Olli Korhonen & {\tt\tiny olli.korhonen lost@cyberspace} & obsolete \\
\hline
French & Xavier Outhier & {\tt\tiny xouthier@yahoo.fr} & 1.3.8 \\
\hline
......@@ -287,7 +287,7 @@ when the translator was updated.
\hline
Greek & Harry Kalogirou & {\tt\tiny harkal@rainbow.cs.unipi.gr} & 1.2.11 \\
\hline
Hungarian & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt\tiny foldvari@diatronltd.com} & 1.3.8 \\
Hungarian & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt\tiny foldvari lost@cyberspace} & 1.3.8 \\
~ & \'{A}kos Kiss & {\tt\tiny akiss@users.sourceforge.net} & ~ \\
\hline
Italian & Alessandro Falappa & {\tt\tiny alessandro@falappa.net} & up-to-date \\
......@@ -322,13 +322,13 @@ when the translator was updated.
\hline
Slovak & Stanislav Kudl\'{a}\v{c} & {\tt\tiny skudlac@pobox.sk} & 1.2.18 \\
\hline
Slovene & Matjaz Ostroversnik & {\tt\tiny matjaz.ostroversnik@zrs-tk.si} & 1.2.16 \\
Slovene & Matja\v{z} Ostrover\v{s}nik & {\tt\tiny matjaz.ostroversnik@ztm.si} & 1.2.16 \\
\hline
Spanish & Francisco Oltra Thennet & {\tt\tiny foltra@puc.cl} & 1.3.8 \\
\hline
Swedish & Mikael Hallin & {\tt\tiny mikaelhallin@yahoo.se} & 1.3.8 \\
\hline
Ukrainian & Olexij Tkatchenko & {\tt\tiny olexij.tkatchenko@gmx.de} & 1.2.11 \\
Ukrainian & Olexij Tkatchenko & {\tt\tiny olexij.tkatchenko@parcs.de} & 1.2.11 \\
\hline
\end{tabular}
\endlatexonly
......
......@@ -33,7 +33,7 @@ TranslatorCzech
Petr P&rcaron;ikryl: prikrylp@skil.cz
TranslatorDanish
Erik S&oslash;e S&oslash;rensen: erik@mail.nu
Erik S&oslash;e S&oslash;rensen: eriksoe+doxygen@daimi.au.dk
TranslatorDutch
Dimitri van Heesch: dimitri@stack.nl
......@@ -42,7 +42,7 @@ TranslatorEnglish
Dimitri van Heesch: dimitri@stack.nl
TranslatorFinnish
Olli Korhonen: Olli.Korhonen@ccc.fi
Olli Korhonen: olli.korhonen lost@cyberspace
TranslatorFrench
Xavier Outhier: xouthier@yahoo.fr
......@@ -54,7 +54,7 @@ TranslatorGreek
Harry Kalogirou: harkal@rainbow.cs.unipi.gr
TranslatorHungarian
F&ouml;ldv&aacute;ri Gy&ouml;rgy: foldvari@diatronltd.com
F&ouml;ldv&aacute;ri Gy&ouml;rgy: foldvari lost@cyberspace
&Aacute;kos Kiss: akiss@users.sourceforge.net
TranslatorItalian
......@@ -97,7 +97,7 @@ TranslatorSlovak
Stanislav Kudl&aacute;&ccaron;: skudlac@pobox.sk
TranslatorSlovene
Matjaz Ostroversnik: matjaz.ostroversnik@zrs-tk.si
Matja&zcaron; Ostrover&scaron;nik: matjaz.ostroversnik@ztm.si
TranslatorSpanish
Francisco Oltra Thennet: foltra@puc.cl
......@@ -106,5 +106,6 @@ TranslatorSwedish
Mikael Hallin: mikaelhallin@yahoo.se
TranslatorUkrainian
Olexij Tkatchenko: olexij.tkatchenko@gmx.de
Olexij Tkatchenko: olexij.tkatchenko@parcs.de
......@@ -41,7 +41,8 @@
- Plural not used for reporting a single missing method.
- Removal of not used translator adapters is suggested only
when the report is not restricted to selected languages
explicitly via script arguments
explicitly via script arguments.
2004/07/26 - Better reporting of not-needed adapters.
"""
from __future__ import generators
......@@ -1440,10 +1441,24 @@ class TrManager:
# i.e. all languages were checked against the needed translator
# adapters.
if not self.script_argLst:
to_remove = {}
for version, adaptClassId in self.adaptMethodsDic.values():
if version < adaptMinVersion:
f.write('\nNote: The %s class ' % adaptClassId)
f.write('is not used and can be removed.\n')
to_remove[adaptClassId] = True
if to_remove:
lst = to_remove.keys()
lst.sort()
plural = len(lst) > 1
note = 'Note: The adapter class'
if plural: note += 'es'
note += ' ' + ', '.join(lst)
if not plural:
note += ' is'
else:
note += ' are'
note += ' not used and can be removed.'
f.write('\n' + fill(note) + '\n')
# Write the list of the English-based classes.
if self.EnBasedIdLst:
......
Doxygen supports the following (23) languages (sorted alphabetically):
Brazilian
Chinese
Croatian
Czech
Danish
Dutch
English
Finnish
French
German
Hungarian
Italian
Japanese
Korean
Norwegian
Polish
Portuguese
Romanian
Russian
Slovak
Slovene
Spanish
Swedish
(1.3.8-20040803)
----------------------------------------------------------------------
The following translator classes are up-to-date (sorted alphabetically).
This means that they derive from the Translator class. If the translator
derives from TranslatorAdapterCVS, it is considered to be almost up-to-date.
In other words, it is newer than the last official release. Anyway, there
still may be some details listed even for the up-to-date translators.
Please, check the text below.
Doxygen supports the following 30 languages (sorted alphabetically):
Afrikaans, Brazilian Portuguese, Catalan, Chinese, Chinese
Traditional, Croatian, Czech, Danish, Dutch, English, Finnish, French,
German, Greek, Hungarian, Italian, Japanese (+En), Korean (+En),
Lithuanian, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian,
Slovak, Slovene, Spanish, Swedish, and Ukrainian.
Of them, 13 translators are up-to-date, 17 translators are based on
some adapter class, and 2 are English based.
----------------------------------------------------------------------
The following translator classes are up-to-date (sorted
alphabetically). This means that they derive from the Translator class
and they implement all 195 of the required methods. Anyway, there
still may be some details listed even for them:
TranslatorAfrikaans
TranslatorBrazilian
TranslatorChinese
TranslatorCroatian
TranslatorCzech
TranslatorDanish (TranslatorAdapterCVS)
TranslatorDanish
TranslatorDutch
TranslatorEnglish
TranslatorGerman
TranslatorItalian (TranslatorAdapterCVS)
TranslatorItalian
TranslatorJapanese
TranslatorNorwegian
TranslatorRussian
TranslatorSlovak (TranslatorAdapterCVS)
TranslatorSpanish (TranslatorAdapterCVS)
----------------------------------------------------------------------
The following translator classes are obsolete (sorted alphabetically).
This means that they derive from some of the adapter classes.
TranslatorBrazilian (TranslatorAdapter_1_2_6)
TranslatorChinese (TranslatorAdapter_1_2_1)
TranslatorDutch (TranslatorAdapter_1_2_6)
TranslatorFinnish (TranslatorAdapter_1_0_0)
TranslatorFrench (TranslatorAdapter_1_2_0)
TranslatorHungarian (TranslatorAdapter_1_2_1)
TranslatorJapanese (TranslatorAdapter_1_2_5)
TranslatorKorean (TranslatorAdapter_1_1_0)
TranslatorNorwegian (TranslatorAdapter_1_2_2)
TranslatorPolish (TranslatorAdapter_1_2_1)
TranslatorPortuguese (TranslatorAdapter_1_1_5)
TranslatorRomanian (TranslatorAdapter_1_2_1)
TranslatorSlovene (TranslatorAdapter_1_1_5)
TranslatorSwedish (TranslatorAdapter_1_0_0)
The following translator classes need some maintenance (the most
obsolete at the end). The other info shows the estimation of Doxygen
version when the class was last updated and number of methods that
must be implemented to become up-to-date:
TranslatorSwedish 1.3.8 1 method to implement
TranslatorSpanish 1.3.8 1 method to implement
TranslatorSerbian 1.3.8 1 method to implement
TranslatorLithuanian 1.3.8 1 method to implement
TranslatorKorean 1.3.8 1 method to implement
TranslatorHungarian 1.3.8 1 method to implement
TranslatorFrench 1.3.8 1 method to implement
TranslatorChinesetraditional 1.3.8 1 method to implement
TranslatorPortuguese 1.3.3 5 methods to implement
TranslatorPolish 1.3 12 methods to implement
TranslatorSlovak 1.2.18 14 methods to implement
TranslatorCatalan 1.2.17 15 methods to implement
TranslatorSlovene 1.2.16 16 methods to implement
TranslatorRomanian 1.2.16 16 methods to implement
TranslatorUkrainian 1.2.11 19 methods to implement
TranslatorGreek 1.2.11 19 methods to implement
TranslatorFinnish obsolete 92 methods to implement
----------------------------------------------------------------------
Localized translators are expected to implement the following methods
(prototypes sorted aplhabetically):
QCString idLanguage()
QCString idLanguageCharset()
QCString latexLanguageSupportCommand()
QCString trAlphabeticalList()
QCString trAttention()
QCString trAuthor(bool first_capital, bool singular)
QCString trBug()
QCString trBugList()
QCString trBugsAndLimitations()
QCString trClass(bool first_capital, bool singular)
QCString trClassDiagram(const char *clName)
QCString trClassDocumentation()
QCString trClassHierarchy()
QCString trClassHierarchyDescription()
QCString trClasses()
QCString trCode()
QCString trCollaborationDiagram(const char *clName)
QCString trCompoundIndex()
QCString trCompoundList()
QCString trCompoundListDescription()
QCString trCompoundMembers()
QCString trCompoundMembersDescription(bool extractAll)
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool isTemplate)
QCString trCompounds()
QCString trConstructorDocumentation()
QCString trDCOPMethods()
QCString trDate()
QCString trDefineDocumentation()
QCString trDefineValue()
QCString trDefinedAtLineInSourceFile()
QCString trDefinedIn()
QCString trDefinedInSourceFile()
QCString trDefines()
QCString trDeprecated()
QCString trDetailedDescription()
QCString trDocumentation()
QCString trEnumName()
QCString trEnumValue()
QCString trEnumerationTypeDocumentation()
QCString trEnumerationValueDocumentation()
QCString trEnumerationValues()
QCString trEnumerations()
QCString trExampleDocumentation()
QCString trExamples()
QCString trExamplesDescription()
QCString trExceptions()
QCString trField(bool first_capital, bool singular)
QCString trFile(bool first_capital, bool singular)
QCString trFileDocumentation()
QCString trFileIndex()
QCString trFileList()
QCString trFileListDescription(bool extractAll)
QCString trFileMembers()
QCString trFileMembersDescription(bool extractAll)
QCString trFileReference(const char *fileName)
QCString trForInternalUseOnly()
QCString trFriends()
QCString trFuncProtos()
QCString trFunctionDocumentation()
QCString trFunctionPrototypeDocumentation()
QCString trFunctions()
QCString trGeneratedAt(const char *date,const char *projName)
QCString trGeneratedAutomatically(const char *s)
QCString trGeneratedBy()
QCString trGeneratedFromFiles(ClassDef::CompoundType compType, bool single)
QCString trGlobal(bool first_capital, bool singular)
QCString trGotoDocumentation()
QCString trGotoGraphicalHierarchy()
QCString trGotoSourceCode()
QCString trGotoTextualHierarchy()
QCString trGraphicalHierarchy()
QCString trGroup(bool first_capital, bool singular)
QCString trHeaderFiles()
QCString trHeaderFilesDescription()
QCString trHierarchicalIndex()
QCString trInclByDepGraph()
QCString trInclDepGraph(const char *fName)
QCString trIncludingInheritedMembers()
QCString trInheritedByList(int numEntries)
QCString trInheritsList(int numEntries)
QCString trInitialValue()
QCString trInterfaces()
QCString trInvariant()
QCString trLegend()
QCString trLegendDocs()
QCString trLegendTitle()
QCString trListOfAllMembers()
QCString trMainPage()
QCString trMember(bool first_capital, bool singular)
QCString trMemberDataDocumentation()
QCString trMemberEnumerationDocumentation()
QCString trMemberFunctionDocumentation()
QCString trMemberList()
QCString trMemberTypedefDocumentation()
QCString trModuleDocumentation()
QCString trModuleIndex()
QCString trModules()
QCString trModulesDescription()
QCString trMore()
QCString trNamespace(bool first_capital, bool singular)
QCString trNamespaceDocumentation()
QCString trNamespaceIndex()
QCString trNamespaceList()
QCString trNamespaceListDescription(bool extractAll)
QCString trNamespaceMemberDescription(bool extractAll)
QCString trNamespaceMembers()
QCString trNamespaceReference(const char *namespaceName)
QCString trNamespaces()
QCString trNoDescriptionAvailable()
QCString trNote()
QCString trPackage(const char *name)
QCString trPackageDocumentation()
QCString trPackageList()
QCString trPackageListDescription()
QCString trPackages()
QCString trPage(bool first_capital, bool singular)
QCString trPageAbbreviation()
QCString trPageDocumentation()
QCString trPageIndex()
QCString trParameters()
QCString trPostcondition()
QCString trPrecondition()
QCString trPrivateAttribs()
QCString trPrivateMembers()
QCString trPrivateSlots()
QCString trPrivateTypes()
QCString trProperties()
QCString trPropertyDocumentation()
QCString trProtectedAttribs()
QCString trProtectedMembers()
QCString trProtectedSlots()
QCString trProtectedTypes()
QCString trPublicAttribs()
QCString trPublicMembers()
QCString trPublicSlots()
QCString trPublicTypes()
QCString trRTFCharSet()
QCString trRTFGeneralIndex()
QCString trRTFansicp()
QCString trReferenceManual()
QCString trReferencedBy()
QCString trReimplementedForInternalReasons()
QCString trReimplementedFromList(int numEntries)
QCString trReimplementedInList(int numEntries)
QCString trRelatedFunctionDocumentation()
QCString trRelatedFunctions()
QCString trRelatedPages()
QCString trRelatedPagesDescription()
QCString trRelatedSubscript()
QCString trRemarks()
QCString trReturnValues()
QCString trReturns()
QCString trSearch()
QCString trSeeAlso()
QCString trSignals()
QCString trSince()
QCString trSources()
QCString trStaticPrivateAttribs()
QCString trStaticPrivateMembers()
QCString trStaticProtectedAttribs()
QCString trStaticProtectedMembers()
QCString trStaticPublicAttribs()
QCString trStaticPublicMembers()
QCString trTest()
QCString trTestList()
QCString trThisIsTheListOfAllMembers()
QCString trTodo()
QCString trTodoList()
QCString trTypedefDocumentation()
QCString trTypedefs()
QCString trVariableDocumentation()
QCString trVariables()
QCString trVersion()
QCString trWarning()
QCString trWriteList(int numEntries)
QCString trWrittenBy()
The following translator classes derive directly from the
TranslatorEnglish. The class identifier has the suffix 'En' that says
that this is intentional. Usually, there is also a non-English based
version of the translator for the language:
TranslatorJapaneseEn implements 5 methods
TranslatorKoreanEn implements 5 methods
----------------------------------------------------------------------
Details related to specific translator classes follows.
Notice that the prototypes are recognized only when they
are the same as in the Translator class.
======================================================================
Details for translators (classes sorted alphabetically):
TranslatorBrazilian (TranslatorAdapter_1_2_6)
-------------------
Missing methods (should be implemented):
TranslatorCatalan (TranslatorAdapter_1_2_17) 15 methods to implement
-----------------
Implements 180 of the required methods.
Missing methods (should be implemented):
QCString trRTFGeneralIndex()
QCString trPage(bool first_capital, bool singular)
QCString trFile(bool first_capital, bool singular)
QCString trGlobal(bool first_capital, bool singular)
QCString trField(bool first_capital, bool singular)
QCString trGroup(bool first_capital, bool singular)
QCString trRTFansicp()
QCString trNamespace(bool first_capital, bool singular)
QCString trClass(bool first_capital, bool singular)
QCString trRTFCharSet()
QCString trMember(bool first_capital, bool singular)
QCString trAuthor(bool first_capital, bool singular)
virtual QCString trEventDocumentation()
virtual QCString trPackageMembers()
virtual QCString trStaticPackageMembers()
virtual QCString trSearchResultsTitle()
virtual QCString trStaticPackageAttribs()
virtual QCString trCallGraph()
virtual QCString trDeprecatedList()
virtual QCString trPackageTypes()
virtual QCString trSearchResults(int numDocuments)
virtual QCString trPackageAttribs()
virtual QCString trSearchMatches()
virtual QCString trEvents()
virtual QCString trSourceFile(QCString & filename)
virtual QCString trSearchForIndex()
virtual QCString trAll()
Obsolete methods (should be removed):
QCString latexBabelPackage()
QCString trAuthor()
QCString trAuthors()
QCString trFiles()
QCString trVerbatimText(const char *f)
TranslatorChinesetraditional (TranslatorAdapter_1_3_8) 1 method to implement
----------------------------
Implements 194 of the required methods.
Missing methods (should be implemented):
TranslatorChinese (TranslatorAdapter_1_2_1)
virtual QCString trSourceFile(QCString & filename)
TranslatorFinnish (TranslatorEnglish) 92 methods to implement
-----------------
Missing methods (should be implemented):
QCString trRTFGeneralIndex()
QCString trPage(bool first_capital, bool singular)
QCString trPackageListDescription()
QCString trFile(bool first_capital, bool singular)
QCString trBug()
QCString trGlobal(bool first_capital, bool singular)
QCString trPackageList()
QCString trField(bool first_capital, bool singular)
QCString trGroup(bool first_capital, bool singular)
QCString trPackage(const char *name)
QCString trProperties()
QCString trBugList()
QCString trDCOPMethods()
QCString trPackageDocumentation()
QCString trRTFansicp()
QCString trNamespace(bool first_capital, bool singular)
QCString trPropertyDocumentation()
QCString trClass(bool first_capital, bool singular)
QCString trGeneratedFromFiles(ClassDef::CompoundType compType, bool single)
QCString trInterfaces()
QCString trRTFCharSet()
QCString latexLanguageSupportCommand()
QCString trPackages()
QCString trMember(bool first_capital, bool singular)
QCString trDefineValue()
QCString trAuthor(bool first_capital, bool singular)
QCString trClasses()
Obsolete methods (should be removed):
QCString latexBabelPackage()
QCString trAuthor()
QCString trAuthors()
QCString trFiles()
QCString trGeneratedFromFiles(ClassDef::CompoundType compType, bool)
QCString trVerbatimText(const char *f)
TranslatorGerman (Translator)
Implements 103 of the required methods.
Missing methods (should be implemented):
virtual QCString trPublicAttribs()
virtual QCString trPropertyDocumentation()
virtual QCString trMember(bool first_capital, bool singular)
virtual QCString trPageIndex()
virtual QCString trSince()
virtual QCString trEventDocumentation()
virtual QCString trRemarks()
virtual QCString trProtectedTypes()
virtual QCString trFile(bool first_capital, bool singular)
virtual QCString trPackages()
virtual QCString trInclByDepGraph()
virtual QCString trField(bool first_capital, bool singular)
virtual QCString trRTFansicp()
virtual QCString trImplementedFromList(int numEntries)
virtual QCString trCollaborationDiagram(const char * clName)
virtual QCString trPackageListDescription()
virtual QCString trDefineValue()
virtual QCString trPackageMembers()
virtual QCString trStaticPackageMembers()
virtual QCString trPackage(const char * name)
virtual QCString trPublicTypes()
virtual QCString trSearchResultsTitle()
virtual QCString trTest()
virtual QCString trInvariant()
virtual QCString trPackageDocumentation()
virtual QCString trGraphicalHierarchy()
virtual QCString trSources()
virtual QCString trPostcondition()
virtual QCString trGotoGraphicalHierarchy()
virtual QCString trPageAbbreviation()
virtual QCString trGotoSourceCode()
virtual QCString trStaticPackageAttribs()
virtual QCString trCallGraph()
virtual QCString trStaticPublicAttribs()
virtual QCString trCode()
virtual QCString trTodo()
virtual QCString trDeprecatedList()
virtual QCString trRTFCharSet()
virtual QCString trInitialValue()
virtual QCString trAlphabeticalList()
virtual QCString trBug()
virtual QCString trNote()
virtual QCString trStaticPrivateAttribs()
virtual QCString trAttention()
virtual QCString trGotoTextualHierarchy()
virtual QCString trPackageTypes()
virtual QCString trMainPage()
virtual QCString trDeprecated()
virtual QCString trClass(bool first_capital, bool singular)
virtual QCString trImplementedInList(int numEntries)
virtual QCString trPrivateTypes()
virtual QCString trInclDepGraph(const char * fName)
virtual QCString trSearchResults(int numDocuments)
virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType, bool single)
virtual QCString trNamespaces()
virtual QCString trPrivateAttribs()
virtual QCString latexLanguageSupportCommand()
virtual QCString trInterfaces()
virtual QCString trDefinedInSourceFile()
virtual QCString trConstructorDocumentation()
virtual QCString trLegend()
virtual QCString trPackageAttribs()
virtual QCString trSearchMatches()
virtual QCString trClasses()
virtual QCString trProtectedAttribs()
virtual QCString trLegendTitle()
virtual QCString idLanguageCharset()
virtual QCString trEvents()
virtual QCString trGlobal(bool first_capital, bool singular)
virtual QCString trDCOPMethods()
virtual QCString trBugList()
virtual QCString trRTFGeneralIndex()
virtual QCString trNamespace(bool first_capital, bool singular)
virtual QCString trTestList()
virtual QCString trPrecondition()
virtual QCString trReturnValues()
virtual QCString trReferences()
virtual QCString trAuthor(bool first_capital, bool singular)
virtual QCString trLegendDocs()
virtual QCString trPackageList()
virtual QCString trTodoList()
virtual QCString trPage(bool first_capital, bool singular)
virtual QCString trSourceFile(QCString & filename)
virtual QCString trGotoDocumentation()
virtual QCString trDefinedAtLineInSourceFile()
virtual QCString trSearchForIndex()
virtual QCString trAll()
virtual QCString trRTFTableOfContents()
virtual QCString trGroup(bool first_capital, bool singular)
virtual QCString trReferencedBy()
virtual QCString trStaticProtectedAttribs()
virtual QCString trProperties()
Obsolete methods (should be removed, never used):
QCString trGeneratedFrom(const char * s, bool single)
QCString trVerbatimText(const char * f)
QCString trFiles()
virtual QCString updateNeededMessage()
QCString trAuthors()
QCString latexBabelPackage()
QCString trAuthor()
TranslatorFrench (TranslatorAdapter_1_3_8) 1 method to implement
----------------
Missing methods (should be implemented):
Implements 194 of the required methods.
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool isTemplate)
QCString trPage(bool first_capital, bool singular)
QCString trFile(bool first_capital, bool singular)
QCString trField(bool first_capital, bool singular)
QCString trGroup(bool first_capital, bool singular)
QCString trNamespace(bool first_capital, bool singular)
QCString trClass(bool first_capital, bool singular)
QCString trMember(bool first_capital, bool singular)
QCString trAuthor(bool first_capital, bool singular)
Missing methods (should be implemented):
Obsolete methods (should be removed):
virtual QCString trSourceFile(QCString & filename)
QCString trAuthor(bool, bool singular)
QCString trClass(bool, bool singular)
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool )
QCString trField(bool, bool singular)
QCString trFile(bool, bool singular)
QCString trGroup(bool, bool singular)
QCString trMember(bool, bool singular)
QCString trNamespace(bool, bool singular)
QCString trPage(bool, bool singular)
TranslatorGreek (TranslatorAdapter_1_2_11) 19 methods to implement
---------------
Implements 176 of the required methods.
TranslatorDanish (TranslatorAdapterCVS)
----------------
Missing methods (should be implemented):
Missing methods (should be implemented):
virtual QCString trEventDocumentation()
virtual QCString trImplementedFromList(int numEntries)
virtual QCString trPackageMembers()
virtual QCString trStaticPackageMembers()
virtual QCString trSearchResultsTitle()
virtual QCString trStaticPackageAttribs()
virtual QCString trCallGraph()
virtual QCString trDeprecatedList()
virtual QCString trPackageTypes()
virtual QCString trImplementedInList(int numEntries)
virtual QCString trSearchResults(int numDocuments)
virtual QCString trPackageAttribs()
virtual QCString trSearchMatches()
virtual QCString trEvents()
virtual QCString trReferences()
virtual QCString trSourceFile(QCString & filename)
virtual QCString trSearchForIndex()
virtual QCString trAll()
virtual QCString trRTFTableOfContents()
QCString trAuthor(bool first_capital, bool singular)
Obsolete methods (should be removed, never used):
Obsolete methods (should be removed):
virtual QCString latexBabelPackage()
QCString trAuthor()
QCString trAuthors()
TranslatorHungarian (TranslatorAdapter_1_3_8) 1 method to implement
-------------------
Implements 194 of the required methods.
TranslatorSpanish (TranslatorAdapterCVS)
-----------------
Missing methods (should be implemented):
Missing methods (should be implemented):
virtual QCString trSourceFile(QCString & filename)
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool isTemplate)
QCString trAuthor(bool first_capital, bool singular)
Obsolete methods (should be removed):
TranslatorJapaneseEn (TranslatorEnglish) 190 methods to implement
--------------------
QCString latexBabelPackage()
QCString trAuthor()
QCString trAuthors()
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool )
QCString trFiles()
QCString trVerbatimText(const char *f)
Implements 5 of the required methods.
This English-based translator implements the following methods:
virtual QCString trRTFansicp()
virtual QCString idLanguage()
virtual QCString trRTFCharSet()
virtual QCString latexLanguageSupportCommand()
virtual QCString idLanguageCharset()
TranslatorFinnish (TranslatorAdapter_1_0_0)
-----------------
Missing methods (should be implemented):
QCString trGotoTextualHierarchy()
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool isTemplate)
QCString trRTFGeneralIndex()
QCString trSources()
QCString trPage(bool first_capital, bool singular)
QCString trPackageListDescription()
QCString trFile(bool first_capital, bool singular)
QCString trPrivateTypes()
QCString trDeprecated()
QCString trNote()
QCString trAlphabeticalList()
QCString trDefinedInSourceFile()
QCString trCode()
QCString trBug()
QCString trGlobal(bool first_capital, bool singular)
QCString trInitialValue()
QCString trPackageList()
QCString trField(bool first_capital, bool singular)
QCString trDefinedAtLineInSourceFile()
QCString trGroup(bool first_capital, bool singular)
QCString trPackage(const char *name)
QCString trProtectedTypes()
QCString trTest()
QCString trConstructorDocumentation()
QCString trProtectedAttribs()
QCString trProperties()
QCString trReferencedBy()
QCString trPrecondition()
QCString trPrivateAttribs()
QCString trRemarks()
QCString trTodo()
QCString trBugList()
QCString trDCOPMethods()
QCString trStaticPublicAttribs()
QCString trMainPage()
QCString trGotoGraphicalHierarchy()
QCString trPackageDocumentation()
QCString trRTFansicp()
QCString trPostcondition()
QCString trLegend()
QCString trPageAbbreviation()
QCString trPageIndex()
QCString trNamespace(bool first_capital, bool singular)
QCString trTestList()
QCString trCollaborationDiagram(const char *clName)
QCString trPropertyDocumentation()
QCString trClass(bool first_capital, bool singular)
QCString trInvariant()
QCString trTodoList()
QCString trPublicTypes()
QCString idLanguageCharset()
QCString trAttention()
QCString trGeneratedFromFiles(ClassDef::CompoundType compType, bool single)
QCString trInterfaces()
QCString trGotoSourceCode()
QCString trRTFCharSet()
QCString latexLanguageSupportCommand()
QCString trPackages()
QCString trNamespaces()
QCString trMember(bool first_capital, bool singular)
QCString trInclDepGraph(const char *fName)
QCString trDefineValue()
QCString trStaticProtectedAttribs()
QCString trInclByDepGraph()
QCString trReturnValues()
QCString trLegendTitle()
QCString trSince()
QCString trGotoDocumentation()
QCString trPublicAttribs()
QCString trLegendDocs()
QCString trStaticPrivateAttribs()
QCString trAuthor(bool first_capital, bool singular)
QCString trGraphicalHierarchy()
QCString trClasses()
Obsolete methods (should be removed):
QCString latexBabelPackage()
QCString trAuthor()
QCString trAuthors()
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool )
QCString trFiles()
QCString trGeneratedFrom(const char *s,bool single)
QCString trVerbatimText(const char *f)
TranslatorFrench (TranslatorAdapter_1_2_0)
TranslatorKorean (TranslatorAdapter_1_3_8) 1 method to implement
----------------
Missing methods (should be implemented):
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool isTemplate)
QCString trRTFGeneralIndex()
QCString trPage(bool first_capital, bool singular)
QCString trPackageListDescription()
QCString trFile(bool first_capital, bool singular)
QCString trBug()
QCString trGlobal(bool first_capital, bool singular)
QCString trPackageList()
QCString trField(bool first_capital, bool singular)
QCString trGroup(bool first_capital, bool singular)
QCString trPackage(const char *name)
QCString trTest()
QCString trProperties()
QCString trBugList()
QCString trDCOPMethods()
QCString trPackageDocumentation()
QCString trRTFansicp()
QCString trNamespace(bool first_capital, bool singular)
QCString trTestList()
QCString trPropertyDocumentation()
QCString trClass(bool first_capital, bool singular)
QCString trInterfaces()
QCString trRTFCharSet()
QCString latexLanguageSupportCommand()
QCString trPackages()
QCString trMember(bool first_capital, bool singular)
QCString trDefineValue()
QCString trAuthor(bool first_capital, bool singular)
QCString trClasses()
Obsolete methods (should be removed):
QCString latexBabelPackage()
QCString trAuthor()
QCString trAuthors()
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool )
QCString trFiles()
QCString trIncludeFile()
QCString trVerbatimText(const char *f)
TranslatorCroatian (Translator)
Implements 194 of the required methods.
Missing methods (should be implemented):
virtual QCString trSourceFile(QCString & filename)
TranslatorKoreanEn (TranslatorEnglish) 190 methods to implement
------------------
Missing methods (should be implemented):
Implements 5 of the required methods.
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool isTemplate)
This English-based translator implements the following methods:
Obsolete methods (should be removed):
virtual QCString trRTFansicp()
virtual QCString idLanguage()
virtual QCString trRTFCharSet()
virtual QCString latexLanguageSupportCommand()
virtual QCString idLanguageCharset()
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool )
TranslatorLithuanian (TranslatorAdapter_1_3_8) 1 method to implement
--------------------
Implements 194 of the required methods.
TranslatorHungarian (TranslatorAdapter_1_2_1)
-------------------
Missing methods (should be implemented):
Missing methods (should be implemented):
QCString trRTFGeneralIndex()
QCString trPage(bool first_capital, bool singular)
QCString trPackageListDescription()
QCString trFile(bool first_capital, bool singular)
QCString trBug()
QCString trGlobal(bool first_capital, bool singular)
QCString trPackageList()
QCString trField(bool first_capital, bool singular)
QCString trGroup(bool first_capital, bool singular)
QCString trPackage(const char *name)
QCString trProperties()
QCString trBugList()
QCString trDCOPMethods()
QCString trPackageDocumentation()
QCString trRTFansicp()
QCString trNamespace(bool first_capital, bool singular)
QCString trPropertyDocumentation()
QCString trClass(bool first_capital, bool singular)
QCString trInterfaces()
QCString trRTFCharSet()
QCString trPackages()
QCString trMember(bool first_capital, bool singular)
QCString trDefineValue()
QCString trAuthor(bool first_capital, bool singular)
QCString trClasses()
Obsolete methods (should be removed):
QCString latexBabelPackage()
QCString trAuthor()
QCString trAuthors()
QCString trFiles()
QCString trVerbatimText(const char *f)
TranslatorItalian (TranslatorAdapterCVS)
-----------------
virtual QCString trSourceFile(QCString & filename)
Missing methods (should be implemented):
QCString trFile(bool first_capital, bool singular)
QCString trNamespace(bool first_capital, bool singular)
QCString trAuthor(bool first_capital, bool singular)
TranslatorPolish (TranslatorAdapter_1_3) 12 methods to implement
----------------
Obsolete methods (should be removed):
Implements 183 of the required methods.
QCString trAuthor()
QCString trAuthors()
QCString trFile(bool first_capital, bool)
QCString trFiles()
QCString trNamespace(bool first_capital, bool)
QCString trVerbatimText(const char *f)
Missing methods (should be implemented):
virtual QCString trPackageMembers()
virtual QCString trStaticPackageMembers()
virtual QCString trSearchResultsTitle()
virtual QCString trStaticPackageAttribs()
virtual QCString trCallGraph()
virtual QCString trPackageTypes()
virtual QCString trSearchResults(int numDocuments)
virtual QCString trPackageAttribs()
virtual QCString trSearchMatches()
virtual QCString trSourceFile(QCString & filename)
virtual QCString trSearchForIndex()
virtual QCString trAll()
Obsolete methods (should be removed, never used):
TranslatorJapanese (TranslatorAdapter_1_2_5)
------------------
QCString trVerbatimText(const char * f)
QCString trFiles()
QCString trAuthors()
QCString latexBabelPackage()
QCString trAuthor()
Missing methods (should be implemented):
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool isTemplate)
QCString trRTFGeneralIndex()
QCString trPage(bool first_capital, bool singular)
QCString trFile(bool first_capital, bool singular)
QCString trBug()
QCString trGlobal(bool first_capital, bool singular)
QCString trField(bool first_capital, bool singular)
QCString trGroup(bool first_capital, bool singular)
QCString trBugList()
QCString trRTFansicp()
QCString trNamespace(bool first_capital, bool singular)
QCString trClass(bool first_capital, bool singular)
QCString trGeneratedFromFiles(ClassDef::CompoundType compType, bool single)
QCString trRTFCharSet()
QCString latexLanguageSupportCommand()
QCString trMember(bool first_capital, bool singular)
QCString trAuthor(bool first_capital, bool singular)
Obsolete methods (should be removed):
QCString latexBabelPackage()
QCString trAuthor()
QCString trAuthors()
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool )
QCString trFiles()
QCString trGeneratedFromFiles(ClassDef::CompoundType compType, bool)
QCString trVerbatimText(const char *f)
TranslatorKorean (TranslatorAdapter_1_1_0)
----------------
Missing methods (should be implemented):
QCString trRTFGeneralIndex()
QCString trPage(bool first_capital, bool singular)
QCString trPackageListDescription()
QCString trFile(bool first_capital, bool singular)
QCString trPrivateTypes()
QCString trNote()
QCString trBug()
QCString trGlobal(bool first_capital, bool singular)
QCString trPackageList()
QCString trField(bool first_capital, bool singular)
QCString trGroup(bool first_capital, bool singular)
QCString trPackage(const char *name)
QCString trProtectedTypes()
QCString trTest()
QCString trProtectedAttribs()
QCString trProperties()
QCString trReferencedBy()
QCString trPrivateAttribs()
QCString trRemarks()
QCString trTodo()
QCString trBugList()
QCString trDCOPMethods()
QCString trStaticPublicAttribs()
QCString trPackageDocumentation()
QCString trRTFansicp()
QCString trLegend()
QCString trNamespace(bool first_capital, bool singular)
QCString trTestList()
QCString trPropertyDocumentation()
QCString trClass(bool first_capital, bool singular)
QCString trTodoList()
QCString trPublicTypes()
QCString trAttention()
QCString trInterfaces()
QCString trRTFCharSet()
QCString latexLanguageSupportCommand()
QCString trPackages()
QCString trMember(bool first_capital, bool singular)
QCString trDefineValue()
QCString trStaticProtectedAttribs()
QCString trInclByDepGraph()
QCString trLegendTitle()
QCString trSince()
QCString trPublicAttribs()
QCString trLegendDocs()
QCString trStaticPrivateAttribs()
QCString trAuthor(bool first_capital, bool singular)
QCString trClasses()
Obsolete methods (should be removed):
QCString latexBabelPackage()
QCString trAuthor()
QCString trAuthors()
QCString trFiles()
QCString trVerbatimText(const char *f)
TranslatorDutch (TranslatorAdapter_1_2_6)
---------------
TranslatorPortuguese (TranslatorAdapter_1_3_3) 5 methods to implement
--------------------
Missing methods (should be implemented):
Implements 190 of the required methods.
QCString trRTFGeneralIndex()
QCString trPage(bool first_capital, bool singular)
QCString trFile(bool first_capital, bool singular)
QCString trGlobal(bool first_capital, bool singular)
QCString trField(bool first_capital, bool singular)
QCString trGroup(bool first_capital, bool singular)
QCString trRTFansicp()
QCString trNamespace(bool first_capital, bool singular)
QCString trClass(bool first_capital, bool singular)
QCString idLanguageCharset()
QCString trRTFCharSet()
QCString latexLanguageSupportCommand()
QCString trMember(bool first_capital, bool singular)
QCString trAuthor(bool first_capital, bool singular)
Missing methods (should be implemented):
Obsolete methods (should be removed):
virtual QCString trSearchResultsTitle()
virtual QCString trSearchResults(int numDocuments)
virtual QCString trSearchMatches()
virtual QCString trSourceFile(QCString & filename)
virtual QCString trSearchForIndex()
QCString latexBabelPackage()
QCString trAuthor()
QCString trAuthors()
QCString trFiles()
QCString trVerbatimText(const char *f)
TranslatorRomanian (TranslatorAdapter_1_2_16) 16 methods to implement
------------------
Implements 179 of the required methods.
Missing methods (should be implemented):
virtual QCString trEventDocumentation()
virtual QCString trPackageMembers()
virtual QCString trStaticPackageMembers()
virtual QCString trSearchResultsTitle()
virtual QCString trStaticPackageAttribs()
virtual QCString trCallGraph()
virtual QCString trDeprecatedList()
virtual QCString trPackageTypes()
virtual QCString trSearchResults(int numDocuments)
virtual QCString trPackageAttribs()
virtual QCString trSearchMatches()
virtual QCString trEvents()
virtual QCString trSourceFile(QCString & filename)
virtual QCString trSearchForIndex()
virtual QCString trAll()
virtual QCString trRTFTableOfContents()
TranslatorSerbian (TranslatorAdapter_1_3_8) 1 method to implement
-----------------
TranslatorNorwegian (TranslatorAdapter_1_2_2)
-------------------
Implements 194 of the required methods.
Missing methods (should be implemented):
virtual QCString trSourceFile(QCString & filename)
Missing methods (should be implemented):
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool isTemplate)
QCString trRTFGeneralIndex()
QCString trPage(bool first_capital, bool singular)
QCString trPackageListDescription()
QCString trFile(bool first_capital, bool singular)
QCString trBug()
QCString trGlobal(bool first_capital, bool singular)
QCString trPackageList()
QCString trField(bool first_capital, bool singular)
QCString trGroup(bool first_capital, bool singular)
QCString trPackage(const char *name)
QCString trProperties()
QCString trBugList()
QCString trPackageDocumentation()
QCString trRTFansicp()
QCString trNamespace(bool first_capital, bool singular)
QCString trPropertyDocumentation()
QCString trClass(bool first_capital, bool singular)
QCString idLanguageCharset()
QCString trInterfaces()
QCString trRTFCharSet()
QCString latexLanguageSupportCommand()
QCString trPackages()
QCString trMember(bool first_capital, bool singular)
QCString trDefineValue()
QCString trAuthor(bool first_capital, bool singular)
QCString trClasses()
Obsolete methods (should be removed):
QCString latexBabelPackage()
QCString trAuthor()
QCString trAuthors()
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool )
QCString trFiles()
QCString trVerbatimText(const char *f)
TranslatorPolish (TranslatorAdapter_1_2_1)
TranslatorSlovak (TranslatorAdapter_1_2_18) 14 methods to implement
----------------
Missing methods (should be implemented):
QCString trRTFGeneralIndex()
QCString trPage(bool first_capital, bool singular)
QCString trPackageListDescription()
QCString trFile(bool first_capital, bool singular)
QCString trBug()
QCString trGlobal(bool first_capital, bool singular)
QCString trPackageList()
QCString trField(bool first_capital, bool singular)
QCString trGroup(bool first_capital, bool singular)
QCString trPackage(const char *name)
QCString trProperties()
QCString trBugList()
QCString trDCOPMethods()
QCString trPackageDocumentation()
QCString trRTFansicp()
QCString trNamespace(bool first_capital, bool singular)
QCString trPropertyDocumentation()
QCString trClass(bool first_capital, bool singular)
QCString idLanguageCharset()
QCString trInterfaces()
QCString trRTFCharSet()
QCString trPackages()
QCString trMember(bool first_capital, bool singular)
QCString trDefineValue()
QCString trAuthor(bool first_capital, bool singular)
QCString trClasses()
Obsolete methods (should be removed):
QCString latexBabelPackage()
QCString trAuthor()
QCString trAuthors()
QCString trFiles()
QCString trVerbatimText(const char *f)
TranslatorPortuguese (TranslatorAdapter_1_1_5)
--------------------
Implements 181 of the required methods.
Missing methods (should be implemented):
QCString trRTFGeneralIndex()
QCString trPage(bool first_capital, bool singular)
QCString trPackageListDescription()
QCString trFile(bool first_capital, bool singular)
QCString trBug()
QCString trGlobal(bool first_capital, bool singular)
QCString trPackageList()
QCString trField(bool first_capital, bool singular)
QCString trGroup(bool first_capital, bool singular)
QCString trPackage(const char *name)
QCString trTest()
QCString trProperties()
QCString trBugList()
QCString trDCOPMethods()
QCString trPackageDocumentation()
QCString trRTFansicp()
QCString trLegend()
QCString trNamespace(bool first_capital, bool singular)
QCString trTestList()
QCString trPropertyDocumentation()
QCString trClass(bool first_capital, bool singular)
QCString idLanguageCharset()
QCString trInterfaces()
QCString trRTFCharSet()
QCString latexLanguageSupportCommand()
QCString trPackages()
QCString trMember(bool first_capital, bool singular)
QCString trDefineValue()
QCString trLegendTitle()
QCString trLegendDocs()
QCString trAuthor(bool first_capital, bool singular)
QCString trClasses()
Obsolete methods (should be removed):
QCString latexBabelPackage()
QCString trAuthor()
QCString trAuthors()
QCString trFiles()
QCString trIncludeFile()
QCString trVerbatimText(const char *f)
TranslatorRomanian (TranslatorAdapter_1_2_1)
------------------
Missing methods (should be implemented):
Missing methods (should be implemented):
QCString trRTFGeneralIndex()
QCString trPage(bool first_capital, bool singular)
QCString trPackageListDescription()
QCString trFile(bool first_capital, bool singular)
QCString trBug()
QCString trGlobal(bool first_capital, bool singular)
QCString trPackageList()
QCString trField(bool first_capital, bool singular)
QCString trGroup(bool first_capital, bool singular)
QCString trPackage(const char *name)
QCString trProperties()
QCString trBugList()
QCString trDCOPMethods()
QCString trPackageDocumentation()
QCString trRTFansicp()
QCString trNamespace(bool first_capital, bool singular)
QCString trPropertyDocumentation()
QCString trClass(bool first_capital, bool singular)
QCString trInterfaces()
QCString trRTFCharSet()
QCString trPackages()
QCString trMember(bool first_capital, bool singular)
QCString trDefineValue()
QCString trAuthor(bool first_capital, bool singular)
QCString trClasses()
Obsolete methods (should be removed):
QCString latexBabelPackage()
QCString trAuthor()
QCString trAuthors()
QCString trFiles()
QCString trVerbatimText(const char *f)
TranslatorSwedish (TranslatorAdapter_1_0_0)
virtual QCString trEventDocumentation()
virtual QCString trPackageMembers()
virtual QCString trStaticPackageMembers()
virtual QCString trSearchResultsTitle()
virtual QCString trStaticPackageAttribs()
virtual QCString trCallGraph()
virtual QCString trPackageTypes()
virtual QCString trSearchResults(int numDocuments)
virtual QCString trPackageAttribs()
virtual QCString trSearchMatches()
virtual QCString trEvents()
virtual QCString trSourceFile(QCString & filename)
virtual QCString trSearchForIndex()
virtual QCString trAll()
TranslatorSlovene (TranslatorAdapter_1_2_16) 16 methods to implement
-----------------
Missing methods (should be implemented):
QCString trGotoTextualHierarchy()
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool isTemplate)
QCString trRTFGeneralIndex()
QCString trPage(bool first_capital, bool singular)
QCString trPackageListDescription()
QCString trFile(bool first_capital, bool singular)
QCString trPrivateTypes()
QCString trDeprecated()
QCString trNote()
QCString trCode()
QCString trBug()
QCString trGlobal(bool first_capital, bool singular)
QCString trInitialValue()
QCString trPackageList()
QCString trField(bool first_capital, bool singular)
QCString trGroup(bool first_capital, bool singular)
QCString trPackage(const char *name)
QCString trProtectedTypes()
QCString trTest()
QCString trConstructorDocumentation()
QCString trProtectedAttribs()
QCString trProperties()
QCString trReferencedBy()
QCString trPrecondition()
QCString trPrivateAttribs()
QCString trRemarks()
QCString trTodo()
QCString trBugList()
QCString trDCOPMethods()
QCString trStaticPublicAttribs()
QCString trGotoGraphicalHierarchy()
QCString trPackageDocumentation()
QCString trRTFansicp()
QCString trPostcondition()
QCString trLegend()
QCString trPageIndex()
QCString trNamespace(bool first_capital, bool singular)
QCString trTestList()
QCString trCollaborationDiagram(const char *clName)
QCString trPropertyDocumentation()
QCString trClass(bool first_capital, bool singular)
QCString trInvariant()
QCString trTodoList()
QCString trPublicTypes()
QCString idLanguageCharset()
QCString trAttention()
QCString trInterfaces()
QCString trGotoSourceCode()
QCString trRTFCharSet()
QCString latexLanguageSupportCommand()
QCString trPackages()
QCString trMember(bool first_capital, bool singular)
QCString trInclDepGraph(const char *fName)
QCString trDefineValue()
QCString trStaticProtectedAttribs()
QCString trInclByDepGraph()
QCString trLegendTitle()
QCString trSince()
QCString trGotoDocumentation()
QCString trPublicAttribs()
QCString trLegendDocs()
QCString trStaticPrivateAttribs()
QCString trAuthor(bool first_capital, bool singular)
QCString trGraphicalHierarchy()
QCString trClasses()
Obsolete methods (should be removed):
QCString latexBabelPackage()
QCString trAuthor()
QCString trAuthors()
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool )
QCString trFiles()
QCString trVerbatimText(const char *f)
TranslatorSlovene (TranslatorAdapter_1_1_5)
Implements 179 of the required methods.
Missing methods (should be implemented):
virtual QCString trEventDocumentation()
virtual QCString trPackageMembers()
virtual QCString trStaticPackageMembers()
virtual QCString trSearchResultsTitle()
virtual QCString trStaticPackageAttribs()
virtual QCString trCallGraph()
virtual QCString trDeprecatedList()
virtual QCString trPackageTypes()
virtual QCString trSearchResults(int numDocuments)
virtual QCString trPackageAttribs()
virtual QCString trSearchMatches()
virtual QCString trEvents()
virtual QCString trSourceFile(QCString & filename)
virtual QCString trSearchForIndex()
virtual QCString trAll()
virtual QCString trRTFTableOfContents()
TranslatorSpanish (TranslatorAdapter_1_3_8) 1 method to implement
-----------------
Missing methods (should be implemented):
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool isTemplate)
QCString trRTFGeneralIndex()
QCString trPage(bool first_capital, bool singular)
QCString trPackageListDescription()
QCString trFile(bool first_capital, bool singular)
QCString trBug()
QCString trGlobal(bool first_capital, bool singular)
QCString trPackageList()
QCString trField(bool first_capital, bool singular)
QCString trGroup(bool first_capital, bool singular)
QCString trPackage(const char *name)
QCString trTest()
QCString trProperties()
QCString trBugList()
QCString trDCOPMethods()
QCString trPackageDocumentation()
QCString trRTFansicp()
QCString trLegend()
QCString trNamespace(bool first_capital, bool singular)
QCString trTestList()
QCString trPropertyDocumentation()
QCString trClass(bool first_capital, bool singular)
QCString trInterfaces()
QCString trRTFCharSet()
QCString trPackages()
QCString trMember(bool first_capital, bool singular)
QCString trDefineValue()
QCString trLegendTitle()
QCString trLegendDocs()
QCString trAuthor(bool first_capital, bool singular)
QCString trClasses()
Obsolete methods (should be removed):
QCString latexBabelPackage()
QCString trAuthor()
QCString trAuthors()
QCString trCompoundReference(const char *clName, ClassDef::CompoundType compType, bool )
QCString trFiles()
QCString trVerbatimText(const char *f)
TranslatorSlovak (TranslatorAdapterCVS)
----------------
Implements 194 of the required methods.
Missing methods (should be implemented):
virtual QCString trSourceFile(QCString & filename)
Obsolete methods (should be removed, never used):
Missing methods (should be implemented):
virtual QCString trVerbatimText(const char * f)
virtual QCString trFiles()
virtual QCString trAuthors()
virtual QCString latexBabelPackage()
QCString trAuthor(bool first_capital, bool singular)
Obsolete methods (should be removed):
TranslatorSwedish (TranslatorAdapter_1_3_8) 1 method to implement
-----------------
Implements 194 of the required methods.
Missing methods (should be implemented):
QCString trAuthor()
QCString trAuthors()
QCString trFiles()
virtual QCString trSourceFile(QCString & filename)
TranslatorUkrainian (TranslatorAdapter_1_2_11) 19 methods to implement
-------------------
Implements 176 of the required methods.
Missing methods (should be implemented):
virtual QCString trEventDocumentation()
virtual QCString trImplementedFromList(int numEntries)
virtual QCString trPackageMembers()
virtual QCString trStaticPackageMembers()
virtual QCString trSearchResultsTitle()
virtual QCString trStaticPackageAttribs()
virtual QCString trCallGraph()
virtual QCString trDeprecatedList()
virtual QCString trPackageTypes()
virtual QCString trImplementedInList(int numEntries)
virtual QCString trSearchResults(int numDocuments)
virtual QCString trPackageAttribs()
virtual QCString trSearchMatches()
virtual QCString trEvents()
virtual QCString trReferences()
virtual QCString trSourceFile(QCString & filename)
virtual QCString trSearchForIndex()
virtual QCString trAll()
virtual QCString trRTFTableOfContents()
\ No newline at end of file
......@@ -71,6 +71,8 @@
<li>Version 1.8.6 of dot (and maybe earlier versions too) do not
generate proper map files, causing the graphs that doxygen generates
not to be properly clickable.
<li>PHP only: Doxygen requires that all PHP statements (i.e. code) is
wrapped in a functions/methods, otherwise you may run into parse problems.
</ul>
......
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.3.8_20040803
Version: 1.3.8_20040812
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
......
......@@ -955,7 +955,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
if (Config_getBool("SEARCHENGINE"))
{
Doxygen::searchIndex->setCurrentDoc(pageTitle,getOutputFileBase());
Doxygen::searchIndex->addWord(localName().lower());
Doxygen::searchIndex->addWord(localName());
}
ol.startTextBlock();
......@@ -2823,6 +2823,8 @@ QCString ClassDef::className() const
void ClassDef::addListReferences()
{
if (!isLinkableInProject()) return;
//printf("ClassDef(%s)::addListReferences()\n",name().data());
addRefItem(xrefListItems(),
theTranslator->trClass(TRUE,TRUE),
getOutputFileBase(),displayName()
......
......@@ -243,12 +243,16 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'"))
g_readLineCtx=YY_START;
BEGIN(ReadLine);
}
<SComment>^[ \t]*"//!"/.*\n {
<SComment>^[ \t]*"//!" | // just //!
<SComment>^[ \t]*"//!<"/.*\n | // or //!< something
<SComment>^[ \t]*"//!"[^<]/.*\n { // or //!something
replaceComment(0);
g_readLineCtx=YY_START;
BEGIN(ReadLine);
}
<SComment>\n[ \t]*"//!"/.*\n {
<SComment>\n[ \t]*"//!" |
<SComment>\n[ \t]*"//!<"/.*\n |
<SComment>\n[ \t]*"//!"[^<]/.*\n {
replaceComment(1);
g_readLineCtx=YY_START;
BEGIN(ReadLine);
......@@ -297,6 +301,7 @@ void replaceComment(int offset)
}
else
{
//printf("replaceComment(%s)\n",yytext);
int i=computeIndent(&yytext[offset]);
if (i==g_blockHeadCol)
{
......
......@@ -2521,7 +2521,9 @@ void Config::create()
"are defined before the preprocessor is started (similar to the -D option of \n"
"gcc). The argument of the tag is a list of macros of the form: name \n"
"or name=definition (no spaces). If the definition and the = are \n"
"omitted =1 is assumed. \n"
"omitted =1 is assumed. To prevent a macro definition from being \n"
"undefined via #undef or recursively expanded use the := operator \n"
"instead of the = operator.\n"
);
cl->addDependency("ENABLE_PREPROCESSING");
cl = addList(
......
......@@ -363,6 +363,7 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
QCString lineStr,anchorStr;
lineStr.sprintf("%d",m_startBodyLine);
anchorStr.sprintf("l%05d",m_startBodyLine);
ol.newParagraph();
if (lineMarkerPos<fileMarkerPos) // line marker before file marker
{
// write text left from linePos marker
......@@ -432,10 +433,6 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
{
err("Error: translation error: invalid markers in trDefinedInSourceFile()\n");
}
ol.disableAllBut(OutputGenerator::RTF);
ol.newParagraph();
ol.enableAll();
}
ol.popGeneratorState();
}
......
......@@ -441,7 +441,7 @@ static bool findDocsForMemberOrCompound(const char *commandName,
//printf("findDocsForMemberOrCompound(%s)\n",commandName);
*pDoc="";
*pDef=0;
QString cmdArg=commandName;
QString cmdArg=substitute(commandName,"#","::");
int l=cmdArg.length();
if (l==0) return FALSE;
......@@ -1236,7 +1236,7 @@ DocWord::DocWord(DocNode *parent,const QString &word) :
//printf("new word %s url=%s\n",word.data(),g_searchUrl.data());
if (!g_searchUrl.isEmpty())
{
Doxygen::searchIndex->addWord(word.lower());
Doxygen::searchIndex->addWord(word);
}
}
......@@ -1251,7 +1251,7 @@ DocLinkedWord::DocLinkedWord(DocNode *parent,const QString &word,
//printf("new word %s url=%s\n",word.data(),g_searchUrl.data());
if (!g_searchUrl.isEmpty())
{
Doxygen::searchIndex->addWord(word.lower());
Doxygen::searchIndex->addWord(word);
}
}
......@@ -1517,6 +1517,8 @@ bool DocXRefItem::parse()
m_file = refList->listName();
m_anchor = item->listAnchor;
m_title = refList->sectionTitle();
//printf("DocXRefItem: file=%s anchor=%s title=%s\n",
// m_file.data(),m_anchor.data(),m_title.data());
if (!item->text.isEmpty())
{
......
......@@ -283,7 +283,8 @@ URLCHAR [a-z_A-Z0-9\!\~\:\;\'\$\?\@\&\%\#\.\-\+\/\=]
URLMASK (([a-z_A-Z][^\>\"\n]*{URLCHAR})|({URLCHAR}+))([({]{URLCHAR}*[)}])?
FILESCHAR [a-z_A-Z0-9\\:\\\/\-\+]
FILEECHAR [a-z_A-Z0-9\-\+]
FILEMASK {FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*
HFILEMASK ("."{FILESCHAR}*{FILEECHAR}+)*
FILEMASK ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|{HFILEMASK}
LINKMASK [^ \t\n\r\\@<&${}]+("("[^\n)]*")")?({BLANK}*("const"|"volatile"))?
SPCMD1 {CMD}[a-z_A-Z0-9]+
SPCMD2 {CMD}[\\@<>&$#%~]
......
......@@ -1903,15 +1903,6 @@ static void buildVarList(Entry *root)
}
p=p->parent;
}
// scope annonymous scope name at the end to determine the scope
// where we can put this variable
//while ((i=scope.findRev("::"))!=-1 && (int)scope.length()>i+2 &&
// scope.at(i+2)=='@'
// )
//{
// scope=scope.left(i);
//}
MemberDef::MemberType mtype;
QCString type=root->type.stripWhiteSpace();
......@@ -4340,6 +4331,7 @@ static void findMember(Entry *root,
QCString funcArgs;
QCString funcTempList;
QCString exceptions;
QCString funcSpec;
bool isRelated=FALSE;
bool isFriend=FALSE;
bool done;
......@@ -4449,7 +4441,7 @@ static void findMember(Entry *root,
}
}
scopeName=stripTemplateSpecifiersFromScope(
removeRedundantWhiteSpace(scopeName),FALSE);
removeRedundantWhiteSpace(scopeName),FALSE,&funcSpec);
// split scope into a namespace and a class part
extractNamespaceName(scopeName,className,namespaceName,TRUE);
......@@ -4482,7 +4474,14 @@ static void findMember(Entry *root,
if (cd)
{
if (root->tArgLists) root->tArgLists->first();
tempScopeName=cd->qualifiedNameWithTemplateParameters(root->tArgLists);
if (funcSpec.isEmpty())
{
tempScopeName=cd->qualifiedNameWithTemplateParameters(root->tArgLists);
}
else
{
tempScopeName=scopeName+funcSpec;
}
}
//printf("scopeName=%s cd=%p root->tArgLists=%p result=%s\n",
// scopeName.data(),cd,root->tArgLists,tempScopeName.data());
......@@ -4551,6 +4550,7 @@ static void findMember(Entry *root,
" namespaceName=`%s'\n"
" className=`%s`\n"
" funcType=`%s'\n"
" funcSpec=`%s'\n"
" funcName=`%s'\n"
" funcArgs=`%s'\n"
" funcTempList=`%s'\n"
......@@ -4561,7 +4561,7 @@ static void findMember(Entry *root,
" isFriend=%d\n"
" isFunc=%d\n\n",
namespaceName.data(),className.data(),
funcType.data(),funcName.data(),funcArgs.data(),funcTempList.data(),
funcType.data(),funcSpec.data(),funcName.data(),funcArgs.data(),funcTempList.data(),
funcDecl.data(),root->relates.data(),exceptions.data(),isRelated,isFriend,
isFunc
);
......@@ -4589,262 +4589,300 @@ static void findMember(Entry *root,
"2. member name exists (%d members with this name)\n",mn->count());
if (!className.isEmpty()) // class name is valid
{
int count=0;
MemberNameIterator mni(*mn);
MemberDef *md;
bool memFound=FALSE;
for (mni.toFirst();!memFound && (md=mni.current());++mni)
if (funcSpec.isEmpty()) // not a member specialization
{
ClassDef *cd=md->getClassDef();
Debug::print(Debug::FindMembers,0,
"3. member definition found, "
"scope needed=`%s' scope=`%s' args=`%s'\n",
scopeName.data(),cd ? cd->name().data() : "<none>",
md->argsString());
//printf("Member %s (member scopeName=%s) (this scopeName=%s) classTempList=%s\n",md->name().data(),cd->name().data(),scopeName.data(),classTempList.data());
bool ambig;
FileDef *fd=findFileDef(Doxygen::inputNameDict,root->fileName,ambig);
NamespaceDef *nd=0;
if (!namespaceName.isEmpty()) nd=getResolvedNamespace(namespaceName);
ClassDef *tcd=findClassDefinition(fd,nd,scopeName);
if (cd && tcd==cd) // member's classes match
int count=0;
MemberNameIterator mni(*mn);
MemberDef *md;
bool memFound=FALSE;
for (mni.toFirst();!memFound && (md=mni.current());++mni)
{
ClassDef *cd=md->getClassDef();
Debug::print(Debug::FindMembers,0,
"4. class definition %s found\n",cd->name().data());
//int ci;
//ArgumentList *classTemplArgs = cd->templateArguments();
//ArgumentList *funcTemplArgs = md->memberDefTemplateArguments();
//if ((ci=cd->name().find("::"))!=-1) // nested class
//{
// ClassDef *parentClass = getClass(cd->name().left(ci));
// if (parentClass)
// classTemplArgs = parentClass->templateArguments();
//}
////printf("cd->name=%s classTemplArgs=%s\n",cd->name().data(),
//// argListToString(classTemplArgs).data());
// get the template parameter lists found at the member declaration
QList<ArgumentList> declTemplArgs;
cd->getTemplateParameterLists(declTemplArgs);
if (md->templateArguments())
{
declTemplArgs.append(md->templateArguments());
}
"3. member definition found, "
"scope needed=`%s' scope=`%s' args=`%s'\n",
scopeName.data(),cd ? cd->name().data() : "<none>",
md->argsString());
//printf("Member %s (member scopeName=%s) (this scopeName=%s) classTempList=%s\n",md->name().data(),cd->name().data(),scopeName.data(),classTempList.data());
bool ambig;
FileDef *fd=findFileDef(Doxygen::inputNameDict,root->fileName,ambig);
NamespaceDef *nd=0;
if (!namespaceName.isEmpty()) nd=getResolvedNamespace(namespaceName);
// get the template parameter lists found at the member definition
QList<ArgumentList> *defTemplArgs = root->tArgLists;
//printf("defTemplArgs=%p\n",defTemplArgs);
ClassDef *tcd=findClassDefinition(fd,nd,scopeName);
// do we replace the decl argument lists with the def argument lists?
bool substDone=FALSE;
ArgumentList *argList=0;
/* substitute the occurrences of class template names in the
* argument list before matching
*/
if (declTemplArgs.count()>0 && defTemplArgs &&
declTemplArgs.count()==defTemplArgs->count() &&
md->argumentList()
)
if (cd && tcd==cd) // member's classes match
{
/* the function definition has template arguments
* and the class definition also has template arguments, so
* we must substitute the template names of the class by that
* of the function definition before matching.
Debug::print(Debug::FindMembers,0,
"4. class definition %s found\n",cd->name().data());
//int ci;
//ArgumentList *classTemplArgs = cd->templateArguments();
//ArgumentList *funcTemplArgs = md->memberDefTemplateArguments();
//if ((ci=cd->name().find("::"))!=-1) // nested class
//{
// ClassDef *parentClass = getClass(cd->name().left(ci));
// if (parentClass)
// classTemplArgs = parentClass->templateArguments();
//}
////printf("cd->name=%s classTemplArgs=%s\n",cd->name().data(),
//// argListToString(classTemplArgs).data());
// get the template parameter lists found at the member declaration
QList<ArgumentList> declTemplArgs;
cd->getTemplateParameterLists(declTemplArgs);
if (md->templateArguments())
{
declTemplArgs.append(md->templateArguments());
}
// get the template parameter lists found at the member definition
QList<ArgumentList> *defTemplArgs = root->tArgLists;
//printf("defTemplArgs=%p\n",defTemplArgs);
// do we replace the decl argument lists with the def argument lists?
bool substDone=FALSE;
ArgumentList *argList=0;
/* substitute the occurrences of class template names in the
* argument list before matching
*/
argList = new ArgumentList;
substituteTemplatesInArgList(declTemplArgs,*defTemplArgs,
md->argumentList(),argList);
if (declTemplArgs.count()>0 && defTemplArgs &&
declTemplArgs.count()==defTemplArgs->count() &&
md->argumentList()
)
{
/* the function definition has template arguments
* and the class definition also has template arguments, so
* we must substitute the template names of the class by that
* of the function definition before matching.
*/
argList = new ArgumentList;
substituteTemplatesInArgList(declTemplArgs,*defTemplArgs,
md->argumentList(),argList);
substDone=TRUE;
}
else /* no template arguments, compare argument lists directly */
{
argList = md->argumentList();
}
substDone=TRUE;
}
else /* no template arguments, compare argument lists directly */
{
argList = md->argumentList();
}
Debug::print(Debug::FindMembers,0,
"5. matching `%s'<=>`%s' className=%s namespaceName=%s\n",
argListToString(argList).data(),argListToString(root->argList).data(),
className.data(),namespaceName.data()
);
Debug::print(Debug::FindMembers,0,
"5. matching `%s'<=>`%s' className=%s namespaceName=%s\n",
argListToString(argList).data(),argListToString(root->argList).data(),
className.data(),namespaceName.data()
);
// TODO: match loop for all possible scopes
// TODO: match loop for all possible scopes
bool ambig;
FileDef *fd=findFileDef(Doxygen::inputNameDict,root->fileName,ambig);
bool ambig;
FileDef *fd=findFileDef(Doxygen::inputNameDict,root->fileName,ambig);
// list of namespaces using in the file/namespace that this
// member definition is part of
NamespaceSDict *nl = new NamespaceSDict;
if (nd)
{
NamespaceSDict *nnl = nd->getUsedNamespaces();
if (nnl)
// list of namespaces using in the file/namespace that this
// member definition is part of
NamespaceSDict *nl = new NamespaceSDict;
if (nd)
{
NamespaceDef *nnd;
NamespaceSDict::Iterator nsdi(*nnl);
for (nsdi.toFirst();(nnd=nsdi.current());++nsdi)
NamespaceSDict *nnl = nd->getUsedNamespaces();
if (nnl)
{
nl->append(nnd->qualifiedName(),nnd);
NamespaceDef *nnd;
NamespaceSDict::Iterator nsdi(*nnl);
for (nsdi.toFirst();(nnd=nsdi.current());++nsdi)
{
nl->append(nnd->qualifiedName(),nnd);
}
}
}
}
if (fd)
{
NamespaceSDict *fnl = fd->getUsedNamespaces();
if (fnl)
if (fd)
{
NamespaceDef *fnd;
NamespaceSDict::Iterator nsdi(*fnl);
for (nsdi.toFirst();(fnd=nsdi.current());++nsdi)
NamespaceSDict *fnl = fd->getUsedNamespaces();
if (fnl)
{
nl->append(fnd->qualifiedName(),fnd);
NamespaceDef *fnd;
NamespaceSDict::Iterator nsdi(*fnl);
for (nsdi.toFirst();(fnd=nsdi.current());++nsdi)
{
nl->append(fnd->qualifiedName(),fnd);
}
}
}
}
SDict<Definition> *cl = new SDict<Definition>(17);
if (nd)
{
SDict<Definition> *ncl = nd->getUsedClasses();
if (ncl)
SDict<Definition> *cl = new SDict<Definition>(17);
if (nd)
{
SDict<Definition>::Iterator csdi(*ncl);
Definition *ncd;
for (csdi.toFirst();(ncd=csdi.current());++csdi)
SDict<Definition> *ncl = nd->getUsedClasses();
if (ncl)
{
cl->append(ncd->qualifiedName(),ncd);
SDict<Definition>::Iterator csdi(*ncl);
Definition *ncd;
for (csdi.toFirst();(ncd=csdi.current());++csdi)
{
cl->append(ncd->qualifiedName(),ncd);
}
}
}
}
if (fd)
{
SDict<Definition> *fcl = fd->getUsedClasses();
if (fcl)
if (fd)
{
SDict<Definition>::Iterator csdi(*fcl);
Definition *fcd;
for (csdi.toFirst();(fcd=csdi.current());++csdi)
SDict<Definition> *fcl = fd->getUsedClasses();
if (fcl)
{
cl->append(fcd->qualifiedName(),fcd);
SDict<Definition>::Iterator csdi(*fcl);
Definition *fcd;
for (csdi.toFirst();(fcd=csdi.current());++csdi)
{
cl->append(fcd->qualifiedName(),fcd);
}
}
}
}
bool matching=
md->isVariable() || md->isTypedef() || // needed for function pointers
(md->argumentList()==0 && root->argList->count()==0) ||
matchArguments(argList, root->argList,className,namespaceName,
TRUE,nl,cl);
bool matching=
md->isVariable() || md->isTypedef() || // needed for function pointers
(md->argumentList()==0 && root->argList->count()==0) ||
matchArguments(argList, root->argList,className,namespaceName,
TRUE,nl,cl);
Debug::print(Debug::FindMembers,0,
"6. match results = %d\n",matching);
if (substDone) // found a new argument list
{
//printf("root->tArgList=`%s'\n",argListToString(root->tArgList).data());
if (matching) // replace member's argument list
Debug::print(Debug::FindMembers,0,
"6. match results = %d\n",matching);
if (substDone) // found a new argument list
{
//printf("Setting scope template argument of member %s to %s\n",
// md->name().data(), argListToString(root->tArgList).data()
// );
//printf("Setting member template argument of member %s to %s\n",
// md->name().data(), argListToString(root->mtArgList).data()
// );
md->setDefinitionTemplateParameterLists(root->tArgLists);
md->setArgumentList(argList);
//printf("root->tArgList=`%s'\n",argListToString(root->tArgList).data());
if (matching) // replace member's argument list
{
//printf("Setting scope template argument of member %s to %s\n",
// md->name().data(), argListToString(root->tArgList).data()
// );
//printf("Setting member template argument of member %s to %s\n",
// md->name().data(), argListToString(root->mtArgList).data()
// );
md->setDefinitionTemplateParameterLists(root->tArgLists);
md->setArgumentList(argList);
}
else // no match -> delete argument list
{
delete argList;
}
}
else // no match -> delete argument list
if (matching)
{
delete argList;
//printf("addMemberDocs root->inLine=%d md->isInline()=%d\n",
// root->inLine,md->isInline());
addMemberDocs(root,md,funcDecl,0,overloaded,nl);
count++;
memFound=TRUE;
}
}
if (matching)
{
//printf("addMemberDocs root->inLine=%d md->isInline()=%d\n",
// root->inLine,md->isInline());
addMemberDocs(root,md,funcDecl,0,overloaded,nl);
count++;
memFound=TRUE;
}
delete cl;
delete nl;
delete cl;
delete nl;
}
}
}
if (count==0 && root->parent && root->parent->section==Entry::OBJCIMPL_SEC)
{
goto localObjCMethod;
}
if (count==0 && !(isFriend && funcType=="class"))
{
int candidates=0;
if (mn->count()>0)
if (count==0 && root->parent && root->parent->section==Entry::OBJCIMPL_SEC)
{
for (mni.toFirst();(md=mni.current());++mni)
goto localObjCMethod;
}
if (count==0 && !(isFriend && funcType=="class"))
{
int candidates=0;
if (mn->count()>0)
{
ClassDef *cd=md->getClassDef();
if (cd!=0 && cd->name()==className)
for (mni.toFirst();(md=mni.current());++mni)
{
if (root->tArgLists && md->templateArguments() &&
root->tArgLists->getLast()->count()<=md->templateArguments()->count())
{ // assume we have found a template specialization
// for which there is only a definition, no declaration in
// the class. TODO: we should actually check whether
// the arguments match!
addMethodToClass(root,cd,md->name(),/*cd->name(),*/isFriend);
return;
ClassDef *cd=md->getClassDef();
if (cd!=0 && cd->name()==className)
{
if (root->tArgLists && md->templateArguments() &&
root->tArgLists->getLast()->count()<=md->templateArguments()->count())
{ // assume we have found a template specialization
// for which there is only a definition, no declaration in
// the class. TODO: we should actually check whether
// the arguments match!
addMethodToClass(root,cd,md->name(),/*cd->name(),*/isFriend);
return;
}
candidates++;
}
candidates++;
}
}
}
warn(root->fileName,root->startLine,
"Warning: no matching class member found for"
);
warn(root->fileName,root->startLine,
"Warning: no matching class member found for"
);
if (root->tArgLists)
{
QListIterator<ArgumentList> alli(*root->tArgLists);
ArgumentList *al;
for (;(al=alli.current());++alli)
if (root->tArgLists)
{
warn_cont(" template %s\n",tempArgListToString(al).data());
QListIterator<ArgumentList> alli(*root->tArgLists);
ArgumentList *al;
for (;(al=alli.current());++alli)
{
warn_cont(" template %s\n",tempArgListToString(al).data());
}
}
}
warn_cont(" %s\n",fullFuncDecl.data());
warn_cont(" %s\n",fullFuncDecl.data());
if (candidates>0)
{
warn_cont("Possible candidates:\n");
for (mni.toFirst();(md=mni.current());++mni)
if (candidates>0)
{
ClassDef *cd=md->getClassDef();
if (cd!=0 && cd->name()==className)
warn_cont("Possible candidates:\n");
for (mni.toFirst();(md=mni.current());++mni)
{
if (md->templateArguments())
ClassDef *cd=md->getClassDef();
if (cd!=0 && cd->name()==className)
{
warn_cont(" template %s\n",tempArgListToString(md->templateArguments()).data());
}
warn_cont(" ");
if (md->typeString())
{
warn_cont("%s ",md->typeString());
if (md->templateArguments())
{
warn_cont(" template %s\n",tempArgListToString(md->templateArguments()).data());
}
warn_cont(" ");
if (md->typeString())
{
warn_cont("%s ",md->typeString());
}
QCString qScope = cd->qualifiedNameWithTemplateParameters();
if (!qScope.isEmpty()) warn_cont("%s::%s",qScope.data(),md->name().data());
if (md->argsString()) warn_cont("%s",md->argsString());
warn_cont("\n");
}
QCString qScope = cd->qualifiedNameWithTemplateParameters();
if (!qScope.isEmpty()) warn_cont("%s::%s",qScope.data(),md->name().data());
if (md->argsString()) warn_cont("%s",md->argsString());
warn_cont("\n");
}
}
}
}
else // member specialization
{
MemberDef::MemberType mtype=MemberDef::Function;
ArgumentList *tArgList = new ArgumentList;
// getTemplateArgumentsFromName(cd->name()+"::"+funcName,root->tArgLists);
MemberDef *md=new MemberDef(
root->fileName,root->startLine,
funcType,funcName,funcArgs,exceptions,
root->protection,root->virt,root->stat,FALSE,
mtype,tArgList,root->argList);
//printf("new specialized member %s args=`%s'\n",md->name().data(),funcArgs.data());
if (root->tagInfo)
{
md->setAnchor(root->tagInfo->anchor);
md->setReference(root->tagInfo->tagName);
}
md->setMemberClass(cd);
md->setTemplateSpecialization(TRUE);
md->setDefinition(funcDecl);
md->enableCallGraph(root->callGraph);
md->setDocumentation(root->doc,root->docFile,root->docLine);
md->setInbodyDocumentation(root->inbodyDocs,root->inbodyFile,root->inbodyLine);
md->setDocsForDefinition(!root->proto);
md->setPrototype(root->proto);
md->addSectionsToDefinition(root->anchors);
md->setBodySegment(root->bodyLine,root->endBodyLine);
bool ambig;
FileDef *fd=findFileDef(Doxygen::inputNameDict,root->fileName,ambig);
md->setBodyDef(fd);
md->setMemberSpecifiers(root->memSpec);
md->setMemberGroupId(root->mGrpId);
mn->append(md);
cd->insertMember(md);
md->setRefItems(root->sli);
}
}
else if (overloaded) // check if the function belongs to only one class
{
......@@ -6683,7 +6721,7 @@ static void generateExampleDocs()
pd->docLine(), // startLine
pd, // context
0, // memberDef
pd->documentation()+"\n\\include "+pd->name(), // docs
pd->documentation()+"\n\n\\include "+pd->name(), // docs
TRUE, // index words
TRUE, // is example
pd->name()
......@@ -7073,7 +7111,7 @@ static void copyAndFilterFile(const char *fileName,BufStr &dest)
}
else
{
QCString cmd=filterName+" "+fileName;
QCString cmd=filterName+" \""+fileName+"\"";
FILE *f=popen(cmd,"r");
if (!f)
{
......@@ -7214,7 +7252,7 @@ static int readDir(QFileInfo *fi,
)
{
QDir dir((const char *)fi->absFilePath());
dir.setFilter( QDir::Files | QDir::Dirs );
dir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden );
int totalSize=0;
//printf("readDir `%s'\n",fi->absFilePath().data());
//printf("killDict=%p count=%d\n",killDict,killDict->count());
......@@ -7837,41 +7875,6 @@ void readConfiguration(int argc, char **argv)
setPerlModDoxyfile(configFileInfo.absFilePath());
Doxygen::xrefLists->setAutoDelete(TRUE);
#if 0
/* init the special lists */
Doxygen::specialLists->insert("todo",
new RefList("todo",
"GENERATE_TODOLIST",
theTranslator->trTodoList(),
theTranslator->trTodo()
//,BaseOutputDocInterface::Todo
)
);
Doxygen::specialLists->insert("test",
new RefList("test",
"GENERATE_TESTLIST",
theTranslator->trTestList(),
theTranslator->trTest()
//,BaseOutputDocInterface::Test
)
);
Doxygen::specialLists->insert("bug",
new RefList("bug",
"GENERATE_BUGLIST",
theTranslator->trBugList(),
theTranslator->trBug()
//,BaseOutputDocInterface::Bug
)
);
Doxygen::specialLists->insert("deprecated",
new RefList("deprecated",
"GENERATE_DEPRECATEDLIST",
theTranslator->trDeprecatedList(),
theTranslator->trDeprecated()
//,BaseOutputDocInterface::Deprecated
)
);
#endif
}
......@@ -7884,15 +7887,6 @@ void parseInput()
Doxygen::imageNameDict = new FileNameDict(257);
Doxygen::dotFileNameDict = new FileNameDict(257);
//if (!Config_getString("DOC_URL").isEmpty())
//{
// Doxygen::tagDestinationDict.insert("_doc",new QCString(Config_getString("DOC_URL")));
//}
//if (!Config_getString("CGI_URL").isEmpty())
//{
// Doxygen::tagDestinationDict.insert("_cgi",new QCString(Config_getString("CGI_URL")+"/"+Config_getString("CGI_NAME")));
//}
/**************************************************************************
* Initialize some global constants
**************************************************************************/
......@@ -8313,16 +8307,16 @@ void parseInput()
findEnums(root);
findEnumDocumentation(root);
msg("Searching for members imported via using declarations...\n");
findUsingDeclImports(root);
findUsingDeclarations(root);
msg("Searching for member function documentation...\n");
findObjCMethodDefinitions(root);
findMemberDocumentation(root); // may introduce new members !
transferRelatedFunctionDocumentation();
transferFunctionDocumentation();
msg("Searching for members imported via using declarations...\n");
findUsingDeclImports(root);
findUsingDeclarations(root);
msg("Building page list...\n");
buildPageList(root);
......
......@@ -222,7 +222,7 @@ void FileDef::writeDocumentation(OutputList &ol)
if (Config_getBool("SEARCHENGINE"))
{
Doxygen::searchIndex->setCurrentDoc(pageTitle,getOutputFileBase());
Doxygen::searchIndex->addWord(localName().lower());
Doxygen::searchIndex->addWord(localName());
}
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
......
......@@ -16,6 +16,7 @@
*/
#include <ctype.h>
#include <qregexp.h>
#include "qtbc.h"
#include "groupdef.h"
#include "classdef.h"
......@@ -457,14 +458,20 @@ void GroupDef::writeDocumentation(OutputList &ol)
//ol.disable(OutputGenerator::Man);
startFile(ol,getOutputFileBase(),name(),title);
startTitle(ol,getOutputFileBase());
ol.docify(title);
ol.parseText(title);
addGroupListToTitle(ol,this);
endTitle(ol,getOutputFileBase(),title);
if (Config_getBool("SEARCHENGINE"))
{
Doxygen::searchIndex->setCurrentDoc(title,getOutputFileBase());
Doxygen::searchIndex->addWord(localName().lower());
static QRegExp we("[a-zA-Z_][a-zA-Z_0-9]*");
int i=0,p=0,l=0;
while ((i=we.match(title,p,&l))!=-1) // foreach word in the title
{
Doxygen::searchIndex->addWord(title.mid(i,l));
p=i+l;
}
}
if (Config_getBool("DETAILS_AT_TOP"))
......
......@@ -26,9 +26,8 @@
#include "dot.h"
#include "message.h"
#include "config.h"
#include "htmlgen.h"
#define PREFRAG_START "<div class=\"fragment\"><pre>"
#define PREFRAG_END "</pre></div>"
static QString htmlAttribsToString(const HtmlAttribList &attribs)
{
......@@ -872,7 +871,7 @@ void HtmlDocVisitor::visitPost(DocParamSect *)
void HtmlDocVisitor::visitPre(DocParamList *pl)
{
if (m_hide) return;
m_t << " <tr><td>";
m_t << " <tr><td valign=\"top\">";
if (pl->direction()!=DocParamSect::Unspecified)
{
m_t << "<tt>[";
......@@ -890,7 +889,7 @@ void HtmlDocVisitor::visitPre(DocParamList *pl)
}
m_t << "]</tt>&nbsp;";
}
m_t << "</td><td valign=top><em>";
m_t << "</td><td valign=\"top\"><em>";
QStrListIterator li(pl->parameters());
const char *s;
bool first=TRUE;
......
......@@ -42,12 +42,11 @@
#define DBG_HTML(x)
static const char *defaultStyleSheet =
"H1 {\n"
" text-align: center;\n"
"BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {\n"
" font-family: Geneva, Arial, Helvetica, sans-serif;\n"
"}\n"
"H2 {\n"
" font-family: Geneva, Arial, Helvetica, sans-serif;\n"
"H1 {\n"
" text-align: center;\n"
"}\n"
"CAPTION { font-weight: bold }\n"
"DIV.qindex {\n"
......@@ -93,10 +92,15 @@ static const char *defaultStyleSheet =
"A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }\n"
"A.el { text-decoration: none; font-weight: bold }\n"
"A.elRef { font-weight: bold }\n"
"A.code { text-decoration: none; font-weight: normal; color: #1A419D}\n"
"A.codeRef { font-weight: normal; color: #1A419D}\n"
"A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}\n"
"A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}\n"
"A.codeRef:link { font-weight: normal; color: #0000FF}\n"
"A.codeRef:visited { font-weight: normal; color: #0000FF}\n"
"A:hover { text-decoration: none; background-color: #f2f2ff }\n"
"DL.el { margin-left: -1cm }\n"
".fragment {\n"
" font-family: monospace\n"
"}\n"
"PRE.fragment {\n"
" border: 1px solid #CCCCCC;\n"
" background-color: #f5f5f5;\n"
......@@ -109,11 +113,12 @@ static const char *defaultStyleSheet =
" padding-top: 4px;\n"
" padding-bottom: 4px;\n"
"}\n"
"DIV.fragment {\n"
" border: 1px solid #CCCCCC;\n"
" background-color: #f5f5f5;\n"
" padding: 6px;\n"
"}\n"
//"DIV.fragment {\n"
//" font-family: monospace\n"
//" border: 1px solid #CCCCCC;\n"
//" background-color: #f5f5f5;\n"
//" padding: 6px;\n"
//"}\n"
"DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }\n"
"TD.md { background-color: #F4F4FB; font-weight: bold; }\n"
"TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; }\n"
......@@ -123,7 +128,6 @@ static const char *defaultStyleSheet =
" margin-top: 12px;\n"
" margin-bottom: 6px;\n"
" font-weight: bold;\n"
" font-family: Geneva, Arial, Helvetica, sans-serif;\n"
"}\n"
"DIV.groupText { margin-left: 16px; font-style: italic; font-size: 14px }\n"
"BODY {\n"
......@@ -216,7 +220,6 @@ static const char *defaultStyleSheet =
" border-bottom-style: none;\n"
" border-left-style: none;\n"
" background-color: #FAFAFA;\n"
" font-family: Geneva, Arial, Helvetica, sans-serif;\n"
" font-size: 12px;\n"
"}\n"
".memItemRight {\n"
......@@ -235,7 +238,6 @@ static const char *defaultStyleSheet =
" border-bottom-style: none;\n"
" border-left-style: none;\n"
" background-color: #FAFAFA;\n"
" font-family: Geneva, Arial, Helvetica, sans-serif;\n"
" font-size: 13px;\n"
"}\n"
".search { color: #003399;\n"
......@@ -1535,7 +1537,7 @@ void HtmlGenerator::writeSearchPage()
t << "\n";
t << "function report_matches()\n";
t << "{\n";
t << " return \"" << theTranslator->trSearchMatches() << " \";\n";
t << " return \"" << theTranslator->trSearchMatches() << " \";\n";
t << "}\n";
t << "\n";
t << search_script;
......
......@@ -21,6 +21,9 @@
#include "qtbc.h"
#include "outputgen.h"
#define PREFRAG_START "<div class=\"fragment\"><pre class=\"fragment\">"
#define PREFRAG_END "</pre></div>"
class QFile;
class HtmlGenerator : public OutputGenerator
......@@ -112,8 +115,8 @@ class HtmlGenerator : public OutputGenerator
void writeRuler() { t << "<hr>"; }
void writeAnchor(const char *,const char *name)
{ t << "<a name=\"" << name <<"\"></a>"; }
void startCodeFragment() { t << "<pre class=\"fragment\"><div>"; }
void endCodeFragment() { t << "</div></pre>"; }
void startCodeFragment() { t << PREFRAG_START; }
void endCodeFragment() { t << PREFRAG_END; }
void writeLineNumber(const char *,const char *,const char *,int);
void startCodeLine() { col=0; }
void endCodeLine() { codify("\n"); }
......
......@@ -460,6 +460,7 @@ void ManDocVisitor::visitPre(DocSimpleList *)
{
if (m_hide) return;
m_indent+=2;
if (!m_firstCol) m_t << endl;
m_t << ".PD 0" << endl;
}
......@@ -507,6 +508,7 @@ void ManDocVisitor::visitPre(DocHtmlList *)
{
if (m_hide) return;
m_indent+=2;
if (!m_firstCol) m_t << endl;
m_t << ".PD 0" << endl;
}
......@@ -514,6 +516,7 @@ void ManDocVisitor::visitPost(DocHtmlList *)
{
if (m_hide) return;
m_indent-=2;
if (!m_firstCol) m_t << endl;
m_t << ".PP" << endl;
}
......@@ -741,6 +744,7 @@ void ManDocVisitor::visitPost(DocSecRefList *)
{
if (m_hide) return;
m_indent-=2;
if (!m_firstCol) m_t << endl;
m_t << ".PP" << endl;
}
......
......@@ -343,6 +343,7 @@ MemberDef::MemberDef(const char *df,int dl,
section=0;
groupAlias=0;
explExt=FALSE;
tspec=FALSE;
cachedAnonymousType=0;
maxInitLines=Config_getInt("MAX_INITIALIZER_LINES");
userInitLines=-1;
......@@ -834,8 +835,8 @@ void MemberDef::writeDeclaration(OutputList &ol,
if (Config_getBool("SEARCHENGINE"))
{
Doxygen::searchIndex->setCurrentDoc(qualifiedName(),getOutputFileBase(),anchor());
Doxygen::searchIndex->addWord(localName().lower());
Doxygen::searchIndex->addWord(qualifiedName().lower());
Doxygen::searchIndex->addWord(localName());
Doxygen::searchIndex->addWord(qualifiedName());
}
Definition *d=0;
......@@ -1248,7 +1249,6 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
htmlHelp->addIndexItem(cname,name(),cfname,anchor());
}
linkifyText(TextGeneratorOLImpl(ol),container,getBodyDef(),name(),ldef.left(i));
//ol+=*vmd->enumDecl();
vmd->writeEnumDeclaration(ol,getClassDef(),getNamespaceDef(),getFileDef(),getGroupDef());
linkifyText(TextGeneratorOLImpl(ol),container,getBodyDef(),name(),ldef.right(ldef.length()-i-l));
......@@ -1310,7 +1310,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
else // definition gets it template parameters from its class
// (since no definition was found)
{
if (cd)
if (cd && !isTemplateSpecialization())
{
QList<ArgumentList> tempParamLists;
cd->getTemplateParameterLists(tempParamLists);
......@@ -1670,7 +1670,6 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
ol.parseText(reimplFromLine.right(
reimplFromLine.length()-markerPos-2)); // text right from marker
ol.newParagraph();
}
else
{
......@@ -1751,7 +1750,6 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
index=newIndex+matchLen;
}
ol.parseText(reimplInLine.right(reimplInLine.length()-index));
ol.newParagraph();
}
}
// write the list of examples that use this member
......@@ -2003,9 +2001,14 @@ void MemberDef::addListReference(Definition *)
}
}
}
//printf("*** addListReference %s todo=%d test=%d bug=%d\n",name().data(),todoId(),testId(),bugId());
addRefItem(xrefListItems(),memLabel,
getOutputFileBase()+"#"+anchor(),memName,argsString());
if (xrefListItems())
{
addRefItem(xrefListItems(),memLabel,
getOutputFileBase()+"#"+anchor(),memName,argsString());
}
else
{
}
}
MemberList *MemberDef::getSectionList(Definition *d) const
......
......@@ -134,6 +134,7 @@ class MemberDef : public Definition
bool isWritable() const { return (memSpec&Entry::Writable)!=0; }
bool isImplementation() const { return m_implOnly; }
bool isExternal() const { return explExt; }
bool isTemplateSpecialization() const { return tspec; }
bool isObjCMethod() const;
bool isConstructor() const;
bool isDestructor() const;
......@@ -151,22 +152,23 @@ class MemberDef : public Definition
bool isDocumentedFriendClass() const;
// set functions
void setMemberType(MemberType t) { mtype=t; }
void setDefinition(const char *d) { def=d; }
void setFileDef(FileDef *fd) { fileDef=fd; }
void setMemberType(MemberType t) { mtype=t; }
void setDefinition(const char *d) { def=d; }
void setFileDef(FileDef *fd) { fileDef=fd; }
void setAnchor(const char *a);
void setProtection(Protection p) { prot=p; }
void setMemberSpecifiers(int s) { memSpec=s; }
void mergeMemberSpecifiers(int s) { memSpec|=s; }
void setProtection(Protection p) { prot=p; }
void setMemberSpecifiers(int s) { memSpec=s; }
void mergeMemberSpecifiers(int s) { memSpec|=s; }
void setInitializer(const char *i);
void setBitfields(const char *s) { bitfields = s; }
void setMaxInitLines(int lines) { userInitLines=lines; }
void setBitfields(const char *s) { bitfields = s; }
void setMaxInitLines(int lines) { userInitLines=lines; }
void setMemberClass(ClassDef *cd);
void setSectionList(Definition *d,MemberList *sl);
void setGroupDef(GroupDef *gd,Grouping::GroupPri_t pri,const QCString &fileName,int startLine,bool hasDocs);
void setExplicitExternal(bool b) { explExt=b; }
void setReadAccessor(const char *r) { read=r; }
void setWriteAccessor(const char *w) { write=w; }
void setExplicitExternal(bool b) { explExt=b; }
void setReadAccessor(const char *r) { read=r; }
void setWriteAccessor(const char *w) { write=w; }
void setTemplateSpecialization(bool b) { tspec=b; }
void makeRelated() { related=TRUE; }
......@@ -348,6 +350,7 @@ class MemberDef : public Definition
GroupDef *group; // group in which this member is in
bool explExt; // member was explicitly declared external
bool tspec; // member is a template specialization
ClassDef *cachedAnonymousType; // if the member has an anonymous compound
// as its type then this is computed by
......
......@@ -286,14 +286,14 @@ void MemberList::writePlainDeclarations(OutputList &ol,
{
if (md->fromAnonymousScope() && !md->anonymousDeclShown())
{
md->setFromAnonymousScope(FALSE);
//printf("anonymous compound members\n");
if (md->isBriefSectionVisible())
{
if (first) ol.startMemberList(),first=FALSE;
md->setFromAnonymousScope(FALSE);
md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup);
md->setFromAnonymousScope(TRUE);
}
md->setFromAnonymousScope(TRUE);
}
}
}
......
......@@ -275,15 +275,14 @@ void NamespaceDef::writeDocumentation(OutputList &ol)
}
startFile(ol,getOutputFileBase(),name(),pageTitle);
startTitle(ol,getOutputFileBase());
//ol.docify(pageTitle);
//ol.parseText(pageTitle);
ol.parseText(pageTitle);
addGroupListToTitle(ol,this);
endTitle(ol,getOutputFileBase(),displayName());
if (Config_getBool("SEARCHENGINE"))
{
Doxygen::searchIndex->setCurrentDoc(pageTitle,getOutputFileBase());
Doxygen::searchIndex->addWord(localName().lower());
Doxygen::searchIndex->addWord(localName());
}
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
......
......@@ -194,7 +194,7 @@ static FILE *checkAndOpenFile(const QCString &absName)
QCString filterName = getFileFilter(absName);
if (!filterName.isEmpty())
{
QCString cmd = filterName+" "+absName;
QCString cmd = filterName+" \""+absName+"\"";
f=popen(cmd,"r");
if (!f) err("Error: could not execute filter %s\n",cmd.data());
}
......@@ -1486,6 +1486,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
Define *def;
if ((def=isDefined(yytext))
/*&& !def->isPredefined*/
&& !def->nonRecursive
)
{
//printf("undefining %s\n",yytext);
......
......@@ -37,8 +37,8 @@
#include "rtfdocvisitor.h"
#include "docparser.h"
#define DBG_RTF(x) x;
//#define DBG_RTF(x)
//#define DBG_RTF(x) x;
#define DBG_RTF(x)
static QCString dateToRTFDateString()
{
......
......@@ -2589,9 +2589,21 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
{
varEntry->groups->append(new Grouping(*g));
}
if (current->sli) // copy special list items
{
QListIterator<ListItemInfo> li(*current->sli);
ListItemInfo *lii;
for (li.toFirst();(lii=li.current());++li)
{
varEntry->addSpecialListItem(lii->type,lii->itemId);
}
//delete current->sli;
//current->sli = 0;
}
//printf("Add: type=`%s',name=`%s',args=`%s'\n",
// varEntry->type.data(),varEntry->name.data(),varEntry->args.data());
//printf("Add: type=`%s',name=`%s',args=`%s' brief=%s doc=%s\n",
// varEntry->type.data(),varEntry->name.data(),
// varEntry->args.data(),varEntry->brief.data(),varEntry->doc.data());
current_root->addSubEntry(varEntry);
}
if (*yytext==';')
......
......@@ -14,9 +14,9 @@ function readString($file)
function readHeader($file)
{
$header =fgetc($file); $header.=fgetc($file);
$header.=fgetc($file); $header.=fgetc($file);
return $header;
$header =fgetc($file); $header.=fgetc($file);
$header.=fgetc($file); $header.=fgetc($file);
return $header;
}
function computeIndex($word)
......@@ -284,7 +284,7 @@ function main()
if (!in_array($word,$foundWords))
{
$foundWords[]=$word;
search($file,$word,$results);
search($file,strtolower($word),$results);
}
$word=strtok(" ");
}
......
......@@ -14,9 +14,9 @@
"\n"
"function readHeader($file)\n"
"{\n"
" $header =fgetc($file); $header.=fgetc($file);\n"
" $header.=fgetc($file); $header.=fgetc($file);\n"
" return $header;\n"
" $header =fgetc($file); $header.=fgetc($file);\n"
" $header.=fgetc($file); $header.=fgetc($file);\n"
" return $header;\n"
"}\n"
"\n"
"function computeIndex($word)\n"
......@@ -284,7 +284,7 @@
" if (!in_array($word,$foundWords))\n"
" {\n"
" $foundWords[]=$word;\n"
" search($file,$word,$results);\n"
" search($file,strtolower($word),$results);\n"
" }\n"
" $word=strtok(\" \");\n"
" }\n"
......
......@@ -81,12 +81,14 @@ static int charsToIndex(const char *word)
void SearchIndex::addWord(const char *word)
{
IndexWord *w = m_words[word];
QString wStr=QString(word).lower();
if (wStr.isEmpty()) return;
IndexWord *w = m_words[wStr];
if (w==0)
{
int idx=charsToIndex(word);
int idx=charsToIndex(wStr);
if (idx<0) return;
w = new IndexWord(word);
w = new IndexWord(wStr);
//fprintf(stderr,"addWord(%s) at index %d\n",word,idx);
m_index[idx]->append(w);
m_words.insert(word,w);
......
......@@ -152,204 +152,5 @@ class TranslatorAdapter_1_2_11 : public TranslatorAdapter_1_2_13
};
class TranslatorAdapter_1_2_7 : public TranslatorAdapter_1_2_11
{
public:
virtual QCString updateNeededMessage()
{ return createUpdateNeededMessage(idLanguage(),"release 1.2.7"); }
/*! These are the default implementations of the obsolete methods
* for introducing author/authors (possibly localized).
*/
virtual QCString trAuthors()
{ return "Author(s)"; }
virtual QCString trAuthor()
{ return "Author"; }
/*! This is the localized implementation of newer equivalent
* using the obsolete methods trAuthors() and trAuthor().
*/
virtual QCString trAuthor(bool first_capital, bool singular)
{
if (first_capital)
return (singular) ? trAuthor() : trAuthors(); // possibly localized
else
return english.trAuthor(first_capital, singular);
}
};
/*! \brief Translator adapter class for release 1.2.6
*
* Translator adapter for dealing with translator changes since
* release 1.2.6
*/
class TranslatorAdapter_1_2_6 : public TranslatorAdapter_1_2_7
{
public:
virtual QCString updateNeededMessage()
{ return createUpdateNeededMessage(idLanguage(),"release 1.2.6"); }
/*! Used as ansicpg for RTF file */
virtual QCString trRTFansicp()
{
return "1252";
}
/*! Used as ansicpg for RTF fcharset */
virtual QCString trRTFCharSet()
{
return "0";
}
/*! Used as header RTF general index */
virtual QCString trRTFGeneralIndex()
{
return "Index";
}
//////////////////////////////////////////////////////////////////
// The following methods were replaced by newer equivalent, but
// the obsolete method may be localized. Let's use the localized
// result if possible.
/*! This is the default implementation of the obsolete method
* used in the documentation of a group before the list of
* links to documented files. This is possibly localized.
*/
virtual QCString trFiles()
{ return "Files"; }
/*! This is the localized implementation of newer equivalent
* using the obsolete method trFiles().
*/
virtual QCString trFile(bool first_capital, bool singular)
{
if (first_capital && !singular)
return trFiles(); // possibly localized
else
return english.trFile(first_capital, singular);
}
/*! The latexBabelPackage() was superceeded by
* latexLanguageSupportCommand(). The default implementation
* of the obsolete method follows.
*/
virtual QCString latexBabelPackage()
{ return ""; }
/*! Default implementation of the newer method. */
virtual QCString latexLanguageSupportCommand()
{
QCString result(latexBabelPackage());
if (!result.isEmpty())
{
result = "\\usepackage[" + result;
result += "]{babel}\n";
}
return result;
}
virtual QCString idLanguageCharset()
{ return english.idLanguageCharset(); }
virtual QCString trClass(bool first_capital, bool singular)
{ return english.trClass(first_capital,singular); }
virtual QCString trNamespace(bool first_capital, bool singular)
{ return english.trNamespace(first_capital,singular); }
virtual QCString trGroup(bool first_capital, bool singular)
{ return english.trGroup(first_capital,singular); }
virtual QCString trPage(bool first_capital, bool singular)
{ return english.trPage(first_capital,singular); }
virtual QCString trMember(bool first_capital, bool singular)
{ return english.trMember(first_capital,singular); }
virtual QCString trField(bool first_capital, bool singular)
{ return english.trField(first_capital,singular); }
virtual QCString trGlobal(bool first_capital, bool singular)
{ return english.trGlobal(first_capital,singular); }
};
/*! \brief Translator adapter class for release 1.2.5
*
* Translator adapter for dealing with translator changes since
* release 1.2.5
*/
class TranslatorAdapter_1_2_5 : public TranslatorAdapter_1_2_6
{
public:
virtual QCString updateNeededMessage()
{ return createUpdateNeededMessage(idLanguage(),"release 1.2.5"); }
virtual QCString trBug()
{ return english.trBug(); }
virtual QCString trBugList()
{ return english.trBugList(); }
};
/*! \brief Translator adapter class for release 1.2.4
*
* Translator adapter for dealing with translator changes since
* release 1.2.4
*/
class TranslatorAdapter_1_2_4 : public TranslatorAdapter_1_2_5
{
public:
virtual QCString updateNeededMessage()
{ return createUpdateNeededMessage(idLanguage(),"release 1.2.4"); }
virtual QCString trInterfaces()
{ return english.trInterfaces(); }
virtual QCString trClasses()
{ return english.trClasses(); }
virtual QCString trPackage(const char *name)
{ return english.trPackage(name); }
virtual QCString trPackageList()
{ return english.trPackageList(); }
virtual QCString trPackageListDescription()
{ return english.trPackageListDescription(); }
virtual QCString trPackages()
{ return english.trPackages(); }
virtual QCString trPackageDocumentation()
{ return english.trPackageDocumentation(); }
virtual QCString trDefineValue()
{ return english.trDefineValue(); }
};
/*! \brief Translator adapter class for release 1.2.2
*
* Translator adapter for dealing with translator changes since
* release 1.2.2
*/
class TranslatorAdapter_1_2_2 : public TranslatorAdapter_1_2_4
{
public:
virtual QCString updateNeededMessage()
{ return createUpdateNeededMessage(idLanguage(),"release 1.2.2"); }
virtual QCString trProperties()
{ return english.trProperties(); }
virtual QCString trPropertyDocumentation()
{ return english.trPropertyDocumentation(); }
};
#endif
......@@ -2012,6 +2012,7 @@ void trimBaseClassScope(BaseClassList *bcl,QCString &s,int level=0)
}
}
#if 0
/*! if either t1 or t2 contains a namespace scope, then remove that
* scope. If neither or both have a namespace scope, t1 and t2 remain
* unchanged.
......@@ -2086,6 +2087,7 @@ static void trimNamespaceScope(QCString &t1,QCString &t2,const QCString &nsName)
p2 = QMAX(i2-2,0);
}
}
#endif
/*! According to the C++ spec and Ivan Vecerina:
......@@ -2227,7 +2229,7 @@ static bool matchArgument(const Argument *srcA,const Argument *dstA,
//srcAType=stripTemplateSpecifiersFromScope(srcAType,FALSE);
//dstAType=stripTemplateSpecifiersFromScope(dstAType,FALSE);
//printf("srcA=%s:%s dstA=%s:%s\n",srcAType.data(),srcA->name.data(),
//printf("srcA=%s|%s dstA=%s|%s\n",srcAType.data(),srcA->name.data(),
// dstAType.data(),dstA->name.data());
if (srcA->array!=dstA->array) // nomatch for char[] against char
......@@ -2240,7 +2242,9 @@ static bool matchArgument(const Argument *srcA,const Argument *dstA,
// remove a namespace scope that is only in one type
// (assuming a using statement was used)
trimNamespaceScope(srcAType,dstAType,namespaceName);
//printf("Trimming %s<->%s: %s\n",srcAType.data(),dstAType.data(),namespaceName.data());
//trimNamespaceScope(srcAType,dstAType,namespaceName);
//printf("After Trimming %s<->%s\n",srcAType.data(),dstAType.data());
//QCString srcScope;
//QCString dstScope;
......@@ -2268,6 +2272,7 @@ static bool matchArgument(const Argument *srcA,const Argument *dstA,
srcAType=trimScope(namespaceName,srcAType);
dstAType=trimScope(namespaceName,dstAType);
}
//printf("#usingNamespace=%d\n",usingNamespaces->count());
if (usingNamespaces && usingNamespaces->count()>0)
{
NamespaceSDict::Iterator nli(*usingNamespaces);
......@@ -2278,6 +2283,7 @@ static bool matchArgument(const Argument *srcA,const Argument *dstA,
dstAType=trimScope(nd->name(),dstAType);
}
}
//printf("#usingClasses=%d\n",usingClasses->count());
if (usingClasses && usingClasses->count()>0)
{
SDict<Definition>::Iterator cli(*usingClasses);
......@@ -2289,7 +2295,7 @@ static bool matchArgument(const Argument *srcA,const Argument *dstA,
}
}
//printf("2. srcA=%s:%s dstA=%s:%s\n",srcAType.data(),srcA->name.data(),
//printf("2. srcA=%s|%s dstA=%s|%s\n",srcAType.data(),srcA->name.data(),
// dstAType.data(),dstA->name.data());
if (!srcA->name.isEmpty() && !dstA->type.isEmpty() &&
......@@ -4200,7 +4206,8 @@ QList<ArgumentList> *copyArgumentLists(const QList<ArgumentList> *srcLists)
* strip both unless A<T> or B<S> are specialized template classes.
*/
QCString stripTemplateSpecifiersFromScope(const QCString &fullName,
bool parentOnly)
bool parentOnly,
QCString *pLastScopeStripped)
{
QCString result;
int p=0;
......@@ -4237,6 +4244,10 @@ QCString stripTemplateSpecifiersFromScope(const QCString &fullName,
result+=fullName.mid(i,e-i);
//printf("2:result+=%s\n",fullName.mid(i,e-i-1).data());
}
else if (pLastScopeStripped)
{
*pLastScopeStripped=fullName.mid(i,e-i);
}
p=e;
i=fullName.find('<',p);
}
......@@ -4420,7 +4431,7 @@ void addRefItem(const QList<ListItemInfo> *sli,
const char *prefix,
const char *name,const char *title,const char *args)
{
//printf("addRefItem(%s,%s,%s,%s)\n",prefix,name,title,args);
//printf("addRefItem(prefix=%s,name=%s,title=%s,args=%s)\n",prefix,name,title,args);
if (sli)
{
QListIterator<ListItemInfo> slii(*sli);
......@@ -4440,8 +4451,8 @@ void addRefItem(const QList<ListItemInfo> *sli,
{
RefItem *item = refList->getRefItem(lii->itemId);
ASSERT(item!=0);
if (item->written) return;
//printf("anchor=%s\n",item->listAnchor.data());
if (item->written) return;
QCString doc(1000);
doc = "\\anchor ";
......
......@@ -190,7 +190,8 @@ QCString substituteTemplateArgumentsInString(
ArgumentList *copyArgumentList(const ArgumentList *src);
QList<ArgumentList> *copyArgumentLists(const QList<ArgumentList> *srcLists);
QCString stripTemplateSpecifiersFromScope(const QCString &fullName,
bool parentOnly=TRUE);
bool parentOnly=TRUE,
QCString *lastScopeStripped=0);
QCString resolveTypeDef(Definition *d,const QCString &name,
Definition **typedefContext=0);
QCString mergeScopes(const QCString &leftScope,const QCString &rightScope);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment