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
91ac89e2
Commit
91ac89e2
authored
Mar 08, 2003
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.3-rc3-20030308
parent
6ac75f50
Changes
28
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
563 additions
and
353 deletions
+563
-353
INSTALL
INSTALL
+2
-2
README
README
+2
-2
VERSION
VERSION
+1
-1
commands.doc
doc/commands.doc
+2
-2
config.doc
doc/config.doc
+23
-2
index.doc
doc/index.doc
+2
-1
language.doc
doc/language.doc
+7
-7
starting.doc
doc/starting.doc
+7
-0
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
config.l
src/config.l
+24
-1
docparser.cpp
src/docparser.cpp
+12
-6
doctokenizer.l
src/doctokenizer.l
+3
-2
doxygen.cpp
src/doxygen.cpp
+74
-44
ftvhelp.cpp
src/ftvhelp.cpp
+19
-5
ftvhelp.h
src/ftvhelp.h
+2
-2
htmldocvisitor.cpp
src/htmldocvisitor.cpp
+1
-1
index.cpp
src/index.cpp
+1
-1
latexgen.cpp
src/latexgen.cpp
+38
-57
memberdef.cpp
src/memberdef.cpp
+1
-1
pre.l
src/pre.l
+20
-3
scanner.l
src/scanner.l
+3
-2
translator_cz.h
src/translator_cz.h
+14
-8
translator_hr.h
src/translator_hr.h
+38
-11
translator_jp.h
src/translator_jp.h
+22
-13
translator_pl.h
src/translator_pl.h
+191
-141
translator_ru.h
src/translator_ru.h
+28
-15
util.cpp
src/util.cpp
+24
-22
util.h
src/util.h
+1
-0
No files found.
INSTALL
View file @
91ac89e2
DOXYGEN Version 1.3-rc3-20030
223
DOXYGEN Version 1.3-rc3-20030
308
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 (
23 February
2003)
Dimitri van Heesch (
08 March
2003)
README
View file @
91ac89e2
DOXYGEN Version 1.3_rc3_20030
223
DOXYGEN Version 1.3_rc3_20030
308
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) (
23 February
2003)
Dimitri van Heesch (dimitri@stack.nl) (
08 March
2003)
VERSION
View file @
91ac89e2
1.3-rc3-20030
223
1.3-rc3-20030
308
doc/commands.doc
View file @
91ac89e2
...
@@ -1763,7 +1763,7 @@ ALIASES = "english=\if english" \
...
@@ -1763,7 +1763,7 @@ ALIASES = "english=\if english" \
to documented entities.
to documented entities.
<hr>
<hr>
\section cmdlt \
\
<
\section cmdlt \<
\addindex \\\<
\addindex \\\<
This command writes the \< character to the HTML and
This command writes the \< character to the HTML and
...
@@ -1771,7 +1771,7 @@ ALIASES = "english=\if english" \
...
@@ -1771,7 +1771,7 @@ ALIASES = "english=\if english" \
character has to be escaped because it has a special meaning in HTML.
character has to be escaped because it has a special meaning in HTML.
<hr>
<hr>
\section cmdgt \
\
>
\section cmdgt \>
\addindex \\\>
\addindex \\\>
This command writes the \> character to the HTML and
This command writes the \> character to the HTML and
...
...
doc/config.doc
View file @
91ac89e2
...
@@ -146,6 +146,7 @@ followed by the descriptions of the tags grouped by category.
...
@@ -146,6 +146,7 @@ followed by the descriptions of the tags grouped by category.
\
refitem
cfg_latex_batchmode
LATEX_BATCHMODE
\
refitem
cfg_latex_batchmode
LATEX_BATCHMODE
\
refitem
cfg_latex_cmd_name
LATEX_CMD_NAME
\
refitem
cfg_latex_cmd_name
LATEX_CMD_NAME
\
refitem
cfg_latex_header
LATEX_HEADER
\
refitem
cfg_latex_header
LATEX_HEADER
\
refitem
cfg_latex_hide_indices
LATEX_HIDE_INDICES
\
refitem
cfg_latex_output
LATEX_OUTPUT
\
refitem
cfg_latex_output
LATEX_OUTPUT
\
refitem
cfg_macro_expansion
MACRO_EXPANSION
\
refitem
cfg_macro_expansion
MACRO_EXPANSION
\
refitem
cfg_makeindex_cmd_name
MAKEINDEX_CMD_NAME
\
refitem
cfg_makeindex_cmd_name
MAKEINDEX_CMD_NAME
...
@@ -193,6 +194,7 @@ followed by the descriptions of the tags grouped by category.
...
@@ -193,6 +194,7 @@ followed by the descriptions of the tags grouped by category.
\
refitem
cfg_template_relations
TEMPLATE_RELATIONS
\
refitem
cfg_template_relations
TEMPLATE_RELATIONS
\
refitem
cfg_toc_expand
TOC_EXPAND
\
refitem
cfg_toc_expand
TOC_EXPAND
\
refitem
cfg_treeview_width
TREEVIEW_WIDTH
\
refitem
cfg_treeview_width
TREEVIEW_WIDTH
\
refitem
cfg_use_windows_encoding
USE_WINDOWS_ENCODING
\
refitem
cfg_verbatim_headers
VERBATIM_HEADERS
\
refitem
cfg_verbatim_headers
VERBATIM_HEADERS
\
refitem
cfg_warn_format
WARN_FORMAT
\
refitem
cfg_warn_format
WARN_FORMAT
\
refitem
cfg_warn_if_doc_error
WARN_IF_DOC_ERROR
\
refitem
cfg_warn_if_doc_error
WARN_IF_DOC_ERROR
...
@@ -240,6 +242,17 @@ followed by the descriptions of the tags grouped by category.
...
@@ -240,6 +242,17 @@ followed by the descriptions of the tags grouped by category.
German
,
Greek
,
Hungarian
,
Italian
,
Japanese
,
Korean
,
Norwegian
,
Polish
,
German
,
Greek
,
Hungarian
,
Italian
,
Japanese
,
Korean
,
Norwegian
,
Polish
,
Portuguese
,
Romanian
,
Russian
,
Serbian
,
Slovak
,
Slovene
,
Spanish
and
Swedish
.
Portuguese
,
Romanian
,
Russian
,
Serbian
,
Slovak
,
Slovene
,
Spanish
and
Swedish
.
\
anchor
cfg_use_windows_encoding
<
dt
>\
c
USE_WINDOWS_ENCODING
<
dd
>
\
addindex
USE_WINDOWS_ENCODING
This
tag
can
be
used
to
specify
the
encoding
used
in
the
generated
output
.
The
encoding
is
not
always
determined
by
the
language
that
is
chosen
,
but
also
whether
or
not
the
output
is
meant
for
Windows
or
non
-
Windows
users
.
In
case
there
is
a
difference
,
setting
the
\
c
USE_WINDOWS_ENCODING
tag
to
\
c
YES
forces
the
Windows
enconding
,
(
this
is
the
default
for
the
Windows
binary
),
whereas
setting
the
tag
to
\
c
NO
uses
a
Unix
-
style
encoding
(
the
default
for
the
all
platforms
other
than
Windows
).
\
anchor
cfg_extract_all
\
anchor
cfg_extract_all
<
dt
>\
c
EXTRACT_ALL
<
dd
>
<
dt
>\
c
EXTRACT_ALL
<
dd
>
\
addindex
EXTRACT_ALL
\
addindex
EXTRACT_ALL
...
@@ -953,8 +966,8 @@ function's detailed documentation block.
...
@@ -953,8 +966,8 @@ function's detailed documentation block.
If
the
\
c
GENERATE_TREEVIEW
tag
is
set
to
YES
,
a
side
pannel
will
be
If
the
\
c
GENERATE_TREEVIEW
tag
is
set
to
YES
,
a
side
pannel
will
be
generated
containing
a
tree
-
like
index
structure
(
just
like
the
one
that
generated
containing
a
tree
-
like
index
structure
(
just
like
the
one
that
is
generated
for
HTML
Help
).
For
this
to
work
a
browser
that
supports
is
generated
for
HTML
Help
).
For
this
to
work
a
browser
that
supports
JavaScript
and
frames
is
required
(
for
instance
Netscape
4
.0
+
JavaScript
and
frames
is
required
(
for
instance
Mozilla
1.0
+,
Netscape
6
.0
+
or
Internet
explorer
4.0
+
).
or
Internet
explorer
5.0
+
or
Konqueror
).
\
anchor
cfg_treeview_width
\
anchor
cfg_treeview_width
<
dt
>\
c
TREEVIEW_WIDTH
<
dd
>
<
dt
>\
c
TREEVIEW_WIDTH
<
dd
>
...
@@ -1077,6 +1090,14 @@ EXTRA_PACKAGES = times
...
@@ -1077,6 +1090,14 @@ EXTRA_PACKAGES = times
asking the user for help. This option is also used when generating formulas
asking the user for help. This option is also used when generating formulas
in HTML.
in HTML.
\anchor cfg_latex_hide_indices
<dt>\c LATEX_HIDE_INDICES <dd>
\addindex LATEX_HIDE_INDICES
If \c LATEX_HIDE_INDICES is set to \c YES then doxygen will not
include the index chapters (such as File Index, Compound Index, etc.)
in the output.
</dl>
</dl>
\section rtf_output RTF related options
\section rtf_output RTF related options
\anchor cfg_generate_rtf
\anchor cfg_generate_rtf
...
...
doc/index.doc
View file @
91ac89e2
...
@@ -183,7 +183,8 @@ Thanks go to:
...
@@ -183,7 +183,8 @@ Thanks go to:
Roddy, Paul Schwartz, Charles Duffy, Vadym Voznyuk, Philip Walton,
Roddy, Paul Schwartz, Charles Duffy, Vadym Voznyuk, Philip Walton,
Dwight Browne, Andreas Fredriksson, Karel Lindveld, Ivan Lee, Albert
Dwight Browne, Andreas Fredriksson, Karel Lindveld, Ivan Lee, Albert
Vernon, Adam McKee, Vijapurapu Anatharac, Ben Hunsberger and
Vernon, Adam McKee, Vijapurapu Anatharac, Ben Hunsberger and
Walter Wartenweiler, Jeff Garbers and David Harris for donating money.
Walter Wartenweiler, Jeff Garbers, David Harris and Terry Brown
for donating money.
<li>The Comms group of <a href="http://www.symbian.com">Symbian</a> for donating
<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>
an ultra cool <a href="http://www.psion.com/revoplus">Revo plus</a>
organizer!
organizer!
...
...
doc/language.doc
View file @
91ac89e2
...
@@ -25,7 +25,7 @@ Doxygen has built-in support for multiple languages. This means
...
@@ -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
that the text fragments that doxygen generates can be produced in
languages other than English (the default) at configuration time.
languages other than English (the default) at configuration time.
Currently (version 1.
3-rc3-20030215
), 28 languages
Currently (version 1.
2.14-20020317
), 28 languages
are supported (sorted alphabetically):
are supported (sorted alphabetically):
Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian,
Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian,
Czech, Danish, Dutch, English, Finnish,
Czech, Danish, Dutch, English, Finnish,
...
@@ -79,7 +79,7 @@ when the translator was updated.
...
@@ -79,7 +79,7 @@ when the translator was updated.
<TD>Croatian</TD>
<TD>Croatian</TD>
<TD>Boris Bralo</TD>
<TD>Boris Bralo</TD>
<TD>boris.bralo@NOSPAM.zg.tel.hr</TD>
<TD>boris.bralo@NOSPAM.zg.tel.hr</TD>
<TD>
1.2.18
</TD>
<TD>
up-to-date
</TD>
</TR>
</TR>
<TR BGCOLOR="#ffffff">
<TR BGCOLOR="#ffffff">
<TD>Czech</TD>
<TD>Czech</TD>
...
@@ -151,7 +151,7 @@ when the translator was updated.
...
@@ -151,7 +151,7 @@ when the translator was updated.
<TD>Korean</TD>
<TD>Korean</TD>
<TD>Richard Kim</TD>
<TD>Richard Kim</TD>
<TD>ryk@NOSPAM.dspwiz.com</TD>
<TD>ryk@NOSPAM.dspwiz.com</TD>
<TD>
1.2.13
</TD>
<TD>
up-to-date
</TD>
</TR>
</TR>
<TR BGCOLOR="#ffffff">
<TR BGCOLOR="#ffffff">
<TD>Norwegian</TD>
<TD>Norwegian</TD>
...
@@ -163,7 +163,7 @@ when the translator was updated.
...
@@ -163,7 +163,7 @@ when the translator was updated.
<TD>Polish</TD>
<TD>Polish</TD>
<TD>Piotr Kaminski<br>Grzegorz Kowal</TD>
<TD>Piotr Kaminski<br>Grzegorz Kowal</TD>
<TD>Piotr.Kaminski@NOSPAM.ctm.gdynia.pl<br>g_kowal@NOSPAM.poczta.onet.pl</TD>
<TD>Piotr.Kaminski@NOSPAM.ctm.gdynia.pl<br>g_kowal@NOSPAM.poczta.onet.pl</TD>
<TD>
1.2.17
</TD>
<TD>
up-to-date
</TD>
</TR>
</TR>
<TR BGCOLOR="#ffffff">
<TR BGCOLOR="#ffffff">
<TD>Portuguese</TD>
<TD>Portuguese</TD>
...
@@ -239,7 +239,7 @@ when the translator was updated.
...
@@ -239,7 +239,7 @@ when the translator was updated.
\hline
\hline
Chinese Traditional & Gary Lee & {\tt garylee@ecosine.com.tw} & 1.2.16 \\
Chinese Traditional & Gary Lee & {\tt garylee@ecosine.com.tw} & 1.2.16 \\
\hline
\hline
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} &
1.2.18
\\
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} &
up-to-date
\\
\hline
\hline
Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} & up-to-date \\
Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} & up-to-date \\
\hline
\hline
...
@@ -265,11 +265,11 @@ when the translator was updated.
...
@@ -265,11 +265,11 @@ when the translator was updated.
Japanese & Ryunosuke Satoh & {\tt sun594@hotmail.com} & up-to-date \\
Japanese & Ryunosuke Satoh & {\tt sun594@hotmail.com} & up-to-date \\
& Kenji Nagamatsu & {\tt naga@joyful.club.ne.jp} & \\
& Kenji Nagamatsu & {\tt naga@joyful.club.ne.jp} & \\
\hline
\hline
Korean & Richard Kim & {\tt ryk@dspwiz.com} &
1.2.13
\\
Korean & Richard Kim & {\tt ryk@dspwiz.com} &
up-to-date
\\
\hline
\hline
Norwegian & Lars Erik Jordet & {\tt lej@circuitry.no} & 1.2.2 \\
Norwegian & Lars Erik Jordet & {\tt lej@circuitry.no} & 1.2.2 \\
\hline
\hline
Polish & Piotr Kaminski & {\tt Piotr.Kaminski@ctm.gdynia.pl} &
1.2.17
\\
Polish & Piotr Kaminski & {\tt Piotr.Kaminski@ctm.gdynia.pl} &
up-to-date
\\
& Grzegorz Kowal & {\tt g\_kowal@poczta.onet.pl} & \\
& Grzegorz Kowal & {\tt g\_kowal@poczta.onet.pl} & \\
\hline
\hline
Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} & 1.2.18 \\
Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} & 1.2.18 \\
...
...
doc/starting.doc
View file @
91ac89e2
...
@@ -95,6 +95,13 @@ To omit all \c test directories from a source tree for instance, one could use:
...
@@ -95,6 +95,13 @@ To omit all \c test directories from a source tree for instance, one could use:
\verbatim EXCLUDE_PATTERNS = */test/*
\verbatim EXCLUDE_PATTERNS = */test/*
\endverbatim
\endverbatim
Doxygen normally parses files if they are C or C++ sources. If a file
has a <code>.idl</code> or <code>.odl</code> extension it is treated as an
IDL file. If it has a <code>.java</code> extension it is treated as a file
written in Java. Files ending with <code>.cs</code> are treated as C# files.
Finally, files with the extensions <code>.php</code>, <code>.php4</code>,
<code>.inc</code> or <code>.phtml</code> are treated as PHP sources.
If you start using doxygen for an existing project (thus without any
If you start using doxygen for an existing project (thus without any
documentation that doxygen is aware of), you can still get an idea of
documentation that doxygen is aware of), you can still get an idea of
what the documented result would be. To do so, you must set
what the documented result would be. To do so, you must set
...
...
packages/rpm/doxygen.spec
View file @
91ac89e2
Summary: A documentation system for C/C++.
Summary: A documentation system for C/C++.
Name: doxygen
Name: doxygen
Version: 1.3_rc3_20030
223
Version: 1.3_rc3_20030
308
Release: 1
Release: 1
Epoch: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
...
...
src/config.l
View file @
91ac89e2
...
@@ -1361,6 +1361,21 @@ void Config::create()
...
@@ -1361,6 +1361,21 @@ void Config::create()
#ifdef LANG_UA
#ifdef LANG_UA
ce->addValue("Ukrainian");
ce->addValue("Ukrainian");
#endif
#endif
cb = addBool(
"USE_WINDOWS_ENCODING",
"This tag can be used to specify the encoding used in the generated output. \n"
"The encoding is not always determined by the language that is chosen, \n"
"but also whether or not the output is meant for Windows or non-Windows users. \n"
"In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES \n"
"forces the Windows enconding, (this is the default for the Windows binary), \n"
"whereas setting the tag to NO uses a Unix-style encoding (the default for the \n"
"all platforms other than Windows).\n",
#if defined(_WIN32) || defined(__CYGWIN__)
TRUE
#else
FALSE
#endif
);
cb = addBool(
cb = addBool(
"EXTRACT_ALL",
"EXTRACT_ALL",
"If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in \n"
"If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in \n"
...
@@ -1975,7 +1990,7 @@ void Config::create()
...
@@ -1975,7 +1990,7 @@ void Config::create()
"If the GENERATE_TREEVIEW tag is set to YES, a side panel will be\n"
"If the GENERATE_TREEVIEW tag is set to YES, a side panel will be\n"
"generated containing a tree-like index structure (just like the one that \n"
"generated containing a tree-like index structure (just like the one that \n"
"is generated for HTML Help). For this to work a browser that supports \n"
"is generated for HTML Help). For this to work a browser that supports \n"
"JavaScript, DHTML, CSS and frames is required (for instance Mozilla, \n"
"JavaScript, DHTML, CSS and frames is required (for instance Mozilla
1.0+
, \n"
"Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are \n"
"Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are \n"
"probably better off using the HTML help feature. \n",
"probably better off using the HTML help feature. \n",
FALSE
FALSE
...
@@ -2087,6 +2102,14 @@ void Config::create()
...
@@ -2087,6 +2102,14 @@ void Config::create()
FALSE
FALSE
);
);
cb->addDependency("GENERATE_LATEX");
cb->addDependency("GENERATE_LATEX");
cb = addBool(
"LATEX_HIDE_INDICES",
"If LATEX_HIDE_INDICES is set to YES then doxygen will not \n"
"include the index chapters (such as File Index, Compound Index, etc.) \n"
"in the output. \n",
FALSE
);
cb->addDependency("GENERATE_LATEX");
//-----------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------
addInfo( "RTF","configuration options related to the RTF output");
addInfo( "RTF","configuration options related to the RTF output");
//-----------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------
...
...
src/docparser.cpp
View file @
91ac89e2
...
@@ -562,11 +562,11 @@ static int handleStyleArgument(DocNode *parent,QList<DocNode> &children,
...
@@ -562,11 +562,11 @@ static int handleStyleArgument(DocNode *parent,QList<DocNode> &children,
{
{
case
TK_COMMAND
:
case
TK_COMMAND
:
warn_doc_error
(
g_fileName
,
doctokenizerYYlineno
,
"Warning: Illegal command
\\
%s as the argument of a
\\
%s command"
,
warn_doc_error
(
g_fileName
,
doctokenizerYYlineno
,
"Warning: Illegal command
\\
%s as the argument of a
\\
%s command"
,
tokenN
ame
.
data
(),
cmdName
.
data
());
g_token
->
n
ame
.
data
(),
cmdName
.
data
());
break
;
break
;
case
TK_SYMBOL
:
case
TK_SYMBOL
:
warn_doc_error
(
g_fileName
,
doctokenizerYYlineno
,
"Warning: Unsupported symbol %s found"
,
warn_doc_error
(
g_fileName
,
doctokenizerYYlineno
,
"Warning: Unsupported symbol %s found"
,
tokenN
ame
.
data
());
g_token
->
n
ame
.
data
());
break
;
break
;
default:
default:
warn_doc_error
(
g_fileName
,
doctokenizerYYlineno
,
"Warning: Unexpected token %s"
,
warn_doc_error
(
g_fileName
,
doctokenizerYYlineno
,
"Warning: Unexpected token %s"
,
...
@@ -688,8 +688,7 @@ static void handleLinkedWord(DocNode *parent,QList<DocNode> &children)
...
@@ -688,8 +688,7 @@ static void handleLinkedWord(DocNode *parent,QList<DocNode> &children)
{
{
Definition
*
compound
=
0
;
Definition
*
compound
=
0
;
MemberDef
*
member
=
0
;
MemberDef
*
member
=
0
;
QString
name
=
g_token
->
name
;
QString
name
=
linkToText
(
g_token
->
name
);
if
(
name
.
at
(
0
)
==
'#'
)
name
=
name
.
right
(
name
.
length
()
-
1
);
if
(
resolveRef
(
g_context
,
g_token
->
name
,
g_inSeeBlock
,
&
compound
,
&
member
))
if
(
resolveRef
(
g_context
,
g_token
->
name
,
g_inSeeBlock
,
&
compound
,
&
member
))
{
{
if
(
member
)
// member link
if
(
member
)
// member link
...
@@ -1615,7 +1614,7 @@ DocRef::DocRef(DocNode *parent,const QString &target) :
...
@@ -1615,7 +1614,7 @@ DocRef::DocRef(DocNode *parent,const QString &target) :
}
}
else
if
(
resolveLink
(
g_context
,
target
,
TRUE
,
&
compound
,
&
pageInfo
,
anchor
))
else
if
(
resolveLink
(
g_context
,
target
,
TRUE
,
&
compound
,
&
pageInfo
,
anchor
))
{
{
m_text
=
target
;
m_text
=
linkToText
(
target
)
;
m_anchor
=
anchor
;
m_anchor
=
anchor
;
if
(
pageInfo
)
// ref to page
if
(
pageInfo
)
// ref to page
{
{
...
@@ -3526,7 +3525,14 @@ int DocPara::handleCommand(const QString &cmdName)
...
@@ -3526,7 +3525,14 @@ int DocPara::handleCommand(const QString &cmdName)
{
{
doctokenizerYYsetStateCode
();
doctokenizerYYsetStateCode
();
retval
=
doctokenizerYYlex
();
retval
=
doctokenizerYYlex
();
m_children
.
append
(
new
DocVerbatim
(
this
,
g_context
,
g_token
->
verb
,
DocVerbatim
::
Code
,
g_isExample
,
g_fileName
));
// search for the first non-whitespace line, index is stored in li
int
i
=
0
,
li
=
0
,
l
=
g_token
->
verb
.
length
();
while
(
i
<
l
&&
g_token
->
verb
.
at
(
i
)
==
' '
||
g_token
->
verb
.
at
(
i
)
==
'\n'
)
{
if
(
g_token
->
verb
.
at
(
i
)
==
'\n'
)
li
=
i
+
1
;
i
++
;
}
m_children
.
append
(
new
DocVerbatim
(
this
,
g_context
,
g_token
->
verb
.
mid
(
li
),
DocVerbatim
::
Code
,
g_isExample
,
g_fileName
));
if
(
retval
==
0
)
warn_doc_error
(
g_fileName
,
doctokenizerYYlineno
,
"Warning: code section ended without end marker"
);
if
(
retval
==
0
)
warn_doc_error
(
g_fileName
,
doctokenizerYYlineno
,
"Warning: code section ended without end marker"
);
doctokenizerYYsetStatePara
();
doctokenizerYYsetStatePara
();
}
}
...
...
src/doctokenizer.l
View file @
91ac89e2
...
@@ -487,7 +487,7 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
...
@@ -487,7 +487,7 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
return TK_NEWPARA;
return TK_NEWPARA;
}
}
}
}
<St_Code>{CMD}"endcode" {
<St_Code>{
WS}*{
CMD}"endcode" {
return RetVal_OK;
return RetVal_OK;
}
}
<St_Code>[^\\@\n]+ |
<St_Code>[^\\@\n]+ |
...
@@ -603,11 +603,12 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
...
@@ -603,11 +603,12 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
return 0;
return 0;
}
}
<St_Ref>(
{ID}[.
-])*{ID} {
<St_Ref>(
"#"|"::")?({ID}[.#:
-])*{ID} {
g_token->name=yytext;
g_token->name=yytext;
return TK_WORD;
return TK_WORD;
}
}
<St_Ref>{BLANK}+ {
<St_Ref>{BLANK}+ {
unput(' ');
return 0;
return 0;
}
}
<St_Ref>{BLANK}+"\"" {
<St_Ref>{BLANK}+"\"" {
...
...
src/doxygen.cpp
View file @
91ac89e2
...
@@ -235,83 +235,110 @@ static void addRelatedPage(Entry *root)
...
@@ -235,83 +235,110 @@ static void addRelatedPage(Entry *root)
}
}
static
void
buildGroupList
(
Entry
*
root
)
static
void
buildGroupList
Filtered
(
Entry
*
root
,
bool
additional
)
{
{
if
(
root
->
section
==
Entry
::
GROUPDOC_SEC
&&
!
root
->
name
.
isEmpty
())
if
(
root
->
section
==
Entry
::
GROUPDOC_SEC
&&
!
root
->
name
.
isEmpty
())
{
{
//printf("Found group %s title=`%s'\n",root->name.data(),root->type.data());
//printf("Found group %s title=`%s type=%d'\n",
// root->name.data(),root->type.data(),root->groupDocType);
GroupDef
*
gd
;
if
((
gd
=
Doxygen
::
groupSDict
[
root
->
name
]))
if
((
root
->
groupDocType
==
Entry
::
GROUPDOC_NORMAL
&&
!
additional
)
||
(
root
->
groupDocType
!=
Entry
::
GROUPDOC_NORMAL
&&
additional
))
{
{
if
(
root
->
groupDocType
==
Entry
::
GROUPDOC_NORMAL
)
GroupDef
*
gd
;
if
((
gd
=
Doxygen
::
groupSDict
[
root
->
name
]))
{
{
warn
(
root
->
fileName
,
root
->
startLine
,
if
(
root
->
groupDocType
==
Entry
::
GROUPDOC_NORMAL
)
"Warning: group %s already documented. "
{
"Skipping documentation."
,
warn
(
root
->
fileName
,
root
->
startLine
,
root
->
name
.
data
());
"Warning: group %s already documented. "
"Skipping documentation."
,
root
->
name
.
data
());
}
else
{
if
(
!
gd
->
hasGroupTitle
()
)
gd
->
setGroupTitle
(
root
->
type
);
else
if
(
root
->
type
.
length
()
>
0
&&
root
->
name
!=
root
->
type
&&
gd
->
groupTitle
()
!=
root
->
type
)
warn
(
root
->
fileName
,
root
->
startLine
,
"group %s: ignoring title
\"
%s
\"
that does not match old title
\"
%s
\"\n
"
,
root
->
name
.
data
(),
root
->
type
.
data
(),
gd
->
groupTitle
()
);
if
(
gd
->
briefDescription
().
isEmpty
()
)
gd
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
if
(
!
root
->
doc
.
stripWhiteSpace
().
isEmpty
()
)
gd
->
setDocumentation
(
gd
->
documentation
().
isEmpty
()
?
root
->
doc
:
gd
->
documentation
()
+
"
\n\n
"
+
root
->
doc
,
root
->
docFile
,
root
->
docLine
);
gd
->
addSectionsToDefinition
(
root
->
anchors
);
gd
->
setRefItems
(
root
->
sli
);
//addGroupToGroups(root,gd);
}
}
}
else
else
{
{
if
(
!
gd
->
hasGroupTitle
()
)
gd
=
new
GroupDef
(
root
->
fileName
,
root
->
startLine
,
root
->
name
,
root
->
type
);
gd
->
setGroupTitle
(
root
->
type
);
if
(
root
->
tagInfo
)
else
if
(
root
->
type
.
length
()
>
0
&&
root
->
name
!=
root
->
type
&&
gd
->
groupTitle
()
!=
root
->
type
)
{
warn
(
root
->
fileName
,
root
->
startLine
,
gd
->
setReference
(
root
->
tagInfo
->
tagName
);
"group %s: ignoring title
\"
%s
\"
that does not match old title
\"
%s
\"\n
"
,
}
root
->
name
.
data
(),
root
->
type
.
data
(),
gd
->
groupTitle
()
);
gd
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
if
(
gd
->
briefDescription
().
isEmpty
()
)
gd
->
setDocumentation
(
root
->
doc
,
root
->
docFile
,
root
->
docLine
);
gd
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
if
(
!
root
->
doc
.
stripWhiteSpace
().
isEmpty
()
)
gd
->
setDocumentation
(
gd
->
documentation
().
isEmpty
()
?
root
->
doc
:
gd
->
documentation
()
+
"
\n\n
"
+
root
->
doc
,
root
->
docFile
,
root
->
docLine
);
gd
->
addSectionsToDefinition
(
root
->
anchors
);
gd
->
addSectionsToDefinition
(
root
->
anchors
);
Doxygen
::
groupSDict
.
append
(
root
->
name
,
gd
);
gd
->
setRefItems
(
root
->
sli
);
gd
->
setRefItems
(
root
->
sli
);
addGroupToGroups
(
root
,
gd
);
}
}
else
{
gd
=
new
GroupDef
(
root
->
fileName
,
root
->
startLine
,
root
->
name
,
root
->
type
);
if
(
root
->
tagInfo
)
{
gd
->
setReference
(
root
->
tagInfo
->
tagName
);
}
}
gd
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
gd
->
setDocumentation
(
root
->
doc
,
root
->
docFile
,
root
->
docLine
);
gd
->
addSectionsToDefinition
(
root
->
anchors
);
Doxygen
::
groupSDict
.
append
(
root
->
name
,
gd
);
gd
->
setRefItems
(
root
->
sli
);
}
}
}
}
EntryListIterator
eli
(
*
root
->
sublist
);
EntryListIterator
eli
(
*
root
->
sublist
);
Entry
*
e
;
Entry
*
e
;
for
(;(
e
=
eli
.
current
());
++
eli
)
for
(;(
e
=
eli
.
current
());
++
eli
)
{
{
buildGroupList
(
e
);
buildGroupList
Filtered
(
e
,
additional
);
}
}
}
}
static
void
organizeSubGroups
(
Entry
*
root
)
static
void
buildGroupList
(
Entry
*
root
)
{
// first process the @defgroups blocks
buildGroupListFiltered
(
root
,
FALSE
);
// then process the @addtogroup, @weakgroup blocks
buildGroupListFiltered
(
root
,
TRUE
);
}
static
void
organizeSubGroupsFiltered
(
Entry
*
root
,
bool
additional
)
{
{
if
(
root
->
section
==
Entry
::
GROUPDOC_SEC
&&
!
root
->
name
.
isEmpty
())
if
(
root
->
section
==
Entry
::
GROUPDOC_SEC
&&
!
root
->
name
.
isEmpty
())
{
{
GroupDef
*
gd
;
if
((
root
->
groupDocType
==
Entry
::
GROUPDOC_NORMAL
&&
!
additional
)
||
(
root
->
groupDocType
!=
Entry
::
GROUPDOC_NORMAL
&&
additional
))
if
((
gd
=
Doxygen
::
groupSDict
[
root
->
name
]))
{
{
addGroupToGroups
(
root
,
gd
);
GroupDef
*
gd
;
if
((
gd
=
Doxygen
::
groupSDict
[
root
->
name
]))
{
//printf("adding %s to group %s\n",root->name.data(),gd->name().data());
addGroupToGroups
(
root
,
gd
);
}
}
}
}
}
EntryListIterator
eli
(
*
root
->
sublist
);
EntryListIterator
eli
(
*
root
->
sublist
);
Entry
*
e
;
Entry
*
e
;
for
(;(
e
=
eli
.
current
());
++
eli
)
for
(;(
e
=
eli
.
current
());
++
eli
)
{
{
organizeSubGroups
(
e
);
organizeSubGroups
Filtered
(
e
,
additional
);
}
}
}
}
static
void
organizeSubGroups
(
Entry
*
root
)
{
//printf("Defining groups\n");
// first process the @defgroups blocks
organizeSubGroupsFiltered
(
root
,
FALSE
);
//printf("Additional groups\n");
// then process the @addtogroup, @weakgroup blocks
organizeSubGroupsFiltered
(
root
,
TRUE
);
}
//----------------------------------------------------------------------
//----------------------------------------------------------------------
static
void
buildFileList
(
Entry
*
root
)
static
void
buildFileList
(
Entry
*
root
)
...
@@ -1599,6 +1626,7 @@ static bool isVarWithConstructor(Entry *root)
...
@@ -1599,6 +1626,7 @@ static bool isVarWithConstructor(Entry *root)
static
QRegExp
idChars
(
"[a-z_A-Z][a-z_A-Z0-9]*"
);
static
QRegExp
idChars
(
"[a-z_A-Z][a-z_A-Z0-9]*"
);
bool
result
=
FALSE
;
bool
result
=
FALSE
;
bool
typeIsClass
;
bool
typeIsClass
;
QCString
type
;
Definition
*
ctx
=
0
;
Definition
*
ctx
=
0
;
FileDef
*
fd
=
0
;
FileDef
*
fd
=
0
;
bool
ambig
;
bool
ambig
;
...
@@ -1620,7 +1648,9 @@ static bool isVarWithConstructor(Entry *root)
...
@@ -1620,7 +1648,9 @@ static bool isVarWithConstructor(Entry *root)
goto
done
;
goto
done
;
}
}
if
(
root
->
parent
->
name
)
ctx
=
Doxygen
::
namespaceSDict
.
find
(
root
->
parent
->
name
);
if
(
root
->
parent
->
name
)
ctx
=
Doxygen
::
namespaceSDict
.
find
(
root
->
parent
->
name
);
typeIsClass
=
getResolvedClass
(
ctx
,
root
->
type
)
!=
0
;
type
=
root
->
type
;
if
(
type
.
left
(
6
)
==
"const "
)
type
=
type
.
right
(
type
.
length
()
-
6
);
typeIsClass
=
getResolvedClass
(
ctx
,
type
)
!=
0
;
if
(
typeIsClass
)
// now we still have to check if the arguments are
if
(
typeIsClass
)
// now we still have to check if the arguments are
// types or values. Since we do not have complete type info
// types or values. Since we do not have complete type info
// we need to rely on heuristics :-(
// we need to rely on heuristics :-(
...
...
src/ftvhelp.cpp
View file @
91ac89e2
...
@@ -471,7 +471,7 @@ FTVHelp::FTVHelp()
...
@@ -471,7 +471,7 @@ FTVHelp::FTVHelp()
{
{
/* initial depth */
/* initial depth */
//m_dc = 0;
//m_dc = 0;
m_cf
=
0
;
//
m_cf = 0;
m_indentNodes
=
new
QList
<
FTVNode
>
[
MAX_INDENT
];
m_indentNodes
=
new
QList
<
FTVNode
>
[
MAX_INDENT
];
m_indentNodes
[
0
].
setAutoDelete
(
TRUE
);
m_indentNodes
[
0
].
setAutoDelete
(
TRUE
);
m_indent
=
0
;
m_indent
=
0
;
...
@@ -495,6 +495,7 @@ FTVHelp *FTVHelp::getInstance()
...
@@ -495,6 +495,7 @@ FTVHelp *FTVHelp::getInstance()
*/
*/
void
FTVHelp
::
initialize
()
void
FTVHelp
::
initialize
()
{
{
#if 0
/* open the contents file */
/* open the contents file */
QCString fName = Config_getString("HTML_OUTPUT") + "/tree.js";
QCString fName = Config_getString("HTML_OUTPUT") + "/tree.js";
m_cf = new QFile(fName);
m_cf = new QFile(fName);
...
@@ -519,6 +520,7 @@ void FTVHelp::initialize()
...
@@ -519,6 +520,7 @@ void FTVHelp::initialize()
m_cts << Config_getString("PROJECT_NAME");
m_cts << Config_getString("PROJECT_NAME");
}
}
m_cts << "</b>\", \"\", \"\")\n";
m_cts << "</b>\", \"\", \"\")\n";
#endif
}
}
/*! Finalizes the FTV help. This will finish and close the
/*! Finalizes the FTV help. This will finish and close the
...
@@ -527,9 +529,9 @@ void FTVHelp::initialize()
...
@@ -527,9 +529,9 @@ void FTVHelp::initialize()
*/
*/
void
FTVHelp
::
finalize
()
void
FTVHelp
::
finalize
()
{
{
m_cts
.
unsetDevice
();
//
m_cts.unsetDevice();
m_cf
->
close
();
//
m_cf->close();
delete
m_cf
;
//
delete m_cf;
generateTreeView
();
generateTreeView
();
//generateFolderTreeViewData();
//generateFolderTreeViewData();
}
}
...
@@ -690,6 +692,8 @@ void FTVHelp::generateIndent(QTextStream &t, FTVNode *n,int level)
...
@@ -690,6 +692,8 @@ void FTVHelp::generateIndent(QTextStream &t, FTVNode *n,int level)
void
FTVHelp
::
generateLink
(
QTextStream
&
t
,
FTVNode
*
n
)
void
FTVHelp
::
generateLink
(
QTextStream
&
t
,
FTVNode
*
n
)
{
{
QCString
*
dest
;
QCString
*
dest
;
//printf("FTVHelp::generateLink(ref=%s,file=%s,anchor=%s\n",
// n->ref.data(),n->file.data(),n->anchor.data());
if
(
!
n
->
ref
.
isEmpty
())
// link to entity imported via tag file
if
(
!
n
->
ref
.
isEmpty
())
// link to entity imported via tag file
{
{
t
<<
"<a class=
\"
elRef
\"
"
;
t
<<
"<a class=
\"
elRef
\"
"
;
...
@@ -920,7 +924,17 @@ void FTVHelp::generateTreeView()
...
@@ -920,7 +924,17 @@ void FTVHelp::generateTreeView()
t
<<
"
\n
"
;
t
<<
"
\n
"
;
t
<<
" <body bgcolor=
\"
#ffffff
\"
>
\n
"
;
t
<<
" <body bgcolor=
\"
#ffffff
\"
>
\n
"
;
t
<<
" <div class=
\"
directory
\"
>
\n
"
;
t
<<
" <div class=
\"
directory
\"
>
\n
"
;
t
<<
" <h3>Root</h3>
\n
"
;
t
<<
" <h3>"
;
QCString
&
projName
=
Config_getString
(
"PROJECT_NAME"
);
if
(
projName
.
isEmpty
())
{
t
<<
"Root"
;
}
else
{
t
<<
projName
;
}
t
<<
"</h3>
\n
"
;
t
<<
" <div style=
\"
display: block;
\"
>
\n
"
;
t
<<
" <div style=
\"
display: block;
\"
>
\n
"
;
generateTree
(
t
,
m_indentNodes
[
0
],
0
);
generateTree
(
t
,
m_indentNodes
[
0
],
0
);
...
...
src/ftvhelp.h
View file @
91ac89e2
...
@@ -46,8 +46,8 @@ class FTVHelp
...
@@ -46,8 +46,8 @@ class FTVHelp
void
generateLink
(
QTextStream
&
t
,
FTVNode
*
n
);
void
generateLink
(
QTextStream
&
t
,
FTVNode
*
n
);
FTVHelp
();
FTVHelp
();
~
FTVHelp
();
~
FTVHelp
();
QFile
*
m_cf
;
//
QFile *m_cf;
QTextStream
m_cts
;
//
QTextStream m_cts;
//int m_dc;
//int m_dc;
static
FTVHelp
*
m_theInstance
;
static
FTVHelp
*
m_theInstance
;
QList
<
FTVNode
>
*
m_indentNodes
;
QList
<
FTVNode
>
*
m_indentNodes
;
...
...
src/htmldocvisitor.cpp
View file @
91ac89e2
...
@@ -753,7 +753,7 @@ void HtmlDocVisitor::visitPost(DocRef *)
...
@@ -753,7 +753,7 @@ void HtmlDocVisitor::visitPost(DocRef *)
{
{
if
(
m_hide
)
return
;
if
(
m_hide
)
return
;
endLink
();
endLink
();
m_t
<<
" "
;
//
m_t << " ";
}
}
void
HtmlDocVisitor
::
visitPre
(
DocSecRefItem
*
ref
)
void
HtmlDocVisitor
::
visitPre
(
DocSecRefItem
*
ref
)
...
...
src/index.cpp
View file @
91ac89e2
...
@@ -2208,7 +2208,7 @@ void writePageIndex(OutputList &ol)
...
@@ -2208,7 +2208,7 @@ void writePageIndex(OutputList &ol)
}
}
ol
.
writeString
(
"
\n
"
);
ol
.
writeString
(
"
\n
"
);
if
(
hasHtmlHelp
)
htmlHelp
->
addContentsItem
(
FALSE
,
pageTitle
,
pageName
);
if
(
hasHtmlHelp
)
htmlHelp
->
addContentsItem
(
FALSE
,
pageTitle
,
pageName
);
if
(
hasFtvHelp
)
ftvHelp
->
addContentsItem
(
FALSE
,
0
,
pageName
,
0
,
pageTitle
);
if
(
hasFtvHelp
)
ftvHelp
->
addContentsItem
(
FALSE
,
pi
->
getReference
(),
pi
->
getOutputFileBase
()
,
0
,
pageTitle
);
}
}
}
}
endIndexHierarchy
(
ol
,
0
);
endIndexHierarchy
(
ol
,
0
);
...
...
src/latexgen.cpp
View file @
91ac89e2
...
@@ -460,6 +460,7 @@ void LatexGenerator::startProjectNumber()
...
@@ -460,6 +460,7 @@ void LatexGenerator::startProjectNumber()
void
LatexGenerator
::
startIndexSection
(
IndexSections
is
)
void
LatexGenerator
::
startIndexSection
(
IndexSections
is
)
{
{
bool
&
compactLatex
=
Config_getBool
(
"COMPACT_LATEX"
);
bool
&
compactLatex
=
Config_getBool
(
"COMPACT_LATEX"
);
bool
&
hideIndex
=
Config_getBool
(
"LATEX_HIDE_INDICES"
);
QCString
&
latexHeader
=
Config_getString
(
"LATEX_HEADER"
);
QCString
&
latexHeader
=
Config_getString
(
"LATEX_HEADER"
);
switch
(
is
)
switch
(
is
)
{
{
...
@@ -491,44 +492,47 @@ void LatexGenerator::startIndexSection(IndexSections is)
...
@@ -491,44 +492,47 @@ void LatexGenerator::startIndexSection(IndexSections is)
// t << "{"; //Package Index}\n"
// t << "{"; //Package Index}\n"
// break;
// break;
case
isModuleIndex
:
case
isModuleIndex
:
if
(
compactLatex
)
t
<<
"
\\
section"
;
else
t
<<
"
\\
chapter"
;
if
(
!
hideIndex
)
t
<<
"{"
;
//Module Index}\n"
{
if
(
compactLatex
)
t
<<
"
\\
section"
;
else
t
<<
"
\\
chapter"
;
t
<<
"{"
;
//Module Index}\n"
}
break
;
break
;
case
isNamespaceIndex
:
case
isNamespaceIndex
:
if
(
compactLatex
)
t
<<
"
\\
section"
;
else
t
<<
"
\\
chapter"
;
if
(
!
hideIndex
)
t
<<
"{"
;
//Namespace Index}\"
{
if
(
compactLatex
)
t
<<
"
\\
section"
;
else
t
<<
"
\\
chapter"
;
t
<<
"{"
;
//Namespace Index}\"
}
break
;
break
;
case
isClassHierarchyIndex
:
case
isClassHierarchyIndex
:
if
(
compactLatex
)
t
<<
"
\\
section"
;
else
t
<<
"
\\
chapter"
;
if
(
!
hideIndex
)
t
<<
"{"
;
//Hierarchical Index}\n"
{
if
(
compactLatex
)
t
<<
"
\\
section"
;
else
t
<<
"
\\
chapter"
;
t
<<
"{"
;
//Hierarchical Index}\n"
}
break
;
break
;
case
isCompoundIndex
:
case
isCompoundIndex
:
if
(
compactLatex
)
t
<<
"
\\
section"
;
else
t
<<
"
\\
chapter"
;
if
(
!
hideIndex
)
t
<<
"{"
;
//Annotated Compound Index}\n"
{
if
(
compactLatex
)
t
<<
"
\\
section"
;
else
t
<<
"
\\
chapter"
;
t
<<
"{"
;
//Annotated Compound Index}\n"
}
break
;
break
;
case
isFileIndex
:
case
isFileIndex
:
if
(
compactLatex
)
t
<<
"
\\
section"
;
else
t
<<
"
\\
chapter"
;
if
(
!
hideIndex
)
t
<<
"{"
;
//Annotated File Index}\n"
{
if
(
compactLatex
)
t
<<
"
\\
section"
;
else
t
<<
"
\\
chapter"
;
t
<<
"{"
;
//Annotated File Index}\n"
}
break
;
break
;
case
isPageIndex
:
case
isPageIndex
:
if
(
compactLatex
)
t
<<
"
\\
section"
;
else
t
<<
"
\\
chapter"
;
if
(
!
hideIndex
)
t
<<
"{"
;
//Annotated Page Index}\n"
{
if
(
compactLatex
)
t
<<
"
\\
section"
;
else
t
<<
"
\\
chapter"
;
t
<<
"{"
;
//Annotated Page Index}\n"
}
break
;
break
;
// case isPackageDocumentation:
// {
// PackageSDict::Iterator pdi(Doxygen::packageDict);
// PackageDef *pd=pdi.toFirst();
// bool found=FALSE;
// while (pd && !found)
// {
// if (compactLatex) t << "\\section"; else t << "\\chapter";
// t << "{";
// found=TRUE;
// ++pdi;
// pd=pdi.current();
// }
// }
// break;
case
isModuleDocumentation
:
case
isModuleDocumentation
:
{
{
GroupSDict
::
Iterator
gli
(
Doxygen
::
groupSDict
);
GroupSDict
::
Iterator
gli
(
Doxygen
::
groupSDict
);
...
@@ -622,6 +626,7 @@ void LatexGenerator::startIndexSection(IndexSections is)
...
@@ -622,6 +626,7 @@ void LatexGenerator::startIndexSection(IndexSections is)
void
LatexGenerator
::
endIndexSection
(
IndexSections
is
)
void
LatexGenerator
::
endIndexSection
(
IndexSections
is
)
{
{
bool
&
compactLatex
=
Config_getBool
(
"COMPACT_LATEX"
);
bool
&
compactLatex
=
Config_getBool
(
"COMPACT_LATEX"
);
bool
&
hideIndex
=
Config_getBool
(
"LATEX_HIDE_INDICES"
);
QCString
&
latexHeader
=
Config_getString
(
"LATEX_HEADER"
);
QCString
&
latexHeader
=
Config_getString
(
"LATEX_HEADER"
);
switch
(
is
)
switch
(
is
)
{
{
...
@@ -642,48 +647,24 @@ void LatexGenerator::endIndexSection(IndexSections is)
...
@@ -642,48 +647,24 @@ void LatexGenerator::endIndexSection(IndexSections is)
t
<<
"
\\
input{"
<<
indexName
<<
"}
\n
"
;
t
<<
"
\\
input{"
<<
indexName
<<
"}
\n
"
;
}
}
break
;
break
;
//case isPackageIndex:
// t << "}\n\\input{packages}\n";
// break;
case
isModuleIndex
:
case
isModuleIndex
:
t
<<
"}
\n\\
input{modules}
\n
"
;
if
(
!
hideIndex
)
t
<<
"}
\n\\
input{modules}
\n
"
;
break
;
break
;
case
isNamespaceIndex
:
case
isNamespaceIndex
:
t
<<
"}
\n\\
input{namespaces}
\n
"
;
if
(
!
hideIndex
)
t
<<
"}
\n\\
input{namespaces}
\n
"
;
break
;
break
;
case
isClassHierarchyIndex
:
case
isClassHierarchyIndex
:
t
<<
"}
\n\\
input{hierarchy}
\n
"
;
if
(
!
hideIndex
)
t
<<
"}
\n\\
input{hierarchy}
\n
"
;
break
;
break
;
case
isCompoundIndex
:
case
isCompoundIndex
:
t
<<
"}
\n\\
input{annotated}
\n
"
;
if
(
!
hideIndex
)
t
<<
"}
\n\\
input{annotated}
\n
"
;
break
;
break
;
case
isFileIndex
:
case
isFileIndex
:
t
<<
"}
\n\\
input{files}
\n
"
;
if
(
!
hideIndex
)
t
<<
"}
\n\\
input{files}
\n
"
;
break
;
break
;
case
isPageIndex
:
case
isPageIndex
:
t
<<
"}
\n\\
input{pages}
\n
"
;
if
(
!
hideIndex
)
t
<<
"}
\n\\
input{pages}
\n
"
;
break
;
break
;
//case isPackageDocumentation:
// {
// PackageSDict::Iterator pdi(Doxygen::packageDict);
// PackageDef *pd=pdi.toFirst();
// bool found=FALSE;
// while (pd && !found)
// {
// t << "}\n\\input{" << pd->getOutputFileBase() << "}\n";
// found=TRUE;
// ++pdi;
// pd=pdi.current();
// }
// while (pd)
// {
// if (compactLatex) t << "\\input"; else t << "\\include";
// t << "{" << pd->getOutputFileBase() << "}\n";
// ++pdi;
// pd=pdi.current();
// }
// }
// break;
case
isModuleDocumentation
:
case
isModuleDocumentation
:
{
{
GroupSDict
::
Iterator
gli
(
Doxygen
::
groupSDict
);
GroupSDict
::
Iterator
gli
(
Doxygen
::
groupSDict
);
...
...
src/memberdef.cpp
View file @
91ac89e2
...
@@ -981,7 +981,7 @@ bool MemberDef::isDetailedSectionLinkable() const
...
@@ -981,7 +981,7 @@ bool MemberDef::isDetailedSectionLinkable() const
)
||
)
||
// has a multi-line initialization block
// has a multi-line initialization block
//(initLines>0 && initLines<maxInitLines) ||
//(initLines>0 && initLines<maxInitLines) ||
hasMultiLineInitializer
(
)
||
(
hasMultiLineInitializer
()
&&
!
Config_getBool
(
"HIDE_UNDOC_MEMBERS"
)
)
||
// has one or more documented arguments
// has one or more documented arguments
(
defArgList
!=
0
&&
defArgList
->
hasDocumentation
());
(
defArgList
!=
0
&&
defArgList
->
hasDocumentation
());
...
...
src/pre.l
View file @
91ac89e2
...
@@ -99,6 +99,7 @@ static bool g_nospaces; // add extra spaces during macro expansion
...
@@ -99,6 +99,7 @@ static bool g_nospaces; // add extra spaces during macro expansion
static bool g_macroExpansion; // from the configuration
static bool g_macroExpansion; // from the configuration
static bool g_expandOnlyPredef; // from the configuration
static bool g_expandOnlyPredef; // from the configuration
static int g_commentCount;
static int g_commentCount;
static bool g_insideComment;
static void setFileName(const char *name)
static void setFileName(const char *name)
...
@@ -1534,6 +1535,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -1534,6 +1535,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
QCString tmp=(QCString)"#define "+g_defName+g_defArgsStr;
QCString tmp=(QCString)"#define "+g_defName+g_defArgsStr;
outputArray(tmp.data(),tmp.length());
outputArray(tmp.data(),tmp.length());
g_quoteArg=FALSE;
g_quoteArg=FALSE;
g_insideComment=FALSE;
BEGIN(DefineText);
BEGIN(DefineText);
}
}
<DefName>{ID}/{B}*"\n" {
<DefName>{ID}/{B}*"\n" {
...
@@ -1549,6 +1551,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -1549,6 +1551,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
QCString tmp=(QCString)"#define "+g_defName;
QCString tmp=(QCString)"#define "+g_defName;
outputArray(tmp.data(),tmp.length());
outputArray(tmp.data(),tmp.length());
g_quoteArg=FALSE;
g_quoteArg=FALSE;
g_insideComment=FALSE;
BEGIN(DefineText);
BEGIN(DefineText);
}
}
else // define is a guard => hide
else // define is a guard => hide
...
@@ -1590,6 +1593,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -1590,6 +1593,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
QCString tmp=(QCString)"#define "+g_defName+g_defArgsStr;
QCString tmp=(QCString)"#define "+g_defName+g_defArgsStr;
outputArray(tmp.data(),tmp.length());
outputArray(tmp.data(),tmp.length());
g_quoteArg=FALSE;
g_quoteArg=FALSE;
g_insideComment=FALSE;
BEGIN(DefineText);
BEGIN(DefineText);
}
}
<DefineArg>{ID}{B}*("..."?) {
<DefineArg>{ID}{B}*("..."?) {
...
@@ -1608,6 +1612,12 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -1608,6 +1612,12 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<DefineText>"/**"|"/*!" {
<DefineText>"/**"|"/*!" {
g_defText+=yytext;
g_defText+=yytext;
g_defLitText+=yytext;
g_defLitText+=yytext;
g_insideComment=TRUE;
}
<DefineText>"*/" {
g_defText+=yytext;
g_defLitText+=yytext;
g_insideComment=FALSE;
}
}
<DefineText>"/*"|"/**<"|"/*!<" {
<DefineText>"/*"|"/**<"|"/*!<" {
outputArray(yytext,yyleng);
outputArray(yytext,yyleng);
...
@@ -1757,13 +1767,20 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -1757,13 +1767,20 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
<DefineText>{B}* { g_defText += ' '; g_defLitText+=yytext; }
<DefineText>{B}* { g_defText += ' '; g_defLitText+=yytext; }
<DefineText>{B}*"##"{B}* { g_defText += "##"; g_defLitText+=yytext; }
<DefineText>{B}*"##"{B}* { g_defText += "##"; g_defLitText+=yytext; }
<DefineText>"@" { g_defText += "@@"; g_defLitText+=yytext; }
<DefineText>"@" { g_defText += "@@"; g_defLitText+=yytext; }
<DefineText>\" { g_defText += *yytext;
<DefineText>\" {
g_defText += *yytext;
g_defLitText+=yytext;
g_defLitText+=yytext;
BEGIN(SkipDoubleQuote);
if (!g_insideComment)
{
BEGIN(SkipDoubleQuote);
}
}
}
<DefineText>\' { g_defText += *yytext;
<DefineText>\' { g_defText += *yytext;
g_defLitText+=yytext;
g_defLitText+=yytext;
BEGIN(SkipSingleQuote);
if (!g_insideComment)
{
BEGIN(SkipSingleQuote);
}
}
}
<SkipDoubleQuote>"//" { g_defText += yytext; g_defLitText+=yytext; }
<SkipDoubleQuote>"//" { g_defText += yytext; g_defLitText+=yytext; }
<SkipDoubleQuote>"/*" { g_defText += yytext; g_defLitText+=yytext; }
<SkipDoubleQuote>"/*" { g_defText += yytext; g_defLitText+=yytext; }
...
...
src/scanner.l
View file @
91ac89e2
...
@@ -194,6 +194,7 @@ static void initEntry()
...
@@ -194,6 +194,7 @@ static void initEntry()
current->inside = memberGroupInside.copy();
current->inside = memberGroupInside.copy();
if (!autoGroupStack.isEmpty())
if (!autoGroupStack.isEmpty())
{
{
//printf("Appending group %s\n",autoGroupStack.top()->groupname.data());
current->groups->append(new Grouping(*autoGroupStack.top()));
current->groups->append(new Grouping(*autoGroupStack.top()));
}
}
}
}
...
@@ -534,7 +535,7 @@ UL [uU][lL]
...
@@ -534,7 +535,7 @@ UL [uU][lL]
OL [oO][lL]
OL [oO][lL]
DL [dD][lL]
DL [dD][lL]
TITLE [tT][iI][tT][lL][eE]
TITLE [tT][iI][tT][lL][eE]
CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'
\\\n]{1,4}"'"))
PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
%option noyywrap
%option noyywrap
...
@@ -2594,7 +2595,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
...
@@ -2594,7 +2595,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
BEGIN(SkipCPP);
BEGIN(SkipCPP);
}
}
<Function>":" {
<Function>":" {
BEGIN(SkipInits);
if (!insidePHP)
BEGIN(SkipInits);
}
}
<Function>[;{,] {
<Function>[;{,] {
current->name=current->name.simplifyWhiteSpace();
current->name=current->name.simplifyWhiteSpace();
...
...
src/translator_cz.h
View file @
91ac89e2
...
@@ -174,11 +174,14 @@ class TranslatorCzech : public Translator
...
@@ -174,11 +174,14 @@ class TranslatorCzech : public Translator
*/
*/
inline
QCString
decode
(
const
QCString
&
sInput
)
inline
QCString
decode
(
const
QCString
&
sInput
)
{
{
#ifdef _WIN32
if
(
Config_getBool
(
"USE_WINDOWS_ENCONDING"
))
return
sInput
;
{
#else
return
sInput
;
return
Win1250ToISO88592
(
sInput
);
}
#endif
else
{
return
Win1250ToISO88592
(
sInput
);
}
}
}
public
:
public
:
...
@@ -193,11 +196,14 @@ class TranslatorCzech : public Translator
...
@@ -193,11 +196,14 @@ class TranslatorCzech : public Translator
/*! return the language charset. This will be used for the HTML output */
/*! return the language charset. This will be used for the HTML output */
virtual
QCString
idLanguageCharset
()
virtual
QCString
idLanguageCharset
()
{
{
#ifdef _WIN32
if
(
Config_getBool
(
"USE_WINDOWS_ENCONDING"
))
{
return
"windows-1250"
;
return
"windows-1250"
;
#else
}
else
{
return
"iso-8859-2"
;
return
"iso-8859-2"
;
#endif
}
}
}
// --- Language translation methods -------------------
// --- Language translation methods -------------------
...
...
src/translator_hr.h
View file @
91ac89e2
...
@@ -46,32 +46,43 @@
...
@@ -46,32 +46,43 @@
//
//
// 2001/11/13
// 2001/11/13
// - Added strings for 1.2.13
// - Added strings for 1.2.13
//
// 2003/02/26
// - Added strings for 1.2.18
#ifndef TRANSLATOR_HR_H
#ifndef TRANSLATOR_HR_H
#define TRANSLATOR_HR_H
#define TRANSLATOR_HR_H
class
TranslatorCroatian
:
public
Translator
Adapter_1_2_18
class
TranslatorCroatian
:
public
Translator
{
{
private
:
private
:
/*! to avoid macro redefinition from translator_cz.h */
/*! to avoid macro redefinition from translator_cz.h */
inline
QCString
decode
(
const
QCString
&
sInput
)
inline
QCString
decode
(
const
QCString
&
sInput
)
{
{
#ifdef _WIN32
if
(
Config_getBool
(
"USE_WINDOWS_ENCODING"
))
return
ISO88592ToWin1250
(
sInput
);
{
#else
return
ISO88592ToWin1250
(
sInput
);
return
sInput
;
}
#endif
else
{
return
sInput
;
}
}
}
public
:
public
:
QCString
idLanguage
()
QCString
idLanguage
()
{
return
"croatian"
;
}
{
return
"croatian"
;
}
QCString
idLanguageCharset
()
QCString
idLanguageCharset
()
#ifdef _WIN32
{
{
return
"windows-1250"
;
}
if
(
Config_getBool
(
"USE_WINDOWS_ENCODING"
))
#else
{
{
return
"iso-8859-2"
;
}
return
"windows-1250"
;
#endif
}
else
{
return
"iso-8859-2"
;
}
}
QCString
latexLanguageSupportCommand
()
QCString
latexLanguageSupportCommand
()
{
return
"
\\
usepackage[croatian]{babel}
\n
"
;
}
{
return
"
\\
usepackage[croatian]{babel}
\n
"
;
}
QCString
trRelatedFunctions
()
QCString
trRelatedFunctions
()
...
@@ -1062,6 +1073,22 @@ class TranslatorCroatian : public TranslatorAdapter_1_2_18
...
@@ -1062,6 +1073,22 @@ class TranslatorCroatian : public TranslatorAdapter_1_2_18
{
{
return
"Popis zastarjelih metoda"
;
return
"Popis zastarjelih metoda"
;
}
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.18
//////////////////////////////////////////////////////////////////////////
/*! Used as a header for declaration section of the events found in
* a C# program
*/
virtual
QCString
trEvents
()
{
return
decode
(
"Dogaaji"
);
}
/*! Header used for the documentation section of a class' events. */
virtual
QCString
trEventDocumentation
()
{
return
decode
(
"Dokumentacija dogaaja"
);
}
};
};
#endif
#endif
src/translator_jp.h
View file @
91ac89e2
...
@@ -41,11 +41,14 @@ class TranslatorJapaneseEn : public TranslatorEnglish
...
@@ -41,11 +41,14 @@ class TranslatorJapaneseEn : public TranslatorEnglish
/*! returns the name of the package that is included by LaTeX */
/*! returns the name of the package that is included by LaTeX */
virtual
QCString
idLanguageCharset
()
virtual
QCString
idLanguageCharset
()
{
{
#ifdef __CYGWIN__
if
(
Config_getBool
(
"USE_WINDOWS_ENCONDING"
))
return
"Shift_JIS"
;
{
#else
return
"Shift_JIS"
;
return
"euc-jp"
;
}
#endif
else
{
return
"euc-jp"
;
}
}
}
virtual
QCString
trRTFansicp
()
virtual
QCString
trRTFansicp
()
{
{
...
@@ -66,13 +69,16 @@ class TranslatorJapanese : public Translator
...
@@ -66,13 +69,16 @@ class TranslatorJapanese : public Translator
private
:
private
:
/*! The decode() can change euc into sjis */
/*! The decode() can change euc into sjis */
inline
QCString
decode
(
const
QCString
&
sInput
)
inline
QCString
decode
(
const
QCString
&
sInput
)
{
if
(
Config_getBool
(
"USE_WINDOWS_ENCONDING"
))
{
{
#ifdef __CYGWIN__
return
JapaneseEucToSjis
(
sInput
);
return
JapaneseEucToSjis
(
sInput
);
#else
}
else
{
return
sInput
;
return
sInput
;
#endif
}
}
}
public
:
public
:
virtual
QCString
idLanguage
()
virtual
QCString
idLanguage
()
{
return
"japanese"
;
}
{
return
"japanese"
;
}
...
@@ -83,11 +89,14 @@ class TranslatorJapanese : public Translator
...
@@ -83,11 +89,14 @@ class TranslatorJapanese : public Translator
/*! returns the name of the package that is included by LaTeX */
/*! returns the name of the package that is included by LaTeX */
virtual
QCString
idLanguageCharset
()
virtual
QCString
idLanguageCharset
()
{
{
#ifdef __CYGWIN__
if
(
Config_getBool
(
"USE_WINDOWS_ENCONDING"
))
return
"Shift_JIS"
;
{
#else
return
"Shift_JIS"
;
return
"euc-jp"
;
}
#endif
else
{
return
"euc-jp"
;
}
}
}
/*! used in the compound documentation before a list of related functions. */
/*! used in the compound documentation before a list of related functions. */
...
...
src/translator_pl.h
View file @
91ac89e2
This diff is collapsed.
Click to expand it.
src/translator_ru.h
View file @
91ac89e2
...
@@ -56,11 +56,14 @@ class TranslatorRussian : public Translator
...
@@ -56,11 +56,14 @@ class TranslatorRussian : public Translator
*/
*/
inline
QCString
decode
(
const
QCString
&
sInput
)
inline
QCString
decode
(
const
QCString
&
sInput
)
{
{
#ifdef _WIN32
if
(
Config_getBool
(
"USE_WINDOWS_ENCODING"
))
return
Koi8RToWindows1251
(
sInput
);
{
#else
return
Koi8RToWindows1251
(
sInput
);
return
sInput
;
}
#endif
else
{
return
sInput
;
}
}
}
public
:
public
:
...
@@ -70,19 +73,29 @@ class TranslatorRussian : public Translator
...
@@ -70,19 +73,29 @@ class TranslatorRussian : public Translator
/* Used to get the command(s) for the language support. */
/* Used to get the command(s) for the language support. */
virtual
QCString
latexLanguageSupportCommand
()
virtual
QCString
latexLanguageSupportCommand
()
#ifdef _WIN32
{
{
return
"
\\
usepackage[cp1251]{inputenc}
\n\\
usepackage[russian]{babel}
\n
"
;
}
if
(
Config_getBool
(
"USE_WINDOWS_ENCODING"
))
#else
{
{
return
"
\\
usepackage[koi8-r]{inputenc}
\n\\
usepackage[russian]{babel}
\n
"
;
}
return
"
\\
usepackage[cp1251]{inputenc}
\n\\
usepackage[russian]{babel}
\n
"
;
#endif
}
else
{
return
"
\\
usepackage[koi8-r]{inputenc}
\n\\
usepackage[russian]{babel}
\n
"
;
}
}
/*! return the language charset. This will be used for the HTML output */
/*! return the language charset. This will be used for the HTML output */
virtual
QCString
idLanguageCharset
()
virtual
QCString
idLanguageCharset
()
#ifdef _WIN32
{
{
return
"Windows-1251"
;
}
if
(
Config_getBool
(
"USE_WINDOWS_ENCODING"
))
#else
{
{
return
"koi8-r"
;
}
return
"Windows-1251"
;
#endif
}
else
{
return
"koi8-r"
;
}
}
// --- Language translation methods -------------------
// --- Language translation methods -------------------
...
...
src/util.cpp
View file @
91ac89e2
...
@@ -2535,6 +2535,28 @@ bool resolveRef(/* in */ const char *scName,
...
@@ -2535,6 +2535,28 @@ bool resolveRef(/* in */ const char *scName,
return
FALSE
;
return
FALSE
;
}
}
QCString
linkToText
(
const
char
*
link
)
{
QCString
result
=
link
;
if
(
!
result
.
isEmpty
())
{
// replace # by ::
result
=
substitute
(
result
,
"#"
,
"::"
);
// replace . by ::
result
=
substitute
(
result
,
"."
,
"::"
);
// strip :: prefix if present
if
(
result
.
at
(
0
)
==
':'
&&
result
.
at
(
1
)
==
':'
)
{
result
=
result
.
right
(
result
.
length
()
-
2
);
}
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_JAVA"
))
{
result
=
substitute
(
result
,
"::"
,
"."
);
}
}
return
result
;
}
/*!
/*!
* generate a reference to a class, namespace or member.
* generate a reference to a class, namespace or member.
* `scName' is the name of the scope that contains the documentation
* `scName' is the name of the scope that contains the documentation
...
@@ -2563,17 +2585,7 @@ bool generateRef(OutputDocInterface &od,const char *scName,
...
@@ -2563,17 +2585,7 @@ bool generateRef(OutputDocInterface &od,const char *scName,
MemberDef
*
md
;
MemberDef
*
md
;
// create default link text
// create default link text
QCString
linkText
=
rt
;
QCString
linkText
=
linkToText
(
rt
);
if
(
linkText
.
isEmpty
())
{
linkText
=
substitute
(
name
,
"#"
,
"::"
);
linkText
=
substitute
(
linkText
,
"."
,
"::"
);
// strip :: prefix if present
if
(
linkText
.
at
(
0
)
==
':'
&&
linkText
.
at
(
1
)
==
':'
)
{
linkText
=
linkText
.
right
(
linkText
.
length
()
-
2
);
}
}
if
(
resolveRef
(
scName
,
name
,
inSeeBlock
,
&
compound
,
&
md
))
if
(
resolveRef
(
scName
,
name
,
inSeeBlock
,
&
compound
,
&
md
))
{
{
...
@@ -2699,17 +2711,7 @@ bool generateLink(OutputDocInterface &od,const char *clName,
...
@@ -2699,17 +2711,7 @@ bool generateLink(OutputDocInterface &od,const char *clName,
//printf("generateLink(clName=%s,lr=%s,lr=%s)\n",clName,lr,lt);
//printf("generateLink(clName=%s,lr=%s,lr=%s)\n",clName,lr,lt);
Definition
*
compound
;
Definition
*
compound
;
PageInfo
*
pageInfo
;
PageInfo
*
pageInfo
;
QCString
anchor
,
linkText
=
lt
;
QCString
anchor
,
linkText
=
linkToText
(
lt
);
if
(
linkText
.
isEmpty
())
{
linkText
=
substitute
(
lr
,
"#"
,
"::"
);
linkText
=
substitute
(
linkText
,
"."
,
"::"
);
// strip :: prefix if present
if
(
linkText
.
at
(
0
)
==
':'
&&
linkText
.
at
(
1
)
==
':'
)
{
linkText
=
linkText
.
right
(
linkText
.
length
()
-
2
);
}
}
//printf("generateLink linkText=%s\n",linkText.data());
//printf("generateLink linkText=%s\n",linkText.data());
if
(
resolveLink
(
clName
,
lr
,
inSeeBlock
,
&
compound
,
&
pageInfo
,
anchor
))
if
(
resolveLink
(
clName
,
lr
,
inSeeBlock
,
&
compound
,
&
pageInfo
,
anchor
))
{
{
...
...
src/util.h
View file @
91ac89e2
...
@@ -203,6 +203,7 @@ void filterLatexString(QTextStream &t,const char *str,
...
@@ -203,6 +203,7 @@ void filterLatexString(QTextStream &t,const char *str,
bool
insideTabbing
=
FALSE
,
bool
insidePre
=
FALSE
,
bool
insideTabbing
=
FALSE
,
bool
insidePre
=
FALSE
,
bool
insideItem
=
FALSE
);
bool
insideItem
=
FALSE
);
QCString
rtfFormatBmkStr
(
const
char
*
name
);
QCString
rtfFormatBmkStr
(
const
char
*
name
);
QCString
linkToText
(
const
char
*
link
);
#endif
#endif
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