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
--------
...
...
@@ -15,8 +15,8 @@ INSTALLATION INSTRUCTIONS FOR UNIX:
1. Unpack the archive, unless you already have:
gunzip doxygen-1.1.
4-2000062
5.src.tar.gz # uncompress the archive
tar xf doxygen-1.1.
4-2000062
5.src.tar # unpack it
gunzip doxygen-1.1.5.src.tar.gz # uncompress the archive
tar xf doxygen-1.1.5.src.tar # unpack it
2. Run the configure script:
...
...
@@ -255,4 +255,4 @@ The latest version of doxygen can be obtained at
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.
...
...
@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
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;
static QStrList * l=0;
static int lastState;
static QCString elemStr;
//static QCString tabSizeString;
//static QCString colsInAlphaIndexString;
#CONFIG Static
/* -----------------------------------------------------------------
...
...
@@ -313,6 +311,56 @@ void configStrToVal()
}
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)
...
...
addon/configgen/configgen.cpp
View file @
adb81f79
...
...
@@ -1338,6 +1338,16 @@ void init()
"Note: wordpad (write) and others do not support links.
\n
"
);
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"
);
//-----------------------------------------------------------------------------------------------
...
...
@@ -1383,9 +1393,19 @@ void init()
"expand macros in the source."
,
"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
"
"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"
);
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"
,
"SEARCH_INCLUDES"
,
"TRUE"
,
...
...
@@ -1415,15 +1435,15 @@ void init()
"omitted =1 is assumed.
\n
"
);
addDependency
(
"predefined"
,
"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 tag.
\n
"
ConfigList
::
add
(
"expandAsDefinedList"
,
"EXPAND_AS_DEFINED"
,
""
,
"list of defines to expand"
,
"If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then
\n
"
"this tag can be used to specify a list of macro names that should be expanded.
\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 "
);
//-----------------------------------------------------------------------------------------------
...
...
configure
View file @
adb81f79
...
...
@@ -353,6 +353,8 @@ if test "$f_shared" = NO; then
cat
>>
.tmakeconfig
<<
EOF
TMAKE_LFLAGS = -non_shared
EOF
elif
test
"
$f_platform
"
=
"solaris-cc"
;
then
TMAKE_LFLAGS
=
-Bstatic
else
cat
>>
.tmakeconfig
<<
EOF
TMAKE_LFLAGS = -static
...
...
doc/config.doc
View file @
adb81f79
...
...
@@ -131,6 +131,7 @@ followed by the descriptions of the tags grouped by category.
<
li
>
\
refitem
cfg_repeat_brief
REPEAT_BRIEF
<
li
>
\
refitem
cfg_rtf_hyperlinks
RTF_HYPERLINKS
<
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_searchengine
SEARCHENGINE
<
li
>
\
refitem
cfg_show_include_files
SHOW_INCLUDE_FILES
...
...
@@ -194,7 +195,7 @@ followed by the descriptions of the tags grouped by category.
\
addindex
DISABLE_INDEX
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
.
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
value
YES
disables
it
.
...
...
@@ -311,7 +312,7 @@ followed by the descriptions of the tags grouped by category.
\
anchor
cfg_strip_code_comments
<
dt
>\
c
STRIP_CODE_COMMENTS
<
dd
>
\
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
fragments
.
Normal
C
and
C
++
comments
will
always
remain
visible
.
...
...
@@ -327,9 +328,9 @@ followed by the descriptions of the tags grouped by category.
\
anchor
cfg_hide_scope_names
<
dt
>\
c
HIDE_SCOPE_NAMES
<
dd
>
\
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
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
<
dt
>\
c
VERBATIM_HEADERS
<
dd
>
...
...
@@ -370,9 +371,9 @@ followed by the descriptions of the tags grouped by category.
\
anchor
cfg_sort_member_docs
<
dt
>\
c
SORT_MEMBER_DOCS
<
dd
>
\
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
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
.
\
anchor
cfg_tab_size
...
...
@@ -413,8 +414,8 @@ followed by the descriptions of the tags grouped by category.
\
anchor
cfg_warn_if_undocumented
<
dt
>\
c
WARN_IF_UNDOCUMENTED
<
dd
>
\
addindex
WARN_IF_UNDOCUMENTED
If
WARN_IF_UNDOCUMENTED
is
set
to
YES
,
then
doxygen
will
generate
warnings
for
undocumented
members
.
If
EXTRACT_ALL
is
set
to
YES
then
this
flag
will
If
\
c
WARN_IF_UNDOCUMENTED
is
set
to
\
c
YES
,
then
doxygen
will
generate
warnings
for
undocumented
members
.
If
\
c
EXTRACT_ALL
is
set
to
\
c
YES
then
this
flag
will
automatically
be
disabled
.
\
anchor
cfg_warn_format
...
...
@@ -467,7 +468,7 @@ followed by the descriptions of the tags grouped by category.
\
anchor
cfg_exclude_patterns
<
dt
>\
c
EXCLUDE_PATTERNS
<
dd
>
\
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
certain
files
from
those
directories
.
...
...
@@ -575,8 +576,8 @@ followed by the descriptions of the tags grouped by category.
<code>\$projectnumber</code>.
Doxygen will replace them by respectively
the title of the page, the current date and time, only the current date,
the version number of doxygen, the project name (see PROJECT_NAME), or the
project number (see PROJECT_NUMBER).
the version number of doxygen, the project name (see
\c
PROJECT_NAME), or the
project number (see
\c
PROJECT_NUMBER).
\anchor cfg_html_footer
<dt>\c HTML_FOOTER <dd>
...
...
@@ -596,8 +597,8 @@ followed by the descriptions of the tags grouped by category.
<code>\$projectnumber</code>.
Doxygen will replace them by respectively
the title of the page, the current date and time, only the current date,
the version number of doxygen, the project name (see PROJECT_NAME), or the
project number (see PROJECT_NUMBER).
the version number of doxygen, the project name (see
\c
PROJECT_NAME), or the
project number (see
\c
PROJECT_NUMBER).
\anchor cfg_html_stylesheet
...
...
@@ -638,10 +639,10 @@ FONT.charliteral { color: #008080 }
\addindex HTML_ALIGN_MEMBERS
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
NO a bullet list will be used.
\c
NO a bullet list will be used.
<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.
\anchor cfg_generate_htmlhelp
...
...
@@ -695,7 +696,7 @@ FONT.charliteral { color: #008080 }
\
anchor
cfg_paper_type
<
dt
>\
c
PAPER_TYPE
<
dd
>
\
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
:
<
ul
>
<
li
><
code
>
a4
</
code
>
(
210
x
297
mm
).
...
...
@@ -758,8 +759,8 @@ EXTRA_PACKAGES = times
<
code
>\$
projectnumber
</
code
>.
Doxygen
will
replace
them
by
respectively
the
title
of
the
page
,
the
current
date
and
time
,
only
the
current
date
,
the
version
number
of
doxygen
,
the
project
name
(
see
PROJECT_NAME
),
or
the
project
number
(
see
PROJECT_NUMBER
).
the
version
number
of
doxygen
,
the
project
name
(
see
\
c
PROJECT_NAME
),
or
the
project
number
(
see
\
c
PROJECT_NUMBER
).
\
anchor
cfg_pdf_hyperlinks
<
dt
>\
c
PDF_HYPERLINKS
<
dd
>
...
...
@@ -796,7 +797,7 @@ EXTRA_PACKAGES = times
<
dt
>\
c
RTF_OUTPUT
<
dd
>
\
addindex
RTF_OUTPUT
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
.
\
anchor
cfg_compact_rtf
...
...
@@ -818,6 +819,90 @@ EXTRA_PACKAGES = times
\
par
note
:
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>
\subsection man_output Man page related options
...
...
@@ -860,7 +945,15 @@ EXTRA_PACKAGES = times
\addindex MACRO_EXPANSION
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
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
<dt>\c SEARCH_INCLUDES <dd>
...
...
@@ -884,12 +977,13 @@ EXTRA_PACKAGES = times
<code>name</code> or <code>name=definition</code> (no spaces).
If the definition and the = are omitted =1 is assumed.
\
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
tag
.
\anchor cfg_expand_as_defined
<dt>\c EXPAND_AS_DEFINED <dd>
\addindex EXPAND_AS_DEFINED
If the \c MACRO_EXPANSION and \c EXPAND_PREDEF_ONLY tags are set to \c YES then
this tag can be used to specify a list of macro names that should be expanded.
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>
\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:
Czech
</TD>
<TD>
Petr Prikryl<BR>
Vlastimil Havran
</TD>
<TD>
<a href="mailto:prikrylp@NOSPAM.skil.cz">
prikrylp@NOSPAM.skil.cz</a>
<a href="mailto:havran@NOSPAM.fel.cvut.cz">
havran@NOSPAM.fel.cvut.cz</a>
</TD>
...
...
@@ -206,7 +209,8 @@ Here is a list of the languages and their current maintainers:
Swedish & Samuel H\"agglund & {\tt sahag96@nts.mh.se} \\
& XeT Erixon & {\tt xet@hem.passagen.se} \\
\hline
Czech & Vlastimil Havran & {\tt havran@fel.cvut.cz} \\
Czech & Petr Prikryl & {\tt prikrylp@skil.cz} \\
& Vlastimil Havran & {\tt havran@fel.cvut.cz} \\
\hline
Romanian & Ionutz Borcoman & {\tt borco@borco-ei.eng.hokudai.ac.jp} \\
\hline
...
...
packages/rpm/doxygen.spec
View file @
adb81f79
Name: doxygen
Version: 1.1.
4-2000062
5
Version: 1.1.5
Summary: documentation system for C, C++ and IDL
Release: 1
Source0: doxygen-%{version}.src.tar.gz
...
...
src/classdef.cpp
View file @
adb81f79
...
...
@@ -1605,8 +1605,14 @@ void ClassDef::determineImplUsageRelation()
int
brCount
=
1
;
while
(
te
<
typeLen
&&
brCount
!=
0
)
{
if
(
type
.
at
(
te
)
==
'<'
)
brCount
++
;
if
(
type
.
at
(
te
)
==
'>'
)
brCount
--
;
if
(
type
.
at
(
te
)
==
'<'
)
{
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
++
;
}
}
...
...
@@ -1614,6 +1620,7 @@ void ClassDef::determineImplUsageRelation()
if
(
te
>
ts
)
templSpec
=
type
.
mid
(
ts
,
te
-
ts
);
ClassDef
*
cd
=
getResolvedClass
(
name
()
+
"::"
+
type
.
mid
(
i
,
l
));
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
{
found
=
TRUE
;
...
...
src/code.l
View file @
adb81f79
...
...
@@ -118,6 +118,7 @@ static const char * g_currentFontClass;
static bool g_searchingForBody;
static bool g_insideBody;
static int g_bodyCurlyCount;
static ClassDef * g_classVar;
/*! 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
...
...
@@ -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,
const char *memberName,OutputList &result,
const char *text=0)
...
...
@@ -375,10 +404,11 @@ static bool getLink(const char *className,
}
}
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())
{
g_classVar = stripClassName(md->typeString());
if (g_currentDefinition && g_currentMemberDef &&
md!=g_currentMemberDef && g_insideBody)
{
...
...
@@ -393,32 +423,47 @@ static bool getLink(const char *className,
return FALSE;
}
static
ClassDef *stripClassName(const char *s
)
static
bool generateClassMemberLink(OutputList &ol,ClassDef *mcd,const char *memName
)
{
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)
//printf("generateClassMemberLink(%s,%s)\n",mcd->name().data(),memName);
MemberName *mmn=memberNameDict[memName];
if (mmn)
{
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())
MemberNameIterator mmni(*mmn);
MemberDef *mmd,*xmd=0;
ClassDef *xcd=0;
const int maxInheritanceDepth = 100000;
int mdist=maxInheritanceDepth;
for (;(mmd=mmni.current());++mmni)
{
cd=getResolvedClass(g_classScope+"::"+clName);
}
if (cd==0)
int m=minClassDistance(mcd,mmd->memberClass());
if (m<mdist && mmd->memberClass()->isLinkable())
{
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,
...
...
@@ -493,6 +538,8 @@ static void generateMemberLink(OutputList &ol,const char *varName,
ClassDef *mcd=stripClassName(vmd->typeString());
if (mcd && mcd->isLinkable())
{
if (generateClassMemberLink(ol,mcd,memName)) return;
#if 0
//printf("Found class `%s'\n",mcd->name().data());
MemberName *mmn=memberNameDict[memName];
if (mmn)
...
...
@@ -524,6 +571,7 @@ static void generateMemberLink(OutputList &ol,const char *varName,
return;
}
}
#endif
}
}
}
...
...
@@ -925,9 +973,21 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
<MemberCall>{SCOPENAME}/{B}*"(" {
if (!g_name.isEmpty())
{
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
{
g_code->codify(yytext);
}
g_name.resize(0);g_type.resize(0);
g_bracketCount=0;
BEGIN(FuncCall);
...
...
@@ -1350,6 +1410,7 @@ void parseCode(OutputList &ol,const char *className,const QCString &s,
g_bodyCurlyCount = 0;
g_bracketCount = 0;
g_sharpCount = 0;
g_classVar = 0;
g_classScope = className;
g_exampleBlock = exBlock;
g_exampleName = exName;
...
...
src/config.h
View file @
adb81f79
...
...
@@ -96,15 +96,17 @@ struct Config
static
QCString
rtfOutputDir
;
// the directory to put the RTF files
static
bool
compactRTFFlag
;
// generate more compact 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
QCString
manOutputDir
;
// the directory to put the man pages
static
QCString
manExtension
;
// extension the man page files
static
bool
preprocessingFlag
;
// enable preprocessing
static
bool
macroExpansionFlag
;
// expand macros in the source.
static
bool
onlyPredefinedFlag
;
// expand only predefined macros
static
bool
searchIncludeFlag
;
// search for included files
static
QStrList
includePath
;
// list of include paths
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
QCString
genTagFile
;
// the tag file to generate
static
bool
allExtFlag
;
// include all external classes flag
...
...
src/config.l
View file @
adb81f79
...
...
@@ -131,15 +131,17 @@ bool Config::generateRTF = TRUE;
QCString Config::rtfOutputDir = "rtf";
bool Config::compactRTFFlag = FALSE;
bool Config::rtfHyperFlag = FALSE;
QCString Config::rtfStylesheetFile;
bool Config::generateMan = TRUE;
QCString Config::manOutputDir = "man";
QCString Config::manExtension = ".3";
bool Config::preprocessingFlag = TRUE;
bool Config::macroExpansionFlag = FALSE;
bool Config::onlyPredefinedFlag = FALSE;
bool Config::searchIncludeFlag = TRUE;
QStrList Config::includePath;
QStrList Config::predefined;
bool Config::onlyPredefinedFlag = FALSE
;
QStrList Config::expandAsDefinedList
;
QStrList Config::tagFileList;
QCString Config::genTagFile;
bool Config::allExtFlag = FALSE;
...
...
@@ -175,8 +177,6 @@ static bool * b=0;
static QStrList * l=0;
static int lastState;
static QCString elemStr;
//static QCString tabSizeString;
//static QCString colsInAlphaIndexString;
static QCString tabSizeString;
static QCString colsInAlphaIndexString;
static QCString maxDotGraphWidthString;
...
...
@@ -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>"COMPACT_RTF"[ \t]*"=" { BEGIN(GetBool); b=&Config::compactRTFFlag; }
<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>"MAN_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::manOutputDir; 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>"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>"INCLUDE_PATH"[ \t]*"=" { BEGIN(GetStrList); l=&Config::includePath; 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>"GENERATE_TAGFILE"[ \t]*"=" { BEGIN(GetString); s=&Config::genTagFile; s->resize(0); }
<Start>"ALLEXTERNALS"[ \t]*"=" { BEGIN(GetBool); b=&Config::allExtFlag; }
...
...
@@ -546,6 +548,7 @@ void dumpConfig()
printf("rtfOutputDir=`%s'\n",Config::rtfOutputDir.data());
printf("compactRTFFlag=`%d'\n",Config::compactRTFFlag);
printf("rtfHyperFlag=`%d'\n",Config::rtfHyperFlag);
printf("rtfStylesheetFile=`%s'\n",Config::rtfStylesheetFile.data());
printf("# configuration options related to the man page output\n");
printf("generateMan=`%d'\n",Config::generateMan);
printf("manOutputDir=`%s'\n",Config::manOutputDir.data());
...
...
@@ -553,6 +556,7 @@ void dumpConfig()
printf("# Configuration options related to the preprocessor \n");
printf("preprocessingFlag=`%d'\n",Config::preprocessingFlag);
printf("macroExpansionFlag=`%d'\n",Config::macroExpansionFlag);
printf("onlyPredefinedFlag=`%d'\n",Config::onlyPredefinedFlag);
printf("searchIncludeFlag=`%d'\n",Config::searchIncludeFlag);
{
char *is=Config::includePath.first();
...
...
@@ -570,7 +574,14 @@ void dumpConfig()
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");
{
char *is=Config::tagFileList.first();
...
...
@@ -677,15 +688,17 @@ void Config::init()
Config::rtfOutputDir = "rtf";
Config::compactRTFFlag = FALSE;
Config::rtfHyperFlag = FALSE;
Config::rtfStylesheetFile.resize(0);
Config::generateMan = TRUE;
Config::manOutputDir = "man";
Config::manExtension = ".3";
Config::preprocessingFlag = TRUE;
Config::macroExpansionFlag = FALSE;
Config::onlyPredefinedFlag = FALSE;
Config::searchIncludeFlag = TRUE;
Config::includePath.clear();
Config::predefined.clear();
Config::
onlyPredefinedFlag = FALSE
;
Config::
expandAsDefinedList.clear()
;
Config::tagFileList.clear();
Config::genTagFile.resize(0);
Config::allExtFlag = FALSE;
...
...
@@ -1554,6 +1567,17 @@ void writeTemplateConfig(QFile *f,bool sl)
writeBoolValue(t,Config::rtfHyperFlag);
t << "\n";
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";
}
...
...
@@ -1614,13 +1638,25 @@ void writeTemplateConfig(QFile *f,bool sl)
t << "\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 << "# 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 << "MACRO_EXPANSION = ";
writeBoolValue(t,Config::macroExpansionFlag);
t << "\n";
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 << "# 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)
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 tag. \n";
t << "# If the MACRO_EXPANSION and EXPAND_PREDEF_ONLY tags are set to YES then \n";
t << "# this tag can be used to specify a list of macro names that should be expanded. \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 << "EXPAND_
ONLY_PREDEF
= ";
write
BoolValue(t,Config::onlyPredefinedFlag
);
t << "EXPAND_
AS_DEFINED
= ";
write
StringList(t,Config::expandAsDefinedList
);
t << "\n";
if (!sl)
{
...
...
@@ -1942,6 +1979,56 @@ void configStrToVal()
}
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)
...
...
@@ -2073,10 +2160,12 @@ void substituteEnvironmentVars()
substEnvVarsInStrList( Config::extraPackageList );
substEnvVarsInString( Config::latexHeaderFile );
substEnvVarsInString( Config::rtfOutputDir );
substEnvVarsInString( Config::rtfStylesheetFile );
substEnvVarsInString( Config::manOutputDir );
substEnvVarsInString( Config::manExtension );
substEnvVarsInStrList( Config::includePath );
substEnvVarsInStrList( Config::predefined );
substEnvVarsInStrList( Config::expandAsDefinedList );
substEnvVarsInStrList( Config::tagFileList );
substEnvVarsInString( Config::genTagFile );
substEnvVarsInString( Config::perlPath );
...
...
src/definition.cpp
View file @
adb81f79
...
...
@@ -143,7 +143,7 @@ static bool readCodeFragment(const char *fileName,
{
// skip until the opening bracket or lonely : is found
bool
found
=
FALSE
;
char
cn
;
char
cn
=
0
;
while
(
lineNr
<=
endLine
&&
!
f
.
atEnd
()
&&
!
found
)
{
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,
readBoundingBoxDot
(
baseName
+
"_tmp.dot"
,
&
width
,
&
height
);
width
=
width
*
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
);
if
(
lastFit
)
// image is small enough
...
...
src/doxygen.cpp
View file @
adb81f79
...
...
@@ -81,10 +81,6 @@ MemberNameDict functionNameDict(10007); // all functions
StringDict
substituteDict
(
1009
);
// class name substitutes
SectionDict
sectionDict
(
257
);
// all page 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
*
includeNameDict
;
// include names
FileNameDict
*
exampleNameDict
;
// examples
...
...
@@ -96,6 +92,7 @@ FormulaDict formulaNameDict(1009); // the label name of all formulas
StringDict
tagDestinationDict
(
257
);
// all tag locations
// a member group
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
PageInfo
*
mainPage
=
0
;
...
...
@@ -906,6 +903,15 @@ static MemberDef *addVariableToClass(
root
->
protection
,
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
//if (scope.find('<')==-1 && cd->templateArguments())
//{
...
...
@@ -1332,7 +1338,7 @@ static void buildMemberList(Entry *root)
ClassDef
*
cd
=
0
;
// 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",
// root->parent->name.data(),getClass(root->parent->name),
// root->type.find(re,0));
...
...
@@ -1896,7 +1902,7 @@ static bool findBaseClassRelation(Entry *root,ClassDef *cd,
templSpec
=
baseClassName
.
mid
(
i
,
e
-
i
);
baseClassName
=
baseClassName
.
left
(
i
)
+
baseClassName
.
right
(
baseClassName
.
length
()
-
e
);
baseClass
=
getResolvedClass
(
baseClassName
);
//printf("baseClass=%p baseClass=%s templSpec=%s\n",
//printf("baseClass=%p
->
baseClass=%s templSpec=%s\n",
// baseClass,baseClassName.data(),templSpec.data());
}
}
...
...
@@ -2823,10 +2829,10 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
{
Debug
::
print
(
Debug
::
FindMembers
,
0
,
"1. funcName=`%s'
\n
"
,
funcName
.
data
());
//
if (!funcTempList.isEmpty()) // try with member specialization
//
{
//
mn=memberNameDict[funcName+funcTempList];
//
}
if
(
!
funcTempList
.
isEmpty
())
// try with member specialization
{
mn
=
memberNameDict
[
funcName
+
funcTempList
];
}
if
(
mn
==
0
)
// try without specialization
{
mn
=
memberNameDict
[
funcName
];
...
...
@@ -2978,15 +2984,39 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
"Warning: no matching class member found for
\n
%s"
,
fullFuncDecl
.
data
()
);
int
candidates
=
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
"
);
md
=
mn
->
first
();
while
(
md
)
{
ClassDef
*
cd
=
md
->
memberClass
();
if
(
!
cd
||
cd
->
name
()
==
className
)
warn_cont
(
" %s
\n
"
,
md
->
declaration
());
if
(
cd
!=
0
&&
cd
->
name
()
==
className
)
{
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
();
}
}
...
...
@@ -3207,7 +3237,7 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
static
void
findMemberDocumentation
(
Entry
*
root
)
{
int
i
=-
1
,
l
;
QRegExp
re
(
"([a-zA-Z0-9: ]*
\\
*+[
\\
*]*"
);
QRegExp
re
(
"([a-z
_
A-Z0-9: ]*
\\
*+[
\\
*]*"
);
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
.
data
(),
root
->
inside
.
data
(),
root
->
name
.
data
(),
root
->
args
.
data
(),
root
->
section
,
root
->
memSpec
,
root
->
mGrpId
...
...
@@ -4374,6 +4404,12 @@ static void generateGroupDocs()
{
//printf("group %s #members=%d\n",gd->name().data(),gd->countMembers());
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()
if
(
f
.
open
(
IO_WriteOnly
))
{
QTextStream
t
(
&
f
);
t
<<
Config
::
docURL
<<
endl
<<
Config
::
cgiURL
<<
"/"
<<
Config
::
cgiName
<<
endl
;
t
<<
Config
::
docURL
<<
endl
<<
Config
::
cgiURL
<<
"/"
<<
Config
::
cgiName
<<
endl
;
f
.
close
();
}
else
...
...
@@ -5276,9 +5313,21 @@ int main(int argc,char **argv)
&
inputFiles
,
0
);
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
// read and preprocess all input files
readFiles
(
input
);
if
(
input
.
isEmpty
())
...
...
@@ -5288,9 +5337,10 @@ int main(int argc,char **argv)
}
else
{
msg
(
"Read %d bytes
\n
"
,
input
.
length
());
msg
(
"Read %d bytes
\n
"
,
input
.
curPos
());
}
/**************************************************************************
* Handle Tag Files *
**************************************************************************/
...
...
src/doxygen.h
View file @
adb81f79
...
...
@@ -126,6 +126,7 @@ extern PageInfo *mainPage;
extern
StringDict
tagDestinationDict
;
extern
QIntDict
<
QCString
>
memberHeaderDict
;
// 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
hierarchyClasses
;
...
...
src/doxytag.l
View file @
adb81f79
...
...
@@ -203,7 +203,7 @@ QCString unhtmlify(const char *str)
<Start>^"<h1 align=center>" { // Qt variant
BEGIN( ReadClassName );
}
<Start>^
"<h1>"
{ // Doxygen variant
<Start>^
("<hr>")?"<h1>"
{ // Doxygen variant
BEGIN( ReadClassName );
}
<Start>^"Inherits " {
...
...
@@ -223,7 +223,7 @@ QCString unhtmlify(const char *str)
BEGIN( SkipHTMLTag );
}
<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",
// docBaseLink.data(),docAnchor.data(),
// docRefName.data(),yytext);
...
...
@@ -235,7 +235,7 @@ QCString unhtmlify(const char *str)
<SkipPreformated>"</pre>" {
BEGIN( Start );
}
<SkipPreformated>[^\<]+
<SkipPreformated>[^\<
\n
]+
<CheckConstructor>[a-z_A-Z0-9~:]+ {
QCString s=yytext;
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)
"<title>"
<<
title
<<
"</title>
\n
"
;
t
<<
"<link "
;
if
(
external
)
t
<<
"doxygen=
\"
_doc:
\"
href=
\"
/"
;
t
<<
"doxygen=
\"
_doc:"
<<
Config
::
docURL
<<
"
\"
href=
\"
"
<<
Config
::
docURL
<<
"/"
;
else
t
<<
"href=
\"
"
;
if
(
Config
::
htmlStyleSheet
.
isEmpty
())
...
...
@@ -147,7 +148,8 @@ void HtmlGenerator::writeFooter(int part,bool external)
t
<<
endl
<<
"<img "
;
if
(
external
)
{
t
<<
"doxygen=
\"
_doc:
\"
src=
\"
/"
;
t
<<
"doxygen=
\"
_doc:"
<<
Config
::
docURL
<<
"
\"
src=
\"
"
<<
Config
::
docURL
<<
"/"
;
}
else
{
...
...
src/index.cpp
View file @
adb81f79
...
...
@@ -547,7 +547,7 @@ int countNamespaces()
NamespaceDef
*
nd
;
for
(;(
nd
=
nli
.
current
());
++
nli
)
{
if
(
nd
->
isLinkableInProject
())
count
++
;
if
(
nd
->
isLinkableInProject
()
&&
nd
->
countMembers
()
>
0
)
count
++
;
}
return
count
;
}
...
...
@@ -583,7 +583,7 @@ void writeNamespaceIndex(OutputList &ol)
NamespaceDef
*
nd
=
namespaceList
.
first
();
while
(
nd
)
{
if
(
nd
->
isLinkableInProject
())
if
(
nd
->
isLinkableInProject
()
&&
nd
->
countMembers
()
>
0
)
{
ol
.
writeStartAnnoItem
(
"namespace"
,
nd
->
getOutputFileBase
(),
0
,
nd
->
name
());
ol
.
docify
(
" ("
);
...
...
@@ -1456,7 +1456,6 @@ int countGroups()
for
(;(
gd
=
gli
.
current
());
++
gli
)
{
if
(
gd
->
countMembers
()
>
0
)
count
++
;
gd
=
groupList
.
next
();
}
return
count
;
}
...
...
@@ -1513,7 +1512,6 @@ void writeGroupIndex(OutputList &ol)
htmlHelp
->
incContentsDepth
();
}
parseText
(
ol
,
theTranslator
->
trModulesDescription
());
//ol.newParagraph();
ol
.
endTextBlock
();
writeGroupList
(
ol
);
if
(
hasHtmlHelp
)
...
...
@@ -1521,7 +1519,6 @@ void writeGroupIndex(OutputList &ol)
htmlHelp
->
decContentsDepth
();
}
endFile
(
ol
);
//ol.enable(OutputGenerator::Man);
ol
.
popGeneratorState
();
}
...
...
src/language.cpp
View file @
adb81f79
...
...
@@ -15,6 +15,7 @@
*
*/
#include "message.h"
#include "language.h"
#if !defined(ENGLISH_ONLY)
#include "translator_nl.h"
...
...
@@ -51,6 +52,10 @@ bool setTranslator(const char *langName)
}
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
;
}
else
if
(
L_EQUAL
(
"french"
))
...
...
src/latexgen.cpp
View file @
adb81f79
...
...
@@ -216,10 +216,29 @@ void LatexGenerator::startIndexSection(IndexSections is)
<<
" linkcolor=blue"
<<
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
())
{
// 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"
)
{
// The russian babel package also needs an encoding.
// Assume the encoding matched the platform.
#if defined(_WIN32)
t
<<
"
\\
usepackage[cp1251]{inputenc}
\n
"
;
#else
...
...
@@ -228,6 +247,7 @@ void LatexGenerator::startIndexSection(IndexSections is)
}
t
<<
"
\\
usepackage["
<<
theTranslator
->
latexBabelPackage
()
<<
"]{babel}
\n
"
;
}
}
const
char
*
s
=
Config
::
extraPackageList
.
first
();
while
(
s
)
...
...
@@ -425,7 +445,7 @@ void LatexGenerator::endIndexSection(IndexSections is)
bool
found
=
FALSE
;
while
(
gd
&&
!
found
)
{
if
(
gd
->
isLinkableInProject
()
||
gd
->
countMembers
()
>
0
)
if
(
gd
->
countMembers
()
>
0
)
{
t
<<
"}
\n\\
input{"
<<
gd
->
getOutputFileBase
()
<<
"}
\n
"
;
found
=
TRUE
;
...
...
@@ -434,7 +454,7 @@ void LatexGenerator::endIndexSection(IndexSections is)
}
while
(
gd
)
{
if
(
gd
->
isLinkableInProject
()
||
gd
->
countMembers
()
>
0
)
if
(
gd
->
countMembers
()
>
0
)
{
if
(
Config
::
compactLatexFlag
)
t
<<
"
\\
input"
;
else
t
<<
"
\\
include"
;
t
<<
"{"
<<
gd
->
getOutputFileBase
()
<<
"}
\n
"
;
...
...
@@ -602,14 +622,14 @@ void LatexGenerator::writeStyleInfo(int part)
break
;
case
2
:
{
t
<<
" Dimitri van Heesch
(c)
1997-2000}]{}
\n
"
;
t
<<
" Dimitri van Heesch
\\
copyright{}
1997-2000}]{}
\n
"
;
//QCString dtString=dateToString(FALSE);
t
<<
"
\\
lfoot[]{
\\
fancyplain{}{
\\
bfseries
\\
scriptsize "
;
}
break
;
case
4
:
{
t
<<
" Dimitri van Heesch
(c)
1997-2000}}
\n
"
;
t
<<
" Dimitri van Heesch
\\
copyright{}
1997-2000}}
\n
"
;
t
<<
"
\\
cfoot{}
\n
"
;
t
<<
"
\\
newenvironment{CompactList}
\n
"
;
t
<<
"{
\\
begin{list}{}{
\n
"
;
...
...
@@ -812,7 +832,7 @@ void LatexGenerator::startPageRef()
void
LatexGenerator
::
endPageRef
(
const
char
*
clname
,
const
char
*
anchor
)
{
t
<<
"
~
\\
pageref{"
;
t
<<
"
\\
,
\\
pageref{"
;
if
(
clname
)
t
<<
clname
;
if
(
anchor
)
t
<<
"_"
<<
anchor
;
t
<<
"})}"
;
...
...
@@ -998,7 +1018,8 @@ void LatexGenerator::writeSectionRef(const char *,const char *lab,
{
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
{
...
...
@@ -1022,7 +1043,7 @@ void LatexGenerator::writeSectionRefAnchor(const char *,const char *lab,
startBold
();
docify
(
title
);
endBold
();
t
<<
" (p.
~
\\
pageref{"
<<
lab
<<
"})"
<<
endl
;
t
<<
" (p.
\\
,
\\
pageref{"
<<
lab
<<
"})"
<<
endl
;
}
//void LatexGenerator::docify(const char *str)
...
...
@@ -1033,9 +1054,10 @@ void LatexGenerator::writeSectionRefAnchor(const char *,const char *lab,
//void LatexGenerator::docifyStatic(QTextStream &t,const char *str)
void
LatexGenerator
::
docify
(
const
char
*
str
)
{
static
bool
isJapanese
=
theTranslator
->
latexBabelPackage
()
==
"a4j"
;
static
bool
isRussian
=
theTranslator
->
latexBabelPackage
()
==
"russian"
;
static
bool
isGerman
=
theTranslator
->
latexBabelPackage
()
==
"german"
;
static
bool
isCzech
=
theTranslator
->
idLanguage
()
==
"czech"
;
static
bool
isJapanese
=
theTranslator
->
idLanguage
()
==
"japanese"
;
static
bool
isRussian
=
theTranslator
->
idLanguage
()
==
"russian"
;
static
bool
isGerman
=
theTranslator
->
idLanguage
()
==
"german"
;
if
(
str
)
{
const
unsigned
char
*
p
=
(
const
unsigned
char
*
)
str
;
...
...
src/memberdef.cpp
View file @
adb81f79
...
...
@@ -445,8 +445,9 @@ void MemberDef::setMemberDefTemplateArguments(ArgumentList *tal)
void
MemberDef
::
writeLink
(
OutputList
&
ol
,
ClassDef
*
cd
,
NamespaceDef
*
nd
,
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
(
d
==
0
)
return
;
ol
.
writeObjectLink
(
d
->
getReference
(),
d
->
getOutputFileBase
(),
anchor
(),
name
());
}
...
...
src/pre.l
View file @
adb81f79
...
...
@@ -758,6 +758,10 @@ Define *newDefine()
def->fileName = g_yyFileName;
def->lineNr = g_yyLineNr;
def->varArgs = g_defVarArgs;
if (!def->name.isEmpty() && expandAsDefinedDict[def->name])
{
def->isPredefined=TRUE;
}
return def;
}
...
...
@@ -1505,7 +1509,8 @@ BN [ \t\r\n]
{
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());
}
...
...
src/rtfgen.cpp
View file @
adb81f79
...
...
@@ -4,6 +4,8 @@
*
* 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
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
...
...
@@ -19,7 +21,7 @@
#include "qtbc.h"
#include <qdir.h>
#include <q
stack
.h>
#include <q
regexp
.h>
#include "rtfgen.h"
#include "config.h"
...
...
@@ -112,6 +114,277 @@ OutputGenerator *RTFGenerator::copy()
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
()
{
QCString
dir
=
Config
::
rtfOutputDir
;
...
...
@@ -121,98 +394,31 @@ void RTFGenerator::init()
err
(
"Could not create output directory %s
\n
"
,
dir
.
data
());
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 "
;
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 "
;
const
char
*
Rtf_Style_Heading4
=
"
\\
s4
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs20
\\
cgrid "
;
const
char
*
Rtf_Style_Title
=
"
\\
s15
\\
qc
\\
sb240
\\
sa60
\\
widctlpar
\\
outlinelevel0
\\
adjustright
\\
b
\\
f1
\\
fs32
\\
kerning28
\\
cgrid "
;
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 "
};
static
QCString
makeIndexName
(
const
char
*
s
,
int
i
)
{
QCString
result
=
s
;
result
+=
(
char
)(
i
+
'0'
);
return
result
;
}
void
RTFGenerator
::
beginRTFDocument
()
{
...
...
@@ -251,47 +457,53 @@ void RTFGenerator::beginRTFDocument()
t
<<
"{
\\
comment Begining style list}
\n
"
;
t
<<
"{
\\
stylesheet
\n
"
;
t
<<
"{
\\
widctlpar
\\
adjustright
\\
fs20
\\
cgrid
\\
snext0 Normal;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_Heading1
<<
"
\\
sbasedon0
\\
snext0 heading 1;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_Heading2
<<
"
\\
sbasedon0
\\
snext0 heading 2;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_Heading3
<<
"
\\
sbasedon0
\\
snext0 heading 3;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_Heading4
<<
"
\\
sbasedon0
\\
snext0 heading 4;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"Heading1"
]
<<
"
\\
sbasedon0
\\
snext0 heading 1;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"Heading2"
]
<<
"
\\
sbasedon0
\\
snext0 heading 2;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"Heading3"
]
<<
"
\\
sbasedon0
\\
snext0 heading 3;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"Heading4"
]
<<
"
\\
sbasedon0
\\
snext0 heading 4;}
\n
"
;
t
<<
"{
\\
*
\\
cs10
\\
additive Default Paragraph Font;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_Title
<<
"
\\
sbasedon0
\\
snext15 Title;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_SubTitle
<<
"
\\
sbasedon0
\\
snext16 Subtitle;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_BodyText
<<
"
\\
sbasedon0
\\
snext17 BodyText;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_DenseText
<<
"
\\
sbasedon0
\\
snext18 DenseText;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_Header
<<
"
\\
sbasedon0
\\
snext28 header;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_Footer
<<
"
\\
sbasedon0
\\
snext29 footer;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
_GroupHeader
<<
"
\\
sbasedon0
\\
snext30 GroupHeader}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"Title"
]
<<
"
\\
sbasedon0
\\
snext15 Title;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"SubTitle"
]
<<
"
\\
sbasedon0
\\
snext16 Subtitle;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"BodyText"
]
<<
"
\\
sbasedon0
\\
snext17 BodyText;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"DenseText"
]
<<
"
\\
sbasedon0
\\
snext18 DenseText;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"Header"
]
<<
"
\\
sbasedon0
\\
snext28 header;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"Footer"
]
<<
"
\\
sbasedon0
\\
snext29 footer;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"GroupHeader"
]
<<
"
\\
sbasedon0
\\
snext30 GroupHeader}
\n
"
;
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
"
;
}
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
"
;
}
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
"
;
}
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
"
;
}
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
"
;
}
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
"
;
}
t
<<
"}"
<<
endl
;
...
...
@@ -301,7 +513,7 @@ void RTFGenerator::beginRTFDocument()
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
(
Config
::
compactRTFFlag
)
...
...
@@ -314,12 +526,12 @@ void RTFGenerator::beginRTFChapter()
t
<<
"
\\
sect
\\
sbkpage
\n
"
;
//t <<"\\sect\\sectd\\sbkpage\n";
t
<<
Rtf_Style
_Heading1
<<
"
\n
"
;
t
<<
Rtf_Style
[
"Heading1"
]
<<
"
\n
"
;
}
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
(
Config
::
compactRTFFlag
)
...
...
@@ -332,7 +544,7 @@ void RTFGenerator::beginRTFSection()
t
<<
"
\\
sect
\\
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
)
...
...
@@ -509,14 +721,14 @@ void RTFGenerator::endIndexSection(IndexSections is)
"}{
\\
comment end of infoblock}
\n
"
;
// setup for this section
t
<<
Rtf_Style
_Reset
<<
"
\n
"
;
t
<<
Rtf_Style
[
"Reset"
]
<<
"
\n
"
;
t
<<
"
\\
sectd
\\
pgnlcrm
\n
"
;
t
<<
"{
\\
footer "
<<
Rtf_Style
_Footer
<<
"{
\\
chpgn}}
\n
"
;
t
<<
"{
\\
footer "
<<
Rtf_Style
[
"Footer"
]
<<
"{
\\
chpgn}}
\n
"
;
// the title entry
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
<<
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 CREATEDATE
\\\\
*MERGEFORMAT}"
"{
\\
fldrslt CREATEDATE}}
\\
par"
<<
endl
;
...
...
@@ -524,44 +736,44 @@ void RTFGenerator::endIndexSection(IndexSections is)
// table of contents section
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
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
}
break
;
case
isMainPage
:
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trMainPage
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
index.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
case
isModuleIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trModuleIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
modules.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
case
isNamespaceIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trNamespaceIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
namespaces.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
case
isClassHierarchyIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trHierarchicalIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
hierarchy.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
case
isCompoundIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trCompoundIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
annotated.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
case
isFileIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trFileIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
files.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
case
isPageIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trPageIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
pages.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
...
...
@@ -572,9 +784,9 @@ void RTFGenerator::endIndexSection(IndexSections is)
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trModuleDocumentation
()
<<
"}"
<<
endl
;
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
<<
gd
->
getOutputFileBase
();
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
...
@@ -585,9 +797,9 @@ void RTFGenerator::endIndexSection(IndexSections is)
}
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
();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
gd
->
getOutputFileBase
();
...
...
@@ -605,7 +817,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
if
(
nd
->
isLinkableInProject
()
||
nd
->
countMembers
()
>
0
)
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
nd
->
getOutputFileBase
();
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
...
@@ -617,7 +829,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
if
(
nd
->
isLinkableInProject
()
||
nd
->
countMembers
()
>
0
)
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
beginRTFSection
();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
nd
->
getOutputFileBase
();
...
...
@@ -637,7 +849,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
if
(
cd
->
isLinkableInProject
())
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
cd
->
getOutputFileBase
();
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
...
@@ -649,7 +861,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
if
(
cd
->
isLinkableInProject
())
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
beginRTFSection
();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
cd
->
getOutputFileBase
();
...
...
@@ -674,7 +886,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
if
(
isFirst
)
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
fd
->
getOutputFileBase
();
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
...
@@ -682,7 +894,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
}
else
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
beginRTFSection
();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
fd
->
getOutputFileBase
();
...
...
@@ -702,7 +914,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trExampleDocumentation
()
<<
"}"
<<
endl
;
if
(
pi
)
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
convertSlashes
(
pi
->
name
,
TRUE
);
t
<<
"-example.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
...
@@ -710,7 +922,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
}
while
(
pi
)
{
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
beginRTFSection
();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
convertSlashes
(
pi
->
name
,
TRUE
);
...
...
@@ -730,7 +942,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
pageName
=
pi
->
name
.
copy
();
else
pageName
=
pi
->
name
.
lower
();
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
pageName
;
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
...
@@ -743,7 +955,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
pageName
=
pi
->
name
.
copy
();
else
pageName
=
pi
->
name
.
lower
();
//t << "\\par " << Rtf_Style
_Reset
<< endl;
//t << "\\par " << Rtf_Style
["Reset"]
<< endl;
//beginRTFSection();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
pageName
;
...
...
@@ -754,9 +966,9 @@ void RTFGenerator::endIndexSection(IndexSections is)
break
;
case
isEndIndex
:
beginRTFChapter
();
t
<<
Rtf_Style
_Heading1
;
t
<<
Rtf_Style
[
"Heading1"
]
;
t
<<
"Index
\\
par "
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"{
\\
tc
\\
v Index}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst INDEX
\\\\
c2
\\\\
*MERGEFORMAT}{
\\
fldrslt INDEX}}
\n
"
;
...
...
@@ -772,8 +984,8 @@ void RTFGenerator::lastIndexPage()
t
<<
"
\\
sect
\\
sectd
\\
sbknone
\\
pgndec
\n
"
;
// set footer
t
<<
"{
\\
footer "
<<
Rtf_Style
_Footer
<<
"{
\\
chpgn}}
\n
"
;
//t << Rtf_Style
_Heading1
<< "\n";
t
<<
"{
\\
footer "
<<
Rtf_Style
[
"Footer"
]
<<
"{
\\
chpgn}}
\n
"
;
//t << Rtf_Style
["Heading1"]
<< "\n";
}
...
...
@@ -798,7 +1010,7 @@ void RTFGenerator::startIndexList()
t
<<
"{
\\
comment (startIndexList)}"
<<
endl
;
t
<<
"{"
<<
endl
;
incrementIndentLevel
();
t
<<
Rtf_Style
_Reset
<<
Rtf_LCList_DepthStyle
()
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_LCList_DepthStyle
()
<<
endl
;
newParagraph
();
m_omitParagraph
=
TRUE
;
}
...
...
@@ -819,7 +1031,7 @@ void RTFGenerator::startItemList()
t
<<
"{"
;
incrementIndentLevel
();
listItemInfo
[
m_listLevel
].
isEnum
=
FALSE
;
//t << Rtf_Style
_Reset
<< Rtf_BList_DepthStyle();
//t << Rtf_Style
["Reset"]
<< Rtf_BList_DepthStyle();
}
/*! end bullet list */
...
...
@@ -830,7 +1042,7 @@ void RTFGenerator::endItemList()
t
<<
"}"
;
decrementIndentLevel
();
m_omitParagraph
=
TRUE
;
//t << Rtf_Style
_Reset
<< styleStack.top() << endl;
//t << Rtf_Style
["Reset"]
<< styleStack.top() << endl;
//printf("RTFGenerator::endItemList() `%s'\n",styleStack.top());
//newParagraph();
}
...
...
@@ -843,7 +1055,7 @@ void RTFGenerator::startEnumList() // starts an enumeration list
incrementIndentLevel
();
listItemInfo
[
m_listLevel
].
isEnum
=
TRUE
;
listItemInfo
[
m_listLevel
].
number
=
1
;
//t << Rtf_Style
_Reset
<< Rtf_EList_DepthStyle() << endl;
//t << Rtf_Style
["Reset"]
<< Rtf_EList_DepthStyle() << endl;
//newParagraph();
//m_omitParagraph=TRUE;
...
...
@@ -864,7 +1076,7 @@ void RTFGenerator::writeListItem()
{
t
<<
"{
\\
comment (writeListItem)}"
<<
endl
;
newParagraph
();
t
<<
Rtf_Style
_Reset
;
t
<<
Rtf_Style
[
"Reset"
]
;
if
(
listItemInfo
[
m_listLevel
].
isEnum
)
{
t
<<
Rtf_EList_DepthStyle
()
<<
endl
;
...
...
@@ -980,14 +1192,14 @@ void RTFGenerator::writeEndAnnoItem(const char *name)
void
RTFGenerator
::
startSubsection
()
{
//beginRTFSubSection();
t
<<
"
\n
{
\\
comment Begin SubSection}
\n
"
<<
Rtf_Style
_Reset
;
t
<<
Rtf_Style
_Heading3
<<
"
\n
"
;
t
<<
"
\n
{
\\
comment Begin SubSection}
\n
"
<<
Rtf_Style
[
"Reset"
]
;
t
<<
Rtf_Style
[
"Heading3"
]
<<
"
\n
"
;
}
void
RTFGenerator
::
endSubsection
()
{
newParagraph
();
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
}
void
RTFGenerator
::
startSubsubsection
()
...
...
@@ -995,7 +1207,7 @@ void RTFGenerator::startSubsubsection()
//beginRTFSubSubSection();
t
<<
"
\n
{
\\
comment Begin SubSubSection}
\n
"
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
Rtf_Style_Heading4
<<
"
\n
"
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_Style
[
"Heading4"
]
<<
"
\n
"
;
}
void
RTFGenerator
::
endSubsubsection
()
...
...
@@ -1135,13 +1347,13 @@ void RTFGenerator::startTitleHead(const char *)
t
<<
"{
\\
comment startTitleHead}"
<<
endl
;
// 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
)
{
t
<<
"{
\\
comment endTitleHead}"
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
if
(
name
)
{
// make table of contents entry
...
...
@@ -1177,8 +1389,8 @@ void RTFGenerator::startGroupHeader()
{
t
<<
"{
\\
comment startGroupHeader}"
<<
endl
;
newParagraph
();
t
<<
Rtf_Style
_Reset
;
t
<<
Rtf_Style
_Heading3
;
t
<<
Rtf_Style
[
"Reset"
]
;
t
<<
Rtf_Style
[
"Heading3"
]
;
t
<<
endl
;
}
...
...
@@ -1186,7 +1398,7 @@ void RTFGenerator::endGroupHeader()
{
t
<<
"{
\\
comment endGroupHeader}"
<<
endl
;
newParagraph
();
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
}
void
RTFGenerator
::
startMemberDoc
(
const
char
*
clname
,
...
...
@@ -1200,11 +1412,10 @@ void RTFGenerator::startMemberDoc(const char *clname,
addToIndex
(
memname
,
clname
);
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);
t
<<
"{"
<<
endl
;
//printf("RTFGenerator::startMemberDoc() `%s'\n",Rtf_Style
_Heading4
);
//printf("RTFGenerator::startMemberDoc() `%s'\n",Rtf_Style
["Heading4"]
);
startBold
();
t
<<
endl
;
}
...
...
@@ -1215,7 +1426,7 @@ void RTFGenerator::endMemberDoc()
t
<<
"}"
<<
endl
;
//const char *style = styleStack.pop();
//printf("RTFGenerator::endMemberDoc() `%s'\n",style);
//ASSERT(style==Rtf_Style
_Heading4
);
//ASSERT(style==Rtf_Style
["Heading4"]
);
endBold
();
newParagraph
();
}
...
...
@@ -1295,7 +1506,7 @@ void RTFGenerator::startIndent()
incrementIndentLevel
();
t
<<
"{
\\
comment (startIndent) }"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
Rtf_CList_DepthStyle
()
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_CList_DepthStyle
()
<<
endl
;
//styleStack.push(style);
}
...
...
@@ -1311,7 +1522,7 @@ void RTFGenerator::startDescription()
{
t
<<
"{
\\
comment (startDescription)}"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
Rtf_CList_DepthStyle
();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_CList_DepthStyle
();
}
void
RTFGenerator
::
endDescription
()
...
...
@@ -1340,7 +1551,7 @@ void RTFGenerator::startMemberDescription()
t
<<
"{
\\
comment (startMemberDescription)}"
<<
endl
;
t
<<
"{"
<<
endl
;
incrementIndentLevel
();
t
<<
Rtf_Style
_Reset
<<
Rtf_CList_DepthStyle
();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_CList_DepthStyle
();
startEmphasis
();
}
...
...
@@ -1364,16 +1575,16 @@ void RTFGenerator::endDescTitle()
{
t
<<
"{
\\
comment (endDescTitle) }"
<<
endl
;
newParagraph
();
//t << Rtf_Style
_Reset
<< styleStack.top();
//t << Rtf_Style
["Reset"]
<< styleStack.top();
incrementIndentLevel
();
t
<<
Rtf_Style
_Reset
<<
Rtf_DList_DepthStyle
();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_DList_DepthStyle
();
}
void
RTFGenerator
::
writeDescItem
()
{
t
<<
"{
\\
comment (writeDescItem) }"
<<
endl
;
// incrementIndentLevel();
//t << Rtf_Style
_Reset
<< Rtf_CList_DepthStyle();
//t << Rtf_Style
["Reset"]
<< Rtf_CList_DepthStyle();
}
void
RTFGenerator
::
endDescList
()
...
...
@@ -1383,18 +1594,18 @@ void RTFGenerator::endDescList()
t
<<
"}"
;
decrementIndentLevel
();
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
)
{
t
<<
"{
\\
comment (writeSection)}"
<<
endl
;
t
<<
"{"
;
t
<<
Rtf_Style
_Reset
;
t
<<
Rtf_Style
[
"Reset"
]
;
if
(
sub
)
{
// set style
t
<<
Rtf_Style
_Heading3
;
t
<<
Rtf_Style
[
"Heading3"
]
;
// make table of contents entry
t
<<
"{
\\
tc
\\
tcl3
\\
v "
;
docify
(
title
);
...
...
@@ -1403,7 +1614,7 @@ void RTFGenerator::writeSection(const char *lab,const char *title,bool sub)
else
{
// set style
t
<<
Rtf_Style
_Heading2
;
t
<<
Rtf_Style
[
"Heading2"
]
;
// make table of contents entry
t
<<
"{
\\
tc
\\
tcl2
\\
v "
;
docify
(
title
);
...
...
@@ -1530,7 +1741,7 @@ void RTFGenerator::endClassDiagram(ClassDiagram &d,
// display the file
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par
\\
pard
\\
qc {
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
;
t
<<
fileName
<<
".gif"
;
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt IMAGE}}
\\
par"
<<
endl
;
...
...
@@ -1545,7 +1756,7 @@ void RTFGenerator::writeFormula(const char *,const char *text)
void
RTFGenerator
::
startMemberItem
(
int
)
{
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
)
...
...
@@ -1575,7 +1786,7 @@ void RTFGenerator::startCodeFragment()
{
t
<<
"{"
<<
endl
;
newParagraph
();
t
<<
Rtf_Style
_Reset
<<
Rtf_Code_DepthStyle
();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_Code_DepthStyle
();
//styleStack.push(Rtf_Style_CodeExample);
}
...
...
@@ -1584,7 +1795,7 @@ void RTFGenerator::endCodeFragment()
newParagraph
();
//styleStack.pop();
//printf("RTFGenerator::endCodeFrament() top=%s\n",styleStack.top());
//t << Rtf_Style
_Reset
<< styleStack.top() << endl;
//t << Rtf_Style
["Reset"]
<< styleStack.top() << endl;
t
<<
"}"
<<
endl
;
m_omitParagraph
=
TRUE
;
}
...
...
@@ -1633,7 +1844,7 @@ void RTFGenerator::startDescTable()
t
<<
"{
\\
comment (startDescTable) }"
<<
endl
;
t
<<
"{"
<<
endl
;
//incrementIndentLevel();
//t << Rtf_Style
_Reset
<< Rtf_CList_DepthStyle();
//t << Rtf_Style
["Reset"]
<< Rtf_CList_DepthStyle();
}
void
RTFGenerator
::
endDescTable
()
...
...
@@ -1641,7 +1852,7 @@ void RTFGenerator::endDescTable()
//decrementIndentLevel();
t
<<
"{
\\
comment (endDescTable)}"
<<
endl
;
t
<<
"}"
<<
endl
;
//t << Rtf_Style
_Reset
<< styleStack.top();
//t << Rtf_Style
["Reset"]
<< styleStack.top();
}
void
RTFGenerator
::
startDescTableTitle
()
...
...
@@ -1694,49 +1905,55 @@ void RTFGenerator::decrementIndentLevel()
// a style for list formatted with "list continue" style
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
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
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
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
()
{
return
Rtf_Style_DescContinue
[
m_listLevel
];
QCString
n
=
makeIndexName
(
"DescContinue"
,
m_listLevel
);
return
Rtf_Style
[
n
];
}
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
)
{
t
<<
"{
\\
comment Start TextBlock}"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
_Reset
;
t
<<
Rtf_Style
[
"Reset"
]
;
if
(
dense
)
// no spacing between "paragraphs"
{
t
<<
Rtf_Style
_DenseText
;
t
<<
Rtf_Style
[
"DenseText"
]
;
}
else
// some spacing
{
t
<<
Rtf_Style
_BodyText
;
t
<<
Rtf_Style
[
"BodyText"
]
;
}
}
...
...
@@ -1757,7 +1974,7 @@ void RTFGenerator::newParagraph()
void
RTFGenerator
::
startMemberSubtitle
()
{
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
Rtf_CList_DepthStyle
()
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_CList_DepthStyle
()
<<
endl
;
}
void
RTFGenerator
::
endMemberSubtitle
()
...
...
@@ -1953,7 +2170,7 @@ void RTFGenerator::endDotGraph(DotClassGraph &g)
// display the file
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par
\\
pard
\\
qc {
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
;
t
<<
g
.
diskName
()
<<
".gif"
;
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt IMAGE}}
\\
par"
<<
endl
;
...
...
@@ -1977,7 +2194,7 @@ void RTFGenerator::endInclDepGraph(DotInclDepGraph &g)
// display the file
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par
\\
pard
\\
qc {
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
;
t
<<
g
.
diskName
()
<<
".gif"
;
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt IMAGE}}
\\
par"
<<
endl
;
...
...
@@ -2037,14 +2254,14 @@ void RTFGenerator::startMemberGroupHeader(bool hasHeader)
t
<<
"{
\\
comment startMemberGroupHeader}"
<<
endl
;
t
<<
"{"
<<
endl
;
if
(
hasHeader
)
incrementIndentLevel
();
t
<<
Rtf_Style
_Reset
<<
Rtf_Style_GroupHeader
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_Style
[
"GroupHeader"
]
;
}
void
RTFGenerator
::
endMemberGroupHeader
()
{
t
<<
"{
\\
comment endMemberGroupHeader}"
<<
endl
;
newParagraph
();
t
<<
Rtf_Style
_Reset
<<
Rtf_CList_DepthStyle
();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_CList_DepthStyle
();
}
void
RTFGenerator
::
startMemberGroupDocs
()
...
...
@@ -2063,7 +2280,7 @@ void RTFGenerator::endMemberGroupDocs()
void
RTFGenerator
::
startMemberGroup
()
{
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
)
...
...
src/scanner.l
View file @
adb81f79
...
...
@@ -1758,12 +1758,11 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
{
//outDoc->writeSectionRefAnchor(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);
}
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);
}
}
...
...
@@ -3246,7 +3245,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
<MemberSpec>([*&]*{BN}*)*{ID}("["[a-z_A-Z0-9]*"]")* { // the [] part could be improved.
lineCount();
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 = msName.right(msName.length()-i);
j=msName.find("[");
...
...
@@ -3300,7 +3299,14 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
// current->parent->section & Entry::COMPOUND_MASK)
// varEntry->type+=current->parent->name+"::";
if (isTypedef)
{
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->fileName = yyFileName;
varEntry->startLine = yyLineNr;
...
...
@@ -4671,12 +4677,12 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
<Doc,JavaDoc,LineDoc,ExampleDoc,ClassDocBrief,PageDoc,ClassDoc>("\\\\"|"@@")"f"[$\[\]] {
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;
formulaText="$";
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;
formulaText="\\[";
BEGIN(ReadFormulaLong);
...
...
@@ -4685,7 +4691,9 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
formulaText+="$";
if (lastFormulaContext==ClassDocBrief ||
lastFormulaContext==LineDoc ||
lastFormulaContext==JavaDoc
lastFormulaContext==JavaDoc ||
lastFormulaContext==AfterDocBrief ||
lastFormulaContext==AfterDocLine
)
current->brief += addFormula();
else
...
...
@@ -4696,7 +4704,9 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
formulaText+="\\]";
if (lastFormulaContext==ClassDocBrief ||
lastFormulaContext==LineDoc ||
lastFormulaContext==JavaDoc
lastFormulaContext==JavaDoc ||
lastFormulaContext==AfterDocBrief ||
lastFormulaContext==AfterDocLine
)
current->brief += addFormula();
else
...
...
src/suffixtree.cpp
View file @
adb81f79
...
...
@@ -38,7 +38,7 @@ bool writeNumber(QFile &f,int num)
(
f
.
putch
(
num
&
0xff
)
==-
1
);
}
bool
writeEncodedNumber
(
QFile
&
f
,
uint
number
)
static
bool
writeEncodedNumber
(
QFile
&
f
,
uint
number
)
{
bool
error
=
FALSE
;
uint
n
=
number
;
...
...
@@ -52,7 +52,7 @@ bool writeEncodedNumber(QFile &f,uint number)
return
error
;
}
int
encodedNumberSize
(
uint
number
)
static
int
encodedNumberSize
(
uint
number
)
{
uint
n
=
number
;
int
size
=
1
;
...
...
src/suffixtree.h
View file @
adb81f79
...
...
@@ -29,10 +29,6 @@ class IndexTree;
enum
WordRefMasks
{
WORDINNAME_MASK
=
4
,
INNAME_MASK
=
2
,
FULLWORD_MASK
=
1
};
enum
WordRefBits
{
WORDINNAME_BIT
=
2
,
INNAME_BIT
=
1
,
FULLWORD_BIT
=
0
};
// bool inName;
// bool fullWord;
// bool wordInName;
struct
WordRef
{
int
id
;
...
...
@@ -77,7 +73,6 @@ class SuffixTree
SuffixTree
();
~
SuffixTree
();
void
insertWord
(
const
char
*
word
,
int
index
,
bool
inName
);
//void buildIndex();
void
resolveForwardReferences
();
void
dump
();
int
size
();
// return the size of the (flat) tree in bytes
...
...
src/translator.h
View file @
adb81f79
...
...
@@ -25,38 +25,33 @@
class
Translator
{
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 */
virtual
QCString
latexBabelPackage
()
{
return
""
;
}
// --- Language translation methods -------------------
/*! used in the compound documentation before a list of related functions. */
virtual
QCString
trRelatedFunctions
()
{
return
"Related Functions"
;
}
...
...
src/translator_cz.h
View file @
adb81f79
...
...
@@ -27,249 +27,478 @@
//
// 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
{
public
:
QCString
latexBabelPack
age
()
virtual
QCString
idLangu
age
()
{
return
"czech"
;
}
QCString
trInherits
()
{
return
"Dedi"
;
}
QCString
trAnd
()
{
return
"a"
;
}
QCString
trInheritedBy
()
{
return
"Je potomkem"
;
}
QCString
trRelatedFunctions
()
{
return
"Pribuzne metody"
;
}
QCString
trRelatedSubscript
()
{
return
"(Tyto funkce nejsou metody.)"
;
}
QCString
trDetailedDescription
()
{
return
"Podrobna dokumentace"
;
}
QCString
trMemberTypedefDocumentation
()
{
return
"Dokumentace pro deklaraci typu (typedef) ve tride"
;}
QCString
trMemberEnumerationDocumentation
()
{
return
"Dokumentace vyctovych typu"
;
}
QCString
trEnumerationValueDocumentation
()
{
return
"Dokumentace hodnot vyctovych typu"
;
}
QCString
trMemberFunctionDocumentation
()
{
return
"Dokumentace metod"
;
}
QCString
trMemberDataDocumentation
()
{
return
"Dokumentace datovych slozek tridy"
;
}
QCString
trGeneratedFrom
(
const
char
*
s
,
bool
single
)
{
QCString
result
=
(
QCString
)
"Dokumentace pro tento"
+
s
+
" byla generovana z nasledujiciho souboru"
;
if
(
single
)
result
+=
":"
;
else
result
+=
"s:"
;
return
result
;
}
QCString
trMore
()
{
return
"Detaily"
;
}
QCString
trReference
()
{
return
"Reference"
;
}
QCString
trListOfAllMembers
()
{
return
"Seznam vsech datovych polozek a metod tridy."
;
}
QCString
trMemberList
()
{
return
"Seznam datovych polozek a metod tridy"
;
}
QCString
trThisIsTheListOfAllMembers
()
{
return
"Toto je uplny seznam datovych polozek a metod tridy pro"
;
}
QCString
trIncludingInheritedMembers
()
{
return
"zahrnuje vsechny nasledujici zdedene datove polozky a metody."
;
}
QCString
trGeneratedAutomatically
(
const
char
*
s
)
{
QCString
result
=
"Automaticky vygenerovany pomoci programu doxygen"
;
if
(
s
)
result
+=
(
QCString
)
" pro "
+
s
;
result
+=
" ze zdrojoveho souboru."
;
virtual
QCString
latexLanguageSupportCommand
()
{
return
"
\\
usepackage{czech}
\n
"
;
}
/*! returns the name of the package that is included by LaTeX */
virtual
QCString
latexBabelPackage
()
{
return
""
;
}
/*! used in the compound documentation before a list of related functions. */
virtual
QCString
trRelatedFunctions
()
{
return
"Související funkce"
;
}
/*! subscript for the related functions. */
virtual
QCString
trRelatedSubscript
()
{
return
"(Výše uvedené funkce nejsou èlenskými funkcemi.)"
;
}
/*! header that is put before the detailed description of files, classes and namespaces. */
virtual
QCString
trDetailedDescription
()
{
return
"Detailní popis"
;
}
/*! header that is put before the list of typedefs. */
virtual
QCString
trMemberTypedefDocumentation
()
{
return
"Dokumentace k èlenských typùm"
;
}
/*! header that is put before the list of enumerations. */
virtual
QCString
trMemberEnumerationDocumentation
()
{
return
"Dokumentace k èlenským výètùm"
;
}
/*! header that is put before the list of member functions. */
virtual
QCString
trMemberFunctionDocumentation
()
{
return
"Dokumentace k metodám"
;
}
/*! header that is put before the list of member attributes. */
virtual
QCString
trMemberDataDocumentation
()
{
return
"Dokumentace k datovým èlenùm"
;
}
/*! this is the text of a link put after brief descriptions. */
virtual
QCString
trMore
()
{
return
"Podrobnosti..."
;
}
/*! put in the class documentation */
virtual
QCString
trListOfAllMembers
()
{
return
"Seznam všech èlenù."
;
}
/*! 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
;
}
QCString
trEnumName
()
{
return
"pojmenovani vyctoveho typu"
;
}
QCString
trEnumValue
()
{
return
"hodnota vyctoveho typu"
;
}
QCString
trDefinedIn
()
{
return
"definovany v"
;
}
QCString
trIncludeFile
()
{
return
"Vklada soubor"
;
}
QCString
trVerbatimText
(
const
char
*
f
)
{
return
(
QCString
)
"Toto je presny text z vlozeneho souboru "
+
f
+
""
;
}
QCString
trModules
()
/*! put after an enum name in the list of all members */
virtual
QCString
trEnumName
()
{
return
"jméno výètu"
;
}
/*! put after an enum value in the list of all members */
virtual
QCString
trEnumValue
()
{
return
"hodnota výètu"
;
}
/*! put after an undocumented member in the list of all members */
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"
;
}
QCString
trClassHierarchy
()
{
return
"Hierarchie trid"
;
}
QCString
trCompoundList
()
{
return
"Seznam objektovych typu"
;
}
QCString
trFileList
()
{
return
"Seznam souboru"
;
}
QCString
trHeaderFiles
()
{
return
"Hlavickove soubory"
;
}
QCString
trCompoundMembers
()
{
return
"Datove slozky a metody objektovych typu"
;
}
QCString
trFileMembers
()
{
return
"Globalni deklarace"
;
}
QCString
trRelatedPages
()
{
return
"Souvisejici stranky"
;
}
QCString
trExamples
()
{
return
"Priklady:"
;
}
QCString
trSearch
()
{
return
"Hledej"
;
}
QCString
trClassHierarchyDescription
()
{
return
"Tento seznam dedicnych zavislosti je temer setriden"
" podle abecedy:"
;
}
QCString
trFileListDescription
(
bool
extractAll
)
{
QCString
result
=
"A toto je seznam vsech "
;
if
(
!
extractAll
)
result
+=
"zdokumentovanych "
;
result
+=
"souboru s kratkymi popisy:"
;
/*! This is put above each page as a link to the class hierarchy */
virtual
QCString
trClassHierarchy
()
{
return
"Hierarchie tøíd"
;
}
/*! This is put above each page as a link to the list of annotated classes */
virtual
QCString
trCompoundList
()
{
return
"Seznam složenin"
;
}
/*! This is put above each page as a link to the list of documented files */
virtual
QCString
trFileList
()
{
return
"Seznam souborù"
;
}
/*! This is put above each page as a link to the list of all verbatim headers */
virtual
QCString
trHeaderFiles
()
{
return
"Seznam hlavièkových souborù"
;
}
/*! This is put above each page as a link to all members of compounds. */
virtual
QCString
trCompoundMembers
()
{
return
"Souèásti složenin"
;
}
/*! This is put above each page as a link to all members of files. */
virtual
QCString
trFileMembers
()
{
return
"Seznam globálních symbolù"
;
}
/*! This is put above each page as a link to all related pages. */
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
;
}
QCString
trCompoundListDescription
()
{
return
"Zde jsou tridy, struktury a "
"unie s kratkymi popisy:"
;
/*! This is an introduction to the annotated compound list. */
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 "
;
if
(
!
extractAll
)
result
+=
"zdokumentovanych "
;
result
+=
"clenu tridy (metod a datovych slozek) s odkazy na "
;
if
(
extractAll
)
result
+=
"dokumentaci tridy pro kazdo polozku:"
;
else
result
+=
"tridy, kam patri:"
;
QCString
result
=
"Zde naleznete seznam všech "
;
if
(
!
extractAll
)
result
+=
"dokumentovaných "
;
result
+=
"èlenù tøíd s odkazy na "
;
if
(
extractAll
)
result
+=
"dokumentaci tøíd, ke kterým pøíslušejí:"
;
else
result
+=
"tøídy, ke kterým pøíslušejí:"
;
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 "
;
if
(
!
extractAll
)
result
+=
"zdokumentovanych "
;
result
+=
"globalnich deklaraci s odkazy "
;
if
(
extractAll
)
result
+=
"na dokumentaci k souboru pro kazdou deklaraci:"
;
else
result
+=
"na soubory, kde jsou umisteny:"
;
QCString
result
=
"Zde naleznete seznam všech "
;
if
(
!
extractAll
)
result
+=
"dokumentovaných "
;
result
+=
"globálních symbolù, které jsou definovány v souborech projektu. "
"Pro každý symbol je uveden odkaz na "
;
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
;
}
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"
;
}
QCString
trModuleIndex
()
{
return
"Index modulu"
;
}
QCString
trHierarchicalIndex
()
{
return
"Index hierarchie"
;
}
QCString
trCompoundIndex
()
{
return
"Index objektovych typu"
;
}
QCString
trFileIndex
()
{
return
"Index souboru"
;
}
QCString
trModuleDocumentation
()
{
return
"Dokumentace modulu"
;
}
QCString
trClassDocumentation
()
{
return
"Dokumentace tridy"
;
}
QCString
trFileDocumentation
()
{
return
"Dokumentace souboru"
;
}
QCString
trExampleDocumentation
()
{
return
"Dokumentace prikladu"
;
}
QCString
trPageDocumentation
()
{
return
"Dokumentace stranek"
;
}
QCString
trReferenceManual
()
{
return
"Referencni manual"
;
}
QCString
trDefines
()
{
return
"Definice"
;
}
QCString
trFuncProtos
()
{
return
"Prototypy funkci"
;
}
QCString
trTypedefs
()
{
return
"Deklarace datovych typu(typedefs)"
;
}
QCString
trEnumerations
()
{
return
"Vyctove typy (enumerations)"
;
}
QCString
trFunctions
()
/*! This is used in LaTeX as the title of the chapter with the
* index of all groups.
*/
virtual
QCString
trModuleIndex
()
{
return
"Rejstøík modulù"
;
}
/*! This is used in LaTeX as the title of the chapter with the
* class hierarchy.
*/
virtual
QCString
trHierarchicalIndex
()
{
return
"Rejstøík hierarchie tøíd"
;
}
/*! This is used in LaTeX as the title of the chapter with the
* annotated compound index.
*/
virtual
QCString
trCompoundIndex
()
{
return
"Rejstøík složenin"
;
}
/*! This is used in LaTeX as the title of the chapter with the
* list of all files.
*/
virtual
QCString
trFileIndex
()
{
return
"Rejstøík souborù"
;
}
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all groups.
*/
virtual
QCString
trModuleDocumentation
()
{
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"
;
}
QCString
trVariables
()
{
return
"Promenne"
;
}
QCString
trEnumerationValues
()
{
return
"Hodnoty vyctovych typu"
;
}
QCString
trReimplementedFrom
()
{
return
"Je znovu implementovan podle"
;
}
QCString
trReimplementedIn
()
{
return
"Je znovu implementovan v"
;
}
QCString
trAuthor
()
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual
QCString
trVariables
()
{
return
"Promìnné"
;
}
/*! This is used in the documentation of a file as a header before the
* 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"
;
}
QCString
trDefineDocumentation
()
{
return
"Dokumentace definic pomoci maker"
;
}
QCString
trFunctionPrototypeDocumentation
()
{
return
"Dokumentace prototypu funkci"
;
}
QCString
trTypedefDocumentation
()
{
return
"Dokumentace deklaraci datovych typu(typedefs)"
;
}
QCString
trEnumerationTypeDocumentation
()
{
return
"Dokumentace vyctovych typu"
;
}
QCString
trFunctionDocumentation
()
{
return
"Dokumentace funkci"
;
}
QCString
trVariableDocumentation
()
{
return
"Dokumentace promennych"
;
}
QCString
trCompounds
()
{
return
"Polozky objektovych typu"
;
}
QCString
trFiles
()
{
return
"Soubory:"
;
}
QCString
trGeneratedAt
(
const
char
*
date
,
const
char
*
projName
)
{
QCString
result
=
(
QCString
)
"Generovany dne "
+
date
;
if
(
projName
)
result
+=
(
QCString
)
" pro "
+
projName
;
result
+=
(
QCString
)
" "
;
return
result
;
}
QCString
trWrittenBy
()
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
*/
virtual
QCString
trDefineDocumentation
()
{
return
"Dokumentace k definicím maker"
;
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for function prototypes
*/
virtual
QCString
trFunctionPrototypeDocumentation
()
{
return
"Dokumentace prototypù"
;
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for typedefs
*/
virtual
QCString
trTypedefDocumentation
()
{
return
"Dokumentace definic typù"
;
}
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration types
*/
virtual
QCString
trEnumerationTypeDocumentation
()
{
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."
;
}
QCString
trReimplementedForInternalReasons
(
)
/*! this text is put before a class diagram */
virtual
QCString
trClassDiagram
(
const
char
*
clName
)
{
return
"Znovu implementovany z internich duvodu; programove rozhrani"
" aplikace(API) neni zmeneno."
;
return
(
QCString
)
"Diagram dìdiènosti pro tøídu "
+
clName
;
}
QCString
trWarning
()
{
return
"Upozorneni"
;
}
QCString
trBugsAndLimitations
()
{
return
"Chyby a omezeni"
;
}
QCString
trVersion
()
/*! this text is generated when the \internal command is used. */
virtual
QCString
trForInternalUseOnly
()
{
return
"Pouze pro vnitøní použití."
;
}
/*! 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"
;
}
QCString
trDate
()
/*! this text is generated when the \date command is used. */
virtual
QCString
trDate
()
{
return
"Datum"
;
}
QCString
trAuthors
()
{
return
"Autor(i)"
;
}
QCString
trReturns
()
{
return
"ma navratovou hodnotu"
;
}
QCString
trSeeAlso
()
{
return
"Podrobnosti take tady"
;
}
QCString
trParameters
()
/*! this text is generated when the \author command is used. */
virtual
QCString
trAuthors
()
{
return
"Autor/autoøi"
;
}
/*! this text is generated when the \return command is used. */
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"
;
}
QCString
trExceptions
()
{
return
"Vyjimky"
;
}
QCString
trGeneratedBy
()
{
return
"Generovan podle"
;
}
/*! this text is generated when the \exception command is used. */
virtual
QCString
trExceptions
()
{
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
QCString
trNamespaceList
()
{
return
"Seznam prostoru jmen"
;
}
QCString
trNamespaceListDescription
(
bool
extractAll
)
/*! used as the title of page containing all the index of all namespaces. */
virtual
QCString
trNamespaceList
()
{
return
"Seznam prostorù jmen"
;
}
/*! used as an introduction to the namespace list */
virtual
QCString
trNamespaceListDescription
(
bool
extractAll
)
{
QCString
result
=
"Zde
je seznam vs
ech "
;
if
(
!
extractAll
)
result
+=
"dokumentovan
y
ch "
;
result
+=
"prostor
u jmen s kratkymi popisy
:"
;
QCString
result
=
"Zde
naleznete seznam v
šech "
;
if
(
!
extractAll
)
result
+=
"dokumentovaných "
;
result
+=
"prostor
ù jmen se struèným popi
sem:"
;
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
...
...
@@ -278,76 +507,75 @@ class TranslatorCzech : public Translator
/*! used in the class documentation as a header before the list of all
* related classes
*/
QCString
trRelatedFunctionDocumentation
()
{
return
"Dokumentace
pro spratelene funkce a ostatni
"
;
}
virtual
QCString
trRelatedFunctionDocumentation
()
{
return
"Dokumentace
k friends
"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
//////////////////////////////////////////////////////////////////////////
/*! used as the title of the HTML page of a class/struct/union */
QCString
trCompoundReference
(
const
char
*
clName
,
ClassDef
::
CompoundType
compType
,
bool
/*isTemplate*/
)
virtual
QCString
trCompoundReference
(
const
char
*
clName
,
ClassDef
::
CompoundType
compType
)
{
QCString
result
=
(
QCString
)
clName
+
" "
;
result
+=
" Reference"
;
switch
(
compType
)
{
case
ClassDef
:
:
Class
:
result
+=
"
tridy
"
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"
struktury
"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"
u
nie"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"
rozhrani
"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"
exception
"
;
break
;
case
ClassDef
:
:
Class
:
result
+=
"
Tøí
da"
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"
Struktura
"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"
U
nie"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"
Rozhran
í"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"
Výjimk
a"
;
break
;
}
result
+=
" Reference"
;
return
result
;
}
/*! 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
;
result
+=
" Reference souboru"
;
QCString
result
=
"Odkaz na soubor"
;
result
+=
fileName
;
return
result
;
}
/*! 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
;
result
+=
"
Reference prostoru jmen
"
;
result
+=
"
Namespace Reference???
"
;
return
result
;
}
/*! \mgroup Class sections
* these are for the member sections of a class, struct or union
*/
QCString
trPublicMembers
()
{
return
"Ve
rejne metody a datove polozk
y"
;
}
QCString
trPublicSlots
()
{
return
"Ve
rejne
sloty"
;
}
QCString
trSignals
()
{
return
"Sign
a
ly"
;
}
QCString
trStaticPublicMembers
()
{
return
"Statick
e verejne metody a datove polozk
y"
;
}
QCString
trProtectedMembers
()
{
return
"Chr
anene metody a datove polozk
y"
;
}
QCString
trProtectedSlots
()
{
return
"Chr
anene
sloty"
;
}
QCString
trStaticProtectedMembers
()
{
return
"Statick
e chranene metody a datove polozk
y"
;
}
QCString
trPrivateMembers
()
{
return
"Priv
atni metody a datove polozk
y"
;
}
QCString
trPrivateSlots
()
{
return
"Priv
atni
sloty"
;
}
QCString
trStaticPrivateMembers
()
{
return
"Statick
e privatni metody a datove polozk
y"
;
}
virtual
QCString
trPublicMembers
()
{
return
"Ve
øejné met
ody"
;
}
virtual
QCString
trPublicSlots
()
{
return
"Ve
øej
né sloty"
;
}
virtual
QCString
trSignals
()
{
return
"Signály"
;
}
virtual
QCString
trStaticPublicMembers
()
{
return
"Statick
é veøejné me
tody"
;
}
virtual
QCString
trProtectedMembers
()
{
return
"Chr
ánìné me
tody"
;
}
virtual
QCString
trProtectedSlots
()
{
return
"Chr
án
ìné sloty"
;
}
virtual
QCString
trStaticProtectedMembers
()
{
return
"Statick
é chránìné m
etody"
;
}
virtual
QCString
trPrivateMembers
()
{
return
"Priv
átní met
ody"
;
}
virtual
QCString
trPrivateSlots
()
{
return
"Priv
át
ní sloty"
;
}
virtual
QCString
trStaticPrivateMembers
()
{
return
"Statick
é privátní me
tody"
;
}
/*! \endmgroup */
/*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put.
*/
QCString
trWriteList
(
int
numEntries
)
virtual
QCString
trWriteList
(
int
numEntries
)
{
QCString
result
;
int
i
;
...
...
@@ -372,62 +600,62 @@ class TranslatorCzech : public Translator
/*! used in class documentation to produce a list of base classes,
* 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,
* 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
* 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
* 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. */
QCString
trNamespaceMembers
()
{
return
"
Polozky prostoru jmen
"
;
}
virtual
QCString
trNamespaceMembers
()
{
return
"
???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 "
;
if
(
!
extractAll
)
result
+=
"
zdokumentovany
ch "
;
result
+=
"
clenu prostoru jmen
s odkazy na "
;
QCString
result
=
"
Zde naleznete seznam v
šech "
;
if
(
!
extractAll
)
result
+=
"
dokumentovan
ých "
;
result
+=
"
???namespace members
s odkazy na "
;
if
(
extractAll
)
result
+=
"d
ukumentaci prostoru jmen pro kazdou polozku
:"
;
result
+=
"d
okumentaci prostoru jmen pro každý è
len:"
;
else
result
+=
"prostor
jmen, kteremu patri
:"
;
result
+=
"prostor
y jmen, ke kterým pøísl
ušejí:"
;
return
result
;
}
/*! This is used in LaTeX as the title of the chapter with the
* index of all namespaces.
*/
QCString
trNamespaceIndex
()
{
return
"
Index prostoru
jmen"
;
}
virtual
QCString
trNamespaceIndex
()
{
return
"
Rejstøík prost
orù jmen"
;
}
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all namespaces.
*/
QCString
trNamespaceDocumentation
()
{
return
"Dokumentace prostor
u
jmen"
;
}
virtual
QCString
trNamespaceDocumentation
()
{
return
"Dokumentace prostorù jmen"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990522
...
...
@@ -436,7 +664,7 @@ class TranslatorCzech : public Translator
/*! This is used in the documentation before the list of all
* namespaces in a file.
*/
QCString
trNamespaces
()
virtual
QCString
trNamespaces
()
{
return
"Prostory jmen"
;
}
//////////////////////////////////////////////////////////////////////////
...
...
@@ -446,48 +674,49 @@ class TranslatorCzech : public Translator
/*! 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.
*/
QCString
trGeneratedFromFiles
(
ClassDef
::
CompoundType
compType
,
virtual
QCString
trGeneratedFromFiles
(
ClassDef
::
CompoundType
compType
,
bool
single
)
{
// here s is one of " Class", " Struct" or " Union"
// single is true implies a single file
QCString
result
=
(
QCString
)
"Dokumentace pro "
;
switch
(
compType
)
{
case
ClassDef
:
:
Class
:
result
+=
"tuto t
ri
du"
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"tuto strukturu"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"tuto unii"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"toto rozhran
i
"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"
exception
"
;
break
;
case
ClassDef
:
:
Class
:
result
+=
"tuto tøídu"
;
break
;
case
ClassDef
:
:
Struct
:
result
+=
"tuto strukturu
(struct)
"
;
break
;
case
ClassDef
:
:
Union
:
result
+=
"tuto unii
(union)
"
;
break
;
case
ClassDef
:
:
Interface
:
result
+=
"toto rozhraní"
;
break
;
case
ClassDef
:
:
Exception
:
result
+=
"
tuto výjimk
u"
;
break
;
}
result
+=
" byla vygenerovana z nasledujiciho souboru"
;
if
(
single
)
result
+=
":"
;
else
result
+=
"s:"
;
result
+=
" byla generována z "
;
if
(
single
)
result
+=
"následujícího souboru:"
;
else
result
+=
"následujících souborù:"
;
return
result
;
}
/*! This is in the (quick) index as a link to the alphabetical compound
* list.
*/
QCString
trAlphabeticalList
()
{
return
"Abecedn
i seznam
"
;
}
virtual
QCString
trAlphabeticalList
()
{
return
"Abecedn
í seznam složen
in"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990901
//////////////////////////////////////////////////////////////////////////
/*! This is used as the heading text for the retval command. */
QCString
trReturnValues
()
{
return
"Vrac
i
hodnoty"
;
}
virtual
QCString
trReturnValues
()
{
return
"Vrac
en
é hodnoty"
;
}
/*! This is in the (quick) index as a link to the main page (index.html)
*/
QCString
trMainPage
()
{
return
"Hlavn
i stra
nka"
;
}
virtual
QCString
trMainPage
()
{
return
"Hlavn
í st
ránka"
;
}
/*! This is used in references to page that are put in the LaTeX
* documentation. It should be an abbreviation of the word page.
*/
QCString
trPageAbbreviation
()
{
return
"s
tr
."
;
}
virtual
QCString
trPageAbbreviation
()
{
return
"s."
;
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-991003
...
...
@@ -495,16 +724,157 @@ class TranslatorCzech : public Translator
virtual
QCString
trSources
()
{
return
"Zdroj
ove soubory
"
;
return
"Zdroj
e
"
;
}
virtual
QCString
trDefinedAtLineInSourceFile
()
{
return
"Definice
v souboru @1 na radce @0
"
;
return
"Definice
je uvedena na øádku @0 v souboru @
1."
;
}
virtual
QCString
trDefinedInSourceFile
()
{
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
...
...
src/translator_de.h
View file @
adb81f79
...
...
@@ -25,26 +25,8 @@
class
TranslatorGerman
:
public
Translator
{
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!
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
idLanguage
()
{
return
"german"
;
}
QCString
latexBabelPackage
()
// returns the name of the package that is included by LaTeX
...
...
src/translator_es.h
View file @
adb81f79
...
...
@@ -30,34 +30,8 @@
class
TranslatorSpanish
:
public
Translator
{
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
"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
//--------------------------------------------------------------------
virtual
QCString
idLanguage
()
{
return
"spanish"
;
}
/*! returns the name of the package that is included by LaTeX */
virtual
QCString
latexBabelPackage
()
{
return
""
;
}
...
...
src/translator_fi.h
View file @
adb81f79
...
...
@@ -79,6 +79,8 @@ positiiviset kommentit otetaan ilolla vastaan.
class
TranslatorFinnish
:
public
Translator
{
public
:
QCString
idLanguage
()
{
return
"finnish"
;
}
QCString
latexBabelPackage
()
// returns the name of the package that is included by LaTeX
{
return
"finnish"
;
}
...
...
src/translator_fr.h
View file @
adb81f79
...
...
@@ -25,6 +25,8 @@
class
TranslatorFrench
:
public
Translator
{
public
:
QCString
idLanguage
()
{
return
"french"
;
}
/*! returns the name of the package that is included by LaTeX */
QCString
latexBabelPackage
()
{
return
"french"
;
}
...
...
src/translator_hr.h
View file @
adb81f79
...
...
@@ -23,6 +23,8 @@
class
TranslatorCroatian
:
public
Translator
{
public
:
QCString
idLanguage
()
{
return
"croatian"
;
}
QCString
latexBabelPackage
()
{
return
"croatian"
;
}
QCString
trRelatedFunctions
()
...
...
src/translator_it.h
View file @
adb81f79
...
...
@@ -33,34 +33,8 @@
class
TranslatorItalian
:
public
Translator
{
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!
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
//--------------------------------------------------------------------
QCString
idLanguage
()
{
return
"italian"
;
}
/*! returns the name of the package that is included by LaTeX */
QCString
latexBabelPackage
()
{
return
"italian"
;
}
...
...
src/translator_jp.h
View file @
adb81f79
...
...
@@ -23,33 +23,8 @@
class
TranslatorJapanese
:
public
Translator
{
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!
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
//--------------------------------------------------------------------
QCString
idLanguage
()
{
return
"japanese"
;
}
/*! returns the name of the package that is included by LaTeX */
QCString
latexBabelPackage
()
{
return
"a4j"
;
}
...
...
src/translator_nl.h
View file @
adb81f79
...
...
@@ -23,6 +23,8 @@
class
TranslatorDutch
:
public
Translator
{
public
:
QCString
idLanguage
()
{
return
"dutch"
;
}
QCString
latexBabelPackage
()
{
return
"dutch"
;
}
QCString
trRelatedFunctions
()
...
...
src/translator_ru.h
View file @
adb81f79
...
...
@@ -22,6 +22,8 @@
class
TranslatorRussian
:
public
Translator
{
public
:
QCString
idLanguage
()
{
return
"russian"
;
}
QCString
latexBabelPackage
()
{
return
"russian"
;
}
QCString
trRelatedFunctions
()
...
...
src/translator_se.h
View file @
adb81f79
...
...
@@ -67,6 +67,8 @@ Problem!
class
TranslatorSwedish
:
public
Translator
{
public
:
QCString
idLanguage
()
{
return
"swedish"
;
}
QCString
latexBabelPackage
()
{
return
"swedish"
;
}
...
...
src/util.cpp
View file @
adb81f79
...
...
@@ -212,6 +212,10 @@ ClassDef *getResolvedClass(const char *name)
QCString
*
subst
=
typedefDict
[
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
QCString
*
newSubst
;
while
((
newSubst
=
typedefDict
[
*
subst
])
&&
count
<
10
)
...
...
@@ -241,11 +245,20 @@ QCString removeRedundantWhiteSpace(const QCString &s)
if
(
s
.
isEmpty
())
return
s
;
QCString
result
;
uint
i
;
for
(
i
=
0
;
i
<
s
.
length
();
i
++
)
uint
l
=
s
.
length
();
for
(
i
=
0
;
i
<
l
;
i
++
)
{
char
c
=
s
.
at
(
i
);
if
(
c
!=
' '
||
(
i
!=
0
&&
i
!=
s
.
length
()
-
1
&&
isId
(
s
.
at
(
i
-
1
))
&&
isId
(
s
.
at
(
i
+
1
)))
if
(
i
<
l
-
2
&&
c
==
'<'
&&
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
==
'@'
)
&&
...
...
@@ -547,7 +560,7 @@ void writeQuickLinks(OutputList &ol,bool compact,bool ext)
//bool texEnabled = ol.isEnabled(OutputGenerator::Latex);
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
QCString
extLink
,
absPath
;
if
(
ext
)
{
extLink
=
"_doc"
;
absPath
=
"/"
;
}
if
(
ext
)
{
extLink
=
"_doc"
;
absPath
=
Config
::
docURL
+
"/"
;
}
//if (manEnabled) ol.disable(OutputGenerator::Man);
//if (texEnabled) ol.disable(OutputGenerator::Latex);
if
(
compact
)
ol
.
startCenter
();
else
ol
.
startItemList
();
...
...
@@ -651,7 +664,7 @@ void writeQuickLinks(OutputList &ol,bool compact,bool ext)
if
(
Config
::
searchEngineFlag
)
{
if
(
!
compact
)
ol
.
writeListItem
();
ol
.
startQuickIndexItem
(
"_cgi"
,
""
);
ol
.
startQuickIndexItem
(
"_cgi"
,
Config
::
cgiURL
+
"/"
+
Config
::
cgiName
);
parseText
(
ol
,
theTranslator
->
trSearch
());
ol
.
endQuickIndexItem
();
}
...
...
@@ -968,6 +981,8 @@ static void trimNamespaceScope(QCString &t1,QCString &t2)
void
stripIrrelevantConstVolatile
(
QCString
&
s
)
{
int
i
,
j
;
if
(
s
==
"const"
)
{
s
.
resize
(
0
);
return
;
}
if
(
s
==
"volatile"
)
{
s
.
resize
(
0
);
return
;
}
i
=
s
.
find
(
"const "
);
if
(
i
!=-
1
)
{
...
...
@@ -2323,8 +2338,10 @@ QCString insertTemplateSpecifierInScope(const QCString &scope,const QCString &te
QCString
stripScope
(
const
char
*
name
)
{
QCString
result
=
name
;
int
i
=
result
.
findRev
(
"::"
);
if
(
i
!=-
1
)
int
ti
=
result
.
find
(
'<'
);
// find start of template
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
);
}
...
...
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