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
f57b7d97
Commit
f57b7d97
authored
Sep 25, 2007
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.5.3-20070925
parent
8e4a092e
Changes
33
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
651 additions
and
553 deletions
+651
-553
INSTALL
INSTALL
+2
-2
README
README
+2
-2
configure
configure
+1
-1
commands.doc
doc/commands.doc
+3
-3
config.doc
doc/config.doc
+9
-0
language.doc
doc/language.doc
+1
-1
maintainers.txt
doc/maintainers.txt
+1
-0
translator_report.txt
doc/translator_report.txt
+2
-8
code.l
src/code.l
+9
-5
config.l
src/config.l
+7
-0
docparser.cpp
src/docparser.cpp
+8
-7
docparser.h
src/docparser.h
+4
-2
doctokenizer.l
src/doctokenizer.l
+1
-1
dot.cpp
src/dot.cpp
+18
-4
dot.h
src/dot.h
+1
-1
doxygen.cpp
src/doxygen.cpp
+3
-2
fortrancode.l
src/fortrancode.l
+3
-3
ftvhelp.cpp
src/ftvhelp.cpp
+1
-1
htmldocvisitor.cpp
src/htmldocvisitor.cpp
+21
-10
htmldocvisitor.h
src/htmldocvisitor.h
+2
-2
latexgen.cpp
src/latexgen.cpp
+60
-56
latexgen.h
src/latexgen.h
+2
-0
memberdef.cpp
src/memberdef.cpp
+5
-3
msc.cpp
src/msc.cpp
+5
-4
msc.h
src/msc.h
+1
-1
scanner.l
src/scanner.l
+3
-0
translator_br.h
src/translator_br.h
+16
-27
translator_cn.h
src/translator_cn.h
+4
-4
translator_kr.h
src/translator_kr.h
+407
-369
util.cpp
src/util.cpp
+16
-6
xmldocvisitor.cpp
src/xmldocvisitor.cpp
+1
-1
xmlgen.cpp
src/xmlgen.cpp
+28
-23
Doxywizard.vcproj
winbuild/Doxywizard.vcproj
+4
-4
No files found.
INSTALL
View file @
f57b7d97
DOXYGEN Version 1.5.3-200709
02
DOXYGEN Version 1.5.3-200709
25
Please read the installation section of the manual
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
(http://www.doxygen.org/install.html) for instructions.
--------
--------
Dimitri van Heesch (
02
September 2007)
Dimitri van Heesch (
25
September 2007)
README
View file @
f57b7d97
DOXYGEN Version 1.5.3_200709
02
DOXYGEN Version 1.5.3_200709
25
Please read INSTALL for compilation instructions.
Please read INSTALL for compilation instructions.
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (
02
September 2007)
Dimitri van Heesch (dimitri@stack.nl) (
25
September 2007)
configure
View file @
f57b7d97
...
@@ -20,7 +20,7 @@ doxygen_version_minor=5
...
@@ -20,7 +20,7 @@ doxygen_version_minor=5
doxygen_version_revision
=
3
doxygen_version_revision
=
3
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn
=
200709
02
doxygen_version_mmn
=
200709
25
bin_dirs
=
`
echo
$PATH
|
sed
-e
"s/:/ /g"
`
bin_dirs
=
`
echo
$PATH
|
sed
-e
"s/:/ /g"
`
...
...
doc/commands.doc
View file @
f57b7d97
...
@@ -732,9 +732,9 @@ See section \ref memgroup for an example.
...
@@ -732,9 +732,9 @@ See section \ref memgroup for an example.
The paragraph will be indented.
The paragraph will be indented.
The text of the paragraph has no special internal structure. All visual
The text of the paragraph has no special internal structure. All visual
enhancement commands may be used inside the paragraph.
enhancement commands may be used inside the paragraph.
Multiple adjacent \\author commands will be joined into a single paragraph
Multiple adjacent \\author commands will be joined into a single paragraph
.
and separated by commas. Alternatively, one \\author command may mention
Each author description will start a new line. Alternatively, one \\author command
several authors. The \\author command ends when a blank line or some other
may mention
several authors. The \\author command ends when a blank line or some other
sectioning command is encountered.
sectioning command is encountered.
\par Example:
\par Example:
...
...
doc/config.doc
View file @
f57b7d97
...
@@ -200,6 +200,7 @@ followed by the descriptions of the tags grouped by category.
...
@@ -200,6 +200,7 @@ followed by the descriptions of the tags grouped by category.
\
refitem
cfg_show_dirs
SHOW_DIRECTORIES
\
refitem
cfg_show_dirs
SHOW_DIRECTORIES
\
refitem
cfg_show_include_files
SHOW_INCLUDE_FILES
\
refitem
cfg_show_include_files
SHOW_INCLUDE_FILES
\
refitem
cfg_show_used_files
SHOW_USED_FILES
\
refitem
cfg_show_used_files
SHOW_USED_FILES
\
refitem
cfg_sip_support
SIP_SUPPORT
\
refitem
cfg_skip_function_macros
SKIP_FUNCTION_MACROS
\
refitem
cfg_skip_function_macros
SKIP_FUNCTION_MACROS
\
refitem
cfg_sort_brief_docs
SORT_BRIEF_DOCS
\
refitem
cfg_sort_brief_docs
SORT_BRIEF_DOCS
\
refitem
cfg_sort_member_docs
SORT_MEMBER_DOCS
\
refitem
cfg_sort_member_docs
SORT_MEMBER_DOCS
...
@@ -424,6 +425,14 @@ followed by the descriptions of the tags grouped by category.
...
@@ -424,6 +425,14 @@ followed by the descriptions of the tags grouped by category.
If you use Microsoft'
s
C
++/
CLI
language
,
you
should
set
this
option
to
YES
to
If you use Microsoft'
s
C
++/
CLI
language
,
you
should
set
this
option
to
YES
to
enable
parsing
support
.
enable
parsing
support
.
\
anchor
cfg_sip_support
<
dt
>\
c
SIP_SUPPORT
<
dd
>
\
addindex
OPTIMIZE_OUTPUT_SIP
Set
the
SIP_SUPPORT
tag
to
YES
if
your
project
consists
of
<
a
href
=
"http://www.riverbankcomputing.co.uk/sip/"
>
sip
</
a
>
sources
only
.
Doxygen
will
parse
them
like
normal
C
++
but
will
assume
all
classes
use
public
instead
of
private
inheritance
when
no
explicit
protection
keyword
is
present
.
\
anchor
cfg_distribute_group_doc
\
anchor
cfg_distribute_group_doc
<
dt
>\
c
DISTRIBUTE_GROUP_DOC
<
dd
>
<
dt
>\
c
DISTRIBUTE_GROUP_DOC
<
dd
>
\
addindex
DISTRIBUTE_GROUP_DOC
\
addindex
DISTRIBUTE_GROUP_DOC
...
...
doc/language.doc
View file @
f57b7d97
...
@@ -23,7 +23,7 @@ text fragments, generated by doxygen, can be produced in languages other
...
@@ -23,7 +23,7 @@ text fragments, generated by doxygen, can be produced in languages other
than English (the default). The output language is chosen through the
than English (the default). The output language is chosen through the
configuration file (with default name and known as Doxyfile).
configuration file (with default name and known as Doxyfile).
Currently (version 1.5.
2
), 33 languages
Currently (version 1.5.
3
), 33 languages
are supported (sorted alphabetically):
are supported (sorted alphabetically):
Afrikaans, Arabic, Brazilian Portuguese, Catalan, Chinese, Chinese
Afrikaans, Arabic, Brazilian Portuguese, Catalan, Chinese, Chinese
Traditional, Croatian, Czech, Danish, Dutch, English, Finnish, French,
Traditional, Croatian, Czech, Danish, Dutch, English, Finnish, French,
...
...
doc/maintainers.txt
View file @
f57b7d97
...
@@ -74,6 +74,7 @@ Kenji Nagamatsu: naga@joyful.club.ne.jp
...
@@ -74,6 +74,7 @@ Kenji Nagamatsu: naga@joyful.club.ne.jp
Iwasa Kazmi: iwasa@cosmo-system.jp
Iwasa Kazmi: iwasa@cosmo-system.jp
TranslatorKorean
TranslatorKorean
Kim Taedong: fly1004@gmail.com
SooYoung Jung: jung5000@gmail.com
SooYoung Jung: jung5000@gmail.com
Richard Kim: ryk@dspwiz.com
Richard Kim: ryk@dspwiz.com
...
...
doc/translator_report.txt
View file @
f57b7d97
(1.5.
2
)
(1.5.
3
)
Doxygen supports the following 33 languages (sorted alphabetically):
Doxygen supports the following 33 languages (sorted alphabetically):
...
@@ -19,7 +19,7 @@ still may be some details listed even for them:
...
@@ -19,7 +19,7 @@ still may be some details listed even for them:
TranslatorBrazilian -- The "translate me!" found in a comment.
TranslatorBrazilian -- The "translate me!" found in a comment.
TranslatorCatalan
TranslatorCatalan
TranslatorChinese
-- The "translate me!" found in a comment.
TranslatorChinese
TranslatorCroatian -- The "translate me!" found in a comment.
TranslatorCroatian -- The "translate me!" found in a comment.
TranslatorCzech
TranslatorCzech
TranslatorDanish -- The "translate me!" found in a comment.
TranslatorDanish -- The "translate me!" found in a comment.
...
@@ -111,12 +111,6 @@ TranslatorBrazilian (Translator)
...
@@ -111,12 +111,6 @@ TranslatorBrazilian (Translator)
Implements 194 of the required methods.
Implements 194 of the required methods.
TranslatorChinese (Translator)
-----------------
Implements 194 of the required methods.
TranslatorChinesetraditional (TranslatorAdapter_1_4_6) 1 method to implement
TranslatorChinesetraditional (TranslatorAdapter_1_4_6) 1 method to implement
----------------------------
----------------------------
...
...
src/code.l
View file @
f57b7d97
...
@@ -78,6 +78,7 @@ static QStack<int> g_scopeStack; //!< 1 if bracket starts a scope,
...
@@ -78,6 +78,7 @@ static QStack<int> g_scopeStack; //!< 1 if bracket starts a scope,
// 2 for internal blocks
// 2 for internal blocks
static int g_anchorCount;
static int g_anchorCount;
static FileDef * g_sourceFileDef;
static FileDef * g_sourceFileDef;
static bool g_lineNumbers;
static Definition * g_currentDefinition;
static Definition * g_currentDefinition;
static MemberDef * g_currentMemberDef;
static MemberDef * g_currentMemberDef;
static bool g_includeCodeFragment;
static bool g_includeCodeFragment;
...
@@ -449,14 +450,13 @@ static void setClassScope(const QCString &name)
...
@@ -449,14 +450,13 @@ static void setClassScope(const QCString &name)
static void startCodeLine()
static void startCodeLine()
{
{
//if (g_currentFontClass) { g_code->endFontClass(); }
//if (g_currentFontClass) { g_code->endFontClass(); }
if (g_sourceFileDef)
if (g_sourceFileDef
&& g_lineNumbers
)
{
{
//QCString lineNumber,lineAnchor;
//QCString lineNumber,lineAnchor;
//lineNumber.sprintf("%05d",g_yyLineNr);
//lineNumber.sprintf("%05d",g_yyLineNr);
//lineAnchor.sprintf("l%05d",g_yyLineNr);
//lineAnchor.sprintf("l%05d",g_yyLineNr);
Definition *d = g_sourceFileDef->getSourceDefinition(g_yyLineNr);
Definition *d = g_sourceFileDef->getSourceDefinition(g_yyLineNr);
//printf("startCodeLine %d d=%s\n", g_yyLineNr,d ? d->name().data() : "<null>");
if (!g_includeCodeFragment && d)
if (!g_includeCodeFragment && d)
{
{
g_currentDefinition = d;
g_currentDefinition = d;
...
@@ -1120,7 +1120,7 @@ static void generateMemberLink(CodeOutputInterface &ol,const QCString &varName,
...
@@ -1120,7 +1120,7 @@ static void generateMemberLink(CodeOutputInterface &ol,const QCString &varName,
int vi;
int vi;
QCString vn=varName;
QCString vn=varName;
QCString scope;
QCString scope;
if ((vi=vn.findRev("::"))!=-1
)
// explicit scope A::b(), probably static member
if ((vi=vn.findRev("::"))!=-1
|| (vi=vn.findRev('.'))!=-1)
// explicit scope A::b(), probably static member
{
{
ClassDef *jcd = getClass(vn.left(vi));
ClassDef *jcd = getClass(vn.left(vi));
vn=vn.right(vn.length()-vi-2);
vn=vn.right(vn.length()-vi-2);
...
@@ -1182,11 +1182,13 @@ static void generateFunctionLink(CodeOutputInterface &ol,char *funcName)
...
@@ -1182,11 +1182,13 @@ static void generateFunctionLink(CodeOutputInterface &ol,char *funcName)
QCString locScope=g_classScope.copy();
QCString locScope=g_classScope.copy();
QCString locFunc=removeRedundantWhiteSpace(funcName);
QCString locFunc=removeRedundantWhiteSpace(funcName);
//fprintf(stdout,"*** locScope=%s locFunc=%s\n",locScope.data(),locFunc.data());
//fprintf(stdout,"*** locScope=%s locFunc=%s\n",locScope.data(),locFunc.data());
int len=2;
int i=locFunc.findRev("::");
int i=locFunc.findRev("::");
if (i==-1) i=locFunc.findRev("."),len=1;
if (i>0)
if (i>0)
{
{
locScope=locFunc.left(i);
locScope=locFunc.left(i);
locFunc=locFunc.right(locFunc.length()-i-
2
).stripWhiteSpace();
locFunc=locFunc.right(locFunc.length()-i-
len
).stripWhiteSpace();
int ts=locScope.find('<'); // start of template
int ts=locScope.find('<'); // start of template
int te=locScope.findRev('>'); // end of template
int te=locScope.findRev('>'); // end of template
//printf("ts=%d te=%d\n",ts,te);
//printf("ts=%d te=%d\n",ts,te);
...
@@ -3285,6 +3287,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s,
...
@@ -3285,6 +3287,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s,
g_exampleBlock = exBlock;
g_exampleBlock = exBlock;
g_exampleName = exName;
g_exampleName = exName;
g_sourceFileDef = fd;
g_sourceFileDef = fd;
g_lineNumbers = fd!=0;
if (exBlock && fd==0)
if (exBlock && fd==0)
{
{
// create a dummy filedef for the example
// create a dummy filedef for the example
...
@@ -3306,6 +3309,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s,
...
@@ -3306,6 +3309,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s,
g_exampleFile = convertNameToFile(g_exampleName+"-example");
g_exampleFile = convertNameToFile(g_exampleName+"-example");
}
}
g_includeCodeFragment = inlineFragment;
g_includeCodeFragment = inlineFragment;
//printf("** exBlock=%d exName=%s include=%d\n",exBlock,exName,inlineFragment);
startCodeLine();
startCodeLine();
g_type.resize(0);
g_type.resize(0);
g_name.resize(0);
g_name.resize(0);
...
@@ -3322,7 +3326,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s,
...
@@ -3322,7 +3326,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s,
endFontClass();
endFontClass();
g_code->endCodeLine();
g_code->endCodeLine();
}
}
if (exBlock &&
g_sourceFileDef
)
if (exBlock &&
fd==0
)
{
{
// delete the temporary file definition used for this example
// delete the temporary file definition used for this example
delete g_sourceFileDef;
delete g_sourceFileDef;
...
...
src/config.l
View file @
f57b7d97
...
@@ -1668,6 +1668,13 @@ void Config::create()
...
@@ -1668,6 +1668,13 @@ void Config::create()
"enable parsing support.\n",
"enable parsing support.\n",
FALSE
FALSE
);
);
cb = addBool(
"SIP_SUPPORT",
"Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. \n"
"Doxygen will parse them like normal C++ but will assume all classes use public \n"
"instead of private inheritance when no explicit protection keyword is present. \n",
FALSE
);
cb = addBool(
cb = addBool(
"DISTRIBUTE_GROUP_DOC",
"DISTRIBUTE_GROUP_DOC",
"If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC \n"
"If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC \n"
...
...
src/docparser.cpp
View file @
f57b7d97
...
@@ -1387,6 +1387,7 @@ DocSymbol::SymType DocSymbol::decodeSymbol(const QString &symName,char *letter)
...
@@ -1387,6 +1387,7 @@ DocSymbol::SymType DocSymbol::decodeSymbol(const QString &symName,char *letter)
DBG
((
"decodeSymbol(%s) l=%d
\n
"
,
symName
.
data
(),
l
));
DBG
((
"decodeSymbol(%s) l=%d
\n
"
,
symName
.
data
(),
l
));
if
(
symName
==
"©"
)
return
DocSymbol
::
Copy
;
if
(
symName
==
"©"
)
return
DocSymbol
::
Copy
;
else
if
(
symName
==
"™"
)
return
DocSymbol
::
Tm
;
else
if
(
symName
==
"™"
)
return
DocSymbol
::
Tm
;
else
if
(
symName
==
"&tm;"
)
return
DocSymbol
::
Tm
;
// alias for &trace;
else
if
(
symName
==
"®"
)
return
DocSymbol
::
Reg
;
else
if
(
symName
==
"®"
)
return
DocSymbol
::
Reg
;
else
if
(
symName
==
"<"
)
return
DocSymbol
::
Less
;
else
if
(
symName
==
"<"
)
return
DocSymbol
::
Less
;
else
if
(
symName
==
">"
)
return
DocSymbol
::
Greater
;
else
if
(
symName
==
">"
)
return
DocSymbol
::
Greater
;
...
@@ -2049,7 +2050,7 @@ void DocInternalRef::parse()
...
@@ -2049,7 +2050,7 @@ void DocInternalRef::parse()
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
DocRef
::
DocRef
(
DocNode
*
parent
,
const
QString
&
target
)
:
DocRef
::
DocRef
(
DocNode
*
parent
,
const
QString
&
target
,
const
QString
&
context
)
:
m_parent
(
parent
),
m_refToSection
(
FALSE
),
m_refToAnchor
(
FALSE
)
m_parent
(
parent
),
m_refToSection
(
FALSE
),
m_refToAnchor
(
FALSE
)
{
{
Definition
*
compound
=
0
;
Definition
*
compound
=
0
;
...
@@ -2071,7 +2072,7 @@ DocRef::DocRef(DocNode *parent,const QString &target) :
...
@@ -2071,7 +2072,7 @@ DocRef::DocRef(DocNode *parent,const QString &target) :
// m_text.data(),m_ref.data(),m_file.data(),m_refToAnchor);
// m_text.data(),m_ref.data(),m_file.data(),m_refToAnchor);
return
;
return
;
}
}
else
if
(
resolveLink
(
g_
context
,
target
,
TRUE
,
&
compound
,
anchor
))
else
if
(
resolveLink
(
context
,
target
,
TRUE
,
&
compound
,
anchor
))
{
{
bool
isFile
=
compound
?
bool
isFile
=
compound
?
(
compound
->
definitionType
()
==
Definition
::
TypeFile
?
TRUE
:
FALSE
)
:
(
compound
->
definitionType
()
==
Definition
::
TypeFile
?
TRUE
:
FALSE
)
:
...
@@ -2318,8 +2319,8 @@ endlink:
...
@@ -2318,8 +2319,8 @@ endlink:
//---------------------------------------------------------------------------
//---------------------------------------------------------------------------
DocDotFile
::
DocDotFile
(
DocNode
*
parent
,
const
QString
&
name
)
:
DocDotFile
::
DocDotFile
(
DocNode
*
parent
,
const
QString
&
name
,
const
QString
&
context
)
:
m_parent
(
parent
),
m_name
(
name
),
m_relPath
(
g_relPath
)
m_parent
(
parent
),
m_name
(
name
),
m_relPath
(
g_relPath
)
,
m_context
(
context
)
{
{
}
}
...
@@ -3235,7 +3236,7 @@ int DocHtmlDescTitle::parse()
...
@@ -3235,7 +3236,7 @@ int DocHtmlDescTitle::parse()
}
}
else
else
{
{
DocRef
*
ref
=
new
DocRef
(
this
,
g_token
->
name
);
DocRef
*
ref
=
new
DocRef
(
this
,
g_token
->
name
,
g_context
);
m_children
.
append
(
ref
);
m_children
.
append
(
ref
);
ref
->
parse
();
ref
->
parse
();
}
}
...
@@ -4247,7 +4248,7 @@ void DocPara::handleDotFile(const QString &cmdName)
...
@@ -4247,7 +4248,7 @@ void DocPara::handleDotFile(const QString &cmdName)
return
;
return
;
}
}
QString
name
=
g_token
->
name
;
QString
name
=
g_token
->
name
;
DocDotFile
*
df
=
new
DocDotFile
(
this
,
name
);
DocDotFile
*
df
=
new
DocDotFile
(
this
,
name
,
g_context
);
m_children
.
append
(
df
);
m_children
.
append
(
df
);
df
->
parse
();
df
->
parse
();
}
}
...
@@ -4298,7 +4299,7 @@ void DocPara::handleRef(const QString &cmdName)
...
@@ -4298,7 +4299,7 @@ void DocPara::handleRef(const QString &cmdName)
tokToString
(
tok
),
cmdName
.
data
());
tokToString
(
tok
),
cmdName
.
data
());
goto
endref
;
goto
endref
;
}
}
ref
=
new
DocRef
(
this
,
g_token
->
name
);
ref
=
new
DocRef
(
this
,
g_token
->
name
,
g_context
);
m_children
.
append
(
ref
);
m_children
.
append
(
ref
);
ref
->
parse
();
ref
->
parse
();
endref
:
endref
:
...
...
src/docparser.h
View file @
f57b7d97
...
@@ -614,7 +614,7 @@ class DocImage : public CompAccept<DocImage>, public DocNode
...
@@ -614,7 +614,7 @@ class DocImage : public CompAccept<DocImage>, public DocNode
class
DocDotFile
:
public
CompAccept
<
DocDotFile
>
,
public
DocNode
class
DocDotFile
:
public
CompAccept
<
DocDotFile
>
,
public
DocNode
{
{
public
:
public
:
DocDotFile
(
DocNode
*
parent
,
const
QString
&
name
);
DocDotFile
(
DocNode
*
parent
,
const
QString
&
name
,
const
QString
&
context
);
void
parse
();
void
parse
();
Kind
kind
()
const
{
return
Kind_DotFile
;
}
Kind
kind
()
const
{
return
Kind_DotFile
;
}
QString
name
()
const
{
return
m_name
;
}
QString
name
()
const
{
return
m_name
;
}
...
@@ -624,6 +624,7 @@ class DocDotFile : public CompAccept<DocDotFile>, public DocNode
...
@@ -624,6 +624,7 @@ class DocDotFile : public CompAccept<DocDotFile>, public DocNode
QString
width
()
const
{
return
m_width
;
}
QString
width
()
const
{
return
m_width
;
}
QString
height
()
const
{
return
m_height
;
}
QString
height
()
const
{
return
m_height
;
}
DocNode
*
parent
()
const
{
return
m_parent
;
}
DocNode
*
parent
()
const
{
return
m_parent
;
}
QString
context
()
const
{
return
m_context
;
}
void
accept
(
DocVisitor
*
v
)
{
CompAccept
<
DocDotFile
>::
accept
(
this
,
v
);
}
void
accept
(
DocVisitor
*
v
)
{
CompAccept
<
DocDotFile
>::
accept
(
this
,
v
);
}
private
:
private
:
DocNode
*
m_parent
;
DocNode
*
m_parent
;
...
@@ -632,6 +633,7 @@ class DocDotFile : public CompAccept<DocDotFile>, public DocNode
...
@@ -632,6 +633,7 @@ class DocDotFile : public CompAccept<DocDotFile>, public DocNode
QString
m_relPath
;
QString
m_relPath
;
QString
m_width
;
QString
m_width
;
QString
m_height
;
QString
m_height
;
QString
m_context
;
};
};
/*! @brief Node representing a link to some item */
/*! @brief Node representing a link to some item */
...
@@ -661,7 +663,7 @@ class DocLink : public CompAccept<DocLink>, public DocNode
...
@@ -661,7 +663,7 @@ class DocLink : public CompAccept<DocLink>, public DocNode
class
DocRef
:
public
CompAccept
<
DocRef
>
,
public
DocNode
class
DocRef
:
public
CompAccept
<
DocRef
>
,
public
DocNode
{
{
public
:
public
:
DocRef
(
DocNode
*
parent
,
const
QString
&
target
);
DocRef
(
DocNode
*
parent
,
const
QString
&
target
,
const
QString
&
context
);
void
parse
();
void
parse
();
Kind
kind
()
const
{
return
Kind_Ref
;
}
Kind
kind
()
const
{
return
Kind_Ref
;
}
QString
file
()
const
{
return
m_file
;
}
QString
file
()
const
{
return
m_file
;
}
...
...
src/doctokenizer.l
View file @
f57b7d97
...
@@ -317,7 +317,7 @@ SCOPEKEYS ":"({ID}":")*
...
@@ -317,7 +317,7 @@ SCOPEKEYS ":"({ID}":")*
SCOPECPP {SCOPEPRE}*(~)?{ID}("<"{TEMPCHAR}*">")?
SCOPECPP {SCOPEPRE}*(~)?{ID}("<"{TEMPCHAR}*">")?
SCOPEOBJC {SCOPEPRE}?{ID}{SCOPEKEYS}?
SCOPEOBJC {SCOPEPRE}?{ID}{SCOPEKEYS}?
SCOPEMASK {SCOPECPP}|{SCOPEOBJC}
SCOPEMASK {SCOPECPP}|{SCOPEOBJC}
FUNCARG "("{FUNCCHAR}*")"({BLANK}*("volatile"|"const"))?
FUNCARG "("{FUNCCHAR}*")"({BLANK}*("volatile"|"const")
{BLANK}
)?
OPNEW {BLANK}+"new"({BLANK}*"[]")?
OPNEW {BLANK}+"new"({BLANK}*"[]")?
OPDEL {BLANK}+"delete"({BLANK}*"[]")?
OPDEL {BLANK}+"delete"({BLANK}*"[]")?
OPNORM {OPNEW}|{OPDEL}|"+"|"-"|"*"|"/"|"%"|"^"|"&"|"|"|"~"|"!"|"="|"<"|">"|"+="|"-="|"*="|"/="|"%="|"^="|"&="|"|="|"<<"|">>"|"<<="|">>="|"=="|"!="|"<="|">="|"&&"|"||"|"++"|"--"|","|"->*"|"->"|"[]"|"()"
OPNORM {OPNEW}|{OPDEL}|"+"|"-"|"*"|"/"|"%"|"^"|"&"|"|"|"~"|"!"|"="|"<"|">"|"+="|"-="|"*="|"/="|"%="|"^="|"&="|"|="|"<<"|">>"|"<<="|">>="|"=="|"!="|"<="|">="|"&&"|"||"|"++"|"--"|","|"->*"|"->"|"[]"|"()"
...
...
src/dot.cpp
View file @
f57b7d97
...
@@ -98,10 +98,13 @@ static void writeGraphFooter(QTextStream &t)
...
@@ -98,10 +98,13 @@ static void writeGraphFooter(QTextStream &t)
* (used in case CREATE_SUBDIRS is enabled).
* (used in case CREATE_SUBDIRS is enabled).
* \param urlOnly if FALSE the url field in the map contains an external
* \param urlOnly if FALSE the url field in the map contains an external
* references followed by a $ and then the URL.
* references followed by a $ and then the URL.
* \param context the context (file, class, or namespace) in which the
* map file was found
* \returns TRUE if succesful.
* \returns TRUE if succesful.
*/
*/
static
bool
convertMapFile
(
QTextStream
&
t
,
const
char
*
mapName
,
static
bool
convertMapFile
(
QTextStream
&
t
,
const
char
*
mapName
,
const
QCString
relPath
,
bool
urlOnly
=
FALSE
)
const
QCString
relPath
,
bool
urlOnly
=
FALSE
,
const
QString
&
context
=
QString
())
{
{
QFile
f
(
mapName
);
QFile
f
(
mapName
);
if
(
!
f
.
open
(
IO_ReadOnly
))
if
(
!
f
.
open
(
IO_ReadOnly
))
...
@@ -129,7 +132,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName,
...
@@ -129,7 +132,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName,
{
{
result
=
"href=
\"
"
;
result
=
"href=
\"
"
;
// fake ref node to resolve the url
// fake ref node to resolve the url
DocRef
*
df
=
new
DocRef
(
(
DocNode
*
)
0
,
link
.
mid
(
5
)
);
DocRef
*
df
=
new
DocRef
(
(
DocNode
*
)
0
,
link
.
mid
(
5
)
,
context
);
if
(
!
df
->
ref
().
isEmpty
())
if
(
!
df
->
ref
().
isEmpty
())
{
{
if
((
dest
=
Doxygen
::
tagDestinationDict
[
df
->
ref
()]))
if
((
dest
=
Doxygen
::
tagDestinationDict
[
df
->
ref
()]))
...
@@ -1047,6 +1050,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
...
@@ -1047,6 +1050,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
// compute md5 checksum of the graph were are about to generate
// compute md5 checksum of the graph were are about to generate
QString
theGraph
;
QString
theGraph
;
QTextStream
md5stream
(
&
theGraph
,
IO_WriteOnly
);
QTextStream
md5stream
(
&
theGraph
,
IO_WriteOnly
);
md5stream
.
setEncoding
(
md5stream
.
UnicodeUTF8
);
writeGraphHeader
(
md5stream
);
writeGraphHeader
(
md5stream
);
md5stream
<<
" rankdir=LR;"
<<
endl
;
md5stream
<<
" rankdir=LR;"
<<
endl
;
for
(
dnli2
.
toFirst
();(
node
=
dnli2
.
current
());
++
dnli2
)
for
(
dnli2
.
toFirst
();(
node
=
dnli2
.
current
());
++
dnli2
)
...
@@ -1077,6 +1081,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
...
@@ -1077,6 +1081,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
QFile
f
(
dotName
);
QFile
f
(
dotName
);
if
(
!
f
.
open
(
IO_WriteOnly
))
return
;
if
(
!
f
.
open
(
IO_WriteOnly
))
return
;
QTextStream
t
(
&
f
);
QTextStream
t
(
&
f
);
t
.
setEncoding
(
t
.
UnicodeUTF8
);
t
<<
theGraph
;
t
<<
theGraph
;
f
.
close
();
f
.
close
();
resetReNumbering
();
resetReNumbering
();
...
@@ -1677,6 +1682,7 @@ QCString computeMd5Signature(DotNode *root,
...
@@ -1677,6 +1682,7 @@ QCString computeMd5Signature(DotNode *root,
//printf("computeMd5Signature\n");
//printf("computeMd5Signature\n");
QString
buf
;
QString
buf
;
QTextStream
md5stream
(
&
buf
,
IO_WriteOnly
);
QTextStream
md5stream
(
&
buf
,
IO_WriteOnly
);
md5stream
.
setEncoding
(
md5stream
.
UnicodeUTF8
);
writeGraphHeader
(
md5stream
);
writeGraphHeader
(
md5stream
);
if
(
lrRank
)
if
(
lrRank
)
{
{
...
@@ -1753,6 +1759,7 @@ static bool updateDotGraph(DotNode *root,
...
@@ -1753,6 +1759,7 @@ static bool updateDotGraph(DotNode *root,
if
(
f
.
open
(
IO_WriteOnly
))
if
(
f
.
open
(
IO_WriteOnly
))
{
{
QTextStream
t
(
&
f
);
QTextStream
t
(
&
f
);
t
.
setEncoding
(
t
.
UnicodeUTF8
);
t
<<
theGraph
;
t
<<
theGraph
;
}
}
return
TRUE
;
return
TRUE
;
...
@@ -1894,6 +1901,7 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
...
@@ -1894,6 +1901,7 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
out
<<
"
\"
></center>"
<<
endl
;
out
<<
"
\"
></center>"
<<
endl
;
QString
tmpstr
;
QString
tmpstr
;
QTextOStream
tmpout
(
&
tmpstr
);
QTextOStream
tmpout
(
&
tmpstr
);
tmpout
.
setEncoding
(
tmpout
.
UnicodeUTF8
);
convertMapFile
(
tmpout
,
baseName
+
".map"
,
relPath
);
convertMapFile
(
tmpout
,
baseName
+
".map"
,
relPath
);
if
(
!
tmpstr
.
isEmpty
())
if
(
!
tmpstr
.
isEmpty
())
{
{
...
@@ -2207,6 +2215,7 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
...
@@ -2207,6 +2215,7 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
out
<<
"</center>"
<<
endl
;
out
<<
"</center>"
<<
endl
;
QString
tmpstr
;
QString
tmpstr
;
QTextOStream
tmpout
(
&
tmpstr
);
QTextOStream
tmpout
(
&
tmpstr
);
tmpout
.
setEncoding
(
tmpout
.
UnicodeUTF8
);
convertMapFile
(
tmpout
,
baseName
+
".map"
,
relPath
);
convertMapFile
(
tmpout
,
baseName
+
".map"
,
relPath
);
if
(
!
tmpstr
.
isEmpty
())
if
(
!
tmpstr
.
isEmpty
())
{
{
...
@@ -2499,6 +2508,7 @@ QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format,
...
@@ -2499,6 +2508,7 @@ QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format,
out
<<
"</center>"
<<
endl
;
out
<<
"</center>"
<<
endl
;
QString
tmpstr
;
QString
tmpstr
;
QTextOStream
tmpout
(
&
tmpstr
);
QTextOStream
tmpout
(
&
tmpstr
);
tmpout
.
setEncoding
(
tmpout
.
UnicodeUTF8
);
convertMapFile
(
tmpout
,
baseName
+
".map"
,
relPath
);
convertMapFile
(
tmpout
,
baseName
+
".map"
,
relPath
);
if
(
!
tmpstr
.
isEmpty
())
if
(
!
tmpstr
.
isEmpty
())
{
{
...
@@ -2586,6 +2596,7 @@ QCString DotDirDeps::writeGraph(QTextStream &out,
...
@@ -2586,6 +2596,7 @@ QCString DotDirDeps::writeGraph(QTextStream &out,
err
(
"Cannot create file %s.dot for writing!
\n
"
,
baseName
.
data
());
err
(
"Cannot create file %s.dot for writing!
\n
"
,
baseName
.
data
());
}
}
QTextStream
t
(
&
f
);
QTextStream
t
(
&
f
);
t
.
setEncoding
(
t
.
UnicodeUTF8
);
m_dir
->
writeDepGraph
(
t
);
m_dir
->
writeDepGraph
(
t
);
f
.
close
();
f
.
close
();
...
@@ -2639,6 +2650,7 @@ QCString DotDirDeps::writeGraph(QTextStream &out,
...
@@ -2639,6 +2650,7 @@ QCString DotDirDeps::writeGraph(QTextStream &out,
out
<<
"</center>"
<<
endl
;
out
<<
"</center>"
<<
endl
;
QString
tmpstr
;
QString
tmpstr
;
QTextOStream
tmpout
(
&
tmpstr
);
QTextOStream
tmpout
(
&
tmpstr
);
tmpout
.
setEncoding
(
tmpout
.
UnicodeUTF8
);
convertMapFile
(
tmpout
,
baseName
+
".map"
,
relPath
,
TRUE
);
convertMapFile
(
tmpout
,
baseName
+
".map"
,
relPath
,
TRUE
);
if
(
!
tmpstr
.
isEmpty
())
if
(
!
tmpstr
.
isEmpty
())
{
{
...
@@ -2811,7 +2823,7 @@ error:
...
@@ -2811,7 +2823,7 @@ error:
* \returns a string which is the HTML image map (without the \<map\>\</map\>)
* \returns a string which is the HTML image map (without the \<map\>\</map\>)
*/
*/
QString
getDotImageMapFromFile
(
const
QString
&
inFile
,
const
QString
&
outDir
,
QString
getDotImageMapFromFile
(
const
QString
&
inFile
,
const
QString
&
outDir
,
const
QCString
&
relPath
)
const
QCString
&
relPath
,
const
QString
&
context
)
{
{
QString
outFile
=
inFile
+
".map"
;
QString
outFile
=
inFile
+
".map"
;
...
@@ -2831,7 +2843,8 @@ QString getDotImageMapFromFile(const QString& inFile, const QString& outDir,
...
@@ -2831,7 +2843,8 @@ QString getDotImageMapFromFile(const QString& inFile, const QString& outDir,
QString
result
;
QString
result
;
QTextOStream
tmpout
(
&
result
);
QTextOStream
tmpout
(
&
result
);
convertMapFile
(
tmpout
,
outFile
,
relPath
,
TRUE
);
tmpout
.
setEncoding
(
tmpout
.
UnicodeUTF8
);
convertMapFile
(
tmpout
,
outFile
,
relPath
,
TRUE
,
context
);
QDir
().
remove
(
outFile
);
QDir
().
remove
(
outFile
);
// printf("result=%s\n",result.data());
// printf("result=%s\n",result.data());
...
@@ -3072,6 +3085,7 @@ QCString DotGroupCollaboration::writeGraph( QTextStream &t, GraphOutputFormat fo
...
@@ -3072,6 +3085,7 @@ QCString DotGroupCollaboration::writeGraph( QTextStream &t, GraphOutputFormat fo
if
(
dotfile
.
open
(
IO_WriteOnly
))
if
(
dotfile
.
open
(
IO_WriteOnly
))
{
{
QTextStream
tdot
(
&
dotfile
);
QTextStream
tdot
(
&
dotfile
);
tdot
.
setEncoding
(
tdot
.
UnicodeUTF8
);
writeGraphHeader
(
tdot
);
writeGraphHeader
(
tdot
);
// clean write flags
// clean write flags
...
...
src/dot.h
View file @
f57b7d97
...
@@ -335,7 +335,7 @@ void generateGraphLegend(const char *path);
...
@@ -335,7 +335,7 @@ void generateGraphLegend(const char *path);
void
writeDotGraphFromFile
(
const
char
*
inFile
,
const
char
*
outDir
,
void
writeDotGraphFromFile
(
const
char
*
inFile
,
const
char
*
outDir
,
const
char
*
outFile
,
GraphOutputFormat
format
);
const
char
*
outFile
,
GraphOutputFormat
format
);
QString
getDotImageMapFromFile
(
const
QString
&
inFile
,
const
QString
&
outDir
,
QString
getDotImageMapFromFile
(
const
QString
&
inFile
,
const
QString
&
outDir
,
const
QCString
&
relPath
);
const
QCString
&
relPath
,
const
QString
&
context
);
#endif
#endif
src/doxygen.cpp
View file @
f57b7d97
...
@@ -2605,7 +2605,7 @@ static void addMethodToClass(EntryNav *rootNav,ClassDef *cd,
...
@@ -2605,7 +2605,7 @@ static void addMethodToClass(EntryNav *rootNav,ClassDef *cd,
FileDef
*
fd
=
rootNav
->
fileDef
();
FileDef
*
fd
=
rootNav
->
fileDef
();
int
l
,
i
;
int
l
,
i
;
static
QRegExp
re
(
"([a-z_A-Z0-9: ]*[ &*]
*
[ ]*"
);
static
QRegExp
re
(
"([a-z_A-Z0-9: ]*[ &*]
+
[ ]*"
);
if
(
!
root
->
type
.
isEmpty
()
&&
(
i
=
re
.
match
(
root
->
type
,
0
,
&
l
))
!=-
1
)
// function variable
if
(
!
root
->
type
.
isEmpty
()
&&
(
i
=
re
.
match
(
root
->
type
,
0
,
&
l
))
!=-
1
)
// function variable
{
{
...
@@ -2827,7 +2827,7 @@ static void buildFunctionList(EntryNav *rootNav)
...
@@ -2827,7 +2827,7 @@ static void buildFunctionList(EntryNav *rootNav)
}
}
static
QRegExp
re
(
"([a-z_A-Z0-9: ]*[ &*]
*
[ ]*"
);
static
QRegExp
re
(
"([a-z_A-Z0-9: ]*[ &*]
+
[ ]*"
);
if
(
!
rootNav
->
parent
()
->
name
().
isEmpty
()
&&
if
(
!
rootNav
->
parent
()
->
name
().
isEmpty
()
&&
(
rootNav
->
parent
()
->
section
()
&
Entry
::
COMPOUND_MASK
)
&&
(
rootNav
->
parent
()
->
section
()
&
Entry
::
COMPOUND_MASK
)
&&
cd
&&
cd
&&
...
@@ -4210,6 +4210,7 @@ static bool findClassRelation(
...
@@ -4210,6 +4210,7 @@ static bool findClassRelation(
usedName
=
biName
;
usedName
=
biName
;
//printf("***** usedName=%s templSpec=%s\n",usedName.data(),templSpec.data());
//printf("***** usedName=%s templSpec=%s\n",usedName.data(),templSpec.data());
}
}
if
(
Config_getBool
(
"SIP_SUPPORT"
))
bi
->
prot
=
Public
;
cd
->
insertBaseClass
(
baseClass
,
usedName
,
bi
->
prot
,
bi
->
virt
,
templSpec
);
cd
->
insertBaseClass
(
baseClass
,
usedName
,
bi
->
prot
,
bi
->
virt
,
templSpec
);
// add this class as super class to the base class
// add this class as super class to the base class
baseClass
->
insertSubClass
(
cd
,
bi
->
prot
,
bi
->
virt
,
templSpec
);
baseClass
->
insertSubClass
(
cd
,
bi
->
prot
,
bi
->
virt
,
templSpec
);
...
...
src/fortrancode.l
View file @
f57b7d97
...
@@ -17,7 +17,7 @@
...
@@ -17,7 +17,7 @@
*/
*/
/**
/**
@
TODO
- continutation lines not always recognized
@
todo
- continutation lines not always recognized
- merging of use-statements with same module name and different only-names
- merging of use-statements with same module name and different only-names
- rename part of use-statement
- rename part of use-statement
- links to interface functions
- links to interface functions
...
@@ -414,7 +414,7 @@ static bool getFortranDefs(const QCString &memberName, const QCString &moduleNam
...
@@ -414,7 +414,7 @@ static bool getFortranDefs(const QCString &memberName, const QCString &moduleNam
/**
/**
gets the link to a generic procedure which depends not on the name, but on the parameter list
gets the link to a generic procedure which depends not on the name, but on the parameter list
@
TODO
implementation
@
todo
implementation
*/
*/
static bool getGenericProcedureLink(const ClassDef *cd,
static bool getGenericProcedureLink(const ClassDef *cd,
const char *memberText,
const char *memberText,
...
@@ -618,7 +618,7 @@ IGNORE (IMPLICIT{BS}NONE|CONTAINS|WRITE|READ|ALLOCATE|DEALLOCATE|SIZE)
...
@@ -618,7 +618,7 @@ IGNORE (IMPLICIT{BS}NONE|CONTAINS|WRITE|READ|ALLOCATE|DEALLOCATE|SIZE)
/*-------- ignore ------------------------------------------------------------*/
/*-------- ignore ------------------------------------------------------------*/
<Start>{IGNORE}/{BS}"("? { // do not search keywords, intrinsics...
@
TODO: complete list
<Start>{IGNORE}/{BS}"("? { // do not search keywords, intrinsics... TODO: complete list
codifyLines(yytext);
codifyLines(yytext);
}
}
/*-------- inner construct ---------------------------------------------------*/
/*-------- inner construct ---------------------------------------------------*/
...
...
src/ftvhelp.cpp
View file @
f57b7d97
...
@@ -594,7 +594,7 @@ void FTVHelp::generateTreeView()
...
@@ -594,7 +594,7 @@ void FTVHelp::generateTreeView()
#if QT_VERSION >= 200
#if QT_VERSION >= 200
t
.
setEncoding
(
QTextStream
::
Latin1
);
t
.
setEncoding
(
QTextStream
::
Latin1
);
#endif
#endif
t
<<
"<!DOCTYPE HTML PUBLIC
\"
-//W3C//DTD HTML 4.0
Transitional
//EN
\"
>
\n
"
;
t
<<
"<!DOCTYPE HTML PUBLIC
\"
-//W3C//DTD HTML 4.0
1 Frameset
//EN
\"
>
\n
"
;
t
<<
"<html><head>"
;
t
<<
"<html><head>"
;
t
<<
"<meta http-equiv=
\"
Content-Type
\"
content=
\"
text/html;charset=UTF-8
\"
>
\n
"
;
t
<<
"<meta http-equiv=
\"
Content-Type
\"
content=
\"
text/html;charset=UTF-8
\"
>
\n
"
;
t
<<
"<title>"
;
t
<<
"<title>"
;
...
...
src/htmldocvisitor.cpp
View file @
f57b7d97
...
@@ -243,7 +243,7 @@ void HtmlDocVisitor::visit(DocVerbatim *s)
...
@@ -243,7 +243,7 @@ void HtmlDocVisitor::visit(DocVerbatim *s)
file
.
close
();
file
.
close
();
m_t
<<
"<div align=
\"
center
\"
>"
<<
endl
;
m_t
<<
"<div align=
\"
center
\"
>"
<<
endl
;
writeDotFile
(
fileName
,
s
->
relPath
());
writeDotFile
(
fileName
,
s
->
relPath
()
,
s
->
context
()
);
m_t
<<
"</div>"
<<
endl
;
m_t
<<
"</div>"
<<
endl
;
if
(
Config_getBool
(
"DOT_CLEANUP"
))
file
.
remove
();
if
(
Config_getBool
(
"DOT_CLEANUP"
))
file
.
remove
();
...
@@ -270,7 +270,7 @@ void HtmlDocVisitor::visit(DocVerbatim *s)
...
@@ -270,7 +270,7 @@ void HtmlDocVisitor::visit(DocVerbatim *s)
file
.
close
();
file
.
close
();
m_t
<<
"<div align=
\"
center
\"
>"
<<
endl
;
m_t
<<
"<div align=
\"
center
\"
>"
<<
endl
;
writeMscFile
(
baseName
,
s
->
relPath
());
writeMscFile
(
baseName
,
s
->
relPath
()
,
s
->
context
()
);
m_t
<<
"</div>"
<<
endl
;
m_t
<<
"</div>"
<<
endl
;
if
(
Config_getBool
(
"DOT_CLEANUP"
))
file
.
remove
();
if
(
Config_getBool
(
"DOT_CLEANUP"
))
file
.
remove
();
...
@@ -293,8 +293,16 @@ void HtmlDocVisitor::visit(DocInclude *inc)
...
@@ -293,8 +293,16 @@ void HtmlDocVisitor::visit(DocInclude *inc)
case
DocInclude
:
:
Include
:
case
DocInclude
:
:
Include
:
m_t
<<
PREFRAG_START
;
m_t
<<
PREFRAG_START
;
Doxygen
::
parserManager
->
getParser
(
inc
->
extension
())
Doxygen
::
parserManager
->
getParser
(
inc
->
extension
())
->
parseCode
(
m_ci
,
inc
->
context
(),
inc
->
text
().
latin1
(),
->
parseCode
(
m_ci
,
inc
->
isExample
(),
inc
->
exampleFile
());
inc
->
context
(),
inc
->
text
().
latin1
(),
inc
->
isExample
(),
inc
->
exampleFile
(),
0
,
// fd
-
1
,
// startLine
-
1
,
// endLine
TRUE
// inlineFragment
);
m_t
<<
PREFRAG_END
;
m_t
<<
PREFRAG_END
;
break
;
break
;
case
DocInclude
:
:
IncWithLines
:
case
DocInclude
:
:
IncWithLines
:
...
@@ -303,7 +311,8 @@ void HtmlDocVisitor::visit(DocInclude *inc)
...
@@ -303,7 +311,8 @@ void HtmlDocVisitor::visit(DocInclude *inc)
QFileInfo
cfi
(
inc
->
file
()
);
QFileInfo
cfi
(
inc
->
file
()
);
FileDef
fd
(
cfi
.
dirPath
(),
cfi
.
fileName
()
);
FileDef
fd
(
cfi
.
dirPath
(),
cfi
.
fileName
()
);
Doxygen
::
parserManager
->
getParser
(
inc
->
extension
())
Doxygen
::
parserManager
->
getParser
(
inc
->
extension
())
->
parseCode
(
m_ci
,
inc
->
context
(),
->
parseCode
(
m_ci
,
inc
->
context
(),
inc
->
text
().
latin1
(),
inc
->
text
().
latin1
(),
inc
->
isExample
(),
inc
->
isExample
(),
inc
->
exampleFile
(),
&
fd
);
inc
->
exampleFile
(),
&
fd
);
...
@@ -814,7 +823,7 @@ void HtmlDocVisitor::visitPost(DocImage *img)
...
@@ -814,7 +823,7 @@ void HtmlDocVisitor::visitPost(DocImage *img)
void
HtmlDocVisitor
::
visitPre
(
DocDotFile
*
df
)
void
HtmlDocVisitor
::
visitPre
(
DocDotFile
*
df
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
writeDotFile
(
df
->
file
(),
df
->
relPath
());
writeDotFile
(
df
->
file
(),
df
->
relPath
()
,
df
->
context
()
);
m_t
<<
"<div align=
\"
center
\"
>"
<<
endl
;
m_t
<<
"<div align=
\"
center
\"
>"
<<
endl
;
if
(
df
->
hasCaption
())
if
(
df
->
hasCaption
())
{
{
...
@@ -1148,7 +1157,8 @@ void HtmlDocVisitor::popEnabled()
...
@@ -1148,7 +1157,8 @@ void HtmlDocVisitor::popEnabled()
delete
v
;
delete
v
;
}
}
void
HtmlDocVisitor
::
writeDotFile
(
const
QString
&
fileName
,
const
QString
&
relPath
)
void
HtmlDocVisitor
::
writeDotFile
(
const
QString
&
fileName
,
const
QString
&
relPath
,
const
QString
&
context
)
{
{
QString
baseName
=
fileName
;
QString
baseName
=
fileName
;
int
i
;
int
i
;
...
@@ -1163,11 +1173,12 @@ void HtmlDocVisitor::writeDotFile(const QString &fileName,const QString &relPath
...
@@ -1163,11 +1173,12 @@ void HtmlDocVisitor::writeDotFile(const QString &fileName,const QString &relPath
m_t
<<
"<img src=
\"
"
<<
relPath
<<
baseName
<<
"."
m_t
<<
"<img src=
\"
"
<<
relPath
<<
baseName
<<
"."
<<
Config_getEnum
(
"DOT_IMAGE_FORMAT"
)
<<
"
\"
alt=
\"
"
<<
Config_getEnum
(
"DOT_IMAGE_FORMAT"
)
<<
"
\"
alt=
\"
"
<<
baseName
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapName
<<
"
\"
>"
<<
endl
;
<<
baseName
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapName
<<
"
\"
>"
<<
endl
;
QString
imap
=
getDotImageMapFromFile
(
fileName
,
outDir
,
relPath
.
data
());
QString
imap
=
getDotImageMapFromFile
(
fileName
,
outDir
,
relPath
.
data
()
,
context
);
m_t
<<
"<map name=
\"
"
<<
mapName
<<
"
\"
>"
<<
imap
<<
"</map>"
<<
endl
;
m_t
<<
"<map name=
\"
"
<<
mapName
<<
"
\"
>"
<<
imap
<<
"</map>"
<<
endl
;
}
}
void
HtmlDocVisitor
::
writeMscFile
(
const
QString
&
fileName
,
const
QString
&
relPath
)
void
HtmlDocVisitor
::
writeMscFile
(
const
QString
&
fileName
,
const
QString
&
relPath
,
const
QString
&
context
)
{
{
QString
baseName
=
fileName
;
QString
baseName
=
fileName
;
int
i
;
int
i
;
...
@@ -1181,7 +1192,7 @@ void HtmlDocVisitor::writeMscFile(const QString &fileName,const QString &relPath
...
@@ -1181,7 +1192,7 @@ void HtmlDocVisitor::writeMscFile(const QString &fileName,const QString &relPath
QString
mapFile
=
fileName
+
".map"
;
QString
mapFile
=
fileName
+
".map"
;
m_t
<<
"<img src=
\"
"
<<
relPath
<<
baseName
<<
".png
\"
alt=
\"
"
m_t
<<
"<img src=
\"
"
<<
relPath
<<
baseName
<<
".png
\"
alt=
\"
"
<<
baseName
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapName
<<
"
\"
>"
<<
endl
;
<<
baseName
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapName
<<
"
\"
>"
<<
endl
;
QString
imap
=
getMscImageMapFromFile
(
fileName
,
outDir
,
relPath
.
data
());
QString
imap
=
getMscImageMapFromFile
(
fileName
,
outDir
,
relPath
.
data
()
,
context
);
m_t
<<
"<map name=
\"
"
<<
mapName
<<
"
\"
>"
<<
imap
<<
"</map>"
<<
endl
;
m_t
<<
"<map name=
\"
"
<<
mapName
<<
"
\"
>"
<<
imap
<<
"</map>"
<<
endl
;
}
}
src/htmldocvisitor.h
View file @
f57b7d97
...
@@ -135,8 +135,8 @@ class HtmlDocVisitor : public DocVisitor
...
@@ -135,8 +135,8 @@ class HtmlDocVisitor : public DocVisitor
const
QString
&
relPath
,
const
QString
&
anchor
,
const
QString
&
relPath
,
const
QString
&
anchor
,
const
QString
&
tooltip
=
QString
::
null
);
const
QString
&
tooltip
=
QString
::
null
);
void
endLink
();
void
endLink
();
void
writeDotFile
(
const
QString
&
fileName
,
const
QString
&
relPath
);
void
writeDotFile
(
const
QString
&
fileName
,
const
QString
&
relPath
,
const
QString
&
context
);
void
writeMscFile
(
const
QString
&
fileName
,
const
QString
&
relPath
);
void
writeMscFile
(
const
QString
&
fileName
,
const
QString
&
relPath
,
const
QString
&
context
);
void
pushEnabled
();
void
pushEnabled
();
void
popEnabled
();
void
popEnabled
();
...
...
src/latexgen.cpp
View file @
f57b7d97
...
@@ -53,49 +53,6 @@
...
@@ -53,49 +53,6 @@
//}
//}
static
QCString
escapeLabelName
(
LatexGenerator
*
g
,
const
char
*
s
)
{
QCString
result
;
const
char
*
p
=
s
;
char
str
[
2
];
str
[
1
]
=
0
;
char
c
;
while
((
c
=*
p
++
))
{
switch
(
c
)
{
case
'%'
:
result
+=
"
\\
%"
;
break
;
case
'|'
:
result
+=
"
\\
tt{
\"
|}"
;
break
;
case
'!'
:
result
+=
"
\"
!"
;
break
;
default:
str
[
0
]
=
c
;
g
->
docify
(
str
);
break
;
}
}
return
result
;
}
static
QCString
escapeMakeIndexChars
(
LatexGenerator
*
g
,
QTextStream
&
t
,
const
char
*
s
)
{
QCString
result
;
const
char
*
p
=
s
;
char
str
[
2
];
str
[
1
]
=
0
;
char
c
;
while
((
c
=*
p
++
))
{
switch
(
c
)
{
case
'!'
:
t
<<
"
\"
!"
;
break
;
case
'"'
:
t
<<
"
\"\"
"
;
break
;
case
'@'
:
t
<<
"
\"
@"
;
break
;
case
'|'
:
t
<<
"
\\
tt{
\"
|}"
;
break
;
case
'['
:
t
<<
"["
;
break
;
case
']'
:
t
<<
"]"
;
break
;
default:
str
[
0
]
=
c
;
g
->
docify
(
str
);
break
;
}
}
return
result
;
}
LatexGenerator
::
LatexGenerator
()
:
OutputGenerator
()
LatexGenerator
::
LatexGenerator
()
:
OutputGenerator
()
{
{
...
@@ -1070,9 +1027,10 @@ void LatexGenerator::endTitleHead(const char *fileName,const char *name)
...
@@ -1070,9 +1027,10 @@ void LatexGenerator::endTitleHead(const char *fileName,const char *name)
t
<<
"}"
<<
endl
;
t
<<
"}"
<<
endl
;
if
(
name
)
if
(
name
)
{
{
t
<<
"
\\
label{"
<<
fileName
<<
"}
\\
index{"
t
<<
"
\\
label{"
<<
fileName
<<
"}
\\
index{"
;
<<
escapeLabelName
(
this
,
name
)
<<
"@{"
;
escapeLabelName
(
name
);
escapeMakeIndexChars
(
this
,
t
,
name
);
t
<<
"@{"
;
escapeMakeIndexChars
(
name
);
t
<<
"}}"
<<
endl
;
t
<<
"}}"
<<
endl
;
}
}
if
(
Config_getBool
(
"PDF_HYPERLINKS"
)
&&
fileName
)
if
(
Config_getBool
(
"PDF_HYPERLINKS"
)
&&
fileName
)
...
@@ -1141,16 +1099,20 @@ void LatexGenerator::startMemberDoc(const char *clname,
...
@@ -1141,16 +1099,20 @@ void LatexGenerator::startMemberDoc(const char *clname,
t
<<
"
\\
index{"
;
t
<<
"
\\
index{"
;
if
(
clname
)
if
(
clname
)
{
{
t
<<
escapeLabelName
(
this
,
clname
)
<<
"@{"
;
escapeLabelName
(
clname
);
escapeMakeIndexChars
(
this
,
t
,
clname
);
t
<<
"@{"
;
escapeMakeIndexChars
(
clname
);
t
<<
"}!"
;
t
<<
"}!"
;
}
}
t
<<
escapeLabelName
(
this
,
memname
)
<<
"@{"
;
escapeLabelName
(
memname
);
escapeMakeIndexChars
(
this
,
t
,
memname
);
t
<<
"@{"
;
escapeMakeIndexChars
(
memname
);
t
<<
"}}"
<<
endl
;
t
<<
"}}"
<<
endl
;
t
<<
"
\\
index{"
<<
escapeLabelName
(
this
,
memname
)
<<
"@{"
;
t
<<
"
\\
index{"
;
escapeMakeIndexChars
(
this
,
t
,
memname
);
escapeLabelName
(
memname
);
t
<<
"@{"
;
escapeMakeIndexChars
(
memname
);
t
<<
"}"
;
t
<<
"}"
;
if
(
clname
)
if
(
clname
)
{
{
...
@@ -1223,13 +1185,17 @@ void LatexGenerator::addIndexItem(const char *s1,const char *s2)
...
@@ -1223,13 +1185,17 @@ void LatexGenerator::addIndexItem(const char *s1,const char *s2)
{
{
if
(
s1
)
if
(
s1
)
{
{
t
<<
"
\\
index{"
<<
escapeLabelName
(
this
,
s1
)
<<
"@{"
;
t
<<
"
\\
index{"
;
escapeMakeIndexChars
(
this
,
t
,
s1
);
escapeLabelName
(
s1
);
t
<<
"@{"
;
escapeMakeIndexChars
(
s1
);
t
<<
"}"
;
t
<<
"}"
;
if
(
s2
)
if
(
s2
)
{
{
t
<<
"!"
<<
escapeLabelName
(
this
,
s2
)
<<
"@{"
;
t
<<
"!"
;
escapeMakeIndexChars
(
this
,
t
,
s2
);
escapeLabelName
(
s2
);
t
<<
"@{"
;
escapeMakeIndexChars
(
s2
);
t
<<
"}"
;
t
<<
"}"
;
}
}
t
<<
"}"
;
t
<<
"}"
;
...
@@ -1651,5 +1617,43 @@ void LatexGenerator::endConstraintList()
...
@@ -1651,5 +1617,43 @@ void LatexGenerator::endConstraintList()
t
<<
"
\\
end{Desc}"
<<
endl
;
t
<<
"
\\
end{Desc}"
<<
endl
;
}
}
void
LatexGenerator
::
escapeLabelName
(
const
char
*
s
)
{
const
char
*
p
=
s
;
char
str
[
2
];
str
[
1
]
=
0
;
char
c
;
while
((
c
=*
p
++
))
{
switch
(
c
)
{
case
'%'
:
t
<<
"
\\
%"
;
break
;
case
'|'
:
t
<<
"
\\
tt{
\"
|}"
;
break
;
case
'!'
:
t
<<
"
\"
!"
;
break
;
default
:
str
[
0
]
=
c
;
docify
(
str
);
break
;
}
}
}
void
LatexGenerator
::
escapeMakeIndexChars
(
const
char
*
s
)
{
const
char
*
p
=
s
;
char
str
[
2
];
str
[
1
]
=
0
;
char
c
;
while
((
c
=*
p
++
))
{
switch
(
c
)
{
case
'!'
:
t
<<
"
\"
!"
;
break
;
case
'"'
:
t
<<
"
\"\"
"
;
break
;
case
'@'
:
t
<<
"
\"
@"
;
break
;
case
'|'
:
t
<<
"
\\
tt{
\"
|}"
;
break
;
case
'['
:
t
<<
"["
;
break
;
case
']'
:
t
<<
"]"
;
break
;
default
:
str
[
0
]
=
c
;
docify
(
str
);
break
;
}
}
}
src/latexgen.h
View file @
f57b7d97
...
@@ -230,6 +230,8 @@ class LatexGenerator : public OutputGenerator
...
@@ -230,6 +230,8 @@ class LatexGenerator : public OutputGenerator
private
:
private
:
LatexGenerator
(
const
LatexGenerator
&
);
LatexGenerator
(
const
LatexGenerator
&
);
LatexGenerator
&
operator
=
(
const
LatexGenerator
&
);
LatexGenerator
&
operator
=
(
const
LatexGenerator
&
);
void
escapeLabelName
(
const
char
*
s
);
void
escapeMakeIndexChars
(
const
char
*
s
);
int
col
;
int
col
;
bool
insideTabbing
;
bool
insideTabbing
;
bool
firstDescItem
;
bool
firstDescItem
;
...
...
src/memberdef.cpp
View file @
f57b7d97
...
@@ -85,10 +85,10 @@ static QCString addTemplateNames(const QCString &s,const QCString &n,const QCStr
...
@@ -85,10 +85,10 @@ static QCString addTemplateNames(const QCString &s,const QCString &n,const QCStr
static
bool
writeDefArgumentList
(
OutputList
&
ol
,
ClassDef
*
cd
,
static
bool
writeDefArgumentList
(
OutputList
&
ol
,
ClassDef
*
cd
,
const
QCString
&
/*scopeName*/
,
MemberDef
*
md
)
const
QCString
&
/*scopeName*/
,
MemberDef
*
md
)
{
{
LockingPtr
<
ArgumentList
>
defArgList
=
(
md
->
isDocsForDefinition
()
&&
!
md
->
isProperty
()
)
?
LockingPtr
<
ArgumentList
>
defArgList
=
(
md
->
isDocsForDefinition
())
?
md
->
argumentList
()
:
md
->
declArgumentList
();
md
->
argumentList
()
:
md
->
declArgumentList
();
//printf("writeDefArgumentList `%s' isDocsForDefinition()=%d\n",md->name().data(),md->isDocsForDefinition());
//printf("writeDefArgumentList `%s' isDocsForDefinition()=%d\n",md->name().data(),md->isDocsForDefinition());
if
(
defArgList
==
0
)
if
(
defArgList
==
0
||
md
->
isProperty
()
)
{
{
return
FALSE
;
// member has no function like argument list
return
FALSE
;
// member has no function like argument list
}
}
...
@@ -771,7 +771,7 @@ QCString MemberDef::anchor() const
...
@@ -771,7 +771,7 @@ QCString MemberDef::anchor() const
{
{
result
=
m_impl
->
groupMember
->
anchor
();
result
=
m_impl
->
groupMember
->
anchor
();
}
}
else
else
if
(
getReference
().
isEmpty
())
{
{
result
.
prepend
(
"g"
);
result
.
prepend
(
"g"
);
}
}
...
@@ -2693,6 +2693,7 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl,
...
@@ -2693,6 +2693,7 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl,
{
{
Doxygen
::
tagFile
<<
" <member kind=
\"
enumeration
\"
>"
<<
endl
;
Doxygen
::
tagFile
<<
" <member kind=
\"
enumeration
\"
>"
<<
endl
;
Doxygen
::
tagFile
<<
" <name>"
<<
convertToXML
(
name
())
<<
"</name>"
<<
endl
;
Doxygen
::
tagFile
<<
" <name>"
<<
convertToXML
(
name
())
<<
"</name>"
<<
endl
;
Doxygen
::
tagFile
<<
" <anchorfile>"
<<
convertToXML
(
getOutputFileBase
()
+
Doxygen
::
htmlFileExtension
)
<<
"</anchorfile>"
<<
endl
;
Doxygen
::
tagFile
<<
" <anchor>"
<<
convertToXML
(
anchor
())
<<
"</anchor>"
<<
endl
;
Doxygen
::
tagFile
<<
" <anchor>"
<<
convertToXML
(
anchor
())
<<
"</anchor>"
<<
endl
;
Doxygen
::
tagFile
<<
" <arglist>"
<<
convertToXML
(
argsString
())
<<
"</arglist>"
<<
endl
;
Doxygen
::
tagFile
<<
" <arglist>"
<<
convertToXML
(
argsString
())
<<
"</arglist>"
<<
endl
;
Doxygen
::
tagFile
<<
" </member>"
<<
endl
;
Doxygen
::
tagFile
<<
" </member>"
<<
endl
;
...
@@ -2741,6 +2742,7 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl,
...
@@ -2741,6 +2742,7 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl,
{
{
Doxygen
::
tagFile
<<
" <member kind=
\"
enumvalue
\"
>"
<<
endl
;
Doxygen
::
tagFile
<<
" <member kind=
\"
enumvalue
\"
>"
<<
endl
;
Doxygen
::
tagFile
<<
" <name>"
<<
convertToXML
(
fmd
->
name
())
<<
"</name>"
<<
endl
;
Doxygen
::
tagFile
<<
" <name>"
<<
convertToXML
(
fmd
->
name
())
<<
"</name>"
<<
endl
;
Doxygen
::
tagFile
<<
" <anchorfile>"
<<
convertToXML
(
getOutputFileBase
()
+
Doxygen
::
htmlFileExtension
)
<<
"</anchorfile>"
<<
endl
;
Doxygen
::
tagFile
<<
" <anchor>"
<<
convertToXML
(
fmd
->
anchor
())
<<
"</anchor>"
<<
endl
;
Doxygen
::
tagFile
<<
" <anchor>"
<<
convertToXML
(
fmd
->
anchor
())
<<
"</anchor>"
<<
endl
;
Doxygen
::
tagFile
<<
" <arglist>"
<<
convertToXML
(
fmd
->
argsString
())
<<
"</arglist>"
<<
endl
;
Doxygen
::
tagFile
<<
" <arglist>"
<<
convertToXML
(
fmd
->
argsString
())
<<
"</arglist>"
<<
endl
;
Doxygen
::
tagFile
<<
" </member>"
<<
endl
;
Doxygen
::
tagFile
<<
" </member>"
<<
endl
;
...
...
src/msc.cpp
View file @
f57b7d97
...
@@ -26,7 +26,8 @@
...
@@ -26,7 +26,8 @@
static
const
int
maxCmdLine
=
40960
;
static
const
int
maxCmdLine
=
40960
;
static
bool
convertMapFile
(
QTextStream
&
t
,
const
char
*
mapName
,
const
QCString
relPath
)
static
bool
convertMapFile
(
QTextStream
&
t
,
const
char
*
mapName
,
const
QCString
relPath
,
const
QString
&
context
)
{
{
QFile
f
(
mapName
);
QFile
f
(
mapName
);
if
(
!
f
.
open
(
IO_ReadOnly
))
if
(
!
f
.
open
(
IO_ReadOnly
))
...
@@ -66,7 +67,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName,const QCString rel
...
@@ -66,7 +67,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName,const QCString rel
{
{
// handle doxygen \ref tag URL reference
// handle doxygen \ref tag URL reference
QCString
*
dest
;
QCString
*
dest
;
DocRef
*
df
=
new
DocRef
(
(
DocNode
*
)
0
,
url
);
DocRef
*
df
=
new
DocRef
(
(
DocNode
*
)
0
,
url
,
context
);
if
(
!
df
->
ref
().
isEmpty
())
if
(
!
df
->
ref
().
isEmpty
())
{
{
if
((
dest
=
Doxygen
::
tagDestinationDict
[
df
->
ref
()]))
t
<<
*
dest
<<
"/"
;
if
((
dest
=
Doxygen
::
tagDestinationDict
[
df
->
ref
()]))
t
<<
*
dest
<<
"/"
;
...
@@ -138,7 +139,7 @@ error:
...
@@ -138,7 +139,7 @@ error:
}
}
QString
getMscImageMapFromFile
(
const
QString
&
inFile
,
const
QString
&
outDir
,
QString
getMscImageMapFromFile
(
const
QString
&
inFile
,
const
QString
&
outDir
,
const
QCString
&
relPath
)
const
QCString
&
relPath
,
const
QString
&
context
)
{
{
QString
outFile
=
inFile
+
".map"
;
QString
outFile
=
inFile
+
".map"
;
...
@@ -162,7 +163,7 @@ QString getMscImageMapFromFile(const QString& inFile, const QString& outDir,
...
@@ -162,7 +163,7 @@ QString getMscImageMapFromFile(const QString& inFile, const QString& outDir,
QString
result
;
QString
result
;
QTextOStream
tmpout
(
&
result
);
QTextOStream
tmpout
(
&
result
);
convertMapFile
(
tmpout
,
outFile
,
relPath
);
convertMapFile
(
tmpout
,
outFile
,
relPath
,
context
);
QDir
().
remove
(
outFile
);
QDir
().
remove
(
outFile
);
QDir
::
setCurrent
(
oldDir
);
QDir
::
setCurrent
(
oldDir
);
...
...
src/msc.h
View file @
f57b7d97
...
@@ -26,7 +26,7 @@ void writeMscGraphFromFile(const char *inFile,const char *outDir,
...
@@ -26,7 +26,7 @@ void writeMscGraphFromFile(const char *inFile,const char *outDir,
const
char
*
outFile
,
MscOutputFormat
format
);
const
char
*
outFile
,
MscOutputFormat
format
);
QString
getMscImageMapFromFile
(
const
QString
&
inFile
,
const
QString
&
outDir
,
QString
getMscImageMapFromFile
(
const
QString
&
inFile
,
const
QString
&
outDir
,
const
QCString
&
relPath
);
const
QCString
&
relPath
,
const
QString
&
context
);
#endif
#endif
src/scanner.l
View file @
f57b7d97
...
@@ -924,6 +924,9 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
...
@@ -924,6 +924,9 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
addType( current );
addType( current );
current->name = yytext;
current->name = yytext;
}
}
<CliPropertyType>"["{ID}"]" { // C++/CLI indexed property
current->args = yytext;
}
<CliPropertyType>"{" {
<CliPropertyType>"{" {
curlyCount=0;
curlyCount=0;
//printf("event: '%s' '%s'\n",current->type.data(),current->name.data());
//printf("event: '%s' '%s'\n",current->type.data(),current->name.data());
...
...
src/translator_br.h
View file @
f57b7d97
...
@@ -10,31 +10,20 @@
...
@@ -10,31 +10,20 @@
* Documents produced by Doxygen are derivative works derived from the
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
* input used in their production; they are not affected by this license.
*
*
* Brazilian Portuguese
version by
* Brazilian Portuguese
translation version 20070914
* Fabio "FJTC" Jun Takada Chino <jun-chino at uol.com.br>
*
Maintainer:
Fabio "FJTC" Jun Takada Chino <jun-chino at uol.com.br>
*
Version: 1.4.6 (2006/06/26)
*
Thanks to Jorge Ramos and others
*
*
* History:
* History:
* 1.4.6
* 20070914
* - trCallerGraph() added.
* - "Translate me" fixed
* - Revision number changed from doxygen version to a date string.
* - History cleanup
* - Latex babel package fixed.
* 1.4.6
* - trCallerGraph() added.
* - trEnumerationValueDocumentation() added.
* - trEnumerationValueDocumentation() added.
* 1.4.1
* Previous history removed from this version.
* - Method trOverloadText() added.
* 1.3.9
* - Updated to Doxygen 1.3.9
* 1.3.8
* - Updated to Doxygen 1.3.8
* 1.3.3:
* - Updated to Doxygen 1.3.3
* 1.3.2:
* - Updated to Doxygen 1.3.2
* 1.3:
* - Updated to Doxygen 1.3.x.
* 1.2.19:
* - Updated to Doxygen 1.2.19
* - Translation Review (Thanks to Jorge Ramos and others)
* - Small fixes in C output.
* - Latex generation support fixed (invalid package name).
*/
*/
#ifndef TRANSLATOR_BR_H
#ifndef TRANSLATOR_BR_H
#define TRANSLATOR_BR_H
#define TRANSLATOR_BR_H
...
@@ -64,7 +53,7 @@ class TranslatorBrazilian : public Translator
...
@@ -64,7 +53,7 @@ class TranslatorBrazilian : public Translator
*/
*/
virtual
QCString
latexLanguageSupportCommand
()
virtual
QCString
latexLanguageSupportCommand
()
{
{
return
"
\\
usepackage[
spanish
]{babel}"
;
return
"
\\
usepackage[
brazil
]{babel}"
;
}
}
/*! return the language charset. This will be used for the HTML output */
/*! return the language charset. This will be used for the HTML output */
...
@@ -611,8 +600,8 @@ class TranslatorBrazilian : public Translator
...
@@ -611,8 +600,8 @@ class TranslatorBrazilian : public Translator
case
ClassDef
:
:
Struct
:
result
+=
" Estrutura "
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
" Estrutura "
;
break
;
case
ClassDef
:
:
Union
:
result
+=
" União "
;
break
;
case
ClassDef
:
:
Union
:
result
+=
" União "
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
" Interface "
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
" Interface "
;
break
;
case
ClassDef
:
:
Protocol
:
result
+=
" Protocol
"
;
break
;
// translate me!
case
ClassDef
:
:
Protocol
:
result
+=
" Protocol
o "
;
break
;
case
ClassDef
:
:
Category
:
result
+=
" Categor
y "
;
break
;
// translate me!
case
ClassDef
:
:
Category
:
result
+=
" Categor
ia "
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
" Exceção "
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
" Exceção "
;
break
;
}
}
result
+=
(
QCString
)
clName
;
result
+=
(
QCString
)
clName
;
...
@@ -769,8 +758,8 @@ class TranslatorBrazilian : public Translator
...
@@ -769,8 +758,8 @@ class TranslatorBrazilian : public Translator
case
ClassDef
:
:
Struct
:
result
+=
"estrutura "
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"estrutura "
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"união "
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"união "
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"interface "
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"interface "
;
break
;
case
ClassDef
:
:
Protocol
:
result
+=
"protocol
"
;
break
;
// translate me!
case
ClassDef
:
:
Protocol
:
result
+=
"protocol
o "
;
break
;
case
ClassDef
:
:
Category
:
result
+=
"categor
y "
;
break
;
// translate me!
case
ClassDef
:
:
Category
:
result
+=
"categor
ia "
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"exceção "
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"exceção "
;
break
;
}
}
result
+=
" foi gerada a partir "
;
result
+=
" foi gerada a partir "
;
...
...
src/translator_cn.h
View file @
f57b7d97
...
@@ -475,8 +475,8 @@ class TranslatorChinese : public Translator
...
@@ -475,8 +475,8 @@ class TranslatorChinese : public Translator
case
ClassDef
:
:
Struct
:
result
+=
"结构"
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"结构"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"联合"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"联合"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"接口"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"接口"
;
break
;
case
ClassDef
:
:
Protocol
:
result
+=
"协议"
;
break
;
// translate me!
case
ClassDef
:
:
Protocol
:
result
+=
"协议"
;
break
;
case
ClassDef
:
:
Category
:
result
+=
"分类"
;
break
;
// translate me!
case
ClassDef
:
:
Category
:
result
+=
"分类"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"异常"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"异常"
;
break
;
}
}
result
+=
"参考"
;
result
+=
"参考"
;
...
@@ -642,8 +642,8 @@ class TranslatorChinese : public Translator
...
@@ -642,8 +642,8 @@ class TranslatorChinese : public Translator
case
ClassDef
:
:
Struct
:
result
+=
"结构"
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"结构"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"联合"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"联合"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"接口"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"接口"
;
break
;
case
ClassDef
:
:
Protocol
:
result
+=
"协议"
;
break
;
// translate me!
case
ClassDef
:
:
Protocol
:
result
+=
"协议"
;
break
;
case
ClassDef
:
:
Category
:
result
+=
"分类"
;
break
;
// translate me!
case
ClassDef
:
:
Category
:
result
+=
"分类"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"异常"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"异常"
;
break
;
}
}
result
+=
"的文档由以下文件生成:"
;
result
+=
"的文档由以下文件生成:"
;
...
...
src/translator_kr.h
View file @
f57b7d97
This diff is collapsed.
Click to expand it.
src/util.cpp
View file @
f57b7d97
...
@@ -826,11 +826,17 @@ int isAccessibleFrom(Definition *scope,FileDef *fileScope,Definition *item)
...
@@ -826,11 +826,17 @@ int isAccessibleFrom(Definition *scope,FileDef *fileScope,Definition *item)
Definition
*
itemScope
=
item
->
getOuterScope
();
Definition
*
itemScope
=
item
->
getOuterScope
();
if
(
itemScope
==
scope
||
if
(
(
item
->
definitionType
()
==
Definition
::
TypeMember
&&
itemScope
==
scope
||
// same thing
itemScope
&&
itemScope
->
definitionType
()
==
Definition
::
TypeClass
&&
(
item
->
definitionType
()
==
Definition
::
TypeMember
&&
// a member
scope
->
definitionType
()
==
Definition
::
TypeClass
&&
itemScope
&&
itemScope
->
definitionType
()
==
Definition
::
TypeClass
&&
// of a class
((
ClassDef
*
)
scope
)
->
isAccessibleMember
((
MemberDef
*
)
item
)
scope
->
definitionType
()
==
Definition
::
TypeClass
&&
// accessible
((
ClassDef
*
)
scope
)
->
isAccessibleMember
((
MemberDef
*
)
item
)
// from scope
)
||
(
item
->
definitionType
()
==
Definition
::
TypeClass
&&
// a nested class
itemScope
&&
itemScope
->
definitionType
()
==
Definition
::
TypeClass
&&
// inside a base
scope
->
definitionType
()
==
Definition
::
TypeClass
&&
// class of scope
((
ClassDef
*
)
scope
)
->
isBaseClass
((
ClassDef
*
)
itemScope
,
TRUE
)
)
)
)
)
{
{
...
@@ -915,7 +921,11 @@ int isAccessibleFromWithExpScope(Definition *scope,FileDef *fileScope,
...
@@ -915,7 +921,11 @@ int isAccessibleFromWithExpScope(Definition *scope,FileDef *fileScope,
QCString
key
(
40
+
explicitScopePart
.
length
());
QCString
key
(
40
+
explicitScopePart
.
length
());
key
.
sprintf
(
"%p:%p:%p:%s"
,
scope
,
fileScope
,
item
,
explicitScopePart
.
data
());
key
.
sprintf
(
"%p:%p:%p:%s"
,
scope
,
fileScope
,
item
,
explicitScopePart
.
data
());
static
QDict
<
void
>
visitedDict
;
static
QDict
<
void
>
visitedDict
;
if
(
visitedDict
.
find
(
key
))
return
-
1
;
// already looked at this
if
(
visitedDict
.
find
(
key
))
{
//printf("Already visited!\n");
return
-
1
;
// already looked at this
}
visitedDict
.
insert
(
key
,(
void
*
)
0x8
);
visitedDict
.
insert
(
key
,(
void
*
)
0x8
);
//printf(" <isAccessibleFromWithExpScope(%s,%s,%s)\n",scope?scope->name().data():"<global>",
//printf(" <isAccessibleFromWithExpScope(%s,%s,%s)\n",scope?scope->name().data():"<global>",
...
...
src/xmldocvisitor.cpp
View file @
f57b7d97
...
@@ -875,7 +875,7 @@ void XmlDocVisitor::visitPost(DocInternalRef *)
...
@@ -875,7 +875,7 @@ void XmlDocVisitor::visitPost(DocInternalRef *)
void
XmlDocVisitor
::
visitPre
(
DocCopy
*
c
)
void
XmlDocVisitor
::
visitPre
(
DocCopy
*
c
)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
m_t
<<
"<copydoc link=
\"
"
<<
c
->
link
(
)
<<
"
\"
>"
;
m_t
<<
"<copydoc link=
\"
"
<<
c
onvertToXML
(
c
->
link
()
)
<<
"
\"
>"
;
}
}
void
XmlDocVisitor
::
visitPost
(
DocCopy
*
)
void
XmlDocVisitor
::
visitPost
(
DocCopy
*
)
...
...
src/xmlgen.cpp
View file @
f57b7d97
...
@@ -539,6 +539,7 @@ static void stripQualifiers(QCString &typeStr)
...
@@ -539,6 +539,7 @@ static void stripQualifiers(QCString &typeStr)
if
(
typeStr
.
stripPrefix
(
"static "
));
if
(
typeStr
.
stripPrefix
(
"static "
));
else
if
(
typeStr
.
stripPrefix
(
"virtual "
));
else
if
(
typeStr
.
stripPrefix
(
"virtual "
));
else
if
(
typeStr
.
stripPrefix
(
"volatile "
));
else
if
(
typeStr
.
stripPrefix
(
"volatile "
));
else
if
(
typeStr
==
"virtual"
)
typeStr
=
""
;
else
done
=
TRUE
;
else
done
=
TRUE
;
}
}
}
}
...
@@ -563,6 +564,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
...
@@ -563,6 +564,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
// enum values are written as part of the enum
// enum values are written as part of the enum
if
(
md
->
memberType
()
==
MemberDef
::
EnumValue
)
return
;
if
(
md
->
memberType
()
==
MemberDef
::
EnumValue
)
return
;
if
(
md
->
isHidden
())
return
;
if
(
md
->
isHidden
())
return
;
if
(
md
->
name
().
at
(
0
)
==
'@'
)
return
;
// anonymous member
// group members are only visible in their group
// group members are only visible in their group
//if (def->definitionType()!=Definition::TypeGroup && md->getGroupDef()) return;
//if (def->definitionType()!=Definition::TypeGroup && md->getGroupDef()) return;
...
@@ -1012,31 +1014,34 @@ static void writeListOfAllMembers(ClassDef *cd,QTextStream &t)
...
@@ -1012,31 +1014,34 @@ static void writeListOfAllMembers(ClassDef *cd,QTextStream &t)
for
(
mii
.
toFirst
();(
mi
=
mii
.
current
());
++
mii
)
for
(
mii
.
toFirst
();(
mi
=
mii
.
current
());
++
mii
)
{
{
MemberDef
*
md
=
mi
->
memberDef
;
MemberDef
*
md
=
mi
->
memberDef
;
Protection
prot
=
mi
->
prot
;
if
(
md
->
name
().
at
(
0
)
!=
'@'
)
// skip anonymous members
Specifier
virt
=
md
->
virtualness
();
t
<<
" <member refid=
\"
"
<<
md
->
getOutputFileBase
()
<<
"_1"
<<
md
->
anchor
()
<<
"
\"
prot=
\"
"
;
switch
(
prot
)
{
{
case
Public
:
t
<<
"public"
;
break
;
Protection
prot
=
mi
->
prot
;
case
Protected
:
t
<<
"protected"
;
break
;
Specifier
virt
=
md
->
virtualness
();
case
Private
:
t
<<
"private"
;
break
;
t
<<
" <member refid=
\"
"
<<
md
->
getOutputFileBase
()
<<
"_1"
<<
case
Package
:
t
<<
"package"
;
break
;
md
->
anchor
()
<<
"
\"
prot=
\"
"
;
}
switch
(
prot
)
t
<<
"
\"
virt=
\"
"
;
{
switch
(
virt
)
case
Public
:
t
<<
"public"
;
break
;
{
case
Protected
:
t
<<
"protected"
;
break
;
case
Normal
:
t
<<
"non-virtual"
;
break
;
case
Private
:
t
<<
"private"
;
break
;
case
Virtual
:
t
<<
"virtual"
;
break
;
case
Package
:
t
<<
"package"
;
break
;
case
Pure
:
t
<<
"pure-virtual"
;
break
;
}
}
t
<<
"
\"
virt=
\"
"
;
t
<<
"
\"
"
;
switch
(
virt
)
if
(
!
mi
->
ambiguityResolutionScope
.
isEmpty
())
{
{
case
Normal
:
t
<<
"non-virtual"
;
break
;
t
<<
" ambiguityscope=
\"
"
<<
convertToXML
(
mi
->
ambiguityResolutionScope
)
<<
"
\"
"
;
case
Virtual
:
t
<<
"virtual"
;
break
;
case
Pure
:
t
<<
"pure-virtual"
;
break
;
}
t
<<
"
\"
"
;
if
(
!
mi
->
ambiguityResolutionScope
.
isEmpty
())
{
t
<<
" ambiguityscope=
\"
"
<<
convertToXML
(
mi
->
ambiguityResolutionScope
)
<<
"
\"
"
;
}
t
<<
"><scope>"
<<
convertToXML
(
cd
->
name
())
<<
"</scope><name>"
<<
convertToXML
(
md
->
name
())
<<
"</name></member>"
<<
endl
;
}
}
t
<<
"><scope>"
<<
convertToXML
(
cd
->
name
())
<<
"</scope><name>"
<<
convertToXML
(
md
->
name
())
<<
"</name></member>"
<<
endl
;
}
}
}
}
}
}
...
...
winbuild/Doxywizard.vcproj
View file @
f57b7d97
...
@@ -53,7 +53,7 @@
...
@@ -53,7 +53,7 @@
Name=
"VCCLCompilerTool"
Name=
"VCCLCompilerTool"
Optimization=
"0"
Optimization=
"0"
AdditionalIncludeDirectories=
"$(QTDIR)\include;..\src;."
AdditionalIncludeDirectories=
"$(QTDIR)\include;..\src;."
PreprocessorDefinitions=
"WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;LIBICONV_STATIC"
PreprocessorDefinitions=
"WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;LIBICONV_STATIC
;NODEBUG
"
MinimalRebuild=
"true"
MinimalRebuild=
"true"
BasicRuntimeChecks=
"3"
BasicRuntimeChecks=
"3"
RuntimeLibrary=
"1"
RuntimeLibrary=
"1"
...
@@ -73,7 +73,7 @@
...
@@ -73,7 +73,7 @@
/>
/>
<Tool
<Tool
Name=
"VCLinkerTool"
Name=
"VCLinkerTool"
AdditionalDependencies=
"$(QTDIR)\lib\qt-mt
336.lib $(QTDIR)\lib\qtmain.lib iconv
.lib"
AdditionalDependencies=
"$(QTDIR)\lib\qt-mt
.lib $(QTDIR)\lib\qtmain.lib iconv.lib ws2_32.lib winmm.lib imm32
.lib"
OutputFile=
"..\bin\Debug\doxywizard.exe"
OutputFile=
"..\bin\Debug\doxywizard.exe"
LinkIncremental=
"2"
LinkIncremental=
"2"
GenerateManifest=
"false"
GenerateManifest=
"false"
...
@@ -139,7 +139,7 @@
...
@@ -139,7 +139,7 @@
<Tool
<Tool
Name=
"VCCLCompilerTool"
Name=
"VCCLCompilerTool"
AdditionalIncludeDirectories=
"$(QTDIR)\include;..\src;."
AdditionalIncludeDirectories=
"$(QTDIR)\include;..\src;."
PreprocessorDefinitions=
"WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;LIBICONV_STATIC"
PreprocessorDefinitions=
"WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;LIBICONV_STATIC
;NODEBUG
"
RuntimeLibrary=
"0"
RuntimeLibrary=
"0"
UsePrecompiledHeader=
"0"
UsePrecompiledHeader=
"0"
WarningLevel=
"3"
WarningLevel=
"3"
...
@@ -158,7 +158,7 @@
...
@@ -158,7 +158,7 @@
/>
/>
<Tool
<Tool
Name=
"VCLinkerTool"
Name=
"VCLinkerTool"
AdditionalDependencies=
"$(QTDIR)\lib\qt-mt
336.lib $(QTDIR)\lib\qtmain.lib iconv
.lib"
AdditionalDependencies=
"$(QTDIR)\lib\qt-mt
.lib $(QTDIR)\lib\qtmain.lib iconv.lib ws2_32.lib winmm.lib imm32
.lib"
OutputFile=
"..\bin\doxywizard.exe"
OutputFile=
"..\bin\doxywizard.exe"
LinkIncremental=
"1"
LinkIncremental=
"1"
GenerateManifest=
"false"
GenerateManifest=
"false"
...
...
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