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
2eef94da
Commit
2eef94da
authored
Apr 21, 2003
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.3-20030421
parent
7e0aeda8
Changes
59
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
59 changed files
with
905 additions
and
451 deletions
+905
-451
INSTALL
INSTALL
+2
-2
README
README
+2
-2
VERSION
VERSION
+1
-1
configure
configure
+2
-2
arch.doc
doc/arch.doc
+5
-4
commands.doc
doc/commands.doc
+33
-0
config.doc
doc/config.doc
+1
-1
language.doc
doc/language.doc
+22
-22
inftrees.c
libpng/inftrees.c
+1
-1
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
classdef.cpp
src/classdef.cpp
+83
-29
classdef.h
src/classdef.h
+5
-0
cmdmapper.cpp
src/cmdmapper.cpp
+1
-4
cmdmapper.h
src/cmdmapper.h
+67
-70
config.l
src/config.l
+9
-8
defgen.cpp
src/defgen.cpp
+3
-0
definition.cpp
src/definition.cpp
+18
-18
definition.h
src/definition.h
+5
-4
diagram.cpp
src/diagram.cpp
+3
-0
docparser.cpp
src/docparser.cpp
+34
-23
docparser.h
src/docparser.h
+6
-6
doctokenizer.l
src/doctokenizer.l
+8
-1
dot.cpp
src/dot.cpp
+46
-15
doxygen.cpp
src/doxygen.cpp
+32
-105
doxygen.h
src/doxygen.h
+1
-1
entry.h
src/entry.h
+1
-1
filedef.cpp
src/filedef.cpp
+1
-1
groupdef.cpp
src/groupdef.cpp
+1
-1
htmldocvisitor.cpp
src/htmldocvisitor.cpp
+42
-0
htmldocvisitor.h
src/htmldocvisitor.h
+1
-0
htmlgen.cpp
src/htmlgen.cpp
+7
-1
libdoxygen.pro.in
src/libdoxygen.pro.in
+2
-0
memberdef.cpp
src/memberdef.cpp
+5
-3
namespacedef.cpp
src/namespacedef.cpp
+1
-1
outputgen.h
src/outputgen.h
+2
-2
page.h
src/page.h
+2
-2
pagedef.cpp
src/pagedef.cpp
+14
-0
pagedef.h
src/pagedef.h
+141
-0
perlmodgen.cpp
src/perlmodgen.cpp
+1
-0
reflist.cpp
src/reflist.cpp
+16
-14
reflist.h
src/reflist.h
+8
-8
scanner.l
src/scanner.l
+128
-76
translator.h
src/translator.h
+11
-0
translator_adapter.h
src/translator_adapter.h
+20
-1
translator_br.h
src/translator_br.h
+1
-1
translator_cz.h
src/translator_cz.h
+1
-1
translator_de.h
src/translator_de.h
+1
-1
translator_dk.h
src/translator_dk.h
+1
-1
translator_en.h
src/translator_en.h
+40
-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_jp.h
src/translator_jp.h
+1
-1
translator_kr.h
src/translator_kr.h
+1
-1
translator_nl.h
src/translator_nl.h
+39
-0
translator_pl.h
src/translator_pl.h
+1
-1
translator_ru.h
src/translator_ru.h
+1
-1
util.cpp
src/util.cpp
+15
-9
xmlgen.cpp
src/xmlgen.cpp
+5
-0
No files found.
INSTALL
View file @
2eef94da
DOXYGEN Version 1.3
DOXYGEN Version 1.3
-20030421
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (
10
April 2003)
Dimitri van Heesch (
21
April 2003)
README
View file @
2eef94da
DOXYGEN Version 1.3
DOXYGEN Version 1.3
_20030421
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) (
10
April 2003)
Dimitri van Heesch (dimitri@stack.nl) (
21
April 2003)
VERSION
View file @
2eef94da
1.3
1.3
-20030421
configure
View file @
2eef94da
...
...
@@ -287,7 +287,7 @@ if test "$f_insttool" = NO; then
for
i
in
$install_names
;
do
for
j
in
$install_dirs
;
do
if
test
-x
"
$j
/
$i
"
;
then
if
test
-n
"
`
$j
/
$i
--version
2>/dev/null |
grep
file
utils
`
"
;
then
if
test
-n
"
`
$j
/
$i
--version
2>/dev/null |
grep
utils
`
"
;
then
install_found
=
YES
install_prog
=
"
$j
/
$i
"
break
2
...
...
@@ -305,7 +305,7 @@ if test "$f_insttool" = NO; then
echo
"not found!"
;
echo
fi
echo
"GNU version of install is required: this is part of the fileutils package: "
echo
"GNU version of install is required: this is part of the fileutils
/coreutils
package: "
echo
"see http://www.gnu.org/software/fileutils/fileutils.html"
echo
exit
2
...
...
doc/arch.doc
View file @
2eef94da
...
...
@@ -139,12 +139,13 @@ strings and executes the commands it finds in it (this is the second pass
in parsing the documentation). It writes the result directly to the output
generators.
The parser is written using \c flex and can be found in \c src/doc.l
The parser is written in C++ and can be found in src/docparser.cpp. The
tokens that are eaten by the parser come from src/doctokenizer.l.
Code fragments found in the comment blocks are passed on to the source parser.
The main entry point for the documentation parser is \c
p
arseDoc()
declared in \c src/doc.h. For simple texts with special
commands \c
p
arseText() is used.
The main entry point for the documentation parser is \c
validatingP
arseDoc()
declared in \c src/doc
parser
.h. For simple texts with special
commands \c
validatingP
arseText() is used.
<h3>Source parser</h3>
...
...
doc/commands.doc
View file @
2eef94da
...
...
@@ -129,6 +129,7 @@ documentation:
\refitem cmdversion \\version
\refitem cmdwarning \\warning
\refitem cmdweakgroup \\weakgroup
\refitem cmdxrefitem \\xrefitem
\refitem cmddollar \\\$
\refitem cmdat \\\@
\refitem cmdbackslash \\\\
...
...
@@ -1027,6 +1028,38 @@ ALIASES = "english=\if english" \
sectioning command is encountered. See section \ref cmdauthor "\\author"
for an example.
\section cmdxrefitem \xrefitem <key> "(heading)" "(list title)" {text}
\addindex \\xrefitem
This command is a generalization of commands such as \ref cmdtodo "\\todo"
and \ref cmdbug "\\bug".
It can be used to create user-defined text sections which are automatically
cross-referenced between the place of occurrence and a related page,
which will be generated. On the related page all sections of
the same type will be collected.
The first argument \<key\> is a
identifier uniquely representing the type of the section. The second argument
is a quoted string representing the heading of the section under which
text passed as the forth argument is put. The third argument (list title)
is used as the title for the related page containing all items with the
same key. The keys "todo", "test", "bug", and "deprecated" are predefined.
To get an idea on how to use the \\xrefitem command and what its effect
is, consider the todo list, which (for English output) can be seen an
alias for the command
\verbatim \xrefitem todo "Todo" "Todo List" \endverbatim
Since it is very tedious and error-prone to repeat the first three
parameters of the command for each section, the command is meant to
be used in combination with the \ref cfg_aliases "ALIASES" option in the
configuration file.
To define a new command \\reminder, for instance, one should add the following
line to the configuration file:
\verbatim ALIASES += "reminder=\xrefitem reminders \"Reminder\" \"Reminders\"" \endverbatim
Note the use of escaped quotes for the second and third argument of the
\\xrefitem command.
<hr>
<h2>\htmlonly <center> --- \endhtmlonly
Commands to create links
...
...
doc/config.doc
View file @
2eef94da
...
...
@@ -641,7 +641,7 @@ function's detailed documentation block.
in
the
directories
.
If
left
blank
the
following
patterns
are
tested
:
<
code
>
*.
c
*.
cc
*.
cxx
*.
cpp
*.
c
++
*.
java
*.
ii
*.
ixx
*.
ipp
*.
i
++
*.
inl
*.
h
*.
hh
*.
hxx
*.
hpp
*.
h
++
*.
idl
*.
odl
*.
h
++
*.
idl
*.
odl
*.
cs
</
code
>
\
anchor
cfg_recursive
...
...
doc/language.doc
View file @
2eef94da
...
...
@@ -55,7 +55,7 @@ when the translator was updated.
<TD>Brazilian Portuguese</TD>
<TD>Fabio "FJTC" Jun Takada Chino</TD>
<TD>chino@NOSPAM.icmc.sc.usp.br</TD>
<TD>
up-to-dat
e</TD>
<TD>
strang
e</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Catalan</TD>
...
...
@@ -79,19 +79,19 @@ when the translator was updated.
<TD>Croatian</TD>
<TD>Boris Bralo</TD>
<TD>boris.bralo@NOSPAM.zg.tel.hr</TD>
<TD>
up-to-dat
e</TD>
<TD>
strang
e</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Czech</TD>
<TD>Petr Přikryl</TD>
<TD>prikrylp@NOSPAM.skil.cz</TD>
<TD>
up-to-dat
e</TD>
<TD>
strang
e</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Danish</TD>
<TD>Erik Søe Sørensen</TD>
<TD>erik@NOSPAM.mail.nu</TD>
<TD>
up-to-dat
e</TD>
<TD>
strang
e</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Dutch</TD>
...
...
@@ -115,13 +115,13 @@ when the translator was updated.
<TD>French</TD>
<TD>Xavier Outhier</TD>
<TD>xouthier@NOSPAM.yahoo.fr</TD>
<TD>
up-to-dat
e</TD>
<TD>
strang
e</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>German</TD>
<TD>Jens Seidel</TD>
<TD>jensseidel@NOSPAM.users.sf.net</TD>
<TD>
up-to-dat
e</TD>
<TD>
strang
e</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Greek</TD>
...
...
@@ -139,19 +139,19 @@ when the translator was updated.
<TD>Italian</TD>
<TD>Alessandro Falappa<br>Ahmed Aldo Faisal</TD>
<TD>alessandro@NOSPAM.falappa.net<br>aaf23@NOSPAM.cam.ac.uk</TD>
<TD>
up-to-dat
e</TD>
<TD>
strang
e</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Japanese</TD>
<TD>Ryunosuke Satoh<br>Kenji Nagamatsu</TD>
<TD>sun594@NOSPAM.hotmail.com<br>naga@NOSPAM.joyful.club.ne.jp</TD>
<TD>
up-to-dat
e</TD>
<TD>
strang
e</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Korean</TD>
<TD>Richard Kim</TD>
<TD>ryk@NOSPAM.dspwiz.com</TD>
<TD>
up-to-dat
e</TD>
<TD>
strang
e</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Norwegian</TD>
...
...
@@ -163,7 +163,7 @@ when the translator was updated.
<TD>Polish</TD>
<TD>Piotr Kaminski<br>Grzegorz Kowal</TD>
<TD>Piotr.Kaminski@NOSPAM.ctm.gdynia.pl<br>g_kowal@NOSPAM.poczta.onet.pl</TD>
<TD>
up-to-dat
e</TD>
<TD>
strang
e</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Portuguese</TD>
...
...
@@ -181,7 +181,7 @@ when the translator was updated.
<TD>Russian</TD>
<TD>Alexandr Chelpanov</TD>
<TD>cav@NOSPAM.cryptopro.ru</TD>
<TD>
up-to-dat
e</TD>
<TD>
strang
e</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Serbian</TD>
...
...
@@ -230,7 +230,7 @@ when the translator was updated.
{\bf Language} & {\bf Maintainer} & {\bf Contact address} & {\bf Status} \\
\hline
\hline
Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt chino@icmc.sc.usp.br} &
up-to-dat
e \\
Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt chino@icmc.sc.usp.br} &
strang
e \\
\hline
Catalan & Albert Mora & {\tt amora@iua.upf.es} & 1.2.17 \\
\hline
...
...
@@ -239,11 +239,11 @@ when the translator was updated.
\hline
Chinese Traditional & Gary Lee & {\tt garylee@ecosine.com.tw} & 1.2.16 \\
\hline
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} &
up-to-dat
e \\
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} &
strang
e \\
\hline
Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} &
up-to-dat
e \\
Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} &
strang
e \\
\hline
Danish & Erik S\o{}e S\o{}rensen & {\tt erik@mail.nu} &
up-to-dat
e \\
Danish & Erik S\o{}e S\o{}rensen & {\tt erik@mail.nu} &
strang
e \\
\hline
Dutch & Dimitri van Heesch & {\tt dimitri@stack.nl} & up-to-date \\
\hline
...
...
@@ -251,32 +251,32 @@ when the translator was updated.
\hline
Finnish & Olli Korhonen & {\tt Olli.Korhonen@ccc.fi} & obsolete \\
\hline
French & Xavier Outhier & {\tt xouthier@yahoo.fr} &
up-to-dat
e \\
French & Xavier Outhier & {\tt xouthier@yahoo.fr} &
strang
e \\
\hline
German & Jens Seidel & {\tt jensseidel@users.sf.net} &
up-to-dat
e \\
German & Jens Seidel & {\tt jensseidel@users.sf.net} &
strang
e \\
\hline
Greek & Harry Kalogirou & {\tt harkal@rainbow.cs.unipi.gr} & 1.2.11 \\
\hline
Hungarian & F\"{o}ldv\'{a}ri Gy\"{o}rgy & {\tt foldvari@diatronltd.com} & 1.2.1 \\
\hline
Italian & Alessandro Falappa & {\tt alessandro@falappa.net} &
up-to-dat
e \\
Italian & Alessandro Falappa & {\tt alessandro@falappa.net} &
strang
e \\
& Ahmed Aldo Faisal & {\tt aaf23@cam.ac.uk} & \\
\hline
Japanese & Ryunosuke Satoh & {\tt sun594@hotmail.com} &
up-to-dat
e \\
Japanese & Ryunosuke Satoh & {\tt sun594@hotmail.com} &
strang
e \\
& Kenji Nagamatsu & {\tt naga@joyful.club.ne.jp} & \\
\hline
Korean & Richard Kim & {\tt ryk@dspwiz.com} &
up-to-dat
e \\
Korean & Richard Kim & {\tt ryk@dspwiz.com} &
strang
e \\
\hline
Norwegian & Lars Erik Jordet & {\tt lej@circuitry.no} & 1.2.2 \\
\hline
Polish & Piotr Kaminski & {\tt Piotr.Kaminski@ctm.gdynia.pl} &
up-to-dat
e \\
Polish & Piotr Kaminski & {\tt Piotr.Kaminski@ctm.gdynia.pl} &
strang
e \\
& Grzegorz Kowal & {\tt g\_kowal@poczta.onet.pl} & \\
\hline
Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} & 1.2.18 \\
\hline
Romanian & Alexandru Iosup & {\tt aiosup@yahoo.com} & 1.2.16 \\
\hline
Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} &
up-to-dat
e \\
Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} &
strang
e \\
\hline
Serbian & Dejan Milosavljevic & {\tt dmilos@email.com} & 1.2.17 \\
\hline
...
...
libpng/inftrees.c
View file @
2eef94da
...
...
@@ -446,7 +446,7 @@ int inflate_trees_fixed(uIntf *bl, uIntf *bd, inflate_huft **tl, inflate_huft **
fixed_built
=
1
;
}
#else
z
=
z
;
/
/ DvH: added to avoid compiler warning
z
=
z
;
/
* DvH: added to avoid compiler warning */
#endif
*
bl
=
fixed_bl
;
*
bd
=
fixed_bd
;
...
...
packages/rpm/doxygen.spec
View file @
2eef94da
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.3
Version: 1.3
_20030421
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
...
...
src/classdef.cpp
View file @
2eef94da
...
...
@@ -170,6 +170,11 @@ void ClassDef::addMembersToMemberGroup()
::
addMembersToMemberGroup
(
&
dcopMethods
,
memberGroupSDict
,
this
);
::
addMembersToMemberGroup
(
&
pubStaticMethods
,
memberGroupSDict
,
this
);
::
addMembersToMemberGroup
(
&
pubStaticAttribs
,
memberGroupSDict
,
this
);
::
addMembersToMemberGroup
(
&
pacTypes
,
memberGroupSDict
,
this
);
::
addMembersToMemberGroup
(
&
pacMethods
,
memberGroupSDict
,
this
);
::
addMembersToMemberGroup
(
&
pacAttribs
,
memberGroupSDict
,
this
);
::
addMembersToMemberGroup
(
&
pacStaticMethods
,
memberGroupSDict
,
this
);
::
addMembersToMemberGroup
(
&
pacStaticAttribs
,
memberGroupSDict
,
this
);
::
addMembersToMemberGroup
(
&
proTypes
,
memberGroupSDict
,
this
);
::
addMembersToMemberGroup
(
&
proMethods
,
memberGroupSDict
,
this
);
::
addMembersToMemberGroup
(
&
proAttribs
,
memberGroupSDict
,
this
);
...
...
@@ -247,9 +252,11 @@ void ClassDef::internalInsertMember(MemberDef *md,
switch
(
prot
)
{
case
Protected
:
case
Package
:
// slots in packages are not possible!
proSlots
.
append
(
md
);
md
->
setSectionList
(
this
,
&
proSlots
);
break
;
break
;
case
Public
:
pubSlots
.
append
(
md
);
md
->
setSectionList
(
this
,
&
pubSlots
);
...
...
@@ -271,6 +278,10 @@ void ClassDef::internalInsertMember(MemberDef *md,
proStaticAttribs
.
append
(
md
);
md
->
setSectionList
(
this
,
&
proStaticAttribs
);
break
;
case
Package
:
pacStaticAttribs
.
append
(
md
);
md
->
setSectionList
(
this
,
&
pacStaticAttribs
);
break
;
case
Public
:
pubStaticAttribs
.
append
(
md
);
md
->
setSectionList
(
this
,
&
pubStaticAttribs
);
...
...
@@ -289,6 +300,10 @@ void ClassDef::internalInsertMember(MemberDef *md,
proStaticMethods
.
append
(
md
);
md
->
setSectionList
(
this
,
&
proStaticMethods
);
break
;
case
Package
:
pacStaticMethods
.
append
(
md
);
md
->
setSectionList
(
this
,
&
pacStaticMethods
);
break
;
case
Public
:
pubStaticMethods
.
append
(
md
);
md
->
setSectionList
(
this
,
&
pubStaticMethods
);
...
...
@@ -310,6 +325,10 @@ void ClassDef::internalInsertMember(MemberDef *md,
proAttribs
.
append
(
md
);
md
->
setSectionList
(
this
,
&
proAttribs
);
break
;
case
Package
:
pacAttribs
.
append
(
md
);
md
->
setSectionList
(
this
,
&
pacAttribs
);
break
;
case
Public
:
pubAttribs
.
append
(
md
);
md
->
setSectionList
(
this
,
&
pubAttribs
);
...
...
@@ -328,6 +347,10 @@ void ClassDef::internalInsertMember(MemberDef *md,
proTypes
.
append
(
md
);
md
->
setSectionList
(
this
,
&
proTypes
);
break
;
case
Package
:
pacTypes
.
append
(
md
);
md
->
setSectionList
(
this
,
&
pacTypes
);
break
;
case
Public
:
pubTypes
.
append
(
md
);
md
->
setSectionList
(
this
,
&
pubTypes
);
...
...
@@ -346,6 +369,10 @@ void ClassDef::internalInsertMember(MemberDef *md,
proMethods
.
append
(
md
);
md
->
setSectionList
(
this
,
&
proMethods
);
break
;
case
Package
:
pacMethods
.
append
(
md
);
md
->
setSectionList
(
this
,
&
pacMethods
);
break
;
case
Public
:
pubMethods
.
append
(
md
);
md
->
setSectionList
(
this
,
&
pubMethods
);
...
...
@@ -401,11 +428,7 @@ void ClassDef::internalInsertMember(MemberDef *md,
switch
(
prot
)
{
case
Protected
:
if
(
Config_getBool
(
"SORT_MEMBER_DOCS"
))
functionMembers
.
inSort
(
md
);
else
functionMembers
.
append
(
md
);
break
;
case
Package
:
case
Public
:
if
(
Config_getBool
(
"SORT_MEMBER_DOCS"
))
functionMembers
.
inSort
(
md
);
...
...
@@ -517,28 +540,32 @@ void ClassDef::computeAnchors()
ClassDef
*
context
=
Config_getBool
(
"INLINE_INHERITED_MEMB"
)
?
this
:
0
;
setAnchors
(
context
,
'a'
,
&
pubMethods
);
setAnchors
(
context
,
'b'
,
&
proMethods
);
setAnchors
(
context
,
'c'
,
&
priMethods
);
setAnchors
(
context
,
'd'
,
&
pubStaticMethods
);
setAnchors
(
context
,
'e'
,
&
proStaticMethods
);
setAnchors
(
context
,
'f'
,
&
priStaticMethods
);
setAnchors
(
context
,
'g'
,
&
pubSlots
);
setAnchors
(
context
,
'h'
,
&
proSlots
);
setAnchors
(
context
,
'i'
,
&
priSlots
);
setAnchors
(
context
,
'j'
,
&
signals
);
setAnchors
(
context
,
'k'
,
&
related
);
setAnchors
(
context
,
'l'
,
&
friends
);
setAnchors
(
context
,
'm'
,
&
pubAttribs
);
setAnchors
(
context
,
'n'
,
&
proAttribs
);
setAnchors
(
context
,
'o'
,
&
priAttribs
);
setAnchors
(
context
,
'p'
,
&
pubStaticAttribs
);
setAnchors
(
context
,
'q'
,
&
proStaticAttribs
);
setAnchors
(
context
,
'r'
,
&
priStaticAttribs
);
setAnchors
(
context
,
's'
,
&
pubTypes
);
setAnchors
(
context
,
't'
,
&
proTypes
);
setAnchors
(
context
,
'u'
,
&
priTypes
);
setAnchors
(
context
,
'v'
,
&
dcopMethods
);
setAnchors
(
context
,
'w'
,
&
properties
);
setAnchors
(
context
,
'x'
,
&
events
);
setAnchors
(
context
,
'c'
,
&
pacMethods
);
setAnchors
(
context
,
'd'
,
&
priMethods
);
setAnchors
(
context
,
'e'
,
&
pubStaticMethods
);
setAnchors
(
context
,
'f'
,
&
proStaticMethods
);
setAnchors
(
context
,
'g'
,
&
pacStaticMethods
);
setAnchors
(
context
,
'h'
,
&
priStaticMethods
);
setAnchors
(
context
,
'i'
,
&
pubSlots
);
setAnchors
(
context
,
'j'
,
&
proSlots
);
setAnchors
(
context
,
'k'
,
&
priSlots
);
setAnchors
(
context
,
'l'
,
&
signals
);
setAnchors
(
context
,
'm'
,
&
related
);
setAnchors
(
context
,
'n'
,
&
friends
);
setAnchors
(
context
,
'o'
,
&
pubAttribs
);
setAnchors
(
context
,
'p'
,
&
proAttribs
);
setAnchors
(
context
,
'q'
,
&
pacAttribs
);
setAnchors
(
context
,
'r'
,
&
priAttribs
);
setAnchors
(
context
,
's'
,
&
pubStaticAttribs
);
setAnchors
(
context
,
't'
,
&
proStaticAttribs
);
setAnchors
(
context
,
'u'
,
&
pacStaticAttribs
);
setAnchors
(
context
,
'v'
,
&
priStaticAttribs
);
setAnchors
(
context
,
'w'
,
&
pubTypes
);
setAnchors
(
context
,
'x'
,
&
proTypes
);
setAnchors
(
context
,
'y'
,
&
priTypes
);
setAnchors
(
context
,
'z'
,
&
dcopMethods
);
setAnchors
(
context
,
'0'
,
&
properties
);
setAnchors
(
context
,
'1'
,
&
events
);
MemberGroupSDict
::
Iterator
mgli
(
*
memberGroupSDict
);
MemberGroup
*
mg
;
for
(;(
mg
=
mgli
.
current
());
++
mgli
)
...
...
@@ -574,6 +601,11 @@ void ClassDef::findSectionsInDocumentation()
dcopMethods
.
findSectionsInDocumentation
();
pubStaticMethods
.
findSectionsInDocumentation
();
pubStaticAttribs
.
findSectionsInDocumentation
();
pacTypes
.
findSectionsInDocumentation
();
pacMethods
.
findSectionsInDocumentation
();
pacAttribs
.
findSectionsInDocumentation
();
pacStaticMethods
.
findSectionsInDocumentation
();
pacStaticAttribs
.
findSectionsInDocumentation
();
proTypes
.
findSectionsInDocumentation
();
proMethods
.
findSectionsInDocumentation
();
proAttribs
.
findSectionsInDocumentation
();
...
...
@@ -1155,7 +1187,18 @@ void ClassDef::writeDocumentation(OutputList &ol)
proAttribs
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trProtectedAttribs
(),
0
);
proStaticAttribs
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trStaticProtectedAttribs
(),
0
);
// properties
// package types
pacTypes
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trPackageTypes
(),
0
);
// package methods
pacMethods
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trPackageMembers
(),
0
);
pacStaticMethods
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trStaticPackageMembers
(),
0
);
// package attribs
pacAttribs
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trPackageAttribs
(),
0
);
pacStaticAttribs
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trStaticPackageAttribs
(),
0
);
// package
properties
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trProperties
(),
0
);
// events
...
...
@@ -1463,6 +1506,7 @@ void ClassDef::writeMemberList(OutputList &ol)
if
(
md
->
isMutable
())
sl
.
append
(
"mutable"
);
if
(
prot
==
Protected
)
sl
.
append
(
"protected"
);
else
if
(
prot
==
Private
)
sl
.
append
(
"private"
);
else
if
(
prot
==
Package
)
sl
.
append
(
"package"
);
if
(
virt
==
Virtual
)
sl
.
append
(
"virtual"
);
else
if
(
virt
==
Pure
)
sl
.
append
(
"pure virtual"
);
if
(
md
->
isStatic
())
sl
.
append
(
"static"
);
...
...
@@ -1639,6 +1683,16 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup)
proStaticMethods
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
proStaticAttribs
.
setInGroup
(
inGroup
);
proStaticAttribs
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
pacTypes
.
setInGroup
(
inGroup
);
pacTypes
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
pacMethods
.
setInGroup
(
inGroup
);
pacMethods
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
pacAttribs
.
setInGroup
(
inGroup
);
pacAttribs
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
pacStaticMethods
.
setInGroup
(
inGroup
);
pacStaticMethods
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
pacStaticAttribs
.
setInGroup
(
inGroup
);
pacStaticAttribs
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
if
(
Config_getBool
(
"EXTRACT_PRIVATE"
))
{
priTypes
.
setInGroup
(
inGroup
);
...
...
@@ -2534,7 +2588,7 @@ QCString ClassDef::className() const
void
ClassDef
::
addListReferences
()
{
addRefItem
(
special
ListItems
(),
addRefItem
(
xref
ListItems
(),
theTranslator
->
trClass
(
TRUE
,
TRUE
),
getOutputFileBase
(),
displayName
()
);
...
...
src/classdef.h
View file @
2eef94da
...
...
@@ -199,21 +199,26 @@ class ClassDef : public Definition
/* member lists by protection */
MemberList
pubMethods
;
MemberList
proMethods
;
MemberList
pacMethods
;
MemberList
priMethods
;
MemberList
pubStaticMethods
;
MemberList
proStaticMethods
;
MemberList
pacStaticMethods
;
MemberList
priStaticMethods
;
MemberList
pubSlots
;
MemberList
proSlots
;
MemberList
priSlots
;
MemberList
pubAttribs
;
MemberList
proAttribs
;
MemberList
pacAttribs
;
MemberList
priAttribs
;
MemberList
pubStaticAttribs
;
MemberList
proStaticAttribs
;
MemberList
pacStaticAttribs
;
MemberList
priStaticAttribs
;
MemberList
pubTypes
;
MemberList
proTypes
;
MemberList
pacTypes
;
MemberList
priTypes
;
MemberList
related
;
MemberList
signals
;
...
...
src/cmdmapper.cpp
View file @
2eef94da
...
...
@@ -27,12 +27,10 @@ CommandMap cmdMap[] =
{
"attention"
,
CMD_ATTENTION
},
{
"author"
,
CMD_AUTHOR
},
{
"b"
,
CMD_BOLD
},
{
"bug"
,
CMD_BUG
},
{
"c"
,
CMD_CODE
},
{
"code"
,
CMD_STARTCODE
},
{
"copydoc"
,
CMD_COPYDOC
},
{
"date"
,
CMD_DATE
},
{
"deprecated"
,
CMD_DEPRECATED
},
{
"dontinclude"
,
CMD_DONTINCLUDE
},
{
"dotfile"
,
CMD_DOTFILE
},
{
"e"
,
CMD_EMPHASIS
},
...
...
@@ -81,9 +79,8 @@ CommandMap cmdMap[] =
{
"since"
,
CMD_SINCE
},
{
"skip"
,
CMD_SKIP
},
{
"skipline"
,
CMD_SKIPLINE
},
{
"
test"
,
CMD_TEST
},
{
"
xrefitem"
,
CMD_XREFITEM
},
{
"throw"
,
CMD_EXCEPTION
},
{
"todo"
,
CMD_TODO
},
{
"until"
,
CMD_UNTIL
},
{
"verbatim"
,
CMD_VERBATIM
},
{
"verbinclude"
,
CMD_VERBINCLUDE
},
...
...
src/cmdmapper.h
View file @
2eef94da
...
...
@@ -33,76 +33,73 @@ enum CommandType
{
CMD_UNKNOWN
=
0
,
CMD_ADDINDEX
=
1
,
CMD_ANCHOR
=
2
,
CMD_ATTENTION
=
3
|
SIMPLESECT_BIT
,
CMD_AUTHOR
=
4
|
SIMPLESECT_BIT
,
CMD_BOLD
=
5
,
CMD_BUG
=
6
|
SIMPLESECT_BIT
,
CMD_CODE
=
7
,
CMD_COPYDOC
=
8
,
CMD_DATE
=
9
|
SIMPLESECT_BIT
,
CMD_DEPRECATED
=
10
|
SIMPLESECT_BIT
,
CMD_DONTINCLUDE
=
11
,
CMD_DOTFILE
=
12
,
CMD_EMPHASIS
=
13
,
CMD_ENDCODE
=
14
,
CMD_ENDHTMLONLY
=
15
,
CMD_ENDLATEXONLY
=
16
,
CMD_ENDLINK
=
17
,
CMD_ENDVERBATIM
=
18
,
CMD_EXCEPTION
=
19
|
SIMPLESECT_BIT
,
CMD_HTMLINCLUDE
=
20
,
CMD_HTMLONLY
=
21
,
CMD_IMAGE
=
22
,
CMD_INCLUDE
=
23
,
CMD_INTERNAL
=
24
,
CMD_INVARIANT
=
25
|
SIMPLESECT_BIT
,
CMD_LATEXONLY
=
26
,
CMD_LI
=
27
,
CMD_LINE
=
28
,
CMD_LINK
=
29
,
CMD_NOTE
=
30
|
SIMPLESECT_BIT
,
CMD_PAR
=
31
|
SIMPLESECT_BIT
,
CMD_PARAM
=
32
|
SIMPLESECT_BIT
,
CMD_POST
=
33
|
SIMPLESECT_BIT
,
CMD_PRE
=
34
|
SIMPLESECT_BIT
,
CMD_REF
=
35
,
CMD_SECREFITEM
=
36
,
CMD_REMARK
=
37
|
SIMPLESECT_BIT
,
CMD_RETURN
=
38
|
SIMPLESECT_BIT
,
CMD_RETVAL
=
39
|
SIMPLESECT_BIT
,
CMD_SA
=
40
|
SIMPLESECT_BIT
,
CMD_SECTION
=
41
,
CMD_SUBSECTION
=
42
,
CMD_SUBSUBSECTION
=
43
,
CMD_PARAGRAPH
=
44
,
CMD_SINCE
=
45
|
SIMPLESECT_BIT
,
CMD_SKIP
=
46
,
CMD_SKIPLINE
=
47
,
CMD_STARTCODE
=
48
,
CMD_JAVALINK
=
49
,
CMD_TEST
=
50
|
SIMPLESECT_BIT
,
CMD_TODO
=
51
|
SIMPLESECT_BIT
,
CMD_UNTIL
=
52
,
CMD_VERBATIM
=
53
,
CMD_VERBINCLUDE
=
54
,
CMD_VERSION
=
55
|
SIMPLESECT_BIT
,
CMD_WARNING
=
56
|
SIMPLESECT_BIT
,
CMD_BSLASH
=
57
,
CMD_AT
=
58
,
CMD_LESS
=
59
,
CMD_GREATER
=
60
,
CMD_AMP
=
61
,
CMD_DOLLAR
=
62
,
CMD_HASH
=
63
,
CMD_PERCENT
=
64
,
CMD_LINEBREAK
=
65
,
CMD_FORMULA
=
66
,
CMD_SECREFLIST
=
67
,
CMD_ENDSECREFLIST
=
68
,
CMD_LANGSWITCH
=
69
,
CMD_AUTHORS
=
70
|
SIMPLESECT_BIT
,
CMD_INTERNALREF
=
71
CMD_AMP
=
2
,
CMD_ANCHOR
=
3
,
CMD_AT
=
4
,
CMD_ATTENTION
=
5
|
SIMPLESECT_BIT
,
CMD_AUTHOR
=
6
|
SIMPLESECT_BIT
,
CMD_AUTHORS
=
7
|
SIMPLESECT_BIT
,
CMD_BOLD
=
8
,
CMD_BSLASH
=
9
,
CMD_CODE
=
10
,
CMD_COPYDOC
=
11
,
CMD_DATE
=
12
|
SIMPLESECT_BIT
,
CMD_DOLLAR
=
13
,
CMD_DONTINCLUDE
=
14
,
CMD_DOTFILE
=
15
,
CMD_EMPHASIS
=
16
,
CMD_ENDCODE
=
17
,
CMD_ENDHTMLONLY
=
18
,
CMD_ENDLATEXONLY
=
19
,
CMD_ENDLINK
=
20
,
CMD_ENDSECREFLIST
=
21
,
CMD_ENDVERBATIM
=
22
,
CMD_EXCEPTION
=
23
|
SIMPLESECT_BIT
,
CMD_FORMULA
=
24
,
CMD_GREATER
=
25
,
CMD_HASH
=
26
,
CMD_HTMLINCLUDE
=
27
,
CMD_HTMLONLY
=
28
,
CMD_IMAGE
=
29
,
CMD_INCLUDE
=
30
,
CMD_INTERNAL
=
31
,
CMD_INTERNALREF
=
32
,
CMD_INVARIANT
=
33
|
SIMPLESECT_BIT
,
CMD_LANGSWITCH
=
34
,
CMD_LATEXONLY
=
35
,
CMD_LESS
=
36
,
CMD_LI
=
37
,
CMD_LINE
=
38
,
CMD_LINEBREAK
=
39
,
CMD_LINK
=
40
,
CMD_NOTE
=
41
|
SIMPLESECT_BIT
,
CMD_PAR
=
42
|
SIMPLESECT_BIT
,
CMD_PARAM
=
43
|
SIMPLESECT_BIT
,
CMD_PERCENT
=
44
,
CMD_POST
=
45
|
SIMPLESECT_BIT
,
CMD_PRE
=
46
|
SIMPLESECT_BIT
,
CMD_REF
=
47
,
CMD_SECREFITEM
=
48
,
CMD_REMARK
=
49
|
SIMPLESECT_BIT
,
CMD_RETURN
=
50
|
SIMPLESECT_BIT
,
CMD_RETVAL
=
51
|
SIMPLESECT_BIT
,
CMD_SA
=
52
|
SIMPLESECT_BIT
,
CMD_SECREFLIST
=
53
,
CMD_SECTION
=
54
,
CMD_SUBSECTION
=
55
,
CMD_SUBSUBSECTION
=
56
,
CMD_PARAGRAPH
=
57
,
CMD_SINCE
=
58
|
SIMPLESECT_BIT
,
CMD_SKIP
=
59
,
CMD_SKIPLINE
=
60
,
CMD_STARTCODE
=
61
,
CMD_JAVALINK
=
62
,
CMD_UNTIL
=
63
,
CMD_VERBATIM
=
64
,
CMD_VERBINCLUDE
=
65
,
CMD_VERSION
=
66
|
SIMPLESECT_BIT
,
CMD_WARNING
=
67
|
SIMPLESECT_BIT
,
CMD_XREFITEM
=
68
|
SIMPLESECT_BIT
};
enum
HtmlTagType
...
...
src/config.l
View file @
2eef94da
...
...
@@ -1078,6 +1078,7 @@ void Config::check()
filePatternList.append("*.h++");
filePatternList.append("*.idl");
filePatternList.append("*.odl");
filePatternList.append("*.cs");
}
// add default pattern if needed
...
...
@@ -1526,13 +1527,6 @@ void Config::create()
"documentation. If set to YES the scope will be hidden. \n",
FALSE
);
cb = addBool(
"VERBATIM_HEADERS",
"If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen \n"
"will generate a verbatim copy of the header file for each class for \n"
"which an include is specified. Set to NO to disable this. \n",
TRUE
);
cb = addBool(
"SHOW_INCLUDE_FILES",
"If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen \n"
...
...
@@ -1741,7 +1735,7 @@ void Config::create()
"and *.h) to filter out the source-files in the directories. If left \n"
"blank the following patterns are tested: \n"
"*.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp \n"
"*.h++ *.idl *.odl\n"
"*.h++ *.idl *.odl
*.cs
\n"
);
cb = addBool(
"RECURSIVE",
...
...
@@ -1851,6 +1845,13 @@ void Config::create()
TRUE
);
cb->addDependency("SOURCE_BROWSER");
cb = addBool(
"VERBATIM_HEADERS",
"If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen \n"
"will generate a verbatim copy of the header file for each class for \n"
"which an include is specified. Set to NO to disable this. \n",
TRUE
);
//-----------------------------------------------------------------------------------------------
addInfo( "Index","configuration options related to the alphabetical class index");
//-----------------------------------------------------------------------------------------------
...
...
src/defgen.cpp
View file @
2eef94da
...
...
@@ -121,6 +121,7 @@ void generateDEFForMember(MemberDef *md,
case
Public
:
t
<<
"public;"
<<
endl
;
break
;
case
Protected
:
t
<<
"protected;"
<<
endl
;
break
;
case
Private
:
t
<<
"private;"
<<
endl
;
break
;
case
Package
:
t
<<
"package;"
<<
endl
;
break
;
}
if
(
md
->
memberType
()
!=
MemberDef
::
Define
&&
...
...
@@ -365,6 +366,7 @@ void generateDEFForClass(ClassDef *cd,QTextStream &t)
switch
(
bcd
->
prot
)
{
case
Public
:
t
<<
"public;"
<<
endl
;
break
;
case
Package
:
// package scope is not possible
case
Protected
:
t
<<
"protected;"
<<
endl
;
break
;
case
Private
:
t
<<
"private;"
<<
endl
;
break
;
}
...
...
@@ -392,6 +394,7 @@ void generateDEFForClass(ClassDef *cd,QTextStream &t)
switch
(
bcd
->
prot
)
{
case
Public
:
t
<<
"public;"
<<
endl
;
break
;
case
Package
:
// packet scope is not possible!
case
Protected
:
t
<<
"protected;"
<<
endl
;
break
;
case
Private
:
t
<<
"private;"
<<
endl
;
break
;
}
...
...
src/definition.cpp
View file @
2eef94da
...
...
@@ -58,7 +58,7 @@ Definition::Definition(const char *df,int dl,
m_deprecatedId
=
0
;
m_outerScope
=
Doxygen
::
globalScope
;
m_partOfGroups
=
0
;
m_
special
ListItems
=
0
;
m_
xref
ListItems
=
0
;
m_briefLine
=
1
;
m_briefFile
=
(
QCString
)
"<"
+
name
+
">"
;
m_docLine
=
1
;
...
...
@@ -71,7 +71,7 @@ Definition::~Definition()
delete
m_sourceRefByDict
;
delete
m_sourceRefsDict
;
delete
m_partOfGroups
;
delete
m_
special
ListItems
;
delete
m_
xref
ListItems
;
}
void
Definition
::
addSectionsToDefinition
(
QList
<
QCString
>
*
anchorList
)
...
...
@@ -612,47 +612,47 @@ void Definition::setRefItems(const QList<ListItemInfo> *sli)
if
(
sli
)
{
// deep copy the list
if
(
m_
special
ListItems
==
0
)
if
(
m_
xref
ListItems
==
0
)
{
m_
special
ListItems
=
new
QList
<
ListItemInfo
>
;
m_
special
ListItems
->
setAutoDelete
(
TRUE
);
m_
xref
ListItems
=
new
QList
<
ListItemInfo
>
;
m_
xref
ListItems
->
setAutoDelete
(
TRUE
);
}
QListIterator
<
ListItemInfo
>
slii
(
*
sli
);
ListItemInfo
*
lii
;
for
(
slii
.
toFirst
();(
lii
=
slii
.
current
());
++
slii
)
{
m_
special
ListItems
->
append
(
new
ListItemInfo
(
*
lii
));
m_
xref
ListItems
->
append
(
new
ListItemInfo
(
*
lii
));
}
}
}
void
Definition
::
mergeRefItems
(
Definition
*
d
)
{
if
(
d
->
special
ListItems
())
if
(
d
->
xref
ListItems
())
{
// deep copy the list
if
(
m_
special
ListItems
==
0
)
if
(
m_
xref
ListItems
==
0
)
{
m_
special
ListItems
=
new
QList
<
ListItemInfo
>
;
m_
special
ListItems
->
setAutoDelete
(
TRUE
);
m_
xref
ListItems
=
new
QList
<
ListItemInfo
>
;
m_
xref
ListItems
->
setAutoDelete
(
TRUE
);
}
QListIterator
<
ListItemInfo
>
slii
(
*
d
->
special
ListItems
());
QListIterator
<
ListItemInfo
>
slii
(
*
d
->
xref
ListItems
());
ListItemInfo
*
lii
;
for
(
slii
.
toFirst
();(
lii
=
slii
.
current
());
++
slii
)
{
if
(
get
Special
ListId
(
lii
->
type
)
==-
1
)
if
(
get
XRef
ListId
(
lii
->
type
)
==-
1
)
{
m_
special
ListItems
->
append
(
new
ListItemInfo
(
*
lii
));
m_
xref
ListItems
->
append
(
new
ListItemInfo
(
*
lii
));
}
}
}
}
int
Definition
::
get
Special
ListId
(
const
char
*
listName
)
const
int
Definition
::
get
XRef
ListId
(
const
char
*
listName
)
const
{
if
(
m_
special
ListItems
)
if
(
m_
xref
ListItems
)
{
QListIterator
<
ListItemInfo
>
slii
(
*
m_
special
ListItems
);
QListIterator
<
ListItemInfo
>
slii
(
*
m_
xref
ListItems
);
ListItemInfo
*
lii
;
for
(
slii
.
toFirst
();(
lii
=
slii
.
current
());
++
slii
)
{
...
...
@@ -665,9 +665,9 @@ int Definition::getSpecialListId(const char *listName) const
return
-
1
;
}
const
QList
<
ListItemInfo
>
*
Definition
::
special
ListItems
()
const
const
QList
<
ListItemInfo
>
*
Definition
::
xref
ListItems
()
const
{
return
m_
special
ListItems
;
return
m_
xref
ListItems
;
}
...
...
src/definition.h
View file @
2eef94da
...
...
@@ -39,7 +39,8 @@ class Definition
/*! Types of derived classes */
enum
DefType
{
TypeClass
,
TypeMember
,
TypeFile
,
TypeGroup
,
TypeNamespace
,
TypePackage
TypeClass
,
TypeMember
,
TypeFile
,
TypeGroup
,
TypeNamespace
,
TypePackage
,
TypePage
};
/*! Use this for dynamic inspection of the derived class */
virtual
DefType
definitionType
()
=
0
;
...
...
@@ -114,8 +115,7 @@ class Definition
//int bugId() const { return m_bugId; }
void
setRefItems
(
const
QList
<
ListItemInfo
>
*
sli
);
void
mergeRefItems
(
Definition
*
d
);
int
getSpecialListId
(
const
char
*
listName
)
const
;
const
QList
<
ListItemInfo
>
*
specialListItems
()
const
;
const
QList
<
ListItemInfo
>
*
xrefListItems
()
const
;
/*! returns the file in which this definition was found */
QCString
getDefFileName
()
const
{
return
m_defFileName
;
}
...
...
@@ -154,6 +154,7 @@ class Definition
private
:
int
getXRefListId
(
const
char
*
listName
)
const
;
void
writeSourceRefList
(
OutputList
&
ol
,
const
char
*
scopeName
,
const
QCString
&
text
,
MemberSDict
*
members
,
bool
);
//QCString m_qualifiedName; // name of the definition
...
...
@@ -171,7 +172,7 @@ class Definition
QCString
m_docFile
;
int
m_briefLine
;
QCString
m_briefFile
;
QList
<
ListItemInfo
>
*
m_
special
ListItems
;
QList
<
ListItemInfo
>
*
m_
xref
ListItems
;
};
class
DefinitionList
:
public
QList
<
Definition
>
...
...
src/diagram.cpp
View file @
2eef94da
...
...
@@ -62,6 +62,7 @@ static uint protToMask(Protection p)
switch
(
p
)
{
case
Public
:
return
0xffffffff
;
case
Package
:
// package is not possible!
case
Protected
:
return
0xcccccccc
;
case
Private
:
return
0xaaaaaaaa
;
}
...
...
@@ -73,6 +74,7 @@ static uint protToColor(Protection p)
switch
(
p
)
{
case
Public
:
return
6
;
case
Package
:
// package is not possible!
case
Protected
:
return
5
;
case
Private
:
return
4
;
}
...
...
@@ -84,6 +86,7 @@ static QCString protToString(Protection p)
switch
(
p
)
{
case
Public
:
return
"solid"
;
case
Package
:
// package is not possible!
case
Protected
:
return
"dashed"
;
case
Private
:
return
"dotted"
;
}
...
...
src/docparser.cpp
View file @
2eef94da
...
...
@@ -1361,15 +1361,23 @@ void DocCopy::parse()
void
DocXRefItem
::
parse
()
{
QString
listName
;
switch
(
m_type
)
{
case
Bug
:
listName
=
"bug"
;
break
;
case
Test
:
listName
=
"test"
;
break
;
case
Todo
:
listName
=
"todo"
;
break
;
case
Deprecated
:
listName
=
"deprecated"
;
break
;
}
RefList
*
refList
=
Doxygen
::
specialLists
->
find
(
listName
);
if
(
Config_getBool
(
refList
->
optionName
()))
// list is enabled
//switch(m_type)
//{
// case Bug: listName="bug"; break;
// case Test: listName="test"; break;
// case Todo: listName="todo"; break;
// case Deprecated: listName="deprecated"; break;
//}
RefList
*
refList
=
Doxygen
::
xrefLists
->
find
(
m_key
);
if
(
refList
&&
(
// either not a built-in list or the list is enabled
(
m_key
!=
"todo"
||
Config_getBool
(
"GENERATE_TODOLIST"
))
&&
(
m_key
!=
"test"
||
Config_getBool
(
"GENERATE_TESTLIST"
))
&&
(
m_key
!=
"bug"
||
Config_getBool
(
"GENERATE_BUGLIST"
))
&&
(
m_key
!=
"deprecated"
||
Config_getBool
(
"GENERATE_DEPRECATEDLIST"
))
)
)
{
RefItem
*
item
=
refList
->
getRefItem
(
m_id
);
ASSERT
(
item
!=
0
);
...
...
@@ -3116,15 +3124,15 @@ int DocPara::handleParamSection(const QString &cmdName,DocParamSect::Type t)
return
(
rv
!=
TK_NEWPARA
)
?
rv
:
RetVal_OK
;
}
int
DocPara
::
handleXRefItem
(
DocXRefItem
::
Type
t
)
int
DocPara
::
handleXRefItem
()
{
int
retval
=
doctokenizerYYlex
();
ASSERT
(
retval
==
TK_WHITESPACE
);
doctokenizerYYsetStateXRefItem
();
retval
=
doctokenizerYYlex
();
if
(
retval
!=
0
)
if
(
retval
==
RetVal_OK
)
{
DocXRefItem
*
ref
=
new
DocXRefItem
(
this
,
g_token
->
id
,
t
);
DocXRefItem
*
ref
=
new
DocXRefItem
(
this
,
g_token
->
id
,
g_token
->
name
);
m_children
.
append
(
ref
);
ref
->
parse
();
}
...
...
@@ -3601,17 +3609,8 @@ int DocPara::handleCommand(const QString &cmdName)
case
CMD_EXCEPTION
:
retval
=
handleParamSection
(
cmdName
,
DocParamSect
::
Exception
);
break
;
case
CMD_BUG
:
retval
=
handleXRefItem
(
DocXRefItem
::
Bug
);
break
;
case
CMD_TODO
:
retval
=
handleXRefItem
(
DocXRefItem
::
Todo
);
break
;
case
CMD_TEST
:
retval
=
handleXRefItem
(
DocXRefItem
::
Test
);
break
;
case
CMD_DEPRECATED
:
retval
=
handleXRefItem
(
DocXRefItem
::
Deprecated
);
case
CMD_XREFITEM
:
retval
=
handleXRefItem
();
break
;
case
CMD_LINEBREAK
:
{
...
...
@@ -3801,6 +3800,12 @@ int DocPara::handleHtmlStartTag(const QString &tagName,const HtmlAttribList &tag
case
HTML_EMPHASIS
:
handleStyleEnter
(
this
,
m_children
,
DocStyleChange
::
Italic
,
&
g_token
->
attribs
);
break
;
case
HTML_DIV
:
handleStyleEnter
(
this
,
m_children
,
DocStyleChange
::
Div
,
&
g_token
->
attribs
);
break
;
case
HTML_SPAN
:
handleStyleEnter
(
this
,
m_children
,
DocStyleChange
::
Span
,
&
g_token
->
attribs
);
break
;
case
HTML_SUB
:
handleStyleEnter
(
this
,
m_children
,
DocStyleChange
::
Subscript
,
&
g_token
->
attribs
);
break
;
...
...
@@ -4029,6 +4034,12 @@ int DocPara::handleHtmlEndTag(const QString &tagName)
case
HTML_EMPHASIS
:
handleStyleLeave
(
this
,
m_children
,
DocStyleChange
::
Italic
,
"em"
);
break
;
case
HTML_DIV
:
handleStyleLeave
(
this
,
m_children
,
DocStyleChange
::
Div
,
"div"
);
break
;
case
HTML_SPAN
:
handleStyleLeave
(
this
,
m_children
,
DocStyleChange
::
Span
,
"span"
);
break
;
case
HTML_SUB
:
handleStyleLeave
(
this
,
m_children
,
DocStyleChange
::
Subscript
,
"sub"
);
break
;
...
...
src/docparser.h
View file @
2eef94da
...
...
@@ -532,11 +532,11 @@ class DocTitle : public CompAccept<DocTitle>, public DocNode
class
DocXRefItem
:
public
CompAccept
<
DocXRefItem
>
,
public
DocNode
{
public
:
enum
Type
{
Bug
,
Test
,
Todo
,
Deprecated
};
DocXRefItem
(
DocNode
*
parent
,
int
id
,
Type
t
)
:
m_parent
(
parent
),
m_id
(
id
),
m_
type
(
t
)
{}
//
enum Type { Bug, Test, Todo, Deprecated };
DocXRefItem
(
DocNode
*
parent
,
int
id
,
const
char
*
key
)
:
m_parent
(
parent
),
m_id
(
id
),
m_
key
(
key
)
/*, m_type(t)*/
{}
Kind
kind
()
const
{
return
Kind_XRefItem
;
}
Type
type
()
const
{
return
m_type
;
}
//
Type type() const { return m_type; }
QString
file
()
const
{
return
m_file
;
}
QString
anchor
()
const
{
return
m_anchor
;
}
QString
title
()
const
{
return
m_title
;
}
...
...
@@ -547,7 +547,7 @@ class DocXRefItem : public CompAccept<DocXRefItem>, public DocNode
private
:
DocNode
*
m_parent
;
int
m_id
;
Type
m_type
;
QString
m_key
;
QString
m_file
;
QString
m_anchor
;
QString
m_title
;
...
...
@@ -927,7 +927,7 @@ class DocPara : public CompAccept<DocPara>, public DocNode
int
handleHtmlStartTag
(
const
QString
&
tagName
,
const
HtmlAttribList
&
tagHtmlAttribs
);
int
handleHtmlEndTag
(
const
QString
&
tagName
);
int
handleSimpleSection
(
DocSimpleSect
::
Type
t
);
int
handleXRefItem
(
DocXRefItem
::
Type
t
);
int
handleXRefItem
();
int
handleParamSection
(
const
QString
&
cmdName
,
DocParamSect
::
Type
t
);
void
handleIncludeOperator
(
const
QString
&
cmdName
,
DocIncOperator
::
Type
t
);
void
handleImage
(
const
QString
&
cmdName
);
...
...
src/doctokenizer.l
View file @
2eef94da
...
...
@@ -314,6 +314,7 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
%x St_Verbatim
%x St_Param
%x St_XRefItem
%x St_XRefItem2
%x St_File
%x St_Pattern
%x St_Link
...
...
@@ -651,7 +652,13 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
<St_Ref2>"\""|\n { /* " or \n => end of title */
return 0;
}
<St_XRefItem>[0-9]+\n {
<St_XRefItem>{ID} {
g_token->name=yytext;
}
<St_XRefItem>" " {
BEGIN(St_XRefItem2);
}
<St_XRefItem2>[0-9]+\n {
QString numStr=yytext;
numStr=numStr.left(yyleng-1);
g_token->id=numStr.toInt();
...
...
src/dot.cpp
View file @
2eef94da
...
...
@@ -46,12 +46,36 @@ static const char *edgeColorMap[] =
"orange"
// template relation
};
//static const char *arrowStyle[] =
//{
// "empty", // Public
// "empty", // Protected
// "empty", // Private
// "open", // "use" relation
// 0, // Undocumented
// 0 // template relation
//};
static
const
char
*
edgeStyleMap
[]
=
{
"solid"
,
// inheritance
"dashed"
// usage
};
static
void
writeGraphHeader
(
QTextStream
&
t
)
{
t
<<
"digraph G"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
" edge [fontname=
\"
Helvetica
\"
,fontsize=10,"
"labelfontname=
\"
Helvetica
\"
,labelfontsize=10];
\n
"
;
t
<<
" node [fontname=
\"
Helvetica
\"
,fontsize=10,shape=record];
\n
"
;
}
static
void
writeGraphFooter
(
QTextStream
&
t
)
{
t
<<
"}"
<<
endl
;
}
/*! converts the rectangles in a server site image map into a client
* site image map.
* \param t the stream to which the result is written.
...
...
@@ -382,14 +406,20 @@ static QCString convertLabel(const QCString &l)
char
c
;
while
((
c
=*
p
++
))
{
if
(
c
==
'\\'
)
result
+=
"
\\\\
"
;
else
result
+=
c
;
switch
(
c
)
{
case
'\\'
:
result
+=
"
\\\\
"
;
break
;
case
'<'
:
result
+=
"
\\
<"
;
break
;
case
'>'
:
result
+=
"
\\
>"
;
break
;
case
'|'
:
result
+=
"
\\
|"
;
break
;
default
:
result
+=
c
;
break
;
}
}
return
result
;
}
void
DotNode
::
writeBox
(
QTextStream
&
t
,
GraphOutputFormat
format
,
GraphOutputFormat
/*format*/
,
bool
hasNonReachableChildren
)
{
const
char
*
labCol
=
...
...
@@ -397,10 +427,10 @@ void DotNode::writeBox(QTextStream &t,
(
(
hasNonReachableChildren
)
?
"red"
:
"black"
);
t
<<
" Node"
<<
m_number
<<
" [
shape=
\"
box
\"
,
label=
\"
"
t
<<
" Node"
<<
m_number
<<
" [label=
\"
"
<<
convertLabel
(
m_label
)
<<
"
\"
,
fontsize=10,
height=0.2,width=0.4"
;
if
(
format
==
BITMAP
)
t
<<
",fontname=
\"
Helvetica
\"
"
;
<<
"
\"
,height=0.2,width=0.4"
;
//
if (format==BITMAP) t << ",fontname=\"Helvetica\"";
t
<<
",color=
\"
"
<<
labCol
<<
"
\"
"
;
if
(
m_isRoot
)
{
...
...
@@ -433,6 +463,10 @@ void DotNode::writeArrow(QTextStream &t,
{
t
<<
",label=
\"
"
<<
ei
->
m_label
<<
"
\"
"
;
}
//if (arrowStyle[ei->m_color])
//{
// if (pointBack) t << ",arrowtail=\"empty\""; else t << ",arrowhead=\"empty\"";
//}
if
(
format
==
BITMAP
)
t
<<
",fontname=
\"
Helvetica
\"
"
;
t
<<
"];"
<<
endl
;
}
...
...
@@ -768,8 +802,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
QFile
f
(
dotName
);
if
(
!
f
.
open
(
IO_WriteOnly
))
return
;
QTextStream
t
(
&
f
);
t
<<
"digraph inheritance"
<<
endl
;
t
<<
"{"
<<
endl
;
writeGraphHeader
(
t
);
t
<<
" rankdir=LR;"
<<
endl
;
QListIterator
<
DotNode
>
dnli2
(
*
m_rootNodes
);
DotNode
*
node
;
...
...
@@ -778,7 +811,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
if
(
node
->
m_subgraphId
==
n
->
m_subgraphId
)
node
->
write
(
t
,
BITMAP
,
FALSE
,
TRUE
,
1000
,
TRUE
);
}
t
<<
"}"
<<
endl
;
writeGraphFooter
(
t
)
;
f
.
close
();
QCString
dotArgs
(
maxCmdLine
);
...
...
@@ -1203,8 +1236,7 @@ void writeDotGraph(DotNode *root,
if
(
f
.
open
(
IO_WriteOnly
))
{
QTextStream
t
(
&
f
);
t
<<
"digraph inheritance"
<<
endl
;
t
<<
"{"
<<
endl
;
writeGraphHeader
(
t
);
if
(
lrRank
)
{
t
<<
" rankdir=LR;"
<<
endl
;
...
...
@@ -1231,7 +1263,7 @@ void writeDotGraph(DotNode *root,
pn
->
write
(
t
,
format
,
TRUE
,
FALSE
,
distance
,
backArrows
);
}
}
t
<<
"}"
<<
endl
;
writeGraphFooter
(
t
)
;
f
.
close
();
}
}
...
...
@@ -1725,8 +1757,7 @@ void generateGraphLegend(const char *path)
return
;
}
QTextStream
dotText
(
&
dotFile
);
dotText
<<
"digraph inheritance
\n
"
;
dotText
<<
"{
\n
"
;
writeGraphHeader
(
dotText
);
dotText
<<
" Node9 [shape=
\"
box
\"
,label=
\"
Inherited
\"
,fontsize=10,height=0.2,width=0.4,fontname=
\"
Helvetica
\"
,color=
\"
black
\"
,style=
\"
filled
\"
fontcolor=
\"
white
\"
];
\n
"
;
dotText
<<
" Node10 -> Node9 [dir=back,color=
\"
midnightblue
\"
,fontsize=10,style=
\"
solid
\"
,fontname=
\"
Helvetica
\"
];
\n
"
;
dotText
<<
" Node10 [shape=
\"
box
\"
,label=
\"
PublicBase
\"
,fontsize=10,height=0.2,width=0.4,fontname=
\"
Helvetica
\"
,color=
\"
black
\"
,URL=
\"
$classPublicBase"
<<
Doxygen
::
htmlFileExtension
<<
"
\"
];
\n
"
;
...
...
@@ -1744,7 +1775,7 @@ void generateGraphLegend(const char *path)
dotText
<<
" Node17 [shape=
\"
box
\"
,label=
\"
Templ< T >
\"
,fontsize=10,height=0.2,width=0.4,fontname=
\"
Helvetica
\"
,color=
\"
black
\"
,URL=
\"
$classTempl"
<<
Doxygen
::
htmlFileExtension
<<
"
\"
];
\n
"
;
dotText
<<
" Node18 -> Node9 [dir=back,color=
\"
darkorchid3
\"
,fontsize=10,style=
\"
dashed
\"
,label=
\"
m_usedClass
\"
,fontname=
\"
Helvetica
\"
];
\n
"
;
dotText
<<
" Node18 [shape=
\"
box
\"
,label=
\"
Used
\"
,fontsize=10,height=0.2,width=0.4,fontname=
\"
Helvetica
\"
,color=
\"
black
\"
,URL=
\"
$classUsed"
<<
Doxygen
::
htmlFileExtension
<<
"
\"
];
\n
"
;
dotText
<<
"}
\n
"
;
writeGraphFooter
(
dotText
)
;
dotFile
.
close
();
QDir
d
(
path
);
...
...
src/doxygen.cpp
View file @
2eef94da
...
...
@@ -112,7 +112,7 @@ bool Doxygen::insideMainPage = FALSE; // are we generating docs for th
QTextStream
Doxygen
::
tagFile
;
NamespaceDef
*
Doxygen
::
globalScope
=
new
NamespaceDef
(
"<globalScope>"
,
1
,
"<globalScope>"
);
QDict
<
RefList
>
*
Doxygen
::
special
Lists
=
new
QDict
<
RefList
>
;
// dictionary of cross-referenced item lists
QDict
<
RefList
>
*
Doxygen
::
xref
Lists
=
new
QDict
<
RefList
>
;
// dictionary of cross-referenced item lists
static
StringList
inputFiles
;
...
...
@@ -2985,6 +2985,12 @@ static void findUsedClassesForClass(Entry *root,
QCString
typeName
=
resolveTypeDef
(
masterCd
,
usedClassName
);
//printf("Found resolved class %s\n",typeName.data());
int
si
=
usedClassName
.
findRev
(
"::"
);
if
(
si
!=-
1
)
{
// replace any namespace aliases
replaceNamespaceAliases
(
usedClassName
,
si
);
}
// add any template arguments to the class
QCString
usedName
=
usedClassName
+
templSpec
;
...
...
@@ -3341,96 +3347,6 @@ static bool findClassRelation(
// cd->name().data(),baseClassName.data(),baseClass);
found
=
baseClass
!=
0
&&
baseClass
!=
cd
;
#if 0
if (fd)
{
// look for the using statement in this file in which the
// class was found
NamespaceList *nl = fd->getUsedNamespaces();
if (nl) // try to prepend any of the using namespace scopes.
{
NamespaceListIterator nli(*nl);
NamespaceDef *nd;
for (nli.toFirst() ; (nd=nli.current()) && !found ; ++nli)
{
QCString fName = nd->name()+"::"+baseClassName;
found = (baseClass=getResolvedClass(cd,fName))!=0 &&
baseClass!=cd &&
root->name!=fName;
}
}
if (fd && !found) // and in the global namespace
{
ClassList *cl = fd->getUsedClasses();
if (cl)
{
ClassListIterator cli(*cl);
ClassDef *ucd;
for (cli.toFirst(); (ucd=cli.current()) && !found; ++cli)
{
if (rightScopeMatch(ucd->name(),biName))
{
baseClass = ucd;
found = TRUE;
}
}
}
}
}
if (!found && nd) // class is inside a namespace
{
NamespaceList *nl = nd->getUsedNamespaces();
QCString fName = nd->name()+"::"+baseClassName;
found = (baseClass=getResolvedClass(cd,fName))!=0 && root->name!=fName;
if (nl) // try to prepend any of the using namespace scopes.
{
NamespaceListIterator nli(*nl);
NamespaceDef *nd;
for (nli.toFirst() ; (nd=nli.current()) && !found ; ++nli)
{
fName = nd->name()+"::"+baseClassName;
found = (baseClass=getResolvedClass(cd,fName))!=0 &&
baseClass!=cd &&
root->name!=fName;
}
}
if (!found) // also check imported classes within this namespace
{
ClassList *cl = nd->getUsedClasses();
if (cl)
{
ClassListIterator cli(*cl);
ClassDef *ucd;
for (cli.toFirst(); (ucd=cli.current()) && !found; ++cli)
{
if (rightScopeMatch(ucd->name(),biName))
{
baseClass = ucd;
found = TRUE;
}
}
}
}
// TODO: check any inbetween namespaces as well!
if (fd && !found) // and in the global namespace
{
ClassList *cl = fd->getUsedClasses();
if (cl)
{
ClassListIterator cli(*cl);
ClassDef *ucd;
for (cli.toFirst(); (ucd=cli.current()) && !found; ++cli)
{
if (rightScopeMatch(ucd->name(),biName))
{
baseClass = ucd;
found = TRUE;
}
}
}
}
}
#endif
}
bool
isATemplateArgument
=
templateNames
!=
0
&&
templateNames
->
find
(
biName
)
!=
0
;
if
(
found
)
...
...
@@ -3832,7 +3748,7 @@ static void addListReferences()
{
name
=
pi
->
getGroupDef
()
->
getOutputFileBase
().
copy
();
}
addRefItem
(
pi
->
special
ListItems
,
addRefItem
(
pi
->
xref
ListItems
,
theTranslator
->
trPage
(
TRUE
,
TRUE
),
name
,
pi
->
title
);
}
...
...
@@ -5020,9 +4936,11 @@ static void findMemberDocumentation(Entry *root)
(
i
=
findFunctionPtr
(
root
->
type
,
&
l
))
!=-
1
)
{
//printf("Fixing function pointer!\n");
// fix type and argument
root
->
args
+=
root
->
type
.
right
(
root
->
type
.
length
()
-
i
-
l
);
root
->
args
.
prepend
(
root
->
type
.
right
(
root
->
type
.
length
()
-
i
-
l
)
);
root
->
type
=
root
->
type
.
left
(
i
+
l
);
//printf("Results type=%s,name=%s,args=%s\n",root->type.data(),root->name.data(),root->args.data());
isFunc
=
FALSE
;
}
else
if
((
root
->
type
.
left
(
8
)
==
"typedef "
&&
root
->
args
.
find
(
'('
)
!=-
1
))
...
...
@@ -5037,8 +4955,15 @@ static void findMemberDocumentation(Entry *root)
//printf("Documentation for inline member `%s' found args=`%s'\n",
// root->name.data(),root->args.data());
//if (root->relates.length()) printf(" Relates %s\n",root->relates.data());
if
(
root
->
type
.
isEmpty
())
{
findMember
(
root
,
root
->
name
+
root
->
args
+
root
->
exception
,
FALSE
,
isFunc
);
}
else
{
findMember
(
root
,
root
->
type
+
" "
+
root
->
name
+
root
->
args
+
root
->
exception
,
FALSE
,
isFunc
);
}
}
else
if
(
root
->
section
==
Entry
::
OVERLOADDOC_SEC
)
{
//printf("Overloaded member %s found\n",root->name.data());
...
...
@@ -6171,7 +6096,7 @@ static void resolveUserReferences()
// name (not from the todo/test/bug/deprecated list, but from the file in
// which they are defined). We correct this here by looking at the
// generated section labels!
QDictIterator
<
RefList
>
rli
(
*
Doxygen
::
special
Lists
);
QDictIterator
<
RefList
>
rli
(
*
Doxygen
::
xref
Lists
);
RefList
*
rl
;
for
(
rli
.
toFirst
();(
rl
=
rli
.
current
());
++
rli
)
{
...
...
@@ -7168,7 +7093,7 @@ void cleanUpDoxygen()
delete
Doxygen
::
pageSDict
;
delete
Doxygen
::
exampleSDict
;
delete
Doxygen
::
globalScope
;
delete
Doxygen
::
special
Lists
;
delete
Doxygen
::
xref
Lists
;
cleanUpPreprocessor
();
Config
::
deleteInstance
();
QTextCodec
::
deleteAllCodecs
();
...
...
@@ -7475,40 +7400,42 @@ void readConfiguration(int argc, char **argv)
QFileInfo
configFileInfo
(
configName
);
setPerlModDoxyfile
(
configFileInfo
.
absFilePath
());
Doxygen
::
xrefLists
->
setAutoDelete
(
TRUE
);
#if 0
/* init the special lists */
Doxygen
::
specialLists
->
setAutoDelete
(
TRUE
);
Doxygen::specialLists->insert("todo",
new RefList("todo",
"GENERATE_TODOLIST",
theTranslator->trTodoList(),
theTranslator
->
trTodo
()
,
BaseOutputDocInterface
::
Todo
theTranslator->trTodo()
//,
BaseOutputDocInterface::Todo
)
);
Doxygen::specialLists->insert("test",
new RefList("test",
"GENERATE_TESTLIST",
theTranslator->trTestList(),
theTranslator
->
trTest
()
,
BaseOutputDocInterface
::
Test
theTranslator->trTest()
//,
BaseOutputDocInterface::Test
)
);
Doxygen::specialLists->insert("bug",
new RefList("bug",
"GENERATE_BUGLIST",
theTranslator->trBugList(),
theTranslator
->
trBug
()
,
BaseOutputDocInterface
::
Bug
theTranslator->trBug()
//,
BaseOutputDocInterface::Bug
)
);
Doxygen::specialLists->insert("deprecated",
new RefList("deprecated",
"GENERATE_DEPRECATEDLIST",
theTranslator->trDeprecatedList(),
theTranslator
->
trDeprecated
()
,
BaseOutputDocInterface
::
Deprecated
theTranslator->trDeprecated()
//,
BaseOutputDocInterface::Deprecated
)
);
#endif
}
...
...
src/doxygen.h
View file @
2eef94da
...
...
@@ -91,7 +91,7 @@ class Doxygen
static
QIntDict
<
MemberGroupInfo
>
memGrpInfoDict
;
static
QDict
<
void
>
expandAsDefinedDict
;
static
NamespaceDef
*
globalScope
;
static
QDict
<
RefList
>
*
specialLists
;
// array of special
lists: todo, test, bug, deprecated ...
static
QDict
<
RefList
>
*
xrefLists
;
// array of xref
lists: todo, test, bug, deprecated ...
static
QCString
htmlFileExtension
;
};
...
...
src/entry.h
View file @
2eef94da
...
...
@@ -21,7 +21,7 @@
#include "qtbc.h"
#include <qlist.h>
enum
Protection
{
Public
,
Protected
,
Private
}
;
enum
Protection
{
Public
,
Protected
,
Private
,
Package
}
;
enum
Specifier
{
Normal
,
Virtual
,
Pure
}
;
enum
MethodTypes
{
Method
,
Signal
,
Slot
,
DCOP
,
Property
,
Event
};
...
...
src/filedef.cpp
View file @
2eef94da
...
...
@@ -734,7 +734,7 @@ bool FileDef::generateSourceFile() const
void
FileDef
::
addListReferences
()
{
addRefItem
(
special
ListItems
(),
addRefItem
(
xref
ListItems
(),
theTranslator
->
trFile
(
TRUE
,
TRUE
),
getOutputFileBase
(),
name
()
);
...
...
src/groupdef.cpp
View file @
2eef94da
...
...
@@ -783,7 +783,7 @@ QCString GroupDef::getOutputFileBase() const
void
GroupDef
::
addListReferences
()
{
addRefItem
(
special
ListItems
(),
addRefItem
(
xref
ListItems
(),
theTranslator
->
trGroup
(
TRUE
,
TRUE
),
getOutputFileBase
(),
name
()
);
...
...
src/htmldocvisitor.cpp
View file @
2eef94da
...
...
@@ -272,6 +272,11 @@ void HtmlDocVisitor::visit(DocFormula *f)
m_t
<<
"
\"
middle
\"
"
;
// assume Windows users use IE or HtmlHelp which on
// displays formulas nicely with align == "middle"
#endif
m_t
<<
" alt=
\"
"
;
filterQuotedCdataAttr
(
f
->
text
());
m_t
<<
"
\"
"
;
/// @todo cache image dimensions on formula generation and give height/width
/// for faster preloading and better rendering of the page
m_t
<<
" src=
\"
"
<<
f
->
name
()
<<
".png
\"
>"
;
if
(
f
->
text
().
at
(
0
)
==
'\\'
)
m_t
<<
endl
<<
"</center><p>"
<<
endl
;
...
...
@@ -921,6 +926,43 @@ void HtmlDocVisitor::filter(const char *str)
}
}
/// Escape basic entities to produce a valid CDATA attribute value,
/// assume that the outer quoting will be using the double quote "
void
HtmlDocVisitor
::
filterQuotedCdataAttr
(
const
char
*
str
)
{
if
(
str
==
0
)
return
;
const
char
*
p
=
str
;
char
c
;
while
(
*
p
)
{
c
=*
p
++
;
switch
(
c
)
{
case
'&'
:
m_t
<<
"&"
;
break
;
case
'"'
:
m_t
<<
"""
;
break
;
// For SGML compliance, and given the SGML declaration for HTML syntax,
// it's enough to replace these two, provided that the declaration
// for the HTML version we generate (and as supported by the browser)
// specifies that all the other symbols used in rawVal are
// within the right charachter class (i.e., they're not
// some multinational weird charachters not in the BASESET).
// We assume that 1) the browser will support whatever is remaining
// in the formula and 2) the TeX formulae are generally governed
// by even stricter charachter restrictions so it should be enough.
//
// On some incompliant browsers, additional translation of
// '>' and '<' into ">" and "<", respectively, might be needed;
// but I'm unaware of particular modern (last 4 years) versions
// with such problems, so let's not do it for performance.
// Also, some brousers will (wrongly) not process the entity references
// inside the attribute value and show the &...; form instead,
// so we won't create entites unless necessary to minimize clutter there.
// --vassilii
default
:
m_t
<<
c
;
}
}
}
void
HtmlDocVisitor
::
startLink
(
const
QString
&
ref
,
const
QString
&
file
,
const
QString
&
anchor
)
{
QCString
*
dest
;
...
...
src/htmldocvisitor.h
View file @
2eef94da
...
...
@@ -133,6 +133,7 @@ class HtmlDocVisitor : public DocVisitor
//--------------------------------------
void
filter
(
const
char
*
str
);
void
filterQuotedCdataAttr
(
const
char
*
str
);
void
startLink
(
const
QString
&
ref
,
const
QString
&
file
,
const
QString
&
anchor
);
void
endLink
();
...
...
src/htmlgen.cpp
View file @
2eef94da
...
...
@@ -214,11 +214,17 @@ void HtmlGenerator::startFile(const char *name,const char *,
{
HtmlHelp
::
getInstance
()
->
addIndexFile
(
fileName
);
}
QCString
dispTitle
=
title
;
QCString
projName
=
Config_getString
(
"PROJECT_NAME"
);
if
(
!
projName
.
isEmpty
())
{
dispTitle
.
prepend
(
projName
+
": "
);
}
lastFile
=
fileName
;
if
(
g_header
.
isEmpty
())
{
writeDefaultHeaderFile
(
t
,
t
itle
,
external
);
writeDefaultHeaderFile
(
t
,
dispT
itle
,
external
);
}
else
{
...
...
src/libdoxygen.pro.in
View file @
2eef94da
...
...
@@ -66,6 +66,7 @@ HEADERS = bufstr.h \
outputgen.h \
outputlist.h \
page.h \
pagedef.h \
perlmodgen.h \
pngenc.h \
pre.h \
...
...
@@ -161,6 +162,7 @@ SOURCES = ce_lex.cpp \
namespacedef.cpp \
outputgen.cpp \
outputlist.cpp \
pagedef.cpp \
perlmodgen.cpp \
pngenc.cpp \
pre.cpp \
...
...
src/memberdef.cpp
View file @
2eef94da
...
...
@@ -684,6 +684,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
{
Doxygen
::
tagFile
<<
"
\"
protection=
\"
"
;
if
(
prot
==
Protected
)
Doxygen
::
tagFile
<<
"public"
;
else
if
(
prot
==
Package
)
Doxygen
::
tagFile
<<
"package"
;
else
/* Private */
Doxygen
::
tagFile
<<
"protected"
;
}
if
(
virt
!=
Normal
)
...
...
@@ -1226,6 +1227,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
if
(
isSettable
())
sl
.
append
(
"set"
);
if
(
protection
()
==
Protected
)
sl
.
append
(
"protected"
);
else
if
(
protection
()
==
Private
)
sl
.
append
(
"private"
);
else
if
(
protection
()
==
Package
)
sl
.
append
(
"package"
);
if
(
lvirt
==
Virtual
)
sl
.
append
(
"virtual"
);
else
if
(
lvirt
==
Pure
)
sl
.
append
(
"pure virtual"
);
if
(
isSignal
())
sl
.
append
(
"signal"
);
...
...
@@ -1811,7 +1813,7 @@ void MemberDef::addListReference(Definition *d)
}
}
//printf("*** addListReference %s todo=%d test=%d bug=%d\n",name().data(),todoId(),testId(),bugId());
addRefItem
(
special
ListItems
(),
memLabel
,
addRefItem
(
xref
ListItems
(),
memLabel
,
d
->
getOutputFileBase
()
+
"#"
+
anchor
(),
memName
,
argsString
());
}
...
...
src/namespacedef.cpp
View file @
2eef94da
...
...
@@ -390,7 +390,7 @@ Definition *NamespaceDef::findInnerCompound(const char *n)
void
NamespaceDef
::
addListReferences
()
{
addRefItem
(
special
ListItems
(),
addRefItem
(
xref
ListItems
(),
theTranslator
->
trNamespace
(
TRUE
,
TRUE
),
getOutputFileBase
(),
displayName
()
);
...
...
src/outputgen.h
View file @
2eef94da
...
...
@@ -78,11 +78,11 @@ class BaseOutputDocInterface : public BaseCodeDocInterface
{
public
:
enum
ParamListTypes
{
Param
,
RetVal
,
Exception
};
enum
SectionTypes
{
See
,
Return
,
Author
,
Version
,
enum
SectionTypes
{
/*
See, Return, Author, Version,
Since, Date, Bug, Note,
Warning, Par, Deprecated, Pre,
Post, Invar, Remark, Attention,
Todo
,
Test
,
RCS
,
EnumValues
,
Todo, Test, RCS,
*/
EnumValues
,
Examples
};
...
...
src/page.h
View file @
2eef94da
...
...
@@ -27,7 +27,7 @@ class PageInfo
public
:
PageInfo
(
const
char
*
f
,
int
l
,
const
char
*
n
,
const
char
*
d
,
const
char
*
t
)
:
defFileName
(
f
),
defLine
(
l
),
name
(
n
),
doc
(
d
),
title
(
t
),
context
(
0
),
special
ListItems
(
0
),
m_inGroup
(
0
)
doc
(
d
),
title
(
t
),
context
(
0
),
xref
ListItems
(
0
),
m_inGroup
(
0
)
{
sectionDict
=
new
SectionDict
(
17
);
}
...
...
@@ -111,7 +111,7 @@ class PageInfo
// is this page part of a group
SectionDict
*
sectionDict
;
QList
<
ListItemInfo
>
*
special
ListItems
;
QList
<
ListItemInfo
>
*
xref
ListItems
;
private
:
GroupDef
*
m_inGroup
;
...
...
src/pagedef.cpp
0 → 100644
View file @
2eef94da
#include "pagedef.h"
PageDef
::
PageDef
(
const
char
*
f
,
int
l
,
const
char
*
n
,
const
char
*
d
,
const
char
*
t
)
:
Definition
(
f
,
l
,
n
),
m_title
(
t
)
{
setDocumentation
(
d
,
f
,
l
);
}
PageDef
::~
PageDef
()
{
}
src/pagedef.h
0 → 100644
View file @
2eef94da
/******************************************************************************
*
*
*
* 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.
*
*/
#include "definition.h"
#include "sortdict.h"
//#include "config.h"
//#include "docparser.h"
//#include "section.h"
//#include "doxygen.h"
class
PageDef
:
public
Definition
{
public
:
PageDef
(
const
char
*
f
,
int
l
,
const
char
*
n
,
const
char
*
d
,
const
char
*
t
);
~
PageDef
();
DefType
definitionType
()
{
return
TypePage
;
}
// functions to get a uniform interface with Definitions
QCString
getOutputFileBase
()
const
{
return
m_fileName
;
}
#if 0
bool isReference() const { return !reference.isEmpty(); }
QCString getReference() const { return reference; }
PageInfo(const char *f, int l,const char *n,const char *d,const char *t) :
defFileName(f), defLine(l), name(n),
doc(d), title(t), context(0), xrefListItems(0),m_inGroup(0)
{
sectionDict = new SectionDict(17);
}
~PageInfo()
{
delete sectionDict;
}
// where the page definition was found
QCString defFileName;
int defLine;
// contents of the page
QCString name;
QCString doc;
QCString title;
// external reference? if so then this is the tag file name
QCString reference;
QCString fileName;
// class, file or namespace in which the page was found
Definition *context;
//void addSections(QList<QCString> *anchorList)
//{
// if (anchorList)
// {
// QCString *s=anchorList->first();
// while (s)
// {
// SectionInfo *si=0;
// if (!s->isEmpty() && (si=Doxygen::sectionDict[*s]))
// {
// //printf("Add section `%s' to definition `%s'\n",
// // si->label.data(),n.data());
// if (sectionDict==0)
// {
// sectionDict = new SectionDict(17);
// }
// if (sectionDict->find(*s)==0)
// {
// sectionDict->insert(*s,si);
// }
// si->pageRef = this;
// si->fileName = fileName;
// }
// s=anchorList->next();
// }
// }
//}
void findSectionsInDocumentation()
{
docFindSections(doc,this,0,0,defFileName);
}
void writeDocAnchorsToTagFile()
{
if (!Config_getString("GENERATE_TAGFILE").isEmpty() && sectionDict)
{
QDictIterator<SectionInfo> sdi(*sectionDict);
SectionInfo *si;
for (;(si=sdi.current());++sdi)
{
if (!si->generated)
{
Doxygen::tagFile << " <docanchor>" << si->label << "</docanchor>" << endl;
}
}
}
}
void makePartOfGroup(GroupDef *gd) { m_inGroup = gd; }
GroupDef *getGroupDef() const { return m_inGroup; }
// is this page part of a group
SectionDict *sectionDict;
QList<ListItemInfo> *xrefListItems;
private:
GroupDef *m_inGroup;
#endif
private
:
QCString
m_fileName
;
QCString
m_title
;
};
class
PageSDict
:
public
SDict
<
PageDef
>
{
public
:
PageSDict
(
int
size
)
:
SDict
<
PageDef
>
(
size
)
{}
virtual
~
PageSDict
()
{}
int
compareItems
(
GCI
i1
,
GCI
i2
)
{
return
stricmp
(((
PageDef
*
)
i1
)
->
name
(),((
PageDef
*
)
i2
)
->
name
());
}
};
src/perlmodgen.cpp
View file @
2eef94da
...
...
@@ -1290,6 +1290,7 @@ static const char *getProtectionName(Protection prot)
case
Public
:
return
"public"
;
case
Protected
:
return
"protected"
;
case
Private
:
return
"private"
;
case
Package
:
return
"package"
;
}
return
0
;
}
...
...
src/reflist.cpp
View file @
2eef94da
...
...
@@ -20,22 +20,22 @@
/*! Create a list of items that are cross referenced with documentation blocks
* @param listName String representing the name of the list.
* @param optionName String representation of the option enabling the list.
* @param pageTitle String representing the title of the list page.
* @param secTitle String representing the title of the section.
* @param type Type of the section.
*/
RefList
::
RefList
(
const
char
*
listName
,
const
char
*
optionName
,
const
char
*
pageTitle
,
const
char
*
secTitle
,
BaseOutputDocInterface
::
SectionTypes
type
)
RefList
::
RefList
(
const
char
*
listName
,
const
char
*
pageTitle
,
const
char
*
secTitle
)
{
m_dict
=
0
;
m_dictIterator
=
0
;
m_id
=
0
;
m_listName
=
listName
;
m_optionName
=
optionName
;
//
m_optionName = optionName;
m_pageTitle
=
pageTitle
;
m_secTitle
=
secTitle
;
m_type
=
type
;
/*m_type = type;*/
}
/*! Destroy the todo list. Currently not called! */
...
...
@@ -95,10 +95,10 @@ QCString RefList::listName() const
return
m_listName
;
}
QCString
RefList
::
optionName
()
const
{
return
m_optionName
;
}
//
QCString RefList::optionName() const
//
{
//
return m_optionName;
//
}
QCString
RefList
::
pageTitle
()
const
{
...
...
@@ -110,8 +110,10 @@ QCString RefList::sectionTitle() const
return
m_secTitle
;
}
BaseOutputDocInterface
::
SectionTypes
RefList
::
sectionType
()
const
{
return
m_type
;
}
//BaseOutputDocInterface::SectionTypes RefList::sectionType() const
//{
// return m_type;
//}
src/reflist.h
View file @
2eef94da
...
...
@@ -21,7 +21,7 @@
#include "qtbc.h"
#include <qintdict.h>
#include "outputgen.h"
//
#include "outputgen.h"
/*! This struct represents an item in the list of references. */
struct
RefItem
...
...
@@ -50,26 +50,26 @@ class RefList
RefItem
*
getFirstRefItem
();
RefItem
*
getNextRefItem
();
QCString
listName
()
const
;
QCString
optionName
()
const
;
//
QCString optionName() const;
QCString
pageTitle
()
const
;
QCString
sectionTitle
()
const
;
BaseOutputDocInterface
::
SectionTypes
sectionType
()
const
;
//
BaseOutputDocInterface::SectionTypes sectionType() const;
RefList
(
const
char
*
listName
,
const
char
*
optionName
,
const
char
*
pageTitle
,
const
char
*
secTitle
,
BaseOutputDocInterface
::
SectionTypes
type
RefList
(
const
char
*
listName
,
const
char
*
pageTitle
,
const
char
*
secTitle
/*,BaseOutputDocInterface::SectionTypes type*/
);
~
RefList
();
private
:
int
m_id
;
QCString
m_listName
;
QCString
m_optionName
;
//
QCString m_optionName;
QCString
m_pageTitle
;
QCString
m_secTitle
;
QIntDict
<
RefItem
>
*
m_dict
;
QIntDictIterator
<
RefItem
>
*
m_dictIterator
;
BaseOutputDocInterface
::
SectionTypes
m_type
;
//
BaseOutputDocInterface::SectionTypes m_type;
};
#endif
src/scanner.l
View file @
2eef94da
This diff is collapsed.
Click to expand it.
src/translator.h
View file @
2eef94da
...
...
@@ -389,6 +389,17 @@ class Translator
virtual
QCString
trEvents
()
=
0
;
virtual
QCString
trEventDocumentation
()
=
0
;
//////////////////////////////////////////////////////////////////////////
// new since 1.3
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trPackageTypes
()
=
0
;
virtual
QCString
trPackageMembers
()
=
0
;
virtual
QCString
trStaticPackageMembers
()
=
0
;
virtual
QCString
trPackageAttribs
()
=
0
;
virtual
QCString
trStaticPackageAttribs
()
=
0
;
};
#endif
src/translator_adapter.h
View file @
2eef94da
...
...
@@ -40,7 +40,26 @@ class TranslatorAdapterBase : public Translator
};
class
TranslatorAdapter_1_2_18
:
public
TranslatorAdapterBase
class
TranslatorAdapter_1_3
:
public
TranslatorAdapterBase
{
public
:
virtual
QCString
updateNeededMessage
()
{
return
createUpdateNeededMessage
(
idLanguage
(),
"release 1.3"
);
}
virtual
QCString
trPackageTypes
()
{
return
english
.
trPackageTypes
();
}
virtual
QCString
trPackageMembers
()
{
return
english
.
trPackageMembers
();
}
virtual
QCString
trStaticPackageMembers
()
{
return
english
.
trStaticPackageMembers
();
}
virtual
QCString
trPackageAttribs
()
{
return
english
.
trPackageAttribs
();
}
virtual
QCString
trStaticPackageAttribs
()
{
return
english
.
trStaticPackageAttribs
();
}
};
class
TranslatorAdapter_1_2_18
:
public
TranslatorAdapter_1_3
{
public
:
virtual
QCString
updateNeededMessage
()
...
...
src/translator_br.h
View file @
2eef94da
...
...
@@ -32,7 +32,7 @@
#ifndef TRANSLATOR_BR_H
#define TRANSLATOR_BR_H
class
TranslatorBrazilian
:
public
Translator
class
TranslatorBrazilian
:
public
Translator
Adapter_1_3
{
public
:
...
...
src/translator_cz.h
View file @
2eef94da
...
...
@@ -166,7 +166,7 @@
// probably slightly faster.
class
TranslatorCzech
:
public
Translator
class
TranslatorCzech
:
public
Translator
Adapter_1_3
{
private
:
/*! The decode() inline assumes the source written in the
...
...
src/translator_de.h
View file @
2eef94da
...
...
@@ -79,7 +79,7 @@
#ifndef TRANSLATOR_DE_H
#define TRANSLATOR_DE_H
class
TranslatorGerman
:
public
Translator
class
TranslatorGerman
:
public
Translator
Adapter_1_3
{
public
:
...
...
src/translator_dk.h
View file @
2eef94da
...
...
@@ -71,7 +71,7 @@
#ifndef TRANSLATOR_DK_H
#define TRANSLATOR_DK_H
class
TranslatorDanish
:
public
Translator
class
TranslatorDanish
:
public
Translator
Adapter_1_3
{
public
:
...
...
src/translator_en.h
View file @
2eef94da
...
...
@@ -1433,6 +1433,46 @@ class TranslatorEnglish : public Translator
return
"Event Documentation"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3
//////////////////////////////////////////////////////////////////////////
/*! Used as a heading for a list of Java class types with package scope.
*/
virtual
QCString
trPackageTypes
()
{
return
"Package Types"
;
}
/*! Used as a heading for a list of Java class functions with package
* scope.
*/
virtual
QCString
trPackageMembers
()
{
return
"Package Functions"
;
}
/*! Used as a heading for a list of static Java class functions with
* package scope.
*/
virtual
QCString
trStaticPackageMembers
()
{
return
"Static Package Functions"
;
}
/*! Used as a heading for a list of Java class variables with package
* scope.
*/
virtual
QCString
trPackageAttribs
()
{
return
"Package Attributes"
;
}
/*! Used as a heading for a list of static Java class variables with
* package scope.
*/
virtual
QCString
trStaticPackageAttribs
()
{
return
"Static Package Attributes"
;
}
};
#endif
src/translator_fr.h
View file @
2eef94da
...
...
@@ -47,7 +47,7 @@
#ifndef TRANSLATOR_FR_H
#define TRANSLATOR_FR_H
class
TranslatorFrench
:
public
Translator
class
TranslatorFrench
:
public
Translator
Adapter_1_3
{
public
:
QCString
idLanguage
()
...
...
src/translator_hr.h
View file @
2eef94da
...
...
@@ -53,7 +53,7 @@
#ifndef TRANSLATOR_HR_H
#define TRANSLATOR_HR_H
class
TranslatorCroatian
:
public
Translator
class
TranslatorCroatian
:
public
Translator
Adapter_1_3
{
private
:
/*! to avoid macro redefinition from translator_cz.h */
...
...
src/translator_it.h
View file @
2eef94da
...
...
@@ -67,7 +67,7 @@
#ifndef TRANSLATOR_IT_H
#define TRANSLATOR_IT_H
class
TranslatorItalian
:
public
Translator
class
TranslatorItalian
:
public
Translator
Adapter_1_3
{
public
:
...
...
src/translator_jp.h
View file @
2eef94da
...
...
@@ -64,7 +64,7 @@ class TranslatorJapaneseEn : public TranslatorEnglish
}
};
class
TranslatorJapanese
:
public
Translator
class
TranslatorJapanese
:
public
Translator
Adapter_1_3
{
private
:
/*! The decode() can change euc into sjis */
...
...
src/translator_kr.h
View file @
2eef94da
...
...
@@ -18,7 +18,7 @@
#ifndef TRANSLATOR_KR_H
#define TRANSLATOR_KR_H
class
TranslatorKorean
:
public
Translator
class
TranslatorKorean
:
public
Translator
Adapter_1_3
{
public
:
...
...
src/translator_nl.h
View file @
2eef94da
...
...
@@ -1030,6 +1030,45 @@ class TranslatorDutch : public Translator
return
"Event Documentatie"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.3
//////////////////////////////////////////////////////////////////////////
/*! Used as a heading for a list of Java class types with package scope.
*/
virtual
QCString
trPackageTypes
()
{
return
"Package Types"
;
}
/*! Used as a heading for a list of Java class functions with package
* scope.
*/
virtual
QCString
trPackageMembers
()
{
return
"Package Functies"
;
}
/*! Used as a heading for a list of static Java class functions with
* package scope.
*/
virtual
QCString
trStaticPackageMembers
()
{
return
"Statische Package Functies"
;
}
/*! Used as a heading for a list of Java class variables with package
* scope.
*/
virtual
QCString
trPackageAttribs
()
{
return
"Package Attributen"
;
}
/*! Used as a heading for a list of static Java class variables with
* package scope.
*/
virtual
QCString
trStaticPackageAttribs
()
{
return
"Statische Package Attributen"
;
}
};
#endif
src/translator_pl.h
View file @
2eef94da
...
...
@@ -20,7 +20,7 @@
#ifndef TRANSLATOR_PL_H
#define TRANSLATOR_PL_H
class
TranslatorPolish
:
public
Translator
class
TranslatorPolish
:
public
Translator
Adapter_1_3
{
private
:
/*! to avoid macro redefinition from translator_pl.h */
...
...
src/translator_ru.h
View file @
2eef94da
...
...
@@ -48,7 +48,7 @@
#ifndef TRANSLATOR_RU_H
#define TRANSLATOR_RU_H
class
TranslatorRussian
:
public
Translator
class
TranslatorRussian
:
public
Translator
Adapter_1_3
{
private
:
/*! The Decode() inline assumes the source written in the
...
...
src/util.cpp
View file @
2eef94da
...
...
@@ -2934,7 +2934,7 @@ QCString substituteKeywords(const QCString &s,const char *title)
*/
int
getPrefixIndex
(
const
QCString
&
name
)
{
//printf("getPrefixIndex(%s) ni=%d\n",name.data(),ni)
;
if
(
name
.
isEmpty
())
return
0
;
QStrList
&
sl
=
Config_getList
(
"IGNORE_PREFIX"
);
char
*
s
=
sl
.
first
();
while
(
s
)
...
...
@@ -3624,16 +3624,16 @@ PageInfo *addRelatedPage(const char *name,const QCString &ptitle,
if
(
sli
)
{
if
(
pi
->
special
ListItems
==
0
)
if
(
pi
->
xref
ListItems
==
0
)
{
pi
->
special
ListItems
=
new
QList
<
ListItemInfo
>
;
pi
->
special
ListItems
->
setAutoDelete
(
TRUE
);
pi
->
xref
ListItems
=
new
QList
<
ListItemInfo
>
;
pi
->
xref
ListItems
->
setAutoDelete
(
TRUE
);
}
QListIterator
<
ListItemInfo
>
slii
(
*
sli
);
ListItemInfo
*
lii
;
for
(
slii
.
toFirst
();(
lii
=
slii
.
current
());
++
slii
)
{
pi
->
special
ListItems
->
append
(
new
ListItemInfo
(
*
lii
));
pi
->
xref
ListItems
->
append
(
new
ListItemInfo
(
*
lii
));
}
}
...
...
@@ -3700,10 +3700,16 @@ void addRefItem(const QList<ListItemInfo> *sli,
ListItemInfo
*
lii
;
for
(
slii
.
toFirst
();(
lii
=
slii
.
current
());
++
slii
)
{
RefList
*
refList
=
Doxygen
::
specialLists
->
find
(
lii
->
type
);
ASSERT
(
refList
!=
0
);
if
(
Config_getBool
(
refList
->
optionName
()))
RefList
*
refList
=
Doxygen
::
xrefLists
->
find
(
lii
->
type
);
if
(
refList
&&
(
// either not a built-in list or the list is enabled
(
lii
->
type
!=
"todo"
||
Config_getBool
(
"GENERATE_TODOLIST"
))
&&
(
lii
->
type
!=
"test"
||
Config_getBool
(
"GENERATE_TESTLIST"
))
&&
(
lii
->
type
!=
"bug"
||
Config_getBool
(
"GENERATE_BUGLIST"
))
&&
(
lii
->
type
!=
"deprecated"
||
Config_getBool
(
"GENERATE_DEPRECATEDLIST"
))
)
)
{
RefItem
*
item
=
refList
->
getRefItem
(
lii
->
itemId
);
ASSERT
(
item
!=
0
);
...
...
src/xmlgen.cpp
View file @
2eef94da
...
...
@@ -501,6 +501,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
case
Public
:
t
<<
"public"
;
break
;
case
Protected
:
t
<<
"protected"
;
break
;
case
Private
:
t
<<
"private"
;
break
;
case
Package
:
t
<<
"package"
;
break
;
}
t
<<
"
\"
static=
\"
"
;
if
(
md
->
isStatic
())
t
<<
"yes"
;
else
t
<<
"no"
;
...
...
@@ -685,6 +686,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
case
Public
:
t
<<
"public"
;
break
;
case
Protected
:
t
<<
"protected"
;
break
;
case
Private
:
t
<<
"private"
;
break
;
case
Package
:
t
<<
"package"
;
break
;
}
t
<<
"
\"
>"
<<
endl
;
t
<<
" <name>"
;
...
...
@@ -791,6 +793,7 @@ static void writeListOfAllMembers(ClassDef *cd,QTextStream &t)
case
Public
:
t
<<
"public"
;
break
;
case
Protected
:
t
<<
"protected"
;
break
;
case
Private
:
t
<<
"private"
;
break
;
case
Package
:
t
<<
"package"
;
break
;
}
t
<<
"
\"
virt=
\"
"
;
switch
(
virt
)
...
...
@@ -869,6 +872,7 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
case
Public
:
t
<<
"public"
;
break
;
case
Protected
:
t
<<
"protected"
;
break
;
case
Private
:
t
<<
"private"
;
break
;
case
Package
:
ASSERT
(
0
);
break
;
}
t
<<
"
\"
virt=
\"
"
;
switch
(
bcd
->
virt
)
...
...
@@ -895,6 +899,7 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
case
Public
:
t
<<
"public"
;
break
;
case
Protected
:
t
<<
"protected"
;
break
;
case
Private
:
t
<<
"private"
;
break
;
case
Package
:
ASSERT
(
0
);
break
;
}
t
<<
"
\"
virt=
\"
"
;
switch
(
bcd
->
virt
)
...
...
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