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
12ea1b84
Commit
12ea1b84
authored
Sep 04, 2003
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.3.3-20030904
parent
5b0de0b4
Changes
27
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
389 additions
and
234 deletions
+389
-234
Doxyfile
Doxyfile
+1
-1
INSTALL
INSTALL
+2
-2
Makefile.in
Makefile.in
+1
-0
README
README
+2
-2
VERSION
VERSION
+1
-1
configure
configure
+2
-2
language.doc
doc/language.doc
+17
-9
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
code.l
src/code.l
+26
-12
compound.xsd
src/compound.xsd
+2
-2
compound_xsd.h
src/compound_xsd.h
+2
-2
config.l
src/config.l
+32
-32
doxygen.cpp
src/doxygen.cpp
+21
-5
doxytag.l
src/doxytag.l
+1
-2
htmlhelp.cpp
src/htmlhelp.cpp
+21
-20
lang_cfg.h
src/lang_cfg.h
+1
-0
language.cpp
src/language.cpp
+4
-5
latexgen.cpp
src/latexgen.cpp
+2
-1
libdoxygen.pro.in
src/libdoxygen.pro.in
+1
-0
memberdef.cpp
src/memberdef.cpp
+19
-19
scanner.l
src/scanner.l
+2
-0
translator_es.h
src/translator_es.h
+49
-0
translator_je.h
src/translator_je.h
+67
-0
translator_jp.h
src/translator_jp.h
+58
-84
util.cpp
src/util.cpp
+31
-19
util.h
src/util.h
+9
-3
xmlgen.cpp
src/xmlgen.cpp
+14
-10
No files found.
Doxyfile
View file @
12ea1b84
...
...
@@ -10,7 +10,7 @@ OUTPUT_LANGUAGE = English
EXTRACT_ALL = YES
EXTRACT_PRIVATE = NO
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES =
NO
EXTRACT_LOCAL_CLASSES =
YES
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
BRIEF_MEMBER_DESC = YES
...
...
INSTALL
View file @
12ea1b84
DOXYGEN Version 1.3.3-20030
82
4
DOXYGEN Version 1.3.3-20030
90
4
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (
24 August
2003)
Dimitri van Heesch (
04 September
2003)
Makefile.in
View file @
12ea1b84
...
...
@@ -25,6 +25,7 @@ distclean: clean
-
rm
-f
lib/lib
*
-
rm
-f
bin/doxy
*
-
rm
-f
html
-
rm
-f
latex
-
rm
-f
objects/
*
.o
-
rm
-f
src/Makefile.doxygen src/Makefile.libdoxygen
-
rm
-f
src/Makefile.doxytag src/Makefile.libdoxycfg
...
...
README
View file @
12ea1b84
DOXYGEN Version 1.3.3_20030
82
4
DOXYGEN Version 1.3.3_20030
90
4
Please read INSTALL for compilation instructions.
...
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (
24 August
2003)
Dimitri van Heesch (dimitri@stack.nl) (
04 September
2003)
VERSION
View file @
12ea1b84
1.3.3-20030
82
4
1.3.3-20030
90
4
configure
View file @
12ea1b84
...
...
@@ -27,7 +27,7 @@ f_prefix=/usr
f_insttool
=
NO
f_english
=
NO
f_wizard
=
NO
f_langs
=
nl
,se,cz,fr,it,de,jp,es,fi,ru,hr,pl,pt,hu,kr,ro,si,cn,no,br,dk,sk,ua,gr,tw,sr,ca
f_langs
=
nl
,se,cz,fr,it,de,jp,
je,
es,fi,ru,hr,pl,pt,hu,kr,ro,si,cn,no,br,dk,sk,ua,gr,tw,sr,ca
while
test
-n
"
$1
"
;
do
case
$1
in
...
...
@@ -485,7 +485,7 @@ done
echo
-n
" Generating src/lang_cfg.h..."
echo
$f_langs
|
$f_perl
-e
'@l=split(/,/,<STDIN>);
chomp @l;
@allowed=(NL,SE,CZ,FR,IT,DE,JP,ES,FI,RU,HR,PL,PT,HU,KR,RO,SI,CN,NO,BR,
@allowed=(NL,SE,CZ,FR,IT,DE,JP,
JE,
ES,FI,RU,HR,PL,PT,HU,KR,RO,SI,CN,NO,BR,
DK,SK,UA,GR,TW,SR,CA);
foreach my $elem (@l){
$elem =~ tr/a-z/A-Z/;
...
...
doc/language.doc
View file @
12ea1b84
...
...
@@ -25,14 +25,14 @@ Doxygen has built-in support for multiple languages. This means
that the text fragments that doxygen generates can be produced in
languages other than English (the default) at configuration time.
Currently (version 1.3.3
), 28
languages
Currently (version 1.3.3
-20030824), 29
languages
are supported (sorted alphabetically):
Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian,
Czech, Danish, Dutch, English, Finnish,
French, German, Greek, Hungarian, Italian,
Japanese,
Korean, Norwegian, Polish, Portuguese
,
Romanian, Russian, Serbian, Slovak, Slovene
,
Spanish, Swedish, and Ukrainian.
Japanese,
JapaneseEn, Korean, Norwegian, Polish
,
Portuguese, Romanian, Russian, Serbian, Slovak
,
S
lovene, S
panish, Swedish, and Ukrainian.
The table of information related to the supported languages follows.
It is sorted by language alphabetically. The <b>Status</b> column
...
...
@@ -85,7 +85,7 @@ when the translator was updated.
<TD>Czech</TD>
<TD>Petr Přikryl</TD>
<TD>prikrylp@NOSPAM.skil.cz</TD>
<TD>
1.3.3
</TD>
<TD>
up-to-date
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Danish</TD>
...
...
@@ -145,6 +145,12 @@ when the translator was updated.
<TD>Japanese</TD>
<TD>Ryunosuke Satoh<br>Kenji Nagamatsu</TD>
<TD>sun594@NOSPAM.hotmail.com<br>naga@NOSPAM.joyful.club.ne.jp</TD>
<TD>1.3.3</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>JapaneseEn</TD>
<TD>unknown</TD>
<TD>unknown</TD>
<TD>obsolete</TD>
</TR>
<TR BGCOLOR="#ffffff">
...
...
@@ -205,7 +211,7 @@ when the translator was updated.
<TD>Spanish</TD>
<TD>Francisco Oltra Thennet</TD>
<TD>foltra@NOSPAM.puc.cl</TD>
<TD>1.
2.7
</TD>
<TD>1.
3.3
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Swedish</TD>
...
...
@@ -242,7 +248,7 @@ when the translator was updated.
\hline
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} & 1.3.1 \\
\hline
Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} &
1.3.3
\\
Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} &
up-to-date
\\
\hline
Danish & Erik S\o{}e S\o{}rensen & {\tt erik@mail.nu} & strange \\
\hline
...
...
@@ -263,9 +269,11 @@ when the translator was updated.
Italian & Alessandro Falappa & {\tt alessandro@falappa.net} & 1.3.3 \\
& Ahmed Aldo Faisal & {\tt aaf23@cam.ac.uk} & \\
\hline
Japanese & Ryunosuke Satoh & {\tt sun594@hotmail.com} &
obsolete
\\
Japanese & Ryunosuke Satoh & {\tt sun594@hotmail.com} &
1.3.3
\\
& Kenji Nagamatsu & {\tt naga@joyful.club.ne.jp} & \\
\hline
JapaneseEn & unknown & {\tt unknown} & obsolete \\
\hline
Korean & Richard Kim & {\tt ryk@dspwiz.com} & strange \\
\hline
Norwegian & Lars Erik Jordet & {\tt lej@circuitry.no} & 1.2.2 \\
...
...
@@ -285,7 +293,7 @@ when the translator was updated.
\hline
Slovene & Matjaz Ostroversnik & {\tt matjaz.ostroversnik@zrs-tk.si} & 1.2.16 \\
\hline
Spanish & Francisco Oltra Thennet & {\tt foltra@puc.cl} & 1.
2.7
\\
Spanish & Francisco Oltra Thennet & {\tt foltra@puc.cl} & 1.
3.3
\\
\hline
Swedish & XeT Erixon & {\tt xet@hem.passagen.se} & 1.3.3 \\
\hline
...
...
packages/rpm/doxygen.spec
View file @
12ea1b84
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.3.3_20030
82
4
Version: 1.3.3_20030
90
4
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
...
...
src/code.l
View file @
12ea1b84
...
...
@@ -648,19 +648,17 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName,
QCString className=clName;
if (className.isEmpty()) return;
ClassDef *cd=0;
MemberDef *md=0;
if (!g_theVarContext.findVariable(className)) // not a local variable
{
Definition *d = g_currentDefinition;
cd = getResolvedClass(d,g_sourceFileDef,className);
if (cd==0 && (i=className.find('<'))!=-1)
cd = getResolvedClass(d,g_sourceFileDef,className
,&md
);
if (cd==0 &&
md==0 &&
(i=className.find('<'))!=-1)
{
cd=getResolvedClass(d,g_sourceFileDef,className.left(i));
cd=getResolvedClass(d,g_sourceFileDef,className.left(i)
,&md
);
}
}
else
{
}
if (cd && cd->isLinkable()) // is it a linkable class
{
//printf("is linkable class %s\n",clName);
...
...
@@ -677,17 +675,33 @@ static void generateClassOrGlobalLink(BaseCodeDocInterface &ol,char *clName,
}
}
writeMultiLineCodeLink(ol,cd->getReference(),cd->getOutputFileBase(),0,className);
if (md)
{
Definition *d = md->getOuterScope()==Doxygen::globalScope ?
md->getBodyDef() : md->getOuterScope();
if (md->getGroupDef()) d = md->getGroupDef();
if (d && d->isLinkable() && md->isLinkable() && g_currentMemberDef)
{
addDocCrossReference(g_currentMemberDef,md);
}
}
}
else
{
//printf("class %s not linkable! cd=%p\n",clName,cd);
//printf("typeOnly=%d\n",typeOnly);
if (cd==0 && !typeOnly) // not a class, see if it is a global enum/variable/typedef.
//printf("class %s not linkable! cd=%p md=%p typeOnly=%d\n",clName,cd,md,typeOnly);
if (md!=0 || (cd==0 && !typeOnly)) // not a class, see if it is a global enum/variable/typedef.
{
MemberDef *md = setCallContextForVar(clName);
//printf("is a global md=%p g_currentDefinition=%s\n",md,g_currentDefinition?g_currentDefinition->name().data():"<none>");
if (md && (g_currentDefinition==0 || isAccessibleFrom(g_currentDefinition,g_sourceFileDef,md)!=-1))
if (md==0) // not found as a typedef
{
md = setCallContextForVar(clName);
if (md && g_currentDefinition!=0 && !isAccessibleFrom(g_currentDefinition,g_sourceFileDef,md)==-1)
{
md=0; // variable not accessible
}
}
if (md)
{
//printf("is a global md=%p g_currentDefinition=%s\n",md,g_currentDefinition?g_currentDefinition->name().data():"<none>");
Definition *d = md->getOuterScope()==Doxygen::globalScope ?
md->getBodyDef() : md->getOuterScope();
//printf("definition %s\n",d?d->name().data():"<none>");
...
...
src/compound.xsd
View file @
12ea1b84
...
...
@@ -120,7 +120,7 @@
<xsd:attribute
name=
"mutable"
type=
"DoxBool"
/>
</xsd:complexType>
<xsd:complexType
name=
"descriptionType"
>
<xsd:complexType
name=
"descriptionType"
mixed=
"true"
>
<xsd:sequence>
<xsd:element
name=
"para"
type=
"docParaType"
minOccurs=
"0"
maxOccurs=
"unbounded"
/>
<xsd:element
name=
"sect1"
type=
"docSect1Type"
minOccurs=
"0"
maxOccurs=
"unbounded"
/>
...
...
@@ -244,7 +244,7 @@
<xsd:element
name=
"para"
type=
"docParaType"
minOccurs=
"0"
maxOccurs=
"unbounded"
/>
<xsd:element
name=
"sect3"
type=
"docSect3Type"
minOccurs=
"0"
maxOccurs=
"unbounded"
/>
<xsd:element
name=
"internal"
type=
"docInternalS2Type"
minOccurs=
"0"
/>
<
/xsd:sequence
e
</xsd:sequence
>
<xsd:attribute
name=
"id"
/>
</xsd:complexType>
...
...
src/compound_xsd.h
View file @
12ea1b84
...
...
@@ -120,7 +120,7 @@
" <xsd:attribute name=
\"
mutable
\"
type=
\"
DoxBool
\"
/>
\n
"
" </xsd:complexType>
\n
"
"
\n
"
" <xsd:complexType name=
\"
descriptionType
\"
>
\n
"
" <xsd:complexType name=
\"
descriptionType
\"
mixed=
\"
true
\"
>
\n
"
" <xsd:sequence>
\n
"
" <xsd:element name=
\"
para
\"
type=
\"
docParaType
\"
minOccurs=
\"
0
\"
maxOccurs=
\"
unbounded
\"
/>
\n
"
" <xsd:element name=
\"
sect1
\"
type=
\"
docSect1Type
\"
minOccurs=
\"
0
\"
maxOccurs=
\"
unbounded
\"
/>
\n
"
...
...
@@ -244,7 +244,7 @@
" <xsd:element name=
\"
para
\"
type=
\"
docParaType
\"
minOccurs=
\"
0
\"
maxOccurs=
\"
unbounded
\"
/>
\n
"
" <xsd:element name=
\"
sect3
\"
type=
\"
docSect3Type
\"
minOccurs=
\"
0
\"
maxOccurs=
\"
unbounded
\"
/>
\n
"
" <xsd:element name=
\"
internal
\"
type=
\"
docInternalS2Type
\"
minOccurs=
\"
0
\"
/>
\n
"
" </xsd:sequence
e
\n
"
" </xsd:sequence
>
\n
"
" <xsd:attribute name=
\"
id
\"
/>
\n
"
" </xsd:complexType>
\n
"
"
\n
"
...
...
src/config.l
View file @
12ea1b84
...
...
@@ -1175,38 +1175,38 @@ void Config::check()
// }
//
// }
// check perl path
bool found=FALSE;
QCString &perlPath = Config_getString("PERL_PATH");
if (perlPath.isEmpty())
{
QFileInfo fi;
fi.setFile("/usr/bin/perl");
if (fi.exists())
{
perlPath="/usr/bin/perl";
found=TRUE;
}
else
{
fi.setFile("/usr/local/bin/perl");
if (fi.exists())
{
perlPath="/usr/local/bin/perl";
found=TRUE;
}
}
}
if (!found)
{
QFileInfo fi(perlPath);
if (!fi.exists())
{
config_warn("Warning: tag PERL_PATH: perl interpreter not found at default or"
"user specified (%s) location\n",
perlPath.data());
}
}
//
// check perl path
//
bool found=FALSE;
//
QCString &perlPath = Config_getString("PERL_PATH");
//
if (perlPath.isEmpty())
//
{
//
QFileInfo fi;
//
fi.setFile("/usr/bin/perl");
//
if (fi.exists())
//
{
//
perlPath="/usr/bin/perl";
//
found=TRUE;
//
}
//
else
//
{
//
fi.setFile("/usr/local/bin/perl");
//
if (fi.exists())
//
{
//
perlPath="/usr/local/bin/perl";
//
found=TRUE;
//
}
//
}
//
}
//
if (!found)
//
{
//
QFileInfo fi(perlPath);
//
if (!fi.exists())
//
{
//
config_warn("Warning: tag PERL_PATH: perl interpreter not found at default or"
//
"user specified (%s) location\n",
//
perlPath.data());
//
}
//
}
#undef PUTENV
#undef SEP
...
...
src/doxygen.cpp
View file @
12ea1b84
...
...
@@ -2257,6 +2257,11 @@ static void buildFunctionList(Entry *root)
matchArguments
(
md
->
argumentList
(),
root
->
argList
,
0
,
nsName
,
FALSE
,
unl
,
ucl
)
)
{
GroupDef
*
gd
=
0
;
if
(
root
->
groups
->
first
()
!=
0
)
{
gd
=
Doxygen
::
groupSDict
[
root
->
groups
->
first
()
->
groupname
.
data
()];
}
//printf("match!\n");
// see if we need to create a new member
found
=
(
nd
&&
rnd
&&
nsName
==
rnsName
)
||
// members are in the same namespace
...
...
@@ -2265,6 +2270,11 @@ static void buildFunctionList(Entry *root)
)
);
// otherwise, allow a duplicate global member with the same argument list
if
(
!
found
&&
gd
&&
gd
==
md
->
getGroupDef
())
{
// member is already in the group, so we don't want to add it again.
found
=
TRUE
;
}
//printf("combining function with prototype found=%d in namespace %s\n",
// found,nsName.data());
...
...
@@ -2325,12 +2335,13 @@ static void buildFunctionList(Entry *root)
md
->
enableCallGraph
(
md
->
hasCallGraph
()
||
root
->
callGraph
);
// merge ingroup specifiers
if
(
md
->
getGroupDef
()
==
0
&&
root
->
groups
->
first
())
if
(
md
->
getGroupDef
()
==
0
&&
root
->
groups
->
first
()
!=
0
)
{
//printf("new member is grouped, existing member not\n");
// if we do addMemberToGroups here an undocumented declaration may prevent
// the documented implementation below it from being added
//addMemberToGroups(root,md);
GroupDef
*
gd
=
Doxygen
::
groupSDict
[
root
->
groups
->
first
()
->
groupname
.
data
()];
//
GroupDef *gd=Doxygen::groupSDict[root->groups->first()->groupname.data()];
if
(
gd
)
{
bool
success
=
gd
->
insertMember
(
md
);
...
...
@@ -2342,8 +2353,13 @@ static void buildFunctionList(Entry *root)
}
else
if
(
md
->
getGroupDef
()
!=
0
&&
root
->
groups
->
count
()
==
0
)
{
//printf("existing member is grouped, new member not\n");
root
->
groups
->
append
(
new
Grouping
(
md
->
getGroupDef
()
->
name
(),
md
->
getGroupPri
()));
}
else
if
(
md
->
getGroupDef
()
!=
0
&&
root
->
groups
->
first
()
!=
0
)
{
//printf("both members are grouped\n");
}
}
}
}
...
...
@@ -3338,12 +3354,12 @@ static bool findClassRelation(
}
baseClassName
=
stripTemplateSpecifiersFromScope
(
removeRedundantWhiteSpace
(
baseClassName
));
bool
baseClassI
sTypeDef
;
MemberDef
*
baseClas
sTypeDef
;
QCString
templSpec
;
ClassDef
*
baseClass
=
getResolvedClass
(
explicitGlobalScope
?
0
:
cd
,
cd
->
getFileDef
(),
// todo: is this ok?
baseClassName
,
&
baseClass
Is
TypeDef
,
&
baseClassTypeDef
,
&
templSpec
);
//printf("baseClassName=%s baseClass=%p cd=%p\n",baseClassName.data(),baseClass,cd);
//printf(" root->name=`%s' baseClassName=`%s' baseClass=%s templSpec=%s\n",
...
...
@@ -3444,7 +3460,7 @@ static bool findClassRelation(
else
if
(
mode
==
DocumentedOnly
)
{
QCString
usedName
;
if
(
baseClass
Is
TypeDef
)
usedName
=
biName
;
if
(
baseClassTypeDef
)
usedName
=
biName
;
cd
->
insertBaseClass
(
baseClass
,
usedName
,
bi
->
prot
,
bi
->
virt
,
templSpec
);
// add this class as super class to the base class
baseClass
->
insertSubClass
(
cd
,
bi
->
prot
,
bi
->
virt
,
templSpec
);
...
...
src/doxytag.l
View file @
12ea1b84
...
...
@@ -507,10 +507,9 @@ void usage(const char *name)
fprintf(stderr,"Doxytag version %s\nCopyright Dimitri van Heesch 1997-2003\n\n",
versionString);
fprintf(stderr," Generates a tag file and/or a search index for a set of HTML files\n\n");
fprintf(stderr,"Usage: %s [-t tag_file] [
-s index_file] [
html_file [html_file...] ]\n",name);
fprintf(stderr,"Usage: %s [-t tag_file] [ html_file [html_file...] ]\n",name);
fprintf(stderr,"Options:\n");
fprintf(stderr," -t <tag_file> Generate tag file <tag_file>.\n");
fprintf(stderr," -s <index_file> Generate search index <index_file>.\n\n");
fprintf(stderr,"If no HTML files are given all files in the current dir that\n"
"have a .html extension are parsed.\n\n");
exit(1);
...
...
src/htmlhelp.cpp
View file @
12ea1b84
...
...
@@ -332,26 +332,27 @@ void HtmlHelp::initialize()
*/
s_languageDict
.
setAutoDelete
(
TRUE
);
s_languageDict
.
clear
();
s_languageDict
.
insert
(
"czech"
,
new
QCString
(
"0x405 Czech"
));
s_languageDict
.
insert
(
"danish"
,
new
QCString
(
"0x406 Danish"
));
s_languageDict
.
insert
(
"dutch"
,
new
QCString
(
"0x413 Dutch"
));
s_languageDict
.
insert
(
"finnish"
,
new
QCString
(
"0x40B Finnish"
));
s_languageDict
.
insert
(
"french"
,
new
QCString
(
"0x40C French"
));
s_languageDict
.
insert
(
"german"
,
new
QCString
(
"0x407 German"
));
s_languageDict
.
insert
(
"greece"
,
new
QCString
(
"0x408 Greece"
));
s_languageDict
.
insert
(
"hungarian"
,
new
QCString
(
"0x40E Hungarian"
));
s_languageDict
.
insert
(
"italian"
,
new
QCString
(
"0x410 Italian"
));
s_languageDict
.
insert
(
"norwegian"
,
new
QCString
(
"0x814 Norwegian"
));
s_languageDict
.
insert
(
"polish"
,
new
QCString
(
"0x415 Polish"
));
s_languageDict
.
insert
(
"portugese"
,
new
QCString
(
"0x816 Portuguese(Portugal)"
));
s_languageDict
.
insert
(
"brazil"
,
new
QCString
(
"0x416 Portuguese(Brazil)"
));
s_languageDict
.
insert
(
"russian"
,
new
QCString
(
"0x419 Russian"
));
s_languageDict
.
insert
(
"spanish"
,
new
QCString
(
"0x40A Spannish(Traditional Sort)"
));
s_languageDict
.
insert
(
"swedish"
,
new
QCString
(
"0x41D Swedish"
));
s_languageDict
.
insert
(
"turkey"
,
new
QCString
(
"0x41F Turkey"
));
s_languageDict
.
insert
(
"japanese"
,
new
QCString
(
"0x411 Japanese"
));
s_languageDict
.
insert
(
"korean"
,
new
QCString
(
"0x412 Korean"
));
s_languageDict
.
insert
(
"chinese"
,
new
QCString
(
"0x804 Chinese (PRC)"
));
s_languageDict
.
insert
(
"czech"
,
new
QCString
(
"0x405 Czech"
));
s_languageDict
.
insert
(
"danish"
,
new
QCString
(
"0x406 Danish"
));
s_languageDict
.
insert
(
"dutch"
,
new
QCString
(
"0x413 Dutch"
));
s_languageDict
.
insert
(
"finnish"
,
new
QCString
(
"0x40B Finnish"
));
s_languageDict
.
insert
(
"french"
,
new
QCString
(
"0x40C French"
));
s_languageDict
.
insert
(
"german"
,
new
QCString
(
"0x407 German"
));
s_languageDict
.
insert
(
"greece"
,
new
QCString
(
"0x408 Greece"
));
s_languageDict
.
insert
(
"hungarian"
,
new
QCString
(
"0x40E Hungarian"
));
s_languageDict
.
insert
(
"italian"
,
new
QCString
(
"0x410 Italian"
));
s_languageDict
.
insert
(
"norwegian"
,
new
QCString
(
"0x814 Norwegian"
));
s_languageDict
.
insert
(
"polish"
,
new
QCString
(
"0x415 Polish"
));
s_languageDict
.
insert
(
"portugese"
,
new
QCString
(
"0x816 Portuguese(Portugal)"
));
s_languageDict
.
insert
(
"brazil"
,
new
QCString
(
"0x416 Portuguese(Brazil)"
));
s_languageDict
.
insert
(
"russian"
,
new
QCString
(
"0x419 Russian"
));
s_languageDict
.
insert
(
"spanish"
,
new
QCString
(
"0x40A Spannish(Traditional Sort)"
));
s_languageDict
.
insert
(
"swedish"
,
new
QCString
(
"0x41D Swedish"
));
s_languageDict
.
insert
(
"turkey"
,
new
QCString
(
"0x41F Turkey"
));
s_languageDict
.
insert
(
"japanese"
,
new
QCString
(
"0x411 Japanese"
));
s_languageDict
.
insert
(
"japanese-en"
,
new
QCString
(
"0x411 Japanese"
));
s_languageDict
.
insert
(
"korean"
,
new
QCString
(
"0x412 Korean"
));
s_languageDict
.
insert
(
"chinese"
,
new
QCString
(
"0x804 Chinese (PRC)"
));
}
...
...
src/lang_cfg.h
View file @
12ea1b84
...
...
@@ -5,6 +5,7 @@
#define LANG_IT
#define LANG_DE
#define LANG_JP
#define LANG_JE
#define LANG_ES
#define LANG_FI
#define LANG_RU
...
...
src/language.cpp
View file @
12ea1b84
...
...
@@ -43,6 +43,9 @@
#ifdef LANG_JP
#include "translator_jp.h"
#endif
#ifdef LANG_JE
#include "translator_je.h"
#endif
#ifdef LANG_ES
#include "translator_es.h"
#endif
...
...
@@ -297,11 +300,7 @@ bool setTranslator(const char *langName)
theTranslator
=
new
TranslatorCatalan
;
}
#endif
// else if (L_EQUAL("japanese-sjis"))
// {
// theTranslator=new TranslatorJapaneseSjis;
// }
#endif
#endif // ENGLISH_ONLY
else
// use the default language (i.e. english)
{
theTranslator
=
new
TranslatorEnglish
;
...
...
src/latexgen.cpp
View file @
12ea1b84
...
...
@@ -1211,7 +1211,8 @@ void LatexGenerator::docify(const char *str)
void
LatexGenerator
::
codify
(
const
char
*
str
)
{
static
bool
isJapanese
=
theTranslator
->
idLanguage
()
==
"japanese"
;
static
bool
isJapanese
=
theTranslator
->
idLanguage
()
==
"japanese"
||
theTranslator
->
idLanguage
()
==
"japanese-en"
;
if
(
str
)
{
...
...
src/libdoxygen.pro.in
View file @
12ea1b84
...
...
@@ -99,6 +99,7 @@ HEADERS = bufstr.h \
translator_hr.h \
translator_hu.h \
translator_it.h \
translator_je.h \
translator_jp.h \
translator_kr.h \
translator_nl.h \
...
...
src/memberdef.cpp
View file @
12ea1b84
...
...
@@ -136,13 +136,13 @@ static void writeDefArgumentList(OutputList &ol,ClassDef *cd,
//printf("a->type=`%s' a->name=`%s'\n",a->type.data(),a->name.data());
QCString
n
=
a
->
type
.
left
(
vp
);
if
(
!
cName
.
isEmpty
())
n
=
addTemplateNames
(
n
,
cd
->
name
(),
cName
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
cd
,
md
->
name
(),
n
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
cd
,
md
->
getBodyDef
(),
md
->
name
(),
n
);
}
else
// non-function pointer type
{
QCString
n
=
a
->
type
;
if
(
!
cName
.
isEmpty
())
n
=
addTemplateNames
(
n
,
cd
->
name
(),
cName
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
cd
,
md
->
name
(),
n
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
cd
,
md
->
getBodyDef
(),
md
->
name
(),
n
);
}
if
(
!
md
->
isDefine
())
{
...
...
@@ -167,7 +167,7 @@ static void writeDefArgumentList(OutputList &ol,ClassDef *cd,
if
(
vp
!=-
1
)
// write the part of the argument type
// that comes after the name
{
linkifyText
(
TextGeneratorOLImpl
(
ol
),
cd
,
linkifyText
(
TextGeneratorOLImpl
(
ol
),
cd
,
md
->
getBodyDef
(),
md
->
name
(),
a
->
type
.
right
(
a
->
type
.
length
()
-
vp
));
}
if
(
!
a
->
defval
.
isEmpty
())
// write the default value
...
...
@@ -175,7 +175,7 @@ static void writeDefArgumentList(OutputList &ol,ClassDef *cd,
QCString
n
=
a
->
defval
;
if
(
!
cName
.
isEmpty
())
n
=
addTemplateNames
(
n
,
cd
->
name
(),
cName
);
ol
.
docify
(
" = "
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
cd
,
md
->
name
(),
n
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
cd
,
md
->
getBodyDef
(),
md
->
name
(),
n
);
}
a
=
defArgList
->
next
();
if
(
a
)
...
...
@@ -806,21 +806,21 @@ void MemberDef::writeDeclaration(OutputList &ol,
{
if
(
getAnonymousEnumType
())
// type is an anonymous enum
{
linkifyText
(
TextGeneratorOLImpl
(
ol
),
d
,
name
(),
ltype
.
left
(
i
),
TRUE
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
d
,
getBodyDef
(),
name
(),
ltype
.
left
(
i
),
TRUE
);
getAnonymousEnumType
()
->
writeEnumDeclaration
(
ol
,
cd
,
nd
,
fd
,
gd
);
//ol+=*getAnonymousEnumType()->enumDecl();
linkifyText
(
TextGeneratorOLImpl
(
ol
),
d
,
name
(),
ltype
.
right
(
ltype
.
length
()
-
i
-
l
),
TRUE
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
d
,
fileDef
,
name
(),
ltype
.
right
(
ltype
.
length
()
-
i
-
l
),
TRUE
);
}
else
{
ltype
=
ltype
.
left
(
i
)
+
" { ... } "
+
ltype
.
right
(
ltype
.
length
()
-
i
-
l
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
d
,
name
(),
ltype
,
TRUE
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
d
,
getBodyDef
(),
name
(),
ltype
,
TRUE
);
}
}
}
else
{
linkifyText
(
TextGeneratorOLImpl
(
ol
),
d
,
name
(),
ltype
,
TRUE
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
d
,
getBodyDef
(),
name
(),
ltype
,
TRUE
);
}
bool
htmlOn
=
ol
.
isEnabled
(
OutputGenerator
::
Html
);
if
(
htmlOn
&&
Config_getBool
(
"HTML_ALIGN_MEMBERS"
)
&&
!
ltype
.
isEmpty
())
...
...
@@ -891,7 +891,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
{
if
(
!
isDefine
())
ol
.
writeString
(
" "
);
//ol.docify(argsString());
linkifyText
(
TextGeneratorOLImpl
(
ol
),
d
,
name
(),
argsString
());
linkifyText
(
TextGeneratorOLImpl
(
ol
),
d
,
getBodyDef
(),
name
(),
argsString
());
}
if
(
excpString
())
...
...
@@ -902,7 +902,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
if
(
!
bitfields
.
isEmpty
())
// add bitfields
{
linkifyText
(
TextGeneratorOLImpl
(
ol
),
d
,
name
(),
bitfields
.
simplifyWhiteSpace
());
linkifyText
(
TextGeneratorOLImpl
(
ol
),
d
,
getBodyDef
(),
name
(),
bitfields
.
simplifyWhiteSpace
());
}
else
if
(
hasOneLineInitializer
()
//!init.isEmpty() && initLines==0 && // one line initializer
...
...
@@ -912,12 +912,12 @@ void MemberDef::writeDeclaration(OutputList &ol,
if
(
!
isDefine
())
{
ol
.
writeString
(
" = "
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
d
,
name
(),
init
.
simplifyWhiteSpace
());
linkifyText
(
TextGeneratorOLImpl
(
ol
),
d
,
getBodyDef
(),
name
(),
init
.
simplifyWhiteSpace
());
}
else
{
ol
.
writeNonBreakableSpace
(
3
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
d
,
name
(),
init
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
d
,
getBodyDef
(),
name
(),
init
);
}
}
...
...
@@ -1094,10 +1094,10 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
{
htmlHelp
->
addIndexItem
(
cname
,
name
(),
cfname
,
anchor
());
}
linkifyText
(
TextGeneratorOLImpl
(
ol
),
container
,
name
(),
ldef
.
left
(
i
));
linkifyText
(
TextGeneratorOLImpl
(
ol
),
container
,
getBodyDef
(),
name
(),
ldef
.
left
(
i
));
//ol+=*vmd->enumDecl();
vmd
->
writeEnumDeclaration
(
ol
,
getClassDef
(),
getNamespaceDef
(),
getFileDef
(),
getGroupDef
());
linkifyText
(
TextGeneratorOLImpl
(
ol
),
container
,
name
(),
ldef
.
right
(
ldef
.
length
()
-
i
-
l
));
linkifyText
(
TextGeneratorOLImpl
(
ol
),
container
,
getBodyDef
(),
name
(),
ldef
.
right
(
ldef
.
length
()
-
i
-
l
));
found
=
TRUE
;
}
...
...
@@ -1122,7 +1122,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
// last ei characters of ldef contain pointer/reference specifiers
int
ni
=
ldef
.
find
(
"::"
,
si
);
if
(
ni
>=
ei
)
ei
=
ni
+
2
;
linkifyText
(
TextGeneratorOLImpl
(
ol
),
container
,
name
(),
ldef
.
right
(
ldef
.
length
()
-
ei
));
linkifyText
(
TextGeneratorOLImpl
(
ol
),
container
,
getBodyDef
(),
name
(),
ldef
.
right
(
ldef
.
length
()
-
ei
));
}
}
else
// not an enum value
...
...
@@ -1184,25 +1184,25 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
}
}
ol
.
startMemberDocName
();
linkifyText
(
TextGeneratorOLImpl
(
ol
),
container
,
name
(),
ldef
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
container
,
getBodyDef
(),
name
(),
ldef
);
writeDefArgumentList
(
ol
,
cd
,
scopeName
,
this
);
if
(
hasOneLineInitializer
())
// add initializer
{
if
(
!
isDefine
())
{
ol
.
docify
(
" = "
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
container
,
name
(),
init
.
simplifyWhiteSpace
());
linkifyText
(
TextGeneratorOLImpl
(
ol
),
container
,
getBodyDef
(),
name
(),
init
.
simplifyWhiteSpace
());
}
else
{
ol
.
writeNonBreakableSpace
(
3
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
container
,
name
(),
init
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
container
,
getBodyDef
(),
name
(),
init
);
}
}
if
(
excpString
())
// add exception list
{
ol
.
docify
(
" "
);
linkifyText
(
TextGeneratorOLImpl
(
ol
),
container
,
name
(),
excpString
());
linkifyText
(
TextGeneratorOLImpl
(
ol
),
container
,
getBodyDef
(),
name
(),
excpString
());
}
}
...
...
src/scanner.l
View file @
12ea1b84
...
...
@@ -2860,6 +2860,8 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
lastCContext = YY_START;
BEGIN(SkipCxxComment);
}
<SkipInits,SkipCurly,SkipCurlyCpp>{CHARLIT} {
}
<SkipInits,SkipCurly,SkipCurlyCpp>. {
//addToBody(yytext);
}
...
...
src/translator_es.h
View file @
12ea1b84
...
...
@@ -1342,6 +1342,55 @@ class TranslatorSpanish : public TranslatorAdapter_1_3_3
//////////////////////////////////////////////////////////////////////////
/*! When the search engine is enabled this text is put in the index
* of each page before the search field.
*/
virtual
QCString
trSearchForIndex
()
{
return
"Buscar"
;
}
/*! This string is used as the title for the page listing the search
* results.
*/
virtual
QCString
trSearchResultsTitle
()
{
return
"Resultados de la Búsqueda"
;
}
/*! This string is put just before listing the search results. The
* text can be different depending on the number of documents found.
* Inside the text you can put the special marker $num to insert
* the number representing the actual number of search results.
* The @a numDocuments parameter can be either 0, 1 or 2, where the
* value 2 represents 2 or more matches. HTML markup is allowed inside
* the returned string.
*/
virtual
QCString
trSearchResults
(
int
numDocuments
)
{
if
(
numDocuments
==
0
)
{
return
"Disculpe, no se encontraron documentos que coincidan con su búsqueda."
;
}
else
if
(
numDocuments
==
1
)
{
return
"Se encontró <b>1</b> documento que coincide con su búsqueda."
;
}
else
{
return
"Se encontraron <b>$num</b> documentos que coinciden con su búsqueda. "
"Se muestran los mejores resultados primero."
;
}
}
/*! This string is put before the list of matched words, for each search
* result. What follows is the list of words that matched the query.
*/
virtual
QCString
trSearchMatches
()
{
return
"Coincidencias:"
;
}
};
...
...
src/translator_je.h
0 → 100644
View file @
12ea1b84
/******************************************************************************
*
*
*
* Copyright (C) 1997-2003 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
*
*/
/*
* translator_jp.h
*
* 1.2.5)
* First Translation
* by Kenji Nagamatsu
* 1.2.12)
* Update and Shift-Jis(_WIN32)
* by Ryunosuke Sato (30-Dec-2001)
*/
#ifndef TRANSLATOR_JE_H
#define TRANSLATOR_JE_H
class
TranslatorJapaneseEn
:
public
TranslatorEnglish
{
public
:
virtual
QCString
idLanguage
()
{
return
"japanese-en"
;
}
virtual
QCString
latexLanguageSupportCommand
()
{
return
"platex"
;
}
/*! returns the name of the package that is included by LaTeX */
virtual
QCString
idLanguageCharset
()
{
if
(
Config_getBool
(
"USE_WINDOWS_ENCODING"
))
{
return
"Shift_JIS"
;
}
else
{
return
"euc-jp"
;
}
}
virtual
QCString
trRTFansicp
()
{
return
"932"
;
}
/*! Used as ansicpg for RTF fcharset
* \see trRTFansicp() for a table of possible values.
*/
virtual
QCString
trRTFCharSet
()
{
return
"128"
;
}
};
#endif
src/translator_jp.h
View file @
12ea1b84
This diff is collapsed.
Click to expand it.
src/util.cpp
View file @
12ea1b84
...
...
@@ -738,7 +738,7 @@ static QDict<MemberDef> g_resolvedTypedefs;
ClassDef
*
getResolvedClassRec
(
Definition
*
scope
,
FileDef
*
fileScope
,
const
char
*
n
,
bool
*
pIs
TypeDef
,
MemberDef
**
p
TypeDef
,
QCString
*
pTemplSpec
);
int
isAccessibleFrom
(
Definition
*
scope
,
FileDef
*
fileScope
,
Definition
*
item
,
...
...
@@ -1029,7 +1029,7 @@ int isAccessibleFrom(Definition *scope,FileDef *fileScope,Definition *item,
ClassDef
*
getResolvedClassRec
(
Definition
*
scope
,
FileDef
*
fileScope
,
const
char
*
n
,
bool
*
pIs
TypeDef
,
MemberDef
**
p
TypeDef
,
QCString
*
pTemplSpec
)
{
...
...
@@ -1057,7 +1057,7 @@ ClassDef *getResolvedClassRec(Definition *scope,
DefinitionListIterator
dli
(
*
dl
);
Definition
*
d
;
ClassDef
*
bestMatch
=
0
;
bool
bestIsTypedef
=
FALSE
;
MemberDef
*
bestTypedef
=
0
;
QCString
bestTemplSpec
;
int
minDistance
=
10000
;
// init at "infinite"
for
(
dli
.
toFirst
();(
d
=
dli
.
current
());
++
dli
)
// foreach definition
...
...
@@ -1078,7 +1078,7 @@ ClassDef *getResolvedClassRec(Definition *scope,
{
minDistance
=
distance
;
bestMatch
=
(
ClassDef
*
)
d
;
best
IsTypedef
=
FALSE
;
best
Typedef
=
0
;
bestTemplSpec
.
resize
(
0
);
}
}
...
...
@@ -1087,6 +1087,7 @@ ClassDef *getResolvedClassRec(Definition *scope,
MemberDef
*
md
=
(
MemberDef
*
)
d
;
if
(
md
->
isTypedef
())
// d is a typedef
{
//printf("found typedef!\n");
QCString
spec
;
ClassDef
*
typedefClass
=
newResolveTypedef
(
fileScope
,
md
,
&
spec
);
...
...
@@ -1098,7 +1099,8 @@ ClassDef *getResolvedClassRec(Definition *scope,
{
minDistance
=
distance
;
bestMatch
=
typedefClass
;
bestIsTypedef
=
TRUE
;
//printf("bestTypeDef=%p\n",md);
bestTypedef
=
md
;
bestTemplSpec
=
spec
;
}
...
...
@@ -1107,9 +1109,9 @@ ClassDef *getResolvedClassRec(Definition *scope,
}
// if definition accessible
}
// if definition is a class or member
}
// foreach definition
if
(
p
Is
TypeDef
)
if
(
pTypeDef
)
{
*
p
IsTypeDef
=
bestIs
Typedef
;
*
p
TypeDef
=
best
Typedef
;
}
if
(
pTemplSpec
)
{
...
...
@@ -1127,7 +1129,7 @@ ClassDef *getResolvedClassRec(Definition *scope,
ClassDef
*
getResolvedClass
(
Definition
*
scope
,
FileDef
*
fileScope
,
const
char
*
n
,
bool
*
pIs
TypeDef
,
MemberDef
**
p
TypeDef
,
QCString
*
pTemplSpec
)
{
...
...
@@ -1140,7 +1142,7 @@ ClassDef *getResolvedClass(Definition *scope,
{
scope
=
Doxygen
::
globalScope
;
}
ClassDef
*
result
=
getResolvedClassRec
(
scope
,
fileScope
,
n
,
p
Is
TypeDef
,
pTemplSpec
);
ClassDef
*
result
=
getResolvedClassRec
(
scope
,
fileScope
,
n
,
pTypeDef
,
pTemplSpec
);
if
(
result
&&
!
result
->
isLinkable
())
result
=
0
;
// don't link to artifical classes
//printf("getResolvedClass(%s,%s)=%s\n",scope?scope->name().data():"<global>",
// n,result?result->name().data():"<none>");
...
...
@@ -1258,14 +1260,17 @@ bool leftScopeMatch(const QCString &scope, const QCString &name)
}
void
linkifyText
(
const
TextGeneratorIntf
&
out
,
Definition
*
scope
,
const
char
*
/*name*/
,
const
char
*
text
,
bool
autoBreak
,
bool
external
)
void
linkifyText
(
const
TextGeneratorIntf
&
out
,
Definition
*
scope
,
FileDef
*
fileScope
,
const
char
*
/*name*/
,
const
char
*
text
,
bool
autoBreak
,
bool
external
)
{
//printf("`%s'\n",text);
static
QRegExp
regExp
(
"[a-z_A-Z][a-z_A-Z0-9:]*"
);
QCString
txtStr
=
text
;
QCString
scopeName
;
int
strLen
=
txtStr
.
length
();
//printf("linkifyText scope=%s strtxt=%s strlen=%d\n",scope?scope->name().data():"<none>",txtStr.data(),strLen);
//printf("linkifyText scope=%s fileScope=%s strtxt=%s strlen=%d\n",
// scope?scope->name().data():"<none>",
// fileScope?fileScope->name().data():"<none>",
// txtStr.data(),strLen);
int
matchLen
;
int
index
=
0
;
int
newIndex
;
...
...
@@ -1340,9 +1345,8 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,const char * /*n
// fullName.prepend(prefix+"::");
// }
// bool isTypeDef=FALSE;
if
((
cd
=
getResolvedClass
(
scope
,
0
,
word
/*fullName,&isTypeDef*/
)))
// todo: fill in fileScope
MemberDef
*
typeDef
=
0
;
if
((
cd
=
getResolvedClass
(
scope
,
fileScope
,
word
,
&
typeDef
)))
{
// add link to the result
if
(
external
?
cd
->
isLinkable
()
:
cd
->
isLinkableInProject
())
...
...
@@ -1351,10 +1355,17 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,const char * /*n
found
=
TRUE
;
}
}
// else if (isTypeDef)
// {
// goto endloop;
// }
else
if
(
typeDef
)
{
if
(
external
?
typeDef
->
isLinkable
()
:
typeDef
->
isLinkableInProject
())
{
out
.
writeLink
(
typeDef
->
getReference
(),
typeDef
->
getOutputFileBase
(),
typeDef
->
anchor
(),
word
);
found
=
TRUE
;
}
}
// if (curScope) curScope = curScope->getOuterScope();
// } //while (!found && scopeOffset>=0);
...
...
@@ -4499,7 +4510,8 @@ void filterLatexString(QTextStream &t,const char *str,
bool
insideTabbing
,
bool
insidePre
,
bool
insideItem
)
{
static
bool
isCzech
=
theTranslator
->
idLanguage
()
==
"czech"
;
static
bool
isJapanese
=
theTranslator
->
idLanguage
()
==
"japanese"
;
static
bool
isJapanese
=
theTranslator
->
idLanguage
()
==
"japanese"
||
theTranslator
->
idLanguage
()
==
"japanese-en"
;
static
bool
isKorean
=
theTranslator
->
idLanguage
()
==
"korean"
;
static
bool
isRussian
=
theTranslator
->
idLanguage
()
==
"russian"
;
static
bool
isUkrainian
=
theTranslator
->
idLanguage
()
==
"ukrainian"
;
...
...
src/util.h
View file @
12ea1b84
...
...
@@ -77,8 +77,14 @@ class TextGeneratorOLImpl : public TextGeneratorIntf
//--------------------------------------------------------------------
void
linkifyText
(
const
TextGeneratorIntf
&
ol
,
Definition
*
scope
,
const
char
*
name
,
const
char
*
text
,
bool
autoBreak
=
FALSE
,
bool
external
=
TRUE
);
void
linkifyText
(
const
TextGeneratorIntf
&
ol
,
Definition
*
scope
,
FileDef
*
fileScope
,
const
char
*
name
,
const
char
*
text
,
bool
autoBreak
=
FALSE
,
bool
external
=
TRUE
);
void
setAnchors
(
ClassDef
*
cd
,
char
id
,
MemberList
*
ml
,
int
groupId
=-
1
);
QCString
fileToString
(
const
char
*
name
,
bool
filter
=
FALSE
);
QCString
dateToString
(
bool
);
...
...
@@ -131,7 +137,7 @@ ClassDef *getClass(const char *key);
ClassDef
*
getResolvedClass
(
Definition
*
scope
,
FileDef
*
fileScope
,
const
char
*
key
,
bool
*
pIs
TypeDef
=
0
,
MemberDef
**
p
TypeDef
=
0
,
QCString
*
pTemplSpec
=
0
);
NamespaceDef
*
getResolvedNamespace
(
const
char
*
key
);
FileDef
*
findFileDef
(
const
FileNameDict
*
fnDict
,
const
char
*
n
,
...
...
src/xmlgen.cpp
View file @
12ea1b84
...
...
@@ -340,7 +340,11 @@ class XMLCodeGenerator : public BaseCodeDocInterface
};
static
void
writeTemplateArgumentList
(
ArgumentList
*
al
,
QTextStream
&
t
,
Definition
*
scope
,
int
indent
)
static
void
writeTemplateArgumentList
(
ArgumentList
*
al
,
QTextStream
&
t
,
Definition
*
scope
,
FileDef
*
fileScope
,
int
indent
)
{
QCString
indentStr
;
indentStr
.
fill
(
' '
,
indent
);
...
...
@@ -355,7 +359,7 @@ static void writeTemplateArgumentList(ArgumentList *al,QTextStream &t,Definition
if
(
!
a
->
type
.
isEmpty
())
{
t
<<
indentStr
<<
" <type>"
;
linkifyText
(
TextGeneratorXMLImpl
(
t
),
scope
,
0
,
a
->
type
);
linkifyText
(
TextGeneratorXMLImpl
(
t
),
scope
,
fileScope
,
0
,
a
->
type
);
t
<<
"</type>"
<<
endl
;
}
if
(
!
a
->
name
.
isEmpty
())
...
...
@@ -366,7 +370,7 @@ static void writeTemplateArgumentList(ArgumentList *al,QTextStream &t,Definition
if
(
!
a
->
defval
.
isEmpty
())
{
t
<<
indentStr
<<
" <defval>"
;
linkifyText
(
TextGeneratorXMLImpl
(
t
),
scope
,
0
,
a
->
defval
);
linkifyText
(
TextGeneratorXMLImpl
(
t
),
scope
,
fileScope
,
0
,
a
->
defval
);
t
<<
"</defval>"
<<
endl
;
}
t
<<
indentStr
<<
" </param>"
<<
endl
;
...
...
@@ -379,13 +383,13 @@ static void writeMemberTemplateLists(MemberDef *md,QTextStream &t)
{
if
(
md
->
templateArguments
())
// function template prefix
{
writeTemplateArgumentList
(
md
->
templateArguments
(),
t
,
md
->
getClassDef
(),
8
);
writeTemplateArgumentList
(
md
->
templateArguments
(),
t
,
md
->
getClassDef
(),
md
->
getFileDef
(),
8
);
}
}
static
void
writeTemplateList
(
ClassDef
*
cd
,
QTextStream
&
t
)
{
writeTemplateArgumentList
(
cd
->
templateArguments
(),
t
,
cd
,
4
);
writeTemplateArgumentList
(
cd
->
templateArguments
(),
t
,
cd
,
0
,
4
);
}
static
void
writeXMLDocBlock
(
QTextStream
&
t
,
...
...
@@ -574,7 +578,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
}
QCString
typeStr
=
md
->
typeString
();
//replaceAnonymousScopes(md->typeString());
t
<<
" <type>"
;
linkifyText
(
TextGeneratorXMLImpl
(
t
),
def
,
md
->
name
(),
typeStr
);
linkifyText
(
TextGeneratorXMLImpl
(
t
),
def
,
md
->
getBodyDef
(),
md
->
name
(),
typeStr
);
t
<<
"</type>"
<<
endl
;
t
<<
" <definition>"
<<
convertToXML
(
md
->
definition
())
<<
"</definition>"
<<
endl
;
t
<<
" <argsstring>"
<<
convertToXML
(
md
->
argsString
())
<<
"</argsstring>"
<<
endl
;
...
...
@@ -622,7 +626,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
if
(
!
a
->
type
.
isEmpty
())
{
t
<<
" <type>"
;
linkifyText
(
TextGeneratorXMLImpl
(
t
),
def
,
md
->
name
(),
a
->
type
);
linkifyText
(
TextGeneratorXMLImpl
(
t
),
def
,
md
->
getBodyDef
(),
md
->
name
(),
a
->
type
);
t
<<
"</type>"
<<
endl
;
}
if
(
!
a
->
name
.
isEmpty
())
...
...
@@ -646,7 +650,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
if
(
!
a
->
defval
.
isEmpty
())
{
t
<<
" <defval>"
;
linkifyText
(
TextGeneratorXMLImpl
(
t
),
def
,
md
->
name
(),
a
->
defval
);
linkifyText
(
TextGeneratorXMLImpl
(
t
),
def
,
md
->
getBodyDef
(),
md
->
name
(),
a
->
defval
);
t
<<
"</defval>"
<<
endl
;
}
if
(
defArg
&&
defArg
->
hasDocumentation
())
...
...
@@ -674,14 +678,14 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
if
(
!
md
->
initializer
().
isEmpty
())
{
t
<<
" <initializer>"
;
linkifyText
(
TextGeneratorXMLImpl
(
t
),
def
,
md
->
name
(),
md
->
initializer
());
linkifyText
(
TextGeneratorXMLImpl
(
t
),
def
,
md
->
getBodyDef
(),
md
->
name
(),
md
->
initializer
());
t
<<
"</initializer>"
<<
endl
;
}
if
(
md
->
excpString
())
{
t
<<
" <exceptions>"
;
linkifyText
(
TextGeneratorXMLImpl
(
t
),
def
,
md
->
name
(),
md
->
excpString
());
linkifyText
(
TextGeneratorXMLImpl
(
t
),
def
,
md
->
getBodyDef
(),
md
->
name
(),
md
->
excpString
());
t
<<
"</exceptions>"
<<
endl
;
}
...
...
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