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
adac91e9
Commit
adac91e9
authored
Jul 28, 2002
by
dimitri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.2.17-20020728
parent
b860a5cc
Changes
41
Hide whitespace changes
Inline
Side-by-side
Showing
41 changed files
with
351 additions
and
125 deletions
+351
-125
INSTALL
INSTALL
+1
-1
README
README
+1
-1
doxywizard.cpp
addon/doxywizard/doxywizard.cpp
+7
-6
inputbool.cpp
addon/doxywizard/inputbool.cpp
+15
-7
inputbool.h
addon/doxywizard/inputbool.h
+4
-2
config.doc
doc/config.doc
+1
-1
index.doc
doc/index.doc
+2
-2
install.doc
doc/install.doc
+7
-0
language.doc
doc/language.doc
+19
-19
starting.doc
doc/starting.doc
+1
-1
classdef.cpp
src/classdef.cpp
+1
-1
commentcnv.l
src/commentcnv.l
+1
-1
config.l
src/config.l
+8
-1
definition.cpp
src/definition.cpp
+1
-0
definition.h
src/definition.h
+4
-3
doc.l
src/doc.l
+5
-2
dot.cpp
src/dot.cpp
+22
-5
dot.h
src/dot.h
+1
-1
doxygen.cpp
src/doxygen.cpp
+150
-15
doxygen.h
src/doxygen.h
+1
-1
entry.h
src/entry.h
+1
-4
index.cpp
src/index.cpp
+2
-10
membergroup.cpp
src/membergroup.cpp
+1
-0
namespacedef.cpp
src/namespacedef.cpp
+1
-1
reflist.cpp
src/reflist.cpp
+0
-9
scanner.l
src/scanner.l
+40
-17
translator.h
src/translator.h
+6
-0
translator_adapter.h
src/translator_adapter.h
+11
-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_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_jp.h
src/translator_jp.h
+1
-1
translator_nl.h
src/translator_nl.h
+11
-0
translator_pt.h
src/translator_pt.h
+1
-1
translator_ru.h
src/translator_ru.h
+1
-1
util.cpp
src/util.cpp
+4
-2
xmlgen.cpp
src/xmlgen.cpp
+2
-2
No files found.
INSTALL
View file @
adac91e9
...
...
@@ -3,4 +3,4 @@ DOXYGEN Version 1.2.17
Please read the installation section of the manual for instructions.
--------
Dimitri van Heesch (
15
July 2002)
Dimitri van Heesch (
28
July 2002)
README
View file @
adac91e9
...
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (
15
July 2002)
Dimitri van Heesch (dimitri@stack.nl) (
28
July 2002)
addon/doxywizard/doxywizard.cpp
View file @
adac91e9
...
...
@@ -309,12 +309,13 @@ void Wizard::refreshCaption()
void
Wizard
::
about
()
{
QMessageBox
::
about
(
this
,
"DoxyWizard"
,
"<qt><center>A tool to create and edit configuration files "
"that can be read by doxygen.</center><p>"
"<center>Written by Dimitri van Heesch</center><p>"
"<center>(c) 2000-2002</center></qt>"
);
QCString
text
(
4096
);
text
.
sprintf
(
"<qt><center>A tool to create and edit configuration files "
"that can be read by doxygen version %s.</center><p>"
"<center>Written by Dimitri van Heesch</center><p>"
"<center>(c) 2000-2002</center></qt>"
,
versionString
);
QMessageBox
::
about
(
this
,
"DoxyWizard"
,
text
);
}
//----------------------------------------------------------------------
...
...
addon/doxywizard/inputbool.cpp
View file @
adac91e9
...
...
@@ -15,23 +15,31 @@
#include "inputbool.h"
#include "pagewidget.h"
#include <qwindowsstyle.h>
#include <qlayout.h>
InputBool
::
InputBool
(
const
QString
&
text
,
PageWidget
*
parent
,
bool
&
flag
)
:
QCheckBox
(
text
,
parent
->
getLayout
()
),
state
(
flag
)
:
/*QCheckBox( text, parent->getLayout() )*/
QWidget
(
parent
->
getLayout
()
),
state
(
flag
)
{
QBoxLayout
*
layout
=
new
QHBoxLayout
(
this
);
cb
=
new
QCheckBox
(
text
,
this
);
layout
->
addWidget
(
cb
);
layout
->
addStretch
(
10
);
QWindowsStyle
*
winStyle
=
new
QWindowsStyle
();
setChecked
(
flag
);
setStyle
(
winStyle
);
setMinimumSize
(
sizeHint
()
);
cb
->
setChecked
(
flag
);
cb
->
setStyle
(
winStyle
);
cb
->
setMinimumSize
(
sizeHint
()
);
connect
(
this
,
SIGNAL
(
toggled
(
bool
)),
SLOT
(
setState
(
bool
))
);
connect
(
cb
,
SIGNAL
(
toggled
(
bool
)),
SLOT
(
setState
(
bool
))
);
parent
->
addWidget
(
this
);
layout
->
activate
();
}
void
InputBool
::
init
()
{
setChecked
(
state
);
cb
->
setChecked
(
state
);
}
void
InputBool
::
setState
(
bool
s
)
...
...
@@ -39,7 +47,7 @@ void InputBool::setState( bool s )
if
(
state
!=
s
)
{
emit
changed
();
emit
toggle
(
text
(),
s
);
emit
toggle
(
cb
->
text
(),
s
);
}
state
=
s
;
}
...
...
addon/doxywizard/inputbool.h
View file @
adac91e9
...
...
@@ -15,13 +15,14 @@
#ifndef _INPUTBOOL_H
#define _INPUTBOOL_H
#include <qwidget.h>
#include <qcheckbox.h>
#include "input.h"
class
PageWidget
;
class
InputBool
:
public
Q
CheckBox
,
public
IInput
class
InputBool
:
public
Q
Widget
,
/*QCheckBox,*/
public
IInput
{
Q_OBJECT
...
...
@@ -29,7 +30,7 @@ class InputBool : public QCheckBox, public IInput
InputBool
(
const
QString
&
text
,
PageWidget
*
parent
,
bool
&
flag
);
~
InputBool
(){};
void
init
();
void
setEnabled
(
bool
b
)
{
QCheckBox
::
setEnabled
(
b
);
}
void
setEnabled
(
bool
b
)
{
cb
->
setEnabled
(
b
);
}
QObject
*
qobject
()
{
return
this
;
}
bool
getState
()
const
{
return
state
;
}
...
...
@@ -42,6 +43,7 @@ class InputBool : public QCheckBox, public IInput
private
:
bool
&
state
;
QCheckBox
*
cb
;
};
...
...
doc/config.doc
View file @
adac91e9
...
...
@@ -711,7 +711,7 @@ followed by the descriptions of the tags grouped by category.
functions
referencing
it
will
be
listed
.
\
anchor
cfg_references_relation
<
dt
>\
c
REFERENCE_RELATION
<
dd
>
<
dt
>\
c
REFERENCE
S
_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
...
...
doc/index.doc
View file @
adac91e9
...
...
@@ -179,8 +179,8 @@ Thanks go to:
<li>Petr Prikryl for coordinating the internationalisation support.
All language maintainers for providing translations into many languages.
<li>Erik Jan Lingen of <a href="http://www.habanera.nl/">Habanera</a>, Mark
Roddy, Paul Schwartz, Charles Duffy, Vadym Voznyuk,
and Philip Walton
for donating money.
Roddy, Paul Schwartz, Charles Duffy, Vadym Voznyuk,
Philip Walton and
Dwight Browne
for donating money.
<li>The Comms group of <a href="http://www.symbian.com">Symbian</a> for donating
an ultra cool <a href="http://www.psion.com/revoplus>Revo plus</a>
organizer!
...
...
doc/install.doc
View file @
adac91e9
...
...
@@ -354,6 +354,13 @@ On some platforms (such as OpenBSD) using some versions of gcc with
such as config.cpp. As a workaround use --debug as a configure option
or omit the -O2 for the particular files in the Makefile.
<b>Dot problems</b>
Due to a change in the way image maps are generated, older versions
of doxygen (<=1.2.17) will not work correctly with newer versions of
graphviz (>=1.8.8). The effect of this incompatibility is that
generated graphs in HTML are not properly clickable.
\subsection install_src_windows Compiling from source on Windows
Currently, I have only compiled doxygen for Windows using Microsoft's
...
...
doc/language.doc
View file @
adac91e9
...
...
@@ -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.1
6-2002070
7), 27 languages
Currently (version 1.2.1
4-2002031
7), 27 languages
are supported (sorted alphabetically):
Brazilian Portuguese, Chinese, Chinese Traditional, Croatian, Czech,
Danish, Dutch, English, Finnish, French,
...
...
@@ -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-date
</TD>
<TD>
1.2.17
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Chinese</TD>
...
...
@@ -73,13 +73,13 @@ when the translator was updated.
<TD>Croatian</TD>
<TD>Boris Bralo</TD>
<TD>boris.bralo@NOSPAM.zg.tel.hr</TD>
<TD>
up-to-date
</TD>
<TD>
1.2.17
</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.17
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Danish</TD>
...
...
@@ -109,13 +109,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.17
</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>1.2.1
6
</TD>
<TD>1.2.1
7
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Greek</TD>
...
...
@@ -133,13 +133,13 @@ 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-date
</TD>
<TD>
1.2.17
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Japanese</TD>
<TD>Ryunosuke Sato<br>Kenji Nagamatsu</TD>
<TD>puyo@NOSPAM.mint.freemail.ne.jp<br>naga@NOSPAM.joyful.club.ne.jp</TD>
<TD>
up-to-date
</TD>
<TD>
1.2.17
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Korean</TD>
...
...
@@ -163,7 +163,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.17
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Romanian</TD>
...
...
@@ -175,7 +175,7 @@ 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.17
</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Serbian</TD>
...
...
@@ -224,16 +224,16 @@ 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-date
\\
Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt chino@icmc.sc.usp.br} &
1.2.17
\\
\hline
Chinese & Wei Liu & {\tt liuwei@asiainfo.com} & 1.2.13 \\
& Wang Weihan & {\tt wangweihan@capinfo.com.cn} & \\
\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-date
\\
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} &
1.2.17
\\
\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.17
\\
\hline
Danish & Erik S\o{}e S\o{}rensen & {\tt erik@mail.nu} & 1.2.7 \\
\hline
...
...
@@ -243,19 +243,19 @@ 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-date
\\
French & Xavier Outhier & {\tt xouthier@yahoo.fr} &
1.2.17
\\
\hline
German & Jens Seidel & {\tt jensseidel@users.sf.net} & 1.2.1
6
\\
German & Jens Seidel & {\tt jensseidel@users.sf.net} & 1.2.1
7
\\
& Jens Breitenstein & {\tt Jens.Breitenstein@tlc.de} & \\
\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-date
\\
Italian & Alessandro Falappa & {\tt alessandro@falappa.net} &
1.2.17
\\
& Ahmed Aldo Faisal & {\tt aaf23@cam.ac.uk} & \\
\hline
Japanese & Ryunosuke Sato & {\tt puyo@mint.freemail.ne.jp} &
up-to-date
\\
Japanese & Ryunosuke Sato & {\tt puyo@mint.freemail.ne.jp} &
1.2.17
\\
& Kenji Nagamatsu & {\tt naga@joyful.club.ne.jp} & \\
\hline
Korean & Richard Kim & {\tt ryk@dspwiz.com} & 1.2.13 \\
...
...
@@ -265,11 +265,11 @@ when the translator was updated.
Polish & Piotr Kaminski & {\tt Piotr.Kaminski@ctm.gdynia.pl} & 1.2.16 \\
& Grzegorz Kowal & {\tt g\_kowal@poczta.onet.pl} & \\
\hline
Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} &
up-to-date
\\
Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} &
1.2.17
\\
\hline
Romanian & Alexandru Iosup & {\tt aiosup@yahoo.com} & 1.2.16 \\
\hline
Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} &
up-to-date
\\
Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} &
1.2.17
\\
\hline
Serbian & Dejan Milosavljevic & {\tt dmilos@email.com} & 1.2.16 \\
\hline
...
...
doc/starting.doc
View file @
adac91e9
...
...
@@ -185,7 +185,7 @@ basically two options:
about structural commands.
</ol>
Files can only be documented using the second option, since there is
no way to
b
ut a documentation block before a file. Of course, file members
no way to
p
ut a documentation block before a file. Of course, file members
(functions, variable, typedefs, defines) do not need an explicit
structural command; just putting a special documentation block in front or
behind them will do.
...
...
src/classdef.cpp
View file @
adac91e9
...
...
@@ -750,7 +750,7 @@ void ClassDef::writeDetailedDescription(OutputList &ol, OutputList &briefOutput,
void
ClassDef
::
writeDocumentation
(
OutputList
&
ol
)
{
// write title
QCString
pageTitle
=
n
ame
().
copy
();
QCString
pageTitle
=
displayN
ame
().
copy
();
QCString
pageType
;
QCString
cType
=
compoundTypeString
();
toupper
(
cType
.
at
(
0
));
...
...
src/commentcnv.l
View file @
adac91e9
...
...
@@ -109,7 +109,7 @@ static int yyread(char *buf,int max_size)
copyToOutput(yytext+i,yyleng-i);
BEGIN(SComment);
}
<Scan>"//"
[\/!].*\n
{ /* one line C++ comment */
<Scan>"//"
.*\n
{ /* one line C++ comment */
copyToOutput(yytext,yyleng);
}
<Scan>"/*" { /* start of a C comment */
...
...
src/config.l
View file @
adac91e9
...
...
@@ -1557,6 +1557,13 @@ void Config::create()
"commands in the documentation.\n",
TRUE
);
cb = addBool(
"GENERATE_DEPRECATEDLIST",
"The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or \n"
"disable (NO) the deprecated list. This list is created by putting "
"\\deprecated commands in the documentation.\n",
TRUE
);
cl = addList(
"ALIASES",
"This tag can be used to specify a number of aliases that acts \n"
...
...
@@ -1732,7 +1739,7 @@ void Config::create()
"FILTER_SOURCE_FILES",
"If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using \n"
"INPUT_FILTER) will be used to filter the input files when producing source \n"
"files to browse. \n",
"files to browse
(i.e. when SOURCE_BROWSER is set to YES)
. \n",
FALSE
);
//-----------------------------------------------------------------------------------------------
...
...
src/definition.cpp
View file @
adac91e9
...
...
@@ -50,6 +50,7 @@ Definition::Definition(const char *df,int dl,
m_todoId
=
0
;
m_testId
=
0
;
m_bugId
=
0
;
m_deprecatedId
=
0
;
m_outerScope
=
Doxygen
::
globalScope
;
m_partOfGroups
=
0
;
m_specialListItems
=
0
;
...
...
src/definition.h
View file @
adac91e9
...
...
@@ -161,9 +161,10 @@ class Definition
SectionDict
*
m_sectionDict
;
// dictionary of all sections
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
int
m_testId
;
// id for test list item
int
m_todoId
;
// id for todo list item
int
m_bugId
;
// id for bug list item
int
m_deprecatedId
;
// id for deprecated list item
int
m_docLine
;
QCString
m_docFile
;
int
m_briefLine
;
...
...
src/doc.l
View file @
adac91e9
...
...
@@ -1692,9 +1692,11 @@ LINKMASK [a-z_A-Z0-9:#.,~&*/\[\]<>()\-\+]+({B}*("const"|"volatile"))?
}
<DocScan>"\\todo "[0-9]+ | /* generated labels */
<DocScan>"\\test "[0-9]+ |
<DocScan>"\\bug "[0-9]+ {
<DocScan>"\\bug "[0-9]+ |
<DocScan>"\\deprecated "[0-9]+ {
writeSpecialItem(yytext);
}
/*
<DocScan>{CMD}"deprecated"{BSEP} {
if (insideItemList)
{
...
...
@@ -1713,7 +1715,8 @@ LINKMASK [a-z_A-Z0-9:#.,~&*/\[\]<>()\-\+]+({B}*("const"|"volatile"))?
{
outDoc->writeDescItem();
}
}
}
*/
<DocScan>"$"[a-zA-Z_0-9]+":"[^\n\$]+"$" { // RCS tag
QCString tagName(&yytext[1]);
int i=tagName.find(':');
...
...
src/dot.cpp
View file @
adac91e9
...
...
@@ -75,7 +75,24 @@ static bool convertMapFile(QTextStream &t,const char *mapName)
//printf("ReadLine `%s'\n",buf);
if
(
strncmp
(
buf
,
"rect"
,
4
)
==
0
)
{
// obtain the url and the coordinates in the order used by graphviz-1.5
sscanf
(
buf
,
"rect %s %d,%d %d,%d"
,
url
,
&
x1
,
&
y2
,
&
x2
,
&
y1
);
// later versions of graphviz corrected the y coordinate order
// the rule is that y2>=y1, so test and switch if needed
if
(
y2
<
y1
)
{
int
temp
=
y2
;
y2
=
y1
;
y1
=
temp
;
}
// there shouldn't be any need for this for known versions of graphviz
// but it can't do any harm to check that x follows the rules as well
if
(
x2
<
x1
)
{
int
temp
=
x2
;
x2
=
x1
;
x1
=
temp
;
}
char
*
refPtr
=
url
;
char
*
urlPtr
=
strchr
(
url
,
'$'
);
//printf("url=`%s'\n",url);
...
...
@@ -230,7 +247,7 @@ class DotNodeList : public QList<DotNode>
/*! helper function that deletes all nodes in a connected graph, given
* one of the graph's nodes
*/
static
void
deleteNodes
(
DotNode
*
node
,
S
Int
Dict
<
DotNode
>
*
skipNodes
=
0
)
static
void
deleteNodes
(
DotNode
*
node
,
SDict
<
DotNode
>
*
skipNodes
=
0
)
{
//printf("deleteNodes skipNodes=%p\n",skipNodes);
static
DotNodeList
deletedNodes
;
...
...
@@ -311,7 +328,7 @@ void DotNode::removeParent(DotNode *n)
if
(
m_parents
)
m_parents
->
remove
(
n
);
}
void
DotNode
::
deleteNode
(
DotNodeList
&
deletedList
,
S
Int
Dict
<
DotNode
>
*
skipNodes
)
void
DotNode
::
deleteNode
(
DotNodeList
&
deletedList
,
SDict
<
DotNode
>
*
skipNodes
)
{
if
(
m_deleted
)
return
;
// avoid recursive loops in case the graph has cycles
m_deleted
=
TRUE
;
...
...
@@ -337,7 +354,7 @@ void DotNode::deleteNode(DotNodeList &deletedList,SIntDict<DotNode> *skipNodes)
}
// add this node to the list of deleted nodes.
//printf("skipNodes=%p find(%p)=%p\n",skipNodes,this,skipNodes ? skipNodes->find((int)this) : 0);
if
(
skipNodes
==
0
||
skipNodes
->
find
((
int
)
this
)
==
0
)
if
(
skipNodes
==
0
||
skipNodes
->
find
((
char
*
)
this
)
==
0
)
{
//printf("deleting\n");
deletedList
.
append
(
this
);
...
...
@@ -933,13 +950,13 @@ DotGfxHierarchyTable::DotGfxHierarchyTable()
DotGfxHierarchyTable
::~
DotGfxHierarchyTable
()
{
//printf("DotGfxHierarchyTable::~DotGfxHierarchyTable\n");
S
Int
Dict
<
DotNode
>
skipNodes
(
17
);
SDict
<
DotNode
>
skipNodes
(
17
);
skipNodes
.
setAutoDelete
(
TRUE
);
DotNode
*
n
=
m_rootNodes
->
first
();
while
(
n
)
{
//printf("adding %s %p\n",n->label().data(),n);
skipNodes
.
append
((
int
)
n
,
n
);
skipNodes
.
append
((
char
*
)
n
,
n
);
n
=
m_rootNodes
->
next
();
}
n
=
m_rootNodes
->
first
();
...
...
src/dot.h
View file @
adac91e9
...
...
@@ -69,7 +69,7 @@ class DotNode
);
void
setDistance
(
int
distance
);
void
addParent
(
DotNode
*
n
);
void
deleteNode
(
DotNodeList
&
deletedList
,
S
Int
Dict
<
DotNode
>
*
skipNodes
=
0
);
void
deleteNode
(
DotNodeList
&
deletedList
,
SDict
<
DotNode
>
*
skipNodes
=
0
);
void
removeChild
(
DotNode
*
n
);
void
removeParent
(
DotNode
*
n
);
void
write
(
QTextStream
&
t
,
GraphOutputFormat
f
,
bool
topDown
,
bool
toChildren
,
...
...
src/doxygen.cpp
View file @
adac91e9
...
...
@@ -2541,6 +2541,107 @@ static QDict<int> *getTemplateArgumentsInName(ArgumentList *templateArguments,co
return
templateNames
;
}
/*! Searches a class from within the context of \a cd and returns its
* definition if found (otherwise 0 is returned).
* This function differs from getResolvedClass in that it also takes
* using declarations and definition into account.
*/
ClassDef
*
findClassWithinClassContext
(
ClassDef
*
cd
,
const
QCString
&
name
)
{
ClassDef
*
result
=
0
;
// try using of namespaces in namespace scope
NamespaceDef
*
nd
=
cd
->
getNamespaceDef
();
FileDef
*
fd
=
cd
->
getFileDef
();
if
(
nd
)
// class is inside a namespace
{
QCString
fName
=
nd
->
name
()
+
"::"
+
name
;
result
=
getResolvedClass
(
cd
,
fName
);
if
(
result
&&
result
!=
cd
)
{
return
result
;
}
NamespaceList
*
nl
=
nd
->
getUsedNamespaces
();
if
(
nl
)
// try to prepend any of the using namespace scopes.
{
NamespaceListIterator
nli
(
*
nl
);
NamespaceDef
*
nd
;
for
(
nli
.
toFirst
()
;
(
nd
=
nli
.
current
())
;
++
nli
)
{
fName
=
nd
->
name
()
+
"::"
+
name
;
result
=
getResolvedClass
(
cd
,
fName
);
if
(
result
&&
result
!=
cd
)
return
result
;
}
}
ClassList
*
cl
=
nd
->
getUsedClasses
();
if
(
cl
)
{
ClassListIterator
cli
(
*
cl
);
ClassDef
*
ucd
;
for
(
cli
.
toFirst
();
(
ucd
=
cli
.
current
())
;
++
cli
)
{
if
(
rightScopeMatch
(
ucd
->
name
(),
name
))
{
return
ucd
;
}
}
}
// TODO: check any inbetween namespaces as well!
if
(
fd
)
// and in the global namespace
{
ClassList
*
cl
=
fd
->
getUsedClasses
();
if
(
cl
)
{
ClassListIterator
cli
(
*
cl
);
ClassDef
*
ucd
;
for
(
cli
.
toFirst
();
(
ucd
=
cli
.
current
());
++
cli
)
{
if
(
rightScopeMatch
(
ucd
->
name
(),
name
))
{
return
ucd
;
}
}
}
}
}
// try using of namespaces in file scope
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
())
;
++
nli
)
{
QCString
fName
=
nd
->
name
()
+
"::"
+
name
;
result
=
getResolvedClass
(
cd
,
fName
);
if
(
result
&&
result
!=
cd
)
{
return
result
;
}
}
}
ClassList
*
cl
=
fd
->
getUsedClasses
();
if
(
cl
)
{
ClassListIterator
cli
(
*
cl
);
ClassDef
*
ucd
;
for
(
cli
.
toFirst
();
(
ucd
=
cli
.
current
())
;
++
cli
)
{
if
(
rightScopeMatch
(
ucd
->
name
(),
name
))
{
return
ucd
;
}
}
}
}
return
getResolvedClass
(
cd
,
name
);
}
enum
FindBaseClassRelation_Mode
{
...
...
@@ -2586,6 +2687,7 @@ static void findUsedClassesForClass(Entry *root,
QCString
usedClassName
;
QCString
templSpec
;
bool
found
=
FALSE
;
// the type can contain template variables, replace them if present
if
(
actualArgs
)
{
type
=
substituteTemplateArgumentsInString
(
type
,
formalArgs
,
actualArgs
);
...
...
@@ -2593,12 +2695,17 @@ static void findUsedClassesForClass(Entry *root,
//printf("findUsedClassesForClass(%s)=%s\n",masterCd->name().data(),type.data());
while
(
!
found
&&
extractClassNameFromType
(
type
,
pos
,
usedClassName
,
templSpec
))
{
// the name could be a type definition, resolve it
// TODO: recursive typedef resolution
QCString
typeName
=
resolveTypeDef
(
masterCd
,
usedClassName
);
// add any template arguments to the class
QCString
usedName
=
usedClassName
+
templSpec
;
if
(
!
typeName
.
isEmpty
())
{
usedName
=
typeName
;
}
//if (!typeName.isEmpty())
//{
// usedName=typeName;
//}
//printf("usedName=`%s'\n",usedName.data());
bool
delTempNames
=
FALSE
;
...
...
@@ -2642,11 +2749,16 @@ static void findUsedClassesForClass(Entry *root,
if
(
!
found
)
{
Definition
*
scope
=
masterCd
->
getOuterScope
();
ClassDef
*
usedCd
=
0
;
#if 0
Definition *scope=masterCd->getOuterScope();
do
{
QCString
scopeName
=
scope
?
scope
->
qualifiedName
().
data
()
:
0
;
// TODO: also consider using declarations and directives
// as done for inheritance relations.
QCString scopeName;
if (scope) scopeName=scope->qualifiedName();
if (!scopeName.isEmpty())
{
usedCd=getResolvedClass(masterCd,scopeName+"::"+usedName,0,&templSpec);
...
...
@@ -2661,8 +2773,10 @@ static void findUsedClassesForClass(Entry *root,
}
if (scope) scope=scope->getOuterScope();
} while (scope && usedCd==0);
#endif
usedCd
=
findClassWithinClassContext
(
masterCd
,
usedName
);
if
(
usedCd
)
if
(
usedCd
&&
usedCd
!=
masterCd
)
{
found
=
TRUE
;
Debug
::
print
(
Debug
::
Classes
,
0
,
" Adding used class `%s'
\n
"
,
usedCd
->
name
().
data
());
...
...
@@ -2944,7 +3058,6 @@ static bool findClassRelation(
//printf("cd=%p baseClass=%p\n",cd,baseClass);
bool
found
=
baseClass
!=
0
&&
(
baseClass
!=
cd
||
mode
==
TemplateInstances
);
NamespaceDef
*
nd
=
cd
->
getNamespaceDef
();
if
(
!
found
&&
(
i
=
baseClassName
.
findRev
(
"::"
))
!=-
1
)
{
// replace any namespace aliases
...
...
@@ -2953,9 +3066,19 @@ static bool findClassRelation(
found
=
baseClass
!=
0
&&
baseClass
!=
cd
;
}
FileDef
*
fd
=
cd
->
getFileDef
();
//printf("root->name=%s biName=%s baseClassName=%s\n",
// root->name.data(),biName.data(),baseClassName.data());
//FileDef *fd=cd->getFileDef();
//NamespaceDef *nd=cd->getNamespaceDef();
if
(
!
found
)
{
baseClass
=
findClassWithinClassContext
(
cd
,
baseClassName
);
//printf("findClassWithinClassContext(%s,%s)=%p\n",
// 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
...
...
@@ -2968,7 +3091,8 @@ static bool findClassRelation(
for (nli.toFirst() ; (nd=nli.current()) && !found ; ++nli)
{
QCString fName = nd->name()+"::"+baseClassName;
found
=
(
baseClass
=
getResolvedClass
(
cd
,
fName
))
!=
0
&&
baseClass
!=
cd
&&
found = (baseClass=getResolvedClass(cd,fName))!=0 &&
baseClass!=cd &&
root->name!=fName;
}
}
...
...
@@ -3002,7 +3126,8 @@ static bool findClassRelation(
for (nli.toFirst() ; (nd=nli.current()) && !found ; ++nli)
{
fName = nd->name()+"::"+baseClassName;
found
=
(
baseClass
=
getResolvedClass
(
cd
,
fName
))
!=
0
&&
baseClass
!=
cd
&&
found = (baseClass=getResolvedClass(cd,fName))!=0 &&
baseClass!=cd &&
root->name!=fName;
}
}
...
...
@@ -3042,6 +3167,7 @@ static bool findClassRelation(
}
}
}
#endif
}
bool
isATemplateArgument
=
templateNames
!=
0
&&
templateNames
->
find
(
biName
)
!=
0
;
if
(
found
)
...
...
@@ -5808,11 +5934,11 @@ static void resolveUserReferences()
si
->
fileName
=
si
->
definition
->
getOutputFileBase
().
copy
();
}
}
// hack: the items of a todo/test/bug list are all fragments from
// hack: the items of a todo/test/bug
/deprecated
list are all fragments from
// different files, so the resulting section's all have the wrong file
// name (not from the todo/test/bug
list, but from the file in which they
//
are defined). We correct this here by looking at the generated section
// labels!
// 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
::
specialLists
);
RefList
*
rl
;
for
(
rli
.
toFirst
();(
rl
=
rli
.
current
());
++
rli
)
...
...
@@ -7038,6 +7164,15 @@ void readConfiguration(int argc, char **argv)
BaseOutputDocInterface
::
Bug
)
);
Doxygen
::
specialLists
->
insert
(
"deprecated"
,
new
RefList
(
"deprecated"
,
"GENERATE_DEPRECATEDLIST"
,
theTranslator
->
trDeprecatedList
(),
theTranslator
->
trDeprecated
(),
BaseOutputDocInterface
::
Deprecated
)
);
}
void
parseInput
()
...
...
src/doxygen.h
View file @
adac91e9
...
...
@@ -93,7 +93,7 @@ class Doxygen
static
QIntDict
<
QCString
>
memberDocDict
;
// dictionary of the member groups heading
static
QDict
<
void
>
expandAsDefinedDict
;
static
NamespaceDef
*
globalScope
;
static
QDict
<
RefList
>
*
specialLists
;
// array of special lists: todo, test, bug ...
static
QDict
<
RefList
>
*
specialLists
;
// array of special lists: todo, test, bug
, deprecated
...
};
void
initDoxygen
();
...
...
src/entry.h
View file @
adac91e9
...
...
@@ -283,10 +283,7 @@ class Entry
QList
<
QCString
>
*
anchors
;
//!< list of anchors defined in this entry
QCString
fileName
;
//!< file this entry was extracted from
int
startLine
;
//!< start line of entry in the source
//int todoId; //!< id of the todo list item of this entry
//int testId; //!< id of the test list item of this entry
//int bugId; //!< id of the bug list item of this entry
QList
<
ListItemInfo
>
*
sli
;
//!< special lists (test/todo/bug/..) this entry is in
QList
<
ListItemInfo
>
*
sli
;
//!< special lists (test/todo/bug/deprecated/..) this entry is in
TagInfo
*
tagInfo
;
//!< tag file info
static
int
num
;
//!< counts the total number of entries
enum
...
...
src/index.cpp
View file @
adac91e9
...
...
@@ -1382,17 +1382,9 @@ void writeAlphabeticalClassList(OutputList &ol)
}
else
if
(
cd
)
// a real class, insert a link
{
QCString
cname
;
QCString
namesp
;
if
(
cd
->
getNamespaceDef
())
namesp
=
cd
->
getNamespaceDef
()
->
name
();
if
(
Config_getBool
(
"HIDE_SCOPE_NAMES"
))
{
cname
=
cd
->
displayName
();
}
else
{
cname
=
cd
->
className
();
}
if
(
cd
->
getNamespaceDef
())
namesp
=
cd
->
getNamespaceDef
()
->
displayName
();
QCString
cname
=
cd
->
displayName
();
ol
.
writeObjectLink
(
cd
->
getReference
(),
cd
->
getOutputFileBase
(),
0
,
cname
);
...
...
src/membergroup.cpp
View file @
adac91e9
...
...
@@ -37,6 +37,7 @@
MemberGroup
::
MemberGroup
(
int
id
,
const
char
*
hdr
,
const
char
*
d
)
/* : Definition(idToName(id)) */
{
//printf("New member group id=%d header=%s desc=%s\n",id,hdr,d);
memberList
=
new
MemberList
;
grpId
=
id
;
grpHeader
=
hdr
;
...
...
src/namespacedef.cpp
View file @
adac91e9
...
...
@@ -220,7 +220,7 @@ void NamespaceDef::writeDetailedDocumentation(OutputList &ol)
void
NamespaceDef
::
writeDocumentation
(
OutputList
&
ol
)
{
QCString
pageTitle
=
n
ame
()
+
" Namespace Reference"
;
QCString
pageTitle
=
displayN
ame
()
+
" Namespace Reference"
;
startFile
(
ol
,
getOutputFileBase
(),
name
(),
pageTitle
);
startTitle
(
ol
,
getOutputFileBase
());
//ol.docify(pageTitle);
...
...
src/reflist.cpp
View file @
adac91e9
...
...
@@ -18,15 +18,6 @@
#include "reflist.h"
#if 0
/*! The one and only todo list */
RefList todoList;
/*! The test criteria list */
RefList testList;
/*! The bug list */
RefList bugList;
#endif
/*! 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.
...
...
src/scanner.l
View file @
adac91e9
...
...
@@ -88,10 +88,6 @@ static int squareCount = 0 ;
static int padCount = 0 ;
static int slStartContext = 0;
static QCString slString;
//static int testStartContext = 0;
//static QCString testString;
//static int bugStartContext = 0;
//static QCString bugString;
static Entry* current_root = 0 ;
static Entry* global_root = 0 ;
static Entry* current = 0 ;
...
...
@@ -616,6 +612,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
%x TodoParam
%x TestParam
%x BugParam
%x DeprecatedParam
%x SectionLabel
%x SectionTitle
%x SkipTemplate
...
...
@@ -1499,6 +1496,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
warn(yyFileName,yyLineNr,
"Warning: end of group without matching begin.");
}
//printf("end of member group marker ends group %d\n",memberGroupId);
endGroup();
memberGroupHeader.resize(0);
}
...
...
@@ -3214,10 +3212,10 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
}
<SkipHtmlComment>"--"[!]?">" { BEGIN(lastSkipHtmlCommentContext); }
<SkipHtmlComment>.
<AfterDoc,Doc,ClassDoc,PageDoc>("\\\\"|"@@")("todo"|"test"|"bug")/[^a-z_A-Z0-9] {
<AfterDoc,Doc,ClassDoc,PageDoc>("\\\\"|"@@")("todo"|"test"|"bug"
|"deprecated"
)/[^a-z_A-Z0-9] {
current->doc+=yytext;
}
<AfterDocLine,LineDoc,JavaDoc>("\\\\"|"@@")("todo"|"test"|"bug")/[^a-z_A-Z0-9] {
<AfterDocLine,LineDoc,JavaDoc>("\\\\"|"@@")("todo"|"test"|"bug"
|"deprecated"
)/[^a-z_A-Z0-9] {
current->brief+=yytext;
}
<AfterDoc,AfterDocLine,LineDoc,Doc,JavaDoc,ClassDoc,PageDoc>{CMD}"todo"/[^a-z_A-Z0-9] {
...
...
@@ -3241,6 +3239,13 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
current->brief.resize(0);
BEGIN(ClassDocBrief);
}
<AfterDoc,AfterDocLine,LineDoc,Doc,JavaDoc,ClassDoc,PageDoc>{CMD}"deprecated"/[^a-z_A-Z0-9] {
slStartContext = YY_START;
lastBriefContext = DeprecatedParam; // this is where we will continue at the end of the argument
slString = current->brief.copy(); // these will be swapped later on.
current->brief.resize(0);
BEGIN(ClassDocBrief);
}
<TodoParam>\n |
<TodoParam>"//" |
<TodoParam>"/*" |
...
...
@@ -3265,6 +3270,14 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
int i;for (i=yyleng-1;i>=0;i--) unput(yytext[i]);
BEGIN(slStartContext);
}
<DeprecatedParam>\n |
<DeprecatedParam>"//" |
<DeprecatedParam>"/*" |
<DeprecatedParam>. {
addSpecialItem("deprecated");
int i;for (i=yyleng-1;i>=0;i--) unput(yytext[i]);
BEGIN(slStartContext);
}
<ExampleDocArg1>{FILE} {
current->name = stripQuotes(yytext);
BEGIN( ExampleDoc );
...
...
@@ -3457,6 +3470,9 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
memberGroupDocs+="\n\n";
}
memberGroupDocs+=current->doc;
Doxygen::memberDocDict.insert(memberGroupId,
new QCString(memberGroupDocs)
);
current->doc.resize(0);
current->brief.resize(0);
BEGIN(lastDocContext);
...
...
@@ -3618,6 +3634,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
warn(yyFileName,yyLineNr,
"Warning: end of group without matching begin.");
}
//printf("end of member group marker ends group %d\n",memberGroupId);
endGroup();
memberGroupHeader.resize(0);
}
...
...
@@ -4295,12 +4312,13 @@ static void startGroup()
}
else
{
if (memberGroupId!=NOGROUP)
{
//warn(yyFileName,yyLineNr,"Warning: ignoring nested member group. "
// "Previous command was found at line %d.",lastMemberGroupLine);
endGroup();
}
//if (memberGroupId!=NOGROUP)
//{
// //warn(yyFileName,yyLineNr,"Warning: ignoring nested member group. "
// // "Previous command was found at line %d.",lastMemberGroupLine);
// printf("startGroup ends group %d\n",memberGroupId);
// endGroup();
//}
if (memberGroupHeader.isEmpty())
{
// warn( yyFileName, yyLineNr, "Warning: member group does not have a header" );
...
...
@@ -4327,10 +4345,11 @@ static void startGroupInDoc()
}
else if (current->section == Entry::MEMBERGRP_SEC) /* scope for a member group: @name */
{
if (memberGroupId!=NOGROUP)
{
endGroup();
}
//if (memberGroupId!=NOGROUP)
//{
// printf("startGroupInDoc ends group %d\n",memberGroupId);
// endGroup();
//}
memberGroupId = newMemberGroupId();
Doxygen::memberHeaderDict.insert(memberGroupId,
new QCString(memberGroupHeader.stripWhiteSpace())
...
...
@@ -4378,7 +4397,11 @@ static void endGroup()
static void forceEndGroup()
{
while (memberGroupId!=NOGROUP || !autoGroupStack.isEmpty()) endGroup();
while (memberGroupId!=NOGROUP || !autoGroupStack.isEmpty())
{
//printf("forceEndGroup ends group %d\n",memberGroupId);
endGroup();
}
}
//----------------------------------------------------------------------------
...
...
src/translator.h
View file @
adac91e9
...
...
@@ -376,6 +376,12 @@ class Translator
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trRTFTableOfContents
()
=
0
;
//////////////////////////////////////////////////////////////////////////
// new since 1.2.17
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trDeprecatedList
()
=
0
;
};
...
...
src/translator_adapter.h
View file @
adac91e9
...
...
@@ -40,7 +40,17 @@ class TranslatorAdapterBase : public Translator
};
class
TranslatorAdapter_1_2_16
:
public
TranslatorAdapterBase
class
TranslatorAdapter_1_2_17
:
public
TranslatorAdapterBase
{
public
:
virtual
QCString
updateNeededMessage
()
{
return
createUpdateNeededMessage
(
idLanguage
(),
"release 1.2.17"
);
}
virtual
QCString
trDeprecatedList
()
{
return
english
.
trDeprecatedList
();
}
};
class
TranslatorAdapter_1_2_16
:
public
TranslatorAdapter_1_2_17
{
public
:
virtual
QCString
updateNeededMessage
()
...
...
src/translator_br.h
View file @
adac91e9
...
...
@@ -25,7 +25,7 @@
#ifndef TRANSLATOR_BR_H
#define TRANSLATOR_BR_H
class
TranslatorBrazilian
:
public
Translator
class
TranslatorBrazilian
:
public
Translator
Adapter_1_2_17
{
public
:
...
...
src/translator_cz.h
View file @
adac91e9
...
...
@@ -160,7 +160,7 @@
// probably slightly faster.
class
TranslatorCzech
:
public
Translator
class
TranslatorCzech
:
public
Translator
Adapter_1_2_17
{
private
:
/*! The decode() inline assumes the source written in the
...
...
src/translator_de.h
View file @
adac91e9
...
...
@@ -71,7 +71,7 @@
#ifndef TRANSLATOR_DE_H
#define TRANSLATOR_DE_H
class
TranslatorGerman
:
public
TranslatorAdapter_1_2_1
6
class
TranslatorGerman
:
public
TranslatorAdapter_1_2_1
7
{
public
:
...
...
src/translator_en.h
View file @
adac91e9
...
...
@@ -1404,6 +1404,17 @@ class TranslatorEnglish : public Translator
return
"Table of Contents"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.17
//////////////////////////////////////////////////////////////////////////
/*! Used as the header of the list of item that have been
* flagged deprecated
*/
virtual
QCString
trDeprecatedList
()
{
return
"Deprecated List"
;
}
};
#endif
src/translator_fr.h
View file @
adac91e9
...
...
@@ -41,7 +41,7 @@
#ifndef TRANSLATOR_FR_H
#define TRANSLATOR_FR_H
class
TranslatorFrench
:
public
Translator
class
TranslatorFrench
:
public
Translator
Adapter_1_2_17
{
public
:
QCString
idLanguage
()
...
...
src/translator_hr.h
View file @
adac91e9
...
...
@@ -50,7 +50,7 @@
#ifndef TRANSLATOR_HR_H
#define TRANSLATOR_HR_H
class
TranslatorCroatian
:
public
Translator
class
TranslatorCroatian
:
public
Translator
Adapter_1_2_17
{
private
:
/*! to avoid macro redefinition from translator_cz.h */
...
...
src/translator_it.h
View file @
adac91e9
...
...
@@ -65,7 +65,7 @@
#ifndef TRANSLATOR_IT_H
#define TRANSLATOR_IT_H
class
TranslatorItalian
:
public
Translator
class
TranslatorItalian
:
public
Translator
Adapter_1_2_17
{
public
:
...
...
src/translator_jp.h
View file @
adac91e9
...
...
@@ -61,7 +61,7 @@ class TranslatorJapaneseEn : public TranslatorEnglish
}
};
class
TranslatorJapanese
:
public
Translator
class
TranslatorJapanese
:
public
Translator
Adapter_1_2_17
{
private
:
/*! The decode() can change euc into sjis */
...
...
src/translator_nl.h
View file @
adac91e9
...
...
@@ -1002,6 +1002,17 @@ class TranslatorDutch : public Translator
virtual
QCString
trRTFTableOfContents
()
{
return
"Inhoudsopgave"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.17
//////////////////////////////////////////////////////////////////////////
/*! Used as the header of the list of item that have been
* flagged deprecated
*/
virtual
QCString
trDeprecatedList
()
{
return
"Deprecated Lijst"
;
}
};
#endif
src/translator_pt.h
View file @
adac91e9
...
...
@@ -36,7 +36,7 @@
#ifndef TRANSLATOR_PT_H
#define TRANSLATOR_PT_H
class
TranslatorPortuguese
:
public
Translator
class
TranslatorPortuguese
:
public
Translator
Adapter_1_2_17
{
public
:
...
...
src/translator_ru.h
View file @
adac91e9
...
...
@@ -50,7 +50,7 @@
#ifndef TRANSLATOR_RU_H
#define TRANSLATOR_RU_H
class
TranslatorRussian
:
public
Translator
class
TranslatorRussian
:
public
Translator
Adapter_1_2_17
{
private
:
/*! The Decode() inline assumes the source written in the
...
...
src/util.cpp
View file @
adac91e9
...
...
@@ -3148,7 +3148,7 @@ bool extractClassNameFromType(const QCString &type,int &pos,QCString &name,QCStr
/*! Substitutes any occurrence of a formal argument from argument list
* \a formalArgs in \a name by the corresponding actual argument in
* argument list \a actualArgs. The result after substitution
* is returned as a string. The argument \a
classN
ame is used to
* is returned as a string. The argument \a
n
ame is used to
* prevent recursive substitution.
*/
QCString
substituteTemplateArgumentsInString
(
...
...
@@ -3189,7 +3189,9 @@ QCString substituteTemplateArgumentsInString(
result
+=
actArg
->
type
;
found
=
TRUE
;
}
else
if
(
formArg
->
name
==
n
&&
actArg
==
0
&&
!
formArg
->
defval
.
isEmpty
())
else
if
(
formArg
->
name
==
n
&&
actArg
==
0
&&
!
formArg
->
defval
.
isEmpty
()
&&
formArg
->
defval
!=
name
/* to prevent recursion */
)
{
result
+=
substituteTemplateArgumentsInString
(
formArg
->
defval
,
formalArgs
,
actualArgs
);
found
=
TRUE
;
...
...
src/xmlgen.cpp
View file @
adac91e9
...
...
@@ -667,7 +667,7 @@ class XMLGenerator : public OutputDocInterface
// we need manually add a para here because cells are
// parsed before the table is generated, and thus
// are already parsed as if they are inside a paragraph.
//
m_t << "<para>";
m_t
<<
"<para>"
;
}
void
endTableRow
()
{
...
...
@@ -1521,7 +1521,7 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
{
t
<<
" id=
\"
"
<<
ii
->
fileDef
->
getOutputFileBase
()
<<
"
\"
"
;
}
t
<<
" local=
\"
"
<<
(
ii
->
local
?
"yes"
:
"no"
)
<<
"
\"
"
;
t
<<
" local=
\"
"
<<
(
ii
->
local
?
"yes"
:
"no"
)
<<
"
\"
>
"
;
t
<<
nm
;
t
<<
"</includes>"
<<
endl
;
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment