Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
doxverilog
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
doxverilog
Commits
bb18b811
Commit
bb18b811
authored
Aug 12, 2004
by
dimitri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.3.8-20040812
parent
6e8975ab
Changes
37
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
858 additions
and
1539 deletions
+858
-1539
INSTALL
INSTALL
+2
-2
README
README
+2
-2
VERSION
VERSION
+1
-1
Makefile.in
doc/Makefile.in
+1
-1
config.doc
doc/config.doc
+5
-3
language.doc
doc/language.doc
+13
-13
maintainers.txt
doc/maintainers.txt
+6
-5
translator.py
doc/translator.py
+18
-3
translator_report.txt
doc/translator_report.txt
+407
-959
trouble.doc
doc/trouble.doc
+2
-0
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
classdef.cpp
src/classdef.cpp
+3
-1
commentcnv.l
src/commentcnv.l
+7
-2
config.l
src/config.l
+3
-1
definition.cpp
src/definition.cpp
+1
-4
docparser.cpp
src/docparser.cpp
+5
-3
doctokenizer.l
src/doctokenizer.l
+2
-1
doxygen.cpp
src/doxygen.cpp
+259
-265
filedef.cpp
src/filedef.cpp
+1
-1
groupdef.cpp
src/groupdef.cpp
+9
-2
htmldocvisitor.cpp
src/htmldocvisitor.cpp
+3
-4
htmlgen.cpp
src/htmlgen.cpp
+17
-15
htmlgen.h
src/htmlgen.h
+5
-2
mandocvisitor.cpp
src/mandocvisitor.cpp
+4
-0
memberdef.cpp
src/memberdef.cpp
+12
-9
memberdef.h
src/memberdef.h
+14
-11
memberlist.cpp
src/memberlist.cpp
+2
-2
namespacedef.cpp
src/namespacedef.cpp
+2
-3
pre.l
src/pre.l
+2
-1
rtfgen.cpp
src/rtfgen.cpp
+2
-2
scanner.l
src/scanner.l
+14
-2
search.php
src/search.php
+4
-4
search_php.h
src/search_php.h
+4
-4
searchindex.cpp
src/searchindex.cpp
+5
-3
translator_adapter.h
src/translator_adapter.h
+1
-200
util.cpp
src/util.cpp
+17
-6
util.h
src/util.h
+2
-1
No files found.
INSTALL
View file @
bb18b811
DOXYGEN Version 1.3.8-200408
03
DOXYGEN Version 1.3.8-200408
12
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)
README
View file @
bb18b811
DOXYGEN Version 1.3.8_200408
03
DOXYGEN Version 1.3.8_200408
12
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)
VERSION
View file @
bb18b811
1.3.8-200408
03
1.3.8-200408
12
doc/Makefile.in
View file @
bb18b811
...
...
@@ -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
...
...
doc/config.doc
View file @
bb18b811
...
...
@@ -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
head
er file should contain
each generated HTML page. To get valid HTML the
foot
er 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
head
er:
The following commands have a special meaning inside the
foot
er:
<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>
...
...
doc/language.doc
View file @
bb18b811
...
...
@@ -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øe Sørensen</td>
<td>erik
at mail dot nu
</td>
<td>
1.3.8
</td>
<td>erik
soe+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öldvári György<br>Á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>Matja
z Ostrovers
nik</td>
<td>matjaz.ostroversnik at z
rs-tk
dot si</td>
<td>Matja
ž Ostroverš
nik</td>
<td>matjaz.ostroversnik at z
tm
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 erik
soe+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 & Matja
z 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
...
...
doc/maintainers.txt
View file @
bb18b811
...
...
@@ -33,7 +33,7 @@ TranslatorCzech
Petr Přikryl: prikrylp@skil.cz
TranslatorDanish
Erik Søe Sørensen: erik
@mail.nu
Erik Søe Sørensen: erik
soe+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öldvári György: foldvari
@diatronltd.com
Földvári György: foldvari
lost@cyberspace
Ákos Kiss: akiss@users.sourceforge.net
TranslatorItalian
...
...
@@ -97,7 +97,7 @@ TranslatorSlovak
Stanislav Kudláč: skudlac@pobox.sk
TranslatorSlovene
Matja
z Ostroversnik: matjaz.ostroversnik@zrs-tk
.si
Matja
ž Ostroverš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
doc/translator.py
View file @
bb18b811
...
...
@@ -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
(
'
\n
Note: 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
:
...
...
doc/translator_report.txt
View file @
bb18b811
This diff is collapsed.
Click to expand it.
doc/trouble.doc
View file @
bb18b811
...
...
@@ -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>
...
...
packages/rpm/doxygen.spec
View file @
bb18b811
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.3.8_200408
03
Version: 1.3.8_200408
12
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
...
...
src/classdef.cpp
View file @
bb18b811
...
...
@@ -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
()
...
...
src/commentcnv.l
View file @
bb18b811
...
...
@@ -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)
{
...
...
src/config.l
View file @
bb18b811
...
...
@@ -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(
...
...
src/definition.cpp
View file @
bb18b811
...
...
@@ -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
();
}
...
...
src/docparser.cpp
View file @
bb18b811
...
...
@@ -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
())
{
...
...
src/doctokenizer.l
View file @
bb18b811
...
...
@@ -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}[\\@<>&$#%~]
...
...
src/doxygen.cpp
View file @
bb18b811
This diff is collapsed.
Click to expand it.
src/filedef.cpp
View file @
bb18b811
...
...
@@ -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
())
...
...
src/groupdef.cpp
View file @
bb18b811
...
...
@@ -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"
))
...
...
src/htmldocvisitor.cpp
View file @
bb18b811
...
...
@@ -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> "
;
}
m_t
<<
"</td><td valign=
top
><em>"
;
m_t
<<
"</td><td valign=
\"
top
\"
><em>"
;
QStrListIterator
li
(
pl
->
parameters
());
const
char
*
s
;
bool
first
=
TRUE
;
...
...
src/htmlgen.cpp
View file @
bb18b811
...
...
@@ -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
"
"H
2
{
\n
"
"
font-family: Geneva, Arial, Helvetica, sans-serif
;
\n
"
"H
1
{
\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
;
...
...
src/htmlgen.h
View file @
bb18b811
...
...
@@ -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
"
);
}
...
...
src/mandocvisitor.cpp
View file @
bb18b811
...
...
@@ -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
;
}
...
...
src/memberdef.cpp
View file @
bb18b811
...
...
@@ -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
...
...
src/memberdef.h
View file @
bb18b811
...
...
@@ -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
...
...
src/memberlist.cpp
View file @
bb18b811
...
...
@@ -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
);
}
}
}
...
...
src/namespacedef.cpp
View file @
bb18b811
...
...
@@ -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
())
...
...
src/pre.l
View file @
bb18b811
...
...
@@ -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);
...
...
src/rtfgen.cpp
View file @
bb18b811
...
...
@@ -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
()
{
...
...
src/scanner.l
View file @
bb18b811
...
...
@@ -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==';')
...
...
src/search.php
View file @
bb18b811
...
...
@@ -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
(
" "
);
}
...
...
src/search_php.h
View file @
bb18b811
...
...
@@ -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
"
...
...
src/searchindex.cpp
View file @
bb18b811
...
...
@@ -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
(
w
ord
);
int
idx
=
charsToIndex
(
w
Str
);
if
(
idx
<
0
)
return
;
w
=
new
IndexWord
(
w
ord
);
w
=
new
IndexWord
(
w
Str
);
//fprintf(stderr,"addWord(%s) at index %d\n",word,idx);
m_index
[
idx
]
->
append
(
w
);
m_words
.
insert
(
word
,
w
);
...
...
src/translator_adapter.h
View file @
bb18b811
...
...
@@ -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
src/util.cpp
View file @
bb18b811
...
...
@@ -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 "
;
...
...
src/util.h
View file @
bb18b811
...
...
@@ -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
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment