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
adb81f79
Commit
adb81f79
authored
Jul 03, 2000
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.1.5
parent
9b285300
Changes
41
Show whitespace changes
Inline
Side-by-side
Showing
41 changed files
with
1689 additions
and
757 deletions
+1689
-757
INSTALL
INSTALL
+4
-4
README
README
+2
-2
VERSION
VERSION
+1
-1
config_templ.l
addon/configgen/config_templ.l
+50
-2
configgen.cpp
addon/configgen/configgen.cpp
+29
-9
configure
configure
+2
-0
config.doc
doc/config.doc
+120
-26
language.doc
doc/language.doc
+8
-4
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
classdef.cpp
src/classdef.cpp
+9
-2
code.l
src/code.l
+81
-20
config.h
src/config.h
+3
-1
config.l
src/config.l
+101
-12
definition.cpp
src/definition.cpp
+1
-1
dot.cpp
src/dot.cpp
+2
-1
doxygen.cpp
src/doxygen.cpp
+66
-16
doxygen.h
src/doxygen.h
+1
-0
doxytag.l
src/doxytag.l
+3
-3
htmlgen.cpp
src/htmlgen.cpp
+4
-2
index.cpp
src/index.cpp
+2
-5
language.cpp
src/language.cpp
+5
-0
latexgen.cpp
src/latexgen.cpp
+37
-15
memberdef.cpp
src/memberdef.cpp
+2
-1
pre.l
src/pre.l
+6
-1
rtfgen.cpp
src/rtfgen.cpp
+409
-192
scanner.l
src/scanner.l
+17
-7
suffixtree.cpp
src/suffixtree.cpp
+2
-2
suffixtree.h
src/suffixtree.h
+0
-5
translator.h
src/translator.h
+22
-27
translator_cz.h
src/translator_cz.h
+655
-285
translator_de.h
src/translator_de.h
+2
-20
translator_es.h
src/translator_es.h
+2
-28
translator_fi.h
src/translator_fi.h
+2
-0
translator_fr.h
src/translator_fr.h
+2
-0
translator_hr.h
src/translator_hr.h
+2
-0
translator_it.h
src/translator_it.h
+2
-28
translator_jp.h
src/translator_jp.h
+2
-27
translator_nl.h
src/translator_nl.h
+2
-0
translator_ru.h
src/translator_ru.h
+2
-0
translator_se.h
src/translator_se.h
+2
-0
util.cpp
src/util.cpp
+24
-7
No files found.
INSTALL
View file @
adb81f79
DOXYGEN Version 1.1.
4-2000062
5
DOXYGEN Version 1.1.5
CONTENTS
CONTENTS
--------
--------
...
@@ -15,8 +15,8 @@ INSTALLATION INSTRUCTIONS FOR UNIX:
...
@@ -15,8 +15,8 @@ INSTALLATION INSTRUCTIONS FOR UNIX:
1. Unpack the archive, unless you already have:
1. Unpack the archive, unless you already have:
gunzip doxygen-1.1.
4-2000062
5.src.tar.gz # uncompress the archive
gunzip doxygen-1.1.5.src.tar.gz # uncompress the archive
tar xf doxygen-1.1.
4-2000062
5.src.tar # unpack it
tar xf doxygen-1.1.5.src.tar # unpack it
2. Run the configure script:
2. Run the configure script:
...
@@ -255,4 +255,4 @@ The latest version of doxygen can be obtained at
...
@@ -255,4 +255,4 @@ The latest version of doxygen can be obtained at
Enjoy,
Enjoy,
Dimitri van Heesch (
25 June
2000)
Dimitri van Heesch (
02 July
2000)
README
View file @
adb81f79
DOXYGEN Version 1.1.
4-2000062
5
DOXYGEN Version 1.1.5
Please read INSTALL for compilation instructions.
Please read INSTALL for compilation instructions.
...
@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
...
@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
Enjoy,
Enjoy,
Dimitri van Heesch (
25 June
2000)
Dimitri van Heesch (
02 July
2000)
VERSION
View file @
adb81f79
1.1.
4-2000062
5
1.1.5
addon/configgen/config_templ.l
View file @
adb81f79
...
@@ -82,8 +82,6 @@ static bool * b=0;
...
@@ -82,8 +82,6 @@ static bool * b=0;
static QStrList * l=0;
static QStrList * l=0;
static int lastState;
static int lastState;
static QCString elemStr;
static QCString elemStr;
//static QCString tabSizeString;
//static QCString colsInAlphaIndexString;
#CONFIG Static
#CONFIG Static
/* -----------------------------------------------------------------
/* -----------------------------------------------------------------
...
@@ -313,6 +311,56 @@ void configStrToVal()
...
@@ -313,6 +311,56 @@ void configStrToVal()
}
}
Config::colsInAlphaIndex=cols;
Config::colsInAlphaIndex=cols;
}
}
if (maxDotGraphWidthString.isEmpty())
{
Config::maxDotGraphWidth=1024;
}
else
{
bool ok;
int width =maxDotGraphWidthString.toInt(&ok);
if (!ok)
{
warn_cont("Warning: argument of MAX_DOT_GRAPH_WIDTH is not a valid number in the range [1..20]!\n"
"Using the default of 1024 pixels!\n");
width=1024;
}
else if (width<250) // clip to lower bound
{
width=250;
}
else if (width>30000) // clip to upper bound
{
width=30000;
}
Config::maxDotGraphWidth=width;
}
if (maxDotGraphHeightString.isEmpty())
{
Config::maxDotGraphHeight=1024;
}
else
{
bool ok;
int height =maxDotGraphHeightString.toInt(&ok);
if (!ok)
{
warn_cont("Warning: argument of MAX_DOT_GRAPH_WIDTH is not a valid number in the range [1..20]!\n"
"Using the default of 1024 pixels!\n");
height=1024;
}
else if (height<250) // clip to lower bound
{
height=250;
}
else if (height>30000) // clip to upper bound
{
height=30000;
}
Config::maxDotGraphHeight=height;
}
}
}
static void substEnvVarsInString(QCString &s)
static void substEnvVarsInString(QCString &s)
...
...
addon/configgen/configgen.cpp
View file @
adb81f79
...
@@ -1338,6 +1338,16 @@ void init()
...
@@ -1338,6 +1338,16 @@ void init()
"Note: wordpad (write) and others do not support links.
\n
"
"Note: wordpad (write) and others do not support links.
\n
"
);
);
addDependency
(
"rtfHyperFlag"
,
"generateRTF"
);
addDependency
(
"rtfHyperFlag"
,
"generateRTF"
);
ConfigString
::
add
(
"rtfStylesheetFile"
,
"RTF_STYLESHEET_FILE"
,
""
,
"file to load stylesheet definitions from"
,
"Load stylesheet definitions from file. Syntax is similar to doxygen's
\n
"
"config file, i.e. a series of assigments. You only have to provide
\n
"
"replacements, missing definitions are set to their default value.
\n
"
,
ConfigString
::
File
);
addDependency
(
"rtfStylesheetFile"
,
"generateRTF"
);
//-----------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------
ConfigInfo
::
add
(
"Man"
,
"configuration options related to the man page output"
);
ConfigInfo
::
add
(
"Man"
,
"configuration options related to the man page output"
);
//-----------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------
...
@@ -1383,9 +1393,19 @@ void init()
...
@@ -1383,9 +1393,19 @@ void init()
"expand macros in the source."
,
"expand macros in the source."
,
"If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
\n
"
"If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
\n
"
"names in the source code. If set to NO (the default) only conditional
\n
"
"names in the source code. If set to NO (the default) only conditional
\n
"
"compilation will be performed.
\n
"
"compilation will be performed. Macro expansion can be done in a controlled
\n
"
"way by setting EXPAND_ONLY_PREDEF to YES.
\n
"
);
);
addDependency
(
"macroExpansionFlag"
,
"preprocessingFlag"
);
addDependency
(
"macroExpansionFlag"
,
"preprocessingFlag"
);
ConfigBool
::
add
(
"onlyPredefinedFlag"
,
"EXPAND_ONLY_PREDEF"
,
"FALSE"
,
"expand only predefined macros"
,
"If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
\n
"
"then the macro expansion is limited to the macros specified with the
\n
"
"PREDEFINED and EXPAND_AS_PREDEFINED tags.
\n
"
);
addDependency
(
"onlyPredefinedFlag"
,
"preprocessingFlag"
);
ConfigBool
::
add
(
"searchIncludeFlag"
,
ConfigBool
::
add
(
"searchIncludeFlag"
,
"SEARCH_INCLUDES"
,
"SEARCH_INCLUDES"
,
"TRUE"
,
"TRUE"
,
...
@@ -1415,15 +1435,15 @@ void init()
...
@@ -1415,15 +1435,15 @@ void init()
"omitted =1 is assumed.
\n
"
"omitted =1 is assumed.
\n
"
);
);
addDependency
(
"predefined"
,
"preprocessingFlag"
);
addDependency
(
"predefined"
,
"preprocessingFlag"
);
ConfigBool
::
add
(
"onlyPredefinedFlag"
,
ConfigList
::
add
(
"expandAsDefinedList"
,
"EXPAND_ONLY_PREDEF"
,
"EXPAND_AS_DEFINED"
,
"FALSE"
,
""
,
"expand only predefined macros"
,
"list of defines to expand"
,
"If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
\n
"
"If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
\n
"
"then the macro expansion is limited to the macros specified with the
\n
"
"this tag can be used to specify a list of macro names that should be expanded.
\n
"
"PREDEFINED tag.
\n
"
"The macro definition that is found in the sources will be used.
\n
"
"Use the PREDEFINED tag if you want to use a different macro definition.
\n
"
);
);
addDependency
(
"onlyPredefinedFlag"
,
"preprocessingFlag"
);
//-----------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------
ConfigInfo
::
add
(
"External"
,
"Configuration::addtions related to external references "
);
ConfigInfo
::
add
(
"External"
,
"Configuration::addtions related to external references "
);
//-----------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------
...
...
configure
View file @
adb81f79
...
@@ -353,6 +353,8 @@ if test "$f_shared" = NO; then
...
@@ -353,6 +353,8 @@ if test "$f_shared" = NO; then
cat
>>
.tmakeconfig
<<
EOF
cat
>>
.tmakeconfig
<<
EOF
TMAKE_LFLAGS = -non_shared
TMAKE_LFLAGS = -non_shared
EOF
EOF
elif
test
"
$f_platform
"
=
"solaris-cc"
;
then
TMAKE_LFLAGS
=
-Bstatic
else
else
cat
>>
.tmakeconfig
<<
EOF
cat
>>
.tmakeconfig
<<
EOF
TMAKE_LFLAGS = -static
TMAKE_LFLAGS = -static
...
...
doc/config.doc
View file @
adb81f79
...
@@ -131,6 +131,7 @@ followed by the descriptions of the tags grouped by category.
...
@@ -131,6 +131,7 @@ followed by the descriptions of the tags grouped by category.
<
li
>
\
refitem
cfg_repeat_brief
REPEAT_BRIEF
<
li
>
\
refitem
cfg_repeat_brief
REPEAT_BRIEF
<
li
>
\
refitem
cfg_rtf_hyperlinks
RTF_HYPERLINKS
<
li
>
\
refitem
cfg_rtf_hyperlinks
RTF_HYPERLINKS
<
li
>
\
refitem
cfg_rtf_output
RTF_OUTPUT
<
li
>
\
refitem
cfg_rtf_output
RTF_OUTPUT
<
li
>
\
refitem
cfg_rtf_stylesheet_file
RTF_STYLESHEET_FILE
<
li
>
\
refitem
cfg_search_includes
SEARCH_INCLUDES
<
li
>
\
refitem
cfg_search_includes
SEARCH_INCLUDES
<
li
>
\
refitem
cfg_searchengine
SEARCHENGINE
<
li
>
\
refitem
cfg_searchengine
SEARCHENGINE
<
li
>
\
refitem
cfg_show_include_files
SHOW_INCLUDE_FILES
<
li
>
\
refitem
cfg_show_include_files
SHOW_INCLUDE_FILES
...
@@ -194,7 +195,7 @@ followed by the descriptions of the tags grouped by category.
...
@@ -194,7 +195,7 @@ followed by the descriptions of the tags grouped by category.
\
addindex
DISABLE_INDEX
\
addindex
DISABLE_INDEX
If
you
want
full
control
over
the
layout
of
the
generated
HTML
pages
it
If
you
want
full
control
over
the
layout
of
the
generated
HTML
pages
it
might
be
necessary
to
disable
the
index
and
replace
it
with
your
own
.
might
be
necessary
to
disable
the
index
and
replace
it
with
your
own
.
The
DISABLE_INDEX
tag
can
be
used
to
turn
on
/
off
the
condensed
index
at
The
\
c
DISABLE_INDEX
tag
can
be
used
to
turn
on
/
off
the
condensed
index
at
top
of
each
page
.
A
value
of
NO
(
the
default
)
enables
the
index
and
the
top
of
each
page
.
A
value
of
NO
(
the
default
)
enables
the
index
and
the
value
YES
disables
it
.
value
YES
disables
it
.
...
@@ -311,7 +312,7 @@ followed by the descriptions of the tags grouped by category.
...
@@ -311,7 +312,7 @@ followed by the descriptions of the tags grouped by category.
\
anchor
cfg_strip_code_comments
\
anchor
cfg_strip_code_comments
<
dt
>\
c
STRIP_CODE_COMMENTS
<
dd
>
<
dt
>\
c
STRIP_CODE_COMMENTS
<
dd
>
\
addindex
STRIP_CODE_COMMENTS
\
addindex
STRIP_CODE_COMMENTS
Setting
the
STRIP_CODE_COMMENTS
tag
to
YES
(
the
default
)
will
instruct
Setting
the
\
c
STRIP_CODE_COMMENTS
tag
to
\
c
YES
(
the
default
)
will
instruct
doxygen
to
hide
any
special
comment
blocks
from
generated
source
code
doxygen
to
hide
any
special
comment
blocks
from
generated
source
code
fragments
.
Normal
C
and
C
++
comments
will
always
remain
visible
.
fragments
.
Normal
C
and
C
++
comments
will
always
remain
visible
.
...
@@ -327,9 +328,9 @@ followed by the descriptions of the tags grouped by category.
...
@@ -327,9 +328,9 @@ followed by the descriptions of the tags grouped by category.
\
anchor
cfg_hide_scope_names
\
anchor
cfg_hide_scope_names
<
dt
>\
c
HIDE_SCOPE_NAMES
<
dd
>
<
dt
>\
c
HIDE_SCOPE_NAMES
<
dd
>
\
addindex
HIDE_SCOPE_NAMES
\
addindex
HIDE_SCOPE_NAMES
If
the
HIDE_SCOPE_NAMES
tag
is
set
to
NO
(
the
default
)
then
Doxygen
If
the
\
c
HIDE_SCOPE_NAMES
tag
is
set
to
\
c
NO
(
the
default
)
then
Doxygen
will
show
members
with
their
full
class
and
namespace
scopes
in
the
will
show
members
with
their
full
class
and
namespace
scopes
in
the
documentation
.
If
set
to
YES
the
scope
will
be
hidden
.
documentation
.
If
set
to
\
c
YES
the
scope
will
be
hidden
.
\
anchor
cfg_verbatim_headers
\
anchor
cfg_verbatim_headers
<
dt
>\
c
VERBATIM_HEADERS
<
dd
>
<
dt
>\
c
VERBATIM_HEADERS
<
dd
>
...
@@ -370,9 +371,9 @@ followed by the descriptions of the tags grouped by category.
...
@@ -370,9 +371,9 @@ followed by the descriptions of the tags grouped by category.
\
anchor
cfg_sort_member_docs
\
anchor
cfg_sort_member_docs
<
dt
>\
c
SORT_MEMBER_DOCS
<
dd
>
<
dt
>\
c
SORT_MEMBER_DOCS
<
dd
>
\
addindex
SORT_MEMBER_DOCS
\
addindex
SORT_MEMBER_DOCS
If
the
SORT_MEMBER_DOCS
tag
is
set
to
YES
(
the
default
)
then
doxygen
If
the
\
c
SORT_MEMBER_DOCS
tag
is
set
to
\
c
YES
(
the
default
)
then
doxygen
will
sort
the
(
detailed
)
documentation
of
file
and
class
members
will
sort
the
(
detailed
)
documentation
of
file
and
class
members
alphabetically
by
member
name
.
If
set
to
NO
the
members
will
appear
in
alphabetically
by
member
name
.
If
set
to
\
c
NO
the
members
will
appear
in
declaration
order
.
declaration
order
.
\
anchor
cfg_tab_size
\
anchor
cfg_tab_size
...
@@ -413,8 +414,8 @@ followed by the descriptions of the tags grouped by category.
...
@@ -413,8 +414,8 @@ followed by the descriptions of the tags grouped by category.
\
anchor
cfg_warn_if_undocumented
\
anchor
cfg_warn_if_undocumented
<
dt
>\
c
WARN_IF_UNDOCUMENTED
<
dd
>
<
dt
>\
c
WARN_IF_UNDOCUMENTED
<
dd
>
\
addindex
WARN_IF_UNDOCUMENTED
\
addindex
WARN_IF_UNDOCUMENTED
If
WARN_IF_UNDOCUMENTED
is
set
to
YES
,
then
doxygen
will
generate
warnings
If
\
c
WARN_IF_UNDOCUMENTED
is
set
to
\
c
YES
,
then
doxygen
will
generate
warnings
for
undocumented
members
.
If
EXTRACT_ALL
is
set
to
YES
then
this
flag
will
for
undocumented
members
.
If
\
c
EXTRACT_ALL
is
set
to
\
c
YES
then
this
flag
will
automatically
be
disabled
.
automatically
be
disabled
.
\
anchor
cfg_warn_format
\
anchor
cfg_warn_format
...
@@ -467,7 +468,7 @@ followed by the descriptions of the tags grouped by category.
...
@@ -467,7 +468,7 @@ followed by the descriptions of the tags grouped by category.
\
anchor
cfg_exclude_patterns
\
anchor
cfg_exclude_patterns
<
dt
>\
c
EXCLUDE_PATTERNS
<
dd
>
<
dt
>\
c
EXCLUDE_PATTERNS
<
dd
>
\
addindex
EXCLUDE_PATTERNS
\
addindex
EXCLUDE_PATTERNS
If
the
value
of
the
INPUT
tag
contains
directories
,
you
can
use
the
If
the
value
of
the
\
c
INPUT
tag
contains
directories
,
you
can
use
the
\
c
EXCLUDE_PATTERNS
tag
to
specify
one
or
more
wildcard
patterns
to
exclude
\
c
EXCLUDE_PATTERNS
tag
to
specify
one
or
more
wildcard
patterns
to
exclude
certain
files
from
those
directories
.
certain
files
from
those
directories
.
...
@@ -575,8 +576,8 @@ followed by the descriptions of the tags grouped by category.
...
@@ -575,8 +576,8 @@ followed by the descriptions of the tags grouped by category.
<code>\$projectnumber</code>.
<code>\$projectnumber</code>.
Doxygen will replace them by respectively
Doxygen will replace them by respectively
the title of the page, the current date and time, only the current date,
the title of the page, the current date and time, only the current date,
the version number of doxygen, the project name (see PROJECT_NAME), or the
the version number of doxygen, the project name (see
\c
PROJECT_NAME), or the
project number (see PROJECT_NUMBER).
project number (see
\c
PROJECT_NUMBER).
\anchor cfg_html_footer
\anchor cfg_html_footer
<dt>\c HTML_FOOTER <dd>
<dt>\c HTML_FOOTER <dd>
...
@@ -596,8 +597,8 @@ followed by the descriptions of the tags grouped by category.
...
@@ -596,8 +597,8 @@ followed by the descriptions of the tags grouped by category.
<code>\$projectnumber</code>.
<code>\$projectnumber</code>.
Doxygen will replace them by respectively
Doxygen will replace them by respectively
the title of the page, the current date and time, only the current date,
the title of the page, the current date and time, only the current date,
the version number of doxygen, the project name (see PROJECT_NAME), or the
the version number of doxygen, the project name (see
\c
PROJECT_NAME), or the
project number (see PROJECT_NUMBER).
project number (see
\c
PROJECT_NUMBER).
\anchor cfg_html_stylesheet
\anchor cfg_html_stylesheet
...
@@ -638,10 +639,10 @@ FONT.charliteral { color: #008080 }
...
@@ -638,10 +639,10 @@ FONT.charliteral { color: #008080 }
\addindex HTML_ALIGN_MEMBERS
\addindex HTML_ALIGN_MEMBERS
If the \c HTML_ALIGN_MEMBERS tag is set to \c YES, the members of classes,
If the \c HTML_ALIGN_MEMBERS tag is set to \c YES, the members of classes,
files or namespaces will be aligned in HTML using tables. If set to
files or namespaces will be aligned in HTML using tables. If set to
NO a bullet list will be used.
\c
NO a bullet list will be used.
<b>Note:</b>
<b>Note:</b>
Setting this tag to NO will become obsolete in the future, since I only
Setting this tag to
\c
NO will become obsolete in the future, since I only
intent to support and test the aligned representation.
intent to support and test the aligned representation.
\anchor cfg_generate_htmlhelp
\anchor cfg_generate_htmlhelp
...
@@ -695,7 +696,7 @@ FONT.charliteral { color: #008080 }
...
@@ -695,7 +696,7 @@ FONT.charliteral { color: #008080 }
\
anchor
cfg_paper_type
\
anchor
cfg_paper_type
<
dt
>\
c
PAPER_TYPE
<
dd
>
<
dt
>\
c
PAPER_TYPE
<
dd
>
\
addindex
PAPER_TYPE
\
addindex
PAPER_TYPE
The
PAPER_TYPE
tag
can
be
used
to
set
the
paper
type
that
is
used
The
\
c
PAPER_TYPE
tag
can
be
used
to
set
the
paper
type
that
is
used
by
the
printer
.
Possible
values
are
:
by
the
printer
.
Possible
values
are
:
<
ul
>
<
ul
>
<
li
><
code
>
a4
</
code
>
(
210
x
297
mm
).
<
li
><
code
>
a4
</
code
>
(
210
x
297
mm
).
...
@@ -758,8 +759,8 @@ EXTRA_PACKAGES = times
...
@@ -758,8 +759,8 @@ EXTRA_PACKAGES = times
<
code
>\$
projectnumber
</
code
>.
<
code
>\$
projectnumber
</
code
>.
Doxygen
will
replace
them
by
respectively
Doxygen
will
replace
them
by
respectively
the
title
of
the
page
,
the
current
date
and
time
,
only
the
current
date
,
the
title
of
the
page
,
the
current
date
and
time
,
only
the
current
date
,
the
version
number
of
doxygen
,
the
project
name
(
see
PROJECT_NAME
),
or
the
the
version
number
of
doxygen
,
the
project
name
(
see
\
c
PROJECT_NAME
),
or
the
project
number
(
see
PROJECT_NUMBER
).
project
number
(
see
\
c
PROJECT_NUMBER
).
\
anchor
cfg_pdf_hyperlinks
\
anchor
cfg_pdf_hyperlinks
<
dt
>\
c
PDF_HYPERLINKS
<
dd
>
<
dt
>\
c
PDF_HYPERLINKS
<
dd
>
...
@@ -796,7 +797,7 @@ EXTRA_PACKAGES = times
...
@@ -796,7 +797,7 @@ EXTRA_PACKAGES = times
<
dt
>\
c
RTF_OUTPUT
<
dd
>
<
dt
>\
c
RTF_OUTPUT
<
dd
>
\
addindex
RTF_OUTPUT
\
addindex
RTF_OUTPUT
The
\
c
RTF_OUTPUT
tag
is
used
to
specify
where
the
RTF
docs
will
be
put
.
The
\
c
RTF_OUTPUT
tag
is
used
to
specify
where
the
RTF
docs
will
be
put
.
If
a
relative
path
is
entered
the
value
of
OUTPUT_DIRECTORY
will
be
If
a
relative
path
is
entered
the
value
of
\
c
OUTPUT_DIRECTORY
will
be
put
in
front
of
it
.
If
left
blank
\
c
rtf
will
be
used
as
the
default
path
.
put
in
front
of
it
.
If
left
blank
\
c
rtf
will
be
used
as
the
default
path
.
\
anchor
cfg_compact_rtf
\
anchor
cfg_compact_rtf
...
@@ -818,6 +819,90 @@ EXTRA_PACKAGES = times
...
@@ -818,6 +819,90 @@ EXTRA_PACKAGES = times
\
par
note
:
\
par
note
:
wordpad
(
write
)
and
others
do
not
support
links
.
wordpad
(
write
)
and
others
do
not
support
links
.
\
anchor
cfg_rtf_stylesheet_file
RTF_STYLESHEET_FILE
<
dt
>\
c
RTF_STYLESHEET_FILE
<
dd
>
\
addindex
RTF_STYLESHEET_FILE
Load
stylesheet
definitions
from
file
.
Syntax
is
similar
to
doxygen
's
config file, i.e. a series of assigments. You only have to provide
replacements, missing definitions are set to their default value.
\htmlonly
Here are the default settings:
<font size=2><pre>Reset = \\pard\\plain
Heading1 = \\s1\\sb240\\sa60\\keepn\\widctlpar\\adjustright \\b\\f1\\fs36\\kerning36\\cgrid
Heading2 = \\s2\\sb240\\sa60\\keepn\\widctlpar\\adjustright \\b\\f1\\fs28\\kerning28\\cgrid
Heading3 = \\s3\\sb240\\sa60\\keepn\\widctlpar\\adjustright \\b\\f1\\cgrid
Heading4 = \\s4\\sb240\\sa60\\keepn\\widctlpar\\adjustright \\b\\f1\\fs20\\cgrid
Title = \\s15\\qc\\sb240\\sa60\\widctlpar\\outlinelevel0\\adjustright \\b\\f1\\fs32\\kerning28\\cgrid
SubTitle = \\s16\\qc\\sa60\\widctlpar\\outlinelevel1\\adjustright \\f1\\cgrid
BodyText = \\s17\\sa60\\sb30\\widctlpar\\qj \\fs22\\cgrid
DenseText = \\s18\\widctlpar\\fs22\\cgrid
Header = \\s28\\widctlpar\\tqc\\tx4320\\tqr\\tx8640\\adjustright \\fs20\\cgrid
Footer = \\s29\\widctlpar\\tqc\\tx4320\\tqr\\tx8640\\qr\\adjustright \\fs20\\cgrid
GroupHeader = \\s30\\li360\\sa60\\sb120\\keepn\\widctlpar\\adjustright \\b\\f1\\fs20\\cgrid
CodeExample0 = \\s40\\li0\\widctlpar\\adjustright \\shading1000\\cbpat8 \\f2\\fs16\\cgrid
CodeExample1 = \\s41\\li360\\widctlpar\\adjustright \\shading1000\\cbpat8 \\f2\\fs16\\cgrid
CodeExample2 = \\s42\\li720\\widctlpar\\adjustright \\shading1000\\cbpat8 \\f2\\fs16\\cgrid
CodeExample3 = \\s43\\li1080\\widctlpar\\adjustright \\shading1000\\cbpat8 \\f2\\fs16\\cgrid
CodeExample4 = \\s44\\li1440\\widctlpar\\adjustright \\shading1000\\cbpat8 \\f2\\fs16\\cgrid
CodeExample5 = \\s45\\li1800\\widctlpar\\adjustright \\shading1000\\cbpat8 \\f2\\fs16\\cgrid
CodeExample6 = \\s46\\li2160\\widctlpar\\adjustright \\shading1000\\cbpat8 \\f2\\fs16\\cgrid
CodeExample7 = \\s47\\li2520\\widctlpar\\adjustright \\shading1000\\cbpat8 \\f2\\fs16\\cgrid
CodeExample8 = \\s48\\li2880\\widctlpar\\adjustright \\shading1000\\cbpat8 \\f2\\fs16\\cgrid
CodeExample9 = \\s49\\li3240\\widctlpar\\adjustright \\shading1000\\cbpat8 \\f2\\fs16\\cgrid
ListContinue0 = \\s50\\li0\\sa60\\sb30\\qj\\widctlpar\\qj\\adjustright \\fs20\\cgrid
ListContinue1 = \\s51\\li360\\sa60\\sb30\\qj\\widctlpar\\qj\\adjustright \\fs20\\cgrid
ListContinue2 = \\s52\\li720\\sa60\\sb30\\qj\\widctlpar\\qj\\adjustright \\fs20\\cgrid
ListContinue3 = \\s53\\li1080\\sa60\\sb30\\qj\\widctlpar\\qj\\adjustright \\fs20\\cgrid
ListContinue4 = \\s54\\li1440\\sa60\\sb30\\qj\\widctlpar\\qj\\adjustright \\fs20\\cgrid
ListContinue5 = \\s55\\li1800\\sa60\\sb30\\qj\\widctlpar\\qj\\adjustright \\fs20\\cgrid
ListContinue6 = \\s56\\li2160\\sa60\\sb30\\qj\\widctlpar\\qj\\adjustright \\fs20\\cgrid
ListContinue7 = \\s57\\li2520\\sa60\\sb30\\qj\\widctlpar\\qj\\adjustright \\fs20\\cgrid
ListContinue8 = \\s58\\li2880\\sa60\\sb30\\qj\\widctlpar\\qj\\adjustright \\fs20\\cgrid
ListContinue9 = \\s59\\li3240\\sa60\\sb30\\qj\\widctlpar\\qj\\adjustright \\fs20\\cgrid
DescContinue0 = \\s60\\li0\\widctlpar\\ql\\adjustright \\fs20\\cgrid
DescContinue1 = \\s61\\li360\\widctlpar\\ql\\adjustright \\fs20\\cgrid
DescContinue2 = \\s62\\li720\\widctlpar\\ql\\adjustright \\fs20\\cgrid
DescContinue3 = \\s63\\li1080\\widctlpar\\ql\\adjustright \\fs20\\cgrid
DescContinue4 = \\s64\\li1440\\widctlpar\\ql\\adjustright \\fs20\\cgrid
DescContinue5 = \\s65\\li1800\\widctlpar\\ql\\adjustright \\fs20\\cgrid
DescContinue6 = \\s66\\li2160\\widctlpar\\ql\\adjustright \\fs20\\cgrid
DescContinue7 = \\s67\\li2520\\widctlpar\\ql\\adjustright \\fs20\\cgrid
DescContinue8 = \\s68\\li2880\\widctlpar\\ql\\adjustright \\fs20\\cgrid
DescContinue9 = \\s69\\li3240\\widctlpar\\ql\\adjustright \\fs20\\cgrid
LatexTOC0 = \\s70\\li0\\sa30\\sb30\\widctlpar\\tqr\\tldot\\tx8640\\adjustright \\fs20\\cgrid
LatexTOC1 = \\s71\\li360\\sa27\\sb27\\widctlpar\\tqr\\tldot\\tx8640\\adjustright \\fs20\\cgrid
LatexTOC2 = \\s72\\li720\\sa24\\sb24\\widctlpar\\tqr\\tldot\\tx8640\\adjustright \\fs20\\cgrid
LatexTOC3 = \\s73\\li1080\\sa21\\sb21\\widctlpar\\tqr\\tldot\\tx8640\\adjustright \\fs20\\cgrid
LatexTOC4 = \\s74\\li1440\\sa18\\sb18\\widctlpar\\tqr\\tldot\\tx8640\\adjustright \\fs20\\cgrid
LatexTOC5 = \\s75\\li1800\\sa15\\sb15\\widctlpar\\tqr\\tldot\\tx8640\\adjustright \\fs20\\cgrid
LatexTOC6 = \\s76\\li2160\\sa12\\sb12\\widctlpar\\tqr\\tldot\\tx8640\\adjustright \\fs20\\cgrid
LatexTOC7 = \\s77\\li2520\\sa9\\sb9\\widctlpar\\tqr\\tldot\\tx8640\\adjustright \\fs20\\cgrid
LatexTOC8 = \\s78\\li2880\\sa6\\sb6\\widctlpar\\tqr\\tldot\\tx8640\\adjustright \\fs20\\cgrid
LatexTOC9 = \\s79\\li3240\\sa3\\sb3\\widctlpar\\tqr\\tldot\\tx8640\\adjustright \\fs20\\cgrid
ListBullet0 = \\s80\\fi-360\\li360\\widctlpar\\jclisttab\\tx360{\\*\\pn \\pnlvlbody\\ilvl0\\ls1\\pnrnot0\\pndec }\\ls1\\adjustright \\fs20\\cgrid
ListBullet1 = \\s81\\fi-360\\li720\\widctlpar\\jclisttab\\tx720{\\*\\pn \\pnlvlbody\\ilvl0\\ls2\\pnrnot0\\pndec }\\ls2\\adjustright \\fs20\\cgrid
ListBullet2 = \\s82\\fi-360\\li1080\\widctlpar\\jclisttab\\tx1080{\\*\\pn \\pnlvlbody\\ilvl0\\ls3\\pnrnot0\\pndec }\\ls3\\adjustright \\fs20\\cgrid
ListBullet3 = \\s83\\fi-360\\li1440\\widctlpar\\jclisttab\\tx1440{\\*\\pn \\pnlvlbody\\ilvl0\\ls4\\pnrnot0\\pndec }\\ls4\\adjustright \\fs20\\cgrid
ListBullet4 = \\s84\\fi-360\\li1800\\widctlpar\\jclisttab\\tx1800{\\*\\pn \\pnlvlbody\\ilvl0\\ls5\\pnrnot0\\pndec }\\ls5\\adjustright \\fs20\\cgrid
ListBullet5 = \\s85\\fi-360\\li2160\\widctlpar\\jclisttab\\tx2160{\\*\\pn \\pnlvlbody\\ilvl0\\ls6\\pnrnot0\\pndec }\\ls6\\adjustright \\fs20\\cgrid
ListBullet6 = \\s86\\fi-360\\li2520\\widctlpar\\jclisttab\\tx2520{\\*\\pn \\pnlvlbody\\ilvl0\\ls7\\pnrnot0\\pndec }\\ls7\\adjustright \\fs20\\cgrid
ListBullet7 = \\s87\\fi-360\\li2880\\widctlpar\\jclisttab\\tx2880{\\*\\pn \\pnlvlbody\\ilvl0\\ls8\\pnrnot0\\pndec }\\ls8\\adjustright \\fs20\\cgrid
ListBullet8 = \\s88\\fi-360\\li3240\\widctlpar\\jclisttab\\tx3240{\\*\\pn \\pnlvlbody\\ilvl0\\ls9\\pnrnot0\\pndec }\\ls9\\adjustright \\fs20\\cgrid
ListBullet9 = \\s89\\fi-360\\li3600\\widctlpar\\jclisttab\\tx3600{\\*\\pn \\pnlvlbody\\ilvl0\\ls10\\pnrnot0\\pndec }\\ls10\\adjustright \\fs20\\cgrid
ListEnum0 = \\s90\\fi-360\\li360\\widctlpar\\fs20\\cgrid
ListEnum1 = \\s91\\fi-360\\li720\\widctlpar\\fs20\\cgrid
ListEnum2 = \\s92\\fi-360\\li1080\\widctlpar\\fs20\\cgrid
ListEnum3 = \\s93\\fi-360\\li1440\\widctlpar\\fs20\\cgrid
ListEnum4 = \\s94\\fi-360\\li1800\\widctlpar\\fs20\\cgrid
ListEnum4 = \\s95\\fi-360\\li2160\\widctlpar\\fs20\\cgrid
ListEnum5 = \\s96\\fi-360\\li2520\\widctlpar\\fs20\\cgrid
ListEnum6 = \\s97\\fi-360\\li2880\\widctlpar\\fs20\\cgrid
ListEnum7 = \\s98\\fi-360\\li3240\\widctlpar\\fs20\\cgrid
ListEnum8 = \\s99\\fi-360\\li3600\\widctlpar\\fs20\\cgrid
</pre></font>
\endhtmlonly
</dl>
</dl>
\subsection man_output Man page related options
\subsection man_output Man page related options
...
@@ -860,7 +945,15 @@ EXTRA_PACKAGES = times
...
@@ -860,7 +945,15 @@ EXTRA_PACKAGES = times
\addindex MACRO_EXPANSION
\addindex MACRO_EXPANSION
If the \c MACRO_EXPANSION tag is set to \c YES Doxygen will expand all macro
If the \c MACRO_EXPANSION tag is set to \c YES Doxygen will expand all macro
names in the source code. If set to \c NO (the default) only conditional
names in the source code. If set to \c NO (the default) only conditional
compilation
will
be
performed
.
compilation will be performed. Macro expansion can be done in a controlled
way by setting \c EXPAND_ONLY_PREDEF to \c YES.
\anchor cfg_expand_only_predef
<dt>\c EXPAND_ONLY_PREDEF <dd>
\addindex EXPAND_ONLY_PREDEF
If the \c EXPAND_ONLY_PREDEF and \c MACRO_EXPANSION tags are both set to YES
then the macro expansion is limited to the macros specified with the
\c PREDEFINED and \c EXPAND_AS_PREDEFINED tags.
\anchor cfg_search_includes
\anchor cfg_search_includes
<dt>\c SEARCH_INCLUDES <dd>
<dt>\c SEARCH_INCLUDES <dd>
...
@@ -884,12 +977,13 @@ EXTRA_PACKAGES = times
...
@@ -884,12 +977,13 @@ EXTRA_PACKAGES = times
<code>name</code> or <code>name=definition</code> (no spaces).
<code>name</code> or <code>name=definition</code> (no spaces).
If the definition and the = are omitted =1 is assumed.
If the definition and the = are omitted =1 is assumed.
\
anchor
cfg_expand_only_predef
\anchor cfg_expand_as_defined
<
dt
>\
c
EXPAND_ONLY_PREDEF
<
dd
>
<dt>\c EXPAND_AS_DEFINED <dd>
\
addindex
EXPAND_ONLY_PREDEF
\addindex EXPAND_AS_DEFINED
If
the
\
c
EXPAND_ONLY_PREDEF
and
\
c
MACRO_EXPANSION
tags
are
both
set
to
YES
If the \c MACRO_EXPANSION and \c EXPAND_PREDEF_ONLY tags are set to \c YES then
then
the
macro
expansion
is
limited
to
the
macros
specified
with
the
this tag can be used to specify a list of macro names that should be expanded.
\
c
PREDEFINED
tag
.
The macro definition that is found in the sources will be used.
Use the \c PREDEFINED tag if you want to use a different macro definition.
</dl>
</dl>
\subsection config_extref External reference options
\subsection config_extref External reference options
...
...
doc/language.doc
View file @
adb81f79
...
@@ -82,9 +82,12 @@ Here is a list of the languages and their current maintainers:
...
@@ -82,9 +82,12 @@ Here is a list of the languages and their current maintainers:
Czech
Czech
</TD>
</TD>
<TD>
<TD>
Petr Prikryl<BR>
Vlastimil Havran
Vlastimil Havran
</TD>
</TD>
<TD>
<TD>
<a href="mailto:prikrylp@NOSPAM.skil.cz">
prikrylp@NOSPAM.skil.cz</a>
<a href="mailto:havran@NOSPAM.fel.cvut.cz">
<a href="mailto:havran@NOSPAM.fel.cvut.cz">
havran@NOSPAM.fel.cvut.cz</a>
havran@NOSPAM.fel.cvut.cz</a>
</TD>
</TD>
...
@@ -206,7 +209,8 @@ Here is a list of the languages and their current maintainers:
...
@@ -206,7 +209,8 @@ Here is a list of the languages and their current maintainers:
Swedish & Samuel H\"agglund & {\tt sahag96@nts.mh.se} \\
Swedish & Samuel H\"agglund & {\tt sahag96@nts.mh.se} \\
& XeT Erixon & {\tt xet@hem.passagen.se} \\
& XeT Erixon & {\tt xet@hem.passagen.se} \\
\hline
\hline
Czech & Vlastimil Havran & {\tt havran@fel.cvut.cz} \\
Czech & Petr Prikryl & {\tt prikrylp@skil.cz} \\
& Vlastimil Havran & {\tt havran@fel.cvut.cz} \\
\hline
\hline
Romanian & Ionutz Borcoman & {\tt borco@borco-ei.eng.hokudai.ac.jp} \\
Romanian & Ionutz Borcoman & {\tt borco@borco-ei.eng.hokudai.ac.jp} \\
\hline
\hline
...
...
packages/rpm/doxygen.spec
View file @
adb81f79
Name: doxygen
Name: doxygen
Version: 1.1.
4-2000062
5
Version: 1.1.5
Summary: documentation system for C, C++ and IDL
Summary: documentation system for C, C++ and IDL
Release: 1
Release: 1
Source0: doxygen-%{version}.src.tar.gz
Source0: doxygen-%{version}.src.tar.gz
...
...
src/classdef.cpp
View file @
adb81f79
...
@@ -1605,8 +1605,14 @@ void ClassDef::determineImplUsageRelation()
...
@@ -1605,8 +1605,14 @@ void ClassDef::determineImplUsageRelation()
int
brCount
=
1
;
int
brCount
=
1
;
while
(
te
<
typeLen
&&
brCount
!=
0
)
while
(
te
<
typeLen
&&
brCount
!=
0
)
{
{
if
(
type
.
at
(
te
)
==
'<'
)
brCount
++
;
if
(
type
.
at
(
te
)
==
'<'
)
if
(
type
.
at
(
te
)
==
'>'
)
brCount
--
;
{
if
(
te
<
typeLen
-
1
&&
type
.
at
(
te
+
1
)
==
'<'
)
te
++
;
else
brCount
++
;
}
if
(
type
.
at
(
te
)
==
'>'
)
{
if
(
te
<
typeLen
-
1
&&
type
.
at
(
te
+
1
)
==
'>'
)
te
++
;
else
brCount
--
;
}
te
++
;
te
++
;
}
}
}
}
...
@@ -1614,6 +1620,7 @@ void ClassDef::determineImplUsageRelation()
...
@@ -1614,6 +1620,7 @@ void ClassDef::determineImplUsageRelation()
if
(
te
>
ts
)
templSpec
=
type
.
mid
(
ts
,
te
-
ts
);
if
(
te
>
ts
)
templSpec
=
type
.
mid
(
ts
,
te
-
ts
);
ClassDef
*
cd
=
getResolvedClass
(
name
()
+
"::"
+
type
.
mid
(
i
,
l
));
ClassDef
*
cd
=
getResolvedClass
(
name
()
+
"::"
+
type
.
mid
(
i
,
l
));
if
(
cd
==
0
)
cd
=
getResolvedClass
(
type
.
mid
(
i
,
l
));
// TODO: also try inbetween scopes!
if
(
cd
==
0
)
cd
=
getResolvedClass
(
type
.
mid
(
i
,
l
));
// TODO: also try inbetween scopes!
//printf("Search for class %s result=%p\n",type.mid(i,l).data(),cd);
if
(
cd
)
// class exists
if
(
cd
)
// class exists
{
{
found
=
TRUE
;
found
=
TRUE
;
...
...
src/code.l
View file @
adb81f79
...
@@ -118,6 +118,7 @@ static const char * g_currentFontClass;
...
@@ -118,6 +118,7 @@ static const char * g_currentFontClass;
static bool g_searchingForBody;
static bool g_searchingForBody;
static bool g_insideBody;
static bool g_insideBody;
static int g_bodyCurlyCount;
static int g_bodyCurlyCount;
static ClassDef * g_classVar;
/*! start a new line of code, inserting a line number if g_sourceFileDef
/*! start a new line of code, inserting a line number if g_sourceFileDef
* is TRUE. If a definition starts at the current line, then the line
* is TRUE. If a definition starts at the current line, then the line
...
@@ -341,6 +342,34 @@ static void generateClassLink(OutputList &ol,char *clName,int *clNameLen=0)
...
@@ -341,6 +342,34 @@ static void generateClassLink(OutputList &ol,char *clName,int *clNameLen=0)
}
}
}
}
static ClassDef *stripClassName(const char *s)
{
QCString tmp=s;
if (tmp.isEmpty()) return 0;
static const QRegExp re("[a-z_A-Z][a-z_A-Z0-9:]*");
int p=0,i,l;
while ((i=re.match(tmp,p,&l))!=-1)
{
ClassDef *cd=0;
QCString clName = tmp.mid(i,l);
//printf("g_classScope=`%s' clName=`%s'\n",g_classScope.data(),clName.data());
if (!g_classScope.isEmpty())
{
cd=getResolvedClass(g_classScope+"::"+clName);
}
if (cd==0)
{
cd=getResolvedClass(clName);
}
if (cd)
{
return cd;
}
p=i+l;
}
return 0;
}
static bool getLink(const char *className,
static bool getLink(const char *className,
const char *memberName,OutputList &result,
const char *memberName,OutputList &result,
const char *text=0)
const char *text=0)
...
@@ -375,10 +404,11 @@ static bool getLink(const char *className,
...
@@ -375,10 +404,11 @@ static bool getLink(const char *className,
}
}
}
}
Definition *d=0;
Definition *d=0;
if (cd) d=cd; else if (
c
d) d=nd; else if (fd) d=fd; else d=gd;
if (cd) d=cd; else if (
n
d) d=nd; else if (fd) d=fd; else d=gd;
if (d && d->isLinkable())
if (d && d->isLinkable())
{
{
g_classVar = stripClassName(md->typeString());
if (g_currentDefinition && g_currentMemberDef &&
if (g_currentDefinition && g_currentMemberDef &&
md!=g_currentMemberDef && g_insideBody)
md!=g_currentMemberDef && g_insideBody)
{
{
...
@@ -393,32 +423,47 @@ static bool getLink(const char *className,
...
@@ -393,32 +423,47 @@ static bool getLink(const char *className,
return FALSE;
return FALSE;
}
}
static
ClassDef *stripClassName(const char *s
)
static
bool generateClassMemberLink(OutputList &ol,ClassDef *mcd,const char *memName
)
{
{
QCString tmp=s;
//printf("generateClassMemberLink(%s,%s)\n",mcd->name().data(),memName);
if (tmp.isEmpty()) return 0;
MemberName *mmn=memberNameDict[memName];
static const QRegExp re("[a-z_A-Z][a-z_A-Z0-9:]*");
if (mmn)
int p=0,i,l;
while ((i=re.match(tmp,p,&l))!=-1)
{
{
ClassDef *cd=0;
MemberNameIterator mmni(*mmn);
QCString clName = tmp.mid(i,l);
MemberDef *mmd,*xmd=0;
//printf("g_classScope=`%s' clName=`%s'\n",g_classScope.data(),clName.data());
ClassDef *xcd=0;
if (!g_classScope.isEmpty())
const int maxInheritanceDepth = 100000;
int mdist=maxInheritanceDepth;
for (;(mmd=mmni.current());++mmni)
{
{
cd=getResolvedClass(g_classScope+"::"+clName);
int m=minClassDistance(mcd,mmd->memberClass());
}
if (m<mdist && mmd->memberClass()->isLinkable())
if (cd==0)
{
{
cd=getResolvedClass(clName);
mdist=m;
xcd=mmd->memberClass();
xmd=mmd;
}
}
if (cd)
}
if (mdist!=maxInheritanceDepth)
{
{
return cd;
// extract class definition of the return type in order to resolve
// a->b()->c() like call chains
g_classVar = stripClassName(xmd->typeString());
// add usage reference
if (g_currentDefinition && g_currentMemberDef &&
xmd!=g_currentMemberDef && g_insideBody)
{
xmd->addSourceReference(g_currentMemberDef);
}
}
p=i+l;
// write the actual link
writeMultiLineCodeLink(ol,xcd->getReference(),
xcd->getOutputFileBase(),xmd->anchor(),memName);
return TRUE;
}
}
return 0;
}
return FALSE;
}
}
static void generateMemberLink(OutputList &ol,const char *varName,
static void generateMemberLink(OutputList &ol,const char *varName,
...
@@ -493,6 +538,8 @@ static void generateMemberLink(OutputList &ol,const char *varName,
...
@@ -493,6 +538,8 @@ static void generateMemberLink(OutputList &ol,const char *varName,
ClassDef *mcd=stripClassName(vmd->typeString());
ClassDef *mcd=stripClassName(vmd->typeString());
if (mcd && mcd->isLinkable())
if (mcd && mcd->isLinkable())
{
{
if (generateClassMemberLink(ol,mcd,memName)) return;
#if 0
//printf("Found class `%s'\n",mcd->name().data());
//printf("Found class `%s'\n",mcd->name().data());
MemberName *mmn=memberNameDict[memName];
MemberName *mmn=memberNameDict[memName];
if (mmn)
if (mmn)
...
@@ -524,6 +571,7 @@ static void generateMemberLink(OutputList &ol,const char *varName,
...
@@ -524,6 +571,7 @@ static void generateMemberLink(OutputList &ol,const char *varName,
return;
return;
}
}
}
}
#endif
}
}
}
}
}
}
...
@@ -925,9 +973,21 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
...
@@ -925,9 +973,21 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<MemberCall>{SCOPENAME}/{B}*"(" {
<MemberCall>{SCOPENAME}/{B}*"(" {
if (!g_name.isEmpty())
if (!g_name.isEmpty())
{
generateMemberLink(*g_code,g_name,yytext);
generateMemberLink(*g_code,g_name,yytext);
}
else if (g_classVar)
{
if (!generateClassMemberLink(*g_code,g_classVar,yytext))
{
g_code->codify(yytext);
}
g_classVar=0;
}
else
else
{
g_code->codify(yytext);
g_code->codify(yytext);
}
g_name.resize(0);g_type.resize(0);
g_name.resize(0);g_type.resize(0);
g_bracketCount=0;
g_bracketCount=0;
BEGIN(FuncCall);
BEGIN(FuncCall);
...
@@ -1350,6 +1410,7 @@ void parseCode(OutputList &ol,const char *className,const QCString &s,
...
@@ -1350,6 +1410,7 @@ void parseCode(OutputList &ol,const char *className,const QCString &s,
g_bodyCurlyCount = 0;
g_bodyCurlyCount = 0;
g_bracketCount = 0;
g_bracketCount = 0;
g_sharpCount = 0;
g_sharpCount = 0;
g_classVar = 0;
g_classScope = className;
g_classScope = className;
g_exampleBlock = exBlock;
g_exampleBlock = exBlock;
g_exampleName = exName;
g_exampleName = exName;
...
...
src/config.h
View file @
adb81f79
...
@@ -96,15 +96,17 @@ struct Config
...
@@ -96,15 +96,17 @@ struct Config
static
QCString
rtfOutputDir
;
// the directory to put the RTF files
static
QCString
rtfOutputDir
;
// the directory to put the RTF files
static
bool
compactRTFFlag
;
// generate more compact RTF
static
bool
compactRTFFlag
;
// generate more compact RTF
static
bool
rtfHyperFlag
;
// generate hyper links in RTF
static
bool
rtfHyperFlag
;
// generate hyper links in RTF
static
QCString
rtfStylesheetFile
;
// file to load stylesheet definitions from
static
bool
generateMan
;
// generate Man pages
static
bool
generateMan
;
// generate Man pages
static
QCString
manOutputDir
;
// the directory to put the man pages
static
QCString
manOutputDir
;
// the directory to put the man pages
static
QCString
manExtension
;
// extension the man page files
static
QCString
manExtension
;
// extension the man page files
static
bool
preprocessingFlag
;
// enable preprocessing
static
bool
preprocessingFlag
;
// enable preprocessing
static
bool
macroExpansionFlag
;
// expand macros in the source.
static
bool
macroExpansionFlag
;
// expand macros in the source.
static
bool
onlyPredefinedFlag
;
// expand only predefined macros
static
bool
searchIncludeFlag
;
// search for included files
static
bool
searchIncludeFlag
;
// search for included files
static
QStrList
includePath
;
// list of include paths
static
QStrList
includePath
;
// list of include paths
static
QStrList
predefined
;
// list of predefined macro names.
static
QStrList
predefined
;
// list of predefined macro names.
static
bool
onlyPredefinedFlag
;
// expand only predefined macros
static
QStrList
expandAsDefinedList
;
// list of defines to expand
static
QStrList
tagFileList
;
// list of tag files
static
QStrList
tagFileList
;
// list of tag files
static
QCString
genTagFile
;
// the tag file to generate
static
QCString
genTagFile
;
// the tag file to generate
static
bool
allExtFlag
;
// include all external classes flag
static
bool
allExtFlag
;
// include all external classes flag
...
...
src/config.l
View file @
adb81f79
...
@@ -131,15 +131,17 @@ bool Config::generateRTF = TRUE;
...
@@ -131,15 +131,17 @@ bool Config::generateRTF = TRUE;
QCString Config::rtfOutputDir = "rtf";
QCString Config::rtfOutputDir = "rtf";
bool Config::compactRTFFlag = FALSE;
bool Config::compactRTFFlag = FALSE;
bool Config::rtfHyperFlag = FALSE;
bool Config::rtfHyperFlag = FALSE;
QCString Config::rtfStylesheetFile;
bool Config::generateMan = TRUE;
bool Config::generateMan = TRUE;
QCString Config::manOutputDir = "man";
QCString Config::manOutputDir = "man";
QCString Config::manExtension = ".3";
QCString Config::manExtension = ".3";
bool Config::preprocessingFlag = TRUE;
bool Config::preprocessingFlag = TRUE;
bool Config::macroExpansionFlag = FALSE;
bool Config::macroExpansionFlag = FALSE;
bool Config::onlyPredefinedFlag = FALSE;
bool Config::searchIncludeFlag = TRUE;
bool Config::searchIncludeFlag = TRUE;
QStrList Config::includePath;
QStrList Config::includePath;
QStrList Config::predefined;
QStrList Config::predefined;
bool Config::onlyPredefinedFlag = FALSE
;
QStrList Config::expandAsDefinedList
;
QStrList Config::tagFileList;
QStrList Config::tagFileList;
QCString Config::genTagFile;
QCString Config::genTagFile;
bool Config::allExtFlag = FALSE;
bool Config::allExtFlag = FALSE;
...
@@ -175,8 +177,6 @@ static bool * b=0;
...
@@ -175,8 +177,6 @@ static bool * b=0;
static QStrList * l=0;
static QStrList * l=0;
static int lastState;
static int lastState;
static QCString elemStr;
static QCString elemStr;
//static QCString tabSizeString;
//static QCString colsInAlphaIndexString;
static QCString tabSizeString;
static QCString tabSizeString;
static QCString colsInAlphaIndexString;
static QCString colsInAlphaIndexString;
static QCString maxDotGraphWidthString;
static QCString maxDotGraphWidthString;
...
@@ -279,15 +279,17 @@ static int yyread(char *buf,int max_size)
...
@@ -279,15 +279,17 @@ static int yyread(char *buf,int max_size)
<Start>"RTF_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::rtfOutputDir; s->resize(0); }
<Start>"RTF_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::rtfOutputDir; s->resize(0); }
<Start>"COMPACT_RTF"[ \t]*"=" { BEGIN(GetBool); b=&Config::compactRTFFlag; }
<Start>"COMPACT_RTF"[ \t]*"=" { BEGIN(GetBool); b=&Config::compactRTFFlag; }
<Start>"RTF_HYPERLINKS"[ \t]*"=" { BEGIN(GetBool); b=&Config::rtfHyperFlag; }
<Start>"RTF_HYPERLINKS"[ \t]*"=" { BEGIN(GetBool); b=&Config::rtfHyperFlag; }
<Start>"RTF_STYLESHEET_FILE"[ \t]*"=" { BEGIN(GetString); s=&Config::rtfStylesheetFile; s->resize(0); }
<Start>"GENERATE_MAN"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateMan; }
<Start>"GENERATE_MAN"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateMan; }
<Start>"MAN_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::manOutputDir; s->resize(0); }
<Start>"MAN_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::manOutputDir; s->resize(0); }
<Start>"MAN_EXTENSION"[ \t]*"=" { BEGIN(GetString); s=&Config::manExtension; s->resize(0); }
<Start>"MAN_EXTENSION"[ \t]*"=" { BEGIN(GetString); s=&Config::manExtension; s->resize(0); }
<Start>"ENABLE_PREPROCESSING"[ \t]*"=" { BEGIN(GetBool); b=&Config::preprocessingFlag; }
<Start>"ENABLE_PREPROCESSING"[ \t]*"=" { BEGIN(GetBool); b=&Config::preprocessingFlag; }
<Start>"MACRO_EXPANSION"[ \t]*"=" { BEGIN(GetBool); b=&Config::macroExpansionFlag; }
<Start>"MACRO_EXPANSION"[ \t]*"=" { BEGIN(GetBool); b=&Config::macroExpansionFlag; }
<Start>"EXPAND_ONLY_PREDEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::onlyPredefinedFlag; }
<Start>"SEARCH_INCLUDES"[ \t]*"=" { BEGIN(GetBool); b=&Config::searchIncludeFlag; }
<Start>"SEARCH_INCLUDES"[ \t]*"=" { BEGIN(GetBool); b=&Config::searchIncludeFlag; }
<Start>"INCLUDE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::includePath; l->clear(); elemStr=""; }
<Start>"INCLUDE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::includePath; l->clear(); elemStr=""; }
<Start>"PREDEFINED"[ \t]*"=" { BEGIN(GetStrList); l=&Config::predefined; l->clear(); elemStr=""; }
<Start>"PREDEFINED"[ \t]*"=" { BEGIN(GetStrList); l=&Config::predefined; l->clear(); elemStr=""; }
<Start>"EXPAND_
ONLY_PREDEF"[ \t]*"=" { BEGIN(GetBool); b=&Config::onlyPredefinedFlag
; }
<Start>"EXPAND_
AS_DEFINED"[ \t]*"=" { BEGIN(GetStrList); l=&Config::expandAsDefinedList; l->clear(); elemStr=""
; }
<Start>"TAGFILES"[ \t]*"=" { BEGIN(GetStrList); l=&Config::tagFileList; l->clear(); elemStr=""; }
<Start>"TAGFILES"[ \t]*"=" { BEGIN(GetStrList); l=&Config::tagFileList; l->clear(); elemStr=""; }
<Start>"GENERATE_TAGFILE"[ \t]*"=" { BEGIN(GetString); s=&Config::genTagFile; s->resize(0); }
<Start>"GENERATE_TAGFILE"[ \t]*"=" { BEGIN(GetString); s=&Config::genTagFile; s->resize(0); }
<Start>"ALLEXTERNALS"[ \t]*"=" { BEGIN(GetBool); b=&Config::allExtFlag; }
<Start>"ALLEXTERNALS"[ \t]*"=" { BEGIN(GetBool); b=&Config::allExtFlag; }
...
@@ -546,6 +548,7 @@ void dumpConfig()
...
@@ -546,6 +548,7 @@ void dumpConfig()
printf("rtfOutputDir=`%s'\n",Config::rtfOutputDir.data());
printf("rtfOutputDir=`%s'\n",Config::rtfOutputDir.data());
printf("compactRTFFlag=`%d'\n",Config::compactRTFFlag);
printf("compactRTFFlag=`%d'\n",Config::compactRTFFlag);
printf("rtfHyperFlag=`%d'\n",Config::rtfHyperFlag);
printf("rtfHyperFlag=`%d'\n",Config::rtfHyperFlag);
printf("rtfStylesheetFile=`%s'\n",Config::rtfStylesheetFile.data());
printf("# configuration options related to the man page output\n");
printf("# configuration options related to the man page output\n");
printf("generateMan=`%d'\n",Config::generateMan);
printf("generateMan=`%d'\n",Config::generateMan);
printf("manOutputDir=`%s'\n",Config::manOutputDir.data());
printf("manOutputDir=`%s'\n",Config::manOutputDir.data());
...
@@ -553,6 +556,7 @@ void dumpConfig()
...
@@ -553,6 +556,7 @@ void dumpConfig()
printf("# Configuration options related to the preprocessor \n");
printf("# Configuration options related to the preprocessor \n");
printf("preprocessingFlag=`%d'\n",Config::preprocessingFlag);
printf("preprocessingFlag=`%d'\n",Config::preprocessingFlag);
printf("macroExpansionFlag=`%d'\n",Config::macroExpansionFlag);
printf("macroExpansionFlag=`%d'\n",Config::macroExpansionFlag);
printf("onlyPredefinedFlag=`%d'\n",Config::onlyPredefinedFlag);
printf("searchIncludeFlag=`%d'\n",Config::searchIncludeFlag);
printf("searchIncludeFlag=`%d'\n",Config::searchIncludeFlag);
{
{
char *is=Config::includePath.first();
char *is=Config::includePath.first();
...
@@ -570,7 +574,14 @@ void dumpConfig()
...
@@ -570,7 +574,14 @@ void dumpConfig()
is=Config::predefined.next();
is=Config::predefined.next();
}
}
}
}
printf("onlyPredefinedFlag=`%d'\n",Config::onlyPredefinedFlag);
{
char *is=Config::expandAsDefinedList.first();
while (is)
{
printf("expandAsDefinedList=`%s'\n",is);
is=Config::expandAsDefinedList.next();
}
}
printf("# Configuration::addtions related to external references \n");
printf("# Configuration::addtions related to external references \n");
{
{
char *is=Config::tagFileList.first();
char *is=Config::tagFileList.first();
...
@@ -677,15 +688,17 @@ void Config::init()
...
@@ -677,15 +688,17 @@ void Config::init()
Config::rtfOutputDir = "rtf";
Config::rtfOutputDir = "rtf";
Config::compactRTFFlag = FALSE;
Config::compactRTFFlag = FALSE;
Config::rtfHyperFlag = FALSE;
Config::rtfHyperFlag = FALSE;
Config::rtfStylesheetFile.resize(0);
Config::generateMan = TRUE;
Config::generateMan = TRUE;
Config::manOutputDir = "man";
Config::manOutputDir = "man";
Config::manExtension = ".3";
Config::manExtension = ".3";
Config::preprocessingFlag = TRUE;
Config::preprocessingFlag = TRUE;
Config::macroExpansionFlag = FALSE;
Config::macroExpansionFlag = FALSE;
Config::onlyPredefinedFlag = FALSE;
Config::searchIncludeFlag = TRUE;
Config::searchIncludeFlag = TRUE;
Config::includePath.clear();
Config::includePath.clear();
Config::predefined.clear();
Config::predefined.clear();
Config::
onlyPredefinedFlag = FALSE
;
Config::
expandAsDefinedList.clear()
;
Config::tagFileList.clear();
Config::tagFileList.clear();
Config::genTagFile.resize(0);
Config::genTagFile.resize(0);
Config::allExtFlag = FALSE;
Config::allExtFlag = FALSE;
...
@@ -1554,6 +1567,17 @@ void writeTemplateConfig(QFile *f,bool sl)
...
@@ -1554,6 +1567,17 @@ void writeTemplateConfig(QFile *f,bool sl)
writeBoolValue(t,Config::rtfHyperFlag);
writeBoolValue(t,Config::rtfHyperFlag);
t << "\n";
t << "\n";
if (!sl)
if (!sl)
{
t << "\n";
t << "# Load stylesheet definitions from file. Syntax is similar to doxygen's \n";
t << "# config file, i.e. a series of assigments. You only have to provide \n";
t << "# replacements, missing definitions are set to their default value. \n";
t << "\n";
}
t << "RTF_STYLESHEET_FILE = ";
writeStringValue(t,Config::rtfStylesheetFile);
t << "\n";
if (!sl)
{
{
t << "\n";
t << "\n";
}
}
...
@@ -1614,13 +1638,25 @@ void writeTemplateConfig(QFile *f,bool sl)
...
@@ -1614,13 +1638,25 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "\n";
t << "\n";
t << "# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro \n";
t << "# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro \n";
t << "# names in the source code. If set to NO (the default) only conditional \n";
t << "# names in the source code. If set to NO (the default) only conditional \n";
t << "# compilation will be performed. \n";
t << "# compilation will be performed. Macro expansion can be done in a controlled \n";
t << "# way by setting EXPAND_ONLY_PREDEF to YES. \n";
t << "\n";
t << "\n";
}
}
t << "MACRO_EXPANSION = ";
t << "MACRO_EXPANSION = ";
writeBoolValue(t,Config::macroExpansionFlag);
writeBoolValue(t,Config::macroExpansionFlag);
t << "\n";
t << "\n";
if (!sl)
if (!sl)
{
t << "\n";
t << "# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES \n";
t << "# then the macro expansion is limited to the macros specified with the \n";
t << "# PREDEFINED and EXPAND_AS_PREDEFINED tags. \n";
t << "\n";
}
t << "EXPAND_ONLY_PREDEF = ";
writeBoolValue(t,Config::onlyPredefinedFlag);
t << "\n";
if (!sl)
{
{
t << "\n";
t << "\n";
t << "# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files \n";
t << "# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files \n";
...
@@ -1657,13 +1693,14 @@ void writeTemplateConfig(QFile *f,bool sl)
...
@@ -1657,13 +1693,14 @@ void writeTemplateConfig(QFile *f,bool sl)
if (!sl)
if (!sl)
{
{
t << "\n";
t << "\n";
t << "# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES \n";
t << "# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then \n";
t << "# then the macro expansion is limited to the macros specified with the \n";
t << "# this tag can be used to specify a list of macro names that should be expanded. \n";
t << "# PREDEFINED tag. \n";
t << "# The macro definition that is found in the sources will be used. \n";
t << "# Use the PREDEFINED tag if you want to use a different macro definition. \n";
t << "\n";
t << "\n";
}
}
t << "EXPAND_
ONLY_PREDEF
= ";
t << "EXPAND_
AS_DEFINED
= ";
write
BoolValue(t,Config::onlyPredefinedFlag
);
write
StringList(t,Config::expandAsDefinedList
);
t << "\n";
t << "\n";
if (!sl)
if (!sl)
{
{
...
@@ -1942,6 +1979,56 @@ void configStrToVal()
...
@@ -1942,6 +1979,56 @@ void configStrToVal()
}
}
Config::colsInAlphaIndex=cols;
Config::colsInAlphaIndex=cols;
}
}
if (maxDotGraphWidthString.isEmpty())
{
Config::maxDotGraphWidth=1024;
}
else
{
bool ok;
int width =maxDotGraphWidthString.toInt(&ok);
if (!ok)
{
warn_cont("Warning: argument of MAX_DOT_GRAPH_WIDTH is not a valid number in the range [1..20]!\n"
"Using the default of 1024 pixels!\n");
width=1024;
}
else if (width<250) // clip to lower bound
{
width=250;
}
else if (width>30000) // clip to upper bound
{
width=30000;
}
Config::maxDotGraphWidth=width;
}
if (maxDotGraphHeightString.isEmpty())
{
Config::maxDotGraphHeight=1024;
}
else
{
bool ok;
int height =maxDotGraphHeightString.toInt(&ok);
if (!ok)
{
warn_cont("Warning: argument of MAX_DOT_GRAPH_WIDTH is not a valid number in the range [1..20]!\n"
"Using the default of 1024 pixels!\n");
height=1024;
}
else if (height<250) // clip to lower bound
{
height=250;
}
else if (height>30000) // clip to upper bound
{
height=30000;
}
Config::maxDotGraphHeight=height;
}
}
}
static void substEnvVarsInString(QCString &s)
static void substEnvVarsInString(QCString &s)
...
@@ -2073,10 +2160,12 @@ void substituteEnvironmentVars()
...
@@ -2073,10 +2160,12 @@ void substituteEnvironmentVars()
substEnvVarsInStrList( Config::extraPackageList );
substEnvVarsInStrList( Config::extraPackageList );
substEnvVarsInString( Config::latexHeaderFile );
substEnvVarsInString( Config::latexHeaderFile );
substEnvVarsInString( Config::rtfOutputDir );
substEnvVarsInString( Config::rtfOutputDir );
substEnvVarsInString( Config::rtfStylesheetFile );
substEnvVarsInString( Config::manOutputDir );
substEnvVarsInString( Config::manOutputDir );
substEnvVarsInString( Config::manExtension );
substEnvVarsInString( Config::manExtension );
substEnvVarsInStrList( Config::includePath );
substEnvVarsInStrList( Config::includePath );
substEnvVarsInStrList( Config::predefined );
substEnvVarsInStrList( Config::predefined );
substEnvVarsInStrList( Config::expandAsDefinedList );
substEnvVarsInStrList( Config::tagFileList );
substEnvVarsInStrList( Config::tagFileList );
substEnvVarsInString( Config::genTagFile );
substEnvVarsInString( Config::genTagFile );
substEnvVarsInString( Config::perlPath );
substEnvVarsInString( Config::perlPath );
...
...
src/definition.cpp
View file @
adb81f79
...
@@ -143,7 +143,7 @@ static bool readCodeFragment(const char *fileName,
...
@@ -143,7 +143,7 @@ static bool readCodeFragment(const char *fileName,
{
{
// skip until the opening bracket or lonely : is found
// skip until the opening bracket or lonely : is found
bool
found
=
FALSE
;
bool
found
=
FALSE
;
char
cn
;
char
cn
=
0
;
while
(
lineNr
<=
endLine
&&
!
f
.
atEnd
()
&&
!
found
)
while
(
lineNr
<=
endLine
&&
!
f
.
atEnd
()
&&
!
found
)
{
{
while
((
c
=
f
.
getch
())
!=
'{'
&&
c
!=
':'
&&
c
!=-
1
)
if
(
c
==
'\n'
)
lineNr
++
;
while
((
c
=
f
.
getch
())
!=
'{'
&&
c
!=
':'
&&
c
!=-
1
)
if
(
c
==
'\n'
)
lineNr
++
;
...
...
src/dot.cpp
View file @
adb81f79
...
@@ -996,7 +996,8 @@ static void findMaximalDotGraph(DotNode *root,
...
@@ -996,7 +996,8 @@ static void findMaximalDotGraph(DotNode *root,
readBoundingBoxDot
(
baseName
+
"_tmp.dot"
,
&
width
,
&
height
);
readBoundingBoxDot
(
baseName
+
"_tmp.dot"
,
&
width
,
&
height
);
width
=
width
*
96
/
72
;
// 96 pixels/inch, 72 points/inch
width
=
width
*
96
/
72
;
// 96 pixels/inch, 72 points/inch
height
=
height
*
96
/
72
;
// 96 pixels/inch, 72 points/inch
height
=
height
*
96
/
72
;
// 96 pixels/inch, 72 points/inch
//printf("Found bounding box (%d,%d)\n",width,height);
//printf("Found bounding box (%d,%d) max (%d,%d)\n",width,height,
// Config::maxDotGraphWidth,Config::maxDotGraphHeight);
lastFit
=
(
width
<
Config
::
maxDotGraphWidth
&&
height
<
Config
::
maxDotGraphHeight
);
lastFit
=
(
width
<
Config
::
maxDotGraphWidth
&&
height
<
Config
::
maxDotGraphHeight
);
if
(
lastFit
)
// image is small enough
if
(
lastFit
)
// image is small enough
...
...
src/doxygen.cpp
View file @
adb81f79
...
@@ -81,10 +81,6 @@ MemberNameDict functionNameDict(10007); // all functions
...
@@ -81,10 +81,6 @@ MemberNameDict functionNameDict(10007); // all functions
StringDict
substituteDict
(
1009
);
// class name substitutes
StringDict
substituteDict
(
1009
);
// class name substitutes
SectionDict
sectionDict
(
257
);
// all page sections
SectionDict
sectionDict
(
257
);
// all page sections
StringDict
excludeNameDict
(
1009
);
// sections
StringDict
excludeNameDict
(
1009
);
// sections
//FileNameDict inputNameDict(1009); // sections
//FileNameDict includeNameDict(1009); // include names
//FileNameDict exampleNameDict(1009); // examples
//FileNameDict imageNameDict(257); // images
FileNameDict
*
inputNameDict
;
// sections
FileNameDict
*
inputNameDict
;
// sections
FileNameDict
*
includeNameDict
;
// include names
FileNameDict
*
includeNameDict
;
// include names
FileNameDict
*
exampleNameDict
;
// examples
FileNameDict
*
exampleNameDict
;
// examples
...
@@ -96,6 +92,7 @@ FormulaDict formulaNameDict(1009); // the label name of all formulas
...
@@ -96,6 +92,7 @@ FormulaDict formulaNameDict(1009); // the label name of all formulas
StringDict
tagDestinationDict
(
257
);
// all tag locations
StringDict
tagDestinationDict
(
257
);
// all tag locations
// a member group
// a member group
QDict
<
void
>
compoundKeywordDict
(
7
);
// keywords recognised as compounds
QDict
<
void
>
compoundKeywordDict
(
7
);
// keywords recognised as compounds
QDict
<
void
>
expandAsDefinedDict
(
257
);
// all macros that should be expanded
OutputList
*
outputList
=
0
;
// list of output generating objects
OutputList
*
outputList
=
0
;
// list of output generating objects
PageInfo
*
mainPage
=
0
;
PageInfo
*
mainPage
=
0
;
...
@@ -906,6 +903,15 @@ static MemberDef *addVariableToClass(
...
@@ -906,6 +903,15 @@ static MemberDef *addVariableToClass(
root
->
protection
,
root
->
protection
,
fromAnnScope
fromAnnScope
);
);
// class friends may be templatized
//QCString name=n;
//int i;
//if (root->type.left(7)=="friend " && (i=name.find('<'))!=-1)
//{
// name=name.left(i);
//}
// add template names, if the class is a non-specialized template
// add template names, if the class is a non-specialized template
//if (scope.find('<')==-1 && cd->templateArguments())
//if (scope.find('<')==-1 && cd->templateArguments())
//{
//{
...
@@ -1332,7 +1338,7 @@ static void buildMemberList(Entry *root)
...
@@ -1332,7 +1338,7 @@ static void buildMemberList(Entry *root)
ClassDef
*
cd
=
0
;
ClassDef
*
cd
=
0
;
// check if this function's parent is a class
// check if this function's parent is a class
QRegExp
re
(
"([a-zA-Z0-9: ]*[ *]*[ ]*"
);
QRegExp
re
(
"([a-z
_
A-Z0-9: ]*[ *]*[ ]*"
);
//printf("root->parent=`%s' cd=%p root->type.find(re,0)=%d\n",
//printf("root->parent=`%s' cd=%p root->type.find(re,0)=%d\n",
// root->parent->name.data(),getClass(root->parent->name),
// root->parent->name.data(),getClass(root->parent->name),
// root->type.find(re,0));
// root->type.find(re,0));
...
@@ -1896,7 +1902,7 @@ static bool findBaseClassRelation(Entry *root,ClassDef *cd,
...
@@ -1896,7 +1902,7 @@ static bool findBaseClassRelation(Entry *root,ClassDef *cd,
templSpec
=
baseClassName
.
mid
(
i
,
e
-
i
);
templSpec
=
baseClassName
.
mid
(
i
,
e
-
i
);
baseClassName
=
baseClassName
.
left
(
i
)
+
baseClassName
.
right
(
baseClassName
.
length
()
-
e
);
baseClassName
=
baseClassName
.
left
(
i
)
+
baseClassName
.
right
(
baseClassName
.
length
()
-
e
);
baseClass
=
getResolvedClass
(
baseClassName
);
baseClass
=
getResolvedClass
(
baseClassName
);
//printf("baseClass=%p baseClass=%s templSpec=%s\n",
//printf("baseClass=%p
->
baseClass=%s templSpec=%s\n",
// baseClass,baseClassName.data(),templSpec.data());
// baseClass,baseClassName.data(),templSpec.data());
}
}
}
}
...
@@ -2823,10 +2829,10 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
...
@@ -2823,10 +2829,10 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
{
{
Debug
::
print
(
Debug
::
FindMembers
,
0
,
Debug
::
print
(
Debug
::
FindMembers
,
0
,
"1. funcName=`%s'
\n
"
,
funcName
.
data
());
"1. funcName=`%s'
\n
"
,
funcName
.
data
());
//
if (!funcTempList.isEmpty()) // try with member specialization
if
(
!
funcTempList
.
isEmpty
())
// try with member specialization
//
{
{
//
mn=memberNameDict[funcName+funcTempList];
mn
=
memberNameDict
[
funcName
+
funcTempList
];
//
}
}
if
(
mn
==
0
)
// try without specialization
if
(
mn
==
0
)
// try without specialization
{
{
mn
=
memberNameDict
[
funcName
];
mn
=
memberNameDict
[
funcName
];
...
@@ -2978,15 +2984,39 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
...
@@ -2978,15 +2984,39 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
"Warning: no matching class member found for
\n
%s"
,
"Warning: no matching class member found for
\n
%s"
,
fullFuncDecl
.
data
()
fullFuncDecl
.
data
()
);
);
int
candidates
=
0
;
if
(
mn
->
count
()
>
0
)
if
(
mn
->
count
()
>
0
)
{
md
=
mn
->
first
();
while
(
md
)
{
ClassDef
*
cd
=
md
->
memberClass
();
if
(
cd
!=
0
&&
cd
->
name
()
==
className
)
candidates
++
;
md
=
mn
->
next
();
}
}
if
(
candidates
>
0
)
{
{
warn_cont
(
"Possible candidates:
\n
"
);
warn_cont
(
"Possible candidates:
\n
"
);
md
=
mn
->
first
();
md
=
mn
->
first
();
while
(
md
)
while
(
md
)
{
{
ClassDef
*
cd
=
md
->
memberClass
();
ClassDef
*
cd
=
md
->
memberClass
();
if
(
!
cd
||
cd
->
name
()
==
className
)
if
(
cd
!=
0
&&
cd
->
name
()
==
className
)
warn_cont
(
" %s
\n
"
,
md
->
declaration
());
{
warn_cont
(
" %s"
,
md
->
declaration
());
#if 0
if (cd->name().at(0)!='@')
{
warn_cont(" in class %s",cd->name().data());
}
if (!md->getDefFileName().isEmpty() && md->getDefLine()!=-1)
{
warn_cont(" defined at line %d of file %s",md->getDefLine(),md->getDefFileName().data());
}
#endif
warn_cont
(
"
\n
"
);
}
md
=
mn
->
next
();
md
=
mn
->
next
();
}
}
}
}
...
@@ -3207,7 +3237,7 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
...
@@ -3207,7 +3237,7 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
static
void
findMemberDocumentation
(
Entry
*
root
)
static
void
findMemberDocumentation
(
Entry
*
root
)
{
{
int
i
=-
1
,
l
;
int
i
=-
1
,
l
;
QRegExp
re
(
"([a-zA-Z0-9: ]*
\\
*+[
\\
*]*"
);
QRegExp
re
(
"([a-z
_
A-Z0-9: ]*
\\
*+[
\\
*]*"
);
Debug
::
print
(
Debug
::
FindMembers
,
0
,
Debug
::
print
(
Debug
::
FindMembers
,
0
,
"root->type=`%s' root->inside=`%s' root->name=`%s' root->args=`%s' section=%x root->memSpec=%d root->mGrpId=%d
\n
"
,
"root->type=`%s' root->inside=`%s' root->name=`%s' root->args=`%s' section=%x root->memSpec=%d root->mGrpId=%d
\n
"
,
root
->
type
.
data
(),
root
->
inside
.
data
(),
root
->
name
.
data
(),
root
->
args
.
data
(),
root
->
section
,
root
->
memSpec
,
root
->
mGrpId
root
->
type
.
data
(),
root
->
inside
.
data
(),
root
->
name
.
data
(),
root
->
args
.
data
(),
root
->
section
,
root
->
memSpec
,
root
->
mGrpId
...
@@ -4374,6 +4404,12 @@ static void generateGroupDocs()
...
@@ -4374,6 +4404,12 @@ static void generateGroupDocs()
{
{
//printf("group %s #members=%d\n",gd->name().data(),gd->countMembers());
//printf("group %s #members=%d\n",gd->name().data(),gd->countMembers());
if
(
gd
->
countMembers
()
>
0
)
gd
->
writeDocumentation
(
*
outputList
);
if
(
gd
->
countMembers
()
>
0
)
gd
->
writeDocumentation
(
*
outputList
);
else
{
warn
(
gd
->
getDefFileName
(),
gd
->
getDefLine
(),
"Warning: group %s does not have any (documented) members."
,
gd
->
name
().
data
());
}
}
}
}
}
...
@@ -4540,7 +4576,8 @@ static void generateSearchIndex()
...
@@ -4540,7 +4576,8 @@ static void generateSearchIndex()
if
(
f
.
open
(
IO_WriteOnly
))
if
(
f
.
open
(
IO_WriteOnly
))
{
{
QTextStream
t
(
&
f
);
QTextStream
t
(
&
f
);
t
<<
Config
::
docURL
<<
endl
<<
Config
::
cgiURL
<<
"/"
<<
Config
::
cgiName
<<
endl
;
t
<<
Config
::
docURL
<<
endl
<<
Config
::
cgiURL
<<
"/"
<<
Config
::
cgiName
<<
endl
;
f
.
close
();
f
.
close
();
}
}
else
else
...
@@ -5276,9 +5313,21 @@ int main(int argc,char **argv)
...
@@ -5276,9 +5313,21 @@ int main(int argc,char **argv)
&
inputFiles
,
0
);
&
inputFiles
,
0
);
s
=
Config
::
inputSources
.
next
();
s
=
Config
::
inputSources
.
next
();
}
}
//msg("Input size %d bytes\n",inputSize);
// add predefined macro name to a dictionary
s
=
Config
::
expandAsDefinedList
.
first
();
while
(
s
)
{
if
(
expandAsDefinedDict
[
s
]
==
0
)
{
expandAsDefinedDict
.
insert
(
s
,(
void
*
)
666
);
}
s
=
Config
::
expandAsDefinedList
.
next
();
}
BufStr
input
(
inputSize
+
1
);
// Add one byte extra for \0 termination
BufStr
input
(
inputSize
+
1
);
// Add one byte extra for \0 termination
// read and preprocess all input files
readFiles
(
input
);
readFiles
(
input
);
if
(
input
.
isEmpty
())
if
(
input
.
isEmpty
())
...
@@ -5288,9 +5337,10 @@ int main(int argc,char **argv)
...
@@ -5288,9 +5337,10 @@ int main(int argc,char **argv)
}
}
else
else
{
{
msg
(
"Read %d bytes
\n
"
,
input
.
length
());
msg
(
"Read %d bytes
\n
"
,
input
.
curPos
());
}
}
/**************************************************************************
/**************************************************************************
* Handle Tag Files *
* Handle Tag Files *
**************************************************************************/
**************************************************************************/
...
...
src/doxygen.h
View file @
adb81f79
...
@@ -126,6 +126,7 @@ extern PageInfo *mainPage;
...
@@ -126,6 +126,7 @@ extern PageInfo *mainPage;
extern
StringDict
tagDestinationDict
;
extern
StringDict
tagDestinationDict
;
extern
QIntDict
<
QCString
>
memberHeaderDict
;
// dictionary of the member groups heading
extern
QIntDict
<
QCString
>
memberHeaderDict
;
// dictionary of the member groups heading
extern
QIntDict
<
QCString
>
memberDocDict
;
// dictionary of the member groups heading
extern
QIntDict
<
QCString
>
memberDocDict
;
// dictionary of the member groups heading
extern
QDict
<
void
>
expandAsDefinedDict
;
extern
int
annotatedClasses
;
extern
int
annotatedClasses
;
extern
int
hierarchyClasses
;
extern
int
hierarchyClasses
;
...
...
src/doxytag.l
View file @
adb81f79
...
@@ -203,7 +203,7 @@ QCString unhtmlify(const char *str)
...
@@ -203,7 +203,7 @@ QCString unhtmlify(const char *str)
<Start>^"<h1 align=center>" { // Qt variant
<Start>^"<h1 align=center>" { // Qt variant
BEGIN( ReadClassName );
BEGIN( ReadClassName );
}
}
<Start>^
"<h1>"
{ // Doxygen variant
<Start>^
("<hr>")?"<h1>"
{ // Doxygen variant
BEGIN( ReadClassName );
BEGIN( ReadClassName );
}
}
<Start>^"Inherits " {
<Start>^"Inherits " {
...
@@ -223,7 +223,7 @@ QCString unhtmlify(const char *str)
...
@@ -223,7 +223,7 @@ QCString unhtmlify(const char *str)
BEGIN( SkipHTMLTag );
BEGIN( SkipHTMLTag );
}
}
<Start>"&"[a-zA-Z]+";"
<Start>"&"[a-zA-Z]+";"
<Start>[a-z_A-Z][a-z_A-Z0-9]* {
<Start
,SkipPreformated
>[a-z_A-Z][a-z_A-Z0-9]* {
//printf("tag: %s#%s ref: %s word: `%s'\n",
//printf("tag: %s#%s ref: %s word: `%s'\n",
// docBaseLink.data(),docAnchor.data(),
// docBaseLink.data(),docAnchor.data(),
// docRefName.data(),yytext);
// docRefName.data(),yytext);
...
@@ -235,7 +235,7 @@ QCString unhtmlify(const char *str)
...
@@ -235,7 +235,7 @@ QCString unhtmlify(const char *str)
<SkipPreformated>"</pre>" {
<SkipPreformated>"</pre>" {
BEGIN( Start );
BEGIN( Start );
}
}
<SkipPreformated>[^\<]+
<SkipPreformated>[^\<
\n
]+
<CheckConstructor>[a-z_A-Z0-9~:]+ {
<CheckConstructor>[a-z_A-Z0-9~:]+ {
QCString s=yytext;
QCString s=yytext;
if (s.find("::")!=-1)
if (s.find("::")!=-1)
...
...
src/htmlgen.cpp
View file @
adb81f79
...
@@ -80,7 +80,8 @@ void HtmlGenerator::startFile(const char *name,const char *title,bool external)
...
@@ -80,7 +80,8 @@ void HtmlGenerator::startFile(const char *name,const char *title,bool external)
"<title>"
<<
title
<<
"</title>
\n
"
;
"<title>"
<<
title
<<
"</title>
\n
"
;
t
<<
"<link "
;
t
<<
"<link "
;
if
(
external
)
if
(
external
)
t
<<
"doxygen=
\"
_doc:
\"
href=
\"
/"
;
t
<<
"doxygen=
\"
_doc:"
<<
Config
::
docURL
<<
"
\"
href=
\"
"
<<
Config
::
docURL
<<
"/"
;
else
else
t
<<
"href=
\"
"
;
t
<<
"href=
\"
"
;
if
(
Config
::
htmlStyleSheet
.
isEmpty
())
if
(
Config
::
htmlStyleSheet
.
isEmpty
())
...
@@ -147,7 +148,8 @@ void HtmlGenerator::writeFooter(int part,bool external)
...
@@ -147,7 +148,8 @@ void HtmlGenerator::writeFooter(int part,bool external)
t
<<
endl
<<
"<img "
;
t
<<
endl
<<
"<img "
;
if
(
external
)
if
(
external
)
{
{
t
<<
"doxygen=
\"
_doc:
\"
src=
\"
/"
;
t
<<
"doxygen=
\"
_doc:"
<<
Config
::
docURL
<<
"
\"
src=
\"
"
<<
Config
::
docURL
<<
"/"
;
}
}
else
else
{
{
...
...
src/index.cpp
View file @
adb81f79
...
@@ -547,7 +547,7 @@ int countNamespaces()
...
@@ -547,7 +547,7 @@ int countNamespaces()
NamespaceDef
*
nd
;
NamespaceDef
*
nd
;
for
(;(
nd
=
nli
.
current
());
++
nli
)
for
(;(
nd
=
nli
.
current
());
++
nli
)
{
{
if
(
nd
->
isLinkableInProject
())
count
++
;
if
(
nd
->
isLinkableInProject
()
&&
nd
->
countMembers
()
>
0
)
count
++
;
}
}
return
count
;
return
count
;
}
}
...
@@ -583,7 +583,7 @@ void writeNamespaceIndex(OutputList &ol)
...
@@ -583,7 +583,7 @@ void writeNamespaceIndex(OutputList &ol)
NamespaceDef
*
nd
=
namespaceList
.
first
();
NamespaceDef
*
nd
=
namespaceList
.
first
();
while
(
nd
)
while
(
nd
)
{
{
if
(
nd
->
isLinkableInProject
())
if
(
nd
->
isLinkableInProject
()
&&
nd
->
countMembers
()
>
0
)
{
{
ol
.
writeStartAnnoItem
(
"namespace"
,
nd
->
getOutputFileBase
(),
0
,
nd
->
name
());
ol
.
writeStartAnnoItem
(
"namespace"
,
nd
->
getOutputFileBase
(),
0
,
nd
->
name
());
ol
.
docify
(
" ("
);
ol
.
docify
(
" ("
);
...
@@ -1456,7 +1456,6 @@ int countGroups()
...
@@ -1456,7 +1456,6 @@ int countGroups()
for
(;(
gd
=
gli
.
current
());
++
gli
)
for
(;(
gd
=
gli
.
current
());
++
gli
)
{
{
if
(
gd
->
countMembers
()
>
0
)
count
++
;
if
(
gd
->
countMembers
()
>
0
)
count
++
;
gd
=
groupList
.
next
();
}
}
return
count
;
return
count
;
}
}
...
@@ -1513,7 +1512,6 @@ void writeGroupIndex(OutputList &ol)
...
@@ -1513,7 +1512,6 @@ void writeGroupIndex(OutputList &ol)
htmlHelp
->
incContentsDepth
();
htmlHelp
->
incContentsDepth
();
}
}
parseText
(
ol
,
theTranslator
->
trModulesDescription
());
parseText
(
ol
,
theTranslator
->
trModulesDescription
());
//ol.newParagraph();
ol
.
endTextBlock
();
ol
.
endTextBlock
();
writeGroupList
(
ol
);
writeGroupList
(
ol
);
if
(
hasHtmlHelp
)
if
(
hasHtmlHelp
)
...
@@ -1521,7 +1519,6 @@ void writeGroupIndex(OutputList &ol)
...
@@ -1521,7 +1519,6 @@ void writeGroupIndex(OutputList &ol)
htmlHelp
->
decContentsDepth
();
htmlHelp
->
decContentsDepth
();
}
}
endFile
(
ol
);
endFile
(
ol
);
//ol.enable(OutputGenerator::Man);
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
}
}
...
...
src/language.cpp
View file @
adb81f79
...
@@ -15,6 +15,7 @@
...
@@ -15,6 +15,7 @@
*
*
*/
*/
#include "message.h"
#include "language.h"
#include "language.h"
#if !defined(ENGLISH_ONLY)
#if !defined(ENGLISH_ONLY)
#include "translator_nl.h"
#include "translator_nl.h"
...
@@ -51,6 +52,10 @@ bool setTranslator(const char *langName)
...
@@ -51,6 +52,10 @@ bool setTranslator(const char *langName)
}
}
else
if
(
L_EQUAL
(
"czech"
))
else
if
(
L_EQUAL
(
"czech"
))
{
{
#ifndef _WIN32
err
(
"Warning: The Czech translation uses the windows code page 1250 encoding.
\n
"
"Please convert translator_cz.h to ISO Latin-2 to use it under UNIX.
\n
"
);
#endif
theTranslator
=
new
TranslatorCzech
;
theTranslator
=
new
TranslatorCzech
;
}
}
else
if
(
L_EQUAL
(
"french"
))
else
if
(
L_EQUAL
(
"french"
))
...
...
src/latexgen.cpp
View file @
adb81f79
...
@@ -216,10 +216,29 @@ void LatexGenerator::startIndexSection(IndexSections is)
...
@@ -216,10 +216,29 @@ void LatexGenerator::startIndexSection(IndexSections is)
<<
" linkcolor=blue"
<<
endl
<<
" linkcolor=blue"
<<
endl
<<
" ]{hyperref}"
<<
endl
;
<<
" ]{hyperref}"
<<
endl
;
}
}
// Try to get the command for switching on the language
// support
QCString
sLanguageSupportCommand
(
theTranslator
->
latexLanguageSupportCommand
());
if
(
!
sLanguageSupportCommand
.
isEmpty
())
{
// The command is not empty. The language does
// not want to use the babel package. Use this
// command instead.
t
<<
sLanguageSupportCommand
;
}
else
{
if
(
!
theTranslator
->
latexBabelPackage
().
isEmpty
())
if
(
!
theTranslator
->
latexBabelPackage
().
isEmpty
())
{
{
// The result of the LatexLanguageSupportCommand()
// is empty, which means that the language prefers
// the babel package, or no package is needed at all.
if
(
theTranslator
->
latexBabelPackage
()
==
"russian"
)
if
(
theTranslator
->
latexBabelPackage
()
==
"russian"
)
{
{
// The russian babel package also needs an encoding.
// Assume the encoding matched the platform.
#if defined(_WIN32)
#if defined(_WIN32)
t
<<
"
\\
usepackage[cp1251]{inputenc}
\n
"
;
t
<<
"
\\
usepackage[cp1251]{inputenc}
\n
"
;
#else
#else
...
@@ -228,6 +247,7 @@ void LatexGenerator::startIndexSection(IndexSections is)
...
@@ -228,6 +247,7 @@ void LatexGenerator::startIndexSection(IndexSections is)
}
}
t
<<
"
\\
usepackage["
<<
theTranslator
->
latexBabelPackage
()
<<
"]{babel}
\n
"
;
t
<<
"
\\
usepackage["
<<
theTranslator
->
latexBabelPackage
()
<<
"]{babel}
\n
"
;
}
}
}
const
char
*
s
=
Config
::
extraPackageList
.
first
();
const
char
*
s
=
Config
::
extraPackageList
.
first
();
while
(
s
)
while
(
s
)
...
@@ -425,7 +445,7 @@ void LatexGenerator::endIndexSection(IndexSections is)
...
@@ -425,7 +445,7 @@ void LatexGenerator::endIndexSection(IndexSections is)
bool
found
=
FALSE
;
bool
found
=
FALSE
;
while
(
gd
&&
!
found
)
while
(
gd
&&
!
found
)
{
{
if
(
gd
->
isLinkableInProject
()
||
gd
->
countMembers
()
>
0
)
if
(
gd
->
countMembers
()
>
0
)
{
{
t
<<
"}
\n\\
input{"
<<
gd
->
getOutputFileBase
()
<<
"}
\n
"
;
t
<<
"}
\n\\
input{"
<<
gd
->
getOutputFileBase
()
<<
"}
\n
"
;
found
=
TRUE
;
found
=
TRUE
;
...
@@ -434,7 +454,7 @@ void LatexGenerator::endIndexSection(IndexSections is)
...
@@ -434,7 +454,7 @@ void LatexGenerator::endIndexSection(IndexSections is)
}
}
while
(
gd
)
while
(
gd
)
{
{
if
(
gd
->
isLinkableInProject
()
||
gd
->
countMembers
()
>
0
)
if
(
gd
->
countMembers
()
>
0
)
{
{
if
(
Config
::
compactLatexFlag
)
t
<<
"
\\
input"
;
else
t
<<
"
\\
include"
;
if
(
Config
::
compactLatexFlag
)
t
<<
"
\\
input"
;
else
t
<<
"
\\
include"
;
t
<<
"{"
<<
gd
->
getOutputFileBase
()
<<
"}
\n
"
;
t
<<
"{"
<<
gd
->
getOutputFileBase
()
<<
"}
\n
"
;
...
@@ -602,14 +622,14 @@ void LatexGenerator::writeStyleInfo(int part)
...
@@ -602,14 +622,14 @@ void LatexGenerator::writeStyleInfo(int part)
break
;
break
;
case
2
:
case
2
:
{
{
t
<<
" Dimitri van Heesch
(c)
1997-2000}]{}
\n
"
;
t
<<
" Dimitri van Heesch
\\
copyright{}
1997-2000}]{}
\n
"
;
//QCString dtString=dateToString(FALSE);
//QCString dtString=dateToString(FALSE);
t
<<
"
\\
lfoot[]{
\\
fancyplain{}{
\\
bfseries
\\
scriptsize "
;
t
<<
"
\\
lfoot[]{
\\
fancyplain{}{
\\
bfseries
\\
scriptsize "
;
}
}
break
;
break
;
case
4
:
case
4
:
{
{
t
<<
" Dimitri van Heesch
(c)
1997-2000}}
\n
"
;
t
<<
" Dimitri van Heesch
\\
copyright{}
1997-2000}}
\n
"
;
t
<<
"
\\
cfoot{}
\n
"
;
t
<<
"
\\
cfoot{}
\n
"
;
t
<<
"
\\
newenvironment{CompactList}
\n
"
;
t
<<
"
\\
newenvironment{CompactList}
\n
"
;
t
<<
"{
\\
begin{list}{}{
\n
"
;
t
<<
"{
\\
begin{list}{}{
\n
"
;
...
@@ -812,7 +832,7 @@ void LatexGenerator::startPageRef()
...
@@ -812,7 +832,7 @@ void LatexGenerator::startPageRef()
void
LatexGenerator
::
endPageRef
(
const
char
*
clname
,
const
char
*
anchor
)
void
LatexGenerator
::
endPageRef
(
const
char
*
clname
,
const
char
*
anchor
)
{
{
t
<<
"
~
\\
pageref{"
;
t
<<
"
\\
,
\\
pageref{"
;
if
(
clname
)
t
<<
clname
;
if
(
clname
)
t
<<
clname
;
if
(
anchor
)
t
<<
"_"
<<
anchor
;
if
(
anchor
)
t
<<
"_"
<<
anchor
;
t
<<
"})}"
;
t
<<
"})}"
;
...
@@ -998,7 +1018,8 @@ void LatexGenerator::writeSectionRef(const char *,const char *lab,
...
@@ -998,7 +1018,8 @@ void LatexGenerator::writeSectionRef(const char *,const char *lab,
{
{
if
(
strcmp
(
lab
,
text
)
!=
0
)
// lab!=text
if
(
strcmp
(
lab
,
text
)
!=
0
)
// lab!=text
{
{
t
<<
"{
\\
bf "
<<
text
<<
" (
\\
ref "
<<
lab
<<
")}}"
;
// todo: don't hardcode p. here!
t
<<
"{
\\
bf "
<<
text
<<
"} (p.
\\
,
\\
pageref{"
<<
lab
<<
"})"
;
}
}
else
else
{
{
...
@@ -1022,7 +1043,7 @@ void LatexGenerator::writeSectionRefAnchor(const char *,const char *lab,
...
@@ -1022,7 +1043,7 @@ void LatexGenerator::writeSectionRefAnchor(const char *,const char *lab,
startBold
();
startBold
();
docify
(
title
);
docify
(
title
);
endBold
();
endBold
();
t
<<
" (p.
~
\\
pageref{"
<<
lab
<<
"})"
<<
endl
;
t
<<
" (p.
\\
,
\\
pageref{"
<<
lab
<<
"})"
<<
endl
;
}
}
//void LatexGenerator::docify(const char *str)
//void LatexGenerator::docify(const char *str)
...
@@ -1033,9 +1054,10 @@ void LatexGenerator::writeSectionRefAnchor(const char *,const char *lab,
...
@@ -1033,9 +1054,10 @@ void LatexGenerator::writeSectionRefAnchor(const char *,const char *lab,
//void LatexGenerator::docifyStatic(QTextStream &t,const char *str)
//void LatexGenerator::docifyStatic(QTextStream &t,const char *str)
void
LatexGenerator
::
docify
(
const
char
*
str
)
void
LatexGenerator
::
docify
(
const
char
*
str
)
{
{
static
bool
isJapanese
=
theTranslator
->
latexBabelPackage
()
==
"a4j"
;
static
bool
isCzech
=
theTranslator
->
idLanguage
()
==
"czech"
;
static
bool
isRussian
=
theTranslator
->
latexBabelPackage
()
==
"russian"
;
static
bool
isJapanese
=
theTranslator
->
idLanguage
()
==
"japanese"
;
static
bool
isGerman
=
theTranslator
->
latexBabelPackage
()
==
"german"
;
static
bool
isRussian
=
theTranslator
->
idLanguage
()
==
"russian"
;
static
bool
isGerman
=
theTranslator
->
idLanguage
()
==
"german"
;
if
(
str
)
if
(
str
)
{
{
const
unsigned
char
*
p
=
(
const
unsigned
char
*
)
str
;
const
unsigned
char
*
p
=
(
const
unsigned
char
*
)
str
;
...
...
src/memberdef.cpp
View file @
adb81f79
...
@@ -445,8 +445,9 @@ void MemberDef::setMemberDefTemplateArguments(ArgumentList *tal)
...
@@ -445,8 +445,9 @@ void MemberDef::setMemberDefTemplateArguments(ArgumentList *tal)
void
MemberDef
::
writeLink
(
OutputList
&
ol
,
ClassDef
*
cd
,
NamespaceDef
*
nd
,
void
MemberDef
::
writeLink
(
OutputList
&
ol
,
ClassDef
*
cd
,
NamespaceDef
*
nd
,
FileDef
*
fd
,
GroupDef
*
gd
)
FileDef
*
fd
,
GroupDef
*
gd
)
{
{
Definition
*
d
;
Definition
*
d
=
0
;
if
(
cd
)
d
=
cd
;
else
if
(
nd
)
d
=
nd
;
else
if
(
fd
)
d
=
fd
;
else
if
(
gd
)
d
=
gd
;
if
(
cd
)
d
=
cd
;
else
if
(
nd
)
d
=
nd
;
else
if
(
fd
)
d
=
fd
;
else
if
(
gd
)
d
=
gd
;
if
(
d
==
0
)
return
;
ol
.
writeObjectLink
(
d
->
getReference
(),
d
->
getOutputFileBase
(),
anchor
(),
name
());
ol
.
writeObjectLink
(
d
->
getReference
(),
d
->
getOutputFileBase
(),
anchor
(),
name
());
}
}
...
...
src/pre.l
View file @
adb81f79
...
@@ -758,6 +758,10 @@ Define *newDefine()
...
@@ -758,6 +758,10 @@ Define *newDefine()
def->fileName = g_yyFileName;
def->fileName = g_yyFileName;
def->lineNr = g_yyLineNr;
def->lineNr = g_yyLineNr;
def->varArgs = g_defVarArgs;
def->varArgs = g_defVarArgs;
if (!def->name.isEmpty() && expandAsDefinedDict[def->name])
{
def->isPredefined=TRUE;
}
return def;
return def;
}
}
...
@@ -1505,7 +1509,8 @@ BN [ \t\r\n]
...
@@ -1505,7 +1509,8 @@ BN [ \t\r\n]
{
{
addDefine();
addDefine();
}
}
if (/*!Config::onlyPredefinedFlag &&*/ (def=g_fileDefineDict->find(g_defName))==0)
def=g_fileDefineDict->find(g_defName);
if (def==0) // new define
{
{
g_fileDefineDict->insert(g_defName,newDefine());
g_fileDefineDict->insert(g_defName,newDefine());
}
}
...
...
src/rtfgen.cpp
View file @
adb81f79
...
@@ -4,6 +4,8 @@
...
@@ -4,6 +4,8 @@
*
*
* Copyright (C) 1997-2000 by Parker Waechter & Dimitri van Heesch.
* Copyright (C) 1997-2000 by Parker Waechter & Dimitri van Heesch.
*
*
* Style sheet additions by Alexander Bartolich
*
* Permission to use, copy, modify, and distribute this software and its
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* granted. No representations are made about the suitability of this software
...
@@ -19,7 +21,7 @@
...
@@ -19,7 +21,7 @@
#include "qtbc.h"
#include "qtbc.h"
#include <qdir.h>
#include <qdir.h>
#include <q
stack
.h>
#include <q
regexp
.h>
#include "rtfgen.h"
#include "rtfgen.h"
#include "config.h"
#include "config.h"
...
@@ -112,6 +114,277 @@ OutputGenerator *RTFGenerator::copy()
...
@@ -112,6 +114,277 @@ OutputGenerator *RTFGenerator::copy()
return
result
;
return
result
;
}
}
static
const
struct
{
const
char
*
name
;
const
char
*
value
;
}
Rtf_Style_Default
[]
=
{
{
"Reset"
,
"
\\
pard
\\
plain "
},
{
"Heading1"
,
"
\\
s1
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs36
\\
kerning36
\\
cgrid "
},
{
"Heading2"
,
"
\\
s2
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs28
\\
kerning28
\\
cgrid "
},
{
"Heading3"
,
"
\\
s3
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
cgrid "
},
{
"Heading4"
,
"
\\
s4
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs20
\\
cgrid "
},
{
"Title"
,
"
\\
s15
\\
qc
\\
sb240
\\
sa60
\\
widctlpar
\\
outlinelevel0
\\
adjustright
\\
b
\\
f1
\\
fs32
\\
kerning28
\\
cgrid "
},
{
"SubTitle"
,
"
\\
s16
\\
qc
\\
sa60
\\
widctlpar
\\
outlinelevel1
\\
adjustright
\\
f1
\\
cgrid "
},
{
"BodyText"
,
"
\\
s17
\\
sa60
\\
sb30
\\
widctlpar
\\
qj
\\
fs22
\\
cgrid "
},
{
"DenseText"
,
"
\\
s18
\\
widctlpar
\\
fs22
\\
cgrid "
},
{
"Header"
,
"
\\
s28
\\
widctlpar
\\
tqc
\\
tx4320
\\
tqr
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"Footer"
,
"
\\
s29
\\
widctlpar
\\
tqc
\\
tx4320
\\
tqr
\\
tx8640
\\
qr
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"GroupHeader"
,
"
\\
s30
\\
li360
\\
sa60
\\
sb120
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs20
\\
cgrid "
},
{
"CodeExample0"
,
"
\\
s40
\\
li0
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
},
{
"CodeExample1"
,
"
\\
s41
\\
li360
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
},
{
"CodeExample2"
,
"
\\
s42
\\
li720
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
},
{
"CodeExample3"
,
"
\\
s43
\\
li1080
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
},
{
"CodeExample4"
,
"
\\
s44
\\
li1440
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
},
{
"CodeExample5"
,
"
\\
s45
\\
li1800
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
},
{
"CodeExample6"
,
"
\\
s46
\\
li2160
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
},
{
"CodeExample7"
,
"
\\
s47
\\
li2520
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
},
{
"CodeExample8"
,
"
\\
s48
\\
li2880
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
},
{
"CodeExample9"
,
"
\\
s49
\\
li3240
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
},
{
"ListContinue0"
,
"
\\
s50
\\
li0
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListContinue1"
,
"
\\
s51
\\
li360
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListContinue2"
,
"
\\
s52
\\
li720
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListContinue3"
,
"
\\
s53
\\
li1080
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListContinue4"
,
"
\\
s54
\\
li1440
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListContinue5"
,
"
\\
s55
\\
li1800
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListContinue6"
,
"
\\
s56
\\
li2160
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListContinue7"
,
"
\\
s57
\\
li2520
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListContinue8"
,
"
\\
s58
\\
li2880
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListContinue9"
,
"
\\
s59
\\
li3240
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"DescContinue0"
,
"
\\
s60
\\
li0
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"DescContinue1"
,
"
\\
s61
\\
li360
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"DescContinue2"
,
"
\\
s62
\\
li720
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"DescContinue3"
,
"
\\
s63
\\
li1080
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"DescContinue4"
,
"
\\
s64
\\
li1440
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"DescContinue5"
,
"
\\
s65
\\
li1800
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"DescContinue6"
,
"
\\
s66
\\
li2160
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"DescContinue7"
,
"
\\
s67
\\
li2520
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"DescContinue8"
,
"
\\
s68
\\
li2880
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"DescContinue9"
,
"
\\
s69
\\
li3240
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"LatexTOC0"
,
"
\\
s70
\\
li0
\\
sa30
\\
sb30
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"LatexTOC1"
,
"
\\
s71
\\
li360
\\
sa27
\\
sb27
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"LatexTOC2"
,
"
\\
s72
\\
li720
\\
sa24
\\
sb24
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"LatexTOC3"
,
"
\\
s73
\\
li1080
\\
sa21
\\
sb21
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"LatexTOC4"
,
"
\\
s74
\\
li1440
\\
sa18
\\
sb18
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"LatexTOC5"
,
"
\\
s75
\\
li1800
\\
sa15
\\
sb15
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"LatexTOC6"
,
"
\\
s76
\\
li2160
\\
sa12
\\
sb12
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"LatexTOC7"
,
"
\\
s77
\\
li2520
\\
sa9
\\
sb9
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"LatexTOC8"
,
"
\\
s78
\\
li2880
\\
sa6
\\
sb6
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"LatexTOC9"
,
"
\\
s79
\\
li3240
\\
sa3
\\
sb3
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListBullet0"
,
"
\\
s80
\\
fi-360
\\
li360
\\
widctlpar
\\
jclisttab
\\
tx360{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls1
\\
pnrnot0
\\
pndec }
\\
ls1
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListBullet1"
,
"
\\
s81
\\
fi-360
\\
li720
\\
widctlpar
\\
jclisttab
\\
tx720{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls2
\\
pnrnot0
\\
pndec }
\\
ls2
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListBullet2"
,
"
\\
s82
\\
fi-360
\\
li1080
\\
widctlpar
\\
jclisttab
\\
tx1080{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls3
\\
pnrnot0
\\
pndec }
\\
ls3
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListBullet3"
,
"
\\
s83
\\
fi-360
\\
li1440
\\
widctlpar
\\
jclisttab
\\
tx1440{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls4
\\
pnrnot0
\\
pndec }
\\
ls4
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListBullet4"
,
"
\\
s84
\\
fi-360
\\
li1800
\\
widctlpar
\\
jclisttab
\\
tx1800{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls5
\\
pnrnot0
\\
pndec }
\\
ls5
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListBullet5"
,
"
\\
s85
\\
fi-360
\\
li2160
\\
widctlpar
\\
jclisttab
\\
tx2160{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls6
\\
pnrnot0
\\
pndec }
\\
ls6
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListBullet6"
,
"
\\
s86
\\
fi-360
\\
li2520
\\
widctlpar
\\
jclisttab
\\
tx2520{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls7
\\
pnrnot0
\\
pndec }
\\
ls7
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListBullet7"
,
"
\\
s87
\\
fi-360
\\
li2880
\\
widctlpar
\\
jclisttab
\\
tx2880{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls8
\\
pnrnot0
\\
pndec }
\\
ls8
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListBullet8"
,
"
\\
s88
\\
fi-360
\\
li3240
\\
widctlpar
\\
jclisttab
\\
tx3240{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls9
\\
pnrnot0
\\
pndec }
\\
ls9
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListBullet9"
,
"
\\
s89
\\
fi-360
\\
li3600
\\
widctlpar
\\
jclisttab
\\
tx3600{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls10
\\
pnrnot0
\\
pndec }
\\
ls10
\\
adjustright
\\
fs20
\\
cgrid "
},
{
"ListEnum0"
,
"
\\
s90
\\
fi-360
\\
li360
\\
widctlpar
\\
fs20
\\
cgrid "
},
{
"ListEnum1"
,
"
\\
s91
\\
fi-360
\\
li720
\\
widctlpar
\\
fs20
\\
cgrid "
},
{
"ListEnum2"
,
"
\\
s92
\\
fi-360
\\
li1080
\\
widctlpar
\\
fs20
\\
cgrid "
},
{
"ListEnum3"
,
"
\\
s93
\\
fi-360
\\
li1440
\\
widctlpar
\\
fs20
\\
cgrid "
},
{
"ListEnum4"
,
"
\\
s94
\\
fi-360
\\
li1800
\\
widctlpar
\\
fs20
\\
cgrid "
},
{
"ListEnum4"
,
"
\\
s95
\\
fi-360
\\
li2160
\\
widctlpar
\\
fs20
\\
cgrid "
},
{
"ListEnum5"
,
"
\\
s96
\\
fi-360
\\
li2520
\\
widctlpar
\\
fs20
\\
cgrid "
},
{
"ListEnum6"
,
"
\\
s97
\\
fi-360
\\
li2880
\\
widctlpar
\\
fs20
\\
cgrid "
},
{
"ListEnum7"
,
"
\\
s98
\\
fi-360
\\
li3240
\\
widctlpar
\\
fs20
\\
cgrid "
},
{
"ListEnum8"
,
"
\\
s99
\\
fi-360
\\
li3600
\\
widctlpar
\\
fs20
\\
cgrid "
},
{
0
,
0
}
};
static
QDict
<
char
>
Rtf_Style
(
257
);
static
void
loadStylesheet
(
const
char
*
name
)
{
QFile
file
(
name
);
if
(
!
file
.
open
(
IO_ReadOnly
))
{
err
(
"Can't open RTF style sheet file %s. Using defaults.
\n
"
,
name
);
return
;
}
msg
(
"Loading RTF style sheet %s...
\n
"
,
name
);
static
const
QRegExp
separator
(
"[
\t
]*=[
\t
]*"
);
uint
lineNr
=
1
;
QTextStream
t
(
&
file
);
while
(
!
t
.
eof
())
{
QCString
s
(
4096
);
// string buffer of max line length
s
=
t
.
readLine
().
stripWhiteSpace
();
if
(
s
.
length
()
==
0
||
s
.
at
(
0
)
==
'#'
)
continue
;
// skip blanks & comments
int
sepLength
;
int
sepStart
=
separator
.
match
(
s
,
0
,
&
sepLength
);
if
(
sepStart
<=
0
)
// no valid assignment statement
{
warn
(
name
,
lineNr
,
"Assignment of style sheet name expected!
\n
"
);
continue
;
}
QCString
key
=
s
.
left
(
sepStart
);
if
(
Rtf_Style
[
key
]
==
0
)
// not a valid style sheet name
{
warn
(
name
,
lineNr
,
"Invalid style sheet name %s ignored.
\n
"
,
key
.
data
());
continue
;
}
s
+=
" "
;
// add command separator
Rtf_Style
.
remove
(
key
);
// remove old key
int
l
=
strlen
(
s
.
data
()
+
sepStart
+
sepLength
);
char
*
value
=
new
char
[
l
+
1
];
strcpy
(
value
,
s
.
data
()
+
sepStart
+
sepLength
);
Rtf_Style
.
insert
(
key
,
value
);
// insert new key
lineNr
++
;
}
}
void
RTFGenerator
::
init
()
void
RTFGenerator
::
init
()
{
{
QCString
dir
=
Config
::
rtfOutputDir
;
QCString
dir
=
Config
::
rtfOutputDir
;
...
@@ -121,98 +394,31 @@ void RTFGenerator::init()
...
@@ -121,98 +394,31 @@ void RTFGenerator::init()
err
(
"Could not create output directory %s
\n
"
,
dir
.
data
());
err
(
"Could not create output directory %s
\n
"
,
dir
.
data
());
exit
(
1
);
exit
(
1
);
}
}
Rtf_Style
.
setAutoDelete
(
TRUE
);
int
i
=
0
;
while
(
Rtf_Style_Default
[
i
].
name
!=
0
)
{
int
l
=
strlen
(
Rtf_Style_Default
[
i
].
value
);
char
*
value
=
new
char
[
l
+
1
];
strcpy
(
value
,
Rtf_Style_Default
[
i
].
value
);
Rtf_Style
.
insert
(
Rtf_Style_Default
[
i
].
name
,
value
);
i
++
;
}
if
(
!
Config
::
rtfStylesheetFile
.
isEmpty
())
{
loadStylesheet
(
Config
::
rtfStylesheetFile
);
}
}
}
const
char
*
Rtf_Style_Reset
=
"
\\
pard
\\
plain "
;
const
char
*
Rtf_Style_Heading1
=
"
\\
s1
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs36
\\
kerning36
\\
cgrid "
;
static
QCString
makeIndexName
(
const
char
*
s
,
int
i
)
const
char
*
Rtf_Style_Heading2
=
"
\\
s2
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs28
\\
kerning28
\\
cgrid "
;
{
const
char
*
Rtf_Style_Heading3
=
"
\\
s3
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
cgrid "
;
QCString
result
=
s
;
const
char
*
Rtf_Style_Heading4
=
"
\\
s4
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs20
\\
cgrid "
;
result
+=
(
char
)(
i
+
'0'
);
const
char
*
Rtf_Style_Title
=
"
\\
s15
\\
qc
\\
sb240
\\
sa60
\\
widctlpar
\\
outlinelevel0
\\
adjustright
\\
b
\\
f1
\\
fs32
\\
kerning28
\\
cgrid "
;
return
result
;
const
char
*
Rtf_Style_SubTitle
=
"
\\
s16
\\
qc
\\
sa60
\\
widctlpar
\\
outlinelevel1
\\
adjustright
\\
f1
\\
cgrid "
;
}
const
char
*
Rtf_Style_BodyText
=
"
\\
s17
\\
sa60
\\
sb30
\\
widctlpar
\\
qj
\\
fs22
\\
cgrid "
;
const
char
*
Rtf_Style_DenseText
=
"
\\
s18
\\
widctlpar
\\
fs22
\\
cgrid "
;
const
char
*
Rtf_Style_Header
=
"
\\
s28
\\
widctlpar
\\
tqc
\\
tx4320
\\
tqr
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
;
const
char
*
Rtf_Style_Footer
=
"
\\
s29
\\
widctlpar
\\
tqc
\\
tx4320
\\
tqr
\\
tx8640
\\
qr
\\
adjustright
\\
fs20
\\
cgrid "
;
const
char
*
Rtf_Style_GroupHeader
=
"
\\
s30
\\
li360
\\
sa60
\\
sb120
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs20
\\
cgrid "
;
const
char
*
Rtf_Style_CodeExample
[]
=
{
"
\\
s40
\\
li0
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
s41
\\
li360
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
s42
\\
li720
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
s43
\\
li1080
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
s44
\\
li1440
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
s45
\\
li1800
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
s46
\\
li2160
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
s47
\\
li2520
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
s48
\\
li2880
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
s49
\\
li3240
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
};
const
char
*
Rtf_Style_ListContinue
[]
=
{
"
\\
s50
\\
li0
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s51
\\
li360
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s52
\\
li720
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s53
\\
li1080
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s54
\\
li1440
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s55
\\
li1800
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s56
\\
li2160
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s57
\\
li2520
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s58
\\
li2880
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s59
\\
li3240
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
};
const
char
*
Rtf_Style_DescContinue
[]
=
{
"
\\
s60
\\
li0
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s61
\\
li360
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s62
\\
li720
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s63
\\
li1080
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s64
\\
li1440
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s65
\\
li1800
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s66
\\
li2160
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s67
\\
li2520
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s68
\\
li2880
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s69
\\
li3240
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
};
const
char
*
Rtf_Style_LatexTOC
[]
=
{
"
\\
s70
\\
li0
\\
sa30
\\
sb30
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s71
\\
li360
\\
sa27
\\
sb27
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s72
\\
li720
\\
sa24
\\
sb24
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s73
\\
li1080
\\
sa21
\\
sb21
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s74
\\
li1440
\\
sa18
\\
sb18
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s75
\\
li1800
\\
sa15
\\
sb15
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s76
\\
li2160
\\
sa12
\\
sb12
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s77
\\
li2520
\\
sa9
\\
sb9
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s78
\\
li2880
\\
sa6
\\
sb6
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s79
\\
li3240
\\
sa3
\\
sb3
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
};
const
char
*
Rtf_Style_ListBullet
[]
=
{
"
\\
s80
\\
fi-360
\\
li360
\\
widctlpar
\\
jclisttab
\\
tx360{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls1
\\
pnrnot0
\\
pndec }
\\
ls1
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s81
\\
fi-360
\\
li720
\\
widctlpar
\\
jclisttab
\\
tx720{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls2
\\
pnrnot0
\\
pndec }
\\
ls2
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s82
\\
fi-360
\\
li1080
\\
widctlpar
\\
jclisttab
\\
tx1080{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls3
\\
pnrnot0
\\
pndec }
\\
ls3
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s83
\\
fi-360
\\
li1440
\\
widctlpar
\\
jclisttab
\\
tx1440{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls4
\\
pnrnot0
\\
pndec }
\\
ls4
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s84
\\
fi-360
\\
li1800
\\
widctlpar
\\
jclisttab
\\
tx1800{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls5
\\
pnrnot0
\\
pndec }
\\
ls5
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s85
\\
fi-360
\\
li2160
\\
widctlpar
\\
jclisttab
\\
tx2160{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls6
\\
pnrnot0
\\
pndec }
\\
ls6
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s86
\\
fi-360
\\
li2520
\\
widctlpar
\\
jclisttab
\\
tx2520{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls7
\\
pnrnot0
\\
pndec }
\\
ls7
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s87
\\
fi-360
\\
li2880
\\
widctlpar
\\
jclisttab
\\
tx2880{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls8
\\
pnrnot0
\\
pndec }
\\
ls8
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s88
\\
fi-360
\\
li3240
\\
widctlpar
\\
jclisttab
\\
tx3240{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls9
\\
pnrnot0
\\
pndec }
\\
ls9
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
s89
\\
fi-360
\\
li3600
\\
widctlpar
\\
jclisttab
\\
tx3600{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls10
\\
pnrnot0
\\
pndec }
\\
ls10
\\
adjustright
\\
fs20
\\
cgrid "
};
const
char
*
Rtf_Style_ListEnum
[]
=
{
"
\\
s90
\\
fi-360
\\
li360
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
s91
\\
fi-360
\\
li720
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
s92
\\
fi-360
\\
li1080
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
s93
\\
fi-360
\\
li1440
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
s94
\\
fi-360
\\
li1800
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
s95
\\
fi-360
\\
li2160
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
s96
\\
fi-360
\\
li2520
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
s97
\\
fi-360
\\
li2880
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
s98
\\
fi-360
\\
li3240
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
s99
\\
fi-360
\\
li3600
\\
widctlpar
\\
fs20
\\
cgrid "
};
void
RTFGenerator
::
beginRTFDocument
()
void
RTFGenerator
::
beginRTFDocument
()
{
{
...
@@ -251,47 +457,53 @@ void RTFGenerator::beginRTFDocument()
...
@@ -251,47 +457,53 @@ void RTFGenerator::beginRTFDocument()
t
<<
"{
\\
comment Begining style list}
\n
"
;
t
<<
"{
\\
comment Begining style list}
\n
"
;
t
<<
"{
\\
stylesheet
\n
"
;
t
<<
"{
\\
stylesheet
\n
"
;
t
<<
"{
\\
widctlpar
\\
adjustright
\\
fs20
\\
cgrid
\\
snext0 Normal;}
\n
"
;
t
<<
"{
\\
widctlpar
\\
adjustright
\\
fs20
\\
cgrid
\\
snext0 Normal;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_Heading1
<<
"
\\
sbasedon0
\\
snext0 heading 1;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"Heading1"
]
<<
"
\\
sbasedon0
\\
snext0 heading 1;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_Heading2
<<
"
\\
sbasedon0
\\
snext0 heading 2;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"Heading2"
]
<<
"
\\
sbasedon0
\\
snext0 heading 2;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_Heading3
<<
"
\\
sbasedon0
\\
snext0 heading 3;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"Heading3"
]
<<
"
\\
sbasedon0
\\
snext0 heading 3;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_Heading4
<<
"
\\
sbasedon0
\\
snext0 heading 4;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"Heading4"
]
<<
"
\\
sbasedon0
\\
snext0 heading 4;}
\n
"
;
t
<<
"{
\\
*
\\
cs10
\\
additive Default Paragraph Font;}
\n
"
;
t
<<
"{
\\
*
\\
cs10
\\
additive Default Paragraph Font;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_Title
<<
"
\\
sbasedon0
\\
snext15 Title;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"Title"
]
<<
"
\\
sbasedon0
\\
snext15 Title;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_SubTitle
<<
"
\\
sbasedon0
\\
snext16 Subtitle;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"SubTitle"
]
<<
"
\\
sbasedon0
\\
snext16 Subtitle;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_BodyText
<<
"
\\
sbasedon0
\\
snext17 BodyText;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"BodyText"
]
<<
"
\\
sbasedon0
\\
snext17 BodyText;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_DenseText
<<
"
\\
sbasedon0
\\
snext18 DenseText;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"DenseText"
]
<<
"
\\
sbasedon0
\\
snext18 DenseText;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_Header
<<
"
\\
sbasedon0
\\
snext28 header;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"Header"
]
<<
"
\\
sbasedon0
\\
snext28 header;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_Footer
<<
"
\\
sbasedon0
\\
snext29 footer;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"Footer"
]
<<
"
\\
sbasedon0
\\
snext29 footer;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_GroupHeader
<<
"
\\
sbasedon0
\\
snext30 GroupHeader}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"GroupHeader"
]
<<
"
\\
sbasedon0
\\
snext30 GroupHeader}
\n
"
;
for
(
i
=
0
;
i
<
indentLevels
;
i
++
)
for
(
i
=
0
;
i
<
indentLevels
;
i
++
)
{
{
t
<<
"{"
<<
Rtf_Style_CodeExample
[
i
]
<<
"
\\
sbasedon0
\\
snext4"
QCString
n
=
makeIndexName
(
"CodeExample"
,
i
);
t
<<
"{"
<<
Rtf_Style
[
n
]
<<
"
\\
sbasedon0
\\
snext4"
<<
(
QMIN
(
i
+
1
,
indentLevels
-
1
))
<<
" Code Example "
<<
i
<<
";}
\n
"
;
<<
(
QMIN
(
i
+
1
,
indentLevels
-
1
))
<<
" Code Example "
<<
i
<<
";}
\n
"
;
}
}
for
(
i
=
0
;
i
<
indentLevels
;
i
++
)
for
(
i
=
0
;
i
<
indentLevels
;
i
++
)
{
{
t
<<
"{"
<<
Rtf_Style_ListContinue
[
i
]
<<
"
\\
sbasedon0
\\
snext5"
QCString
n
=
makeIndexName
(
"ListContinue"
,
i
);
t
<<
"{"
<<
Rtf_Style
[
n
]
<<
"
\\
sbasedon0
\\
snext5"
<<
(
QMIN
(
i
+
1
,
indentLevels
-
1
))
<<
" List Continue "
<<
i
<<
";}
\n
"
;
<<
(
QMIN
(
i
+
1
,
indentLevels
-
1
))
<<
" List Continue "
<<
i
<<
";}
\n
"
;
}
}
for
(
i
=
0
;
i
<
indentLevels
;
i
++
)
for
(
i
=
0
;
i
<
indentLevels
;
i
++
)
{
{
t
<<
"{"
<<
Rtf_Style_DescContinue
[
i
]
<<
"
\\
sbasedon0
\\
snext6"
QCString
n
=
makeIndexName
(
"DescContinue"
,
i
);
t
<<
"{"
<<
Rtf_Style
[
n
]
<<
"
\\
sbasedon0
\\
snext6"
<<
(
QMIN
(
i
+
1
,
indentLevels
-
1
))
<<
" DescContinue "
<<
i
<<
";}
\n
"
;
<<
(
QMIN
(
i
+
1
,
indentLevels
-
1
))
<<
" DescContinue "
<<
i
<<
";}
\n
"
;
}
}
for
(
i
=
0
;
i
<
indentLevels
;
i
++
)
for
(
i
=
0
;
i
<
indentLevels
;
i
++
)
{
{
t
<<
"{"
<<
Rtf_Style_LatexTOC
[
i
]
<<
"
\\
sbasedon50
\\
snext7"
QCString
n
=
makeIndexName
(
"LatexTOC"
,
i
);
t
<<
"{"
<<
Rtf_Style
[
n
]
<<
"
\\
sbasedon50
\\
snext7"
<<
(
QMIN
(
i
+
1
,
indentLevels
-
1
))
<<
" LatexTOC "
<<
i
<<
";}
\n
"
;
<<
(
QMIN
(
i
+
1
,
indentLevels
-
1
))
<<
" LatexTOC "
<<
i
<<
";}
\n
"
;
}
}
for
(
i
=
0
;
i
<
indentLevels
;
i
++
)
for
(
i
=
0
;
i
<
indentLevels
;
i
++
)
{
{
t
<<
"{"
<<
Rtf_Style_ListBullet
[
i
]
<<
"
\\
sbasedon0
\\
snext8"
QCString
n
=
makeIndexName
(
"ListBullet"
,
i
);
t
<<
"{"
<<
Rtf_Style
[
n
]
<<
"
\\
sbasedon0
\\
snext8"
<<
(
QMIN
(
i
+
1
,
indentLevels
-
1
))
<<
"
\\
sautoupd List Bullet "
<<
i
<<
";}
\n
"
;
<<
(
QMIN
(
i
+
1
,
indentLevels
-
1
))
<<
"
\\
sautoupd List Bullet "
<<
i
<<
";}
\n
"
;
}
}
for
(
i
=
0
;
i
<
indentLevels
;
i
++
)
for
(
i
=
0
;
i
<
indentLevels
;
i
++
)
{
{
t
<<
"{"
<<
Rtf_Style_ListEnum
[
i
]
<<
"
\\
sbasedon0
\\
snext9"
QCString
n
=
makeIndexName
(
"ListEnum"
,
i
);
t
<<
"{"
<<
Rtf_Style
[
n
]
<<
"
\\
sbasedon0
\\
snext9"
<<
(
QMIN
(
i
+
1
,
indentLevels
-
1
))
<<
"
\\
sautoupd List Enum "
<<
i
<<
";}
\n
"
;
<<
(
QMIN
(
i
+
1
,
indentLevels
-
1
))
<<
"
\\
sautoupd List Enum "
<<
i
<<
";}
\n
"
;
}
}
t
<<
"}"
<<
endl
;
t
<<
"}"
<<
endl
;
...
@@ -301,7 +513,7 @@ void RTFGenerator::beginRTFDocument()
...
@@ -301,7 +513,7 @@ void RTFGenerator::beginRTFDocument()
void
RTFGenerator
::
beginRTFChapter
()
void
RTFGenerator
::
beginRTFChapter
()
{
{
t
<<
"
\n
{
\\
comment Begin Chapter}
\n
"
<<
Rtf_Style
_Reset
;
t
<<
"
\n
{
\\
comment Begin Chapter}
\n
"
<<
Rtf_Style
[
"Reset"
]
;
// if we are compact, no extra page breaks...
// if we are compact, no extra page breaks...
if
(
Config
::
compactRTFFlag
)
if
(
Config
::
compactRTFFlag
)
...
@@ -314,12 +526,12 @@ void RTFGenerator::beginRTFChapter()
...
@@ -314,12 +526,12 @@ void RTFGenerator::beginRTFChapter()
t
<<
"
\\
sect
\\
sbkpage
\n
"
;
t
<<
"
\\
sect
\\
sbkpage
\n
"
;
//t <<"\\sect\\sectd\\sbkpage\n";
//t <<"\\sect\\sectd\\sbkpage\n";
t
<<
Rtf_Style
_Heading1
<<
"
\n
"
;
t
<<
Rtf_Style
[
"Heading1"
]
<<
"
\n
"
;
}
}
void
RTFGenerator
::
beginRTFSection
()
void
RTFGenerator
::
beginRTFSection
()
{
{
t
<<
"
\n
{
\\
comment Begin Section}
\n
"
<<
Rtf_Style
_Reset
;
t
<<
"
\n
{
\\
comment Begin Section}
\n
"
<<
Rtf_Style
[
"Reset"
]
;
// if we are compact, no extra page breaks...
// if we are compact, no extra page breaks...
if
(
Config
::
compactRTFFlag
)
if
(
Config
::
compactRTFFlag
)
...
@@ -332,7 +544,7 @@ void RTFGenerator::beginRTFSection()
...
@@ -332,7 +544,7 @@ void RTFGenerator::beginRTFSection()
t
<<
"
\\
sect
\\
sbkpage
\n
"
;
t
<<
"
\\
sect
\\
sbkpage
\n
"
;
//t <<"\\sect\\sectd\\sbkpage\n";
//t <<"\\sect\\sectd\\sbkpage\n";
t
<<
Rtf_Style
_Heading2
<<
"
\n
"
;
t
<<
Rtf_Style
[
"Heading2"
]
<<
"
\n
"
;
}
}
void
RTFGenerator
::
startFile
(
const
char
*
name
,
const
char
*
,
bool
)
void
RTFGenerator
::
startFile
(
const
char
*
name
,
const
char
*
,
bool
)
...
@@ -509,14 +721,14 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -509,14 +721,14 @@ void RTFGenerator::endIndexSection(IndexSections is)
"}{
\\
comment end of infoblock}
\n
"
;
"}{
\\
comment end of infoblock}
\n
"
;
// setup for this section
// setup for this section
t
<<
Rtf_Style
_Reset
<<
"
\n
"
;
t
<<
Rtf_Style
[
"Reset"
]
<<
"
\n
"
;
t
<<
"
\\
sectd
\\
pgnlcrm
\n
"
;
t
<<
"
\\
sectd
\\
pgnlcrm
\n
"
;
t
<<
"{
\\
footer "
<<
Rtf_Style
_Footer
<<
"{
\\
chpgn}}
\n
"
;
t
<<
"{
\\
footer "
<<
Rtf_Style
[
"Footer"
]
<<
"{
\\
chpgn}}
\n
"
;
// the title entry
// the title entry
t
<<
"{
\\
comment begin title page}
\n
"
;
t
<<
"{
\\
comment begin title page}
\n
"
;
t
<<
Rtf_Style
_Reset
<<
Rtf_Style_Title
<<
endl
;
// set to title style
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_Style
[
"Title"
]
<<
endl
;
// set to title style
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst TITLE
\\\\
*MERGEFORMAT}{
\\
fldrslt TITLE}}
\\
par"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst TITLE
\\\\
*MERGEFORMAT}{
\\
fldrslt TITLE}}
\\
par"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
Rtf_Style_SubTitle
<<
endl
;
// set to subtitle style
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_Style
[
"SubTitle"
]
<<
endl
;
// set to subtitle style
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst AUTHOR
\\\\
*MERGEFORMAT}{
\\
fldrslt AUTHOR}}
\\
par"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst AUTHOR
\\\\
*MERGEFORMAT}{
\\
fldrslt AUTHOR}}
\\
par"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst CREATEDATE
\\\\
*MERGEFORMAT}"
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst CREATEDATE
\\\\
*MERGEFORMAT}"
"{
\\
fldrslt CREATEDATE}}
\\
par"
<<
endl
;
"{
\\
fldrslt CREATEDATE}}
\\
par"
<<
endl
;
...
@@ -524,44 +736,44 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -524,44 +736,44 @@ void RTFGenerator::endIndexSection(IndexSections is)
// table of contents section
// table of contents section
t
<<
"{
\\
comment Table of contents}
\n
"
;
t
<<
"{
\\
comment Table of contents}
\n
"
;
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst TOC
\\\\
f
\\\\
*MERGEFORMAT}{
\\
fldrslt Table of contents}}
\\
par
\n
"
;
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst TOC
\\\\
f
\\\\
*MERGEFORMAT}{
\\
fldrslt Table of contents}}
\\
par
\n
"
;
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
}
}
break
;
break
;
case
isMainPage
:
case
isMainPage
:
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trMainPage
()
<<
"}"
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trMainPage
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
index.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
index.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
break
;
case
isModuleIndex
:
case
isModuleIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trModuleIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trModuleIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
modules.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
modules.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
break
;
case
isNamespaceIndex
:
case
isNamespaceIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trNamespaceIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trNamespaceIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
namespaces.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
namespaces.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
break
;
case
isClassHierarchyIndex
:
case
isClassHierarchyIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trHierarchicalIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trHierarchicalIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
hierarchy.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
hierarchy.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
break
;
case
isCompoundIndex
:
case
isCompoundIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trCompoundIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trCompoundIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
annotated.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
annotated.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
break
;
case
isFileIndex
:
case
isFileIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trFileIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trFileIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
files.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
files.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
break
;
case
isPageIndex
:
case
isPageIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trPageIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trPageIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
pages.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
pages.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
break
;
...
@@ -572,9 +784,9 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -572,9 +784,9 @@ void RTFGenerator::endIndexSection(IndexSections is)
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trModuleDocumentation
()
<<
"}"
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trModuleDocumentation
()
<<
"}"
<<
endl
;
while
(
gd
&&
!
found
)
while
(
gd
&&
!
found
)
{
{
if
(
gd
->
isLinkableInProject
()
||
gd
->
countMembers
()
>
0
)
if
(
gd
->
countMembers
()
>
0
)
{
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
gd
->
getOutputFileBase
();
t
<<
gd
->
getOutputFileBase
();
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
@@ -585,9 +797,9 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -585,9 +797,9 @@ void RTFGenerator::endIndexSection(IndexSections is)
}
}
while
(
gd
)
while
(
gd
)
{
{
if
(
gd
->
isLinkableInProject
()
||
gd
->
countMembers
()
>
0
)
if
(
gd
->
countMembers
()
>
0
)
{
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
beginRTFSection
();
beginRTFSection
();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
gd
->
getOutputFileBase
();
t
<<
gd
->
getOutputFileBase
();
...
@@ -605,7 +817,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -605,7 +817,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
{
if
(
nd
->
isLinkableInProject
()
||
nd
->
countMembers
()
>
0
)
if
(
nd
->
isLinkableInProject
()
||
nd
->
countMembers
()
>
0
)
{
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
nd
->
getOutputFileBase
();
t
<<
nd
->
getOutputFileBase
();
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
@@ -617,7 +829,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -617,7 +829,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
{
if
(
nd
->
isLinkableInProject
()
||
nd
->
countMembers
()
>
0
)
if
(
nd
->
isLinkableInProject
()
||
nd
->
countMembers
()
>
0
)
{
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
beginRTFSection
();
beginRTFSection
();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
nd
->
getOutputFileBase
();
t
<<
nd
->
getOutputFileBase
();
...
@@ -637,7 +849,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -637,7 +849,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
{
if
(
cd
->
isLinkableInProject
())
if
(
cd
->
isLinkableInProject
())
{
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
cd
->
getOutputFileBase
();
t
<<
cd
->
getOutputFileBase
();
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
@@ -649,7 +861,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -649,7 +861,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
{
if
(
cd
->
isLinkableInProject
())
if
(
cd
->
isLinkableInProject
())
{
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
beginRTFSection
();
beginRTFSection
();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
cd
->
getOutputFileBase
();
t
<<
cd
->
getOutputFileBase
();
...
@@ -674,7 +886,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -674,7 +886,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
{
if
(
isFirst
)
if
(
isFirst
)
{
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
fd
->
getOutputFileBase
();
t
<<
fd
->
getOutputFileBase
();
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
@@ -682,7 +894,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -682,7 +894,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
}
}
else
else
{
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
beginRTFSection
();
beginRTFSection
();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
fd
->
getOutputFileBase
();
t
<<
fd
->
getOutputFileBase
();
...
@@ -702,7 +914,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -702,7 +914,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trExampleDocumentation
()
<<
"}"
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trExampleDocumentation
()
<<
"}"
<<
endl
;
if
(
pi
)
if
(
pi
)
{
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
convertSlashes
(
pi
->
name
,
TRUE
);
t
<<
convertSlashes
(
pi
->
name
,
TRUE
);
t
<<
"-example.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
"-example.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
@@ -710,7 +922,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -710,7 +922,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
}
}
while
(
pi
)
while
(
pi
)
{
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
beginRTFSection
();
beginRTFSection
();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
convertSlashes
(
pi
->
name
,
TRUE
);
t
<<
convertSlashes
(
pi
->
name
,
TRUE
);
...
@@ -730,7 +942,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -730,7 +942,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
pageName
=
pi
->
name
.
copy
();
pageName
=
pi
->
name
.
copy
();
else
else
pageName
=
pi
->
name
.
lower
();
pageName
=
pi
->
name
.
lower
();
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
pageName
;
t
<<
pageName
;
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
@@ -743,7 +955,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -743,7 +955,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
pageName
=
pi
->
name
.
copy
();
pageName
=
pi
->
name
.
copy
();
else
else
pageName
=
pi
->
name
.
lower
();
pageName
=
pi
->
name
.
lower
();
//t << "\\par " << Rtf_Style
_Reset
<< endl;
//t << "\\par " << Rtf_Style
["Reset"]
<< endl;
//beginRTFSection();
//beginRTFSection();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
pageName
;
t
<<
pageName
;
...
@@ -754,9 +966,9 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -754,9 +966,9 @@ void RTFGenerator::endIndexSection(IndexSections is)
break
;
break
;
case
isEndIndex
:
case
isEndIndex
:
beginRTFChapter
();
beginRTFChapter
();
t
<<
Rtf_Style
_Heading1
;
t
<<
Rtf_Style
[
"Heading1"
]
;
t
<<
"Index
\\
par "
<<
endl
;
t
<<
"Index
\\
par "
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
tc
\\
v Index}"
<<
endl
;
t
<<
"{
\\
tc
\\
v Index}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst INDEX
\\\\
c2
\\\\
*MERGEFORMAT}{
\\
fldrslt INDEX}}
\n
"
;
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst INDEX
\\\\
c2
\\\\
*MERGEFORMAT}{
\\
fldrslt INDEX}}
\n
"
;
...
@@ -772,8 +984,8 @@ void RTFGenerator::lastIndexPage()
...
@@ -772,8 +984,8 @@ void RTFGenerator::lastIndexPage()
t
<<
"
\\
sect
\\
sectd
\\
sbknone
\\
pgndec
\n
"
;
t
<<
"
\\
sect
\\
sectd
\\
sbknone
\\
pgndec
\n
"
;
// set footer
// set footer
t
<<
"{
\\
footer "
<<
Rtf_Style
_Footer
<<
"{
\\
chpgn}}
\n
"
;
t
<<
"{
\\
footer "
<<
Rtf_Style
[
"Footer"
]
<<
"{
\\
chpgn}}
\n
"
;
//t << Rtf_Style
_Heading1
<< "\n";
//t << Rtf_Style
["Heading1"]
<< "\n";
}
}
...
@@ -798,7 +1010,7 @@ void RTFGenerator::startIndexList()
...
@@ -798,7 +1010,7 @@ void RTFGenerator::startIndexList()
t
<<
"{
\\
comment (startIndexList)}"
<<
endl
;
t
<<
"{
\\
comment (startIndexList)}"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
incrementIndentLevel
();
incrementIndentLevel
();
t
<<
Rtf_Style
_Reset
<<
Rtf_LCList_DepthStyle
()
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_LCList_DepthStyle
()
<<
endl
;
newParagraph
();
newParagraph
();
m_omitParagraph
=
TRUE
;
m_omitParagraph
=
TRUE
;
}
}
...
@@ -819,7 +1031,7 @@ void RTFGenerator::startItemList()
...
@@ -819,7 +1031,7 @@ void RTFGenerator::startItemList()
t
<<
"{"
;
t
<<
"{"
;
incrementIndentLevel
();
incrementIndentLevel
();
listItemInfo
[
m_listLevel
].
isEnum
=
FALSE
;
listItemInfo
[
m_listLevel
].
isEnum
=
FALSE
;
//t << Rtf_Style
_Reset
<< Rtf_BList_DepthStyle();
//t << Rtf_Style
["Reset"]
<< Rtf_BList_DepthStyle();
}
}
/*! end bullet list */
/*! end bullet list */
...
@@ -830,7 +1042,7 @@ void RTFGenerator::endItemList()
...
@@ -830,7 +1042,7 @@ void RTFGenerator::endItemList()
t
<<
"}"
;
t
<<
"}"
;
decrementIndentLevel
();
decrementIndentLevel
();
m_omitParagraph
=
TRUE
;
m_omitParagraph
=
TRUE
;
//t << Rtf_Style
_Reset
<< styleStack.top() << endl;
//t << Rtf_Style
["Reset"]
<< styleStack.top() << endl;
//printf("RTFGenerator::endItemList() `%s'\n",styleStack.top());
//printf("RTFGenerator::endItemList() `%s'\n",styleStack.top());
//newParagraph();
//newParagraph();
}
}
...
@@ -843,7 +1055,7 @@ void RTFGenerator::startEnumList() // starts an enumeration list
...
@@ -843,7 +1055,7 @@ void RTFGenerator::startEnumList() // starts an enumeration list
incrementIndentLevel
();
incrementIndentLevel
();
listItemInfo
[
m_listLevel
].
isEnum
=
TRUE
;
listItemInfo
[
m_listLevel
].
isEnum
=
TRUE
;
listItemInfo
[
m_listLevel
].
number
=
1
;
listItemInfo
[
m_listLevel
].
number
=
1
;
//t << Rtf_Style
_Reset
<< Rtf_EList_DepthStyle() << endl;
//t << Rtf_Style
["Reset"]
<< Rtf_EList_DepthStyle() << endl;
//newParagraph();
//newParagraph();
//m_omitParagraph=TRUE;
//m_omitParagraph=TRUE;
...
@@ -864,7 +1076,7 @@ void RTFGenerator::writeListItem()
...
@@ -864,7 +1076,7 @@ void RTFGenerator::writeListItem()
{
{
t
<<
"{
\\
comment (writeListItem)}"
<<
endl
;
t
<<
"{
\\
comment (writeListItem)}"
<<
endl
;
newParagraph
();
newParagraph
();
t
<<
Rtf_Style
_Reset
;
t
<<
Rtf_Style
[
"Reset"
]
;
if
(
listItemInfo
[
m_listLevel
].
isEnum
)
if
(
listItemInfo
[
m_listLevel
].
isEnum
)
{
{
t
<<
Rtf_EList_DepthStyle
()
<<
endl
;
t
<<
Rtf_EList_DepthStyle
()
<<
endl
;
...
@@ -980,14 +1192,14 @@ void RTFGenerator::writeEndAnnoItem(const char *name)
...
@@ -980,14 +1192,14 @@ void RTFGenerator::writeEndAnnoItem(const char *name)
void
RTFGenerator
::
startSubsection
()
void
RTFGenerator
::
startSubsection
()
{
{
//beginRTFSubSection();
//beginRTFSubSection();
t
<<
"
\n
{
\\
comment Begin SubSection}
\n
"
<<
Rtf_Style
_Reset
;
t
<<
"
\n
{
\\
comment Begin SubSection}
\n
"
<<
Rtf_Style
[
"Reset"
]
;
t
<<
Rtf_Style
_Heading3
<<
"
\n
"
;
t
<<
Rtf_Style
[
"Heading3"
]
<<
"
\n
"
;
}
}
void
RTFGenerator
::
endSubsection
()
void
RTFGenerator
::
endSubsection
()
{
{
newParagraph
();
newParagraph
();
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
}
}
void
RTFGenerator
::
startSubsubsection
()
void
RTFGenerator
::
startSubsubsection
()
...
@@ -995,7 +1207,7 @@ void RTFGenerator::startSubsubsection()
...
@@ -995,7 +1207,7 @@ void RTFGenerator::startSubsubsection()
//beginRTFSubSubSection();
//beginRTFSubSubSection();
t
<<
"
\n
{
\\
comment Begin SubSubSection}
\n
"
;
t
<<
"
\n
{
\\
comment Begin SubSubSection}
\n
"
;
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
Rtf_Style_Heading4
<<
"
\n
"
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_Style
[
"Heading4"
]
<<
"
\n
"
;
}
}
void
RTFGenerator
::
endSubsubsection
()
void
RTFGenerator
::
endSubsubsection
()
...
@@ -1135,13 +1347,13 @@ void RTFGenerator::startTitleHead(const char *)
...
@@ -1135,13 +1347,13 @@ void RTFGenerator::startTitleHead(const char *)
t
<<
"{
\\
comment startTitleHead}"
<<
endl
;
t
<<
"{
\\
comment startTitleHead}"
<<
endl
;
// beginRTFSection();
// beginRTFSection();
t
<<
Rtf_Style
_Reset
<<
Rtf_Style_Heading2
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_Style
[
"Heading2"
]
<<
endl
;
}
}
void
RTFGenerator
::
endTitleHead
(
const
char
*
fileName
,
const
char
*
name
)
void
RTFGenerator
::
endTitleHead
(
const
char
*
fileName
,
const
char
*
name
)
{
{
t
<<
"{
\\
comment endTitleHead}"
<<
endl
;
t
<<
"{
\\
comment endTitleHead}"
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
if
(
name
)
if
(
name
)
{
{
// make table of contents entry
// make table of contents entry
...
@@ -1177,8 +1389,8 @@ void RTFGenerator::startGroupHeader()
...
@@ -1177,8 +1389,8 @@ void RTFGenerator::startGroupHeader()
{
{
t
<<
"{
\\
comment startGroupHeader}"
<<
endl
;
t
<<
"{
\\
comment startGroupHeader}"
<<
endl
;
newParagraph
();
newParagraph
();
t
<<
Rtf_Style
_Reset
;
t
<<
Rtf_Style
[
"Reset"
]
;
t
<<
Rtf_Style
_Heading3
;
t
<<
Rtf_Style
[
"Heading3"
]
;
t
<<
endl
;
t
<<
endl
;
}
}
...
@@ -1186,7 +1398,7 @@ void RTFGenerator::endGroupHeader()
...
@@ -1186,7 +1398,7 @@ void RTFGenerator::endGroupHeader()
{
{
t
<<
"{
\\
comment endGroupHeader}"
<<
endl
;
t
<<
"{
\\
comment endGroupHeader}"
<<
endl
;
newParagraph
();
newParagraph
();
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
}
}
void
RTFGenerator
::
startMemberDoc
(
const
char
*
clname
,
void
RTFGenerator
::
startMemberDoc
(
const
char
*
clname
,
...
@@ -1200,11 +1412,10 @@ void RTFGenerator::startMemberDoc(const char *clname,
...
@@ -1200,11 +1412,10 @@ void RTFGenerator::startMemberDoc(const char *clname,
addToIndex
(
memname
,
clname
);
addToIndex
(
memname
,
clname
);
addToIndex
(
clname
,
memname
);
addToIndex
(
clname
,
memname
);
}
}
//t << Rtf_Style_Reset << Rtf_Style_ListBullet1;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_Style
[
"Heading4"
];
t
<<
Rtf_Style_Reset
<<
Rtf_Style_Heading4
;
//styleStack.push(Rtf_Style_Heading4);
//styleStack.push(Rtf_Style_Heading4);
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
//printf("RTFGenerator::startMemberDoc() `%s'\n",Rtf_Style
_Heading4
);
//printf("RTFGenerator::startMemberDoc() `%s'\n",Rtf_Style
["Heading4"]
);
startBold
();
startBold
();
t
<<
endl
;
t
<<
endl
;
}
}
...
@@ -1215,7 +1426,7 @@ void RTFGenerator::endMemberDoc()
...
@@ -1215,7 +1426,7 @@ void RTFGenerator::endMemberDoc()
t
<<
"}"
<<
endl
;
t
<<
"}"
<<
endl
;
//const char *style = styleStack.pop();
//const char *style = styleStack.pop();
//printf("RTFGenerator::endMemberDoc() `%s'\n",style);
//printf("RTFGenerator::endMemberDoc() `%s'\n",style);
//ASSERT(style==Rtf_Style
_Heading4
);
//ASSERT(style==Rtf_Style
["Heading4"]
);
endBold
();
endBold
();
newParagraph
();
newParagraph
();
}
}
...
@@ -1295,7 +1506,7 @@ void RTFGenerator::startIndent()
...
@@ -1295,7 +1506,7 @@ void RTFGenerator::startIndent()
incrementIndentLevel
();
incrementIndentLevel
();
t
<<
"{
\\
comment (startIndent) }"
<<
endl
;
t
<<
"{
\\
comment (startIndent) }"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
Rtf_CList_DepthStyle
()
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_CList_DepthStyle
()
<<
endl
;
//styleStack.push(style);
//styleStack.push(style);
}
}
...
@@ -1311,7 +1522,7 @@ void RTFGenerator::startDescription()
...
@@ -1311,7 +1522,7 @@ void RTFGenerator::startDescription()
{
{
t
<<
"{
\\
comment (startDescription)}"
<<
endl
;
t
<<
"{
\\
comment (startDescription)}"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
Rtf_CList_DepthStyle
();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_CList_DepthStyle
();
}
}
void
RTFGenerator
::
endDescription
()
void
RTFGenerator
::
endDescription
()
...
@@ -1340,7 +1551,7 @@ void RTFGenerator::startMemberDescription()
...
@@ -1340,7 +1551,7 @@ void RTFGenerator::startMemberDescription()
t
<<
"{
\\
comment (startMemberDescription)}"
<<
endl
;
t
<<
"{
\\
comment (startMemberDescription)}"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
incrementIndentLevel
();
incrementIndentLevel
();
t
<<
Rtf_Style
_Reset
<<
Rtf_CList_DepthStyle
();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_CList_DepthStyle
();
startEmphasis
();
startEmphasis
();
}
}
...
@@ -1364,16 +1575,16 @@ void RTFGenerator::endDescTitle()
...
@@ -1364,16 +1575,16 @@ void RTFGenerator::endDescTitle()
{
{
t
<<
"{
\\
comment (endDescTitle) }"
<<
endl
;
t
<<
"{
\\
comment (endDescTitle) }"
<<
endl
;
newParagraph
();
newParagraph
();
//t << Rtf_Style
_Reset
<< styleStack.top();
//t << Rtf_Style
["Reset"]
<< styleStack.top();
incrementIndentLevel
();
incrementIndentLevel
();
t
<<
Rtf_Style
_Reset
<<
Rtf_DList_DepthStyle
();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_DList_DepthStyle
();
}
}
void
RTFGenerator
::
writeDescItem
()
void
RTFGenerator
::
writeDescItem
()
{
{
t
<<
"{
\\
comment (writeDescItem) }"
<<
endl
;
t
<<
"{
\\
comment (writeDescItem) }"
<<
endl
;
// incrementIndentLevel();
// incrementIndentLevel();
//t << Rtf_Style
_Reset
<< Rtf_CList_DepthStyle();
//t << Rtf_Style
["Reset"]
<< Rtf_CList_DepthStyle();
}
}
void
RTFGenerator
::
endDescList
()
void
RTFGenerator
::
endDescList
()
...
@@ -1383,18 +1594,18 @@ void RTFGenerator::endDescList()
...
@@ -1383,18 +1594,18 @@ void RTFGenerator::endDescList()
t
<<
"}"
;
t
<<
"}"
;
decrementIndentLevel
();
decrementIndentLevel
();
m_omitParagraph
=
TRUE
;
m_omitParagraph
=
TRUE
;
//t << Rtf_Style
_Reset
<< styleStack.top() << endl;
//t << Rtf_Style
["Reset"]
<< styleStack.top() << endl;
}
}
void
RTFGenerator
::
writeSection
(
const
char
*
lab
,
const
char
*
title
,
bool
sub
)
void
RTFGenerator
::
writeSection
(
const
char
*
lab
,
const
char
*
title
,
bool
sub
)
{
{
t
<<
"{
\\
comment (writeSection)}"
<<
endl
;
t
<<
"{
\\
comment (writeSection)}"
<<
endl
;
t
<<
"{"
;
t
<<
"{"
;
t
<<
Rtf_Style
_Reset
;
t
<<
Rtf_Style
[
"Reset"
]
;
if
(
sub
)
if
(
sub
)
{
{
// set style
// set style
t
<<
Rtf_Style
_Heading3
;
t
<<
Rtf_Style
[
"Heading3"
]
;
// make table of contents entry
// make table of contents entry
t
<<
"{
\\
tc
\\
tcl3
\\
v "
;
t
<<
"{
\\
tc
\\
tcl3
\\
v "
;
docify
(
title
);
docify
(
title
);
...
@@ -1403,7 +1614,7 @@ void RTFGenerator::writeSection(const char *lab,const char *title,bool sub)
...
@@ -1403,7 +1614,7 @@ void RTFGenerator::writeSection(const char *lab,const char *title,bool sub)
else
else
{
{
// set style
// set style
t
<<
Rtf_Style
_Heading2
;
t
<<
Rtf_Style
[
"Heading2"
]
;
// make table of contents entry
// make table of contents entry
t
<<
"{
\\
tc
\\
tcl2
\\
v "
;
t
<<
"{
\\
tc
\\
tcl2
\\
v "
;
docify
(
title
);
docify
(
title
);
...
@@ -1530,7 +1741,7 @@ void RTFGenerator::endClassDiagram(ClassDiagram &d,
...
@@ -1530,7 +1741,7 @@ void RTFGenerator::endClassDiagram(ClassDiagram &d,
// display the file
// display the file
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par
\\
pard
\\
qc {
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
;
t
<<
"
\\
par
\\
pard
\\
qc {
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
;
t
<<
fileName
<<
".gif"
;
t
<<
fileName
<<
".gif"
;
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt IMAGE}}
\\
par"
<<
endl
;
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt IMAGE}}
\\
par"
<<
endl
;
...
@@ -1545,7 +1756,7 @@ void RTFGenerator::writeFormula(const char *,const char *text)
...
@@ -1545,7 +1756,7 @@ void RTFGenerator::writeFormula(const char *,const char *text)
void
RTFGenerator
::
startMemberItem
(
int
)
void
RTFGenerator
::
startMemberItem
(
int
)
{
{
t
<<
"{
\\
comment startMemberItem }"
<<
endl
;
t
<<
"{
\\
comment startMemberItem }"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
Rtf_BList_DepthStyle
()
<<
endl
;
// set style to apropriate depth
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_BList_DepthStyle
()
<<
endl
;
// set style to apropriate depth
}
}
void
RTFGenerator
::
endMemberItem
(
bool
)
void
RTFGenerator
::
endMemberItem
(
bool
)
...
@@ -1575,7 +1786,7 @@ void RTFGenerator::startCodeFragment()
...
@@ -1575,7 +1786,7 @@ void RTFGenerator::startCodeFragment()
{
{
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
newParagraph
();
newParagraph
();
t
<<
Rtf_Style
_Reset
<<
Rtf_Code_DepthStyle
();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_Code_DepthStyle
();
//styleStack.push(Rtf_Style_CodeExample);
//styleStack.push(Rtf_Style_CodeExample);
}
}
...
@@ -1584,7 +1795,7 @@ void RTFGenerator::endCodeFragment()
...
@@ -1584,7 +1795,7 @@ void RTFGenerator::endCodeFragment()
newParagraph
();
newParagraph
();
//styleStack.pop();
//styleStack.pop();
//printf("RTFGenerator::endCodeFrament() top=%s\n",styleStack.top());
//printf("RTFGenerator::endCodeFrament() top=%s\n",styleStack.top());
//t << Rtf_Style
_Reset
<< styleStack.top() << endl;
//t << Rtf_Style
["Reset"]
<< styleStack.top() << endl;
t
<<
"}"
<<
endl
;
t
<<
"}"
<<
endl
;
m_omitParagraph
=
TRUE
;
m_omitParagraph
=
TRUE
;
}
}
...
@@ -1633,7 +1844,7 @@ void RTFGenerator::startDescTable()
...
@@ -1633,7 +1844,7 @@ void RTFGenerator::startDescTable()
t
<<
"{
\\
comment (startDescTable) }"
<<
endl
;
t
<<
"{
\\
comment (startDescTable) }"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
//incrementIndentLevel();
//incrementIndentLevel();
//t << Rtf_Style
_Reset
<< Rtf_CList_DepthStyle();
//t << Rtf_Style
["Reset"]
<< Rtf_CList_DepthStyle();
}
}
void
RTFGenerator
::
endDescTable
()
void
RTFGenerator
::
endDescTable
()
...
@@ -1641,7 +1852,7 @@ void RTFGenerator::endDescTable()
...
@@ -1641,7 +1852,7 @@ void RTFGenerator::endDescTable()
//decrementIndentLevel();
//decrementIndentLevel();
t
<<
"{
\\
comment (endDescTable)}"
<<
endl
;
t
<<
"{
\\
comment (endDescTable)}"
<<
endl
;
t
<<
"}"
<<
endl
;
t
<<
"}"
<<
endl
;
//t << Rtf_Style
_Reset
<< styleStack.top();
//t << Rtf_Style
["Reset"]
<< styleStack.top();
}
}
void
RTFGenerator
::
startDescTableTitle
()
void
RTFGenerator
::
startDescTableTitle
()
...
@@ -1694,49 +1905,55 @@ void RTFGenerator::decrementIndentLevel()
...
@@ -1694,49 +1905,55 @@ void RTFGenerator::decrementIndentLevel()
// a style for list formatted with "list continue" style
// a style for list formatted with "list continue" style
const
char
*
RTFGenerator
::
Rtf_CList_DepthStyle
()
const
char
*
RTFGenerator
::
Rtf_CList_DepthStyle
()
{
{
return
Rtf_Style_ListContinue
[
m_listLevel
];
QCString
n
=
makeIndexName
(
"ListContinue"
,
m_listLevel
);
return
Rtf_Style
[
n
];
}
}
// a style for list formatted as a "latext style" table of contents
// a style for list formatted as a "latext style" table of contents
const
char
*
RTFGenerator
::
Rtf_LCList_DepthStyle
()
const
char
*
RTFGenerator
::
Rtf_LCList_DepthStyle
()
{
{
return
Rtf_Style_LatexTOC
[
m_listLevel
];
QCString
n
=
makeIndexName
(
"LatexTOC"
,
m_listLevel
);
return
Rtf_Style
[
n
];
}
}
// a style for list formatted as a "bullet" style
// a style for list formatted as a "bullet" style
const
char
*
RTFGenerator
::
Rtf_BList_DepthStyle
()
const
char
*
RTFGenerator
::
Rtf_BList_DepthStyle
()
{
{
return
Rtf_Style_ListBullet
[
m_listLevel
];
QCString
n
=
makeIndexName
(
"ListBullet"
,
m_listLevel
);
return
Rtf_Style
[
n
];
}
}
// a style for list formatted as a "enumeration" style
// a style for list formatted as a "enumeration" style
const
char
*
RTFGenerator
::
Rtf_EList_DepthStyle
()
const
char
*
RTFGenerator
::
Rtf_EList_DepthStyle
()
{
{
return
Rtf_Style_ListEnum
[
m_listLevel
];
QCString
n
=
makeIndexName
(
"ListEnum"
,
m_listLevel
);
return
Rtf_Style
[
n
];
}
}
const
char
*
RTFGenerator
::
Rtf_DList_DepthStyle
()
const
char
*
RTFGenerator
::
Rtf_DList_DepthStyle
()
{
{
return
Rtf_Style_DescContinue
[
m_listLevel
];
QCString
n
=
makeIndexName
(
"DescContinue"
,
m_listLevel
);
return
Rtf_Style
[
n
];
}
}
const
char
*
RTFGenerator
::
Rtf_Code_DepthStyle
()
const
char
*
RTFGenerator
::
Rtf_Code_DepthStyle
()
{
{
return
Rtf_Style_CodeExample
[
m_listLevel
];
QCString
n
=
makeIndexName
(
"CodeExample"
,
m_listLevel
);
return
Rtf_Style
[
n
];
}
}
void
RTFGenerator
::
startTextBlock
(
bool
dense
)
void
RTFGenerator
::
startTextBlock
(
bool
dense
)
{
{
t
<<
"{
\\
comment Start TextBlock}"
<<
endl
;
t
<<
"{
\\
comment Start TextBlock}"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
_Reset
;
t
<<
Rtf_Style
[
"Reset"
]
;
if
(
dense
)
// no spacing between "paragraphs"
if
(
dense
)
// no spacing between "paragraphs"
{
{
t
<<
Rtf_Style
_DenseText
;
t
<<
Rtf_Style
[
"DenseText"
]
;
}
}
else
// some spacing
else
// some spacing
{
{
t
<<
Rtf_Style
_BodyText
;
t
<<
Rtf_Style
[
"BodyText"
]
;
}
}
}
}
...
@@ -1757,7 +1974,7 @@ void RTFGenerator::newParagraph()
...
@@ -1757,7 +1974,7 @@ void RTFGenerator::newParagraph()
void
RTFGenerator
::
startMemberSubtitle
()
void
RTFGenerator
::
startMemberSubtitle
()
{
{
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
Rtf_CList_DepthStyle
()
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_CList_DepthStyle
()
<<
endl
;
}
}
void
RTFGenerator
::
endMemberSubtitle
()
void
RTFGenerator
::
endMemberSubtitle
()
...
@@ -1953,7 +2170,7 @@ void RTFGenerator::endDotGraph(DotClassGraph &g)
...
@@ -1953,7 +2170,7 @@ void RTFGenerator::endDotGraph(DotClassGraph &g)
// display the file
// display the file
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par
\\
pard
\\
qc {
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
;
t
<<
"
\\
par
\\
pard
\\
qc {
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
;
t
<<
g
.
diskName
()
<<
".gif"
;
t
<<
g
.
diskName
()
<<
".gif"
;
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt IMAGE}}
\\
par"
<<
endl
;
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt IMAGE}}
\\
par"
<<
endl
;
...
@@ -1977,7 +2194,7 @@ void RTFGenerator::endInclDepGraph(DotInclDepGraph &g)
...
@@ -1977,7 +2194,7 @@ void RTFGenerator::endInclDepGraph(DotInclDepGraph &g)
// display the file
// display the file
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par
\\
pard
\\
qc {
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
;
t
<<
"
\\
par
\\
pard
\\
qc {
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
;
t
<<
g
.
diskName
()
<<
".gif"
;
t
<<
g
.
diskName
()
<<
".gif"
;
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt IMAGE}}
\\
par"
<<
endl
;
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt IMAGE}}
\\
par"
<<
endl
;
...
@@ -2037,14 +2254,14 @@ void RTFGenerator::startMemberGroupHeader(bool hasHeader)
...
@@ -2037,14 +2254,14 @@ void RTFGenerator::startMemberGroupHeader(bool hasHeader)
t
<<
"{
\\
comment startMemberGroupHeader}"
<<
endl
;
t
<<
"{
\\
comment startMemberGroupHeader}"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
if
(
hasHeader
)
incrementIndentLevel
();
if
(
hasHeader
)
incrementIndentLevel
();
t
<<
Rtf_Style
_Reset
<<
Rtf_Style_GroupHeader
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_Style
[
"GroupHeader"
]
;
}
}
void
RTFGenerator
::
endMemberGroupHeader
()
void
RTFGenerator
::
endMemberGroupHeader
()
{
{
t
<<
"{
\\
comment endMemberGroupHeader}"
<<
endl
;
t
<<
"{
\\
comment endMemberGroupHeader}"
<<
endl
;
newParagraph
();
newParagraph
();
t
<<
Rtf_Style
_Reset
<<
Rtf_CList_DepthStyle
();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_CList_DepthStyle
();
}
}
void
RTFGenerator
::
startMemberGroupDocs
()
void
RTFGenerator
::
startMemberGroupDocs
()
...
@@ -2063,7 +2280,7 @@ void RTFGenerator::endMemberGroupDocs()
...
@@ -2063,7 +2280,7 @@ void RTFGenerator::endMemberGroupDocs()
void
RTFGenerator
::
startMemberGroup
()
void
RTFGenerator
::
startMemberGroup
()
{
{
t
<<
"{
\\
comment startMemberGroup}"
<<
endl
;
t
<<
"{
\\
comment startMemberGroup}"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
Rtf_BList_DepthStyle
()
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_BList_DepthStyle
()
<<
endl
;
}
}
void
RTFGenerator
::
endMemberGroup
(
bool
hasHeader
)
void
RTFGenerator
::
endMemberGroup
(
bool
hasHeader
)
...
...
src/scanner.l
View file @
adb81f79
...
@@ -1758,12 +1758,11 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -1758,12 +1758,11 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
{
{
//outDoc->writeSectionRefAnchor(sec->fileName,sec->label,text);
//outDoc->writeSectionRefAnchor(sec->fileName,sec->label,text);
outDoc->writeObjectLink(0,sec->fileName,sec->label,text);
outDoc->writeObjectLink(0,sec->fileName,sec->label,text);
//printf("Writing page ref `%s'\n",sec->label.data());
writePageRef(*outDoc,sec->label,0);
writePageRef(*outDoc,sec->label,0);
}
}
else
else
{
{
//printf(" ref sec=%p sec->fileName=%s
\n",sec,sec->fileName
.data());
//printf(" ref sec=%p sec->fileName=%s
text=%s\n",sec,sec->fileName.data(),text
.data());
outDoc->writeSectionRef(sec->fileName,sec->label,text);
outDoc->writeSectionRef(sec->fileName,sec->label,text);
}
}
}
}
...
@@ -3246,7 +3245,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -3246,7 +3245,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
<MemberSpec>([*&]*{BN}*)*{ID}("["[a-z_A-Z0-9]*"]")* { // the [] part could be improved.
<MemberSpec>([*&]*{BN}*)*{ID}("["[a-z_A-Z0-9]*"]")* { // the [] part could be improved.
lineCount();
lineCount();
int i=0,l=yyleng,j;
int i=0,l=yyleng,j;
while (i<l && (!is
alpha
(yytext[i]))) i++;
while (i<l && (!is
Id
(yytext[i]))) i++;
msName = yytext;
msName = yytext;
msName = msName.right(msName.length()-i);
msName = msName.right(msName.length()-i);
j=msName.find("[");
j=msName.find("[");
...
@@ -3300,7 +3299,14 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -3300,7 +3299,14 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
// current->parent->section & Entry::COMPOUND_MASK)
// current->parent->section & Entry::COMPOUND_MASK)
// varEntry->type+=current->parent->name+"::";
// varEntry->type+=current->parent->name+"::";
if (isTypedef)
if (isTypedef)
{
varEntry->type.prepend("typedef ");
varEntry->type.prepend("typedef ");
//printf("current->name = %s %s\n",current->name.data(),msName.data());
if (!current->name.isEmpty() && current->name.at(0)!='@')
{
typedefDict.insert(msName,new QCString(current->name));
}
}
varEntry->type+=current->name+msType;
varEntry->type+=current->name+msType;
varEntry->fileName = yyFileName;
varEntry->fileName = yyFileName;
varEntry->startLine = yyLineNr;
varEntry->startLine = yyLineNr;
...
@@ -4671,12 +4677,12 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -4671,12 +4677,12 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
<Doc,JavaDoc,LineDoc,ExampleDoc,ClassDocBrief,PageDoc,ClassDoc>("\\\\"|"@@")"f"[$\[\]] {
<Doc,JavaDoc,LineDoc,ExampleDoc,ClassDocBrief,PageDoc,ClassDoc>("\\\\"|"@@")"f"[$\[\]] {
current->doc += &yytext[1];
current->doc += &yytext[1];
}
}
<Doc,JavaDoc,LineDoc,ExampleDoc,ClassDocBrief,PageDoc,ClassDoc,AfterDoc>{CMD}"f$" {
<Doc,JavaDoc,LineDoc,ExampleDoc,ClassDocBrief,PageDoc,ClassDoc,AfterDoc
,AfterDocLine,AfterDocBrief
>{CMD}"f$" {
lastFormulaContext = YY_START;
lastFormulaContext = YY_START;
formulaText="$";
formulaText="$";
BEGIN(ReadFormulaShort);
BEGIN(ReadFormulaShort);
}
}
<Doc,JavaDoc,LineDoc,ExampleDoc,ClassDocBrief,PageDoc,ClassDoc,AfterDoc>{CMD}"f[" {
<Doc,JavaDoc,LineDoc,ExampleDoc,ClassDocBrief,PageDoc,ClassDoc,AfterDoc
,AfterDocLine,AfterDocBrief
>{CMD}"f[" {
lastFormulaContext = YY_START;
lastFormulaContext = YY_START;
formulaText="\\[";
formulaText="\\[";
BEGIN(ReadFormulaLong);
BEGIN(ReadFormulaLong);
...
@@ -4685,7 +4691,9 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -4685,7 +4691,9 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
formulaText+="$";
formulaText+="$";
if (lastFormulaContext==ClassDocBrief ||
if (lastFormulaContext==ClassDocBrief ||
lastFormulaContext==LineDoc ||
lastFormulaContext==LineDoc ||
lastFormulaContext==JavaDoc
lastFormulaContext==JavaDoc ||
lastFormulaContext==AfterDocBrief ||
lastFormulaContext==AfterDocLine
)
)
current->brief += addFormula();
current->brief += addFormula();
else
else
...
@@ -4696,7 +4704,9 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -4696,7 +4704,9 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
formulaText+="\\]";
formulaText+="\\]";
if (lastFormulaContext==ClassDocBrief ||
if (lastFormulaContext==ClassDocBrief ||
lastFormulaContext==LineDoc ||
lastFormulaContext==LineDoc ||
lastFormulaContext==JavaDoc
lastFormulaContext==JavaDoc ||
lastFormulaContext==AfterDocBrief ||
lastFormulaContext==AfterDocLine
)
)
current->brief += addFormula();
current->brief += addFormula();
else
else
...
...
src/suffixtree.cpp
View file @
adb81f79
...
@@ -38,7 +38,7 @@ bool writeNumber(QFile &f,int num)
...
@@ -38,7 +38,7 @@ bool writeNumber(QFile &f,int num)
(
f
.
putch
(
num
&
0xff
)
==-
1
);
(
f
.
putch
(
num
&
0xff
)
==-
1
);
}
}
bool
writeEncodedNumber
(
QFile
&
f
,
uint
number
)
static
bool
writeEncodedNumber
(
QFile
&
f
,
uint
number
)
{
{
bool
error
=
FALSE
;
bool
error
=
FALSE
;
uint
n
=
number
;
uint
n
=
number
;
...
@@ -52,7 +52,7 @@ bool writeEncodedNumber(QFile &f,uint number)
...
@@ -52,7 +52,7 @@ bool writeEncodedNumber(QFile &f,uint number)
return
error
;
return
error
;
}
}
int
encodedNumberSize
(
uint
number
)
static
int
encodedNumberSize
(
uint
number
)
{
{
uint
n
=
number
;
uint
n
=
number
;
int
size
=
1
;
int
size
=
1
;
...
...
src/suffixtree.h
View file @
adb81f79
...
@@ -29,10 +29,6 @@ class IndexTree;
...
@@ -29,10 +29,6 @@ class IndexTree;
enum
WordRefMasks
{
WORDINNAME_MASK
=
4
,
INNAME_MASK
=
2
,
FULLWORD_MASK
=
1
};
enum
WordRefMasks
{
WORDINNAME_MASK
=
4
,
INNAME_MASK
=
2
,
FULLWORD_MASK
=
1
};
enum
WordRefBits
{
WORDINNAME_BIT
=
2
,
INNAME_BIT
=
1
,
FULLWORD_BIT
=
0
};
enum
WordRefBits
{
WORDINNAME_BIT
=
2
,
INNAME_BIT
=
1
,
FULLWORD_BIT
=
0
};
// bool inName;
// bool fullWord;
// bool wordInName;
struct
WordRef
struct
WordRef
{
{
int
id
;
int
id
;
...
@@ -77,7 +73,6 @@ class SuffixTree
...
@@ -77,7 +73,6 @@ class SuffixTree
SuffixTree
();
SuffixTree
();
~
SuffixTree
();
~
SuffixTree
();
void
insertWord
(
const
char
*
word
,
int
index
,
bool
inName
);
void
insertWord
(
const
char
*
word
,
int
index
,
bool
inName
);
//void buildIndex();
void
resolveForwardReferences
();
void
resolveForwardReferences
();
void
dump
();
void
dump
();
int
size
();
// return the size of the (flat) tree in bytes
int
size
();
// return the size of the (flat) tree in bytes
...
...
src/translator.h
View file @
adb81f79
...
@@ -25,38 +25,33 @@
...
@@ -25,38 +25,33 @@
class
Translator
class
Translator
{
{
public
:
public
:
//--------------------------------------------------------------------
// NOTICE:
// the following functions are now obsolete: these are no longer used and
// will disappear in future versions. You do not have to translate them!
virtual
QCString
trInherits
()
{
return
"Inherits"
;
}
virtual
QCString
trAnd
()
{
return
"and"
;
}
virtual
QCString
trInheritedBy
()
{
return
"Inherited By"
;
}
virtual
QCString
trReference
()
{
return
"Reference"
;
}
virtual
QCString
trReimplementedFrom
()
{
return
"Reimplemented from"
;
}
virtual
QCString
trReimplementedIn
()
{
return
"Reimplemented in"
;
}
virtual
QCString
trIncludeFile
()
{
return
"Include File"
;
}
virtual
QCString
trGeneratedFrom
(
const
char
*
s
,
bool
single
)
{
QCString
result
=
(
QCString
)
"The documentation for this"
+
s
+
" was generated from the following file"
;
if
(
single
)
result
+=
":"
;
else
result
+=
"s:"
;
return
result
;
}
// end of obsolete functions
//--------------------------------------------------------------------
// --- Language contol methods -------------------
/*! Used for identification of the language. May resemble
* the string returned by latexBabelPackage(), but it is not used
* for the same purpose. The identification should not be translated.
* It should be replaced by the name of the language in English
* (e.g. Czech, Japanese, Russian, etc.). It should be equal to
* the identification in language.h.
*/
virtual
QCString
idLanguage
()
{
return
"english"
;
}
/*! Used to get the command(s) for the language support. This method
* was designed for languages which do not prefer babel package.
* If this methods returns empty string, then the latexBabelPackage()
* method is used to generate the command for using the babel package.
*/
virtual
QCString
latexLanguageSupportCommand
()
{
return
""
;
}
/*! returns the name of the package that is included by LaTeX */
/*! returns the name of the package that is included by LaTeX */
virtual
QCString
latexBabelPackage
()
virtual
QCString
latexBabelPackage
()
{
return
""
;
}
{
return
""
;
}
// --- Language translation methods -------------------
/*! used in the compound documentation before a list of related functions. */
/*! used in the compound documentation before a list of related functions. */
virtual
QCString
trRelatedFunctions
()
virtual
QCString
trRelatedFunctions
()
{
return
"Related Functions"
;
}
{
return
"Related Functions"
;
}
...
...
src/translator_cz.h
View file @
adb81f79
...
@@ -27,249 +27,478 @@
...
@@ -27,249 +27,478 @@
//
//
// havran@fel.cvut.cz, 1999/04/11
// havran@fel.cvut.cz, 1999/04/11
// Notice that the following texts were written in Czech using
// MS-Windows code page 1250. If you want to use it in Unix,
// convert the file to the ISO Latin-2
// This is a prototype created by Petr Prikryl (prikrylp@skil.cz), 2000/06/20.
//
class
TranslatorCzech
:
public
Translator
class
TranslatorCzech
:
public
Translator
{
{
public
:
public
:
QCString
latexBabelPack
age
()
virtual
QCString
idLangu
age
()
{
return
"czech"
;
}
{
return
"czech"
;
}
QCString
trInherits
()
{
return
"Dedi"
;
}
virtual
QCString
latexLanguageSupportCommand
()
QCString
trAnd
()
{
return
"
\\
usepackage{czech}
\n
"
;
}
{
return
"a"
;
}
QCString
trInheritedBy
()
/*! returns the name of the package that is included by LaTeX */
{
return
"Je potomkem"
;
}
virtual
QCString
latexBabelPackage
()
QCString
trRelatedFunctions
()
{
return
""
;
}
{
return
"Pribuzne metody"
;
}
QCString
trRelatedSubscript
()
/*! used in the compound documentation before a list of related functions. */
{
return
"(Tyto funkce nejsou metody.)"
;
}
virtual
QCString
trRelatedFunctions
()
QCString
trDetailedDescription
()
{
return
"Související funkce"
;
}
{
return
"Podrobna dokumentace"
;
}
QCString
trMemberTypedefDocumentation
()
/*! subscript for the related functions. */
{
return
"Dokumentace pro deklaraci typu (typedef) ve tride"
;}
virtual
QCString
trRelatedSubscript
()
QCString
trMemberEnumerationDocumentation
()
{
return
"(Výše uvedené funkce nejsou èlenskými funkcemi.)"
;
}
{
return
"Dokumentace vyctovych typu"
;
}
QCString
trEnumerationValueDocumentation
()
/*! header that is put before the detailed description of files, classes and namespaces. */
{
return
"Dokumentace hodnot vyctovych typu"
;
}
virtual
QCString
trDetailedDescription
()
QCString
trMemberFunctionDocumentation
()
{
return
"Detailní popis"
;
}
{
return
"Dokumentace metod"
;
}
QCString
trMemberDataDocumentation
()
/*! header that is put before the list of typedefs. */
{
return
"Dokumentace datovych slozek tridy"
;
}
virtual
QCString
trMemberTypedefDocumentation
()
QCString
trGeneratedFrom
(
const
char
*
s
,
bool
single
)
{
return
"Dokumentace k èlenských typùm"
;
}
{
QCString
result
=
(
QCString
)
"Dokumentace pro tento"
+
s
+
/*! header that is put before the list of enumerations. */
" byla generovana z nasledujiciho souboru"
;
virtual
QCString
trMemberEnumerationDocumentation
()
if
(
single
)
result
+=
":"
;
else
result
+=
"s:"
;
{
return
"Dokumentace k èlenským výètùm"
;
}
return
result
;
}
/*! header that is put before the list of member functions. */
QCString
trMore
()
virtual
QCString
trMemberFunctionDocumentation
()
{
return
"Detaily"
;
}
{
return
"Dokumentace k metodám"
;
}
QCString
trReference
()
{
return
"Reference"
;
}
/*! header that is put before the list of member attributes. */
QCString
trListOfAllMembers
()
virtual
QCString
trMemberDataDocumentation
()
{
return
"Seznam vsech datovych polozek a metod tridy."
;
}
{
return
"Dokumentace k datovým èlenùm"
;
}
QCString
trMemberList
()
{
return
"Seznam datovych polozek a metod tridy"
;
}
/*! this is the text of a link put after brief descriptions. */
QCString
trThisIsTheListOfAllMembers
()
virtual
QCString
trMore
()
{
return
"Toto je uplny seznam datovych polozek a metod tridy pro"
;
}
{
return
"Podrobnosti..."
;
}
QCString
trIncludingInheritedMembers
()
{
return
"zahrnuje vsechny nasledujici zdedene datove polozky a metody."
;
}
/*! put in the class documentation */
QCString
trGeneratedAutomatically
(
const
char
*
s
)
virtual
QCString
trListOfAllMembers
()
{
QCString
result
=
"Automaticky vygenerovany pomoci programu doxygen"
;
{
return
"Seznam všech èlenù."
;
}
if
(
s
)
result
+=
(
QCString
)
" pro "
+
s
;
result
+=
" ze zdrojoveho souboru."
;
/*! used as the title of the "list of all members" page of a class */
virtual
QCString
trMemberList
()
{
return
"Seznam èlenù tøídy"
;
}
/*! this is the first part of a sentence that is followed by a class name */
virtual
QCString
trThisIsTheListOfAllMembers
()
{
return
"Úplný seznam èlenù tøídy "
;
}
/*! this is the remainder of the sentence after the class name */
virtual
QCString
trIncludingInheritedMembers
()
{
return
", vèetnì všech zdìdìných èlenù."
;
}
/*! this is put at the author sections at the bottom of man pages.
* parameter s is name of the project name.
*/
virtual
QCString
trGeneratedAutomatically
(
const
char
*
s
)
{
QCString
result
=
"Generováno automaticky programem Doxygen "
"ze zdrojových textù"
;
if
(
s
)
result
+=
(
QCString
)
" projektu "
+
s
;
result
+=
"."
;
return
result
;
return
result
;
}
}
QCString
trEnumName
()
{
return
"pojmenovani vyctoveho typu"
;
}
/*! put after an enum name in the list of all members */
QCString
trEnumValue
()
virtual
QCString
trEnumName
()
{
return
"hodnota vyctoveho typu"
;
}
{
return
"jméno výètu"
;
}
QCString
trDefinedIn
()
{
return
"definovany v"
;
}
/*! put after an enum value in the list of all members */
QCString
trIncludeFile
()
virtual
QCString
trEnumValue
()
{
return
"Vklada soubor"
;
}
{
return
"hodnota výètu"
;
}
QCString
trVerbatimText
(
const
char
*
f
)
{
return
(
QCString
)
"Toto je presny text z vlozeneho souboru "
+
f
+
""
;
}
/*! put after an undocumented member in the list of all members */
QCString
trModules
()
virtual
QCString
trDefinedIn
()
{
return
"definován v"
;
}
/*! put as in introduction in the verbatim header file of a class.
* parameter f is the name of the include file.
*/
virtual
QCString
trVerbatimText
(
const
char
*
f
)
{
return
(
QCString
)
"Úplný text vkládaného souboru "
+
f
+
"."
;
}
// quick reference sections
/*! This is put above each page as a link to the list of all groups of
* compounds or files (see the \group command).
*/
virtual
QCString
trModules
()
{
return
"Moduly"
;
}
{
return
"Moduly"
;
}
QCString
trClassHierarchy
()
{
return
"Hierarchie trid"
;
}
/*! This is put above each page as a link to the class hierarchy */
QCString
trCompoundList
()
virtual
QCString
trClassHierarchy
()
{
return
"Seznam objektovych typu"
;
}
{
return
"Hierarchie tøíd"
;
}
QCString
trFileList
()
{
return
"Seznam souboru"
;
}
/*! This is put above each page as a link to the list of annotated classes */
QCString
trHeaderFiles
()
virtual
QCString
trCompoundList
()
{
return
"Hlavickove soubory"
;
}
{
return
"Seznam složenin"
;
}
QCString
trCompoundMembers
()
{
return
"Datove slozky a metody objektovych typu"
;
}
/*! This is put above each page as a link to the list of documented files */
QCString
trFileMembers
()
virtual
QCString
trFileList
()
{
return
"Globalni deklarace"
;
}
{
return
"Seznam souborù"
;
}
QCString
trRelatedPages
()
{
return
"Souvisejici stranky"
;
}
/*! This is put above each page as a link to the list of all verbatim headers */
QCString
trExamples
()
virtual
QCString
trHeaderFiles
()
{
return
"Priklady:"
;
}
{
return
"Seznam hlavièkových souborù"
;
}
QCString
trSearch
()
{
return
"Hledej"
;
}
/*! This is put above each page as a link to all members of compounds. */
QCString
trClassHierarchyDescription
()
virtual
QCString
trCompoundMembers
()
{
return
"Tento seznam dedicnych zavislosti je temer setriden"
{
return
"Souèásti složenin"
;
}
" podle abecedy:"
;
}
/*! This is put above each page as a link to all members of files. */
QCString
trFileListDescription
(
bool
extractAll
)
virtual
QCString
trFileMembers
()
{
{
return
"Seznam globálních symbolù"
;
}
QCString
result
=
"A toto je seznam vsech "
;
if
(
!
extractAll
)
result
+=
"zdokumentovanych "
;
/*! This is put above each page as a link to all related pages. */
result
+=
"souboru s kratkymi popisy:"
;
virtual
QCString
trRelatedPages
()
{
return
"Související stránky"
;
}
/*! This is put above each page as a link to all examples. */
virtual
QCString
trExamples
()
{
return
"Pøíklady"
;
}
/*! This is put above each page as a link to the search engine. */
virtual
QCString
trSearch
()
{
return
"Hledat"
;
}
/*! This is an introduction to the class hierarchy. */
virtual
QCString
trClassHierarchyDescription
()
{
return
"Zde naleznete seznam, vyjadøující vztah dìdiènosti tøíd. "
"Je seøazen pøibližnì (ale ne úplnì) podle abecedy:"
;
}
/*! This is an introduction to the list with all files. */
virtual
QCString
trFileListDescription
(
bool
extractAll
)
{
QCString
result
=
"Zde naleznete seznam všech "
;
if
(
!
extractAll
)
result
+=
"dokumentovaných "
;
result
+=
"souborù se struènými popisy:"
;
return
result
;
return
result
;
}
}
QCString
trCompoundListDescription
()
{
return
"Zde jsou tridy, struktury a "
/*! This is an introduction to the annotated compound list. */
"unie s kratkymi popisy:"
;
virtual
QCString
trCompoundListDescription
()
{
return
"Složeninami (compound) se rozumí netriviální prvky, které "
"zahrnují tøídy, struktury (struct), unie (union) "
"a rozhraní (interface). V seznamu jsou uvedeny jejich struèné "
"popisy:"
;
}
}
QCString
trCompoundMembersDescription
(
bool
extractAll
)
/*! This is an introduction to the page with all class members. */
virtual
QCString
trCompoundMembersDescription
(
bool
extractAll
)
{
{
QCString
result
=
"Zde je seznam vsech "
;
QCString
result
=
"Zde naleznete seznam všech "
;
if
(
!
extractAll
)
result
+=
"zdokumentovanych "
;
if
(
!
extractAll
)
result
+=
"dokumentovaných "
;
result
+=
"clenu tridy (metod a datovych slozek) s odkazy na "
;
result
+=
"èlenù tøíd s odkazy na "
;
if
(
extractAll
)
result
+=
"dokumentaci tridy pro kazdo polozku:"
;
if
(
extractAll
)
else
result
+=
"tridy, kam patri:"
;
result
+=
"dokumentaci tøíd, ke kterým pøíslušejí:"
;
else
result
+=
"tøídy, ke kterým pøíslušejí:"
;
return
result
;
return
result
;
}
}
QCString
trFileMembersDescription
(
bool
extractAll
)
/*! This is an introduction to the page with all file members. */
virtual
QCString
trFileMembersDescription
(
bool
extractAll
)
{
{
QCString
result
=
"Zde je seznam vsech "
;
QCString
result
=
"Zde naleznete seznam všech "
;
if
(
!
extractAll
)
result
+=
"zdokumentovanych "
;
if
(
!
extractAll
)
result
+=
"dokumentovaných "
;
result
+=
"globalnich deklaraci s odkazy "
;
result
+=
"globálních symbolù, které jsou definovány v souborech projektu. "
if
(
extractAll
)
result
+=
"na dokumentaci k souboru pro kazdou deklaraci:"
;
"Pro každý symbol je uveden odkaz na "
;
else
result
+=
"na soubory, kde jsou umisteny:"
;
if
(
extractAll
)
result
+=
"dokumentaci pøíslušného souboru"
;
else
result
+=
"soubor, ve kterém je symbol definován"
;
result
+=
". Symbol mùže oznaèovat makro, typ, instanci tøídy, "
"promìnnou, konstantu, funkci, výèet, hodnotu výètu a podobnì:"
;
return
result
;
return
result
;
}
}
QCString
trHeaderFilesDescription
()
{
return
"Zde jsou hlavickove soubory ktere tvori programove"
" rozhrani aplikace(API):"
;
}
QCString
trExamplesDescription
()
{
return
"Zde je seznam vsech prikladu:"
;
}
QCString
trRelatedPagesDescription
()
{
return
"Zde je seznam vsech souvisejicich stranek dokumentace:"
;
}
QCString
trModulesDescription
()
{
return
"Zde je seznam vsech modulu:"
;
}
QCString
trNoDescriptionAvailable
()
{
return
"Zadny popis neni k dispozici."
;
}
QCString
trDocumentation
()
/*! This is an introduction to the page with the list of all header files. */
virtual
QCString
trHeaderFilesDescription
()
{
return
"Zde naleznete hlavièkové soubory, které tvoøí "
"aplikaèní programátorské rozhraní (API):"
;
}
/*! This is an introduction to the page with the list of all examples */
virtual
QCString
trExamplesDescription
()
{
return
"Zde naleznete seznam všech pøíkladù:"
;
}
/*! This is an introduction to the page with the list of related pages */
virtual
QCString
trRelatedPagesDescription
()
{
return
"Zde naleznete seznam všech souvisejících stránek dokumentace:"
;
}
/*! This is an introduction to the page with the list of class/file groups */
virtual
QCString
trModulesDescription
()
{
return
"Zde naleznete seznam všech modulù:"
;
}
/*! This sentences is used in the annotated class/file lists if no brief
* description is given.
*/
virtual
QCString
trNoDescriptionAvailable
()
{
return
"Popis není k dispozici"
;
}
// index titles (the project name is prepended for these)
/*! This is used in HTML as the title of index.html. */
virtual
QCString
trDocumentation
()
{
return
"Dokumentace"
;
}
{
return
"Dokumentace"
;
}
QCString
trModuleIndex
()
{
return
"Index modulu"
;
}
/*! This is used in LaTeX as the title of the chapter with the
QCString
trHierarchicalIndex
()
* index of all groups.
{
return
"Index hierarchie"
;
}
*/
QCString
trCompoundIndex
()
virtual
QCString
trModuleIndex
()
{
return
"Index objektovych typu"
;
}
{
return
"Rejstøík modulù"
;
}
QCString
trFileIndex
()
{
return
"Index souboru"
;
}
/*! This is used in LaTeX as the title of the chapter with the
QCString
trModuleDocumentation
()
* class hierarchy.
{
return
"Dokumentace modulu"
;
}
*/
QCString
trClassDocumentation
()
virtual
QCString
trHierarchicalIndex
()
{
return
"Dokumentace tridy"
;
}
{
return
"Rejstøík hierarchie tøíd"
;
}
QCString
trFileDocumentation
()
{
return
"Dokumentace souboru"
;
}
/*! This is used in LaTeX as the title of the chapter with the
QCString
trExampleDocumentation
()
* annotated compound index.
{
return
"Dokumentace prikladu"
;
}
*/
QCString
trPageDocumentation
()
virtual
QCString
trCompoundIndex
()
{
return
"Dokumentace stranek"
;
}
{
return
"Rejstøík složenin"
;
}
QCString
trReferenceManual
()
{
return
"Referencni manual"
;
}
/*! This is used in LaTeX as the title of the chapter with the
* list of all files.
QCString
trDefines
()
*/
{
return
"Definice"
;
}
virtual
QCString
trFileIndex
()
QCString
trFuncProtos
()
{
return
"Rejstøík souborù"
;
}
{
return
"Prototypy funkci"
;
}
QCString
trTypedefs
()
/*! This is used in LaTeX as the title of the chapter containing
{
return
"Deklarace datovych typu(typedefs)"
;
}
* the documentation of all groups.
QCString
trEnumerations
()
*/
{
return
"Vyctove typy (enumerations)"
;
}
virtual
QCString
trModuleDocumentation
()
QCString
trFunctions
()
{
return
"Dokumentace modulù"
;
}
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all classes, structs and unions.
*/
virtual
QCString
trClassDocumentation
()
{
return
"Dokumentace tøíd"
;
}
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all files.
*/
virtual
QCString
trFileDocumentation
()
{
return
"Dokumentace souborù"
;
}
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all examples.
*/
virtual
QCString
trExampleDocumentation
()
{
return
"Dokumentace pøíkladù"
;
}
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all related pages.
*/
virtual
QCString
trPageDocumentation
()
{
return
"Dokumentace souvisejících stránek"
;
}
/*! This is used in LaTeX as the title of the document */
virtual
QCString
trReferenceManual
()
{
return
"Referenèní pøíruèka"
;
}
/*! This is used in the documentation of a file as a header before the
* list of defines
*/
virtual
QCString
trDefines
()
{
return
"Definice maker"
;
}
/*! This is used in the documentation of a file as a header before the
* list of function prototypes
*/
virtual
QCString
trFuncProtos
()
{
return
"Prototypy"
;
}
/*! This is used in the documentation of a file as a header before the
* list of typedefs
*/
virtual
QCString
trTypedefs
()
{
return
"Definice typù"
;
}
/*! This is used in the documentation of a file as a header before the
* list of enumerations
*/
virtual
QCString
trEnumerations
()
{
return
"Výèty"
;
}
/*! This is used in the documentation of a file as a header before the
* list of (global) functions
*/
virtual
QCString
trFunctions
()
{
return
"Funkce"
;
}
{
return
"Funkce"
;
}
QCString
trVariables
()
{
return
"Promenne"
;
}
/*! This is used in the documentation of a file as a header before the
QCString
trEnumerationValues
()
* list of (global) variables
{
return
"Hodnoty vyctovych typu"
;
}
*/
QCString
trReimplementedFrom
()
virtual
QCString
trVariables
()
{
return
"Je znovu implementovan podle"
;
}
{
return
"Promìnné"
;
}
QCString
trReimplementedIn
()
{
return
"Je znovu implementovan v"
;
}
/*! This is used in the documentation of a file as a header before the
QCString
trAuthor
()
* list of (global) variables
*/
virtual
QCString
trEnumerationValues
()
{
return
"Hodnoty výètù"
;
}
/*! This is used in man pages as the author section. */
virtual
QCString
trAuthor
()
{
return
"Autor"
;
}
{
return
"Autor"
;
}
QCString
trDefineDocumentation
()
{
return
"Dokumentace definic pomoci maker"
;
}
/*! This is used in the documentation of a file before the list of
QCString
trFunctionPrototypeDocumentation
()
* documentation blocks for defines
{
return
"Dokumentace prototypu funkci"
;
}
*/
QCString
trTypedefDocumentation
()
virtual
QCString
trDefineDocumentation
()
{
return
"Dokumentace deklaraci datovych typu(typedefs)"
;
}
{
return
"Dokumentace k definicím maker"
;
}
QCString
trEnumerationTypeDocumentation
()
{
return
"Dokumentace vyctovych typu"
;
}
/*! This is used in the documentation of a file/namespace before the list
QCString
trFunctionDocumentation
()
* of documentation blocks for function prototypes
{
return
"Dokumentace funkci"
;
}
*/
QCString
trVariableDocumentation
()
virtual
QCString
trFunctionPrototypeDocumentation
()
{
return
"Dokumentace promennych"
;
}
{
return
"Dokumentace prototypù"
;
}
QCString
trCompounds
()
{
return
"Polozky objektovych typu"
;
}
/*! This is used in the documentation of a file/namespace before the list
QCString
trFiles
()
* of documentation blocks for typedefs
{
return
"Soubory:"
;
}
*/
QCString
trGeneratedAt
(
const
char
*
date
,
const
char
*
projName
)
virtual
QCString
trTypedefDocumentation
()
{
{
return
"Dokumentace definic typù"
;
}
QCString
result
=
(
QCString
)
"Generovany dne "
+
date
;
if
(
projName
)
result
+=
(
QCString
)
" pro "
+
projName
;
/*! This is used in the documentation of a file/namespace before the list
result
+=
(
QCString
)
" "
;
* of documentation blocks for enumeration types
return
result
;
*/
}
virtual
QCString
trEnumerationTypeDocumentation
()
QCString
trWrittenBy
()
{
return
"Dokumentace výètových typù"
;
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
*/
virtual
QCString
trEnumerationValueDocumentation
()
{
return
"Dokumentace výètových hodnot"
;
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions
*/
virtual
QCString
trFunctionDocumentation
()
{
return
"Dokumentace funkcí"
;
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for variables
*/
virtual
QCString
trVariableDocumentation
()
{
return
"Dokumentace promìnných"
;
}
/*! This is used in the documentation of a file/namespace/group before
* the list of links to documented compounds
*/
virtual
QCString
trCompounds
()
{
return
"Složeniny"
;
}
/*! This is used in the documentation of a group before the list of
* links to documented files
*/
virtual
QCString
trFiles
()
{
return
"Soubory"
;
}
/*! This is used in the standard footer of each page and indicates when
* the page was generated
*/
virtual
QCString
trGeneratedAt
(
const
char
*
date
,
const
char
*
projName
)
{
{
return
"napsany podle"
;
QCString
result
=
(
QCString
)
"Generováno "
+
date
;
if
(
projName
)
result
+=
(
QCString
)
" pro projekt "
+
projName
;
result
+=
(
QCString
)
" programem"
;
return
result
;
}
}
QCString
trClassDiagram
(
const
char
*
clName
)
/*! This is part of the sentence used in the standard footer of each page.
*/
virtual
QCString
trWrittenBy
()
{
{
return
(
QCString
)
"Diagram trid pro "
+
clName
;
return
" -- autor "
;
}
}
QCString
trForInternalUseOnly
()
{
return
"Jen pro interni pouziti."
;
}
/*! this text is put before a class diagram */
QCString
trReimplementedForInternalReasons
(
)
virtual
QCString
trClassDiagram
(
const
char
*
clName
)
{
{
return
"Znovu implementovany z internich duvodu; programove rozhrani"
return
(
QCString
)
"Diagram dìdiènosti pro tøídu "
+
clName
;
" aplikace(API) neni zmeneno."
;
}
}
QCString
trWarning
()
{
return
"Upozorneni"
;
}
/*! this text is generated when the \internal command is used. */
QCString
trBugsAndLimitations
()
virtual
QCString
trForInternalUseOnly
()
{
return
"Chyby a omezeni"
;
}
{
return
"Pouze pro vnitøní použití."
;
}
QCString
trVersion
()
/*! this text is generated when the \reimp command is used. */
virtual
QCString
trReimplementedForInternalReasons
()
{
return
"Reimplementováno z interních dùvodù; aplikaèní rozhraní zachováno."
;
}
/*! this text is generated when the \warning command is used. */
virtual
QCString
trWarning
()
{
return
"Pozor"
;
}
/*! this text is generated when the \bug command is used. */
virtual
QCString
trBugsAndLimitations
()
{
return
"Chyby a omezení"
;
}
/*! this text is generated when the \version command is used. */
virtual
QCString
trVersion
()
{
return
"Verze"
;
}
{
return
"Verze"
;
}
QCString
trDate
()
/*! this text is generated when the \date command is used. */
virtual
QCString
trDate
()
{
return
"Datum"
;
}
{
return
"Datum"
;
}
QCString
trAuthors
()
{
return
"Autor(i)"
;
}
/*! this text is generated when the \author command is used. */
QCString
trReturns
()
virtual
QCString
trAuthors
()
{
return
"ma navratovou hodnotu"
;
}
{
return
"Autor/autoøi"
;
}
QCString
trSeeAlso
()
{
return
"Podrobnosti take tady"
;
}
/*! this text is generated when the \return command is used. */
QCString
trParameters
()
virtual
QCString
trReturns
()
{
return
"Vrací"
;
}
/*! this text is generated when the \sa command is used. */
virtual
QCString
trSeeAlso
()
{
return
"Viz také"
;
}
/*! this text is generated when the \param command is used. */
virtual
QCString
trParameters
()
{
return
"Parametry"
;
}
{
return
"Parametry"
;
}
QCString
trExceptions
()
{
return
"Vyjimky"
;
}
/*! this text is generated when the \exception command is used. */
QCString
trGeneratedBy
()
virtual
QCString
trExceptions
()
{
return
"Generovan podle"
;
}
{
return
"Výjimky"
;
}
/*! this text is used in the title page of a LaTeX document. */
virtual
QCString
trGeneratedBy
()
{
return
"Generováno programem"
;
}
// new since 0.49-990307
// new since 0.49-990307
QCString
trNamespaceList
()
/*! used as the title of page containing all the index of all namespaces. */
{
return
"Seznam prostoru jmen"
;
}
virtual
QCString
trNamespaceList
()
QCString
trNamespaceListDescription
(
bool
extractAll
)
{
return
"Seznam prostorù jmen"
;
}
/*! used as an introduction to the namespace list */
virtual
QCString
trNamespaceListDescription
(
bool
extractAll
)
{
{
QCString
result
=
"Zde
je seznam vs
ech "
;
QCString
result
=
"Zde
naleznete seznam v
šech "
;
if
(
!
extractAll
)
result
+=
"dokumentovan
y
ch "
;
if
(
!
extractAll
)
result
+=
"dokumentovaných "
;
result
+=
"prostor
u jmen s kratkymi popisy
:"
;
result
+=
"prostor
ù jmen se struèným popi
sem:"
;
return
result
;
return
result
;
}
}
QCString
trFriends
()
{
return
"Spratelene tridy, funkce a metody"
;
}
/*! used in the class documentation as a header before the list of all
* friends of a class
*/
virtual
QCString
trFriends
()
{
return
"Friends"
;
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
// new since 0.49-990405
...
@@ -278,76 +507,75 @@ class TranslatorCzech : public Translator
...
@@ -278,76 +507,75 @@ class TranslatorCzech : public Translator
/*! used in the class documentation as a header before the list of all
/*! used in the class documentation as a header before the list of all
* related classes
* related classes
*/
*/
QCString
trRelatedFunctionDocumentation
()
virtual
QCString
trRelatedFunctionDocumentation
()
{
return
"Dokumentace
pro spratelene funkce a ostatni
"
;
}
{
return
"Dokumentace
k friends
"
;
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
// new since 0.49-990425
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
/*! used as the title of the HTML page of a class/struct/union */
/*! used as the title of the HTML page of a class/struct/union */
QCString
trCompoundReference
(
const
char
*
clName
,
virtual
QCString
trCompoundReference
(
const
char
*
clName
,
ClassDef
::
CompoundType
compType
,
ClassDef
::
CompoundType
compType
)
bool
/*isTemplate*/
)
{
{
QCString
result
=
(
QCString
)
clName
+
" "
;
QCString
result
=
(
QCString
)
clName
+
" "
;
result
+=
" Reference"
;
switch
(
compType
)
switch
(
compType
)
{
{
case
ClassDef
:
:
Class
:
result
+=
"
tridy
"
;
break
;
case
ClassDef
:
:
Class
:
result
+=
"
Tøí
da"
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"
struktury
"
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"
Struktura
"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"
u
nie"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"
U
nie"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"
rozhrani
"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"
Rozhran
í"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"
exception
"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"
Výjimk
a"
;
break
;
}
}
result
+=
" Reference"
;
return
result
;
return
result
;
}
}
/*! used as the title of the HTML page of a file */
/*! used as the title of the HTML page of a file */
QCString
trFileReference
(
const
char
*
fileName
)
virtual
QCString
trFileReference
(
const
char
*
fileName
)
{
{
QCString
result
=
fileName
;
QCString
result
=
"Odkaz na soubor"
;
result
+=
" Reference souboru"
;
result
+=
fileName
;
return
result
;
return
result
;
}
}
/*! used as the title of the HTML page of a namespace */
/*! used as the title of the HTML page of a namespace */
QCString
trNamespaceReference
(
const
char
*
namespaceName
)
virtual
QCString
trNamespaceReference
(
const
char
*
namespaceName
)
{
{
QCString
result
=
namespaceName
;
QCString
result
=
namespaceName
;
result
+=
"
Reference prostoru jmen
"
;
result
+=
"
Namespace Reference???
"
;
return
result
;
return
result
;
}
}
/*! \mgroup Class sections
/*! \mgroup Class sections
* these are for the member sections of a class, struct or union
* these are for the member sections of a class, struct or union
*/
*/
QCString
trPublicMembers
()
virtual
QCString
trPublicMembers
()
{
return
"Ve
rejne metody a datove polozk
y"
;
}
{
return
"Ve
øejné met
ody"
;
}
QCString
trPublicSlots
()
virtual
QCString
trPublicSlots
()
{
return
"Ve
rejne
sloty"
;
}
{
return
"Ve
øej
né sloty"
;
}
QCString
trSignals
()
virtual
QCString
trSignals
()
{
return
"Sign
a
ly"
;
}
{
return
"Signály"
;
}
QCString
trStaticPublicMembers
()
virtual
QCString
trStaticPublicMembers
()
{
return
"Statick
e verejne metody a datove polozk
y"
;
}
{
return
"Statick
é veøejné me
tody"
;
}
QCString
trProtectedMembers
()
virtual
QCString
trProtectedMembers
()
{
return
"Chr
anene metody a datove polozk
y"
;
}
{
return
"Chr
ánìné me
tody"
;
}
QCString
trProtectedSlots
()
virtual
QCString
trProtectedSlots
()
{
return
"Chr
anene
sloty"
;
}
{
return
"Chr
án
ìné sloty"
;
}
QCString
trStaticProtectedMembers
()
virtual
QCString
trStaticProtectedMembers
()
{
return
"Statick
e chranene metody a datove polozk
y"
;
}
{
return
"Statick
é chránìné m
etody"
;
}
QCString
trPrivateMembers
()
virtual
QCString
trPrivateMembers
()
{
return
"Priv
atni metody a datove polozk
y"
;
}
{
return
"Priv
átní met
ody"
;
}
QCString
trPrivateSlots
()
virtual
QCString
trPrivateSlots
()
{
return
"Priv
atni
sloty"
;
}
{
return
"Priv
át
ní sloty"
;
}
QCString
trStaticPrivateMembers
()
virtual
QCString
trStaticPrivateMembers
()
{
return
"Statick
e privatni metody a datove polozk
y"
;
}
{
return
"Statick
é privátní me
tody"
;
}
/*! \endmgroup */
/*! \endmgroup */
/*! this function is used to produce a comma-separated list of items.
/*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put.
* use generateMarker(i) to indicate where item i should be put.
*/
*/
QCString
trWriteList
(
int
numEntries
)
virtual
QCString
trWriteList
(
int
numEntries
)
{
{
QCString
result
;
QCString
result
;
int
i
;
int
i
;
...
@@ -372,62 +600,62 @@ class TranslatorCzech : public Translator
...
@@ -372,62 +600,62 @@ class TranslatorCzech : public Translator
/*! used in class documentation to produce a list of base classes,
/*! used in class documentation to produce a list of base classes,
* if class diagrams are disabled.
* if class diagrams are disabled.
*/
*/
QCString
trInheritsList
(
int
numEntries
)
virtual
QCString
trInheritsList
(
int
numEntries
)
{
{
return
"
dedi
"
+
trWriteList
(
numEntries
)
+
"."
;
return
"
Dì
dí "
+
trWriteList
(
numEntries
)
+
"."
;
}
}
/*! used in class documentation to produce a list of super classes,
/*! used in class documentation to produce a list of super classes,
* if class diagrams are disabled.
* if class diagrams are disabled.
*/
*/
QCString
trInheritedByList
(
int
numEntries
)
virtual
QCString
trInheritedByList
(
int
numEntries
)
{
{
return
"
je zdeden z
"
+
trWriteList
(
numEntries
)
+
"."
;
return
"
Zdìdìna tøí
dami "
+
trWriteList
(
numEntries
)
+
"."
;
}
}
/*! used in member documentation blocks to produce a list of
/*! used in member documentation blocks to produce a list of
* members that are hidden by this one.
* members that are hidden by this one.
*/
*/
QCString
trReimplementedFromList
(
int
numEntries
)
virtual
QCString
trReimplementedFromList
(
int
numEntries
)
{
{
return
"
Znovu implementuje
"
+
trWriteList
(
numEntries
)
+
"."
;
return
"
Reimplementace z
"
+
trWriteList
(
numEntries
)
+
"."
;
}
}
/*! used in member documentation blocks to produce a list of
/*! used in member documentation blocks to produce a list of
* all member that overwrite the implementation of this member.
* all member that overwrite the implementation of this member.
*/
*/
QCString
trReimplementedInList
(
int
numEntries
)
virtual
QCString
trReimplementedInList
(
int
numEntries
)
{
{
return
"
znovu implementovan
v "
+
trWriteList
(
numEntries
)
+
"."
;
return
"
Reimplementován
o v "
+
trWriteList
(
numEntries
)
+
"."
;
}
}
/*! This is put above each page as a link to all members of namespaces. */
/*! This is put above each page as a link to all members of namespaces. */
QCString
trNamespaceMembers
()
virtual
QCString
trNamespaceMembers
()
{
return
"
Polozky prostoru jmen
"
;
}
{
return
"
???Namespace Members
"
;
}
/*! This is an introduction to the page with all namespace members */
/*! This is an introduction to the page with all namespace members */
QCString
trNamespaceMemberDescription
(
bool
extractAll
)
virtual
QCString
trNamespaceMemberDescription
(
bool
extractAll
)
{
{
QCString
result
=
"
Tady je seznam vs
ech "
;
QCString
result
=
"
Zde naleznete seznam v
šech "
;
if
(
!
extractAll
)
result
+=
"
zdokumentovany
ch "
;
if
(
!
extractAll
)
result
+=
"
dokumentovan
ých "
;
result
+=
"
clenu prostoru jmen
s odkazy na "
;
result
+=
"
???namespace members
s odkazy na "
;
if
(
extractAll
)
if
(
extractAll
)
result
+=
"d
ukumentaci prostoru jmen pro kazdou polozku
:"
;
result
+=
"d
okumentaci prostoru jmen pro každý è
len:"
;
else
else
result
+=
"prostor
jmen, kteremu patri
:"
;
result
+=
"prostor
y jmen, ke kterým pøísl
ušejí:"
;
return
result
;
return
result
;
}
}
/*! This is used in LaTeX as the title of the chapter with the
/*! This is used in LaTeX as the title of the chapter with the
* index of all namespaces.
* index of all namespaces.
*/
*/
QCString
trNamespaceIndex
()
virtual
QCString
trNamespaceIndex
()
{
return
"
Index prostoru
jmen"
;
}
{
return
"
Rejstøík prost
orù jmen"
;
}
/*! This is used in LaTeX as the title of the chapter containing
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all namespaces.
* the documentation of all namespaces.
*/
*/
QCString
trNamespaceDocumentation
()
virtual
QCString
trNamespaceDocumentation
()
{
return
"Dokumentace prostor
u
jmen"
;
}
{
return
"Dokumentace prostorù jmen"
;
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990522
// new since 0.49-990522
...
@@ -436,7 +664,7 @@ class TranslatorCzech : public Translator
...
@@ -436,7 +664,7 @@ class TranslatorCzech : public Translator
/*! This is used in the documentation before the list of all
/*! This is used in the documentation before the list of all
* namespaces in a file.
* namespaces in a file.
*/
*/
QCString
trNamespaces
()
virtual
QCString
trNamespaces
()
{
return
"Prostory jmen"
;
}
{
return
"Prostory jmen"
;
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
...
@@ -446,48 +674,49 @@ class TranslatorCzech : public Translator
...
@@ -446,48 +674,49 @@ class TranslatorCzech : public Translator
/*! This is put at the bottom of a class documentation page and is
/*! This is put at the bottom of a class documentation page and is
* followed by a list of files that were used to generate the page.
* followed by a list of files that were used to generate the page.
*/
*/
QCString
trGeneratedFromFiles
(
ClassDef
::
CompoundType
compType
,
virtual
QCString
trGeneratedFromFiles
(
ClassDef
::
CompoundType
compType
,
bool
single
)
bool
single
)
{
// here s is one of " Class", " Struct" or " Union"
{
// here s is one of " Class", " Struct" or " Union"
// single is true implies a single file
// single is true implies a single file
QCString
result
=
(
QCString
)
"Dokumentace pro "
;
QCString
result
=
(
QCString
)
"Dokumentace pro "
;
switch
(
compType
)
switch
(
compType
)
{
{
case
ClassDef
:
:
Class
:
result
+=
"tuto t
ri
du"
;
break
;
case
ClassDef
:
:
Class
:
result
+=
"tuto tøídu"
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"tuto strukturu"
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"tuto strukturu
(struct)
"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"tuto unii"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"tuto unii
(union)
"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"toto rozhran
i
"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"toto rozhraní"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"
exception
"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"
tuto výjimk
u"
;
break
;
}
}
result
+=
" byla vygenerovana z nasledujiciho souboru"
;
result
+=
" byla generována z "
;
if
(
single
)
result
+=
":"
;
else
result
+=
"s:"
;
if
(
single
)
result
+=
"následujícího souboru:"
;
else
result
+=
"následujících souborù:"
;
return
result
;
return
result
;
}
}
/*! This is in the (quick) index as a link to the alphabetical compound
/*! This is in the (quick) index as a link to the alphabetical compound
* list.
* list.
*/
*/
QCString
trAlphabeticalList
()
virtual
QCString
trAlphabeticalList
()
{
return
"Abecedn
i seznam
"
;
}
{
return
"Abecedn
í seznam složen
in"
;
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990901
// new since 0.49-990901
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
/*! This is used as the heading text for the retval command. */
/*! This is used as the heading text for the retval command. */
QCString
trReturnValues
()
virtual
QCString
trReturnValues
()
{
return
"Vrac
i
hodnoty"
;
}
{
return
"Vrac
en
é hodnoty"
;
}
/*! This is in the (quick) index as a link to the main page (index.html)
/*! This is in the (quick) index as a link to the main page (index.html)
*/
*/
QCString
trMainPage
()
virtual
QCString
trMainPage
()
{
return
"Hlavn
i stra
nka"
;
}
{
return
"Hlavn
í st
ránka"
;
}
/*! This is used in references to page that are put in the LaTeX
/*! This is used in references to page that are put in the LaTeX
* documentation. It should be an abbreviation of the word page.
* documentation. It should be an abbreviation of the word page.
*/
*/
QCString
trPageAbbreviation
()
virtual
QCString
trPageAbbreviation
()
{
return
"s
tr
."
;
}
{
return
"s."
;
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
// new since 0.49-991003
// new since 0.49-991003
...
@@ -495,16 +724,157 @@ class TranslatorCzech : public Translator
...
@@ -495,16 +724,157 @@ class TranslatorCzech : public Translator
virtual
QCString
trSources
()
virtual
QCString
trSources
()
{
{
return
"Zdroj
ove soubory
"
;
return
"Zdroj
e
"
;
}
}
virtual
QCString
trDefinedAtLineInSourceFile
()
virtual
QCString
trDefinedAtLineInSourceFile
()
{
{
return
"Definice
v souboru @1 na radce @0
"
;
return
"Definice
je uvedena na øádku @0 v souboru @
1."
;
}
}
virtual
QCString
trDefinedInSourceFile
()
virtual
QCString
trDefinedInSourceFile
()
{
{
return
"Definice v souboru @0."
;
return
"Definice v souboru @0."
;
}
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-991205
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trDeprecated
()
{
return
"Zastaralé"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.0.0
//////////////////////////////////////////////////////////////////////////
/*! this text is put before a collaboration diagram */
virtual
QCString
trCollaborationDiagram
(
const
char
*
clName
)
{
return
(
QCString
)
"Diagram tøíd pro "
+
clName
+
":"
;
}
/*! this text is put before an include dependency graph */
virtual
QCString
trInclDepGraph
(
const
char
*
fName
)
{
return
(
QCString
)
"Graf závislostí souborù pro "
+
fName
+
":"
;
}
/*! header that is put before the list of constructor/destructors. */
virtual
QCString
trConstructorDocumentation
()
{
return
"Dokumentace konstruktoru a destruktoru"
;
}
/*! Used in the file documentation to point to the corresponding sources. */
virtual
QCString
trGotoSourceCode
()
{
return
"Zobrazit zdrojový text tohoto souboru."
;
}
/*! Used in the file sources to point to the corresponding documentation. */
virtual
QCString
trGotoDocumentation
()
{
return
"Zobrazit dokumentaci tohoto souboru."
;
}
/*! Text for the \pre command */
virtual
QCString
trPrecondition
()
{
return
"Precondition"
;
}
/*! Text for the \post command */
virtual
QCString
trPostcondition
()
{
return
"Postcondition"
;
}
/*! Text for the \invariant command */
virtual
QCString
trInvariant
()
{
return
"Invariant"
;
}
/*! Text shown before a multi-line variable/enum initialization */
virtual
QCString
trInitialValue
()
{
return
"Initializer:"
;
}
/*! Text used the source code in the file index */
virtual
QCString
trCode
()
{
return
"zdrojový text"
;
}
virtual
QCString
trGraphicalHierarchy
()
{
return
"Grafické zobrazení hierarchie tøíd"
;
}
virtual
QCString
trGotoGraphicalHierarchy
()
{
return
"Zobrazit grafickou podobu hierarchie tøíd"
;
}
virtual
QCString
trGotoTextualHierarchy
()
{
return
"Zobrazit textovou podobu hierarchie tøíd"
;
}
virtual
QCString
trPageIndex
()
{
return
"Rejstøík stránek"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.0
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trNote
()
{
return
"Poznámka"
;
}
virtual
QCString
trPublicTypes
()
{
return
"Veøejné typy"
;
}
virtual
QCString
trPublicAttribs
()
{
return
"Veøejné atributy"
;
}
virtual
QCString
trStaticPublicAttribs
()
{
return
"Statické veøejné atributy"
;
}
virtual
QCString
trProtectedTypes
()
{
return
"Chránìné typy"
;
}
virtual
QCString
trProtectedAttribs
()
{
return
"Chránìné atributy"
;
}
virtual
QCString
trStaticProtectedAttribs
()
{
return
"Statické chránìné atributy"
;
}
virtual
QCString
trPrivateTypes
()
{
return
"Privátní typy"
;
}
virtual
QCString
trPrivateAttribs
()
{
return
"Privátní atributy"
;
}
virtual
QCString
trStaticPrivateAttribs
()
{
return
"Statické privátní atributy"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.3
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a todo item */
virtual
QCString
trTodo
()
{
return
"Udìlat"
;
}
/*! Used as the header of the todo list */
virtual
QCString
trTodoList
()
{
return
"Seznam plánovaných úprav"
;
}
};
};
#endif // TRANSLATOR_CZ_H
#endif // TRANSLATOR_CZ_H
...
...
src/translator_de.h
View file @
adb81f79
...
@@ -25,26 +25,8 @@
...
@@ -25,26 +25,8 @@
class
TranslatorGerman
:
public
Translator
class
TranslatorGerman
:
public
Translator
{
{
public
:
public
:
//--------------------------------------------------------------------
QCString
idLanguage
()
// NOTICE:
{
return
"german"
;
}
// the following functions are now obsolete: these are no longer used and
// will disappear in future versions. You do not have to translate them!
QCString
trInherits
()
{
return
"Abgeleitet von "
;
}
QCString
trAnd
()
{
return
"und"
;
}
QCString
trInheritedBy
()
{
return
"Basisklasse für"
;
}
QCString
trReference
()
{
return
"Verweis"
;
}
QCString
trReimplementedFrom
()
{
return
"Implementiert von"
;
}
QCString
trReimplementedIn
()
{
return
"erneute Implementation in"
;
}
QCString
trIncludeFile
()
{
return
"Include-Datei"
;
}
// end of obsolete functions
//--------------------------------------------------------------------
QCString
latexBabelPackage
()
QCString
latexBabelPackage
()
// returns the name of the package that is included by LaTeX
// returns the name of the package that is included by LaTeX
...
...
src/translator_es.h
View file @
adb81f79
...
@@ -30,34 +30,8 @@
...
@@ -30,34 +30,8 @@
class
TranslatorSpanish
:
public
Translator
class
TranslatorSpanish
:
public
Translator
{
{
public
:
public
:
//--------------------------------------------------------------------
virtual
QCString
idLanguage
()
// NOTICE:
{
return
"spanish"
;
}
// the following functions are now obsolete: these are no longer used and
// will disappear in future versions. You do not have to translate them!
virtual
QCString
trInherits
()
{
return
"Inherits"
;
}
virtual
QCString
trAnd
()
{
return
"y"
;
}
virtual
QCString
trInheritedBy
()
{
return
"Inherited By"
;
}
virtual
QCString
trReference
()
{
return
"Referencia"
;
}
virtual
QCString
trReimplementedFrom
()
{
return
"Reimplementado de"
;
}
virtual
QCString
trReimplementedIn
()
{
return
"Reimplementado en"
;
}
virtual
QCString
trIncludeFile
()
{
return
"Include File"
;
}
virtual
QCString
trGeneratedFrom
(
const
char
*
s
,
bool
single
)
{
QCString
result
=
(
QCString
)
"The documentation for this"
+
s
+
" was generated from the following file"
;
if
(
single
)
result
+=
":"
;
else
result
+=
"s:"
;
return
result
;
}
// end of obsolete functions
//--------------------------------------------------------------------
/*! returns the name of the package that is included by LaTeX */
/*! returns the name of the package that is included by LaTeX */
virtual
QCString
latexBabelPackage
()
virtual
QCString
latexBabelPackage
()
{
return
""
;
}
{
return
""
;
}
...
...
src/translator_fi.h
View file @
adb81f79
...
@@ -79,6 +79,8 @@ positiiviset kommentit otetaan ilolla vastaan.
...
@@ -79,6 +79,8 @@ positiiviset kommentit otetaan ilolla vastaan.
class
TranslatorFinnish
:
public
Translator
class
TranslatorFinnish
:
public
Translator
{
{
public
:
public
:
QCString
idLanguage
()
{
return
"finnish"
;
}
QCString
latexBabelPackage
()
QCString
latexBabelPackage
()
// returns the name of the package that is included by LaTeX
// returns the name of the package that is included by LaTeX
{
return
"finnish"
;
}
{
return
"finnish"
;
}
...
...
src/translator_fr.h
View file @
adb81f79
...
@@ -25,6 +25,8 @@
...
@@ -25,6 +25,8 @@
class
TranslatorFrench
:
public
Translator
class
TranslatorFrench
:
public
Translator
{
{
public
:
public
:
QCString
idLanguage
()
{
return
"french"
;
}
/*! returns the name of the package that is included by LaTeX */
/*! returns the name of the package that is included by LaTeX */
QCString
latexBabelPackage
()
QCString
latexBabelPackage
()
{
return
"french"
;
}
{
return
"french"
;
}
...
...
src/translator_hr.h
View file @
adb81f79
...
@@ -23,6 +23,8 @@
...
@@ -23,6 +23,8 @@
class
TranslatorCroatian
:
public
Translator
class
TranslatorCroatian
:
public
Translator
{
{
public
:
public
:
QCString
idLanguage
()
{
return
"croatian"
;
}
QCString
latexBabelPackage
()
QCString
latexBabelPackage
()
{
return
"croatian"
;
}
{
return
"croatian"
;
}
QCString
trRelatedFunctions
()
QCString
trRelatedFunctions
()
...
...
src/translator_it.h
View file @
adb81f79
...
@@ -33,34 +33,8 @@
...
@@ -33,34 +33,8 @@
class
TranslatorItalian
:
public
Translator
class
TranslatorItalian
:
public
Translator
{
{
public
:
public
:
//--------------------------------------------------------------------
QCString
idLanguage
()
// NOTICE:
{
return
"italian"
;
}
// the following functions are now obsolete: these are no longer used and
// will disappear in future versions. You do not have to translate them!
QCString
trInherits
()
{
return
"Inherits"
;
}
QCString
trAnd
()
{
return
"and"
;
}
QCString
trInheritedBy
()
{
return
"Inherited By"
;
}
QCString
trReference
()
{
return
"Reference"
;
}
QCString
trReimplementedFrom
()
{
return
"Reimplemented from"
;
}
QCString
trReimplementedIn
()
{
return
"Reimplemented in"
;
}
QCString
trIncludeFile
()
{
return
"Include File"
;
}
QCString
trGeneratedFrom
(
const
char
*
s
,
bool
single
)
{
QCString
result
=
(
QCString
)
"The documentation for this"
+
s
+
" was generated from the following file"
;
if
(
single
)
result
+=
":"
;
else
result
+=
"s:"
;
return
result
;
}
// end of obsolete functions
//--------------------------------------------------------------------
/*! returns the name of the package that is included by LaTeX */
/*! returns the name of the package that is included by LaTeX */
QCString
latexBabelPackage
()
QCString
latexBabelPackage
()
{
return
"italian"
;
}
{
return
"italian"
;
}
...
...
src/translator_jp.h
View file @
adb81f79
...
@@ -23,33 +23,8 @@
...
@@ -23,33 +23,8 @@
class
TranslatorJapanese
:
public
Translator
class
TranslatorJapanese
:
public
Translator
{
{
public
:
public
:
//--------------------------------------------------------------------
QCString
idLanguage
()
// NOTICE:
{
return
"japanese"
;
}
// the following functions are now obsolete: these are no longer used and
// will disappear in future versions. You do not have to translate them!
QCString
trInherits
()
{
return
"継承"
;
}
QCString
trAnd
()
{
return
"と"
;
}
QCString
trInheritedBy
()
{
return
"次に継承されています。"
;
}
QCString
trReference
()
{
return
"リファレンス"
;
}
QCString
trReimplementedFrom
()
{
return
"次を再定義"
;
}
QCString
trReimplementedIn
()
{
return
"次で再定義"
;
}
QCString
trIncludeFile
()
{
return
"インクルードファイル"
;
}
QCString
trGeneratedFrom
(
const
char
*
s
,
bool
)
{
QCString
result
=
(
QCString
)
"この"
+
s
+
"に対するドキュメントは以下のファイルから生成されました。"
;
return
result
;
}
// end of obsolete functions
//--------------------------------------------------------------------
/*! returns the name of the package that is included by LaTeX */
/*! returns the name of the package that is included by LaTeX */
QCString
latexBabelPackage
()
QCString
latexBabelPackage
()
{
return
"a4j"
;
}
{
return
"a4j"
;
}
...
...
src/translator_nl.h
View file @
adb81f79
...
@@ -23,6 +23,8 @@
...
@@ -23,6 +23,8 @@
class
TranslatorDutch
:
public
Translator
class
TranslatorDutch
:
public
Translator
{
{
public
:
public
:
QCString
idLanguage
()
{
return
"dutch"
;
}
QCString
latexBabelPackage
()
QCString
latexBabelPackage
()
{
return
"dutch"
;
}
{
return
"dutch"
;
}
QCString
trRelatedFunctions
()
QCString
trRelatedFunctions
()
...
...
src/translator_ru.h
View file @
adb81f79
...
@@ -22,6 +22,8 @@
...
@@ -22,6 +22,8 @@
class
TranslatorRussian
:
public
Translator
class
TranslatorRussian
:
public
Translator
{
{
public
:
public
:
QCString
idLanguage
()
{
return
"russian"
;
}
QCString
latexBabelPackage
()
QCString
latexBabelPackage
()
{
return
"russian"
;
}
{
return
"russian"
;
}
QCString
trRelatedFunctions
()
QCString
trRelatedFunctions
()
...
...
src/translator_se.h
View file @
adb81f79
...
@@ -67,6 +67,8 @@ Problem!
...
@@ -67,6 +67,8 @@ Problem!
class
TranslatorSwedish
:
public
Translator
class
TranslatorSwedish
:
public
Translator
{
{
public
:
public
:
QCString
idLanguage
()
{
return
"swedish"
;
}
QCString
latexBabelPackage
()
QCString
latexBabelPackage
()
{
return
"swedish"
;
}
{
return
"swedish"
;
}
...
...
src/util.cpp
View file @
adb81f79
...
@@ -212,6 +212,10 @@ ClassDef *getResolvedClass(const char *name)
...
@@ -212,6 +212,10 @@ ClassDef *getResolvedClass(const char *name)
QCString
*
subst
=
typedefDict
[
name
];
QCString
*
subst
=
typedefDict
[
name
];
if
(
subst
)
// there is a typedef with this name
if
(
subst
)
// there is a typedef with this name
{
{
if
(
*
subst
==
name
)
// avoid resolving typedef struct foo foo;
{
return
classDict
[
name
];
}
int
count
=
0
;
// recursion detection guard
int
count
=
0
;
// recursion detection guard
QCString
*
newSubst
;
QCString
*
newSubst
;
while
((
newSubst
=
typedefDict
[
*
subst
])
&&
count
<
10
)
while
((
newSubst
=
typedefDict
[
*
subst
])
&&
count
<
10
)
...
@@ -241,11 +245,20 @@ QCString removeRedundantWhiteSpace(const QCString &s)
...
@@ -241,11 +245,20 @@ QCString removeRedundantWhiteSpace(const QCString &s)
if
(
s
.
isEmpty
())
return
s
;
if
(
s
.
isEmpty
())
return
s
;
QCString
result
;
QCString
result
;
uint
i
;
uint
i
;
for
(
i
=
0
;
i
<
s
.
length
();
i
++
)
uint
l
=
s
.
length
();
for
(
i
=
0
;
i
<
l
;
i
++
)
{
{
char
c
=
s
.
at
(
i
);
char
c
=
s
.
at
(
i
);
if
(
c
!=
' '
||
if
(
i
<
l
-
2
&&
c
==
'<'
&&
s
.
at
(
i
+
1
)
!=
'<'
)
(
i
!=
0
&&
i
!=
s
.
length
()
-
1
&&
isId
(
s
.
at
(
i
-
1
))
&&
isId
(
s
.
at
(
i
+
1
)))
{
result
+=
"< "
;
}
else
if
(
i
>
0
&&
c
==
'>'
&&
s
.
at
(
i
-
1
)
!=
'>'
)
{
result
+=
" >"
;
}
else
if
(
c
!=
' '
||
(
i
!=
0
&&
i
!=
l
-
1
&&
isId
(
s
.
at
(
i
-
1
))
&&
isId
(
s
.
at
(
i
+
1
)))
)
)
{
{
if
((
c
==
'*'
||
c
==
'&'
||
c
==
'@'
)
&&
if
((
c
==
'*'
||
c
==
'&'
||
c
==
'@'
)
&&
...
@@ -547,7 +560,7 @@ void writeQuickLinks(OutputList &ol,bool compact,bool ext)
...
@@ -547,7 +560,7 @@ void writeQuickLinks(OutputList &ol,bool compact,bool ext)
//bool texEnabled = ol.isEnabled(OutputGenerator::Latex);
//bool texEnabled = ol.isEnabled(OutputGenerator::Latex);
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
QCString
extLink
,
absPath
;
QCString
extLink
,
absPath
;
if
(
ext
)
{
extLink
=
"_doc"
;
absPath
=
"/"
;
}
if
(
ext
)
{
extLink
=
"_doc"
;
absPath
=
Config
::
docURL
+
"/"
;
}
//if (manEnabled) ol.disable(OutputGenerator::Man);
//if (manEnabled) ol.disable(OutputGenerator::Man);
//if (texEnabled) ol.disable(OutputGenerator::Latex);
//if (texEnabled) ol.disable(OutputGenerator::Latex);
if
(
compact
)
ol
.
startCenter
();
else
ol
.
startItemList
();
if
(
compact
)
ol
.
startCenter
();
else
ol
.
startItemList
();
...
@@ -651,7 +664,7 @@ void writeQuickLinks(OutputList &ol,bool compact,bool ext)
...
@@ -651,7 +664,7 @@ void writeQuickLinks(OutputList &ol,bool compact,bool ext)
if
(
Config
::
searchEngineFlag
)
if
(
Config
::
searchEngineFlag
)
{
{
if
(
!
compact
)
ol
.
writeListItem
();
if
(
!
compact
)
ol
.
writeListItem
();
ol
.
startQuickIndexItem
(
"_cgi"
,
""
);
ol
.
startQuickIndexItem
(
"_cgi"
,
Config
::
cgiURL
+
"/"
+
Config
::
cgiName
);
parseText
(
ol
,
theTranslator
->
trSearch
());
parseText
(
ol
,
theTranslator
->
trSearch
());
ol
.
endQuickIndexItem
();
ol
.
endQuickIndexItem
();
}
}
...
@@ -968,6 +981,8 @@ static void trimNamespaceScope(QCString &t1,QCString &t2)
...
@@ -968,6 +981,8 @@ static void trimNamespaceScope(QCString &t1,QCString &t2)
void
stripIrrelevantConstVolatile
(
QCString
&
s
)
void
stripIrrelevantConstVolatile
(
QCString
&
s
)
{
{
int
i
,
j
;
int
i
,
j
;
if
(
s
==
"const"
)
{
s
.
resize
(
0
);
return
;
}
if
(
s
==
"volatile"
)
{
s
.
resize
(
0
);
return
;
}
i
=
s
.
find
(
"const "
);
i
=
s
.
find
(
"const "
);
if
(
i
!=-
1
)
if
(
i
!=-
1
)
{
{
...
@@ -2323,8 +2338,10 @@ QCString insertTemplateSpecifierInScope(const QCString &scope,const QCString &te
...
@@ -2323,8 +2338,10 @@ QCString insertTemplateSpecifierInScope(const QCString &scope,const QCString &te
QCString
stripScope
(
const
char
*
name
)
QCString
stripScope
(
const
char
*
name
)
{
{
QCString
result
=
name
;
QCString
result
=
name
;
int
i
=
result
.
findRev
(
"::"
);
int
ti
=
result
.
find
(
'<'
);
// find start of template
if
(
i
!=-
1
)
if
(
ti
==-
1
)
ti
=
result
.
length
();
int
i
=
ti
>
2
?
result
.
findRev
(
"::"
,
ti
-
2
)
:
-
1
;
// find scope just before template
if
(
i
!=-
1
)
// found scope
{
{
result
=
result
.
right
(
result
.
length
()
-
i
-
2
);
result
=
result
.
right
(
result
.
length
()
-
i
-
2
);
}
}
...
...
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