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
7f95c8f5
Commit
7f95c8f5
authored
Nov 04, 2001
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.2.11-20011104
parent
94dae6d4
Changes
44
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
44 changed files
with
1106 additions
and
509 deletions
+1106
-509
Doxyfile
Doxyfile
+1
-1
INSTALL
INSTALL
+2
-2
README
README
+2
-2
VERSION
VERSION
+1
-1
config.doc
doc/config.doc
+43
-13
diagrams.doc
doc/diagrams.doc
+1
-1
install.doc
doc/install.doc
+4
-4
language.doc
doc/language.doc
+30
-29
output.doc
doc/output.doc
+3
-0
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
classdef.cpp
src/classdef.cpp
+36
-13
classdef.h
src/classdef.h
+5
-3
code.l
src/code.l
+521
-327
config.l
src/config.l
+37
-13
definition.cpp
src/definition.cpp
+74
-19
definition.h
src/definition.h
+14
-11
doc.l
src/doc.l
+12
-8
doxygen.cpp
src/doxygen.cpp
+33
-12
htmlgen.cpp
src/htmlgen.cpp
+5
-5
index.cpp
src/index.cpp
+25
-7
latexgen.cpp
src/latexgen.cpp
+134
-0
latexgen.h
src/latexgen.h
+1
-0
memberdef.cpp
src/memberdef.cpp
+1
-0
memberlist.cpp
src/memberlist.cpp
+10
-1
memberlist.h
src/memberlist.h
+12
-1
scanner.l
src/scanner.l
+35
-4
tagreader.cpp
src/tagreader.cpp
+1
-0
translator.h
src/translator.h
+6
-0
translator_adapter.h
src/translator_adapter.h
+15
-4
translator_br.h
src/translator_br.h
+1
-1
translator_cn.h
src/translator_cn.h
+1
-1
translator_cz.h
src/translator_cz.h
+1
-1
translator_de.h
src/translator_de.h
+1
-1
translator_en.h
src/translator_en.h
+11
-0
translator_fr.h
src/translator_fr.h
+1
-1
translator_hr.h
src/translator_hr.h
+1
-1
translator_it.h
src/translator_it.h
+1
-1
translator_nl.h
src/translator_nl.h
+1
-1
translator_pt.h
src/translator_pt.h
+1
-1
translator_ru.h
src/translator_ru.h
+1
-1
translator_si.h
src/translator_si.h
+16
-15
translator_sk.h
src/translator_sk.h
+1
-1
translator_ua.h
src/translator_ua.h
+1
-1
util.cpp
src/util.cpp
+2
-0
No files found.
Doxyfile
View file @
7f95c8f5
...
...
@@ -18,7 +18,7 @@ ALWAYS_DETAILED_SEC = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = $(PWD)/
INTERNAL_DOCS = NO
CLASS_DIAGRAMS =
YES
CLASS_DIAGRAMS =
NO
SOURCE_BROWSER = YES
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
...
...
INSTALL
View file @
7f95c8f5
DOXYGEN Version 1.2.11-20011
021
DOXYGEN Version 1.2.11-20011
104
Please read the installation section of the manual for instructions.
--------
Dimitri van Heesch (
21 Octo
ber 2001)
Dimitri van Heesch (
04 Novem
ber 2001)
README
View file @
7f95c8f5
DOXYGEN Version 1.2.11_20011
021
DOXYGEN Version 1.2.11_20011
104
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) (
21 Octo
ber 2001)
Dimitri van Heesch (dimitri@stack.nl) (
04 Novem
ber 2001)
VERSION
View file @
7f95c8f5
1.2.11-20011
021
1.2.11-20011
104
doc/config.doc
View file @
7f95c8f5
...
...
@@ -90,6 +90,7 @@ followed by the descriptions of the tags grouped by category.
<
li
>
\
refitem
cfg_enabled_sections
ENABLED_SECTIONS
<
li
>
\
refitem
cfg_example_path
EXAMPLE_PATH
<
li
>
\
refitem
cfg_example_patterns
EXAMPLE_PATTERNS
<
li
>
\
refitem
cfg_example_recursive
EXAMPLE_RECURSIVE
<
li
>
\
refitem
cfg_exclude
EXCLUDE
<
li
>
\
refitem
cfg_exclude_patterns
EXCLUDE_PATTERNS
<
li
>
\
refitem
cfg_expand_as_defined
EXPAND_AS_DEFINED
...
...
@@ -157,6 +158,8 @@ followed by the descriptions of the tags grouped by category.
<
li
>
\
refitem
cfg_project_number
PROJECT_NUMBER
<
li
>
\
refitem
cfg_quiet
QUIET
<
li
>
\
refitem
cfg_recursive
RECURSIVE
<
li
>
\
refitem
cfg_referenced_by_relation
REFERENCED_BY_RELATION
<
li
>
\
refitem
cfg_references_relation
REFERENCES_RELATION
<
li
>
\
refitem
cfg_repeat_brief
REPEAT_BRIEF
<
li
>
\
refitem
cfg_rtf_extensions_file
RTF_EXTENSIONS_FILE
<
li
>
\
refitem
cfg_rtf_hyperlinks
RTF_HYPERLINKS
...
...
@@ -319,18 +322,6 @@ followed by the descriptions of the tags grouped by category.
to
\
c
NO
(
the
default
)
then
the
documentation
will
be
excluded
.
Set
it
to
\
c
YES
to
include
the
internal
documentation
.
\
anchor
cfg_source_browser
<
dt
>\
c
SOURCE_BROWSER
<
dd
>
\
addindex
SOURCE_BROWSER
If
the
\
c
SOURCE_BROWSER
tag
is
set
to
\
c
YES
then
a
list
of
source
files
will
be
generated
.
Documented
entities
will
be
cross
-
referenced
with
these
sources
.
\
anchor
cfg_inline_sources
<
dt
>\
c
INLINE_SOURCES
<
dd
>
\
addindex
INLINE_SOURCES
Setting
the
\
c
INLINE_SOURCES
tag
to
\
c
YES
will
include
the
body
of
functions
,
classes
and
enums
directly
into
the
documentation
.
\
anchor
cfg_strip_code_comments
<
dt
>\
c
STRIP_CODE_COMMENTS
<
dd
>
\
addindex
STRIP_CODE_COMMENTS
...
...
@@ -588,6 +579,14 @@ followed by the descriptions of the tags grouped by category.
directories
that
contain
example
code
fragments
that
are
included
(
see
the
\\
include
command
in
section
\
ref
cmdinclude
"
\\
include"
).
\
anchor
cfg_example_recursive
<
dt
>\
c
EXAMPLE_RECURSIVE
<
dd
>
\
addindex
EXAMPLE_RECURSIVE
If
the
\
c
EXAMPLE_RECURSIVE
tag
is
set
to
\
c
YES
then
subdirectories
will
be
searched
for
input
files
to
be
used
with
the
\\
include
or
\\
dontinclude
commands
irrespective
of
the
value
of
the
\
c
RECURSIVE
tag
.
Possible
values
are
\
c
YES
and
\
c
NO
.
If
left
blank
\
c
NO
is
used
.
\
anchor
cfg_example_patterns
<
dt
>\
c
EXAMPLE_PATTERNS
<
dd
>
\
addindex
EXAMPLE_PATTERNS
...
...
@@ -626,6 +625,37 @@ followed by the descriptions of the tags grouped by category.
</
dl
>
\
subsection
sourcebrowser_index
Source
browsing
related
options
\
anchor
cfg_source_browser
<
dl
>
<
dt
>\
c
SOURCE_BROWSER
<
dd
>
\
addindex
SOURCE_BROWSER
If
the
\
c
SOURCE_BROWSER
tag
is
set
to
\
c
YES
then
a
list
of
source
files
will
be
generated
.
Documented
entities
will
be
cross
-
referenced
with
these
sources
.
\
anchor
cfg_inline_sources
<
dt
>\
c
INLINE_SOURCES
<
dd
>
\
addindex
INLINE_SOURCES
Setting
the
\
c
INLINE_SOURCES
tag
to
\
c
YES
will
include
the
body
of
functions
,
classes
and
enums
directly
into
the
documentation
.
\
anchor
cfg_referenced_by_relation
<
dt
>\
c
REFERENCED_BY_RELATION
<
dd
>
\
addindex
REFERENCED_BY_RELATION
If
the
\
c
REFERENCED_BY_RELATION
tag
is
set
to
\
c
YES
(
the
default
)
then
for
each
documented
function
all
documented
functions
referencing
it
will
be
listed
.
\
anchor
cfg_references_relation
<
dt
>\
c
REFERENCE_RELATION
<
dd
>
\
addindex
REFERENCES_RELATION
If
the
\
c
REFERENCES_RELATION
tag
is
set
to
\
c
YES
(
the
default
)
then
for
each
documented
function
all
documented
entities
called
/
used
by
that
function
will
be
listed
.
</
dl
>
\
subsection
alphabetical_index
Alphabetical
index
options
\
anchor
cfg_alphabetical_index
<
dl
>
...
...
@@ -1144,7 +1174,7 @@ TAGFILES = file1=loc1 "file2 = loc2" ... </pre>
\addindex HAVE_DOT
If you set the \c HAVE_DOT tag to \c YES then doxygen will assume the dot tool is
available from the path. This tool is part of
<a href="http://www.
graphviz.org
/">Graphviz</a>, a graph
<a href="http://www.
research.att.com/sw/tools/graphviz
/">Graphviz</a>, a graph
visualization toolkit from AT&T and Lucent Bell Labs. The other options in
this section have no effect if this option is set to \c NO (the default)
...
...
doc/diagrams.doc
View file @
7f95c8f5
...
...
@@ -22,7 +22,7 @@
Doxygen can use the "dot" tool from graphviz 1.5 to generate
more advanced diagrams & graphs. Graphviz is an open-sourced,
cross-platform graph drawing toolkit from AT&T and Lucent Bell Labs and
can be found at http://www.
graphviz.org
/
can be found at http://www.
research.att.com/sw/tools/graphviz
/
If you have the "dot" tool available in the path, you can set
\ref cfg_have_dot "HAVE_DOT" to \c YES in the configuration file to
...
...
doc/install.doc
View file @
7f95c8f5
...
...
@@ -61,9 +61,9 @@ tools should be installed.
<a href="http://www.tug.org/">teTeX 1.0</a>.<br>
\latexonly(see {\tt http://www.tug.org/})\endlatexonly.
This is needed for generating LaTeX, Postscript, and PDF output.
<li><a href="http://www.
graphviz.org
/">
<li><a href="http://www.
research.att.com/sw/tools/graphviz
/">
the Graph visualization toolkit version 1.5</a><br>
\latexonly(see {\tt http://www.
graphviz.org
/})\endlatexonly.
\latexonly(see {\tt http://www.
research.att.com/sw/tools/graphviz
/})\endlatexonly.
Needed for the include dependency graphs,
the graphical inheritance graphs, and the collaboration graphs.
<li>The ghostscript interpreter.
...
...
@@ -450,9 +450,9 @@ Here is what is required:
<code>objects</code> and <code>bin</code> manually in the root of the
distribution before compiling.
<li><a href="http://www.
graphviz.org
/">
<li><a href="http://www.
research.att.com/sw/tools/graphviz
/">
the Graph visualization toolkit version 1.5</a><br>
\latexonly(see {\tt http://www.
graphviz.org
/})\endlatexonly.
\latexonly(see {\tt http://www.
research.att.com/sw/tools/graphviz
/})\endlatexonly.
Needed for the include dependency graphs, the graphical inheritance graphs,
and the collaboration graphs.
</ul>
...
...
doc/language.doc
View file @
7f95c8f5
...
...
@@ -25,7 +25,7 @@ Doxygen has built-in support for multiple languages. This means
that the text fragments that doxygen generates can be produced in
languages other than English (the default) at configuration time.
Currently (version 1.2.11), 24 languages
Currently (version 1.2.11
-20011021
), 24 languages
are supported (sorted alphabetically):
Brazilian Portuguese, Chinese, Croatian, Czech, Danish,
Dutch, English, Finnish, French, German,
...
...
@@ -54,25 +54,25 @@ when the translator was updated.
<TD>Brazilian</TD>
<TD>Fabio "FJTC" Jun Takada Chino</TD>
<TD>chino@NOSPAM.grad.icmc.sc.usp.br</TD>
<TD>
up-to-date
</TD>
<TD>
1.2.11
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Chinese</TD>
<TD>Wang Weihan</TD>
<TD>wangweihan@NOSPAM.capinfo.com.cn</TD>
<TD>1.2.1</TD>
<TD>W
ei Liu<br>W
ang Weihan</TD>
<TD>
liuwei@NOSPAM.asiainfo.com<br>
wangweihan@NOSPAM.capinfo.com.cn</TD>
<TD>1.2.1
1
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Croatian</TD>
<TD>Boris Bralo</TD>
<TD>boris.bralo@NOSPAM.zg.tel.hr</TD>
<TD>
up-to-date
</TD>
<TD>
1.2.11
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Czech</TD>
<TD>Petr Přikryl</TD>
<TD>prikrylp@NOSPAM.skil.cz</TD>
<TD>
up-to-date
</TD>
<TD>
1.2.11
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Danish</TD>
...
...
@@ -84,7 +84,7 @@ when the translator was updated.
<TD>Dutch</TD>
<TD>Dimitri van Heesch</TD>
<TD>dimitri@NOSPAM.stack.nl</TD>
<TD>
up-to-date
</TD>
<TD>
1.2.11
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>English</TD>
...
...
@@ -102,13 +102,13 @@ when the translator was updated.
<TD>French</TD>
<TD>Xavier Outhier</TD>
<TD>xouthier@NOSPAM.yahoo.fr</TD>
<TD>
up-to-date
</TD>
<TD>
1.2.11
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>German</TD>
<TD>Jens Seidel<br>Jens Breitenstein</TD>
<TD>jensseidel@NOSPAM.users.sf.net<br>Jens.Breitenstein@NOSPAM.tlc.de</TD>
<TD>
up-to-date
</TD>
<TD>
1.2.11
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Hungarian</TD>
...
...
@@ -120,7 +120,7 @@ when the translator was updated.
<TD>Italian</TD>
<TD>Ahmed Aldo Faisal<br>Alessandro Falappa</TD>
<TD>aaf23@NOSPAM.cam.ac.uk<br>a.falappa@NOSPAM.flashnet.it</TD>
<TD>
up-to-date
</TD>
<TD>
1.2.11
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Japanese</TD>
...
...
@@ -150,7 +150,7 @@ when the translator was updated.
<TD>Portuguese</TD>
<TD>Rui Godinho Lopes</TD>
<TD>ruiglopes@NOSPAM.yahoo.com</TD>
<TD>
up-to-date
</TD>
<TD>
1.2.11
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Romanian</TD>
...
...
@@ -162,19 +162,19 @@ when the translator was updated.
<TD>Russian</TD>
<TD>Alexandr Chelpanov</TD>
<TD>cav@NOSPAM.cryptopro.ru</TD>
<TD>
up-to-date
</TD>
<TD>
1.2.11
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Slovak</TD>
<TD>Stanislav Kudláč</TD>
<TD>qwerty1@NOSPAM.pobox.sk</TD>
<TD>
up-to-date
</TD>
<TD>
1.2.11
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Slovene</TD>
<TD>Matjaz Ostroversnik</TD>
<TD>matjaz.ostroversnik@NOSPAM.zrs-tk.si</TD>
<TD>1.
1.5
</TD>
<TD>1.
2.11
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Spanish</TD>
...
...
@@ -192,7 +192,7 @@ when the translator was updated.
<TD>Ukrainian</TD>
<TD>Olexij Tkatchenko</TD>
<TD>olexij.tkatchenko@NOSPAM.gmx.de</TD>
<TD>
up-to-date
</TD>
<TD>
1.2.11
</TD>
</TR>
</TABLE>
</TD>
...
...
@@ -205,30 +205,31 @@ when the translator was updated.
{\bf Language} & {\bf Maintainer} & {\bf Contact address} & {\bf Status} \\
\hline
\hline
Brazilian & Fabio "FJTC" Jun Takada Chino & {\tt chino@grad.icmc.sc.usp.br} &
up-to-date
\\
Brazilian & Fabio "FJTC" Jun Takada Chino & {\tt chino@grad.icmc.sc.usp.br} &
1.2.11
\\
\hline
Chinese & Wang Weihan & {\tt wangweihan@capinfo.com.cn} & 1.2.1 \\
Chinese & Wei Liu & {\tt liuwei@asiainfo.com} & 1.2.11 \\
& Wang Weihan & {\tt wangweihan@capinfo.com.cn} & \\
\hline
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} &
up-to-date
\\
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} &
1.2.11
\\
\hline
Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} &
up-to-date
\\
Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} &
1.2.11
\\
\hline
Danish & Erik S\o{}e S\o{}rensen & {\tt erik@mail.nu} & 1.2.7 \\
\hline
Dutch & Dimitri van Heesch & {\tt dimitri@stack.nl} &
up-to-date
\\
Dutch & Dimitri van Heesch & {\tt dimitri@stack.nl} &
1.2.11
\\
\hline
English & Dimitri van Heesch & {\tt dimitri@stack.nl} & up-to-date \\
\hline
Finnish & Olli Korhonen & {\tt Olli.Korhonen@ccc.fi} & 1.0.0 \\
\hline
French & Xavier Outhier & {\tt xouthier@yahoo.fr} &
up-to-date
\\
French & Xavier Outhier & {\tt xouthier@yahoo.fr} &
1.2.11
\\
\hline
German & Jens Seidel & {\tt jensseidel@users.sf.net} &
up-to-date
\\
German & Jens Seidel & {\tt jensseidel@users.sf.net} &
1.2.11
\\
& Jens Breitenstein & {\tt Jens.Breitenstein@tlc.de} & \\
\hline
Hungarian & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt foldvari@diatronltd.com} & 1.2.1 \\
\hline
Italian & Ahmed Aldo Faisal & {\tt aaf23@cam.ac.uk} &
up-to-date
\\
Italian & Ahmed Aldo Faisal & {\tt aaf23@cam.ac.uk} &
1.2.11
\\
& Alessandro Falappa & {\tt a.falappa@flashnet.it} & \\
\hline
Japanese & Kenji Nagamatsu & {\tt naga@joyful.club.ne.jp} & 1.2.5 \\
...
...
@@ -239,22 +240,22 @@ when the translator was updated.
\hline
Polish & Grzegorz Kowal & {\tt g\_kowal@poczta.onet.pl} & 1.2.1 \\
\hline
Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} &
up-to-date
\\
Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} &
1.2.11
\\
\hline
Romanian & Alexandru Iosup & {\tt aiosup@yahoo.com} & 1.2.1 \\
\hline
Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} &
up-to-date
\\
Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} &
1.2.11
\\
\hline
Slovak & Stanislav Kudl\'{a}\v{c} & {\tt qwerty1@pobox.sk} &
up-to-date
\\
Slovak & Stanislav Kudl\'{a}\v{c} & {\tt qwerty1@pobox.sk} &
1.2.11
\\
\hline
Slovene & Matjaz Ostroversnik & {\tt matjaz.ostroversnik@zrs-tk.si} & 1.
1.5
\\
Slovene & Matjaz Ostroversnik & {\tt matjaz.ostroversnik@zrs-tk.si} & 1.
2.11
\\
\hline
Spanish & Francisco Oltra Thennet & {\tt foltra@puc.cl} & 1.2.7 \\
\hline
Swedish & Samuel H\"{a}agglund & {\tt sahag96@nts.mh.se} & 1.0.0 \\
& XeT Erixon & {\tt xet@hem.passagen.se} & \\
\hline
Ukrainian & Olexij Tkatchenko & {\tt olexij.tkatchenko@gmx.de} &
up-to-date
\\
Ukrainian & Olexij Tkatchenko & {\tt olexij.tkatchenko@gmx.de} &
1.2.11
\\
\hline
\end{tabular}
\endlatexonly
...
...
doc/output.doc
View file @
7f95c8f5
...
...
@@ -32,6 +32,9 @@ The following output formats are \e directly supported by doxygen:
<dd>Generated if \c GENERATE_RTF is set to \c YES in the configuration file.<p>
Note that the RTF output probably only looks nice with Microsoft's
Word 97. If you have success with other programs, please let me know.
<dt><b>XML</b>
<dd>Generated if \c GENERATE_XML is set to \c YES in the configuration file.<p>
Note that the XML output is still under development.
</dl>
The following output formats are \e indirectly supported by doxygen:
...
...
packages/rpm/doxygen.spec
View file @
7f95c8f5
Name: doxygen
Version: 1.2.11_20011
021
Version: 1.2.11_20011
104
Summary: documentation system for C, C++ and IDL
Release: 4
Source: doxygen-%{version}.src.tar.gz
...
...
src/classdef.cpp
View file @
7f95c8f5
...
...
@@ -1267,8 +1267,11 @@ void ClassDef::writeMemberList(OutputList &ol)
QCString
name
=
mi
->
ambiguityResolutionScope
+
md
->
name
();
//ol.writeListItem();
ol
.
writeString
(
" <tr bgcolor=
\"
#f0f0f0
\"
><td>"
);
ol
.
writeObjectLink
(
cd
->
getReference
(),
cd
->
getOutputFileBase
(),
Definition
*
bd
=
md
->
getGroupDef
();
if
(
bd
==
0
)
bd
=
cd
;
ol
.
writeObjectLink
(
bd
->
getReference
(),
bd
->
getOutputFileBase
(),
md
->
anchor
(),
name
);
if
(
md
->
isFunction
()
||
md
->
isSignal
()
||
md
->
isSlot
()
||
(
md
->
isFriend
()
&&
md
->
argsString
()))
ol
.
docify
(
md
->
argsString
());
...
...
@@ -2238,23 +2241,18 @@ void ClassDef::addMembersToTemplateInstance(ClassDef *cd,const char *templSpec)
//imd->setBriefDescription(md->briefDescription());
imd
->
setMemberSpecifiers
(
md
->
getMemberSpecifiers
());
insertMember
(
imd
);
//printf("Adding member=%s%s to class %s\n",imd->name().data(),imd->argsString(),imd->getClassDef()->name().data());
//printf("Adding member=%s %s%s to class %s templSpec %s\n",
// imd->typeString(),imd->name().data(),imd->argsString(),
// imd->getClassDef()->name().data(),templSpec);
// insert imd in the list of all members
//printf("Adding member=%s class=%s\n",imd->name().data(),name().data());
#if 0
MemberName *mn;
if ((mn=Doxygen::memberNameDict[imd->name()]))
{
mn->append(md);
}
else
MemberName
*
mn
=
Doxygen
::
memberNameSDict
[
imd
->
name
()];
if
(
mn
==
0
)
{
mn
=
new
MemberName
(
imd
->
name
());
mn->append(md);
Doxygen::memberNameDict.insert(imd->name(),mn);
Doxygen::memberNameList.append(mn);
Doxygen
::
memberNameSDict
.
append
(
imd
->
name
(),
mn
);
}
#endif
mn
->
append
(
imd
);
}
}
}
...
...
@@ -2378,3 +2376,28 @@ void ClassDef::addListReferences()
propertyMembers
.
addListReferences
(
this
);
}
MemberDef
*
ClassDef
::
getMemberByName
(
const
QCString
&
name
)
{
MemberDef
*
xmd
=
0
;
MemberNameInfo
*
mni
=
m_allMemberNameInfoSDict
->
find
(
name
);
if
(
mni
)
{
const
int
maxInheritanceDepth
=
100000
;
int
mdist
=
maxInheritanceDepth
;
MemberNameInfoIterator
mnii
(
*
mni
);
MemberInfo
*
mi
;
for
(
mnii
.
toFirst
();(
mi
=
mnii
.
current
());
++
mnii
)
{
ClassDef
*
mcd
=
mi
->
memberDef
->
getClassDef
();
int
m
=
minClassDistance
(
this
,
mcd
);
if
(
m
<
mdist
&&
mcd
->
isLinkable
())
{
mdist
=
m
;
xmd
=
mi
->
memberDef
;
}
}
}
return
xmd
;
}
src/classdef.h
View file @
7f95c8f5
...
...
@@ -146,6 +146,8 @@ class ClassDef : public Definition
*/
PackageDef
*
packageDef
()
const
;
MemberDef
*
getMemberByName
(
const
QCString
&
);
/*! Returns TRUE iff \a bcd is a direct or indirect base class of this
* class. This function will recusively traverse all branches of the
* inheritance tree.
...
...
@@ -244,9 +246,9 @@ class ClassDef : public Definition
void
insertMember
(
MemberDef
*
);
void
insertUsedFile
(
const
char
*
);
void
computeAnchors
();
void
computeMemberGroups
();
void
setAnchor
(
MemberDef
*
);
void
dumpMembers
();
//
void computeMemberGroups();
//
void setAnchor(MemberDef *);
//
void dumpMembers();
bool
addExample
(
const
char
*
anchor
,
const
char
*
name
,
const
char
*
file
);
void
addMembersToMemberGroup
();
void
distributeMemberGroupDocumentation
();
...
...
src/code.l
View file @
7f95c8f5
This diff is collapsed.
Click to expand it.
src/config.l
View file @
7f95c8f5
...
...
@@ -1306,18 +1306,6 @@ void Config::create()
"Set it to YES to include the internal documentation. \n",
FALSE
);
cb = addBool(
"SOURCE_BROWSER",
"If the SOURCE_BROWSER tag is set to YES then a list of source files will \n"
"be generated. Documented entities will be cross-referenced with these sources. \n",
FALSE
);
cb = addBool(
"INLINE_SOURCES",
"Setting the INLINE_SOURCES tag to YES will include the body \n"
"of functions and classes directly in the documentation. \n",
FALSE
);
cb = addBool(
"STRIP_CODE_COMMENTS",
"Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct \n"
...
...
@@ -1557,6 +1545,14 @@ void Config::create()
"and *.h) to filter out the source-files in the directories. If left \n"
"blank all files are included. \n"
);
cb = addBool(
"EXAMPLE_RECURSIVE",
"If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be \n"
"searched for input files to be used with the \\include or \\dontinclude \n"
"commands irrespective of the value of the RECURSIVE tag. \n"
"Possible values are YES and NO. If left blank NO is used. \n",
FALSE
);
cl = addList(
"IMAGE_PATH",
"The IMAGE_PATH tag can be used to specify one or more files or \n"
...
...
@@ -1581,7 +1577,35 @@ void Config::create()
"files to browse. \n",
FALSE
);
//-----------------------------------------------------------------------------------------------
addInfo( "Source Browser","configuration options related to source browsing");
//-----------------------------------------------------------------------------------------------
cb = addBool(
"SOURCE_BROWSER",
"If the SOURCE_BROWSER tag is set to YES then a list of source files will \n"
"be generated. Documented entities will be cross-referenced with these sources. \n",
FALSE
);
cb = addBool(
"INLINE_SOURCES",
"Setting the INLINE_SOURCES tag to YES will include the body \n"
"of functions and classes directly in the documentation. \n",
FALSE
);
cb = addBool( "REFERENCED_BY_RELATION",
"If the REFERENCED_BY_RELATION tag is set to YES (the default) \n"
"then for each documented function all documented \n"
"functions referencing it will be listed. \n",
TRUE
);
cb->addDependency("SOURCE_BROWSER");
cb = addBool( "REFERENCES_RELATION",
"If the REFERENCES_RELATION tag is set to YES (the default) \n"
"then for each documented function all documented entities \n"
"called/used by that function will be listed. \n",
TRUE
);
cb->addDependency("SOURCE_BROWSER");
//-----------------------------------------------------------------------------------------------
addInfo( "Index","configuration options related to the alphabetical class index");
//-----------------------------------------------------------------------------------------------
...
...
src/definition.cpp
View file @
7f95c8f5
...
...
@@ -44,8 +44,8 @@ Definition::Definition(const char *df,int dl,
m_sectionDict
=
0
,
m_startBodyLine
=
m_endBodyLine
=-
1
,
m_bodyDef
=
0
;
m_sourceRef
Lis
t
=
0
;
m_sourceRefDict
=
0
;
m_sourceRef
ByDic
t
=
0
;
m_sourceRef
s
Dict
=
0
;
m_todoId
=
0
;
m_testId
=
0
;
m_bugId
=
0
;
...
...
@@ -55,8 +55,8 @@ Definition::Definition(const char *df,int dl,
Definition
::~
Definition
()
{
delete
m_sectionDict
;
delete
m_sourceRef
Lis
t
;
delete
m_sourceRefDict
;
delete
m_sourceRef
ByDic
t
;
delete
m_sourceRef
s
Dict
;
}
...
...
@@ -346,16 +346,17 @@ void Definition::writeInlineCode(OutputList &ol,const char *scopeName)
/*! Write a reference to the source code fragments in which this
* definition is used.
*/
void
Definition
::
writeSourceRefs
(
OutputList
&
ol
,
const
char
*
scopeName
)
void
Definition
::
writeSourceRefList
(
OutputList
&
ol
,
const
char
*
scopeName
,
const
QCString
&
text
,
MemberSDict
*
members
)
{
ol
.
pushGeneratorState
();
if
(
Config_getBool
(
"SOURCE_BROWSER"
)
&&
m
_sourceRefList
)
if
(
Config_getBool
(
"SOURCE_BROWSER"
)
&&
m
embers
)
{
ol
.
newParagraph
();
parseText
(
ol
,
t
heTranslator
->
trReferencedBy
()
);
parseText
(
ol
,
t
ext
);
ol
.
docify
(
" "
);
QCString
ldefLine
=
theTranslator
->
trWriteList
(
m
_sourceRefList
->
count
());
QCString
ldefLine
=
theTranslator
->
trWriteList
(
m
embers
->
count
());
QRegExp
marker
(
"@[0-9]+"
);
int
index
=
0
,
newIndex
,
matchLen
;
...
...
@@ -365,7 +366,7 @@ void Definition::writeSourceRefs(OutputList &ol,const char *scopeName)
bool
ok
;
parseText
(
ol
,
ldefLine
.
mid
(
index
,
newIndex
-
index
));
uint
entryIndex
=
ldefLine
.
mid
(
newIndex
+
1
,
matchLen
-
1
).
toUInt
(
&
ok
);
MemberDef
*
md
=
m
_sourceRefList
->
at
(
entryIndex
);
MemberDef
*
md
=
m
embers
->
at
(
entryIndex
);
if
(
ok
&&
md
)
{
QCString
scope
=
md
->
getScopeString
();
...
...
@@ -391,11 +392,27 @@ void Definition::writeSourceRefs(OutputList &ol,const char *scopeName)
ol
.
docify
(
name
);
ol
.
popGeneratorState
();
}
else
if
(
md
->
isLinkable
()
&&
md
->
getOuterScope
())
{
Definition
*
d
=
md
->
getOuterScope
();
// for HTML write a real link
ol
.
pushGeneratorState
();
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
ol
.
writeObjectLink
(
d
->
getReference
(),
d
->
getOutputFileBase
(),
md
->
anchor
(),
name
);
ol
.
popGeneratorState
();
// for the other output formats just mention the name
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Html
);
ol
.
docify
(
name
);
ol
.
popGeneratorState
();
}
else
{
ol
.
docify
(
name
);
}
ol
.
docify
(
"()"
);
if
(
md
->
isFunction
())
ol
.
docify
(
"()"
);
}
index
=
newIndex
+
matchLen
;
}
...
...
@@ -406,6 +423,16 @@ void Definition::writeSourceRefs(OutputList &ol,const char *scopeName)
ol
.
popGeneratorState
();
}
void
Definition
::
writeSourceReffedBy
(
OutputList
&
ol
,
const
char
*
scopeName
)
{
writeSourceRefList
(
ol
,
scopeName
,
theTranslator
->
trReferencedBy
(),
m_sourceRefByDict
);
}
void
Definition
::
writeSourceRefs
(
OutputList
&
ol
,
const
char
*
scopeName
)
{
writeSourceRefList
(
ol
,
scopeName
,
theTranslator
->
trReferences
(),
m_sourceRefsDict
);
}
bool
Definition
::
hasDocumentation
()
const
{
return
!
m_doc
.
isEmpty
()
||
// has detailed docs
...
...
@@ -413,27 +440,48 @@ bool Definition::hasDocumentation() const
Config_getBool
(
"EXTRACT_ALL"
);
// extract everything
}
void
Definition
::
addSourceReference
(
MemberDef
*
md
)
void
Definition
::
addSourceReference
dBy
(
MemberDef
*
md
)
{
if
(
md
)
{
QCString
name
=
md
->
name
();
QCString
scope
=
md
->
getScopeString
();
QCString
name
=
md
->
name
();
QCString
scope
=
md
->
getScopeString
();
if
(
!
scope
.
isEmpty
())
{
name
.
prepend
(
scope
+
"::"
);
}
if
(
m_sourceRefByDict
==
0
)
{
m_sourceRefByDict
=
new
MemberSDict
;
}
if
(
m_sourceRefByDict
->
find
(
name
)
==
0
)
{
m_sourceRefByDict
->
inSort
(
name
,
md
);
}
}
}
void
Definition
::
addSourceReferences
(
MemberDef
*
md
)
{
if
(
md
)
{
QCString
name
=
md
->
name
();
QCString
scope
=
md
->
getScopeString
();
if
(
!
scope
.
isEmpty
())
{
name
.
prepend
(
scope
+
"::"
);
}
if
(
m_sourceRef
Lis
t
==
0
)
if
(
m_sourceRef
sDic
t
==
0
)
{
m_sourceRefDict
=
new
MemberDict
(
53
);
m_sourceRefList
=
new
MemberList
;
m_sourceRefsDict
=
new
MemberSDict
;
}
if
(
m_sourceRefDict
->
find
(
name
)
==
0
)
if
(
m_sourceRef
s
Dict
->
find
(
name
)
==
0
)
{
m_sourceRefDict
->
insert
(
name
,
md
);
m_sourceRefList
->
inSort
(
md
);
m_sourceRefsDict
->
inSort
(
name
,
md
);
}
}
}
...
...
@@ -475,3 +523,10 @@ QCString Definition::localName() const
return
m_localName
;
}
void
Definition
::
setBodySegment
(
int
bls
,
int
ble
)
{
//printf("setBodySegment(%d,%d) for %s\n",bls,ble,name().data());
m_startBodyLine
=
bls
;
m_endBodyLine
=
ble
;
}
src/definition.h
View file @
7f95c8f5
...
...
@@ -24,8 +24,9 @@
class
FileDef
;
class
OutputList
;
class
SectionDict
;
class
MemberList
;
class
MemberDict
;
//class MemberList;
//class MemberDict;
class
MemberSDict
;
class
MemberDef
;
/*! The common base class of all entity definitions found in the sources. */
...
...
@@ -90,11 +91,7 @@ class Definition
void
writeDocAnchorsToTagFile
();
// source references
void
setBodySegment
(
int
bls
,
int
ble
)
{
m_startBodyLine
=
bls
;
m_endBodyLine
=
ble
;
}
void
setBodySegment
(
int
bls
,
int
ble
);
void
setBodyDef
(
FileDef
*
fd
)
{
m_bodyDef
=
fd
;
}
int
getStartBodyLine
()
const
{
return
m_startBodyLine
;
}
int
getEndBodyLine
()
const
{
return
m_endBodyLine
;
}
...
...
@@ -102,7 +99,9 @@ class Definition
void
writeSourceDef
(
OutputList
&
ol
,
const
char
*
scopeName
);
void
writeInlineCode
(
OutputList
&
ol
,
const
char
*
scopeName
);
void
writeSourceRefs
(
OutputList
&
ol
,
const
char
*
scopeName
);
void
addSourceReference
(
MemberDef
*
d
);
void
writeSourceReffedBy
(
OutputList
&
ol
,
const
char
*
scopeName
);
void
addSourceReferencedBy
(
MemberDef
*
d
);
void
addSourceReferences
(
MemberDef
*
d
);
void
setRefItems
(
int
todoId
,
int
testId
,
int
bugId
)
{
...
...
@@ -141,14 +140,18 @@ class Definition
// in the future m_name should become m_localName
private
:
void
writeSourceRefList
(
OutputList
&
ol
,
const
char
*
scopeName
,
const
QCString
&
text
,
MemberSDict
*
members
);
//QCString m_qualifiedName; // name of the definition
QCString
m_brief
;
// brief description
QCString
m_doc
;
// detailed description
QCString
m_ref
;
// reference to external documentation
SectionDict
*
m_sectionDict
;
// dictionary of all sections
MemberList
*
m_sourceRefList
;
// list of entities that refer to this
// entity in their definition
MemberDict
*
m_sourceRefDict
;
//MemberList *m_sourceRefList; // list of entities that refer to this
// // entity in their definition
//MemberDict *m_sourceRefDict;
MemberSDict
*
m_sourceRefByDict
;
MemberSDict
*
m_sourceRefsDict
;
int
m_testId
;
// id for test list item
int
m_todoId
;
// id for todo list item
int
m_bugId
;
// id for bug list item
...
...
src/doc.l
View file @
7f95c8f5
/*****************************************************************************
*
*
$Id$
*
*
* Copyright (C) 1997-2001 by Dimitri van Heesch.
*
...
...
@@ -632,7 +632,9 @@ static void forceEndItemList()
endBlock();
}
else
{
outDoc->endDescription();
}
break;
}
}
...
...
@@ -1156,7 +1158,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
}
<DocScan>(({B}*"\n"){2,}{B}*)?{CMD}"par"{B}* {
QCString t=yytext;
if (
t.contains('\n')>1 &&
insideItemList)
if (
/*t.contains('\n')>1 &&*/
insideItemList)
{
forceEndItemList();
}
...
...
@@ -1496,7 +1498,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
}
<DocScan>(({B}*"\n"){2,}{B}*)?{CMD}"param"{BSEP} {
QCString t=yytext;
if (
t.contains('\n')>1 &&
insideItemList)
if (
/*t.contains('\n')>1 &&*/
insideItemList)
{
forceEndItemList();
}
...
...
@@ -1520,7 +1522,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
}
<DocScan>(({B}*"\n"){2,}{B}*)?{CMD}"retval"{BSEP} {
QCString t=yytext;
if (
t.contains('\n')>1 &&
insideItemList)
if (
/*t.contains('\n')>1 &&*/
insideItemList)
{
forceEndItemList();
}
...
...
@@ -1544,7 +1546,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
}
<DocScan>(({B}*"\n"){2,}{B}*)?{CMD}("exception"|"throw")s?{BSEP} {
QCString t=yytext;
if (
t.contains('\n')>1 &&
insideItemList)
if (
/*t.contains('\n')>1 &&*/
insideItemList)
{
forceEndItemList();
}
...
...
@@ -1766,7 +1768,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
<DocImage>[rR][tT][fF] {
BEGIN(DocRtfImageName);
}
<DocHtmlImageName>
{FILE}|{URLMASK}
{
<DocHtmlImageName>
[^ \t\n]+
{
curImageName = findAndCopyImage(stripQuotes(yytext),IT_Html);
curImageCaption.resize(0);
if (curImageName.isEmpty())
...
...
@@ -2390,6 +2392,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
{
insideArgumentList=FALSE;
outDoc->endItemList();
if (ib) endBlock();
}
else if (insideItemList)
{
...
...
@@ -2405,9 +2408,9 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
{
outDoc->newParagraph();
}
}
if (ib) endBlock();
}
}
<DocScan>{BN}+/\n {
outDoc->writeChar(' ');
}
...
...
@@ -2472,6 +2475,7 @@ void scanDoc(const char *s)
void internalParseDocument(const char *s)
{
if (s==0) return;
const char *oldInputString = inputString;
int oldInputPosition = inputPosition;
int oldRule = YY_START;
...
...
src/doxygen.cpp
View file @
7f95c8f5
...
...
@@ -4958,7 +4958,7 @@ static void addSourceReferences()
for
(
mni
.
toFirst
();(
md
=
mni
.
current
());
++
mni
)
{
NamespaceDef
*
nd
=
md
->
getNamespaceDef
();
FileDef
*
fd
=
md
->
get
Body
Def
();
FileDef
*
fd
=
md
->
get
File
Def
();
GroupDef
*
gd
=
md
->
getGroupDef
();
if
(
fd
&&
md
->
getStartBodyLine
()
!=-
1
&&
md
->
isLinkableInProject
()
&&
((
nd
&&
nd
->
isLinkableInProject
())
||
...
...
@@ -6075,7 +6075,8 @@ static int readDir(QFileInfo *fi,
QStrList
*
exclPatList
,
StringList
*
resultList
,
StringDict
*
resultDict
,
bool
errorIfNotExist
bool
errorIfNotExist
,
bool
recursive
)
{
QDir
dir
((
const
char
*
)
fi
->
absFilePath
());
...
...
@@ -6126,13 +6127,14 @@ static int readDir(QFileInfo *fi,
if
(
resultList
)
resultList
->
append
(
rs
);
if
(
resultDict
)
resultDict
->
insert
(
cfi
->
absFilePath
(),
rs
);
}
else
if
(
Config_getBool
(
"RECURSIVE"
)
&&
else
if
(
recursive
&&
cfi
->
isDir
()
&&
cfi
->
fileName
()
!=
"."
&&
cfi
->
fileName
()
!=
".."
)
{
cfi
->
setFile
(
cfi
->
absFilePath
());
totalSize
+=
readDir
(
cfi
,
fnList
,
fnDict
,
exclDict
,
patList
,
exclPatList
,
resultList
,
resultDict
,
errorIfNotExist
);
patList
,
exclPatList
,
resultList
,
resultDict
,
errorIfNotExist
,
recursive
);
}
}
++
it
;
...
...
@@ -6188,6 +6190,7 @@ static int readFileOrDirectory(const char *s,
QStrList
*
exclPatList
,
StringList
*
resultList
,
StringDict
*
resultDict
,
bool
recursive
,
bool
errorIfNotExist
=
TRUE
)
{
...
...
@@ -6233,7 +6236,8 @@ static int readFileOrDirectory(const char *s,
}
else
if
(
fi
.
isDir
())
// readable dir
totalSize
+=
readDir
(
&
fi
,
fnList
,
fnDict
,
exclDict
,
patList
,
exclPatList
,
resultList
,
resultDict
,
errorIfNotExist
);
exclPatList
,
resultList
,
resultDict
,
errorIfNotExist
,
recursive
);
}
}
return
totalSize
;
...
...
@@ -6616,6 +6620,8 @@ void parseInput()
compoundKeywordDict
.
insert
(
"interface"
,(
void
*
)
8
);
compoundKeywordDict
.
insert
(
"exception"
,(
void
*
)
8
);
bool
alwaysRecursive
=
Config_getBool
(
"RECURSIVE"
);
/**************************************************************************
* Read and preprocess input *
**************************************************************************/
...
...
@@ -6632,7 +6638,8 @@ void parseInput()
pl
=
Config_getList
(
"FILE_PATTERNS"
);
}
readFileOrDirectory
(
s
,
0
,
Doxygen
::
includeNameDict
,
0
,
&
pl
,
&
Config_getList
(
"EXCLUDE_PATTERNS"
),
0
,
0
);
&
Config_getList
(
"EXCLUDE_PATTERNS"
),
0
,
0
,
alwaysRecursive
);
s
=
includePathList
.
next
();
}
...
...
@@ -6643,7 +6650,8 @@ void parseInput()
{
readFileOrDirectory
(
s
,
0
,
Doxygen
::
exampleNameDict
,
0
,
&
Config_getList
(
"EXAMPLE_PATTERNS"
),
0
,
0
,
0
);
0
,
0
,
0
,
(
alwaysRecursive
||
Config_getBool
(
"EXAMPLE_RECURSIVE"
)));
s
=
examplePathList
.
next
();
}
...
...
@@ -6653,17 +6661,27 @@ void parseInput()
while
(
s
)
{
readFileOrDirectory
(
s
,
0
,
Doxygen
::
imageNameDict
,
0
,
0
,
0
,
0
,
0
);
0
,
0
,
0
,
alwaysRecursive
);
s
=
imagePathList
.
next
();
}
QDictIterator
<
FileName
>
fndi
(
*
Doxygen
::
imageNameDict
);
FileName
*
fn
;
for
(;(
fn
=
fndi
.
current
());
++
fndi
)
{
printf
(
"File Name %s
\n
"
,
fn
->
fileName
());
}
msg
(
"Searching for dot files...
\n
"
);
QStrList
&
dotFileList
=
Config_getList
(
"DOTFILE_DIRS"
);
s
=
dotFileList
.
first
();
while
(
s
)
{
readFileOrDirectory
(
s
,
0
,
Doxygen
::
dotFileNameDict
,
0
,
0
,
0
,
0
,
0
);
0
,
0
,
0
,
alwaysRecursive
);
s
=
dotFileList
.
next
();
}
...
...
@@ -6673,7 +6691,9 @@ void parseInput()
while
(
s
)
{
readFileOrDirectory
(
s
,
0
,
0
,
0
,
&
Config_getList
(
"FILE_PATTERNS"
),
0
,
0
,
&
excludeNameDict
,
FALSE
);
0
,
0
,
&
excludeNameDict
,
alwaysRecursive
,
FALSE
);
s
=
excludeList
.
next
();
}
...
...
@@ -6692,7 +6712,8 @@ void parseInput()
Doxygen
::
inputNameDict
,
&
excludeNameDict
,
&
Config_getList
(
"FILE_PATTERNS"
),
&
Config_getList
(
"EXCLUDE_PATTERNS"
),
&
inputFiles
,
0
);
&
inputFiles
,
0
,
alwaysRecursive
);
s
=
inputList
.
next
();
}
...
...
src/htmlgen.cpp
View file @
7f95c8f5
...
...
@@ -637,13 +637,13 @@ void HtmlGenerator::writeFormula(const char *n,const char *text)
{
if
(
text
&&
text
[
0
]
==
'\\'
)
t
<<
"<p><center>"
<<
endl
;
t
<<
"<img align="
;
#if !defined(_WIN32)
t
<<
"
\"
top
\"
"
;
// assume Unix users use Netscape 4.x which does
// not seem to support align == "middle" :-((
#else
//
#if !defined(_WIN32)
//
t << "\"top\""; // assume Unix users use Netscape 4.x which does
//
// not seem to support align == "middle" :-((
//
#else
t
<<
"
\"
middle
\"
"
;
// assume Windows users use IE or HtmlHelp which only
// displays formulas nicely with align == "middle"
#endif
//
#endif
t
<<
" src=
\"
"
<<
n
<<
"
\"
>"
<<
endl
;
if
(
text
&&
text
[
0
]
==
'\\'
)
t
<<
"</center><p>"
<<
endl
;
}
...
...
src/index.cpp
View file @
7f95c8f5
...
...
@@ -2134,9 +2134,19 @@ void writePageIndex(OutputList &ol)
ftvHelp
->
incContentsDepth
();
}
parseText
(
ol
,
theTranslator
->
trRelatedPagesDescription
());
//ol.newParagraph();
ol
.
endTextBlock
();
{
// UGLY HACK!
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
Html
);
ol
.
startIndexList
();
ol
.
enableAll
();
ol
.
disable
(
OutputGenerator
::
Latex
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
startItemList
();
ol
.
popGeneratorState
();
}
PageSDict
::
Iterator
pdi
(
*
Doxygen
::
pageSDict
);
PageInfo
*
pi
=
0
;
for
(
pdi
.
toFirst
();(
pi
=
pdi
.
current
());
++
pdi
)
...
...
@@ -2162,15 +2172,23 @@ void writePageIndex(OutputList &ol)
ol
.
docify
(
" [external]"
);
ol
.
endTypewriter
();
}
//ol.writeStartAnnoItem("pages",pageName,0,pageTitle);
////ol.writeObjectLink(0,pageName,0,pageTitle);
//ol.writeEndAnnoItem(pageName);
ol
.
writeString
(
"
\n
"
);
if
(
hasHtmlHelp
)
htmlHelp
->
addContentsItem
(
FALSE
,
pageTitle
,
pageName
);
if
(
hasFtvHelp
)
ftvHelp
->
addContentsItem
(
FALSE
,
0
,
pageName
,
0
,
pageTitle
);
}
}
{
// UGLY HACK!
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
Html
);
ol
.
endIndexList
();
ol
.
enableAll
();
ol
.
disable
(
OutputGenerator
::
Latex
);
ol
.
disable
(
OutputGenerator
::
RTF
);
ol
.
endItemList
();
ol
.
popGeneratorState
();
}
if
(
hasHtmlHelp
)
{
htmlHelp
->
decContentsDepth
();
...
...
@@ -2273,7 +2291,7 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,bool subLevel)
htmlHelp
->
addContentsItem
(
isDir
,
gd
->
groupTitle
(),
gd
->
getOutputFileBase
());
htmlHelp
->
incContentsDepth
();
}
if
(
ftvHelp
)
if
(
ftvHelp
)
{
ftvHelp
->
addContentsItem
(
isDir
,
gd
->
getReference
(),
gd
->
getOutputFileBase
(),
0
,
gd
->
groupTitle
());
...
...
src/latexgen.cpp
View file @
7f95c8f5
...
...
@@ -199,6 +199,13 @@ void LatexGenerator::init()
<<
"
\t
makeindex refman.idx"
<<
endl
<<
"
\t
echo
\"
Rerunning latex....
\"
"
<<
endl
<<
"
\t
latex refman.tex"
<<
endl
<<
"
\t
latex_count=5"
<<
endl
<<
"
\t
while egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $latex_count -gt 0 ] ;
\\
"
<<
endl
<<
"
\t
do
\\
"
<<
endl
<<
"
\t
echo
\"
Rerunning latex....
\"
;
\\
"
<<
endl
<<
"
\t
latex refman.tex ;
\\
"
<<
endl
<<
"
\t
latex_count=`expr $latex_count - 1` ;
\\
"
<<
endl
<<
"
\t
done"
<<
endl
<<
endl
<<
"clean:"
<<
endl
<<
"
\t
rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out"
<<
endl
;
}
...
...
@@ -1257,6 +1264,119 @@ void LatexGenerator::writeSectionRefItem(const char *,const char *lab,
// docifyStatic(t,str);
//}
/*!
* Function converts Latin2 character to latex strin] representin the same
* character.
*/
void
LatexGenerator
::
latin2ToLatex
(
unsigned
char
c
)
{
switch
(
c
)
{
case
0xA1
:
t
<<
c
;
break
;
case
0xA2
:
t
<<
c
;
break
;
case
0xA3
:
t
<<
c
;
break
;
case
0xA4
:
t
<<
c
;
break
;
case
0xA5
:
t
<<
c
;
break
;
case
0xA6
:
t
<<
"
\\
'{S}"
;
break
;
case
0xA7
:
t
<<
c
;
break
;
case
0xA8
:
t
<<
c
;
break
;
case
0xA9
:
t
<<
"
\\
v{S}"
;
break
;
case
0xAA
:
t
<<
"
\\
c{S}"
;
break
;
case
0xAB
:
t
<<
"
\\
v{T}"
;
break
;
case
0xAC
:
t
<<
"
\\
'{Z}"
;
break
;
case
0xAD
:
t
<<
c
;
break
;
case
0xAE
:
t
<<
"
\\
v{Z}"
;
break
;
case
0xAF
:
t
<<
"
\\
.{Z}"
;
break
;
case
0xB0
:
t
<<
c
;
break
;
case
0xB1
:
t
<<
c
;
break
;
case
0xB2
:
t
<<
c
;
break
;
case
0xB3
:
t
<<
c
;
break
;
case
0xB4
:
t
<<
c
;
break
;
case
0xB5
:
t
<<
c
;
break
;
case
0xB6
:
t
<<
"
\\
'{s}"
;
break
;
case
0xB7
:
t
<<
c
;
break
;
case
0xB8
:
t
<<
c
;
break
;
case
0xB9
:
t
<<
"
\\
v{s}"
;
break
;
case
0xBA
:
t
<<
"
\\
c{s}"
;
break
;
case
0xBB
:
t
<<
"
\\
v{t}"
;
break
;
case
0xBC
:
t
<<
"
\\
'{z}"
;
break
;
case
0xBD
:
t
<<
c
;
break
;
case
0xBE
:
t
<<
"
\\
v{z}"
;
break
;
case
0xBF
:
t
<<
"
\\
.{z}"
;
break
;
case
0xC0
:
t
<<
"
\\
'{R}"
;
break
;
case
0xC1
:
t
<<
"
\\
'{A}"
;
break
;
case
0xC2
:
t
<<
"
\\
^{A}"
;
break
;
case
0xC3
:
t
<<
"
\\
u{A}"
;
break
;
case
0xC4
:
t
<<
"
\\\"
{A}"
;
break
;
case
0xC5
:
t
<<
"
\\
'{L}"
;
break
;
case
0xC6
:
t
<<
"
\\
'{C}"
;
break
;
case
0xC7
:
t
<<
"
\\
c{C}"
;
break
;
case
0xC8
:
t
<<
"
\\
v{C}"
;
break
;
case
0xC9
:
t
<<
"
\\
'{E}"
;
break
;
case
0xCA
:
t
<<
"
\\
c{E}"
;
break
;
case
0xCB
:
t
<<
"
\\\"
{E}"
;
break
;
case
0xCC
:
t
<<
"
\\
v{E}"
;
break
;
case
0xCD
:
t
<<
"
\\
'{I}"
;
break
;
case
0xCE
:
t
<<
"
\\
^{I}"
;
break
;
case
0xCF
:
t
<<
"
\\
v{D}"
;
break
;
case
0xD0
:
t
<<
"
\\
bar{D}"
;
break
;
case
0xD1
:
t
<<
"
\\
'{N}"
;
break
;
case
0xD2
:
t
<<
"
\\
v{N}"
;
break
;
case
0xD3
:
t
<<
"
\\
'{O}"
;
break
;
case
0xD4
:
t
<<
"
\\
^{O}"
;
break
;
case
0xD5
:
t
<<
"
\\
H{O}"
;
break
;
case
0xD6
:
t
<<
"
\\\"
{O}"
;
break
;
case
0xD7
:
t
<<
c
;
break
;
case
0xD8
:
t
<<
"
\\
v{R}"
;
break
;
case
0xD9
:
t
<<
c
;
break
;
case
0xDA
:
t
<<
"
\\
'{U}"
;
break
;
case
0xDB
:
t
<<
"
\\
H{U}"
;
break
;
case
0xDC
:
t
<<
"
\\\"
{U}"
;
break
;
case
0xDD
:
t
<<
"
\\
'{Y}"
;
break
;
case
0xDE
:
t
<<
"
\\
c{T}"
;
break
;
case
0xDF
:
t
<<
"
\\
ss"
;
break
;
case
0xE0
:
t
<<
"
\\
'{r}"
;
break
;
case
0xE1
:
t
<<
"
\\
'{a}"
;
break
;
case
0xE2
:
t
<<
"
\\
^{a}"
;
break
;
case
0xE3
:
t
<<
c
;
break
;
case
0xE4
:
t
<<
"
\\\"
{a}"
;
break
;
case
0xE5
:
t
<<
"
\\
'{l}"
;
break
;
case
0xE6
:
t
<<
"
\\
'{c}"
;
break
;
case
0xE7
:
t
<<
"
\\
c{c}"
;
break
;
case
0xE8
:
t
<<
"
\\
v{c}"
;
break
;
case
0xE9
:
t
<<
"
\\
'{e}"
;
break
;
case
0xEA
:
t
<<
c
;
break
;
case
0xEB
:
t
<<
"
\\\"
{e}"
;
break
;
case
0xEC
:
t
<<
"
\\
v{e}"
;
break
;
case
0xED
:
t
<<
"
\\
'{
\\
i}"
;
break
;
case
0xEE
:
t
<<
"
\\
^{
\\
i}"
;
break
;
case
0xEF
:
t
<<
"
\\
v{d}"
;
break
;
case
0xF0
:
t
<<
"
\\
bar{d}"
;
break
;
case
0xF1
:
t
<<
"
\\
'{n}"
;
break
;
case
0xF2
:
t
<<
"
\\
v{n}"
;
break
;
case
0xF3
:
t
<<
"
\\
'{o}"
;
break
;
case
0xF4
:
t
<<
"
\\
^{o}"
;
break
;
case
0xF5
:
t
<<
"
\\
H{o}"
;
break
;
case
0xF6
:
t
<<
"
\\\"
{o}"
;
break
;
case
0xF7
:
t
<<
c
;
break
;
case
0xF8
:
t
<<
"
\\
v{r}"
;
break
;
case
0xF9
:
t
<<
c
;
break
;
case
0xFA
:
t
<<
"
\\
'{u}"
;
break
;
case
0xFB
:
t
<<
"
\\
H{u}"
;
break
;
case
0xFC
:
t
<<
"
\\\"
{u}"
;
break
;
case
0xFD
:
t
<<
"
\\
'{y}"
;
break
;
case
0xFE
:
t
<<
c
;
break
;
case
0xFF
:
t
<<
c
;
break
;
default
:
t
<<
c
;
}
}
//void LatexGenerator::docifyStatic(QTextStream &t,const char *str)
void
LatexGenerator
::
docify
(
const
char
*
str
)
{
...
...
@@ -1266,6 +1386,7 @@ void LatexGenerator::docify(const char *str)
static
bool
isRussian
=
theTranslator
->
idLanguage
()
==
"russian"
;
static
bool
isUkrainian
=
theTranslator
->
idLanguage
()
==
"ukrainian"
;
static
bool
isChinese
=
theTranslator
->
idLanguage
()
==
"chinese"
;
static
bool
isLatin2
=
theTranslator
->
idLanguageCharset
()
==
"iso-8859-2"
;
if
(
str
)
{
const
unsigned
char
*
p
=
(
const
unsigned
char
*
)
str
;
...
...
@@ -1360,6 +1481,19 @@ void LatexGenerator::docify(const char *str)
t
<<
(
char
)
c
;
}
}
else
if
(
isLatin2
)
{
if
(
c
>=
128
)
{
latin2ToLatex
(
c
);
}
else
{
// see if we can insert an hyphenation hint
if
(
isupper
(
c
)
&&
islower
(
pc
)
&&
!
insideTabbing
)
t
<<
"
\\
-"
;
t
<<
(
char
)
c
;
}
}
else
// language is other than Czech, Russian or Japanese
{
switch
(
c
)
...
...
src/latexgen.h
View file @
7f95c8f5
...
...
@@ -258,6 +258,7 @@ class LatexGenerator : public OutputGenerator
void
endFontClass
()
{}
private
:
void
latin2ToLatex
(
unsigned
char
);
LatexGenerator
(
const
LatexGenerator
&
);
LatexGenerator
&
operator
=
(
const
LatexGenerator
&
);
int
col
;
...
...
src/memberdef.cpp
View file @
7f95c8f5
...
...
@@ -1459,6 +1459,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
// write reference to the source
writeSourceDef
(
ol
,
cname
);
writeSourceRefs
(
ol
,
cname
);
writeSourceReffedBy
(
ol
,
cname
);
writeInlineCode
(
ol
,
cname
);
ol
.
endIndent
();
...
...
src/memberlist.cpp
View file @
7f95c8f5
...
...
@@ -44,7 +44,7 @@ int MemberList::compareItems(GCI item1, GCI item2)
{
MemberDef
*
c1
=
(
MemberDef
*
)
item1
;
MemberDef
*
c2
=
(
MemberDef
*
)
item2
;
return
strcmp
(
c1
->
name
(),
c2
->
name
());
return
str
i
cmp
(
c1
->
name
(),
c2
->
name
());
}
/*! Count the number of members in this list that are visible in
...
...
@@ -575,3 +575,12 @@ void MemberList::addListReferences(Definition *def)
}
}
//--------------------------------------------------------------------------
int
MemberSDict
::
compareItems
(
GCI
item1
,
GCI
item2
)
{
MemberDef
*
c1
=
(
MemberDef
*
)
item1
;
MemberDef
*
c2
=
(
MemberDef
*
)
item2
;
return
stricmp
(
c1
->
name
(),
c2
->
name
());
}
src/memberlist.h
View file @
7f95c8f5
...
...
@@ -20,6 +20,8 @@
#include <qlist.h>
#include "memberdef.h"
#include "sortdict.h"
class
GroupDef
;
class
MemberGroup
;
class
MemberGroupList
;
...
...
@@ -69,13 +71,22 @@ class MemberListIterator : public QListIterator<MemberDef>
{
public
:
MemberListIterator
(
const
QList
<
MemberDef
>
&
list
);
virtual
~
MemberListIterator
()
{}
};
class
MemberDict
:
public
QDict
<
MemberDef
>
{
public
:
MemberDict
(
int
size
)
:
QDict
<
MemberDef
>
(
size
)
{}
~
MemberDict
()
{}
virtual
~
MemberDict
()
{}
};
class
MemberSDict
:
public
SDict
<
MemberDef
>
{
public
:
MemberSDict
(
int
size
=
17
)
:
SDict
<
MemberDef
>
(
size
)
{}
virtual
~
MemberSDict
()
{}
int
compareItems
(
GCI
item1
,
GCI
item2
);
};
...
...
src/scanner.l
View file @
7f95c8f5
...
...
@@ -581,6 +581,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
%x NSAliasName
%x NSAliasArg
%x PackageName
%x GetCallType
%%
...
...
@@ -1629,7 +1630,11 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
*/
<ReadBody>[^\r\n{}"'/]* { current->program += yytext ; }
<ReadBody>"//".* { current->program += yytext ; }
<ReadBody>\"[^\r\n"]*\" { current->program += yytext ; }
<ReadBody>\" { current->program += yytext ;
pCopyQuotedString = ¤t->program;
lastStringContext=YY_START;
BEGIN( CopyString );
}
<ReadBody>"/*"{B}* { current->program += yytext ;
lastContext = ReadBody ;
BEGIN( Comment ) ;
...
...
@@ -1919,6 +1924,32 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<FuncFuncType>. {
current->type += *yytext;
}
<FindMembers>"("/{BN}*{ID}{BN}*"*" { // for catching typedef void (__stdcall *f)() like definitions
if (current->type.left(7)=="typedef" && current->bodyLine==-1)
// the bodyLine check is to prevent this guard to be true more than once
{
current->bodyLine = yyLineNr;
BEGIN( GetCallType );
}
else if (!current->name.isEmpty()) // normal function
{
current->args = yytext;
current->bodyLine = yyLineNr;
currentArgumentContext = FuncQual;
fullArgString=current->args.copy();
copyArgString=¤t->args;
BEGIN( ReadFuncArgType ) ;
//printf(">>> Read function arguments!\n");
}
}
<GetCallType>{BN}*{ID}{BN}*"*" {
lineCount();
addType(current);
funcPtrType="(";
funcPtrType+=yytext;
roundCount=0;
BEGIN( FuncPtr );
}
<FindMembers>"(" {
if (!current->name.isEmpty())
{
...
...
@@ -3905,7 +3936,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<Doc,ClassDoc,PageDoc,ExampleDoc,AfterDoc>"\\"[a-z_A-Z][a-z_A-Z0-9]*[\\] { // directory type of text
current->doc+=yytext;
}
<Doc,ClassDoc,PageDoc,ExampleDoc,AfterDoc
,SkipSection
>{CMD}[a-z_A-Z][a-z_A-Z0-9]* {
<Doc,ClassDoc,PageDoc,ExampleDoc,AfterDoc>{CMD}[a-z_A-Z][a-z_A-Z0-9]* {
QCString *pValue=Doxygen::aliasDict[yytext+1];
if (pValue)
{
...
...
src/tagreader.cpp
View file @
7f95c8f5
...
...
@@ -986,6 +986,7 @@ void TagFileParser::buildLists(Entry *root)
for
(;(
argName
=
sli
.
current
());
++
sli
)
{
Argument
*
a
=
new
Argument
;
a
->
type
=
"class"
;
a
->
name
=
*
argName
;
al
->
append
(
a
);
}
...
...
src/translator.h
View file @
7f95c8f5
...
...
@@ -355,6 +355,12 @@ class Translator
virtual
QCString
trAuthor
(
bool
first_capital
,
bool
singular
)
=
0
;
//////////////////////////////////////////////////////////////////////////
// new since 1.2.11
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trReferences
()
=
0
;
};
#endif
src/translator_adapter.h
View file @
7f95c8f5
...
...
@@ -37,7 +37,6 @@ class TranslatorAdapterCVS : public Translator
vs
+=
versionString
;
// the one from the version.cpp
return
createUpdateNeededMessage
(
idLanguage
(),
vs
);
}
//-----------------------------------------------------------------------
// The things below this line should go to the new
// TranslatorAdapter_1_2_x, as public methods. The things above
...
...
@@ -45,19 +44,31 @@ class TranslatorAdapterCVS : public Translator
// The first five lines below should be uncommented, and the
// release number at the fifth of those lines should be set.
// class TranslatorAdapter_1_2_
8
: public TranslatorAdapterCVS
// class TranslatorAdapter_1_2_
x
: public TranslatorAdapterCVS
// {
// public:
// virtual QCString updateNeededMessage()
// { return createUpdateNeededMessage(idLanguage(),"release 1.2.
7
"); }
// { return createUpdateNeededMessage(idLanguage(),"release 1.2.
x
"); }
// Put new adapter methods below...
//
};
class
TranslatorAdapter_1_2_11
:
public
TranslatorAdapterCVS
{
public
:
virtual
QCString
updateNeededMessage
()
{
return
createUpdateNeededMessage
(
idLanguage
(),
"release 1.2.11"
);
}
// Put new adapter methods below...
//
virtual
QCString
trReferences
()
{
return
english
.
trReferences
();
}
};
class
TranslatorAdapter_1_2_7
:
public
TranslatorAdapter
CVS
class
TranslatorAdapter_1_2_7
:
public
TranslatorAdapter
_1_2_11
{
public
:
virtual
QCString
updateNeededMessage
()
...
...
src/translator_br.h
View file @
7f95c8f5
...
...
@@ -17,7 +17,7 @@
#ifndef TRANSLATOR_BR_H
#define TRANSLATOR_BR_H
class
TranslatorBrazilian
:
public
Translator
class
TranslatorBrazilian
:
public
Translator
Adapter_1_2_11
{
public
:
...
...
src/translator_cn.h
View file @
7f95c8f5
...
...
@@ -26,7 +26,7 @@
*/
#define CN_SPC
class
TranslatorChinese
:
public
Translator
class
TranslatorChinese
:
public
Translator
Adapter_1_2_11
{
public
:
/*! Used for identification of the language. The identification
...
...
src/translator_cz.h
View file @
7f95c8f5
...
...
@@ -148,7 +148,7 @@
// probably slightly faster.
class
TranslatorCzech
:
public
Translator
class
TranslatorCzech
:
public
Translator
Adapter_1_2_11
{
private
:
/*! The decode() inline assumes the source written in the
...
...
src/translator_de.h
View file @
7f95c8f5
...
...
@@ -65,7 +65,7 @@
#ifndef TRANSLATOR_DE_H
#define TRANSLATOR_DE_H
class
TranslatorGerman
:
public
Translator
class
TranslatorGerman
:
public
Translator
Adapter_1_2_11
{
public
:
...
...
src/translator_en.h
View file @
7f95c8f5
...
...
@@ -1361,6 +1361,17 @@ class TranslatorEnglish : public Translator
return
result
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.11
//////////////////////////////////////////////////////////////////////////
/*! This text is put before the list of members referenced by a member
*/
virtual
QCString
trReferences
()
{
return
"References"
;
}
};
#endif
src/translator_fr.h
View file @
7f95c8f5
...
...
@@ -23,7 +23,7 @@
#ifndef TRANSLATOR_FR_H
#define TRANSLATOR_FR_H
class
TranslatorFrench
:
public
Translator
class
TranslatorFrench
:
public
Translator
Adapter_1_2_11
{
public
:
QCString
idLanguage
()
...
...
src/translator_hr.h
View file @
7f95c8f5
...
...
@@ -42,7 +42,7 @@
#ifndef TRANSLATOR_HR_H
#define TRANSLATOR_HR_H
class
TranslatorCroatian
:
public
Translator
class
TranslatorCroatian
:
public
Translator
Adapter_1_2_11
{
private
:
/*! to avoid macro redefinition from translator_cz.h */
...
...
src/translator_it.h
View file @
7f95c8f5
...
...
@@ -59,7 +59,7 @@
#ifndef TRANSLATOR_IT_H
#define TRANSLATOR_IT_H
class
TranslatorItalian
:
public
Translator
class
TranslatorItalian
:
public
Translator
Adapter_1_2_11
{
public
:
...
...
src/translator_nl.h
View file @
7f95c8f5
...
...
@@ -18,7 +18,7 @@
#ifndef TRANSLATOR_NL_H
#define TRANSLATOR_NL_H
class
TranslatorDutch
:
public
Translator
class
TranslatorDutch
:
public
Translator
Adapter_1_2_11
{
public
:
QCString
idLanguage
()
...
...
src/translator_pt.h
View file @
7f95c8f5
...
...
@@ -27,7 +27,7 @@
#ifndef TRANSLATOR_PT_H
#define TRANSLATOR_PT_H
class
TranslatorPortuguese
:
public
Translator
class
TranslatorPortuguese
:
public
Translator
Adapter_1_2_11
{
public
:
...
...
src/translator_ru.h
View file @
7f95c8f5
...
...
@@ -50,7 +50,7 @@
#ifndef TRANSLATOR_RU_H
#define TRANSLATOR_RU_H
class
TranslatorRussian
:
public
Translator
class
TranslatorRussian
:
public
Translator
Adapter_1_2_11
{
private
:
/*! The Decode() inline assumes the source written in the
...
...
src/translator_si.h
View file @
7f95c8f5
...
...
@@ -21,7 +21,7 @@
#define TRANSLATOR_SI_H
class
TranslatorSlovene
:
public
Translator
class
TranslatorSlovene
:
public
Translator
Adapter_1_2_11
{
public
:
QCString
idLanguage
()
...
...
@@ -50,11 +50,11 @@ class TranslatorSlovene : public Translator
QCString
trDetailedDescription
()
{
return
"Podroben opis"
;
}
QCString
trMemberTypedefDocumentation
()
{
return
"Opis
<code> uporabniko definiranih tipov (typedef) </code>
"
;
}
{
return
"Opis
uporabniko definiranih tipov
"
;
}
QCString
trMemberEnumerationDocumentation
()
{
return
"Opis komponent
<code> natevnih tipov </code>
"
;
}
{
return
"Opis komponent
natevnih tipov
"
;
}
QCString
trEnumerationValueDocumentation
()
{
return
"Opis vrednosti
<code> natevnih tipov (enum) </code>
"
;
}
{
return
"Opis vrednosti
natevnih tipov (enum)
"
;
}
QCString
trMemberFunctionDocumentation
()
{
return
"Opis metod"
;
}
QCString
trMemberDataDocumentation
()
...
...
@@ -231,7 +231,7 @@ class TranslatorSlovene : public Translator
QCString
trParameters
()
{
return
"Parametri"
;
}
QCString
trExceptions
()
{
return
"Prekinitve
(Exceptions)
"
;
}
{
return
"Prekinitve"
;
}
QCString
trGeneratedBy
()
{
return
"Izdelano s pomojo"
;
}
...
...
@@ -240,7 +240,7 @@ class TranslatorSlovene : public Translator
//////////////////////////////////////////////////////////////////////////
QCString
trNamespaceList
()
{
return
"
seznam imenskih prostorov
"
;
}
{
return
"
imenski prostori
"
;
}
QCString
trNamespaceListDescription
(
bool
extractAll
)
{
QCString
result
=
"Seznam "
;
...
...
@@ -267,14 +267,14 @@ class TranslatorSlovene : public Translator
bool
/*isTemplate*/
)
// used as the title of the HTML page of a class/struct/union
{
QCString
result
=
"
Opis
"
;
QCString
result
=
""
;
switch
(
compType
)
{
case
ClassDef
:
:
Class
:
result
+=
"
razreda
"
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"
strukture
"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"
unije
"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"
vmesnika (interface)
"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"
prekinitve (exception)
"
;
break
;
case
ClassDef
:
:
Class
:
result
+=
"
Razred
"
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"
Struktura
"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"
Mnoica
"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"
IDL vmesnik
"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"
IDL prekinitev
"
;
break
;
}
result
+=
(
QCString
)
clName
;
...
...
@@ -283,14 +283,14 @@ class TranslatorSlovene : public Translator
QCString
trFileReference
(
const
char
*
fileName
)
// used as the title of the HTML page of a file
{
QCString
result
=
"
Vsebina datoteke
"
;
QCString
result
=
"
Datoteka
"
;
result
+=
fileName
;
return
result
;
}
QCString
trNamespaceReference
(
const
char
*
namespaceName
)
// used as the title of the HTML page of a namespace
{
QCString
result
=
"
Opis imenskega prostora
"
;
QCString
result
=
"
Imenski prostor
"
;
result
+=
namespaceName
;
return
result
;
...
...
@@ -497,7 +497,8 @@ class TranslatorSlovene : public Translator
"direktno ali indirektno vkljuuje. Pravokotniki ponazarjajo datoteke, puice "
"predstavljajo relacije med njimi. "
"rn pravokotnik ponazarja datoteko "
+
fName
+
". Puice A->B ponazarjajo "
"usmerjeno relacijo
\"
A vkljuuje B
\"
."
;
"usmerjeno relacijo
\"
A vkljuuje B
\"
."
;
}
/*! header that is put before the list of constructor/destructors. */
QCString
trConstructorDocumentation
()
...
...
src/translator_sk.h
View file @
7f95c8f5
...
...
@@ -23,7 +23,7 @@
#ifndef TRANSLATOR_SK_H
#define TRANSLATOR_SK_H
class
TranslatorSlovak
:
public
Translator
class
TranslatorSlovak
:
public
Translator
Adapter_1_2_11
{
private
:
/*! The Decode() inline assumes the source written in the
...
...
src/translator_ua.h
View file @
7f95c8f5
...
...
@@ -20,7 +20,7 @@
#ifndef TRANSLATOR_UA_H
#define TRANSLATOR_UA_H
class
TranslatorUkrainian
:
public
Translator
class
TranslatorUkrainian
:
public
Translator
Adapter_1_2_11
{
private
:
/*! The Decode() inline assumes the source written in the
...
...
src/util.cpp
View file @
7f95c8f5
...
...
@@ -3230,6 +3230,8 @@ QCString substituteTemplateArgumentsInString(
++
formAli
,
actArg
=
actualArgs
->
next
()
)
{
//printf("n=%s formArg->type=%s formArg->name=%s\n",
// n.data(),formArg->type.data(),formArg->name.data());
if
(
formArg
->
type
==
"class"
||
formArg
->
type
==
"typename"
)
{
if
(
formArg
->
name
==
n
&&
actArg
&&
!
actArg
->
type
.
isEmpty
())
// base class is a template argument
...
...
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