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
d84f6a6a
Commit
d84f6a6a
authored
Sep 17, 2000
by
dimitri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.2.1-20000917
parent
69ead65c
Changes
21
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
506 additions
and
288 deletions
+506
-288
INSTALL
INSTALL
+2
-2
README
README
+2
-2
VERSION
VERSION
+1
-1
language.doc
doc/language.doc
+2
-2
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
code.l
src/code.l
+28
-13
doc.l
src/doc.l
+4
-2
dot.cpp
src/dot.cpp
+5
-1
doxygen.cpp
src/doxygen.cpp
+3
-1
htmlgen.cpp
src/htmlgen.cpp
+5
-2
htmlgen.h
src/htmlgen.h
+2
-1
index.cpp
src/index.cpp
+12
-4
latexgen.cpp
src/latexgen.cpp
+17
-3
latexgen.h
src/latexgen.h
+2
-1
mangen.h
src/mangen.h
+2
-1
outputgen.h
src/outputgen.h
+2
-1
outputlist.cpp
src/outputlist.cpp
+1
-0
outputlist.h
src/outputlist.h
+5
-2
rtfgen.cpp
src/rtfgen.cpp
+390
-234
rtfgen.h
src/rtfgen.h
+2
-1
scanner.l
src/scanner.l
+18
-13
No files found.
INSTALL
View file @
d84f6a6a
DOXYGEN Version 1.2.1-2000091
0
DOXYGEN Version 1.2.1-2000091
7
Please read the installation section of the manual for instructions.
Please read the installation section of the manual for instructions.
--------
--------
Dimitri van Heesch (1
0
September 2000)
Dimitri van Heesch (1
7
September 2000)
README
View file @
d84f6a6a
DOXYGEN Version 1.2.1-2000091
0
DOXYGEN Version 1.2.1-2000091
7
Please read INSTALL for compilation instructions.
Please read INSTALL for compilation instructions.
...
@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
...
@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
Enjoy,
Enjoy,
Dimitri van Heesch (1
0
September 2000)
Dimitri van Heesch (1
7
September 2000)
VERSION
View file @
d84f6a6a
1.2.1-2000091
0
1.2.1-2000091
7
doc/language.doc
View file @
d84f6a6a
...
@@ -248,9 +248,9 @@ Here is a list of the languages and their current maintainers:
...
@@ -248,9 +248,9 @@ Here is a list of the languages and their current maintainers:
\hline
\hline
Russian & Nickolay Semyonov & {\tt snob@int.spb.ru} \\
Russian & Nickolay Semyonov & {\tt snob@int.spb.ru} \\
\hline
\hline
Korean & Richard Kim & {\
\
tt ryk@dspwiz.com} \\
Korean & Richard Kim & {\tt ryk@dspwiz.com} \\
\hline
\hline
Hungarian & Fldvri Gyrgy & {\
\
tt foldvari@diatronltd.com} \\
Hungarian & Fldvri Gyrgy & {\tt foldvari@diatronltd.com} \\
\hline
\hline
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} \\
Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} \\
\hline
\hline
...
...
packages/rpm/doxygen.spec
View file @
d84f6a6a
Name: doxygen
Name: doxygen
Version: 1.2.1-2000091
0
Version: 1.2.1-2000091
7
Summary: documentation system for C, C++ and IDL
Summary: documentation system for C, C++ and IDL
Release: 1
Release: 1
Source0: doxygen-%{version}.src.tar.gz
Source0: doxygen-%{version}.src.tar.gz
...
...
src/code.l
View file @
d84f6a6a
...
@@ -120,6 +120,8 @@ static bool g_searchingForBody;
...
@@ -120,6 +120,8 @@ static bool g_searchingForBody;
static bool g_insideBody;
static bool g_insideBody;
static int g_bodyCurlyCount;
static int g_bodyCurlyCount;
static ClassDef * g_classVar;
static ClassDef * g_classVar;
static QCString g_saveName;
static QCString g_saveType;
/*! start a new line of code, inserting a line number if g_sourceFileDef
/*! start a new line of code, inserting a line number if g_sourceFileDef
* is TRUE. If a definition starts at the current line, then the line
* is TRUE. If a definition starts at the current line, then the line
...
@@ -574,18 +576,21 @@ static void generateMemberLink(OutputList &ol,const char *varName,
...
@@ -574,18 +576,21 @@ static void generateMemberLink(OutputList &ol,const char *varName,
vn=vn.right(vn.length()-vi-2);
vn=vn.right(vn.length()-vi-2);
vmn=memberNameDict[vn];
vmn=memberNameDict[vn];
//printf("Trying name `%s' scope=%s\n",vn.data(),scope.data());
//printf("Trying name `%s' scope=%s\n",vn.data(),scope.data());
MemberNameIterator vmni(*vmn);
if (vmn)
MemberDef *vmd;
for (;(vmd=vmni.current());++vmni)
{
{
if ((vmd->isVariable() || vmd->isFunction()) &&
MemberNameIterator vmni(*vmn);
vmd->getClassDef()==jcd)
MemberDef *vmd;
for (;(vmd=vmni.current());++vmni)
{
{
//printf("Found variable type=%s\n",vmd->typeString());
if ((vmd->isVariable() || vmd->isFunction()) &&
ClassDef *mcd=stripClassName(vmd->typeString());
vmd->getClassDef()==jcd)
if (mcd && mcd->isLinkable())
{
{
if (generateClassMemberLink(ol,mcd,memName)) return;
//printf("Found variable type=%s\n",vmd->typeString());
ClassDef *mcd=stripClassName(vmd->typeString());
if (mcd && mcd->isLinkable())
{
if (generateClassMemberLink(ol,mcd,memName)) return;
}
}
}
}
}
}
}
...
@@ -626,7 +631,7 @@ static void generateFunctionLink(OutputList &ol,char *funcName)
...
@@ -626,7 +631,7 @@ static void generateFunctionLink(OutputList &ol,char *funcName)
if (i>0)
if (i>0)
{
{
locScope=locFunc.left(i);
locScope=locFunc.left(i);
locFunc=locFunc.right(locFunc.length()-i-2);
locFunc=locFunc.right(locFunc.length()-i-2)
.stripWhiteSpace()
;
int ts=locScope.find('<'); // start of template
int ts=locScope.find('<'); // start of template
int te=locScope.findRev('>'); // end of template
int te=locScope.findRev('>'); // end of template
//printf("ts=%d te=%d\n",ts,te);
//printf("ts=%d te=%d\n",ts,te);
...
@@ -636,7 +641,7 @@ static void generateFunctionLink(OutputList &ol,char *funcName)
...
@@ -636,7 +641,7 @@ static void generateFunctionLink(OutputList &ol,char *funcName)
locScope=locScope.left(ts)+locScope.right(locScope.length()-te-1);
locScope=locScope.left(ts)+locScope.right(locScope.length()-te-1);
}
}
}
}
//printf("generateFunctionLink(%s) classScope=
%s
\n",locFunc.data(),locScope.data());
//printf("generateFunctionLink(%s) classScope=
`%s'
\n",locFunc.data(),locScope.data());
if (!locScope.isEmpty() && (ccd=g_codeClassDict[locScope]))
if (!locScope.isEmpty() && (ccd=g_codeClassDict[locScope]))
{
{
//printf("using classScope %s\n",g_classScope.data());
//printf("using classScope %s\n",g_classScope.data());
...
@@ -1067,12 +1072,22 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
...
@@ -1067,12 +1072,22 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<Body>[,=;\[] {
<Body>[,=;\[] {
g_code->codify(yytext);
g_code->codify(yytext);
g_saveName = g_name.copy();
g_saveType = g_name.copy();
if (!g_type.isEmpty())
if (!g_type.isEmpty())
{
addVariable();
addVariable();
g_name.resize(0);
g_name.resize(0);
}
if (*yytext!=',') g_type.resize(0);
if (*yytext!=',') g_type.resize(0);
g_args.resize(0);
g_args.resize(0);
}
}
<Body>"]" {
g_code->codify(yytext);
// TODO: nested arrays like: a[b[0]->func()]->func()
g_name = g_saveName.copy();
g_type = g_saveType.copy();
}
<Body>[0-9]+ {
<Body>[0-9]+ {
g_code->codify(yytext);
g_code->codify(yytext);
}
}
...
@@ -1121,7 +1136,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
...
@@ -1121,7 +1136,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
<MemberCall2,FuncCall>")"[ \t\n]*[;:] {
<MemberCall2,FuncCall>")"[ \t\n]*[;:] {
codifyLines(yytext);
codifyLines(yytext);
g_bracketCount=0;
g_bracketCount=0;
g_searchingForBody=FALSE;
if (yytext[yyleng-1]==';')
g_searchingForBody=FALSE;
if (!g_inClass && !g_type.isEmpty())
if (!g_inClass && !g_type.isEmpty())
addVariable();
addVariable();
g_parmType.resize(0);g_parmName.resize(0);
g_parmType.resize(0);g_parmName.resize(0);
...
...
src/doc.l
View file @
d84f6a6a
...
@@ -1432,8 +1432,11 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -1432,8 +1432,11 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
if ((sec=sectionDict[secName]))
if ((sec=sectionDict[secName]))
{
{
//printf("Title %s\n",sec->title.data());
//printf("Title %s\n",sec->title.data());
outDoc->
write
Section(sec->label,sec->title,
outDoc->
start
Section(sec->label,sec->title,
sec->type==SectionInfo::Subsection);
sec->type==SectionInfo::Subsection);
scanString(sec->title);
outDoc->endSection(sec->label,
sec->type==SectionInfo::Subsection);
}
}
}
}
<DocScan>{CMD}"anchor "{ID}"\n" {
<DocScan>{CMD}"anchor "{ID}"\n" {
...
@@ -1510,7 +1513,6 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
...
@@ -1510,7 +1513,6 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
text=sec->title;
text=sec->title;
if (sec->type==SectionInfo::Anchor)
if (sec->type==SectionInfo::Anchor)
{
{
//outDoc->writeSectionRefAnchor(sec->fileName,sec->label,text);
outDoc->writeObjectLink(0,sec->fileName,sec->label,text);
outDoc->writeObjectLink(0,sec->fileName,sec->label,text);
writePageRef(*outDoc,sec->label,0);
writePageRef(*outDoc,sec->label,0);
}
}
...
...
src/dot.cpp
View file @
d84f6a6a
...
@@ -844,7 +844,11 @@ void DotClassGraph::buildGraph(ClassDef *cd,DotNode *n,int distance,bool base)
...
@@ -844,7 +844,11 @@ void DotClassGraph::buildGraph(ClassDef *cd,DotNode *n,int distance,bool base)
BaseClassDef
*
bcd
;
BaseClassDef
*
bcd
;
for
(
;
(
bcd
=
bcli
.
current
())
;
++
bcli
)
for
(
;
(
bcd
=
bcli
.
current
())
;
++
bcli
)
{
{
addClass
(
bcd
->
classDef
,
n
,
bcd
->
prot
,
0
,
distance
,
bcd
->
templSpecifiers
,
base
);
//printf("addClass: base=%s this=%s templ=%s\n",bcd->classDef->name().data(),
// cd->name().data(),bcd->templSpecifiers.data());
QCString
templSpec
;
if
(
base
)
templSpec
=
bcd
->
templSpecifiers
;
addClass
(
bcd
->
classDef
,
n
,
bcd
->
prot
,
0
,
distance
,
templSpec
,
base
);
}
}
if
(
m_graphType
!=
Inheritance
)
if
(
m_graphType
!=
Inheritance
)
{
{
...
...
src/doxygen.cpp
View file @
d84f6a6a
...
@@ -4606,7 +4606,9 @@ static void generatePageDocs()
...
@@ -4606,7 +4606,9 @@ static void generatePageDocs()
if
(
!
pi
->
title
.
isEmpty
()
&&
!
pi
->
name
.
isEmpty
()
&&
if
(
!
pi
->
title
.
isEmpty
()
&&
!
pi
->
name
.
isEmpty
()
&&
(
si
=
sectionDict
[
pi
->
name
])
!=
0
)
(
si
=
sectionDict
[
pi
->
name
])
!=
0
)
{
{
outputList
->
writeSection
(
si
->
label
,
si
->
title
,
FALSE
);
outputList
->
startSection
(
si
->
label
,
si
->
title
,
FALSE
);
outputList
->
docify
(
si
->
title
);
outputList
->
endSection
(
si
->
label
,
FALSE
);
}
}
outputList
->
startTextBlock
();
outputList
->
startTextBlock
();
parseDoc
(
*
outputList
,
pi
->
defFileName
,
pi
->
defLine
,
0
,
0
,
pi
->
doc
);
parseDoc
(
*
outputList
,
pi
->
defFileName
,
pi
->
defLine
,
0
,
0
,
pi
->
doc
);
...
...
src/htmlgen.cpp
View file @
d84f6a6a
...
@@ -449,11 +449,14 @@ void HtmlGenerator::endGroupHeader()
...
@@ -449,11 +449,14 @@ void HtmlGenerator::endGroupHeader()
t
<<
"</h2>"
<<
endl
;
t
<<
"</h2>"
<<
endl
;
}
}
void
HtmlGenerator
::
writeSection
(
const
char
*
lab
,
const
char
*
title
,
bool
sub
)
void
HtmlGenerator
::
startSection
(
const
char
*
lab
,
const
char
*
,
bool
sub
)
{
{
t
<<
"<a name=
\"
"
<<
lab
<<
"
\"
>"
;
t
<<
"<a name=
\"
"
<<
lab
<<
"
\"
>"
;
if
(
sub
)
t
<<
"<h3>"
;
else
t
<<
"<h2>"
;
if
(
sub
)
t
<<
"<h3>"
;
else
t
<<
"<h2>"
;
docify
(
title
);
}
void
HtmlGenerator
::
endSection
(
const
char
*
,
bool
sub
)
{
if
(
sub
)
t
<<
"</h3>"
;
else
t
<<
"</h2>"
;
if
(
sub
)
t
<<
"</h3>"
;
else
t
<<
"</h2>"
;
t
<<
"</a>"
<<
endl
;
t
<<
"</a>"
<<
endl
;
}
}
...
...
src/htmlgen.h
View file @
d84f6a6a
...
@@ -184,7 +184,8 @@ class HtmlGenerator : public OutputGenerator
...
@@ -184,7 +184,8 @@ class HtmlGenerator : public OutputGenerator
void
endDescTitle
()
{}
void
endDescTitle
()
{}
void
writeDescItem
()
{
t
<<
"<dd>"
<<
endl
;
}
void
writeDescItem
()
{
t
<<
"<dd>"
<<
endl
;
}
void
endDescList
()
{
t
<<
"</dl>"
;
}
void
endDescList
()
{
t
<<
"</dl>"
;
}
void
writeSection
(
const
char
*
,
const
char
*
,
bool
);
void
startSection
(
const
char
*
,
const
char
*
,
bool
);
void
endSection
(
const
char
*
,
bool
);
void
writeSectionRef
(
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRef
(
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRefItem
(
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRefItem
(
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRefAnchor
(
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRefAnchor
(
const
char
*
,
const
char
*
,
const
char
*
);
...
...
src/index.cpp
View file @
d84f6a6a
...
@@ -972,7 +972,9 @@ void writeMemberList(OutputList &ol,bool useSections)
...
@@ -972,7 +972,9 @@ void writeMemberList(OutputList &ol,bool useSections)
lastChar
=
cs
[
0
]
=
tolower
(
name
.
at
(
0
));
cs
[
1
]
=
'\0'
;
lastChar
=
cs
[
0
]
=
tolower
(
name
.
at
(
0
));
cs
[
1
]
=
'\0'
;
QCString
anchor
=
(
QCString
)
"index_"
+
cs
;
QCString
anchor
=
(
QCString
)
"index_"
+
cs
;
QCString
title
=
(
QCString
)
"- "
+
cs
+
" -"
;
QCString
title
=
(
QCString
)
"- "
+
cs
+
" -"
;
ol
.
writeSection
(
anchor
,
title
,
TRUE
);
ol
.
startSection
(
anchor
,
title
,
TRUE
);
ol
.
docify
(
title
);
ol
.
endSection
(
anchor
,
TRUE
);
ol
.
startItemList
();
ol
.
startItemList
();
first
=
FALSE
;
first
=
FALSE
;
}
}
...
@@ -1135,7 +1137,9 @@ void writeFileMemberList(OutputList &ol,bool useSections)
...
@@ -1135,7 +1137,9 @@ void writeFileMemberList(OutputList &ol,bool useSections)
lastChar
=
cs
[
0
]
=
tolower
(
name
.
at
(
0
));
cs
[
1
]
=
'\0'
;
lastChar
=
cs
[
0
]
=
tolower
(
name
.
at
(
0
));
cs
[
1
]
=
'\0'
;
QCString
anchor
=
(
QCString
)
"index_"
+
cs
;
QCString
anchor
=
(
QCString
)
"index_"
+
cs
;
QCString
title
=
(
QCString
)
"- "
+
cs
+
" -"
;
QCString
title
=
(
QCString
)
"- "
+
cs
+
" -"
;
ol
.
writeSection
(
anchor
,
title
,
TRUE
);
ol
.
startSection
(
anchor
,
title
,
TRUE
);
ol
.
docify
(
title
);
ol
.
endSection
(
anchor
,
TRUE
);
ol
.
startItemList
();
ol
.
startItemList
();
first
=
FALSE
;
first
=
FALSE
;
}
}
...
@@ -1212,7 +1216,9 @@ void writeNamespaceMemberList(OutputList &ol,bool useSections)
...
@@ -1212,7 +1216,9 @@ void writeNamespaceMemberList(OutputList &ol,bool useSections)
lastChar
=
cs
[
0
]
=
tolower
(
name
.
at
(
0
));
cs
[
1
]
=
'\0'
;
lastChar
=
cs
[
0
]
=
tolower
(
name
.
at
(
0
));
cs
[
1
]
=
'\0'
;
QCString
anchor
=
(
QCString
)
"index_"
+
cs
;
QCString
anchor
=
(
QCString
)
"index_"
+
cs
;
QCString
title
=
(
QCString
)
"- "
+
cs
+
" -"
;
QCString
title
=
(
QCString
)
"- "
+
cs
+
" -"
;
ol
.
writeSection
(
anchor
,
title
,
TRUE
);
ol
.
startSection
(
anchor
,
title
,
TRUE
);
ol
.
docify
(
title
);
ol
.
endSection
(
anchor
,
TRUE
);
ol
.
startItemList
();
ol
.
startItemList
();
first
=
FALSE
;
first
=
FALSE
;
}
}
...
@@ -1842,7 +1848,9 @@ void writeIndex(OutputList &ol)
...
@@ -1842,7 +1848,9 @@ void writeIndex(OutputList &ol)
if
(
!
mainPage
->
title
.
isEmpty
()
&&
!
mainPage
->
name
.
isEmpty
()
&&
if
(
!
mainPage
->
title
.
isEmpty
()
&&
!
mainPage
->
name
.
isEmpty
()
&&
(
si
=
sectionDict
[
mainPage
->
name
])
!=
0
)
(
si
=
sectionDict
[
mainPage
->
name
])
!=
0
)
{
{
ol
.
writeSection
(
si
->
label
,
si
->
title
,
FALSE
);
ol
.
startSection
(
si
->
label
,
si
->
title
,
FALSE
);
ol
.
docify
(
si
->
title
);
ol
.
endSection
(
si
->
label
,
FALSE
);
}
}
ol
.
startTextBlock
();
ol
.
startTextBlock
();
parseDoc
(
ol
,
defFileName
,
defLine
,
0
,
0
,
mainPage
->
doc
);
parseDoc
(
ol
,
defFileName
,
defLine
,
0
,
0
,
mainPage
->
doc
);
...
...
src/latexgen.cpp
View file @
d84f6a6a
...
@@ -166,16 +166,27 @@ void LatexGenerator::init()
...
@@ -166,16 +166,27 @@ void LatexGenerator::init()
t
<<
"
\t
pdflatex refman.tex"
<<
endl
<<
endl
;
t
<<
"
\t
pdflatex refman.tex"
<<
endl
<<
endl
;
}
}
else
// otherwise use ps2pdf: not as nice :(
else
// otherwise use ps2pdf: not as nice :(
// especially from the font point of view
{
{
#if defined(_MSC_VER)
// ps2pdf.bat does not work properly from a makefile using GNU make!
t
<<
"
\t
gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite "
"-sOutputFile=refman.pdf -c save pop -f refman.ps"
<<
endl
<<
endl
;
#else
t
<<
"
\t
ps2pdf refman.ps refman.pdf"
<<
endl
<<
endl
;
t
<<
"
\t
ps2pdf refman.ps refman.pdf"
<<
endl
<<
endl
;
#endif
}
}
t
<<
"refman_2on1.ps: refman.ps"
<<
endl
t
<<
"refman_2on1.ps: refman.ps"
<<
endl
<<
"
\t
psnup -2 refman.ps >refman_2on1.ps"
<<
endl
<<
"
\t
psnup -2 refman.ps >refman_2on1.ps"
<<
endl
<<
endl
<<
endl
<<
"refman_2on1.pdf: refman_2on1.ps"
<<
endl
<<
"refman_2on1.pdf: refman_2on1.ps"
<<
endl
#if defined(_MSC_VER)
// ps2pdf.bat does not work properly from a makefile using GNU make!
<<
"
\t
gswin32c -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite "
"-sOutputFile=refman_2on1.pdf -c save pop -f refman_2on1.ps"
<<
endl
#else
<<
"
\t
ps2pdf refman_2on1.ps refman_2on1.pdf"
<<
endl
<<
"
\t
ps2pdf refman_2on1.ps refman_2on1.pdf"
<<
endl
#endif
<<
endl
<<
endl
<<
"refman.dvi: refman.tex doxygen.sty"
<<
endl
<<
"refman.dvi: refman.tex doxygen.sty"
<<
endl
<<
"
\t
echo
\"
Running latex...
\"
"
<<
endl
<<
"
\t
echo
\"
Running latex...
\"
"
<<
endl
...
@@ -1069,7 +1080,7 @@ void LatexGenerator::addToIndex(const char *s1,const char *s2)
...
@@ -1069,7 +1080,7 @@ void LatexGenerator::addToIndex(const char *s1,const char *s2)
}
}
}
}
void
LatexGenerator
::
writeSection
(
const
char
*
lab
,
const
char
*
title
,
bool
sub
)
void
LatexGenerator
::
startSection
(
const
char
*
lab
,
const
char
*
,
bool
sub
)
{
{
if
(
Config
::
pdfHyperFlag
)
if
(
Config
::
pdfHyperFlag
)
{
{
...
@@ -1077,7 +1088,10 @@ void LatexGenerator::writeSection(const char *lab,const char *title,bool sub)
...
@@ -1077,7 +1088,10 @@ void LatexGenerator::writeSection(const char *lab,const char *title,bool sub)
}
}
t
<<
"
\\
"
;
t
<<
"
\\
"
;
if
(
sub
)
t
<<
"subsection{"
;
else
t
<<
"section{"
;
if
(
sub
)
t
<<
"subsection{"
;
else
t
<<
"section{"
;
docify
(
title
);
}
void
LatexGenerator
::
endSection
(
const
char
*
lab
,
bool
)
{
t
<<
"}
\\
label{"
<<
lab
<<
"}"
<<
endl
;
t
<<
"}
\\
label{"
<<
lab
<<
"}"
<<
endl
;
}
}
...
...
src/latexgen.h
View file @
d84f6a6a
...
@@ -180,7 +180,8 @@ class LatexGenerator : public OutputGenerator
...
@@ -180,7 +180,8 @@ class LatexGenerator : public OutputGenerator
void
endDescTitle
()
{
t
<<
"]"
;
}
void
endDescTitle
()
{
t
<<
"]"
;
}
void
writeDescItem
()
{
t
<<
"
\\
par"
<<
endl
;
}
void
writeDescItem
()
{
t
<<
"
\\
par"
<<
endl
;
}
void
endDescList
()
{
t
<<
"
\\
end{Desc}"
<<
endl
;
}
void
endDescList
()
{
t
<<
"
\\
end{Desc}"
<<
endl
;
}
void
writeSection
(
const
char
*
,
const
char
*
,
bool
);
void
startSection
(
const
char
*
,
const
char
*
,
bool
);
void
endSection
(
const
char
*
,
bool
);
void
writeSectionRef
(
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRef
(
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRefItem
(
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRefItem
(
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRefAnchor
(
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRefAnchor
(
const
char
*
,
const
char
*
,
const
char
*
);
...
...
src/mangen.h
View file @
d84f6a6a
...
@@ -170,7 +170,8 @@ class ManGenerator : public OutputGenerator
...
@@ -170,7 +170,8 @@ class ManGenerator : public OutputGenerator
void
endDescTitle
();
void
endDescTitle
();
void
writeDescItem
();
void
writeDescItem
();
void
endDescList
()
{}
void
endDescList
()
{}
void
writeSection
(
const
char
*
,
const
char
*
,
bool
)
{}
void
startSection
(
const
char
*
,
const
char
*
,
bool
)
{}
void
endSection
(
const
char
*
,
bool
)
{}
void
writeSectionRef
(
const
char
*
,
const
char
*
,
const
char
*
)
{}
void
writeSectionRef
(
const
char
*
,
const
char
*
,
const
char
*
)
{}
void
writeSectionRefItem
(
const
char
*
,
const
char
*
,
const
char
*
)
{}
void
writeSectionRefItem
(
const
char
*
,
const
char
*
,
const
char
*
)
{}
void
writeSectionRefAnchor
(
const
char
*
,
const
char
*
,
const
char
*
)
{}
void
writeSectionRefAnchor
(
const
char
*
,
const
char
*
,
const
char
*
)
{}
...
...
src/outputgen.h
View file @
d84f6a6a
...
@@ -170,7 +170,8 @@ class OutputGenerator
...
@@ -170,7 +170,8 @@ class OutputGenerator
virtual
void
endDescTitle
()
=
0
;
virtual
void
endDescTitle
()
=
0
;
virtual
void
writeDescItem
()
=
0
;
virtual
void
writeDescItem
()
=
0
;
virtual
void
endDescList
()
=
0
;
virtual
void
endDescList
()
=
0
;
virtual
void
writeSection
(
const
char
*
,
const
char
*
,
bool
)
=
0
;
virtual
void
startSection
(
const
char
*
,
const
char
*
,
bool
)
=
0
;
virtual
void
endSection
(
const
char
*
,
bool
)
=
0
;
virtual
void
writeSectionRef
(
const
char
*
,
const
char
*
,
const
char
*
)
=
0
;
virtual
void
writeSectionRef
(
const
char
*
,
const
char
*
,
const
char
*
)
=
0
;
virtual
void
writeSectionRefItem
(
const
char
*
,
const
char
*
,
const
char
*
)
=
0
;
virtual
void
writeSectionRefItem
(
const
char
*
,
const
char
*
,
const
char
*
)
=
0
;
virtual
void
writeSectionRefAnchor
(
const
char
*
,
const
char
*
,
const
char
*
)
=
0
;
virtual
void
writeSectionRefAnchor
(
const
char
*
,
const
char
*
,
const
char
*
)
=
0
;
...
...
src/outputlist.cpp
View file @
d84f6a6a
...
@@ -268,6 +268,7 @@ FORALL2(bool a1,bool a2,a1,a2)
...
@@ -268,6 +268,7 @@ FORALL2(bool a1,bool a2,a1,a2)
FORALL2
(
int
a1
,
bool
a2
,
a1
,
a2
)
FORALL2
(
int
a1
,
bool
a2
,
a1
,
a2
)
FORALL1
(
IndexSections
a1
,
a1
)
FORALL1
(
IndexSections
a1
,
a1
)
FORALL2
(
const
char
*
a1
,
const
char
*
a2
,
a1
,
a2
)
FORALL2
(
const
char
*
a1
,
const
char
*
a2
,
a1
,
a2
)
FORALL2
(
const
char
*
a1
,
bool
a2
,
a1
,
a2
)
FORALL3
(
ClassDiagram
&
a1
,
const
char
*
a2
,
const
char
*
a3
,
a1
,
a2
,
a3
)
FORALL3
(
ClassDiagram
&
a1
,
const
char
*
a2
,
const
char
*
a3
,
a1
,
a2
,
a3
)
FORALL3
(
const
char
*
a1
,
const
char
*
a2
,
const
char
*
a3
,
a1
,
a2
,
a3
)
FORALL3
(
const
char
*
a1
,
const
char
*
a2
,
const
char
*
a3
,
a1
,
a2
,
a3
)
FORALL3
(
const
char
*
a1
,
const
char
*
a2
,
bool
a3
,
a1
,
a2
,
a3
)
FORALL3
(
const
char
*
a1
,
const
char
*
a2
,
bool
a3
,
a1
,
a2
,
a3
)
...
...
src/outputlist.h
View file @
d84f6a6a
...
@@ -303,8 +303,10 @@ class OutputList
...
@@ -303,8 +303,10 @@ class OutputList
{
forall
(
&
OutputGenerator
::
startIndent
);
}
{
forall
(
&
OutputGenerator
::
startIndent
);
}
void
endIndent
()
void
endIndent
()
{
forall
(
&
OutputGenerator
::
endIndent
);
}
{
forall
(
&
OutputGenerator
::
endIndent
);
}
void
writeSection
(
const
char
*
lab
,
const
char
*
title
,
bool
sub
)
void
startSection
(
const
char
*
lab
,
const
char
*
title
,
bool
sub
)
{
forall
(
&
OutputGenerator
::
writeSection
,
lab
,
title
,
sub
);
}
{
forall
(
&
OutputGenerator
::
startSection
,
lab
,
title
,
sub
);
}
void
endSection
(
const
char
*
lab
,
bool
sub
)
{
forall
(
&
OutputGenerator
::
endSection
,
lab
,
sub
);
}
void
writeSectionRef
(
const
char
*
page
,
const
char
*
lab
,
const
char
*
title
)
void
writeSectionRef
(
const
char
*
page
,
const
char
*
lab
,
const
char
*
title
)
{
forall
(
&
OutputGenerator
::
writeSectionRef
,
page
,
lab
,
title
);
}
{
forall
(
&
OutputGenerator
::
writeSectionRef
,
page
,
lab
,
title
);
}
void
writeSectionRefItem
(
const
char
*
page
,
const
char
*
lab
,
const
char
*
title
)
void
writeSectionRefItem
(
const
char
*
page
,
const
char
*
lab
,
const
char
*
title
)
...
@@ -406,6 +408,7 @@ class OutputList
...
@@ -406,6 +408,7 @@ class OutputList
#endif
#endif
FORALLPROTO2
(
int
,
bool
);
FORALLPROTO2
(
int
,
bool
);
FORALLPROTO2
(
const
char
*
,
const
char
*
);
FORALLPROTO2
(
const
char
*
,
const
char
*
);
FORALLPROTO2
(
const
char
*
,
bool
);
FORALLPROTO3
(
const
char
*
,
const
char
*
,
bool
);
FORALLPROTO3
(
const
char
*
,
const
char
*
,
bool
);
FORALLPROTO3
(
uchar
,
uchar
,
uchar
);
FORALLPROTO3
(
uchar
,
uchar
,
uchar
);
FORALLPROTO3
(
const
char
*
,
const
char
*
,
const
char
*
);
FORALLPROTO3
(
const
char
*
,
const
char
*
,
const
char
*
);
...
...
src/rtfgen.cpp
View file @
d84f6a6a
...
@@ -119,235 +119,307 @@ OutputGenerator *RTFGenerator::copy()
...
@@ -119,235 +119,307 @@ OutputGenerator *RTFGenerator::copy()
return
result
;
return
result
;
}
}
static
const
struct
static
const
char
Rtf_Style_Reset
[]
=
"
\\
pard
\\
plain "
;
struct
Rtf_Style_Default
{
{
const
char
*
name
;
const
char
*
name
;
const
char
*
value
;
const
char
*
reference
;
}
Rtf_Style_Default
[]
=
const
char
*
definition
;
};
static
const
struct
Rtf_Style_Default
Rtf_Style_Default
[]
=
{
{
{
"Reset"
,
"
\\
pard
\\
plain "
},
{
"Heading1"
,
{
"Heading1"
,
"
\\
s1
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs36
\\
kerning36
\\
cgrid "
"
\\
s1
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs36
\\
kerning36
\\
cgrid "
,
"
\\
sbasedon0
\\
snext0 heading 1"
},
},
{
"Heading2"
,
{
"Heading2"
,
"
\\
s2
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs28
\\
kerning28
\\
cgrid "
"
\\
s2
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs28
\\
kerning28
\\
cgrid "
,
"
\\
sbasedon0
\\
snext0 heading 2"
},
},
{
"Heading3"
,
{
"Heading3"
,
"
\\
s3
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
cgrid "
"
\\
s3
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
cgrid "
,
"
\\
sbasedon0
\\
snext0 heading 3"
},
},
{
"Heading4"
,
{
"Heading4"
,
"
\\
s4
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs20
\\
cgrid "
"
\\
s4
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext0 heading 4;}{
\\
*
\\
cs10
\\
additive Default Paragraph Font"
},
},
{
"Title"
,
{
"Title"
,
"
\\
s15
\\
qc
\\
sb240
\\
sa60
\\
widctlpar
\\
outlinelevel0
\\
adjustright
\\
b
\\
f1
\\
fs32
\\
kerning28
\\
cgrid "
"
\\
s15
\\
qc
\\
sb240
\\
sa60
\\
widctlpar
\\
outlinelevel0
\\
adjustright
\\
b
\\
f1
\\
fs32
\\
kerning28
\\
cgrid "
,
"
\\
sbasedon0
\\
snext15 Title"
},
},
{
"SubTitle"
,
{
"SubTitle"
,
"
\\
s16
\\
qc
\\
sa60
\\
widctlpar
\\
outlinelevel1
\\
adjustright
\\
f1
\\
cgrid "
"
\\
s16
\\
qc
\\
sa60
\\
widctlpar
\\
outlinelevel1
\\
adjustright
\\
f1
\\
cgrid "
,
"
\\
sbasedon0
\\
snext16 Subtitle"
},
},
{
"BodyText"
,
{
"BodyText"
,
"
\\
s17
\\
sa60
\\
sb30
\\
widctlpar
\\
qj
\\
fs22
\\
cgrid "
"
\\
s17
\\
sa60
\\
sb30
\\
widctlpar
\\
qj
\\
fs22
\\
cgrid "
,
"
\\
sbasedon0
\\
snext17 BodyText"
},
},
{
"DenseText"
,
{
"DenseText"
,
"
\\
s18
\\
widctlpar
\\
fs22
\\
cgrid "
"
\\
s18
\\
widctlpar
\\
fs22
\\
cgrid "
,
"
\\
sbasedon0
\\
snext18 DenseText"
},
},
{
"Header"
,
{
"Header"
,
"
\\
s28
\\
widctlpar
\\
tqc
\\
tx4320
\\
tqr
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s28
\\
widctlpar
\\
tqc
\\
tx4320
\\
tqr
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext28 header"
},
},
{
"Footer"
,
{
"Footer"
,
"
\\
s29
\\
widctlpar
\\
tqc
\\
tx4320
\\
tqr
\\
tx8640
\\
qr
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s29
\\
widctlpar
\\
tqc
\\
tx4320
\\
tqr
\\
tx8640
\\
qr
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext29 footer"
},
},
{
"GroupHeader"
,
{
"GroupHeader"
,
"
\\
s30
\\
li360
\\
sa60
\\
sb120
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs20
\\
cgrid "
"
\\
s30
\\
li360
\\
sa60
\\
sb120
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext30 GroupHeader"
},
},
{
"CodeExample0"
,
{
"CodeExample0"
,
"
\\
s40
\\
li0
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
"
\\
s40
\\
li0
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext41 Code Example 0"
},
},
{
"CodeExample1"
,
{
"CodeExample1"
,
"
\\
s41
\\
li360
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
"
\\
s41
\\
li360
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext42 Code Example 1"
},
},
{
"CodeExample2"
,
{
"CodeExample2"
,
"
\\
s42
\\
li720
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
"
\\
s42
\\
li720
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext43 Code Example 2"
},
},
{
"CodeExample3"
,
{
"CodeExample3"
,
"
\\
s43
\\
li1080
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
"
\\
s43
\\
li1080
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext44 Code Example 3"
},
},
{
"CodeExample4"
,
{
"CodeExample4"
,
"
\\
s44
\\
li1440
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
"
\\
s44
\\
li1440
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext45 Code Example 4"
},
},
{
"CodeExample5"
,
{
"CodeExample5"
,
"
\\
s45
\\
li1800
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
"
\\
s45
\\
li1800
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext46 Code Example 5"
},
},
{
"CodeExample6"
,
{
"CodeExample6"
,
"
\\
s46
\\
li2160
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
"
\\
s46
\\
li2160
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext47 Code Example 6"
},
},
{
"CodeExample7"
,
{
"CodeExample7"
,
"
\\
s47
\\
li2520
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
"
\\
s47
\\
li2520
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext48 Code Example 7"
},
},
{
"CodeExample8"
,
{
"CodeExample8"
,
"
\\
s48
\\
li2880
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
"
\\
s48
\\
li2880
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext49 Code Example 8"
},
},
{
"CodeExample9"
,
{
"CodeExample9"
,
"
\\
s49
\\
li3240
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
"
\\
s49
\\
li3240
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext49 Code Example 9"
},
},
{
"ListContinue0"
,
{
"ListContinue0"
,
"
\\
s50
\\
li0
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s50
\\
li0
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext51 List Continue 0"
},
},
{
"ListContinue1"
,
{
"ListContinue1"
,
"
\\
s51
\\
li360
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s51
\\
li360
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext52 List Continue 1"
},
},
{
"ListContinue2"
,
{
"ListContinue2"
,
"
\\
s52
\\
li720
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s52
\\
li720
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext53 List Continue 2"
},
},
{
"ListContinue3"
,
{
"ListContinue3"
,
"
\\
s53
\\
li1080
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s53
\\
li1080
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext54 List Continue 3"
},
},
{
"ListContinue4"
,
{
"ListContinue4"
,
"
\\
s54
\\
li1440
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s54
\\
li1440
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext55 List Continue 4"
},
},
{
"ListContinue5"
,
{
"ListContinue5"
,
"
\\
s55
\\
li1800
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s55
\\
li1800
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext56 List Continue 5"
},
},
{
"ListContinue6"
,
{
"ListContinue6"
,
"
\\
s56
\\
li2160
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s56
\\
li2160
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext57 List Continue 6"
},
},
{
"ListContinue7"
,
{
"ListContinue7"
,
"
\\
s57
\\
li2520
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s57
\\
li2520
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext58 List Continue 7"
},
},
{
"ListContinue8"
,
{
"ListContinue8"
,
"
\\
s58
\\
li2880
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s58
\\
li2880
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext59 List Continue 8"
},
},
{
"ListContinue9"
,
{
"ListContinue9"
,
"
\\
s59
\\
li3240
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s59
\\
li3240
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext59 List Continue 9"
},
},
{
"DescContinue0"
,
{
"DescContinue0"
,
"
\\
s60
\\
li0
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s60
\\
li0
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext61 DescContinue 0"
},
},
{
"DescContinue1"
,
{
"DescContinue1"
,
"
\\
s61
\\
li360
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s61
\\
li360
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext62 DescContinue 1"
},
},
{
"DescContinue2"
,
{
"DescContinue2"
,
"
\\
s62
\\
li720
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s62
\\
li720
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext63 DescContinue 2"
},
},
{
"DescContinue3"
,
{
"DescContinue3"
,
"
\\
s63
\\
li1080
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s63
\\
li1080
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext64 DescContinue 3"
},
},
{
"DescContinue4"
,
{
"DescContinue4"
,
"
\\
s64
\\
li1440
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s64
\\
li1440
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext65 DescContinue 4"
},
},
{
"DescContinue5"
,
{
"DescContinue5"
,
"
\\
s65
\\
li1800
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s65
\\
li1800
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext66 DescContinue 5"
},
},
{
"DescContinue6"
,
{
"DescContinue6"
,
"
\\
s66
\\
li2160
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s66
\\
li2160
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext67 DescContinue 6"
},
},
{
"DescContinue7"
,
{
"DescContinue7"
,
"
\\
s67
\\
li2520
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s67
\\
li2520
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext68 DescContinue 7"
},
},
{
"DescContinue8"
,
{
"DescContinue8"
,
"
\\
s68
\\
li2880
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s68
\\
li2880
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext69 DescContinue 8"
},
},
{
"DescContinue9"
,
{
"DescContinue9"
,
"
\\
s69
\\
li3240
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s69
\\
li3240
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext69 DescContinue 9"
},
},
{
"LatexTOC0"
,
{
"LatexTOC0"
,
"
\\
s70
\\
li0
\\
sa30
\\
sb30
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s70
\\
li0
\\
sa30
\\
sb30
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext81 LatexTOC 0"
},
},
{
"LatexTOC1"
,
{
"LatexTOC1"
,
"
\\
s71
\\
li360
\\
sa27
\\
sb27
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s71
\\
li360
\\
sa27
\\
sb27
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext82 LatexTOC 1"
},
},
{
"LatexTOC2"
,
{
"LatexTOC2"
,
"
\\
s72
\\
li720
\\
sa24
\\
sb24
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s72
\\
li720
\\
sa24
\\
sb24
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext83 LatexTOC 2"
},
},
{
"LatexTOC3"
,
{
"LatexTOC3"
,
"
\\
s73
\\
li1080
\\
sa21
\\
sb21
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s73
\\
li1080
\\
sa21
\\
sb21
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext84 LatexTOC 3"
},
},
{
"LatexTOC4"
,
{
"LatexTOC4"
,
"
\\
s74
\\
li1440
\\
sa18
\\
sb18
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s74
\\
li1440
\\
sa18
\\
sb18
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext85 LatexTOC 4"
},
},
{
"LatexTOC5"
,
{
"LatexTOC5"
,
"
\\
s75
\\
li1800
\\
sa15
\\
sb15
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s75
\\
li1800
\\
sa15
\\
sb15
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext86 LatexTOC 5"
},
},
{
"LatexTOC6"
,
{
"LatexTOC6"
,
"
\\
s76
\\
li2160
\\
sa12
\\
sb12
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s76
\\
li2160
\\
sa12
\\
sb12
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext87 LatexTOC 6"
},
},
{
"LatexTOC7"
,
{
"LatexTOC7"
,
"
\\
s77
\\
li2520
\\
sa9
\\
sb9
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s77
\\
li2520
\\
sa9
\\
sb9
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext88 LatexTOC 7"
},
},
{
"LatexTOC8"
,
{
"LatexTOC8"
,
"
\\
s78
\\
li2880
\\
sa6
\\
sb6
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s78
\\
li2880
\\
sa6
\\
sb6
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext89 LatexTOC 8"
},
},
{
"LatexTOC9"
,
{
"LatexTOC9"
,
"
\\
s79
\\
li3240
\\
sa3
\\
sb3
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s79
\\
li3240
\\
sa3
\\
sb3
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext89 LatexTOC 9"
},
},
{
"ListBullet0"
,
{
"ListBullet0"
,
"
\\
s80
\\
fi-360
\\
li360
\\
widctlpar
\\
jclisttab
\\
tx360{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls1
\\
pnrnot0
\\
pndec }
\\
ls1
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s80
\\
fi-360
\\
li360
\\
widctlpar
\\
jclisttab
\\
tx360{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls1
\\
pnrnot0
\\
pndec }
\\
ls1
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext81
\\
sautoupd List Bullet 0"
},
},
{
"ListBullet1"
,
{
"ListBullet1"
,
"
\\
s81
\\
fi-360
\\
li720
\\
widctlpar
\\
jclisttab
\\
tx720{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls2
\\
pnrnot0
\\
pndec }
\\
ls2
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s81
\\
fi-360
\\
li720
\\
widctlpar
\\
jclisttab
\\
tx720{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls2
\\
pnrnot0
\\
pndec }
\\
ls2
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext82
\\
sautoupd List Bullet 1"
},
},
{
"ListBullet2"
,
{
"ListBullet2"
,
"
\\
s82
\\
fi-360
\\
li1080
\\
widctlpar
\\
jclisttab
\\
tx1080{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls3
\\
pnrnot0
\\
pndec }
\\
ls3
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s82
\\
fi-360
\\
li1080
\\
widctlpar
\\
jclisttab
\\
tx1080{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls3
\\
pnrnot0
\\
pndec }
\\
ls3
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext83
\\
sautoupd List Bullet 2"
},
},
{
"ListBullet3"
,
{
"ListBullet3"
,
"
\\
s83
\\
fi-360
\\
li1440
\\
widctlpar
\\
jclisttab
\\
tx1440{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls4
\\
pnrnot0
\\
pndec }
\\
ls4
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s83
\\
fi-360
\\
li1440
\\
widctlpar
\\
jclisttab
\\
tx1440{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls4
\\
pnrnot0
\\
pndec }
\\
ls4
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext84
\\
sautoupd List Bullet 3"
},
},
{
"ListBullet4"
,
{
"ListBullet4"
,
"
\\
s84
\\
fi-360
\\
li1800
\\
widctlpar
\\
jclisttab
\\
tx1800{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls5
\\
pnrnot0
\\
pndec }
\\
ls5
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s84
\\
fi-360
\\
li1800
\\
widctlpar
\\
jclisttab
\\
tx1800{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls5
\\
pnrnot0
\\
pndec }
\\
ls5
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext85
\\
sautoupd List Bullet 4"
},
},
{
"ListBullet5"
,
{
"ListBullet5"
,
"
\\
s85
\\
fi-360
\\
li2160
\\
widctlpar
\\
jclisttab
\\
tx2160{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls6
\\
pnrnot0
\\
pndec }
\\
ls6
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s85
\\
fi-360
\\
li2160
\\
widctlpar
\\
jclisttab
\\
tx2160{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls6
\\
pnrnot0
\\
pndec }
\\
ls6
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext86
\\
sautoupd List Bullet 5"
},
},
{
"ListBullet6"
,
{
"ListBullet6"
,
"
\\
s86
\\
fi-360
\\
li2520
\\
widctlpar
\\
jclisttab
\\
tx2520{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls7
\\
pnrnot0
\\
pndec }
\\
ls7
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s86
\\
fi-360
\\
li2520
\\
widctlpar
\\
jclisttab
\\
tx2520{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls7
\\
pnrnot0
\\
pndec }
\\
ls7
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext87
\\
sautoupd List Bullet 6"
},
},
{
"ListBullet7"
,
{
"ListBullet7"
,
"
\\
s87
\\
fi-360
\\
li2880
\\
widctlpar
\\
jclisttab
\\
tx2880{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls8
\\
pnrnot0
\\
pndec }
\\
ls8
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s87
\\
fi-360
\\
li2880
\\
widctlpar
\\
jclisttab
\\
tx2880{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls8
\\
pnrnot0
\\
pndec }
\\
ls8
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext88
\\
sautoupd List Bullet 7"
},
},
{
"ListBullet8"
,
{
"ListBullet8"
,
"
\\
s88
\\
fi-360
\\
li3240
\\
widctlpar
\\
jclisttab
\\
tx3240{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls9
\\
pnrnot0
\\
pndec }
\\
ls9
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s88
\\
fi-360
\\
li3240
\\
widctlpar
\\
jclisttab
\\
tx3240{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls9
\\
pnrnot0
\\
pndec }
\\
ls9
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext89
\\
sautoupd List Bullet 8"
},
},
{
"ListBullet9"
,
{
"ListBullet9"
,
"
\\
s89
\\
fi-360
\\
li3600
\\
widctlpar
\\
jclisttab
\\
tx3600{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls10
\\
pnrnot0
\\
pndec }
\\
ls10
\\
adjustright
\\
fs20
\\
cgrid "
"
\\
s89
\\
fi-360
\\
li3600
\\
widctlpar
\\
jclisttab
\\
tx3600{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls10
\\
pnrnot0
\\
pndec }
\\
ls10
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext89
\\
sautoupd List Bullet 9"
},
},
{
"ListEnum0"
,
{
"ListEnum0"
,
"
\\
s90
\\
fi-360
\\
li360
\\
widctlpar
\\
fs20
\\
cgrid "
"
\\
s90
\\
fi-360
\\
li360
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext91
\\
sautoupd List Enum 0"
},
},
{
"ListEnum1"
,
{
"ListEnum1"
,
"
\\
s91
\\
fi-360
\\
li720
\\
widctlpar
\\
fs20
\\
cgrid "
"
\\
s91
\\
fi-360
\\
li720
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext92
\\
sautoupd List Enum 1"
},
},
{
"ListEnum2"
,
{
"ListEnum2"
,
"
\\
s92
\\
fi-360
\\
li1080
\\
widctlpar
\\
fs20
\\
cgrid "
"
\\
s92
\\
fi-360
\\
li1080
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext93
\\
sautoupd List Enum 2"
},
},
{
"ListEnum3"
,
{
"ListEnum3"
,
"
\\
s93
\\
fi-360
\\
li1440
\\
widctlpar
\\
fs20
\\
cgrid "
"
\\
s93
\\
fi-360
\\
li1440
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext94
\\
sautoupd List Enum 3"
},
},
{
"ListEnum4"
,
{
"ListEnum4"
,
"
\\
s94
\\
fi-360
\\
li1800
\\
widctlpar
\\
fs20
\\
cgrid "
"
\\
s94
\\
fi-360
\\
li1800
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext95
\\
sautoupd List Enum 4"
},
},
{
"ListEnum5"
,
{
"ListEnum5"
,
"
\\
s95
\\
fi-360
\\
li2160
\\
widctlpar
\\
fs20
\\
cgrid "
"
\\
s95
\\
fi-360
\\
li2160
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext96
\\
sautoupd List Enum 5"
},
},
{
"ListEnum6"
,
{
"ListEnum6"
,
"
\\
s96
\\
fi-360
\\
li2520
\\
widctlpar
\\
fs20
\\
cgrid "
"
\\
s96
\\
fi-360
\\
li2520
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext96
\\
sautoupd List Enum 5"
},
},
{
"ListEnum7"
,
{
"ListEnum7"
,
"
\\
s97
\\
fi-360
\\
li2880
\\
widctlpar
\\
fs20
\\
cgrid "
"
\\
s97
\\
fi-360
\\
li2880
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext98
\\
sautoupd List Enum 7"
},
},
{
"ListEnum8"
,
{
"ListEnum8"
,
"
\\
s98
\\
fi-360
\\
li3240
\\
widctlpar
\\
fs20
\\
cgrid "
"
\\
s98
\\
fi-360
\\
li3240
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext99
\\
sautoupd List Enum 8"
},
},
{
"ListEnum9"
,
{
"ListEnum9"
,
"
\\
s99
\\
fi-360
\\
li3600
\\
widctlpar
\\
fs20
\\
cgrid "
"
\\
s99
\\
fi-360
\\
li3600
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext99
\\
sautoupd List Enum 9"
},
},
{
0
,
{
0
,
0
0
,
0
}
}
};
};
static
QDict
<
char
>
Rtf_Style
(
257
);
void
RTFGenerator
::
writeStyleSheetFile
(
QFile
&
file
)
void
RTFGenerator
::
writeStyleSheetFile
(
QFile
&
file
)
{
{
QTextStream
t
(
&
file
);
QTextStream
t
(
&
file
);
...
@@ -357,14 +429,115 @@ void RTFGenerator::writeStyleSheetFile(QFile &file)
...
@@ -357,14 +429,115 @@ void RTFGenerator::writeStyleSheetFile(QFile &file)
t
<<
"# Remove a hash to activate a line.
\n\n
"
;
t
<<
"# Remove a hash to activate a line.
\n\n
"
;
int
i
;
int
i
;
for
(
i
=
0
;
Rtf_Style_Default
[
i
].
nam
e
!=
0
;
i
++
)
for
(
i
=
0
;
Rtf_Style_Default
[
i
].
referenc
e
!=
0
;
i
++
)
{
{
t
<<
"# "
<<
Rtf_Style_Default
[
i
].
name
<<
" = "
t
<<
"# "
<<
Rtf_Style_Default
[
i
].
name
<<
" = "
<<
Rtf_Style_Default
[
i
].
value
<<
endl
;
<<
Rtf_Style_Default
[
i
].
reference
<<
Rtf_Style_Default
[
i
].
definition
<<
endl
;
}
}
struct
StyleData
{
// elements of this type are stored in dictionary Rtf_Style
//
// to define a tag in the header reference + definition is required
// to use a tag in the body of the document only reference is required
unsigned
index
;
// index in style-sheet, i.e. number in s-clause
char
*
reference
;
// everything required to apply the style
char
*
definition
;
// aditional tags like \snext and style name
StyleData
(
const
char
*
reference
,
const
char
*
definition
);
~
StyleData
();
bool
setStyle
(
const
char
*
s
,
const
char
*
styleName
);
static
const
QRegExp
s_clause
;
};
const
QRegExp
StyleData
::
s_clause
(
"
\\\\
s[0-9]+
\\
s*"
);
StyleData
::
StyleData
(
const
char
*
reference
,
const
char
*
definition
)
{
int
start
=
s_clause
.
match
(
reference
);
ASSERT
(
start
>=
0
);
reference
+=
start
;
index
=
(
int
)
atol
(
reference
+
2
);
ASSERT
(
index
>
0
);
ASSERT
(
reference
!=
0
);
size_t
size
=
1
+
strlen
(
reference
);
memcpy
(
this
->
reference
=
new
char
[
size
],
reference
,
size
);
ASSERT
(
definition
!=
0
);
size
=
1
+
strlen
(
definition
);
memcpy
(
this
->
definition
=
new
char
[
size
],
definition
,
size
);
}
StyleData
::~
StyleData
()
{
delete
[]
reference
;
delete
[]
definition
;
}
bool
StyleData
::
setStyle
(
const
char
*
s
,
const
char
*
styleName
)
{
static
const
QRegExp
subgroup
(
"^{[^}]*}
\\
s*"
);
static
const
QRegExp
any_clause
(
"^
\\\\
[a-z][a-z0-9-]*
\\
s*"
);
int
len
;
int
start
=
s_clause
.
match
(
s
,
0
,
&
len
);
if
(
start
<
0
)
{
err
(
"Style sheet '%s' contains no '
\\
s' clause.
\n
{%s}
\n
"
,
styleName
,
s
);
return
false
;
}
s
+=
start
;
index
=
(
int
)
atol
(
s
+
2
);
ASSERT
(
index
>
0
);
// search for the end of pure formatting codes
const
char
*
end
=
s
+
len
;
bool
haveNewDefinition
=
true
;
for
(;;)
{
if
(
*
end
==
'{'
)
{
// subgroups are used for \\additive
if
(
0
!=
subgroup
.
match
(
end
,
0
,
&
len
))
break
;
else
end
+=
len
;
}
else
if
(
*
end
==
'\\'
)
{
if
(
0
==
strncmp
(
end
,
"
\\
snext"
,
6
))
break
;
if
(
0
==
strncmp
(
end
,
"
\\
sbasedon"
,
9
))
break
;
if
(
0
!=
any_clause
.
match
(
end
,
0
,
&
len
))
break
;
end
+=
len
;
}
else
if
(
*
end
==
0
)
{
// no style-definition part, keep default value
haveNewDefinition
=
false
;
break
;
}
else
// plain name without leading \\snext
break
;
}
delete
[]
reference
;
reference
=
new
char
[
len
+
1
];
memcpy
(
reference
,
s
,
len
);
reference
[
len
]
=
0
;
if
(
haveNewDefinition
)
{
delete
[]
definition
;
size_t
size
=
1
+
strlen
(
end
);
definition
=
new
char
[
size
];
memcpy
(
definition
,
end
,
size
);
}
}
return
true
;
}
}
static
void
loadStylesheet
(
const
char
*
name
)
static
void
loadStylesheet
(
const
char
*
name
,
QDict
<
StyleData
>&
dict
)
{
{
QFile
file
(
name
);
QFile
file
(
name
);
if
(
!
file
.
open
(
IO_ReadOnly
))
if
(
!
file
.
open
(
IO_ReadOnly
))
...
@@ -390,21 +563,24 @@ static void loadStylesheet(const char *name)
...
@@ -390,21 +563,24 @@ static void loadStylesheet(const char *name)
continue
;
continue
;
}
}
QCString
key
=
s
.
left
(
sepStart
);
QCString
key
=
s
.
left
(
sepStart
);
if
(
Rtf_Style
[
key
]
==
0
)
// not a valid style sheet name
if
(
dict
[
key
]
==
0
)
// not a valid style sheet name
{
{
warn
(
name
,
lineNr
,
"Invalid style sheet name %s ignored.
\n
"
,
key
.
data
());
warn
(
name
,
lineNr
,
"Invalid style sheet name %s ignored.
\n
"
,
key
.
data
());
continue
;
continue
;
}
}
StyleData
*
styleData
=
dict
.
find
(
key
);
if
(
styleData
==
0
)
{
warn
(
name
,
lineNr
,
"Unknown style sheet name %s ignored.
\n
"
,
key
.
data
());
continue
;
}
s
+=
" "
;
// add command separator
s
+=
" "
;
// add command separator
Rtf_Style
.
remove
(
key
);
// remove old key
styleData
->
setStyle
(
s
.
data
()
+
sepStart
+
sepLength
,
key
.
data
());
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
++
;
lineNr
++
;
}
}
}
}
static
QDict
<
StyleData
>
Rtf_Style
(
257
);
void
RTFGenerator
::
init
()
void
RTFGenerator
::
init
()
{
{
...
@@ -415,25 +591,24 @@ void RTFGenerator::init()
...
@@ -415,25 +591,24 @@ void RTFGenerator::init()
err
(
"Could not create output directory %s
\n
"
,
dir
.
data
());
err
(
"Could not create output directory %s
\n
"
,
dir
.
data
());
exit
(
1
);
exit
(
1
);
}
}
Rtf_Style
.
setAutoDelete
(
true
);
Rtf_Style
.
setAutoDelete
(
TRUE
);
// first duplicate strings of Rtf_Style_Default
int
i
=
0
;
const
struct
Rtf_Style_Default
*
def
=
Rtf_Style_Default
;
while
(
Rtf_Style_Default
[
i
].
name
!=
0
)
while
(
def
->
reference
!=
0
)
{
{
i
nt
l
=
strlen
(
Rtf_Style_Default
[
i
].
value
);
i
f
(
def
->
definition
==
0
)
char
*
value
=
new
char
[
l
+
1
]
;
err
(
"Internal error: Rtf_Style_Default[%s] has no definition.
\n
"
,
def
->
name
)
;
strcpy
(
value
,
Rtf_Style_Default
[
i
].
value
);
StyleData
*
styleData
=
new
StyleData
(
def
->
reference
,
def
->
definition
);
Rtf_Style
.
insert
(
Rtf_Style_Default
[
i
].
name
,
value
);
Rtf_Style
.
insert
(
def
->
name
,
styleData
);
i
++
;
def
++
;
}
}
// overwrite some (or all) definitions from file
if
(
!
Config
::
rtfStylesheetFile
.
isEmpty
())
if
(
!
Config
::
rtfStylesheetFile
.
isEmpty
())
{
loadStylesheet
(
Config
::
rtfStylesheetFile
,
Rtf_Style
);
loadStylesheet
(
Config
::
rtfStylesheetFile
);
}
}
}
static
QCString
makeIndexName
(
const
char
*
s
,
int
i
)
static
QCString
makeIndexName
(
const
char
*
s
,
int
i
)
{
{
QCString
result
=
s
;
QCString
result
=
s
;
...
@@ -443,7 +618,6 @@ static QCString makeIndexName(const char *s,int i)
...
@@ -443,7 +618,6 @@ static QCString makeIndexName(const char *s,int i)
void
RTFGenerator
::
beginRTFDocument
()
void
RTFGenerator
::
beginRTFDocument
()
{
{
int
i
;
/* all the included RTF files should begin with the
/* all the included RTF files should begin with the
* same header
* same header
*/
*/
...
@@ -475,58 +649,40 @@ void RTFGenerator::beginRTFDocument()
...
@@ -475,58 +649,40 @@ void RTFGenerator::beginRTFDocument()
t
<<
"
\\
red128
\\
green128
\\
blue128;"
;
t
<<
"
\\
red128
\\
green128
\\
blue128;"
;
t
<<
"
\\
red192
\\
green192
\\
blue192;}"
<<
endl
;
t
<<
"
\\
red192
\\
green192
\\
blue192;}"
<<
endl
;
DBG_RTF
(
t
<<
"{
\\
comment Begining style list}
\n
"
)
DBG_RTF
(
t
<<
"{
\\
comment Begin
n
ing style list}
\n
"
)
t
<<
"{
\\
stylesheet
\n
"
;
t
<<
"{
\\
stylesheet
\n
"
;
t
<<
"{
\\
widctlpar
\\
adjustright
\\
fs20
\\
cgrid
\\
snext0 Normal;}
\n
"
;
t
<<
"{
\\
widctlpar
\\
adjustright
\\
fs20
\\
cgrid
\\
snext0 Normal;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"Heading1"
]
<<
"
\\
sbasedon0
\\
snext0 heading 1;}
\n
"
;
t
<<
"{"
<<
Rtf_Style
[
"Heading2"
]
<<
"
\\
sbasedon0
\\
snext0 heading 2;}
\n
"
;
// sort styles ascending by \s-number via an intermediate QArray
t
<<
"{"
<<
Rtf_Style
[
"Heading3"
]
<<
"
\\
sbasedon0
\\
snext0 heading 3;}
\n
"
;
QArray
<
const
StyleData
*>
array
(
128
);
t
<<
"{"
<<
Rtf_Style
[
"Heading4"
]
<<
"
\\
sbasedon0
\\
snext0 heading 4;}
\n
"
;
array
.
fill
(
0
);
t
<<
"{
\\
*
\\
cs10
\\
additive Default Paragraph Font;}
\n
"
;
QDictIterator
<
StyleData
>
iter
(
Rtf_Style
);
t
<<
"{"
<<
Rtf_Style
[
"Title"
]
<<
"
\\
sbasedon0
\\
snext15 Title;}
\n
"
;
const
StyleData
*
style
;
t
<<
"{"
<<
Rtf_Style
[
"SubTitle"
]
<<
"
\\
sbasedon0
\\
snext16 Subtitle;}
\n
"
;
for
(;
(
style
=
iter
.
current
());
++
iter
)
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
++
)
{
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
++
)
{
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
++
)
{
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
++
)
{
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
++
)
{
{
QCString
n
=
makeIndexName
(
"ListBullet"
,
i
);
unsigned
index
=
style
->
index
;
t
<<
"{"
<<
Rtf_Style
[
n
]
<<
"
\\
sbasedon0
\\
snext8"
unsigned
size
=
array
.
size
();
<<
(
QMIN
(
i
+
1
,
indentLevels
-
1
))
<<
"
\\
sautoupd List Bullet "
<<
i
<<
";}
\n
"
;
if
(
index
>=
size
)
{
// +1 to add at least one element, then align up to multiple of 8
array
.
resize
((
index
+
1
+
7
)
&
~
7
);
array
.
fill
(
0
,
size
);
ASSERT
(
index
<
array
.
size
());
}
if
(
array
.
at
(
index
)
!=
0
)
msg
(
"Style '%s' redefines
\\
s%d.
\n
"
,
iter
.
currentKey
(),
index
);
array
.
at
(
index
)
=
style
;
}
}
for
(
i
=
0
;
i
<
indentLevels
;
i
++
)
// write array elements
unsigned
size
=
array
.
size
();
for
(
unsigned
i
=
0
;
i
<
size
;
i
++
)
{
{
QCString
n
=
makeIndexName
(
"ListEnum"
,
i
);
const
StyleData
*
style
=
array
.
at
(
i
);
t
<<
"{"
<<
Rtf_Style
[
n
]
<<
"
\\
sbasedon0
\\
snext9"
if
(
style
!=
0
)
<<
(
QMIN
(
i
+
1
,
indentLevels
-
1
))
<<
"
\\
sautoupd List Enum "
<<
i
<<
";}
\n
"
;
t
<<
"{"
<<
style
->
reference
<<
style
->
definition
<<
";}
\n
"
;
}
}
t
<<
"}"
<<
endl
;
t
<<
"}"
<<
endl
;
// this comment is needed for postprocessing!
// this comment is needed for postprocessing!
t
<<
"{
\\
comment begin body}"
<<
endl
;
t
<<
"{
\\
comment begin body}"
<<
endl
;
...
@@ -537,7 +693,7 @@ void RTFGenerator::beginRTFChapter()
...
@@ -537,7 +693,7 @@ void RTFGenerator::beginRTFChapter()
{
{
t
<<
"
\n
"
;
t
<<
"
\n
"
;
DBG_RTF
(
t
<<
"{
\\
comment Begin Chapter}
\n
"
)
DBG_RTF
(
t
<<
"{
\\
comment Begin Chapter}
\n
"
)
t
<<
Rtf_Style
[
"Reset"
]
;
t
<<
Rtf_Style
_Reset
;
// if we are compact, no extra page breaks...
// if we are compact, no extra page breaks...
if
(
Config
::
compactRTFFlag
)
if
(
Config
::
compactRTFFlag
)
...
@@ -550,14 +706,14 @@ void RTFGenerator::beginRTFChapter()
...
@@ -550,14 +706,14 @@ void RTFGenerator::beginRTFChapter()
t
<<
"
\\
sect
\\
sbkpage
\n
"
;
t
<<
"
\\
sect
\\
sbkpage
\n
"
;
//t <<"\\sect\\sectd\\sbkpage\n";
//t <<"\\sect\\sectd\\sbkpage\n";
t
<<
Rtf_Style
[
"Heading1"
]
<<
"
\n
"
;
t
<<
Rtf_Style
[
"Heading1"
]
->
reference
<<
"
\n
"
;
}
}
void
RTFGenerator
::
beginRTFSection
()
void
RTFGenerator
::
beginRTFSection
()
{
{
t
<<
"
\n
"
;
t
<<
"
\n
"
;
DBG_RTF
(
t
<<
"{
\\
comment Begin Section}
\n
"
)
DBG_RTF
(
t
<<
"{
\\
comment Begin Section}
\n
"
)
t
<<
Rtf_Style
[
"Reset"
]
;
t
<<
Rtf_Style
_Reset
;
// if we are compact, no extra page breaks...
// if we are compact, no extra page breaks...
if
(
Config
::
compactRTFFlag
)
if
(
Config
::
compactRTFFlag
)
...
@@ -570,7 +726,7 @@ void RTFGenerator::beginRTFSection()
...
@@ -570,7 +726,7 @@ void RTFGenerator::beginRTFSection()
t
<<
"
\\
sect
\\
sbkpage
\n
"
;
t
<<
"
\\
sect
\\
sbkpage
\n
"
;
//t <<"\\sect\\sectd\\sbkpage\n";
//t <<"\\sect\\sectd\\sbkpage\n";
t
<<
Rtf_Style
[
"Heading2"
]
<<
"
\n
"
;
t
<<
Rtf_Style
[
"Heading2"
]
->
reference
<<
"
\n
"
;
}
}
void
RTFGenerator
::
startFile
(
const
char
*
name
,
const
char
*
,
bool
)
void
RTFGenerator
::
startFile
(
const
char
*
name
,
const
char
*
,
bool
)
...
@@ -747,14 +903,14 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -747,14 +903,14 @@ void RTFGenerator::endIndexSection(IndexSections is)
"}"
;
"}"
;
DBG_RTF
(
t
<<
"{
\\
comment end of infoblock}
\n
"
)
DBG_RTF
(
t
<<
"{
\\
comment end of infoblock}
\n
"
)
// setup for this section
// setup for this section
t
<<
Rtf_Style
[
"Reset"
]
<<
"
\n
"
;
t
<<
Rtf_Style
_Reset
<<
"
\n
"
;
t
<<
"
\\
sectd
\\
pgnlcrm
\n
"
;
t
<<
"
\\
sectd
\\
pgnlcrm
\n
"
;
t
<<
"{
\\
footer "
<<
Rtf_Style
[
"Footer"
]
<<
"{
\\
chpgn}}
\n
"
;
t
<<
"{
\\
footer "
<<
Rtf_Style
[
"Footer"
]
->
reference
<<
"{
\\
chpgn}}
\n
"
;
// the title entry
// the title entry
DBG_RTF
(
t
<<
"{
\\
comment begin title page}
\n
"
)
DBG_RTF
(
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"
]
->
reference
<<
endl
;
// set to title style
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst TITLE
\\\\
*MERGEFORMAT}{
\\
fldrslt TITLE}}
\\
par"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst TITLE
\\\\
*MERGEFORMAT}{
\\
fldrslt TITLE}}
\\
par"
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_Style
[
"SubTitle"
]
<<
endl
;
// set to subtitle style
t
<<
Rtf_Style
_Reset
<<
Rtf_Style
[
"SubTitle"
]
->
reference
<<
endl
;
// set to subtitle style
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst AUTHOR
\\\\
*MERGEFORMAT}{
\\
fldrslt AUTHOR}}
\\
par"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst AUTHOR
\\\\
*MERGEFORMAT}{
\\
fldrslt AUTHOR}}
\\
par"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst CREATEDATE
\\\\
*MERGEFORMAT}"
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst CREATEDATE
\\\\
*MERGEFORMAT}"
"{
\\
fldrslt CREATEDATE}}
\\
par"
<<
endl
;
"{
\\
fldrslt CREATEDATE}}
\\
par"
<<
endl
;
...
@@ -762,44 +918,44 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -762,44 +918,44 @@ void RTFGenerator::endIndexSection(IndexSections is)
// table of contents section
// table of contents section
DBG_RTF
(
t
<<
"{
\\
comment Table of contents}
\n
"
)
DBG_RTF
(
t
<<
"{
\\
comment Table of contents}
\n
"
)
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst TOC
\\\\
f
\\\\
*MERGEFORMAT}{
\\
fldrslt Table of contents}}
\\
par
\n
"
;
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst TOC
\\\\
f
\\\\
*MERGEFORMAT}{
\\
fldrslt Table of contents}}
\\
par
\n
"
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
endl
;
}
}
break
;
break
;
case
isMainPage
:
case
isMainPage
:
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trMainPage
()
<<
"}"
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trMainPage
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
index.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
index.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
break
;
case
isModuleIndex
:
case
isModuleIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trModuleIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trModuleIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
modules.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
modules.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
break
;
case
isNamespaceIndex
:
case
isNamespaceIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trNamespaceIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trNamespaceIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
namespaces.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
namespaces.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
break
;
case
isClassHierarchyIndex
:
case
isClassHierarchyIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trHierarchicalIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trHierarchicalIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
hierarchy.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
hierarchy.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
break
;
case
isCompoundIndex
:
case
isCompoundIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trCompoundIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trCompoundIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
annotated.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
annotated.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
break
;
case
isFileIndex
:
case
isFileIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trFileIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trFileIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
files.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
files.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
break
;
case
isPageIndex
:
case
isPageIndex
:
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trPageIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
tc
\\
v "
<<
theTranslator
->
trPageIndex
()
<<
"}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
pages.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
pages.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
break
;
break
;
...
@@ -812,7 +968,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -812,7 +968,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
{
if
(
gd
->
countMembers
()
>
0
)
if
(
gd
->
countMembers
()
>
0
)
{
{
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
gd
->
getOutputFileBase
();
t
<<
gd
->
getOutputFileBase
();
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
@@ -825,7 +981,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -825,7 +981,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
{
if
(
gd
->
countMembers
()
>
0
)
if
(
gd
->
countMembers
()
>
0
)
{
{
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
beginRTFSection
();
beginRTFSection
();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
gd
->
getOutputFileBase
();
t
<<
gd
->
getOutputFileBase
();
...
@@ -843,7 +999,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -843,7 +999,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
{
if
(
nd
->
isLinkableInProject
())
if
(
nd
->
isLinkableInProject
())
{
{
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
nd
->
getOutputFileBase
();
t
<<
nd
->
getOutputFileBase
();
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
@@ -855,7 +1011,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -855,7 +1011,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
{
if
(
nd
->
isLinkableInProject
())
if
(
nd
->
isLinkableInProject
())
{
{
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
beginRTFSection
();
beginRTFSection
();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
nd
->
getOutputFileBase
();
t
<<
nd
->
getOutputFileBase
();
...
@@ -875,7 +1031,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -875,7 +1031,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
{
if
(
cd
->
isLinkableInProject
())
if
(
cd
->
isLinkableInProject
())
{
{
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
cd
->
getOutputFileBase
();
t
<<
cd
->
getOutputFileBase
();
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
@@ -887,7 +1043,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -887,7 +1043,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
{
if
(
cd
->
isLinkableInProject
())
if
(
cd
->
isLinkableInProject
())
{
{
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
beginRTFSection
();
beginRTFSection
();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
cd
->
getOutputFileBase
();
t
<<
cd
->
getOutputFileBase
();
...
@@ -912,7 +1068,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -912,7 +1068,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
{
if
(
isFirst
)
if
(
isFirst
)
{
{
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
fd
->
getOutputFileBase
();
t
<<
fd
->
getOutputFileBase
();
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
@@ -920,7 +1076,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -920,7 +1076,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
}
}
else
else
{
{
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
beginRTFSection
();
beginRTFSection
();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
fd
->
getOutputFileBase
();
t
<<
fd
->
getOutputFileBase
();
...
@@ -941,14 +1097,14 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -941,14 +1097,14 @@ void RTFGenerator::endIndexSection(IndexSections is)
PageInfo
*
pi
=
pdi
.
toFirst
();
PageInfo
*
pi
=
pdi
.
toFirst
();
if
(
pi
)
if
(
pi
)
{
{
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
convertFileName
(
pi
->
name
);
t
<<
convertFileName
(
pi
->
name
);
t
<<
"-example.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
"-example.rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
}
}
for
(
++
pdi
;(
pi
=
pdi
.
current
());
++
pdi
)
for
(
++
pdi
;(
pi
=
pdi
.
current
());
++
pdi
)
{
{
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
beginRTFSection
();
beginRTFSection
();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
convertFileName
(
pi
->
name
);
t
<<
convertFileName
(
pi
->
name
);
...
@@ -968,7 +1124,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -968,7 +1124,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
pageName
=
pi
->
name
.
copy
();
pageName
=
pi
->
name
.
copy
();
else
else
pageName
=
pi
->
name
.
lower
();
pageName
=
pi
->
name
.
lower
();
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
pageName
;
t
<<
pageName
;
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
...
@@ -980,7 +1136,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -980,7 +1136,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
pageName
=
pi
->
name
.
copy
();
pageName
=
pi
->
name
.
copy
();
else
else
pageName
=
pi
->
name
.
lower
();
pageName
=
pi
->
name
.
lower
();
//t << "\\par " << Rtf_Style
["Reset"]
<< endl;
//t << "\\par " << Rtf_Style
_Reset
<< endl;
//beginRTFSection();
//beginRTFSection();
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
pageName
;
t
<<
pageName
;
...
@@ -990,9 +1146,9 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -990,9 +1146,9 @@ void RTFGenerator::endIndexSection(IndexSections is)
break
;
break
;
case
isEndIndex
:
case
isEndIndex
:
beginRTFChapter
();
beginRTFChapter
();
t
<<
Rtf_Style
[
"Heading1"
];
t
<<
Rtf_Style
[
"Heading1"
]
->
reference
;
t
<<
"Index
\\
par "
<<
endl
;
t
<<
"Index
\\
par "
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"{
\\
tc
\\
v Index}"
<<
endl
;
t
<<
"{
\\
tc
\\
v Index}"
<<
endl
;
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst INDEX
\\\\
c2
\\\\
*MERGEFORMAT}{
\\
fldrslt INDEX}}
\n
"
;
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst INDEX
\\\\
c2
\\\\
*MERGEFORMAT}{
\\
fldrslt INDEX}}
\n
"
;
...
@@ -1008,8 +1164,8 @@ void RTFGenerator::lastIndexPage()
...
@@ -1008,8 +1164,8 @@ void RTFGenerator::lastIndexPage()
t
<<
"
\\
sect
\\
sectd
\\
sbknone
\\
pgndec
\n
"
;
t
<<
"
\\
sect
\\
sectd
\\
sbknone
\\
pgndec
\n
"
;
// set footer
// set footer
t
<<
"{
\\
footer "
<<
Rtf_Style
[
"Footer"
]
<<
"{
\\
chpgn}}
\n
"
;
t
<<
"{
\\
footer "
<<
Rtf_Style
[
"Footer"
]
->
reference
<<
"{
\\
chpgn}}
\n
"
;
//t << Rtf_Style["Heading1"] << "\n";
//t << Rtf_Style["Heading1"]
->reference
<< "\n";
}
}
...
@@ -1034,7 +1190,7 @@ void RTFGenerator::startIndexList()
...
@@ -1034,7 +1190,7 @@ void RTFGenerator::startIndexList()
DBG_RTF
(
t
<<
"{
\\
comment (startIndexList)}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment (startIndexList)}"
<<
endl
)
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
incrementIndentLevel
();
incrementIndentLevel
();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_LCList_DepthStyle
()
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
Rtf_LCList_DepthStyle
()
<<
endl
;
newParagraph
();
newParagraph
();
m_omitParagraph
=
TRUE
;
m_omitParagraph
=
TRUE
;
}
}
...
@@ -1055,7 +1211,7 @@ void RTFGenerator::startItemList()
...
@@ -1055,7 +1211,7 @@ void RTFGenerator::startItemList()
t
<<
"{"
;
t
<<
"{"
;
incrementIndentLevel
();
incrementIndentLevel
();
listItemInfo
[
m_listLevel
].
isEnum
=
FALSE
;
listItemInfo
[
m_listLevel
].
isEnum
=
FALSE
;
//t << Rtf_Style
["Reset"]
<< Rtf_BList_DepthStyle();
//t << Rtf_Style
_Reset
<< Rtf_BList_DepthStyle();
}
}
/*! end bullet list */
/*! end bullet list */
...
@@ -1066,7 +1222,7 @@ void RTFGenerator::endItemList()
...
@@ -1066,7 +1222,7 @@ void RTFGenerator::endItemList()
t
<<
"}"
;
t
<<
"}"
;
decrementIndentLevel
();
decrementIndentLevel
();
m_omitParagraph
=
TRUE
;
m_omitParagraph
=
TRUE
;
//t << Rtf_Style
["Reset"]
<< styleStack.top() << endl;
//t << Rtf_Style
_Reset
<< styleStack.top() << endl;
//printf("RTFGenerator::endItemList() `%s'\n",styleStack.top());
//printf("RTFGenerator::endItemList() `%s'\n",styleStack.top());
//newParagraph();
//newParagraph();
}
}
...
@@ -1079,7 +1235,7 @@ void RTFGenerator::startEnumList() // starts an enumeration list
...
@@ -1079,7 +1235,7 @@ void RTFGenerator::startEnumList() // starts an enumeration list
incrementIndentLevel
();
incrementIndentLevel
();
listItemInfo
[
m_listLevel
].
isEnum
=
TRUE
;
listItemInfo
[
m_listLevel
].
isEnum
=
TRUE
;
listItemInfo
[
m_listLevel
].
number
=
1
;
listItemInfo
[
m_listLevel
].
number
=
1
;
//t << Rtf_Style
["Reset"]
<< Rtf_EList_DepthStyle() << endl;
//t << Rtf_Style
_Reset
<< Rtf_EList_DepthStyle() << endl;
//newParagraph();
//newParagraph();
//m_omitParagraph=TRUE;
//m_omitParagraph=TRUE;
...
@@ -1100,7 +1256,7 @@ void RTFGenerator::writeListItem()
...
@@ -1100,7 +1256,7 @@ void RTFGenerator::writeListItem()
{
{
DBG_RTF
(
t
<<
"{
\\
comment (writeListItem)}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment (writeListItem)}"
<<
endl
)
newParagraph
();
newParagraph
();
t
<<
Rtf_Style
[
"Reset"
]
;
t
<<
Rtf_Style
_Reset
;
if
(
listItemInfo
[
m_listLevel
].
isEnum
)
if
(
listItemInfo
[
m_listLevel
].
isEnum
)
{
{
t
<<
Rtf_EList_DepthStyle
()
<<
endl
;
t
<<
Rtf_EList_DepthStyle
()
<<
endl
;
...
@@ -1218,14 +1374,14 @@ void RTFGenerator::startSubsection()
...
@@ -1218,14 +1374,14 @@ void RTFGenerator::startSubsection()
//beginRTFSubSection();
//beginRTFSubSection();
t
<<
"
\n
"
;
t
<<
"
\n
"
;
DBG_RTF
(
t
<<
"{
\\
comment Begin SubSection}
\n
"
)
DBG_RTF
(
t
<<
"{
\\
comment Begin SubSection}
\n
"
)
t
<<
Rtf_Style
[
"Reset"
]
;
t
<<
Rtf_Style
_Reset
;
t
<<
Rtf_Style
[
"Heading3"
]
<<
"
\n
"
;
t
<<
Rtf_Style
[
"Heading3"
]
->
reference
<<
"
\n
"
;
}
}
void
RTFGenerator
::
endSubsection
()
void
RTFGenerator
::
endSubsection
()
{
{
newParagraph
();
newParagraph
();
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
endl
;
}
}
void
RTFGenerator
::
startSubsubsection
()
void
RTFGenerator
::
startSubsubsection
()
...
@@ -1234,7 +1390,7 @@ void RTFGenerator::startSubsubsection()
...
@@ -1234,7 +1390,7 @@ void RTFGenerator::startSubsubsection()
t
<<
"
\n
"
;
t
<<
"
\n
"
;
DBG_RTF
(
t
<<
"{
\\
comment Begin SubSubSection}
\n
"
)
DBG_RTF
(
t
<<
"{
\\
comment Begin SubSubSection}
\n
"
)
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_Style
[
"Heading4"
]
<<
"
\n
"
;
t
<<
Rtf_Style
_Reset
<<
Rtf_Style
[
"Heading4"
]
->
reference
<<
"
\n
"
;
}
}
void
RTFGenerator
::
endSubsubsection
()
void
RTFGenerator
::
endSubsubsection
()
...
@@ -1374,13 +1530,13 @@ void RTFGenerator::startTitleHead(const char *)
...
@@ -1374,13 +1530,13 @@ void RTFGenerator::startTitleHead(const char *)
DBG_RTF
(
t
<<
"{
\\
comment startTitleHead}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment startTitleHead}"
<<
endl
)
// beginRTFSection();
// beginRTFSection();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_Style
[
"Heading2"
]
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
Rtf_Style
[
"Heading2"
]
->
reference
<<
endl
;
}
}
void
RTFGenerator
::
endTitleHead
(
const
char
*
fileName
,
const
char
*
name
)
void
RTFGenerator
::
endTitleHead
(
const
char
*
fileName
,
const
char
*
name
)
{
{
DBG_RTF
(
t
<<
"{
\\
comment endTitleHead}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment endTitleHead}"
<<
endl
)
t
<<
"
\\
par "
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
"
\\
par "
<<
Rtf_Style
_Reset
<<
endl
;
if
(
name
)
if
(
name
)
{
{
// make table of contents entry
// make table of contents entry
...
@@ -1416,8 +1572,8 @@ void RTFGenerator::startGroupHeader()
...
@@ -1416,8 +1572,8 @@ void RTFGenerator::startGroupHeader()
{
{
DBG_RTF
(
t
<<
"{
\\
comment startGroupHeader}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment startGroupHeader}"
<<
endl
)
newParagraph
();
newParagraph
();
t
<<
Rtf_Style
[
"Reset"
]
;
t
<<
Rtf_Style
_Reset
;
t
<<
Rtf_Style
[
"Heading3"
]
;
t
<<
Rtf_Style
[
"Heading3"
]
->
reference
;
t
<<
endl
;
t
<<
endl
;
}
}
...
@@ -1425,7 +1581,7 @@ void RTFGenerator::endGroupHeader()
...
@@ -1425,7 +1581,7 @@ void RTFGenerator::endGroupHeader()
{
{
DBG_RTF
(
t
<<
"{
\\
comment endGroupHeader}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment endGroupHeader}"
<<
endl
)
newParagraph
();
newParagraph
();
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
endl
;
}
}
void
RTFGenerator
::
startMemberDoc
(
const
char
*
clname
,
void
RTFGenerator
::
startMemberDoc
(
const
char
*
clname
,
...
@@ -1439,10 +1595,10 @@ void RTFGenerator::startMemberDoc(const char *clname,
...
@@ -1439,10 +1595,10 @@ void RTFGenerator::startMemberDoc(const char *clname,
addToIndex
(
memname
,
clname
);
addToIndex
(
memname
,
clname
);
addToIndex
(
clname
,
memname
);
addToIndex
(
clname
,
memname
);
}
}
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_Style
[
"Heading4"
]
;
t
<<
Rtf_Style
_Reset
<<
Rtf_Style
[
"Heading4"
]
->
reference
;
//styleStack.push(Rtf_Style_Heading4);
//styleStack.push(Rtf_Style_Heading4);
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
//printf("RTFGenerator::startMemberDoc() `%s'\n",Rtf_Style["Heading4"]);
//printf("RTFGenerator::startMemberDoc() `%s'\n",Rtf_Style["Heading4"]
->reference
);
startBold
();
startBold
();
t
<<
endl
;
t
<<
endl
;
}
}
...
@@ -1453,7 +1609,7 @@ void RTFGenerator::endMemberDoc()
...
@@ -1453,7 +1609,7 @@ void RTFGenerator::endMemberDoc()
t
<<
"}"
<<
endl
;
t
<<
"}"
<<
endl
;
//const char *style = styleStack.pop();
//const char *style = styleStack.pop();
//printf("RTFGenerator::endMemberDoc() `%s'\n",style);
//printf("RTFGenerator::endMemberDoc() `%s'\n",style);
//ASSERT(style==Rtf_Style["Heading4"]);
//ASSERT(style==Rtf_Style["Heading4"]
->reference
);
endBold
();
endBold
();
newParagraph
();
newParagraph
();
}
}
...
@@ -1509,7 +1665,7 @@ void RTFGenerator::startIndent()
...
@@ -1509,7 +1665,7 @@ void RTFGenerator::startIndent()
incrementIndentLevel
();
incrementIndentLevel
();
DBG_RTF
(
t
<<
"{
\\
comment (startIndent) }"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment (startIndent) }"
<<
endl
)
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_CList_DepthStyle
()
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
Rtf_CList_DepthStyle
()
<<
endl
;
//styleStack.push(style);
//styleStack.push(style);
}
}
...
@@ -1525,7 +1681,7 @@ void RTFGenerator::startDescription()
...
@@ -1525,7 +1681,7 @@ void RTFGenerator::startDescription()
{
{
DBG_RTF
(
t
<<
"{
\\
comment (startDescription)}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment (startDescription)}"
<<
endl
)
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_CList_DepthStyle
();
t
<<
Rtf_Style
_Reset
<<
Rtf_CList_DepthStyle
();
}
}
void
RTFGenerator
::
endDescription
()
void
RTFGenerator
::
endDescription
()
...
@@ -1554,7 +1710,7 @@ void RTFGenerator::startMemberDescription()
...
@@ -1554,7 +1710,7 @@ void RTFGenerator::startMemberDescription()
DBG_RTF
(
t
<<
"{
\\
comment (startMemberDescription)}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment (startMemberDescription)}"
<<
endl
)
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
incrementIndentLevel
();
incrementIndentLevel
();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_CList_DepthStyle
();
t
<<
Rtf_Style
_Reset
<<
Rtf_CList_DepthStyle
();
startEmphasis
();
startEmphasis
();
}
}
...
@@ -1578,16 +1734,16 @@ void RTFGenerator::endDescTitle()
...
@@ -1578,16 +1734,16 @@ void RTFGenerator::endDescTitle()
{
{
DBG_RTF
(
t
<<
"{
\\
comment (endDescTitle) }"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment (endDescTitle) }"
<<
endl
)
newParagraph
();
newParagraph
();
//t << Rtf_Style
["Reset"]
<< styleStack.top();
//t << Rtf_Style
_Reset
<< styleStack.top();
incrementIndentLevel
();
incrementIndentLevel
();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_DList_DepthStyle
();
t
<<
Rtf_Style
_Reset
<<
Rtf_DList_DepthStyle
();
}
}
void
RTFGenerator
::
writeDescItem
()
void
RTFGenerator
::
writeDescItem
()
{
{
DBG_RTF
(
t
<<
"{
\\
comment (writeDescItem) }"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment (writeDescItem) }"
<<
endl
)
// incrementIndentLevel();
// incrementIndentLevel();
//t << Rtf_Style
["Reset"] << Rtf_CList_DepthStyle();
//t << Rtf_Style
_Reset << Rtf_CList_DepthStyle();
}
}
void
RTFGenerator
::
endDescList
()
void
RTFGenerator
::
endDescList
()
...
@@ -1597,18 +1753,18 @@ void RTFGenerator::endDescList()
...
@@ -1597,18 +1753,18 @@ void RTFGenerator::endDescList()
t
<<
"}"
;
t
<<
"}"
;
decrementIndentLevel
();
decrementIndentLevel
();
m_omitParagraph
=
TRUE
;
m_omitParagraph
=
TRUE
;
//t << Rtf_Style
["Reset"]
<< styleStack.top() << endl;
//t << Rtf_Style
_Reset
<< styleStack.top() << endl;
}
}
void
RTFGenerator
::
writeSection
(
const
char
*
lab
,
const
char
*
title
,
bool
sub
)
void
RTFGenerator
::
startSection
(
const
char
*
,
const
char
*
title
,
bool
sub
)
{
{
DBG_RTF
(
t
<<
"{
\\
comment (
write
Section)}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment (
start
Section)}"
<<
endl
)
t
<<
"{"
;
t
<<
"{"
;
t
<<
Rtf_Style
[
"Reset"
]
;
t
<<
Rtf_Style
_Reset
;
if
(
sub
)
if
(
sub
)
{
{
// set style
// set style
t
<<
Rtf_Style
[
"Heading3"
]
;
t
<<
Rtf_Style
[
"Heading3"
]
->
reference
;
// make table of contents entry
// make table of contents entry
t
<<
"{
\\
tc
\\
tcl3
\\
v "
;
t
<<
"{
\\
tc
\\
tcl3
\\
v "
;
docify
(
title
);
docify
(
title
);
...
@@ -1617,16 +1773,16 @@ void RTFGenerator::writeSection(const char *lab,const char *title,bool sub)
...
@@ -1617,16 +1773,16 @@ void RTFGenerator::writeSection(const char *lab,const char *title,bool sub)
else
else
{
{
// set style
// set style
t
<<
Rtf_Style
[
"Heading2"
]
;
t
<<
Rtf_Style
[
"Heading2"
]
->
reference
;
// make table of contents entry
// make table of contents entry
t
<<
"{
\\
tc
\\
tcl2
\\
v "
;
t
<<
"{
\\
tc
\\
tcl2
\\
v "
;
docify
(
title
);
docify
(
title
);
t
<<
"}"
<<
endl
;
t
<<
"}"
<<
endl
;
}
}
}
// write out actual title
void
RTFGenerator
::
endSection
(
const
char
*
lab
,
bool
)
docify
(
title
);
{
newParagraph
();
newParagraph
();
// make bookmark
// make bookmark
writeAnchor
(
0
,
lab
);
writeAnchor
(
0
,
lab
);
...
@@ -1741,7 +1897,7 @@ void RTFGenerator::endClassDiagram(ClassDiagram &d,
...
@@ -1741,7 +1897,7 @@ void RTFGenerator::endClassDiagram(ClassDiagram &d,
// display the file
// display the file
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par
\\
pard
\\
qc {
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
;
t
<<
"
\\
par
\\
pard
\\
qc {
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
;
t
<<
fileName
<<
".gif"
;
t
<<
fileName
<<
".gif"
;
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt IMAGE}}
\\
par"
<<
endl
;
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt IMAGE}}
\\
par"
<<
endl
;
...
@@ -1756,7 +1912,7 @@ void RTFGenerator::writeFormula(const char *,const char *text)
...
@@ -1756,7 +1912,7 @@ void RTFGenerator::writeFormula(const char *,const char *text)
void
RTFGenerator
::
startMemberItem
(
int
)
void
RTFGenerator
::
startMemberItem
(
int
)
{
{
DBG_RTF
(
t
<<
"{
\\
comment startMemberItem }"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment startMemberItem }"
<<
endl
)
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_BList_DepthStyle
()
<<
endl
;
// set style to apropriate depth
t
<<
Rtf_Style
_Reset
<<
Rtf_BList_DepthStyle
()
<<
endl
;
// set style to apropriate depth
}
}
void
RTFGenerator
::
endMemberItem
(
bool
)
void
RTFGenerator
::
endMemberItem
(
bool
)
...
@@ -1786,7 +1942,7 @@ void RTFGenerator::startCodeFragment()
...
@@ -1786,7 +1942,7 @@ void RTFGenerator::startCodeFragment()
{
{
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
newParagraph
();
newParagraph
();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_Code_DepthStyle
();
t
<<
Rtf_Style
_Reset
<<
Rtf_Code_DepthStyle
();
//styleStack.push(Rtf_Style_CodeExample);
//styleStack.push(Rtf_Style_CodeExample);
}
}
...
@@ -1795,7 +1951,7 @@ void RTFGenerator::endCodeFragment()
...
@@ -1795,7 +1951,7 @@ void RTFGenerator::endCodeFragment()
newParagraph
();
newParagraph
();
//styleStack.pop();
//styleStack.pop();
//printf("RTFGenerator::endCodeFrament() top=%s\n",styleStack.top());
//printf("RTFGenerator::endCodeFrament() top=%s\n",styleStack.top());
//t << Rtf_Style
["Reset"] << styleStack.top() << endl;
//t << Rtf_Style
_Reset << styleStack.top() << endl;
t
<<
"}"
<<
endl
;
t
<<
"}"
<<
endl
;
m_omitParagraph
=
TRUE
;
m_omitParagraph
=
TRUE
;
}
}
...
@@ -1842,7 +1998,7 @@ void RTFGenerator::startDescTable()
...
@@ -1842,7 +1998,7 @@ void RTFGenerator::startDescTable()
DBG_RTF
(
t
<<
"{
\\
comment (startDescTable) }"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment (startDescTable) }"
<<
endl
)
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
//incrementIndentLevel();
//incrementIndentLevel();
//t << Rtf_Style
["Reset"]
<< Rtf_CList_DepthStyle();
//t << Rtf_Style
_Reset
<< Rtf_CList_DepthStyle();
}
}
void
RTFGenerator
::
endDescTable
()
void
RTFGenerator
::
endDescTable
()
...
@@ -1850,7 +2006,7 @@ void RTFGenerator::endDescTable()
...
@@ -1850,7 +2006,7 @@ void RTFGenerator::endDescTable()
//decrementIndentLevel();
//decrementIndentLevel();
DBG_RTF
(
t
<<
"{
\\
comment (endDescTable)}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment (endDescTable)}"
<<
endl
)
t
<<
"}"
<<
endl
;
t
<<
"}"
<<
endl
;
//t << Rtf_Style
["Reset"]
<< styleStack.top();
//t << Rtf_Style
_Reset
<< styleStack.top();
}
}
void
RTFGenerator
::
startDescTableTitle
()
void
RTFGenerator
::
startDescTableTitle
()
...
@@ -1904,54 +2060,54 @@ void RTFGenerator::decrementIndentLevel()
...
@@ -1904,54 +2060,54 @@ void RTFGenerator::decrementIndentLevel()
const
char
*
RTFGenerator
::
Rtf_CList_DepthStyle
()
const
char
*
RTFGenerator
::
Rtf_CList_DepthStyle
()
{
{
QCString
n
=
makeIndexName
(
"ListContinue"
,
m_listLevel
);
QCString
n
=
makeIndexName
(
"ListContinue"
,
m_listLevel
);
return
Rtf_Style
[
n
];
return
Rtf_Style
[
n
]
->
reference
;
}
}
// a style for list formatted as a "latext style" table of contents
// a style for list formatted as a "latext style" table of contents
const
char
*
RTFGenerator
::
Rtf_LCList_DepthStyle
()
const
char
*
RTFGenerator
::
Rtf_LCList_DepthStyle
()
{
{
QCString
n
=
makeIndexName
(
"LatexTOC"
,
m_listLevel
);
QCString
n
=
makeIndexName
(
"LatexTOC"
,
m_listLevel
);
return
Rtf_Style
[
n
];
return
Rtf_Style
[
n
]
->
reference
;
}
}
// a style for list formatted as a "bullet" style
// a style for list formatted as a "bullet" style
const
char
*
RTFGenerator
::
Rtf_BList_DepthStyle
()
const
char
*
RTFGenerator
::
Rtf_BList_DepthStyle
()
{
{
QCString
n
=
makeIndexName
(
"ListBullet"
,
m_listLevel
);
QCString
n
=
makeIndexName
(
"ListBullet"
,
m_listLevel
);
return
Rtf_Style
[
n
];
return
Rtf_Style
[
n
]
->
reference
;
}
}
// a style for list formatted as a "enumeration" style
// a style for list formatted as a "enumeration" style
const
char
*
RTFGenerator
::
Rtf_EList_DepthStyle
()
const
char
*
RTFGenerator
::
Rtf_EList_DepthStyle
()
{
{
QCString
n
=
makeIndexName
(
"ListEnum"
,
m_listLevel
);
QCString
n
=
makeIndexName
(
"ListEnum"
,
m_listLevel
);
return
Rtf_Style
[
n
];
return
Rtf_Style
[
n
]
->
reference
;
}
}
const
char
*
RTFGenerator
::
Rtf_DList_DepthStyle
()
const
char
*
RTFGenerator
::
Rtf_DList_DepthStyle
()
{
{
QCString
n
=
makeIndexName
(
"DescContinue"
,
m_listLevel
);
QCString
n
=
makeIndexName
(
"DescContinue"
,
m_listLevel
);
return
Rtf_Style
[
n
];
return
Rtf_Style
[
n
]
->
reference
;
}
}
const
char
*
RTFGenerator
::
Rtf_Code_DepthStyle
()
const
char
*
RTFGenerator
::
Rtf_Code_DepthStyle
()
{
{
QCString
n
=
makeIndexName
(
"CodeExample"
,
m_listLevel
);
QCString
n
=
makeIndexName
(
"CodeExample"
,
m_listLevel
);
return
Rtf_Style
[
n
];
return
Rtf_Style
[
n
]
->
reference
;
}
}
void
RTFGenerator
::
startTextBlock
(
bool
dense
)
void
RTFGenerator
::
startTextBlock
(
bool
dense
)
{
{
DBG_RTF
(
t
<<
"{
\\
comment Start TextBlock}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment Start TextBlock}"
<<
endl
)
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
;
t
<<
Rtf_Style
_Reset
;
if
(
dense
)
// no spacing between "paragraphs"
if
(
dense
)
// no spacing between "paragraphs"
{
{
t
<<
Rtf_Style
[
"DenseText"
];
t
<<
Rtf_Style
[
"DenseText"
]
->
reference
;
}
}
else
// some spacing
else
// some spacing
{
{
t
<<
Rtf_Style
[
"BodyText"
];
t
<<
Rtf_Style
[
"BodyText"
]
->
reference
;
}
}
}
}
...
@@ -1972,7 +2128,7 @@ void RTFGenerator::newParagraph()
...
@@ -1972,7 +2128,7 @@ void RTFGenerator::newParagraph()
void
RTFGenerator
::
startMemberSubtitle
()
void
RTFGenerator
::
startMemberSubtitle
()
{
{
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_CList_DepthStyle
()
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
Rtf_CList_DepthStyle
()
<<
endl
;
}
}
void
RTFGenerator
::
endMemberSubtitle
()
void
RTFGenerator
::
endMemberSubtitle
()
...
@@ -2165,7 +2321,7 @@ void RTFGenerator::endDotGraph(DotClassGraph &g)
...
@@ -2165,7 +2321,7 @@ void RTFGenerator::endDotGraph(DotClassGraph &g)
// display the file
// display the file
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par
\\
pard
\\
qc {
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
;
t
<<
"
\\
par
\\
pard
\\
qc {
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
;
t
<<
g
.
diskName
()
<<
".gif"
;
t
<<
g
.
diskName
()
<<
".gif"
;
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt IMAGE}}
\\
par"
<<
endl
;
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt IMAGE}}
\\
par"
<<
endl
;
...
@@ -2186,7 +2342,7 @@ void RTFGenerator::endInclDepGraph(DotInclDepGraph &g)
...
@@ -2186,7 +2342,7 @@ void RTFGenerator::endInclDepGraph(DotInclDepGraph &g)
// display the file
// display the file
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style
[
"Reset"
]
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
endl
;
t
<<
"
\\
par
\\
pard
\\
qc {
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
;
t
<<
"
\\
par
\\
pard
\\
qc {
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
;
t
<<
g
.
diskName
()
<<
".gif"
;
t
<<
g
.
diskName
()
<<
".gif"
;
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt IMAGE}}
\\
par"
<<
endl
;
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt IMAGE}}
\\
par"
<<
endl
;
...
@@ -2246,14 +2402,14 @@ void RTFGenerator::startMemberGroupHeader(bool hasHeader)
...
@@ -2246,14 +2402,14 @@ void RTFGenerator::startMemberGroupHeader(bool hasHeader)
DBG_RTF
(
t
<<
"{
\\
comment startMemberGroupHeader}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment startMemberGroupHeader}"
<<
endl
)
t
<<
"{"
<<
endl
;
t
<<
"{"
<<
endl
;
if
(
hasHeader
)
incrementIndentLevel
();
if
(
hasHeader
)
incrementIndentLevel
();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_Style
[
"GroupHeader"
]
;
t
<<
Rtf_Style
_Reset
<<
Rtf_Style
[
"GroupHeader"
]
->
reference
;
}
}
void
RTFGenerator
::
endMemberGroupHeader
()
void
RTFGenerator
::
endMemberGroupHeader
()
{
{
DBG_RTF
(
t
<<
"{
\\
comment endMemberGroupHeader}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment endMemberGroupHeader}"
<<
endl
)
newParagraph
();
newParagraph
();
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_CList_DepthStyle
();
t
<<
Rtf_Style
_Reset
<<
Rtf_CList_DepthStyle
();
}
}
void
RTFGenerator
::
startMemberGroupDocs
()
void
RTFGenerator
::
startMemberGroupDocs
()
...
@@ -2272,7 +2428,7 @@ void RTFGenerator::endMemberGroupDocs()
...
@@ -2272,7 +2428,7 @@ void RTFGenerator::endMemberGroupDocs()
void
RTFGenerator
::
startMemberGroup
()
void
RTFGenerator
::
startMemberGroup
()
{
{
DBG_RTF
(
t
<<
"{
\\
comment startMemberGroup}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment startMemberGroup}"
<<
endl
)
t
<<
Rtf_Style
[
"Reset"
]
<<
Rtf_BList_DepthStyle
()
<<
endl
;
t
<<
Rtf_Style
_Reset
<<
Rtf_BList_DepthStyle
()
<<
endl
;
}
}
void
RTFGenerator
::
endMemberGroup
(
bool
hasHeader
)
void
RTFGenerator
::
endMemberGroup
(
bool
hasHeader
)
...
...
src/rtfgen.h
View file @
d84f6a6a
...
@@ -166,7 +166,8 @@ class RTFGenerator : public OutputGenerator
...
@@ -166,7 +166,8 @@ class RTFGenerator : public OutputGenerator
void
endDescTitle
();
void
endDescTitle
();
void
writeDescItem
();
void
writeDescItem
();
void
endDescList
();
void
endDescList
();
void
writeSection
(
const
char
*
,
const
char
*
,
bool
);
void
startSection
(
const
char
*
,
const
char
*
,
bool
);
void
endSection
(
const
char
*
,
bool
);
void
writeSectionRef
(
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRef
(
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRefItem
(
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRefItem
(
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRefAnchor
(
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRefAnchor
(
const
char
*
,
const
char
*
,
const
char
*
);
...
...
src/scanner.l
View file @
d84f6a6a
...
@@ -309,7 +309,7 @@ static int yyread(char *buf,int max_size)
...
@@ -309,7 +309,7 @@ static int yyread(char *buf,int max_size)
%}
%}
CMD ("\\"|"@")
CMD ("\\"|"@")
SECTIONCMD {CMD}("image"|"author"|"internal"|"version"|"date"|"deprecated"|"param"|"exception"|"return"[s]?|"retval"|"bug"|"warning"|"par"|"sa"|"see"|"pre"|"post"|"invariant"|"note"|"remark"[s]?|"todo"|"test"|"ingroup")
SECTIONCMD {CMD}("image"|"author"|"internal"|"version"|"date"|"deprecated"|"param"|"exception"|"return"[s]?|"retval"|"bug"|"warning"|"par"|"sa"|"see"|"pre"|"post"|"invariant"|"note"|"remark"[s]?|"todo"|"test"|"ingroup"
|"latexonly"|"htmlonly"
)
BN [ \t\n\r]
BN [ \t\n\r]
BL [ \t\r]*"\n"
BL [ \t\r]*"\n"
B [ \t]
B [ \t]
...
@@ -1901,7 +1901,10 @@ TITLE [tT][iI][tT][lL][eE]
...
@@ -1901,7 +1901,10 @@ TITLE [tT][iI][tT][lL][eE]
<Function>"#" { lastCPPContext = YY_START;
<Function>"#" { lastCPPContext = YY_START;
BEGIN(SkipCPP);
BEGIN(SkipCPP);
}
}
<Function>[:;{] {
<Function>":" {
BEGIN(SkipInits);
}
<Function>[;{] {
current->name=current->name.simplifyWhiteSpace();
current->name=current->name.simplifyWhiteSpace();
current->type=current->type.simplifyWhiteSpace();
current->type=current->type.simplifyWhiteSpace();
current->args=current->args.simplifyWhiteSpace();
current->args=current->args.simplifyWhiteSpace();
...
@@ -1983,11 +1986,11 @@ TITLE [tT][iI][tT][lL][eE]
...
@@ -1983,11 +1986,11 @@ TITLE [tT][iI][tT][lL][eE]
curlyCount=0;
curlyCount=0;
BEGIN( SkipCurly ) ;
BEGIN( SkipCurly ) ;
}
}
else if( *yytext == ':' )
//
else if( *yytext == ':' )
{
//
{
//addToBody(yytext);
//
//addToBody(yytext);
BEGIN( SkipInits ) ;
//
BEGIN( SkipInits ) ;
}
//
}
else
else
{
{
if (previous->section!=Entry::VARIABLE_SEC)
if (previous->section!=Entry::VARIABLE_SEC)
...
@@ -1998,9 +2001,11 @@ TITLE [tT][iI][tT][lL][eE]
...
@@ -1998,9 +2001,11 @@ TITLE [tT][iI][tT][lL][eE]
<SkipInits>"{" {
<SkipInits>"{" {
//addToBody(yytext);
//addToBody(yytext);
lastCurlyContext = FindMembers;
//lastCurlyContext = FindMembers;
curlyCount=0;
//curlyCount=0;
BEGIN( SkipCurly ) ;
//BEGIN( SkipCurly ) ;
unput('{');
BEGIN( Function );
}
}
<SkipCurly>"{" {
<SkipCurly>"{" {
//addToBody(yytext);
//addToBody(yytext);
...
@@ -2186,7 +2191,7 @@ TITLE [tT][iI][tT][lL][eE]
...
@@ -2186,7 +2191,7 @@ TITLE [tT][iI][tT][lL][eE]
}
}
<ClassVar>":" {
<ClassVar>":" {
current->type.resize(0);
current->type.resize(0);
if (current->section == Entry::INTERFACE_SEC)
if (current->section == Entry::INTERFACE_SEC
|| current->section == Entry::STRUCT_SEC
)
baseProt=Public;
baseProt=Public;
else
else
baseProt=Private;
baseProt=Private;
...
@@ -2311,7 +2316,7 @@ TITLE [tT][iI][tT][lL][eE]
...
@@ -2311,7 +2316,7 @@ TITLE [tT][iI][tT][lL][eE]
}
}
<Comment>. { current->program += *yytext ; }
<Comment>. { current->program += *yytext ; }
<FindMembers,FindFields,MemberSpec,FuncQual,SkipCurly,Operator,ClassVar>("//"{B}*)?"/*!" {
<FindMembers,FindFields,MemberSpec,FuncQual,SkipCurly,Operator,ClassVar
,SkipInits
>("//"{B}*)?"/*!" {
//printf("Start doc block at %d\n",yyLineNr);
//printf("Start doc block at %d\n",yyLineNr);
removeSlashes=(yytext[1]=='/');
removeSlashes=(yytext[1]=='/');
tmpDocType=-1;
tmpDocType=-1;
...
@@ -2324,7 +2329,7 @@ TITLE [tT][iI][tT][lL][eE]
...
@@ -2324,7 +2329,7 @@ TITLE [tT][iI][tT][lL][eE]
current->inside = current_root->name+"::";
current->inside = current_root->name+"::";
BEGIN( Doc );
BEGIN( Doc );
}
}
<FindMembers,FindFields,MemberSpec,FuncQual,SkipCurly,Operator,ClassVar>("//"{B}*)?"/**"/[^/*] {
<FindMembers,FindFields,MemberSpec,FuncQual,SkipCurly,Operator,ClassVar
,SkipInits
>("//"{B}*)?"/**"/[^/*] {
removeSlashes=(yytext[1]=='/');
removeSlashes=(yytext[1]=='/');
lastDocContext = YY_START;
lastDocContext = YY_START;
if (current_root->section & Entry::SCOPE_MASK)
if (current_root->section & Entry::SCOPE_MASK)
...
...
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