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
2eccbfdb
Commit
2eccbfdb
authored
Feb 17, 2011
by
dimitri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.7.3-20110217
parent
e3867f79
Changes
45
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
45 changed files
with
807 additions
and
275 deletions
+807
-275
Doxyfile
Doxyfile
+1
-1
INSTALL
INSTALL
+2
-2
README
README
+2
-2
wizard.cpp
addon/doxywizard/wizard.cpp
+1
-0
configure
configure
+1
-1
config.doc
doc/config.doc
+86
-41
doxygen.1
doc/doxygen.1
+1
-1
language.doc
doc/language.doc
+2
-2
translator_report.txt
doc/translator_report.txt
+2
-20
Doxyfile
qtools/Doxyfile
+1
-1
scstring.cpp
qtools/scstring.cpp
+5
-4
code.l
src/code.l
+9
-10
commentscan.l
src/commentscan.l
+2
-1
config.xml
src/config.xml
+14
-0
configoptions.cpp
src/configoptions.cpp
+22
-0
docparser.cpp
src/docparser.cpp
+4
-4
docparser.h
src/docparser.h
+1
-1
doctokenizer.l
src/doctokenizer.l
+3
-2
dot.cpp
src/dot.cpp
+1
-0
doxygen.cpp
src/doxygen.cpp
+37
-7
doxygen.css
src/doxygen.css
+4
-4
doxygen_css.h
src/doxygen_css.h
+4
-4
fortranscanner.l
src/fortranscanner.l
+1
-1
ftvhelp.cpp
src/ftvhelp.cpp
+6
-2
htmldocvisitor.cpp
src/htmldocvisitor.cpp
+5
-5
htmlgen.cpp
src/htmlgen.cpp
+301
-28
htmlgen.h
src/htmlgen.h
+1
-1
htmlhelp.cpp
src/htmlhelp.cpp
+12
-0
htmlhelp.h
src/htmlhelp.h
+2
-1
image.cpp
src/image.cpp
+0
-1
latexdocvisitor.cpp
src/latexdocvisitor.cpp
+4
-4
latexgen.cpp
src/latexgen.cpp
+23
-2
latexgen.h
src/latexgen.h
+1
-0
mandocvisitor.cpp
src/mandocvisitor.cpp
+8
-8
pagedef.cpp
src/pagedef.cpp
+8
-3
pre.l
src/pre.l
+18
-15
qhp.cpp
src/qhp.cpp
+2
-2
rtfdocvisitor.cpp
src/rtfdocvisitor.cpp
+14
-14
scanner.l
src/scanner.l
+20
-2
search.php
src/search.php
+1
-1
search_php.h
src/search_php.h
+1
-1
translator_it.h
src/translator_it.h
+131
-33
util.cpp
src/util.cpp
+35
-41
util.h
src/util.h
+7
-1
xmlgen.cpp
src/xmlgen.cpp
+1
-1
No files found.
Doxyfile
View file @
2eccbfdb
...
...
@@ -168,7 +168,7 @@ DOCSET_FEEDNAME = "Doxygen docs"
DOCSET_BUNDLE_ID = org.doxygen.Doxygen
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
DOCSET_PUBLISHER_NAME = Publisher
GENERATE_HTMLHELP =
YES
GENERATE_HTMLHELP =
NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
...
...
INSTALL
View file @
2eccbfdb
DOXYGEN Version 1.7.3-20110
123
DOXYGEN Version 1.7.3-20110
217
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (
23 Jan
uary 2011)
Dimitri van Heesch (
17 Febr
uary 2011)
README
View file @
2eccbfdb
DOXYGEN Version 1.7.3_20110
123
DOXYGEN Version 1.7.3_20110
217
Please read INSTALL for compilation instructions.
...
...
@@ -26,4 +26,4 @@ forum.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (
23 Jan
uary 2011)
Dimitri van Heesch (dimitri@stack.nl) (
17 Febr
uary 2011)
addon/doxywizard/wizard.cpp
View file @
2eccbfdb
...
...
@@ -2,6 +2,7 @@
#include "input.h"
#include "doxywizard.h"
#include <math.h>
#include <QtGui>
// options configurable via the wizard
...
...
configure
View file @
2eccbfdb
...
...
@@ -20,7 +20,7 @@ doxygen_version_minor=7
doxygen_version_revision
=
3
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn
=
20110
123
doxygen_version_mmn
=
20110
217
bin_dirs
=
`
echo
$PATH
|
sed
-e
"s/:/ /g"
`
...
...
doc/config.doc
View file @
2eccbfdb
...
...
@@ -161,6 +161,7 @@ followed by the descriptions of the tags grouped by category.
\
refitem
cfg_html_colorstyle_hue
HTML_COLORSTYLE_HUE
\
refitem
cfg_html_colorstyle_sat
HTML_COLORSTYLE_SAT
\
refitem
cfg_html_dynamic_sections
HTML_DYNAMIC_SECTIONS
\
refitem
cfg_html_extra_files
HTML_EXTRA_FILES
\
refitem
cfg_html_file_extension
HTML_FILE_EXTENSION
\
refitem
cfg_html_footer
HTML_FOOTER
\
refitem
cfg_html_header
HTML_HEADER
...
...
@@ -185,6 +186,7 @@ followed by the descriptions of the tags grouped by category.
\
refitem
cfg_javadoc_autobrief
JAVADOC_AUTOBRIEF
\
refitem
cfg_latex_batchmode
LATEX_BATCHMODE
\
refitem
cfg_latex_cmd_name
LATEX_CMD_NAME
\
refitem
cfg_latex_footer
LATEX_FOOTER
\
refitem
cfg_latex_header
LATEX_HEADER
\
refitem
cfg_latex_hide_indices
LATEX_HIDE_INDICES
\
refitem
cfg_latex_output
LATEX_OUTPUT
...
...
@@ -1280,21 +1282,18 @@ AClass::ANamespace, ANamespace::*Test
<
dt
>\
c
HTML_HEADER
<
dd
>
\
addindex
HTML_HEADER
The
\
c
HTML_HEADER
tag
can
be
used
to
specify
a
user
-
defined
HTML
header
file
for
each
generated
HTML
page
.
To
get
valid
HTML
the
header
file
should
contain
at
least
a
\
c
\<
HTML
\>
and
a
\
c
\<
BODY
\>
tag
,
but
it
is
good
idea
to
include
the
style
sheet
that
is
generated
by
doxygen
as
well
.
Minimal
example
:
\
verbatim
<
HTML
>
<
HEAD
>
<
TITLE
>
My
title
</
TITLE
>
<
LINK
HREF
=
"doxygen.css"
REL
=
"stylesheet"
TYPE
=
"text/css"
>
</
HEAD
>
<
BODY
BGCOLOR
=
"#FFFFFF"
>
\
endverbatim
header
file
for
each
generated
HTML
page
.
If
the
tag
is
left
blank
doxygen
will
generate
a
standard
header
.
To
get
valid
HTML
the
header
file
that
includes
any
scripts
and
style
sheets
that
doxygen
needs
,
it
is
highly
recommended
to
start
with
a
default
header
using
\
verbatim
doxygen
-
w
html
new_header
.
html
new_footer
.
html
new_stylesheet
.
css
YourConfigFile
\
endverbatim
and
then
modify
the
file
\
c
new_header
.
html
.
The
following
markers
have
a
special
meaning
inside
the
header
and
footer
:
<
dl
>
<
dt
><
code
>\$
title
</
code
><
dd
>
will
be
replaced
with
the
title
of
the
page
.
...
...
@@ -1303,55 +1302,83 @@ AClass::ANamespace, ANamespace::*Test
<
dt
><
code
>\$
year
</
code
><
dd
>
will
be
replaces
with
the
current
year
.
<
dt
><
code
>\$
doxygenversion
</
code
><
dd
>
will
be
replaced
with
the
version
of
doxygen
<
dt
><
code
>\$
projectname
</
code
><
dd
>
will
be
replaced
with
the
name
of
the
project
(
see
\
c
PROJECT_NAME
)
the
project
(
see
\
ref
cfg_project_name
"PROJECT_NAME"
)
<
dt
><
code
>\$
projectnumber
</
code
><
dd
>
will
be
replaced
with
the
project
number
(
see
\
c
PROJECT_NUMBER
)
(
see
\
ref
cfg_project_number
"PROJECT_NUMBER"
)
<
dt
><
code
>\$
projectbrief
</
code
><
dd
>
will
be
replaced
with
the
project
brief
description
(
see
\
c
PROJECT_BRIEF
)
description
(
see
\
ref
cfg_project_brief
"PROJECT_BRIEF"
)
<
dt
><
code
>\$
projectlogo
</
code
><
dd
>
will
be
replaced
with
the
project
logo
(
see
\
c
PROJECT_LOGO
)
(
see
\
ref
cfg_project_logo
"PROJECT_LOGO"
)
<
dt
><
code
>\$
treeview
</
code
><
dd
>
will
be
replaced
with
links
to
the
javascript
and
style
sheets
needed
for
the
navigation
tree
(
or
an
empty
string
when
\
ref
cfg_generate_treeview
"GENERATE_TREEVIEW"
is
disabled
).
<
dt
><
code
>\$
search
</
code
><
dd
>
will
be
replaced
with
a
links
to
the
javascript
and
style
sheets
needed
for
the
search
engine
(
or
an
empty
string
when
\
ref
cfg_searchengine
"SEARCHENGINE"
is
disabled
).
<
dt
><
code
>\$
mathjax
</
code
><
dd
>
will
be
replaced
with
a
links
to
the
javascript
and
style
sheets
needed
for
the
MathJax
feature
(
or
an
empty
string
when
\
ref
cfg_use_mathjax
"USE_MATHJAX"
is
disabled
).
<
dt
><
code
>\$
relpath
\$</
code
><
dd
>
If
\
c
CREATE_SUBDIRS
is
enabled
,
the
command
<
code
>\$
relpath
\$</
code
>
can
be
used
to
produce
a
relative
path
to
the
root
of
the
HTML
output
directory
,
e
.
g
.
use
\$
relpath
\$
doxygen
.
css
,
to
refer
to
the
standard
style
sheet
.
</
dl
>
See
also
section
\
ref
doxygen_usage
for
information
on
how
to
generate
the
default
header
that
doxygen
normally
uses
.
@
note
When
using
a
custom
header
you
are
responsible
for
the
proper
inclusion
of
any
scripts
and
style
sheets
that
doxygen
needs
,
which
is
dependent
on
the
configuration
options
used
.
It
is
adviced
to
generate
a
default
header
using
To
cope
with
differences
in
the
layout
of
the
header
and
footer
that
depend
on
configuration
settings
,
the
header
can
also
contain
special
blocks
that
will
be
copied
to
the
output
or
skipped
depending
on
the
configuration
.
Such
blocks
have
the
following
form
:
\
verbatim
doxygen
-
w
html
header
.
html
footer
.
html
stylesheet
.
css
YourConfigFile
<
!--BEGIN BLOCKNAME-->
Some
context
copied
when
condition
BLOCKNAME
holds
<
!--END BLOCKNAME-->
<
!--BEGIN !BLOCKNAME-->
Some
context
copied
when
condition
BLOCKNAME
does
not
hold
<
!--END !BLOCKNAME-->
\
endverbatim
and
then
modify
that
header
.
The
following
block
names
are
supported
:
<
dl
>
<
dt
><
code
>
DISABLE_INDEX
</
code
><
dd
>
Content
within
this
block
is
copied
to
the
output
when
the
\
ref
cfg_disable_index
"DISABLE_INDEX"
option
is
enabled
(
so
when
the
index
is
disabled
).
<
dt
><
code
>
GENERATE_TREEVIEW
</
code
><
dd
>
Content
within
this
block
is
copied
to
the
output
when
the
\
ref
cfg_generate_treeview
"GENERATE_TREEVIEW"
option
is
enabled
.
<
dt
><
code
>
SEARCHENGINE
</
code
><
dd
>
Content
within
this
block
is
copied
to
the
output
when
the
\
ref
cfg_searchengine
"SEARCHENGINE"
option
is
enabled
.
<
dt
><
code
>
PROJECT_NAME
</
code
><
dd
>
Content
within
the
block
is
copied
to
the
output
when
the
\
ref
cfg_project_name
"PROJECT_NAME"
option
is
not
empty
.
<
dt
><
code
>
PROJECT_NUMBER
</
code
><
dd
>
Content
within
the
block
is
copied
to
the
output
when
the
\
ref
cfg_project_number
"PROJECT_NUMBER"
option
is
not
empty
.
<
dt
><
code
>
PROJECT_BRIEF
</
code
><
dd
>
Content
within
the
block
is
copied
to
the
output
when
the
\
ref
cfg_project_brief
"PROJECT_BRIEF"
option
is
not
empty
.
<
dt
><
code
>
PROJECT_LOGO
</
code
><
dd
>
Content
within
the
block
is
copied
to
the
output
when
the
\
ref
cfg_project_logo
"PROJECT_LOGO"
option
is
not
empty
.
<
dt
><
code
>
TITLEAREA
</
code
><
dd
>
Content
within
this
block
is
copied
to
the
output
when
a
title
is
visible
at
the
top
of
each
page
.
This
is
the
case
if
either
\
ref
cfg_project_name
"PROJECT_NAME"
,
\
ref
cfg_project_brief
"PROJECT_BRIEF"
,
\
ref
cfg_project_logo
"PROJECT_LOGO"
is
filled
in
or
if
both
\
ref
cfg_disable_index
"DISABLE_INDEX"
and
\
ref
cfg_searchengine
"SEARCHENGINE"
are
enabled
.
</
dl
>
See
also
section
\
ref
doxygen_usage
for
information
on
how
to
generate
the
default
header
that
doxygen
normally
uses
.
@
note
The
header
is
subject
to
change
so
you
typically
have
to
re
do
this
when
upgrading
to
a
newer
version
of
doxygen
or
when
changing
the
value
of
configuration
settings
such
as
\
c
GENERATE_TREEVIEW
!
have
to
re
generate
the
default
header
when
upgrading
to
a
newer
version
of
doxygen
.
\
anchor
cfg_html_footer
<
dt
>\
c
HTML_FOOTER
<
dd
>
\
addindex
HTML_FOOTER
The
\
c
HTML_FOOTER
tag
can
be
used
to
specify
a
user
-
defined
HTML
footer
for
each
generated
HTML
page
.
To
get
valid
HTML
the
footer
file
should
contain
at
least
a
\
c
\</
BODY
\>
and
a
\
c
\</
HTML
\>
tag
.
A
minimal
example
:
\
verbatim
</
BODY
>
</
HTML
>
\
endverbatim
each
generated
HTML
page
.
If
the
tag
is
left
blank
doxygen
will
generate
a
standard
footer
.
The
following
commands
have
a
special
meaning
inside
the
footer
:
<
code
>\$
title
</
code
>,
<
code
>\$
datetime
</
code
>,
<
code
>\$
date
</
code
>,
<
code
>\$
doxygenversion
</
code
>,
<
code
>\$
projectname
</
code
>,
<
code
>\$
projectnumber
</
code
>.
Doxygen
will
replace
them
by
respectively
the
title
of
the
page
,
the
current
date
and
time
,
only
the
current
date
,
the
version
number
of
doxygen
,
the
project
name
(
see
\
c
PROJECT_NAME
),
or
the
project
number
(
see
\
c
PROJECT_NUMBER
).
See
\
ref
cfg_html_header
"HTML_HEADER"
for
more
information
on
how
to
generate
a
default
footer
and
what
special
commands
can
be
used
inside
the
footer
.
See
also
section
\
ref
doxygen_usage
for
information
on
how
to
generate
the
default
footer
that
doxygen
normally
uses
.
...
...
@@ -1367,6 +1394,16 @@ doxygen -w html header.html footer.html stylesheet.css YourConfigFile
See
also
section
\
ref
doxygen_usage
for
information
on
how
to
generate
the
style
sheet
that
doxygen
normally
uses
.
\
anchor
cfg_html_extra_files
<
dt
>\
c
HTML_EXTRA_FILES
<
dd
>
\
addindex
HTML_EXTRA_FILES
The
\
c
HTML_EXTRA_FILES
tag
can
be
used
to
specify
one
or
more
extra
images
or
other
source
files
which
should
be
copied
to
the
HTML
output
directory
.
Note
that
these
files
will
be
copied
to
the
base
HTML
output
directory
.
Use
the
$
relpath
$
marker
in
the
\
c
HTML_HEADER
and
/
or
\
c
HTML_FOOTER
files
to
load
these
files
.
In
the
\
c
HTML_STYLESHEET
file
,
use
the
file
name
only
.
Also
note
that
the
files
will
be
copied
as
-
is
;
there
are
no
commands
or
markers
available
.
\
anchor
cfg_html_colorstyle_hue
<
dt
>\
c
HTML_COLORSTYLE_HUE
<
dd
>
\
addindex
HTML_COLOR_STYLE_HUE
...
...
@@ -1821,6 +1858,14 @@ EXTRA_PACKAGES = times
the
title
of
the
page
,
the
current
date
and
time
,
only
the
current
date
,
the
version
number
of
doxygen
,
the
project
name
(
see
\
c
PROJECT_NAME
),
or
the
project
number
(
see
\
c
PROJECT_NUMBER
).
\
anchor
cfg_latex_footer
<
dt
>\
c
LATEX_FOOTER
<
dd
>
\
addindex
LATEX_FOOTER
The
LATEX_FOOTER
tag
can
be
used
to
specify
a
personal
LaTeX
footer
for
the
generated
latex
document
.
The
footer
should
contain
everything
after
the
last
chapter
.
If
it
is
left
blank
doxygen
will
generate
a
standard
footer
.
Notice
:
only
use
this
tag
if
you
know
what
you
are
doing
!
\
anchor
cfg_pdf_hyperlinks
<
dt
>\
c
PDF_HYPERLINKS
<
dd
>
...
...
doc/doxygen.1
View file @
2eccbfdb
...
...
@@ -31,7 +31,7 @@ doxygen \fB\-w\fR rtf styleSheetFile
HTML:
doxygen \fB\-w\fR html headerFile footerFile styleSheetFile [configFile]
.TP
LaTeX: doxygen \fB\-w\fR latex headerFile styleSheetFile [configFile]
LaTeX: doxygen \fB\-w\fR latex headerFile
footerFile
styleSheetFile [configFile]
.TP
5) Use doxygen to generate an rtf extensions file
.TP
...
...
doc/language.doc
View file @
2eccbfdb
...
...
@@ -164,7 +164,7 @@ when the translator was updated.
<td>Italian</td>
<td>Alessandro Falappa<br/>Ahmed Aldo Faisal</td>
<td>alessandro at falappa dot net<br/>aaf23 at cam dot ac dot uk</td>
<td>
1.6.0
</td>
<td>
up-to-date
</td>
</tr>
<tr bgcolor="#ffffff">
<td>Japanese</td>
...
...
@@ -351,7 +351,7 @@ when the translator was updated.
\hline
Indonesian & Hendy Irawan & {\tt\tiny ceefour at gauldong dot net} & 1.4.6 \\
\hline
Italian & Alessandro Falappa & {\tt\tiny alessandro at falappa dot net} &
1.6.0
\\
Italian & Alessandro Falappa & {\tt\tiny alessandro at falappa dot net} &
up-to-date
\\
~ & Ahmed Aldo Faisal & {\tt\tiny aaf23 at cam dot ac dot uk} & ~ \\
\hline
Japanese & Hiroki Iseri & {\tt\tiny goyoki at gmail dot com} & 1.6.0 \\
...
...
doc/translator_report.txt
View file @
2eccbfdb
...
...
@@ -10,7 +10,7 @@ Persian, Polish, Portuguese, Romanian, Russian, Serbian,
SerbianCyrilic, Slovak, Slovene, Spanish, Swedish, Turkish, Ukrainian,
and Vietnamese.
Of them, 1
4 translators are up-to-date, 24
translators are based on
Of them, 1
5 translators are up-to-date, 23
translators are based on
some adapter class, and 2 are English based.
----------------------------------------------------------------------
...
...
@@ -28,6 +28,7 @@ still may be some details listed even for them:
TranslatorEnglish
TranslatorEsperanto
TranslatorGreek
TranslatorItalian
TranslatorKorean -- Change the base class to Translator.
TranslatorPersian -- The MAX_DOT_GRAPH_HEIGHT found in trLegendDocs()
TranslatorSlovak
...
...
@@ -64,7 +65,6 @@ must be implemented to become up-to-date:
TranslatorJapanese 1.6.0 9 methods to implement (4 %)
Note: Reimplementation using UTF-8 suggested.
TranslatorItalian 1.6.0 9 methods to implement (4 %)
TranslatorFinnish 1.6.0 9 methods to implement (4 %)
TranslatorChinesetraditional 1.6.0 9 methods to implement (4 %)
Note: Reimplementation using UTF-8 suggested.
...
...
@@ -379,24 +379,6 @@ TranslatorIndonesian (TranslatorAdapter_1_4_6) 32 methods to implement (14 %)
virtual QCString trNoDescriptionAvailable()
TranslatorItalian (TranslatorAdapter_1_6_0) 9 methods to implement (4 %)
-----------------
Implements 216 of the required methods (96 %).
Missing methods (should be implemented):
virtual QCString trSearching()
virtual QCString trNoMatches()
virtual QCString trLoading()
virtual QCString trDateTime(int year, int month, int day, int dayOfWeek, int hour, int minutes, int seconds, bool includeTime)
virtual QCString trFileIn(const char * name)
virtual QCString trGlobalNamespace()
virtual QCString trDirRelation(const char * name)
virtual QCString trDirDependency(const char * name)
virtual QCString trIncludesFileIn(const char * name)
TranslatorJapanese (TranslatorAdapter_1_6_0) 9 methods to implement (4 %)
------------------
...
...
qtools/Doxyfile
View file @
2eccbfdb
...
...
@@ -171,7 +171,7 @@ FORMULA_TRANSPARENT = YES
USE_MATHJAX = NO
MATHJAX_RELPATH = http://www.mathjax.org/mathjax
SEARCHENGINE = YES
SERVER_BASED_SEARCH =
NO
SERVER_BASED_SEARCH =
YES
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
...
...
qtools/scstring.cpp
View file @
2eccbfdb
...
...
@@ -141,15 +141,16 @@ SCString &SCString::sprintf( const char *format, ... )
va_list
ap
;
va_start
(
ap
,
format
);
uint
l
=
length
();
const
uint
minlen
=
256
;
const
uint
minlen
=
4095
;
if
(
l
<
minlen
)
{
if
(
m_data
)
m_data
=
(
char
*
)
realloc
(
m_data
,
minlen
);
m_data
=
(
char
*
)
realloc
(
m_data
,
minlen
+
1
);
else
m_data
=
(
char
*
)
malloc
(
minlen
);
m_data
=
(
char
*
)
malloc
(
minlen
+
1
);
m_data
[
minlen
]
=
'\0'
;
}
vs
printf
(
m_data
,
format
,
ap
);
vs
nprintf
(
m_data
,
minlen
,
format
,
ap
);
resize
(
qstrlen
(
m_data
)
+
1
);
// truncate
va_end
(
ap
);
return
*
this
;
...
...
src/code.l
View file @
2eccbfdb
...
...
@@ -1889,16 +1889,15 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}
//FileInfo *f;
bool ambig;
bool found=FALSE;
FileDef *fd=0;
QCString absPath = yytext;
if (g_sourceFileDef && QDir::isRelativePath(absPath))
{
absPath = QDir::cleanDirPath(g_sourceFileDef->getPath()+"/"+absPath);
}
//QCString absPath = yytext;
//if (g_sourceFileDef && QDir::isRelativePath(absPath))
//{
// absPath = QDir::cleanDirPath(g_sourceFileDef->getPath()+"/"+absPath);
//}
//printf("looking for include %s -> %s\n",yytext,absPath.data()
);
if ((fd=findFileDef(Doxygen::inputNameDict,absPath,ambig)) &&
fd->isLinkable())
FileDef *fd=findFileDef(Doxygen::inputNameDict,yytext,ambig
);
//printf("looking for include %s -> %s fd=%p\n",yytext,absPath.data(),fd);
if (fd &&
fd->isLinkable())
{
if (ambig) // multiple input files match the name
{
...
...
@@ -1925,9 +1924,9 @@ OPERATOR {ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}
found = TRUE;
}
}
//printf(" include file %s found=%d\n",fd ? fd->absFilePath().data() : "<none>",found);
if (found)
{
//printf(" include file %s found=%d\n",fd->absFilePath().data(),found);
g_code->writeCodeLink(fd->getReference(),fd->getOutputFileBase(),0,yytext,fd->briefDescriptionAsTooltip());
}
else
...
...
src/commentscan.l
View file @
2eccbfdb
...
...
@@ -2381,7 +2381,8 @@ static bool handleInternal(const QCString &)
}
else
{
//addOutput("\\internal ");
// re-enabled for bug640828
addOutput("\\internal ");
}
return FALSE;
}
...
...
src/config.xml
View file @
2eccbfdb
...
...
@@ -804,6 +804,14 @@ will generate a default style sheet. Note that doxygen will try to copy
the style sheet file to the HTML output directory, so don't put your own
stylesheet in the HTML output directory as well, or it will be erased!
'
defval=
''
depends=
'GENERATE_HTML'
/>
<option
type=
'list'
id=
'HTML_EXTRA_FILES'
format=
'file'
docs=
'
The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
other source files which should be copied to the HTML output directory. Note
that these files will be copied to the base HTML output directory. Use the
$relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
files. In the HTML_STYLESHEET file, use the file name only. Also note that
the files will be copied as-is; there are no commands or markers available.
'
depends=
'GENERATE_HTML'
/>
<option
type=
'int'
id=
'HTML_COLORSTYLE_HUE'
docs=
'
The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
Doxygen will adjust the colors in the stylesheet and background images
...
...
@@ -1104,6 +1112,12 @@ The LATEX_HEADER tag can be used to specify a personal LaTeX header for
the generated latex document. The header should contain everything until
the first chapter. If it is left blank doxygen will generate a
standard header. Notice: only use this tag if you know what you are doing!
'
defval=
''
depends=
'GENERATE_LATEX'
/>
<option
type=
'string'
id=
'LATEX_FOOTER'
format=
'file'
docs=
'
The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
the generated latex document. The footer should contain everything after
the last chapter. If it is left blank doxygen will generate a
standard footer. Notice: only use this tag if you know what you are doing!
'
defval=
''
depends=
'GENERATE_LATEX'
/>
<option
type=
'bool'
id=
'PDF_HYPERLINKS'
docs=
'
If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
...
...
src/configoptions.cpp
View file @
2eccbfdb
...
...
@@ -1151,6 +1151,18 @@ void addConfigOptions(Config *cfg)
cs
->
setWidgetType
(
ConfigString
::
File
);
cs
->
addDependency
(
"GENERATE_HTML"
);
//----
cl
=
cfg
->
addList
(
"HTML_EXTRA_FILES"
,
"The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
\n
"
"other source files which should be copied to the HTML output directory. Note
\n
"
"that these files will be copied to the base HTML output directory. Use the
\n
"
"$relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
\n
"
"files. In the HTML_STYLESHEET file, use the file name only. Also note that
\n
"
"the files will be copied as-is; there are no commands or markers available."
);
cl
->
addDependency
(
"GENERATE_HTML"
);
cl
->
setWidgetType
(
ConfigList
::
File
);
//----
ci
=
cfg
->
addInt
(
"HTML_COLORSTYLE_HUE"
,
"The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
\n
"
...
...
@@ -1638,6 +1650,16 @@ void addConfigOptions(Config *cfg)
cs
->
setWidgetType
(
ConfigString
::
File
);
cs
->
addDependency
(
"GENERATE_LATEX"
);
//----
cs
=
cfg
->
addString
(
"LATEX_FOOTER"
,
"The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
\n
"
"the generated latex document. The footer should contain everything after
\n
"
"the last chapter. If it is left blank doxygen will generate a
\n
"
"standard footer. Notice: only use this tag if you know what you are doing!"
);
cs
->
setWidgetType
(
ConfigString
::
File
);
cs
->
addDependency
(
"GENERATE_LATEX"
);
//----
cb
=
cfg
->
addBool
(
"PDF_HYPERLINKS"
,
"If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
\n
"
...
...
src/docparser.cpp
View file @
2eccbfdb
...
...
@@ -5424,7 +5424,7 @@ int DocPara::handleHtmlStartTag(const QCString &tagName,const HtmlAttribList &ta
g_hasReturnCommand
=
TRUE
;
break
;
case
XML_TERM
:
m_children
.
append
(
new
DocStyleChange
(
this
,
g_nodeStack
.
count
(),
DocStyleChange
::
Bold
,
TRUE
));
//
m_children.append(new DocStyleChange(this,g_nodeStack.count(),DocStyleChange::Bold,TRUE));
if
(
insideTable
(
this
))
{
retval
=
RetVal_TableCell
;
...
...
@@ -5506,19 +5506,19 @@ int DocPara::handleHtmlStartTag(const QCString &tagName,const HtmlAttribList &ta
QCString
type
;
findAttribute
(
tagHtmlAttribs
,
"type"
,
&
type
);
DocHtmlList
::
Type
listType
=
DocHtmlList
::
Unordered
;
HtmlAttribList
emptyList
;
if
(
type
==
"number"
)
{
listType
=
DocHtmlList
::
Ordered
;
}
if
(
type
==
"table"
)
{
DocHtmlTable
*
table
=
new
DocHtmlTable
(
this
,
tagHtmlAttribs
);
DocHtmlTable
*
table
=
new
DocHtmlTable
(
this
,
emptyList
);
m_children
.
append
(
table
);
retval
=
table
->
parseXml
();
}
else
{
HtmlAttribList
emptyList
;
DocHtmlList
*
list
=
new
DocHtmlList
(
this
,
emptyList
,
listType
);
m_children
.
append
(
list
);
retval
=
list
->
parseXml
();
...
...
@@ -5671,7 +5671,7 @@ int DocPara::handleHtmlEndTag(const QCString &tagName)
break
;
case
XML_TERM
:
m_children
.
append
(
new
DocStyleChange
(
this
,
g_nodeStack
.
count
(),
DocStyleChange
::
Bold
,
FALSE
));
//
m_children.append(new DocStyleChange(this,g_nodeStack.count(),DocStyleChange::Bold,FALSE));
break
;
case
XML_SUMMARY
:
case
XML_REMARKS
:
...
...
src/docparser.h
View file @
2eccbfdb
...
...
@@ -451,7 +451,7 @@ class DocFormula : public DocNode
QCString
relPath
()
const
{
return
m_relPath
;
}
int
id
()
const
{
return
m_id
;
}
void
accept
(
DocVisitor
*
v
)
{
v
->
visit
(
this
);
}
bool
isInline
()
{
return
text
().
at
(
0
)
!=
'\\'
;
}
bool
isInline
()
{
return
m_text
.
length
()
>
0
?
m_text
.
at
(
0
)
!=
'\\'
:
TRUE
;
}
private
:
QCString
m_name
;
...
...
src/doctokenizer.l
View file @
2eccbfdb
...
...
@@ -334,9 +334,10 @@ CVSPEC {BLANK}*("const"|"volatile")
LNKWORD2 (({SCOPEPRE}*"operator"{OPMASK})|({SCOPEPRE}"operator"{OPMASKOPT})|(("::"|"#"){SCOPEPRE}*"operator"{OPMASKOPT})){CVSPEC}?
LNKWORD3 ([0-9a-z_A-Z\-]+("/"|"\\"))*[0-9a-z_A-Z\-]+("."[0-9a-z_A-Z]+)+
CHARWORDQ [^ \t\n\r\\@<>()\[\]:;\?{}&%$#,."]
WORD1 "%"?{CHARWORDQ}+|"{"|"}"|"'\"'"|("\""[^"\n]*\n?[^"\n]*"\"")
ESCWORD "%"{ID}(("::"|"."){ID})*
WORD1 {ESCWORD}|{CHARWORDQ}+|"{"|"}"|"'\"'"|("\""[^"\n]*\n?[^"\n]*"\"")
WORD2 "."|","|"("|")"|"["|"]"|":"|";"|"\?"
WORD1NQ
"%"?
{CHARWORDQ}+
WORD1NQ
{ESCWORD}|
{CHARWORDQ}+
WORD2NQ "."|","|"("|")"|"["|"]"|":"|";"|"\?"
HTMLTAG "<"(("/")?){ID}({WS}+{ATTRIB})*{WS}*(("/")?)">"
HTMLKEYL "strong"|"center"|"table"|"caption"|"small"|"code"|"dfn"|"var"|"img"|"pre"|"sub"|"sup"|"tr"|"td"|"th"|"ol"|"ul"|"li"|"tt"|"kbd"|"em"|"hr"|"dl"|"dt"|"dd"|"br"|"i"|"a"|"b"|"p"
...
...
src/dot.cpp
View file @
2eccbfdb
...
...
@@ -3523,6 +3523,7 @@ void writeDotGraphFromFile(const char *inFile,const char *outDir,
* \param inFile just the basename part of the filename
* \param outDir output directory
* \param relPath relative path the to root of the output dir
* \param baseName the base name of the output files
* \param context the scope in which this graph is found (for resolving links)
*/
void
writeDotImageMapFromFile
(
FTextStream
&
t
,
...
...
src/doxygen.cpp
View file @
2eccbfdb
...
...
@@ -4694,7 +4694,7 @@ static void addListReferences()
PageDef
*
pd
=
0
;
for
(
pdi
.
toFirst
();(
pd
=
pdi
.
current
());
++
pdi
)
{
QCString
name
=
pd
->
nam
e
();
QCString
name
=
pd
->
getOutputFileBas
e
();
if
(
pd
->
getGroupDef
())
{
name
=
pd
->
getGroupDef
()
->
getOutputFileBase
();
...
...
@@ -8619,6 +8619,30 @@ static void copyLogo()
}
}
static
void
copyExtraFiles
()
{
QStrList
files
=
Config_getList
(
"HTML_EXTRA_FILES"
);
uint
i
;
for
(
i
=
0
;
i
<
files
.
count
();
++
i
)
{
QCString
fileName
(
files
.
at
(
i
));
if
(
!
fileName
.
isEmpty
())
{
QFileInfo
fi
(
fileName
);
if
(
!
fi
.
exists
())
{
err
(
"Extra HTML file '%s' specified in HTML_EXTRA_FILES does not exist!
\n
"
,
fileName
.
data
());
}
else
{
QCString
destFileName
=
Config_getString
(
"HTML_OUTPUT"
)
+
"/"
+
fi
.
fileName
().
data
();
Doxygen
::
indexList
.
addImageFile
(
fi
.
fileName
().
data
());
copyFile
(
fileName
,
destFileName
);
}
}
}
}
//! parse the list of input files
static
void
parseFiles
(
Entry
*
root
,
EntryNav
*
rootNav
)
...
...
@@ -9151,7 +9175,7 @@ static void usage(const char *name)
msg
(
"5) Use doxygen to generate a template style sheet file for RTF, HTML or Latex.
\n
"
);
msg
(
" RTF: %s -w rtf styleSheetFile
\n
"
,
name
);
msg
(
" HTML: %s -w html headerFile footerFile styleSheetFile [configFile]
\n
"
,
name
);
msg
(
" LaTeX: %s -w latex headerFile styleSheetFile [configFile]
\n\n
"
,
name
);
msg
(
" LaTeX: %s -w latex headerFile
footerFile
styleSheetFile [configFile]
\n\n
"
,
name
);
msg
(
"6) Use doxygen to generate an rtf extensions file
\n
"
);
msg
(
" RTF: %s -e rtf extensionsFile
\n\n
"
,
name
);
msg
(
"If -s is specified the comments in the config file will be omitted.
\n
"
);
...
...
@@ -9430,7 +9454,7 @@ void readConfiguration(int argc, char **argv)
QFile
f
;
if
(
openOutputFile
(
argv
[
optind
+
1
],
f
))
{
HtmlGenerator
::
writeHeaderFile
(
f
);
HtmlGenerator
::
writeHeaderFile
(
f
,
argv
[
optind
+
3
]
);
}
f
.
close
();
if
(
openOutputFile
(
argv
[
optind
+
2
],
f
))
...
...
@@ -9447,11 +9471,11 @@ void readConfiguration(int argc, char **argv)
}
else
if
(
stricmp
(
formatName
,
"latex"
)
==
0
)
{
if
(
optind
+
3
<
argc
)
// use config file to get settings
if
(
optind
+
4
<
argc
)
// use config file to get settings
{
if
(
!
Config
::
instance
()
->
parse
(
argv
[
optind
+
3
]))
if
(
!
Config
::
instance
()
->
parse
(
argv
[
optind
+
4
]))
{
err
(
"error opening or reading configuration file %s!
\n
"
,
argv
[
optind
+
3
]);
err
(
"error opening or reading configuration file %s!
\n
"
,
argv
[
optind
+
4
]);
exit
(
1
);
}
Config
::
instance
()
->
substituteEnvironmentVars
();
...
...
@@ -9463,7 +9487,7 @@ void readConfiguration(int argc, char **argv)
{
Config
::
instance
()
->
init
();
}
if
(
optind
+
2
>=
argc
)
if
(
optind
+
3
>=
argc
)
{
err
(
"error: option
\"
-w latex
\"
does not have enough arguments
\n
"
);
cleanUpDoxygen
();
...
...
@@ -9483,6 +9507,11 @@ void readConfiguration(int argc, char **argv)
}
f
.
close
();
if
(
openOutputFile
(
argv
[
optind
+
2
],
f
))
{
LatexGenerator
::
writeFooterFile
(
f
);
}
f
.
close
();
if
(
openOutputFile
(
argv
[
optind
+
3
],
f
))
{
LatexGenerator
::
writeStyleSheetFile
(
f
);
}
...
...
@@ -10380,6 +10409,7 @@ void generateOutput()
//if (Config_getBool("HTML_DYNAMIC_SECTIONS")) HtmlGenerator::generateSectionImages();
copyStyleSheet
();
copyLogo
();
copyExtraFiles
();
if
(
!
generateTreeView
&&
Config_getBool
(
"USE_INLINE_TREES"
))
{
FTVHelp
::
generateTreeViewImages
();
...
...
src/doxygen.css
View file @
2eccbfdb
...
...
@@ -771,21 +771,21 @@ dl.bug
#projectname
{
font
:
300%
a
rial
,
sans-serif
;
font
:
300%
Tahoma
,
A
rial
,
sans-serif
;
margin
:
0px
;
padding
:
0px
;
padding
:
2px
0px
;
}
#projectbrief
{
font
:
120%
a
rial
,
sans-serif
;
font
:
120%
Tahoma
,
A
rial
,
sans-serif
;
margin
:
0px
;
padding
:
0px
;
}
#projectnumber
{
font
:
50%
a
rial
,
sans-serif
;
font
:
50%
Tahoma
,
A
rial
,
sans-serif
;
margin
:
0px
;
padding
:
0px
;
}
...
...
src/doxygen_css.h
View file @
2eccbfdb
...
...
@@ -771,21 +771,21 @@
"
\n
"
"#projectname
\n
"
"{
\n
"
" font: 300%
a
rial,sans-serif;
\n
"
" font: 300%
Tahoma, A
rial,sans-serif;
\n
"
" margin: 0px;
\n
"
" padding: 0px;
\n
"
" padding:
2px
0px;
\n
"
"}
\n
"
"
\n
"
"#projectbrief
\n
"
"{
\n
"
" font: 120%
a
rial,sans-serif;
\n
"
" font: 120%
Tahoma, A
rial,sans-serif;
\n
"
" margin: 0px;
\n
"
" padding: 0px;
\n
"
"}
\n
"
"
\n
"
"#projectnumber
\n
"
"{
\n
"
" font: 50%
a
rial,sans-serif;
\n
"
" font: 50%
Tahoma, A
rial,sans-serif;
\n
"
" margin: 0px;
\n
"
" padding: 0px;
\n
"
"}
\n
"
...
...
src/fortranscanner.l
View file @
2eccbfdb
...
...
@@ -197,7 +197,7 @@ static int getAmpOrExclAtTheEnd(const char *buf, int length);
static void truncatePrepass(int index);
static void pushBuffer(QCString &buffer);
static void popBuffer();
static void extractPrefix(QCString& text);
//
static void extractPrefix(QCString& text);
static QCString extractFromParens(const QCString name);
//-----------------------------------------------------------------------------
...
...
src/ftvhelp.cpp
View file @
2eccbfdb
...
...
@@ -43,6 +43,7 @@ static const char resize_script[]=
#include "resize_js.h"
;
#if 0
static const char jquery_script1[]=
#include "jquery_js.h"
;
...
...
@@ -52,6 +53,7 @@ static const char jquery_script2[]=
static const char jquery_script3[]=
#include "jquery_ui_js.h"
;
#endif
static
const
char
navtree_css
[]
=
#include "navtree_css.h"
...
...
@@ -936,13 +938,13 @@ void FTVHelp::generateJSLink(FTextStream &t,FTVNode *n)
{
if
(
n
->
file
.
isEmpty
())
// no link
{
t
<<
"
\"
"
<<
n
->
name
<<
"
\"
, null, "
;
t
<<
"
\"
"
<<
convertToJSString
(
n
->
name
)
<<
"
\"
, null, "
;
}
else
// link into other page
{
// TODO: external links with installdox
// TODO: use m_topLevelIndex
t
<<
"
\"
"
<<
n
->
name
<<
"
\"
,
\"
"
;
t
<<
"
\"
"
<<
convertToJSString
(
n
->
name
)
<<
"
\"
,
\"
"
;
t
<<
externalRef
(
""
,
n
->
ref
,
TRUE
);
t
<<
n
->
file
<<
Doxygen
::
htmlFileExtension
;
if
(
!
n
->
anchor
.
isEmpty
())
t
<<
"#"
<<
n
->
anchor
;
...
...
@@ -1088,6 +1090,7 @@ void FTVHelp::generateTreeViewScripts()
t
<<
resize_script
;
}
}
#if 0
// generate jquery.js
{
QFile f(Config_getString("HTML_OUTPUT")+"/jquery.js");
...
...
@@ -1097,6 +1100,7 @@ void FTVHelp::generateTreeViewScripts()
t << jquery_script1 << jquery_script2 << jquery_script3;
}
}
#endif
// generate navtree.css
{
QFile
f
(
Config_getString
(
"HTML_OUTPUT"
)
+
"/navtree.css"
);
...
...
src/htmldocvisitor.cpp
View file @
2eccbfdb
...
...
@@ -1138,17 +1138,17 @@ void HtmlDocVisitor::visitPost(DocHtmlCaption *)
m_t
<<
"</caption>
\n
"
;
}
void
HtmlDocVisitor
::
visitPre
(
DocInternal
*
i
)
void
HtmlDocVisitor
::
visitPre
(
DocInternal
*
)
{
if
(
m_hide
)
return
;
forceEndParagraph
(
i
);
m_t
<<
"<p><b>"
<<
theTranslator
->
trForInternalUseOnly
()
<<
"</b></p>"
<<
endl
;
//
forceEndParagraph(i);
//
m_t << "<p><b>" << theTranslator->trForInternalUseOnly() << "</b></p>" << endl;
}
void
HtmlDocVisitor
::
visitPost
(
DocInternal
*
i
)
void
HtmlDocVisitor
::
visitPost
(
DocInternal
*
)
{
if
(
m_hide
)
return
;
forceStartParagraph
(
i
);
//
forceStartParagraph(i);
}
void
HtmlDocVisitor
::
visitPre
(
DocHRef
*
href
)
...
...
src/htmlgen.cpp
View file @
2eccbfdb
This diff is collapsed.
Click to expand it.
src/htmlgen.h
View file @
2eccbfdb
...
...
@@ -34,7 +34,7 @@ class HtmlGenerator : public OutputGenerator
virtual
~
HtmlGenerator
();
static
void
init
();
static
void
writeStyleSheetFile
(
QFile
&
f
);
static
void
writeHeaderFile
(
QFile
&
f
);
static
void
writeHeaderFile
(
QFile
&
f
,
const
char
*
cssname
);
static
void
writeFooterFile
(
QFile
&
f
);
static
void
writeTabData
();
static
void
writeSearchFooter
(
FTextStream
&
t
,
const
QCString
&
relPath
);
...
...
src/htmlhelp.cpp
View file @
2eccbfdb
...
...
@@ -492,6 +492,7 @@ void HtmlHelp::createProjectFile()
t
<<
"nav_h.png"
<<
endl
;
t
<<
"nav_f.png"
<<
endl
;
t
<<
"bc_s.png"
<<
endl
;
#if 0
if (Config_getBool("HTML_DYNAMIC_SECTIONS"))
{
t << "open.png" << endl;
...
...
@@ -527,6 +528,12 @@ void HtmlHelp::createProjectFile()
t << "close.png" << endl;
}
}
#endif
uint
i
;
for
(
i
=
0
;
i
<
imageFiles
.
count
();
i
++
)
{
t
<<
imageFiles
.
at
(
i
)
<<
endl
;
}
f
.
close
();
}
else
...
...
@@ -690,3 +697,8 @@ void HtmlHelp::addIndexItem(Definition *context,MemberDef *md,
}
}
void
HtmlHelp
::
addImageFile
(
const
char
*
fileName
)
{
imageFiles
.
append
(
fileName
);
}
src/htmlhelp.h
View file @
2eccbfdb
...
...
@@ -79,7 +79,7 @@ class HtmlHelp : public IndexIntf
// const char *anchor,const MemberDef *md);
void
addIndexItem
(
Definition
*
context
,
MemberDef
*
md
,
const
char
*
title
);
void
addIndexFile
(
const
char
*
name
);
void
addImageFile
(
const
char
*
)
{}
void
addImageFile
(
const
char
*
)
;
void
addStyleSheetFile
(
const
char
*
)
{}
private
:
...
...
@@ -90,6 +90,7 @@ class HtmlHelp : public IndexIntf
HtmlHelpIndex
*
index
;
int
dc
;
QStrList
indexFiles
;
QStrList
imageFiles
;
QDict
<
void
>
indexFileDict
;
static
HtmlHelp
*
theInstance
;
QCString
recode
(
const
QCString
&
s
);
...
...
src/image.cpp
View file @
2eccbfdb
...
...
@@ -18,7 +18,6 @@
#include "qtbc.h"
#include "image.h"
//#include "gifenc.h"
#include <qfile.h>
#include <math.h>
#include "lodepng.h"
...
...
src/latexdocvisitor.cpp
View file @
2eccbfdb
...
...
@@ -894,15 +894,15 @@ void LatexDocVisitor::visitPost(DocHtmlCell *c)
void
LatexDocVisitor
::
visitPre
(
DocInternal
*
)
{
if
(
m_hide
)
return
;
m_t
<<
"
\\
begin{DoxyInternal}{"
;
filter
(
theTranslator
->
trForInternalUseOnly
());
m_t
<<
"}
\n
"
;
//
m_t << "\\begin{DoxyInternal}{";
//
filter(theTranslator->trForInternalUseOnly());
//
m_t << "}\n";
}
void
LatexDocVisitor
::
visitPost
(
DocInternal
*
)
{
if
(
m_hide
)
return
;
m_t
<<
"
\\
end{DoxyInternal}"
<<
endl
;
//
m_t << "\\end{DoxyInternal}" << endl;
}
void
LatexDocVisitor
::
visitPre
(
DocHRef
*
href
)
...
...
src/latexgen.cpp
View file @
2eccbfdb
...
...
@@ -257,6 +257,7 @@ static void writeDefaultHeaderPart1(FTextStream &t)
t
<<
"
\\
makeindex
\n
"
"
\\
setcounter{tocdepth}{3}
\n
"
"
\\
renewcommand{
\\
footrulewidth}{0.4pt}
\n
"
"
\\
renewcommand{
\\
familydefault}{
\\
sfdefault}
\n
"
"
\\
begin{document}
\n
"
;
static
bool
pdfHyperlinks
=
Config_getBool
(
"PDF_HYPERLINKS"
);
static
bool
usePDFLatex
=
Config_getBool
(
"USE_PDFLATEX"
);
...
...
@@ -762,6 +763,12 @@ static void writeDefaultStyleSheetPart3(FTextStream &t)
t
<<
"
\\
definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
\n
"
;
}
static
void
writeDefaultFooter
(
FTextStream
&
t
)
{
t
<<
"
\\
printindex
\n
"
;
t
<<
"
\\
end{document}
\n
"
;
}
void
LatexGenerator
::
writeHeaderFile
(
QFile
&
f
)
{
FTextStream
t
(
&
f
);
...
...
@@ -772,6 +779,12 @@ void LatexGenerator::writeHeaderFile(QFile &f)
writeDefaultHeaderPart3
(
t
);
}
void
LatexGenerator
::
writeFooterFile
(
QFile
&
f
)
{
FTextStream
t
(
&
f
);
writeDefaultFooter
(
t
);
}
void
LatexGenerator
::
writeStyleSheetFile
(
QFile
&
f
)
{
FTextStream
t
(
&
f
);
...
...
@@ -993,6 +1006,7 @@ void LatexGenerator::endIndexSection(IndexSections is)
//static bool compactLatex = Config_getBool("COMPACT_LATEX");
static
bool
sourceBrowser
=
Config_getBool
(
"SOURCE_BROWSER"
);
static
QCString
latexHeader
=
Config_getString
(
"LATEX_HEADER"
);
static
QCString
latexFooter
=
Config_getString
(
"LATEX_FOOTER"
);
switch
(
is
)
{
case
isTitlePageStart
:
...
...
@@ -1211,8 +1225,15 @@ void LatexGenerator::endIndexSection(IndexSections is)
case
isPageDocumentation2
:
break
;
case
isEndIndex
:
t
<<
"
\\
printindex
\n
"
;
t
<<
"
\\
end{document}
\n
"
;
if
(
latexFooter
.
isEmpty
())
{
writeDefaultFooter
(
t
);
}
else
{
QCString
footer
=
fileToString
(
latexFooter
);
t
<<
substituteKeywords
(
footer
,
0
);
}
break
;
}
}
...
...
src/latexgen.h
View file @
2eccbfdb
...
...
@@ -30,6 +30,7 @@ class LatexGenerator : public OutputGenerator
static
void
init
();
static
void
writeStyleSheetFile
(
QFile
&
f
);
static
void
writeHeaderFile
(
QFile
&
f
);
static
void
writeFooterFile
(
QFile
&
f
);
//OutputGenerator *copy();
//OutputGenerator *clone() { return new LatexGenerator(*this); }
...
...
src/mandocvisitor.cpp
View file @
2eccbfdb
...
...
@@ -661,19 +661,19 @@ void ManDocVisitor::visitPost(DocHtmlCell *)
void
ManDocVisitor
::
visitPre
(
DocInternal
*
)
{
if
(
m_hide
)
return
;
if
(
!
m_firstCol
)
m_t
<<
endl
;
m_t
<<
".PP"
<<
endl
;
m_t
<<
"
\\
fB"
<<
theTranslator
->
trForInternalUseOnly
()
<<
"
\\
fP"
<<
endl
;
m_t
<<
".RS 4"
<<
endl
;
//
if (!m_firstCol) m_t << endl;
//
m_t << ".PP" << endl;
//
m_t << "\\fB" << theTranslator->trForInternalUseOnly() << "\\fP" << endl;
//
m_t << ".RS 4" << endl;
}
void
ManDocVisitor
::
visitPost
(
DocInternal
*
)
{
if
(
m_hide
)
return
;
if
(
!
m_firstCol
)
m_t
<<
endl
;
m_t
<<
".RE"
<<
endl
;
m_t
<<
".PP"
<<
endl
;
m_firstCol
=
TRUE
;
//
if (!m_firstCol) m_t << endl;
//
m_t << ".RE" << endl;
//
m_t << ".PP" << endl;
//
m_firstCol=TRUE;
}
void
ManDocVisitor
::
visitPre
(
DocHRef
*
)
...
...
src/pagedef.cpp
View file @
2eccbfdb
...
...
@@ -102,6 +102,7 @@ void PageDef::writeDocumentation(OutputList &ol)
}
ol
.
endQuickIndices
();
}
SectionInfo
*
si
=
Doxygen
::
sectionDict
.
find
(
name
());
// save old generator state and write title only to Man generator
ol
.
pushGeneratorState
();
...
...
@@ -109,6 +110,11 @@ void PageDef::writeDocumentation(OutputList &ol)
ol
.
disableAllBut
(
OutputGenerator
::
Man
);
ol
.
startTitleHead
(
pageName
);
ol
.
endTitleHead
(
pageName
,
pageName
);
if
(
si
)
{
ol
.
parseDoc
(
docFile
(),
docLine
(),
this
,
0
,
si
->
title
,
TRUE
,
FALSE
,
0
,
TRUE
,
FALSE
);
ol
.
endSection
(
si
->
label
,
si
->
type
);
}
ol
.
popGeneratorState
();
//2.}
...
...
@@ -117,9 +123,8 @@ void PageDef::writeDocumentation(OutputList &ol)
//2.{
ol
.
disable
(
OutputGenerator
::
Latex
);
ol
.
disable
(
OutputGenerator
::
RTF
);
SectionInfo
*
si
=
0
;
if
(
!
title
().
isEmpty
()
&&
!
name
().
isEmpty
()
&&
(
si
=
Doxygen
::
sectionDict
.
find
(
name
()))
!=
0
)
ol
.
disable
(
OutputGenerator
::
Man
);
if
(
!
title
().
isEmpty
()
&&
!
name
().
isEmpty
()
&&
si
!=
0
)
{
//ol.startSection(si->label,si->title,si->type);
startTitle
(
ol
,
getOutputFileBase
(),
this
);
...
...
src/pre.l
View file @
2eccbfdb
...
...
@@ -56,12 +56,9 @@ struct FileState
FileState(int size) : fileBuf(size),
oldFileBuf(0), oldFileBufPos(0) {}
int lineNr;
//FILE *filePtr;
BufStr fileBuf;
//FILE *oldYYin;
BufStr *oldFileBuf;
int oldFileBufPos;
//bool isPlainFile;
YY_BUFFER_STATE bufState;
QCString fileName;
};
...
...
@@ -1264,7 +1261,10 @@ static void readIncludeFile(const QCString &inc)
if (oldFileDef)
{
// add include dependency to the file in which the #include was found
oldFileDef->addIncludeDependency(g_yyFileDef,incFileName,localInclude,g_isImported);
bool ambig;
// change to local name for bug 641336
FileDef *incFd = findFileDef(Doxygen::inputNameDict,incFileName,ambig);
oldFileDef->addIncludeDependency(ambig ? 0 : incFd,incFileName,localInclude,g_isImported);
// add included by dependency
if (g_yyFileDef)
{
...
...
@@ -1297,16 +1297,18 @@ static void readIncludeFile(const QCString &inc)
if (oldFileDef)
{
bool ambig;
QCString absPath = incFileName;
if (QDir::isRelativePath(incFileName))
{
absPath = QDir::cleanDirPath(oldFileDef->getPath()+"/"+incFileName);
//printf("%s + %s -> resolved path %s\n",oldFileDef->getPath().data(),incFileName.data(),absPath.data());
}
FileDef *fd = findFileDef(Doxygen::inputNameDict,absPath,ambig);
//QCString absPath = incFileName;
//if (QDir::isRelativePath(incFileName))
//{
// absPath = QDir::cleanDirPath(oldFileDef->getPath()+"/"+incFileName);
// //printf("%s + %s -> resolved path %s\n",oldFileDef->getPath().data(),incFileName.data(),absPath.data());
//}
// change to local name for bug 641336
FileDef *fd = findFileDef(Doxygen::inputNameDict,incFileName,ambig);
//printf("%s::findFileDef(%s)=%p\n",oldFileDef->name().data(),incFileName.data(),fd);
// add include dependency to the file in which the #include was found
oldFileDef->addIncludeDependency(fd,incFileName,localInclude,g_isImported);
oldFileDef->addIncludeDependency(
ambig ? 0 :
fd,incFileName,localInclude,g_isImported);
// add included by dependency
if (fd)
{
...
...
@@ -2506,9 +2508,10 @@ void preprocessFile(const char *fileName,BufStr &input,BufStr &output)
g_expandedDict->clear();
g_condStack.clear();
g_condStack.setAutoDelete(TRUE);
g_fileDefineDict->clear(); // add due to bug 641346
static bool firstTime=TRUE;
if (firstTime)
//
static bool firstTime=TRUE;
//
if (firstTime)
{
// add predefined macros
char *defStr;
...
...
@@ -2618,7 +2621,7 @@ void preprocessFile(const char *fileName,BufStr &input,BufStr &output)
// def->name.data(),def->definition.data(),def->nargs);
}
}
firstTime=FALSE;
//
firstTime=FALSE;
}
g_yyLineNr = 1;
...
...
src/qhp.cpp
View file @
2eccbfdb
...
...
@@ -85,7 +85,7 @@ void Qhp::initialize()
{
"name"
,
filterName
,
0
};
m_doc
.
open
(
"customFilter"
,
tagAttributes
);
QStringList
customFilterAttributes
=
QStringList
::
split
(
' '
,
Config_getString
(
"QHP_CUST_FILTER_ATTRS"
));
QStringList
customFilterAttributes
=
QStringList
::
split
(
QChar
(
' '
)
,
Config_getString
(
"QHP_CUST_FILTER_ATTRS"
));
for
(
int
i
=
0
;
i
<
(
int
)
customFilterAttributes
.
count
();
i
++
)
{
m_doc
.
openCloseContent
(
"filterAttribute"
,
customFilterAttributes
[
i
]);
...
...
@@ -96,7 +96,7 @@ void Qhp::initialize()
m_doc
.
open
(
"filterSection"
);
// Add section attributes
QStringList
sectionFilterAttributes
=
QStringList
::
split
(
' '
,
QStringList
sectionFilterAttributes
=
QStringList
::
split
(
QChar
(
' '
)
,
Config_getString
(
"QHP_SECT_FILTER_ATTRS"
));
if
(
!
sectionFilterAttributes
.
contains
(
QString
(
"doxygen"
)))
{
...
...
src/rtfdocvisitor.cpp
View file @
2eccbfdb
...
...
@@ -953,25 +953,25 @@ void RTFDocVisitor::visitPost(DocHtmlCell *)
void
RTFDocVisitor
::
visitPre
(
DocInternal
*
)
{
if
(
m_hide
)
return
;
DBG_RTF
(
"{
\\
comment RTFDocVisitor::visitPre(DocInternal)}
\n
"
);
m_t
<<
"{"
;
// start desc
m_t
<<
"{
\\
b "
;
// start bold
m_t
<<
theTranslator
->
trForInternalUseOnly
();
m_t
<<
"}"
;
// end bold
m_t
<<
"
\\
par"
<<
endl
;
incIndentLevel
();
m_t
<<
rtf_Style_Reset
<<
getStyle
(
"DescContinue"
);
m_lastIsPara
=
FALSE
;
//
DBG_RTF("{\\comment RTFDocVisitor::visitPre(DocInternal)}\n");
//
m_t << "{"; // start desc
//
m_t << "{\\b "; // start bold
//
m_t << theTranslator->trForInternalUseOnly();
//
m_t << "}"; // end bold
//
m_t << "\\par" << endl;
//
incIndentLevel();
//
m_t << rtf_Style_Reset << getStyle("DescContinue");
//
m_lastIsPara=FALSE;
}
void
RTFDocVisitor
::
visitPost
(
DocInternal
*
)
{
if
(
m_hide
)
return
;
DBG_RTF
(
"{
\\
comment RTFDocVisitor::visitPost(DocInternal)}
\n
"
);
m_t
<<
"
\\
par"
;
decIndentLevel
();
m_t
<<
"}"
;
// end desc
m_lastIsPara
=
TRUE
;
//
DBG_RTF("{\\comment RTFDocVisitor::visitPost(DocInternal)}\n");
//
m_t << "\\par";
//
decIndentLevel();
//
m_t << "}"; // end desc
//
m_lastIsPara=TRUE;
}
void
RTFDocVisitor
::
visitPre
(
DocHRef
*
href
)
...
...
src/scanner.l
View file @
2eccbfdb
...
...
@@ -587,6 +587,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
%x ClassVar
%x CSConstraintName
%x CSConstraintType
%x CSIndexer
%x ClassCategory
%x ClassTemplSpec
%x CliPropertyType
...
...
@@ -1660,7 +1661,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
<NSAliasArg>";" {
BEGIN( FindMembers );
}
<PHPUse>({ID}{BN}*"\\"{BN}*)
+
{ID} {
<PHPUse>({ID}{BN}*"\\"{BN}*)
*
{ID} {
lineCount();
aliasName=yytext;
//current->fileName = yyFileName;
...
...
@@ -1972,6 +1973,13 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
{ // javascript function
current->type="function";
}
else if (insideCS && strcmp(yytext,"this")==0)
{
// C# indexer
addType( current ) ;
current->name="this";
BEGIN(CSIndexer);
}
else
{
if (YY_START==FindMembers)
...
...
@@ -2046,6 +2054,10 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
}
}
}
<CSIndexer>"["[^\n\]]*"]" {
current->name+=removeRedundantWhiteSpace(yytext);
BEGIN(FindMembers);
}
<FindMembers>[0-9]{ID} { // some number where we did not expect one
}
<FindMembers>"." {
...
...
@@ -4089,9 +4101,15 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
}
<OldStyleArgs>. { current->args += *yytext; }
<FuncQual,FuncRound,FuncFunc>. { current->args += *yytext; }
<FuncQual>{BN}*"try:" |
<FuncQual>{BN}*"try"{BN}+ { /* try-function-block */
insideTryBlock=TRUE;
lineCount();
if (yytext[yyleng-1]==':')
{
unput(':');
BEGIN( Function );
}
}
<FuncQual>{BN}*"throw"{BN}*"(" { // C++ style throw clause
current->exception = " throw (" ;
...
...
@@ -4869,7 +4887,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
<BasesProt>"private"{BN}+ { lineCount(); baseProt = Private; }
<BasesProt>{BN} { lineCount(); }
<BasesProt>. { unput(*yytext); BEGIN(Bases); }
<Bases>("\\")?
{BN}*({ID}{BN}*"\\"{BN}*)*{ID} {
<Bases>("\\")?
({ID}"\\")*{ID} { // PHP namespace token, not sure if interspacing is allowed but it gives problems (see bug 640847)
if (!insidePHP)
{
REJECT;
...
...
src/search.php
View file @
2eccbfdb
...
...
@@ -140,7 +140,7 @@ function combine_results($results,&$docs)
{
$key
=
$di
[
"url"
];
$rank
=
$di
[
"rank"
];
if
(
$docs
[
$key
]
)
if
(
isset
(
$docs
[
$key
])
)
{
$docs
[
$key
][
"rank"
]
+=
$rank
;
}
...
...
src/search_php.h
View file @
2eccbfdb
...
...
@@ -140,7 +140,7 @@
" {
\n
"
" $key=$di[
\"
url
\"
];
\n
"
" $rank=$di[
\"
rank
\"
];
\n
"
" if (
$docs[$key]
)
\n
"
" if (
isset($docs[$key])
)
\n
"
" {
\n
"
" $docs[$key][
\"
rank
\"
]+=$rank;
\n
"
" }
\n
"
...
...
src/translator_it.h
View file @
2eccbfdb
This diff is collapsed.
Click to expand it.
src/util.cpp
View file @
2eccbfdb
...
...
@@ -3645,7 +3645,7 @@ static void findMembersWithSpecificName(MemberName *mn,
//printf(" md->name()=`%s' md->args=`%s' fd=%p gd=%p current=%p\n",
// md->name().data(),args,fd,gd,currentFile);
if
(
((
gd
&&
gd
->
isLinkable
())
||
(
fd
&&
fd
->
isLinkable
()))
&&
((
gd
&&
gd
->
isLinkable
())
||
(
fd
&&
fd
->
isLinkable
())
||
md
->
isReference
()
)
&&
md
->
getNamespaceDef
()
==
0
&&
md
->
isLinkable
()
&&
(
!
checkStatics
||
(
!
md
->
isStatic
()
&&
!
md
->
isDefine
())
||
currentFile
==
0
||
fd
==
currentFile
)
// statics must appear in the same file
...
...
@@ -3908,11 +3908,11 @@ bool getDefs(const QCString &scName,const QCString &memberName,
// maybe an namespace, file or group member ?
//printf("Testing for global
function
scopeName=`%s' mScope=`%s' :: mName=`%s'\n",
//printf("Testing for global
symbol
scopeName=`%s' mScope=`%s' :: mName=`%s'\n",
// scopeName.data(),mScope.data(),mName.data());
if
((
mn
=
Doxygen
::
functionNameSDict
->
find
(
mName
)))
// name is known
{
//printf(" >
function
name found\n");
//printf(" >
symbol
name found\n");
NamespaceDef
*
fnd
=
0
;
int
scopeOffset
=
scopeName
.
length
();
do
...
...
@@ -4250,6 +4250,7 @@ bool resolveRef(/* in */ const char *scName,
// we did find a member, but it is a global one while we were explicitly
// looking for a scoped variable. See bug 616387 for an example why this check is needed.
// note we do need to support autolinking to "::symbol" hence the >0
//printf("not global member!\n");
*
resContext
=
0
;
*
resMember
=
0
;
return
FALSE
;
...
...
@@ -4285,6 +4286,7 @@ bool resolveRef(/* in */ const char *scName,
{
return
resolveRef
(
scName
,
name
,
inSeeBlock
,
resContext
,
resMember
,
FALSE
,
0
,
checkScope
);
}
//printf("resolveRef: %s not found!\n",name);
return
FALSE
;
}
...
...
@@ -4564,41 +4566,6 @@ QCString substituteClassNames(const QCString &s)
}
#endif
//----------------------------------------------------------------------
// substitute all occurrences of `src' in `s' by `dst'
QCString
substitute
(
const
char
*
s
,
const
char
*
src
,
const
char
*
dst
)
{
if
(
s
==
0
||
src
==
0
)
return
s
;
const
char
*
p
,
*
q
;
int
srcLen
=
strlen
(
src
);
int
dstLen
=
dst
?
strlen
(
dst
)
:
0
;
int
resLen
;
if
(
srcLen
!=
dstLen
)
{
int
count
;
for
(
count
=
0
,
p
=
s
;
(
q
=
strstr
(
p
,
src
))
!=
0
;
p
=
q
+
srcLen
)
count
++
;
resLen
=
p
-
s
+
strlen
(
p
)
+
count
*
(
dstLen
-
srcLen
);
}
else
// result has same size as s
{
resLen
=
strlen
(
s
);
}
QCString
result
(
resLen
+
1
);
char
*
r
;
for
(
r
=
result
.
data
(),
p
=
s
;
(
q
=
strstr
(
p
,
src
))
!=
0
;
p
=
q
+
srcLen
)
{
int
l
=
(
int
)(
q
-
p
);
memcpy
(
r
,
p
,
l
);
r
+=
l
;
if
(
dst
)
memcpy
(
r
,
dst
,
dstLen
);
r
+=
dstLen
;
}
strcpy
(
r
,
p
);
//printf("substitute(%s,%s,%s)->%s\n",s,src,dst,result.data());
return
result
;
}
//----------------------------------------------------------------------
struct
FindFileCacheElem
...
...
@@ -4621,9 +4588,11 @@ FileDef *findFileDef(const FileNameDict *fnDict,const char *n,bool &ambig)
g_findFileDefCache
.
setAutoDelete
(
TRUE
);
FindFileCacheElem
*
cachedResult
=
g_findFileDefCache
.
find
(
key
);
//printf("key=%s cachedResult=%p\n",key.data(),cachedResult);
if
(
cachedResult
)
{
ambig
=
cachedResult
->
isAmbig
;
//printf("cached: fileDef=%p\n",cachedResult->fileDef);
return
cachedResult
->
fileDef
;
}
else
...
...
@@ -4641,10 +4610,12 @@ FileDef *findFileDef(const FileNameDict *fnDict,const char *n,bool &ambig)
{
path
=
name
.
left
(
slashPos
+
1
);
name
=
name
.
right
(
name
.
length
()
-
slashPos
-
1
);
//printf("path=%s name=%s\n",path.data(),name.data());
}
if
(
name
.
isEmpty
())
goto
exit
;
if
((
fn
=
(
*
fnDict
)[
name
]))
{
//printf("fn->count()=%d\n",fn->count());
if
(
fn
->
count
()
==
1
)
{
FileDef
*
fd
=
fn
->
getFirst
();
...
...
@@ -4652,6 +4623,7 @@ FileDef *findFileDef(const FileNameDict *fnDict,const char *n,bool &ambig)
{
cachedResult
->
fileDef
=
fd
;
g_findFileDefCache
.
insert
(
key
,
cachedResult
);
//printf("=1 ===> add to cache %p\n",fd);
return
fd
;
}
}
...
...
@@ -4671,6 +4643,7 @@ FileDef *findFileDef(const FileNameDict *fnDict,const char *n,bool &ambig)
lastMatch
=
fd
;
}
}
//printf(">1 ===> add to cache %p\n",fd);
ambig
=
(
count
>
1
);
cachedResult
->
isAmbig
=
ambig
;
...
...
@@ -4684,7 +4657,9 @@ FileDef *findFileDef(const FileNameDict *fnDict,const char *n,bool &ambig)
//printf("not found!\n");
}
exit:
//printf("0 ===> add to cache %p: %s\n",cachedResult,n);
g_findFileDefCache
.
insert
(
key
,
cachedResult
);
//delete cachedResult;
return
0
;
}
...
...
@@ -4719,9 +4694,9 @@ QCString showFileDefMatches(const FileNameDict *fnDict,const char *n)
//----------------------------------------------------------------------
QCString
substituteKeywords
(
const
QCString
&
s
,
const
char
*
title
,
const
QCString
&
relPath
)
QCString
substituteKeywords
(
const
QCString
&
s
,
const
char
*
title
)
{
QCString
result
=
s
.
copy
()
;
QCString
result
=
s
;
if
(
title
)
result
=
substitute
(
result
,
"$title"
,
title
);
result
=
substitute
(
result
,
"$datetime"
,
dateToString
(
TRUE
));
result
=
substitute
(
result
,
"$date"
,
dateToString
(
FALSE
));
...
...
@@ -4731,7 +4706,6 @@ QCString substituteKeywords(const QCString &s,const char *title,const QCString &
result
=
substitute
(
result
,
"$projectnumber"
,
Config_getString
(
"PROJECT_NUMBER"
));
result
=
substitute
(
result
,
"$projectbrief"
,
Config_getString
(
"PROJECT_BRIEF"
));
result
=
substitute
(
result
,
"$projectlogo"
,
Config_getString
(
"PROJECT_LOGO"
));
result
=
substitute
(
result
,
"$relpath$"
,
relPath
);
return
result
;
}
...
...
@@ -5272,6 +5246,26 @@ QCString convertToHtml(const char *s,bool keepEntities)
return
strBuf
.
get
();
}
QCString
convertToJSString
(
const
char
*
s
)
{
static
StrBuf
strBuf
;
strBuf
.
clear
();
if
(
s
==
0
)
return
""
;
const
char
*
p
=
s
;
char
c
;
while
((
c
=*
p
++
))
{
switch
(
c
)
{
case
'"'
:
strBuf
.
addStr
(
"
\\\"
"
);
break
;
default:
strBuf
.
addChar
(
c
);
break
;
}
}
strBuf
.
addChar
(
0
);
return
strBuf
.
get
();
}
QCString
convertCharEntitiesToUTF8
(
const
QCString
&
s
)
{
static
QDict
<
char
>
entityMap
(
67
);
...
...
src/util.h
View file @
2eccbfdb
...
...
@@ -178,6 +178,10 @@ QCString substituteClassNames(const QCString &s);
QCString
substitute
(
const
char
*
s
,
const
char
*
src
,
const
char
*
dst
);
QCString
clearBlock
(
const
char
*
s
,
const
char
*
begin
,
const
char
*
end
);
QCString
selectBlock
(
const
QCString
&
s
,
const
QCString
&
name
,
bool
which
);
QCString
resolveDefines
(
const
char
*
n
);
ClassDef
*
getClass
(
const
char
*
key
);
...
...
@@ -225,7 +229,7 @@ bool rightScopeMatch(const QCString &scope, const QCString &name);
bool
leftScopeMatch
(
const
QCString
&
scope
,
const
QCString
&
name
);
QCString
substituteKeywords
(
const
QCString
&
s
,
const
char
*
title
,
const
QCString
&
relPath
=
""
);
QCString
substituteKeywords
(
const
QCString
&
s
,
const
char
*
title
);
int
getPrefixIndex
(
const
QCString
&
name
);
...
...
@@ -253,6 +257,8 @@ QCString convertToHtml(const char *s,bool keepEntities=TRUE);
QCString
convertToXML
(
const
char
*
s
);
QCString
convertToJSString
(
const
char
*
s
);
QCString
getOverloadDocs
();
void
addMembersToMemberGroup
(
/* in */
MemberList
*
ml
,
...
...
src/xmlgen.cpp
View file @
2eccbfdb
...
...
@@ -167,7 +167,7 @@ static void writeCombineScript()
" xsltproc combine.xslt index.xml >all.xml
\n
"
"-->
\n
"
"<xsl:stylesheet xmlns:xsl=
\"
http://www.w3.org/1999/XSL/Transform
\"
version=
\"
1.0
\"
>
\n
"
" <xsl:output method=
\"
xml
\"
version=
\"
1.0
\"
indent=
\"
yes
\"
standalone=
\"
yes
\"
/>
\n
"
" <xsl:output method=
\"
xml
\"
version=
\"
1.0
\"
indent=
\"
no
\"
standalone=
\"
yes
\"
/>
\n
"
" <xsl:template match=
\"
/
\"
>
\n
"
" <doxygen version=
\"
{doxygenindex/@version}
\"
>
\n
"
" <!-- Load all doxgen generated xml files -->
\n
"
...
...
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