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
ea948596
Commit
ea948596
authored
Mar 19, 2001
by
dimitri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.2.6-20010319
parent
f280bea9
Changes
22
Hide whitespace changes
Inline
Side-by-side
Showing
22 changed files
with
369 additions
and
53 deletions
+369
-53
INSTALL
INSTALL
+2
-2
README
README
+2
-2
VERSION
VERSION
+1
-1
configgen.cpp
addon/configgen/configgen.cpp
+9
-0
config.doc
doc/config.doc
+8
-0
index.doc
doc/index.doc
+2
-0
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
classlist.cpp
src/classlist.cpp
+2
-1
config.h
src/config.h
+2
-1
config.l
src/config.l
+16
-1
definition.cpp
src/definition.cpp
+3
-2
doc.l
src/doc.l
+38
-1
doxygen.cpp
src/doxygen.cpp
+61
-10
filedef.cpp
src/filedef.cpp
+2
-1
groupdef.cpp
src/groupdef.cpp
+17
-0
groupdef.h
src/groupdef.h
+5
-1
index.cpp
src/index.cpp
+4
-4
memberdef.cpp
src/memberdef.cpp
+1
-1
rtfgen.cpp
src/rtfgen.cpp
+171
-9
rtfgen.h
src/rtfgen.h
+1
-0
scanner.l
src/scanner.l
+3
-2
translator_cz.h
src/translator_cz.h
+18
-13
No files found.
INSTALL
View file @
ea948596
DOXYGEN Version 1.2.6
DOXYGEN Version 1.2.6
-20010319
Please read the installation section of the manual for instructions.
Please read the installation section of the manual for instructions.
--------
--------
Dimitri van Heesch (1
1
March 2001)
Dimitri van Heesch (1
9
March 2001)
README
View file @
ea948596
DOXYGEN Version 1.2.6
DOXYGEN Version 1.2.6
-20010319
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
1
March 2001)
Dimitri van Heesch (1
9
March 2001)
VERSION
View file @
ea948596
1.2.6
1.2.6
-20010319
addon/configgen/configgen.cpp
View file @
ea948596
...
@@ -1544,6 +1544,15 @@ void init()
...
@@ -1544,6 +1544,15 @@ void init()
ConfigString
::
File
ConfigString
::
File
);
);
addDependency
(
"rtfStylesheetFile"
,
"generateRTF"
);
addDependency
(
"rtfStylesheetFile"
,
"generateRTF"
);
ConfigString
::
add
(
"rtfExtensionsFile"
,
"RTF_EXTENSIONS_FILE"
,
""
,
"file to load rtf extensions from"
,
"Set optional variables used in the generation of an rtf document.
\n
"
"Syntax is similar to doxygen's config file.
\n
"
,
ConfigString
::
File
);
addDependency
(
"rtfExtensionsFile"
,
"generateRTF"
);
//-----------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------
ConfigInfo
::
add
(
"Man"
,
"configuration options related to the man page output"
);
ConfigInfo
::
add
(
"Man"
,
"configuration options related to the man page output"
);
//-----------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------------------------
...
...
doc/config.doc
View file @
ea948596
...
@@ -158,6 +158,7 @@ followed by the descriptions of the tags grouped by category.
...
@@ -158,6 +158,7 @@ followed by the descriptions of the tags grouped by category.
<
li
>
\
refitem
cfg_quiet
QUIET
<
li
>
\
refitem
cfg_quiet
QUIET
<
li
>
\
refitem
cfg_recursive
RECURSIVE
<
li
>
\
refitem
cfg_recursive
RECURSIVE
<
li
>
\
refitem
cfg_repeat_brief
REPEAT_BRIEF
<
li
>
\
refitem
cfg_repeat_brief
REPEAT_BRIEF
<
li
>
\
refitem
cfg_rtf_extensions_file
RTF_EXTENSIONS_FILE
<
li
>
\
refitem
cfg_rtf_hyperlinks
RTF_HYPERLINKS
<
li
>
\
refitem
cfg_rtf_hyperlinks
RTF_HYPERLINKS
<
li
>
\
refitem
cfg_rtf_output
RTF_OUTPUT
<
li
>
\
refitem
cfg_rtf_output
RTF_OUTPUT
<
li
>
\
refitem
cfg_rtf_stylesheet_file
RTF_STYLESHEET_FILE
<
li
>
\
refitem
cfg_rtf_stylesheet_file
RTF_STYLESHEET_FILE
...
@@ -956,6 +957,13 @@ EXTRA_PACKAGES = times
...
@@ -956,6 +957,13 @@ EXTRA_PACKAGES = times
See
also
section
\
ref
doxygen_usage
for
information
on
how
to
generate
See
also
section
\
ref
doxygen_usage
for
information
on
how
to
generate
the
default
style
sheet
that
doxygen
normally
uses
.
the
default
style
sheet
that
doxygen
normally
uses
.
\
anchor
cfg_rtf_extensions_file
<
dt
>\
c
RTF_EXTENSIONS_FILE
<
dd
>
Set
optional
variables
used
in
the
generation
of
an
rtf
document
.
Syntax
is
similar
to
doxygen
's config file.
A template extensions file can be generated using
<code>doxygen -e rtf extensionFile</code>.
</dl>
</dl>
\subsection man_output Man page related options
\subsection man_output Man page related options
...
...
doc/index.doc
View file @
ea948596
...
@@ -175,6 +175,8 @@ Thanks go to:
...
@@ -175,6 +175,8 @@ Thanks go to:
<li>The Comms group of <a href="http://www.symbian.com">Symbian</a> for donating
<li>The Comms group of <a href="http://www.symbian.com">Symbian</a> for donating
me an ultra cool <a href="http://www.psion.com/revoplus>Revo plus</a>
me an ultra cool <a href="http://www.psion.com/revoplus>Revo plus</a>
organizer!
organizer!
<li>The band <a href="http://www.porcupinetree.com">Porcupine Tree</a> for
providing hours of great music to listen to while coding.
<li>many, many others for suggestions, patches and bug reports.
<li>many, many others for suggestions, patches and bug reports.
</ul>
</ul>
*/
*/
...
...
packages/rpm/doxygen.spec
View file @
ea948596
Name: doxygen
Name: doxygen
Version: 1.2.6
Version: 1.2.6
-20010319
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/classlist.cpp
View file @
ea948596
...
@@ -84,7 +84,8 @@ void ClassList::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *fi
...
@@ -84,7 +84,8 @@ void ClassList::writeDeclaration(OutputList &ol,const ClassDef::CompoundType *fi
<<
"
\"
>"
<<
convertToXML
(
cd
->
name
())
<<
"</class>"
<<
endl
;
<<
"
\"
>"
<<
convertToXML
(
cd
->
name
())
<<
"</class>"
<<
endl
;
}
}
ol
.
startMemberItem
(
FALSE
);
ol
.
startMemberItem
(
FALSE
);
ol
.
writeString
(
cd
->
compoundTypeString
());
QCString
tmp
=
cd
->
compoundTypeString
();
ol
.
writeString
(
tmp
);
ol
.
writeString
(
" "
);
ol
.
writeString
(
" "
);
ol
.
insertMemberAlign
();
ol
.
insertMemberAlign
();
if
(
isLink
)
if
(
isLink
)
...
...
src/config.h
View file @
ea948596
/* This file was generated by configgen on
Sun Feb 25 14:30:1
8 2001
/* This file was generated by configgen on
Mon Mar 19 20:34:5
8 2001
* from config_templ.h
* from config_templ.h
*
*
* DO NOT EDIT!
* DO NOT EDIT!
...
@@ -125,6 +125,7 @@ struct Config
...
@@ -125,6 +125,7 @@ struct Config
static
bool
compactRTFFlag
;
/*!< generate more compact RTF */
static
bool
compactRTFFlag
;
/*!< generate more compact RTF */
static
bool
rtfHyperFlag
;
/*!< generate hyper links in RTF */
static
bool
rtfHyperFlag
;
/*!< generate hyper links in RTF */
static
QCString
rtfStylesheetFile
;
/*!< file to load stylesheet definitions from */
static
QCString
rtfStylesheetFile
;
/*!< file to load stylesheet definitions from */
static
QCString
rtfExtensionsFile
;
/*!< file to load rtf extensions from */
static
bool
generateMan
;
/*!< generate Man pages */
static
bool
generateMan
;
/*!< generate Man pages */
static
QCString
manOutputDir
;
/*!< the directory to put the man pages */
static
QCString
manOutputDir
;
/*!< the directory to put the man pages */
static
QCString
manExtension
;
/*!< extension the man page files */
static
QCString
manExtension
;
/*!< extension the man page files */
...
...
src/config.l
View file @
ea948596
/* This file was generated by configgen on Mon
Feb 26 19:52:21
2001
/* This file was generated by configgen on Mon
Mar 19 20:34:59
2001
* from config_templ.l
* from config_templ.l
*
*
* DO NOT EDIT!
* DO NOT EDIT!
...
@@ -157,6 +157,7 @@ QCString Config::rtfOutputDir = "rtf";
...
@@ -157,6 +157,7 @@ QCString Config::rtfOutputDir = "rtf";
bool Config::compactRTFFlag = FALSE;
bool Config::compactRTFFlag = FALSE;
bool Config::rtfHyperFlag = FALSE;
bool Config::rtfHyperFlag = FALSE;
QCString Config::rtfStylesheetFile;
QCString Config::rtfStylesheetFile;
QCString Config::rtfExtensionsFile;
bool Config::generateMan = TRUE;
bool Config::generateMan = TRUE;
QCString Config::manOutputDir = "man";
QCString Config::manOutputDir = "man";
QCString Config::manExtension = ".3";
QCString Config::manExtension = ".3";
...
@@ -446,6 +447,7 @@ static void readIncludeFile(const char *incName)
...
@@ -446,6 +447,7 @@ static void readIncludeFile(const char *incName)
<Start>"COMPACT_RTF"[ \t]*"=" { BEGIN(GetBool); b=&Config::compactRTFFlag; }
<Start>"COMPACT_RTF"[ \t]*"=" { BEGIN(GetBool); b=&Config::compactRTFFlag; }
<Start>"RTF_HYPERLINKS"[ \t]*"=" { BEGIN(GetBool); b=&Config::rtfHyperFlag; }
<Start>"RTF_HYPERLINKS"[ \t]*"=" { BEGIN(GetBool); b=&Config::rtfHyperFlag; }
<Start>"RTF_STYLESHEET_FILE"[ \t]*"=" { BEGIN(GetString); s=&Config::rtfStylesheetFile; s->resize(0); }
<Start>"RTF_STYLESHEET_FILE"[ \t]*"=" { BEGIN(GetString); s=&Config::rtfStylesheetFile; s->resize(0); }
<Start>"RTF_EXTENSIONS_FILE"[ \t]*"=" { BEGIN(GetString); s=&Config::rtfExtensionsFile; s->resize(0); }
<Start>"GENERATE_MAN"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateMan; }
<Start>"GENERATE_MAN"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateMan; }
<Start>"MAN_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::manOutputDir; s->resize(0); }
<Start>"MAN_OUTPUT"[ \t]*"=" { BEGIN(GetString); s=&Config::manOutputDir; s->resize(0); }
<Start>"MAN_EXTENSION"[ \t]*"=" { BEGIN(GetString); s=&Config::manExtension; s->resize(0); }
<Start>"MAN_EXTENSION"[ \t]*"=" { BEGIN(GetString); s=&Config::manExtension; s->resize(0); }
...
@@ -762,6 +764,7 @@ void dumpConfig()
...
@@ -762,6 +764,7 @@ void dumpConfig()
printf("compactRTFFlag=`%d'\n",Config::compactRTFFlag);
printf("compactRTFFlag=`%d'\n",Config::compactRTFFlag);
printf("rtfHyperFlag=`%d'\n",Config::rtfHyperFlag);
printf("rtfHyperFlag=`%d'\n",Config::rtfHyperFlag);
printf("rtfStylesheetFile=`%s'\n",Config::rtfStylesheetFile.data());
printf("rtfStylesheetFile=`%s'\n",Config::rtfStylesheetFile.data());
printf("rtfExtensionsFile=`%s'\n",Config::rtfExtensionsFile.data());
printf("# configuration options related to the man page output\n");
printf("# configuration options related to the man page output\n");
printf("generateMan=`%d'\n",Config::generateMan);
printf("generateMan=`%d'\n",Config::generateMan);
printf("manOutputDir=`%s'\n",Config::manOutputDir.data());
printf("manOutputDir=`%s'\n",Config::manOutputDir.data());
...
@@ -929,6 +932,7 @@ void Config::init()
...
@@ -929,6 +932,7 @@ void Config::init()
Config::compactRTFFlag = FALSE;
Config::compactRTFFlag = FALSE;
Config::rtfHyperFlag = FALSE;
Config::rtfHyperFlag = FALSE;
Config::rtfStylesheetFile.resize(0);
Config::rtfStylesheetFile.resize(0);
Config::rtfExtensionsFile.resize(0);
Config::generateMan = TRUE;
Config::generateMan = TRUE;
Config::manOutputDir = "man";
Config::manOutputDir = "man";
Config::manExtension = ".3";
Config::manExtension = ".3";
...
@@ -2020,6 +2024,16 @@ void writeTemplateConfig(QFile *f,bool sl)
...
@@ -2020,6 +2024,16 @@ void writeTemplateConfig(QFile *f,bool sl)
writeStringValue(t,Config::rtfStylesheetFile);
writeStringValue(t,Config::rtfStylesheetFile);
t << "\n";
t << "\n";
if (!sl)
if (!sl)
{
t << "\n";
t << "# Set optional variables used in the generation of an rtf document. \n";
t << "# Syntax is similar to doxygen's config file.\n";
t << "\n";
}
t << "RTF_EXTENSIONS_FILE = ";
writeStringValue(t,Config::rtfExtensionsFile);
t << "\n";
if (!sl)
{
{
t << "\n";
t << "\n";
}
}
...
@@ -2698,6 +2712,7 @@ void substituteEnvironmentVars()
...
@@ -2698,6 +2712,7 @@ void substituteEnvironmentVars()
substEnvVarsInString( Config::latexHeaderFile );
substEnvVarsInString( Config::latexHeaderFile );
substEnvVarsInString( Config::rtfOutputDir );
substEnvVarsInString( Config::rtfOutputDir );
substEnvVarsInString( Config::rtfStylesheetFile );
substEnvVarsInString( Config::rtfStylesheetFile );
substEnvVarsInString( Config::rtfExtensionsFile );
substEnvVarsInString( Config::manOutputDir );
substEnvVarsInString( Config::manOutputDir );
substEnvVarsInString( Config::manExtension );
substEnvVarsInString( Config::manExtension );
substEnvVarsInStrList( Config::includePath );
substEnvVarsInStrList( Config::includePath );
...
...
src/definition.cpp
View file @
ea948596
...
@@ -344,11 +344,11 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
...
@@ -344,11 +344,11 @@ void Definition::writeSourceDef(OutputList &ol,const char *)
void
Definition
::
writeInlineCode
(
OutputList
&
ol
,
const
char
*
scopeName
)
void
Definition
::
writeInlineCode
(
OutputList
&
ol
,
const
char
*
scopeName
)
{
{
ol
.
pushGeneratorState
();
ol
.
pushGeneratorState
();
//printf("Source Fragment %s: %d-%d bodyDef=%p\n",name().data(),
// startBodyLine,endBodyLine,bodyDef);
if
(
Config
::
inlineSourceFlag
&&
startBodyLine
!=-
1
&&
if
(
Config
::
inlineSourceFlag
&&
startBodyLine
!=-
1
&&
endBodyLine
>=
startBodyLine
&&
bodyDef
)
endBodyLine
>=
startBodyLine
&&
bodyDef
)
{
{
//printf("Source Fragment %s: %d-%d\n",name().data(),
// startBodyLine,endBodyLine);
QCString
codeFragment
;
QCString
codeFragment
;
int
actualStart
=
startBodyLine
,
actualEnd
=
endBodyLine
;
int
actualStart
=
startBodyLine
,
actualEnd
=
endBodyLine
;
if
(
readCodeFragment
(
bodyDef
->
absFilePath
(),
if
(
readCodeFragment
(
bodyDef
->
absFilePath
(),
...
@@ -425,6 +425,7 @@ void Definition::writeSourceRefs(OutputList &ol,const char *scopeName)
...
@@ -425,6 +425,7 @@ void Definition::writeSourceRefs(OutputList &ol,const char *scopeName)
}
}
parseText
(
ol
,
ldefLine
.
right
(
ldefLine
.
length
()
-
index
));
parseText
(
ol
,
ldefLine
.
right
(
ldefLine
.
length
()
-
index
));
ol
.
writeString
(
"."
);
ol
.
writeString
(
"."
);
ol
.
newParagraph
();
}
}
ol
.
popGeneratorState
();
ol
.
popGeneratorState
();
}
}
...
...
src/doc.l
View file @
ea948596
...
@@ -625,7 +625,8 @@ static void forceEndItemList()
...
@@ -625,7 +625,8 @@ static void forceEndItemList()
enum ImageTypes
enum ImageTypes
{
{
IT_Html,
IT_Html,
IT_Latex
IT_Latex,
IT_RTF
};
};
// search for an image in the imageNameDict and if found
// search for an image in the imageNameDict and if found
...
@@ -657,6 +658,9 @@ static QCString findAndCopyImage(const char *fileName,ImageTypes type)
...
@@ -657,6 +658,9 @@ static QCString findAndCopyImage(const char *fileName,ImageTypes type)
case IT_Latex:
case IT_Latex:
outputDir = Config::latexOutputDir;
outputDir = Config::latexOutputDir;
break;
break;
case IT_RTF:
outputDir = Config::rtfOutputDir;
break;
}
}
QCString outputFile = outputDir+"/"+result;
QCString outputFile = outputDir+"/"+result;
QFile outImage(QString(outputFile.data()));
QFile outImage(QString(outputFile.data()));
...
@@ -731,6 +735,16 @@ void writeImage(ImageTypes it,const char *size)
...
@@ -731,6 +735,16 @@ void writeImage(ImageTypes it,const char *size)
outDoc->endImage(hasCaption);
outDoc->endImage(hasCaption);
}
}
break;
break;
case IT_RTF:
{
outDoc->disableAllBut(OutputGenerator::RTF);
outDoc->startImage(curImageName,0,hasCaption);
if (hasCaption)
{
scanString(curImageCaption);
}
outDoc->endImage(hasCaption);
}
}
}
outDoc->popGeneratorState();
outDoc->popGeneratorState();
}
}
...
@@ -864,6 +878,8 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
...
@@ -864,6 +878,8 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
%x DocHtmlImageOpt
%x DocHtmlImageOpt
%x DocLatexImageName
%x DocLatexImageName
%x DocLatexImageOpt
%x DocLatexImageOpt
%x DocRtfImageName
%x DocRtfImageOpt
%%
%%
...
@@ -1708,6 +1724,9 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
...
@@ -1708,6 +1724,9 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
<DocImage>[lL][aA][tT][eE][xX] {
<DocImage>[lL][aA][tT][eE][xX] {
BEGIN(DocLatexImageName);
BEGIN(DocLatexImageName);
}
}
<DocImage>[rR][tT][fF] {
BEGIN(DocRtfImageName);
}
<DocHtmlImageName>{FILE}|{URLMASK} {
<DocHtmlImageName>{FILE}|{URLMASK} {
curImageName = findAndCopyImage(stripQuotes(yytext),IT_Html);
curImageName = findAndCopyImage(stripQuotes(yytext),IT_Html);
curImageCaption.resize(0);
curImageCaption.resize(0);
...
@@ -1727,6 +1746,24 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
...
@@ -1727,6 +1746,24 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
<DocHtmlImageOpt>\"[^\n"]*\" {
<DocHtmlImageOpt>\"[^\n"]*\" {
curImageCaption=stripQuotes(yytext);
curImageCaption=stripQuotes(yytext);
}
}
<DocRtfImageName>{FILE} {
curImageName = findAndCopyImage(stripQuotes(yytext),IT_RTF);
curImageCaption.resize(0);
if (curImageName.isEmpty())
{
BEGIN(DocScan);
}
else
{
BEGIN(DocRtfImageOpt);
}
}
<DocRtfImageOpt>\n {
writeImage(IT_RTF,0);
}
<DocRtfImageOpt>\"[^\n"]*\" {
curImageCaption=stripQuotes(yytext);
}
<DocLatexImageName>{FILE} {
<DocLatexImageName>{FILE} {
curImageName = findAndCopyImage(stripQuotes(yytext),IT_Latex);
curImageName = findAndCopyImage(stripQuotes(yytext),IT_Latex);
curImageCaption.resize(0);
curImageCaption.resize(0);
...
...
src/doxygen.cpp
View file @
ea948596
...
@@ -407,7 +407,6 @@ static void buildGroupList(Entry *root)
...
@@ -407,7 +407,6 @@ static void buildGroupList(Entry *root)
gd
->
addSectionsToDefinition
(
root
->
anchors
);
gd
->
addSectionsToDefinition
(
root
->
anchors
);
Doxygen
::
groupList
.
append
(
gd
);
Doxygen
::
groupList
.
append
(
gd
);
Doxygen
::
groupDict
.
insert
(
root
->
name
,
gd
);
Doxygen
::
groupDict
.
insert
(
root
->
name
,
gd
);
addGroupToGroups
(
root
,
gd
);
gd
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
gd
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
}
}
}
}
...
@@ -419,6 +418,25 @@ static void buildGroupList(Entry *root)
...
@@ -419,6 +418,25 @@ static void buildGroupList(Entry *root)
}
}
}
}
static
void
organizeSubGroups
(
Entry
*
root
)
{
if
(
root
->
section
==
Entry
::
GROUPDOC_SEC
&&
!
root
->
name
.
isEmpty
())
{
GroupDef
*
gd
;
if
((
gd
=
Doxygen
::
groupDict
[
root
->
name
]))
{
addGroupToGroups
(
root
,
gd
);
}
}
EntryListIterator
eli
(
*
root
->
sublist
);
Entry
*
e
;
for
(;(
e
=
eli
.
current
());
++
eli
)
{
organizeSubGroups
(
e
);
}
}
//----------------------------------------------------------------------
//----------------------------------------------------------------------
static
void
buildFileList
(
Entry
*
root
)
static
void
buildFileList
(
Entry
*
root
)
...
@@ -3813,12 +3831,13 @@ static void findMemberDocumentation(Entry *root)
...
@@ -3813,12 +3831,13 @@ static void findMemberDocumentation(Entry *root)
compoundKeywordDict
.
find
(
root
->
type
)
==
0
// that is not a keyword
compoundKeywordDict
.
find
(
root
->
type
)
==
0
// that is not a keyword
// (to skip forward declaration of class etc.)
// (to skip forward declaration of class etc.)
)
)
)
&&
!
root
->
stat
&&
// not static
)
&&
!
root
->
stat
// not static
(
!
root
->
doc
.
isEmpty
()
||
// has detailed docs
/* && (
!
root
->
brief
.
isEmpty
()
||
// has brief docs
!root->doc.isEmpty() || // has detailed docs
(
root
->
memSpec
&
Entry
::
Inline
)
||
// is inline
!root->brief.isEmpty() || // has brief docs
root
->
mGrpId
!=-
1
// is part of a group
(root->memSpec&Entry::Inline) || // is inline
)
root->mGrpId!=-1 || // is part of a group
) */
)
)
{
{
//printf("Documentation for member `%s' found args=`%s' excp=`%s'\n",
//printf("Documentation for member `%s' found args=`%s' excp=`%s'\n",
...
@@ -4423,9 +4442,9 @@ static void addSourceReferences()
...
@@ -4423,9 +4442,9 @@ static void addSourceReferences()
NamespaceDef
*
nd
=
md
->
getNamespaceDef
();
NamespaceDef
*
nd
=
md
->
getNamespaceDef
();
FileDef
*
fd
=
md
->
getBodyDef
();
FileDef
*
fd
=
md
->
getBodyDef
();
GroupDef
*
gd
=
md
->
getGroupDef
();
GroupDef
*
gd
=
md
->
getGroupDef
();
if
(
md
->
getStartBodyLine
()
!=-
1
&&
md
->
isLinkableInProject
()
&&
if
(
fd
&&
md
->
getStartBodyLine
()
!=-
1
&&
md
->
isLinkableInProject
()
&&
((
nd
&&
nd
->
isLinkableInProject
())
||
((
nd
&&
nd
->
isLinkableInProject
())
||
(
fd
&&
fd
->
isLinkableInProject
())
||
(
fd
->
isLinkableInProject
())
||
(
gd
&&
gd
->
isLinkableInProject
())
(
gd
&&
gd
->
isLinkableInProject
())
)
)
)
)
...
@@ -5661,6 +5680,8 @@ static void usage(const char *name)
...
@@ -5661,6 +5680,8 @@ static void usage(const char *name)
msg
(
" RTF: %s -w rtf styleSheetFile
\n
"
,
name
);
msg
(
" RTF: %s -w rtf styleSheetFile
\n
"
,
name
);
msg
(
" HTML: %s -w html headerFile footerFile styleSheetFile [configFile]
\n
"
,
name
);
msg
(
" HTML: %s -w html headerFile footerFile styleSheetFile [configFile]
\n
"
,
name
);
msg
(
" LaTeX: %s -w latex headerFile styleSheetFile [configFile]
\n\n
"
,
name
);
msg
(
" LaTeX: %s -w latex headerFile styleSheetFile [configFile]
\n\n
"
,
name
);
msg
(
"5) Use doxygen to generate an rtf extensions file
\n
"
);
msg
(
" RTF: %s -e rtf extensionsFile
\n\n
"
,
name
);
msg
(
"If -s is specified the comments in the config file will be omitted.
\n
"
);
msg
(
"If -s is specified the comments in the config file will be omitted.
\n
"
);
msg
(
"If configName is omitted `Doxyfile' will be used as a default.
\n\n
"
);
msg
(
"If configName is omitted `Doxyfile' will be used as a default.
\n\n
"
);
exit
(
1
);
exit
(
1
);
...
@@ -5726,6 +5747,30 @@ void readConfiguration(int argc, char **argv)
...
@@ -5726,6 +5747,30 @@ void readConfiguration(int argc, char **argv)
case
'u'
:
case
'u'
:
updateConfig
=
TRUE
;
updateConfig
=
TRUE
;
break
;
break
;
case
'e'
:
formatName
=
getArg
(
argc
,
argv
,
optind
);
if
(
!
formatName
)
{
err
(
"Error:option -e is missing format specifier rtf.
\n
"
);
exit
(
1
);
}
if
(
stricmp
(
formatName
,
"rtf"
)
==
0
)
{
if
(
optind
+
1
>=
argc
)
{
err
(
"Error: option
\"
-e rtf
\"
is missing an extensions file name
\n
"
);
exit
(
1
);
}
QFile
f
;
if
(
openOutputFile
(
argv
[
optind
+
1
],
f
))
{
RTFGenerator
::
writeExtensionsFile
(
f
);
}
exit
(
1
);
}
err
(
"Error: option
\"
-e
\"
has invalid format specifier.
\n
"
);
exit
(
1
);
break
;
case
'w'
:
case
'w'
:
formatName
=
getArg
(
argc
,
argv
,
optind
);
formatName
=
getArg
(
argc
,
argv
,
optind
);
if
(
!
formatName
)
if
(
!
formatName
)
...
@@ -5982,7 +6027,12 @@ void parseInput()
...
@@ -5982,7 +6027,12 @@ void parseInput()
s
=
Config
::
inputSources
.
first
();
s
=
Config
::
inputSources
.
first
();
while
(
s
)
while
(
s
)
{
{
inputSize
+=
readFileOrDirectory
(
s
,
&
Doxygen
::
inputNameList
,
QCString
path
=
s
;
uint
l
=
path
.
length
();
// strip trailing slashes
if
(
path
.
at
(
l
-
1
)
==
'\\'
||
path
.
at
(
l
-
1
)
==
'/'
)
path
=
path
.
left
(
l
-
1
);
inputSize
+=
readFileOrDirectory
(
path
,
&
Doxygen
::
inputNameList
,
Doxygen
::
inputNameDict
,
&
excludeNameDict
,
Doxygen
::
inputNameDict
,
&
excludeNameDict
,
&
Config
::
filePatternList
,
&
Config
::
filePatternList
,
&
Config
::
excludePatternList
,
&
Config
::
excludePatternList
,
...
@@ -6108,6 +6158,7 @@ void parseInput()
...
@@ -6108,6 +6158,7 @@ void parseInput()
msg
(
"Building group list...
\n
"
);
msg
(
"Building group list...
\n
"
);
buildGroupList
(
root
);
buildGroupList
(
root
);
organizeSubGroups
(
root
);
msg
(
"Building namespace list...
\n
"
);
msg
(
"Building namespace list...
\n
"
);
buildNamespaceList
(
root
);
buildNamespaceList
(
root
);
...
...
src/filedef.cpp
View file @
ea948596
...
@@ -668,10 +668,11 @@ void FileDef::addIncludedByDependency(FileDef *fd,const char *incName,bool local
...
@@ -668,10 +668,11 @@ void FileDef::addIncludedByDependency(FileDef *fd,const char *incName,bool local
bool
FileDef
::
generateSourceFile
()
const
bool
FileDef
::
generateSourceFile
()
const
{
{
QCString
extension
=
name
().
right
(
4
);
return
!
isReference
()
&&
return
!
isReference
()
&&
(
Config
::
sourceBrowseFlag
||
(
Config
::
sourceBrowseFlag
||
(
Config
::
verbatimHeaderFlag
&&
guessSection
(
name
())
==
Entry
::
HEADER_SEC
)
(
Config
::
verbatimHeaderFlag
&&
guessSection
(
name
())
==
Entry
::
HEADER_SEC
)
)
&&
)
&&
name
().
right
(
4
)
!=
".doc"
&&
name
().
right
(
4
)
!=
".txt
"
;
extension
!=
".doc"
&&
extension
!=
".txt"
&&
extension
!=
".dox
"
;
}
}
src/groupdef.cpp
View file @
ea948596
...
@@ -38,6 +38,7 @@ GroupDef::GroupDef(const char *df,int dl,const char *na,const char *t) :
...
@@ -38,6 +38,7 @@ GroupDef::GroupDef(const char *df,int dl,const char *na,const char *t) :
fileList
=
new
FileList
;
fileList
=
new
FileList
;
classList
=
new
ClassList
;
classList
=
new
ClassList
;
groupList
=
new
GroupList
;
groupList
=
new
GroupList
;
parentGroupList
=
new
GroupList
;
namespaceList
=
new
NamespaceList
;
namespaceList
=
new
NamespaceList
;
pageDict
=
new
PageSDict
(
257
);
pageDict
=
new
PageSDict
(
257
);
exampleDict
=
new
PageSDict
(
257
);
exampleDict
=
new
PageSDict
(
257
);
...
@@ -63,6 +64,7 @@ GroupDef::~GroupDef()
...
@@ -63,6 +64,7 @@ GroupDef::~GroupDef()
delete
fileList
;
delete
fileList
;
delete
classList
;
delete
classList
;
delete
groupList
;
delete
groupList
;
delete
parentGroupList
;
delete
namespaceList
;
delete
namespaceList
;
delete
pageDict
;
delete
pageDict
;
delete
exampleDict
;
delete
exampleDict
;
...
@@ -242,6 +244,20 @@ void GroupDef::addGroup(const GroupDef *def)
...
@@ -242,6 +244,20 @@ void GroupDef::addGroup(const GroupDef *def)
groupList
->
append
(
def
);
groupList
->
append
(
def
);
}
}
void
GroupDef
::
addParentGroup
(
const
GroupDef
*
def
)
{
if
(
Config
::
sortMembersFlag
)
parentGroupList
->
inSort
(
def
);
else
parentGroupList
->
append
(
def
);
}
bool
GroupDef
::
isASubGroup
()
const
{
return
parentGroupList
->
count
()
!=
0
;
}
int
GroupDef
::
countMembers
()
const
int
GroupDef
::
countMembers
()
const
{
{
return
fileList
->
count
()
+
return
fileList
->
count
()
+
...
@@ -569,6 +585,7 @@ void addGroupToGroups(Entry *root,GroupDef *subGroup)
...
@@ -569,6 +585,7 @@ void addGroupToGroups(Entry *root,GroupDef *subGroup)
if
(
!
s
->
isEmpty
()
&&
(
gd
=
Doxygen
::
groupDict
[
*
s
]))
if
(
!
s
->
isEmpty
()
&&
(
gd
=
Doxygen
::
groupDict
[
*
s
]))
{
{
gd
->
addGroup
(
subGroup
);
gd
->
addGroup
(
subGroup
);
subGroup
->
addParentGroup
(
gd
);
}
}
}
}
}
}
...
...
src/groupdef.h
View file @
ea948596
...
@@ -52,6 +52,7 @@ class GroupDef : public Definition
...
@@ -52,6 +52,7 @@ class GroupDef : public Definition
void
addClass
(
const
ClassDef
*
def
);
void
addClass
(
const
ClassDef
*
def
);
void
addNamespace
(
const
NamespaceDef
*
def
);
void
addNamespace
(
const
NamespaceDef
*
def
);
void
addGroup
(
const
GroupDef
*
def
);
void
addGroup
(
const
GroupDef
*
def
);
void
addParentGroup
(
const
GroupDef
*
def
);
void
addPage
(
PageInfo
*
def
);
// pages in this group
void
addPage
(
PageInfo
*
def
);
// pages in this group
void
addExample
(
const
PageInfo
*
def
);
// examples in this group
void
addExample
(
const
PageInfo
*
def
);
// examples in this group
void
insertMember
(
MemberDef
*
def
);
void
insertMember
(
MemberDef
*
def
);
...
@@ -65,6 +66,7 @@ class GroupDef : public Definition
...
@@ -65,6 +66,7 @@ class GroupDef : public Definition
{
{
return
isLinkableInProject
()
||
isReference
();
return
isLinkableInProject
()
||
isReference
();
}
}
bool
isASubGroup
()
const
;
void
computeAnchors
();
void
computeAnchors
();
void
addMembersToMemberGroup
();
void
addMembersToMemberGroup
();
...
@@ -72,7 +74,8 @@ class GroupDef : public Definition
...
@@ -72,7 +74,8 @@ class GroupDef : public Definition
bool
visited
;
// number of times accessed for output - KPW
bool
visited
;
// number of times accessed for output - KPW
friend
void
writeGroupTreeNode
(
OutputList
&
,
GroupDef
*
);
// make accessible for writing tree view of group in index.cpp - KPW
friend
void
writeGroupTreeNode
(
OutputList
&
,
GroupDef
*
,
bool
);
// make accessible for writing tree view of group in index.cpp - KPW
protected
:
protected
:
void
addMemberListToGroup
(
MemberList
*
,
bool
(
MemberDef
::*
)()
const
);
void
addMemberListToGroup
(
MemberList
*
,
bool
(
MemberDef
::*
)()
const
);
...
@@ -84,6 +87,7 @@ class GroupDef : public Definition
...
@@ -84,6 +87,7 @@ class GroupDef : public Definition
ClassList
*
classList
;
// list of classes in the group
ClassList
*
classList
;
// list of classes in the group
NamespaceList
*
namespaceList
;
// list of namespaces in the group
NamespaceList
*
namespaceList
;
// list of namespaces in the group
GroupList
*
groupList
;
// list of sub groups.
GroupList
*
groupList
;
// list of sub groups.
GroupList
*
parentGroupList
;
// list of parent groups.
PageSDict
*
pageDict
;
// list of pages in the group
PageSDict
*
pageDict
;
// list of pages in the group
PageSDict
*
exampleDict
;
// list of examples in the group
PageSDict
*
exampleDict
;
// list of examples in the group
...
...
src/index.cpp
View file @
ea948596
...
@@ -2122,7 +2122,7 @@ void writeGraphInfo(OutputList &ol)
...
@@ -2122,7 +2122,7 @@ void writeGraphInfo(OutputList &ol)
* \author KPW
* \author KPW
*/
*/
void
writeGroupTreeNode
(
OutputList
&
ol
,
GroupDef
*
gd
)
void
writeGroupTreeNode
(
OutputList
&
ol
,
GroupDef
*
gd
,
bool
subLevel
)
{
{
HtmlHelp
*
htmlHelp
=
0
;
HtmlHelp
*
htmlHelp
=
0
;
FTVHelp
*
ftvHelp
=
0
;
FTVHelp
*
ftvHelp
=
0
;
...
@@ -2139,7 +2139,7 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd)
...
@@ -2139,7 +2139,7 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd)
GroupDef
*
subgd
=
0
;
GroupDef
*
subgd
=
0
;
GroupListIterator
gli
(
*
gd
->
groupList
);
GroupListIterator
gli
(
*
gd
->
groupList
);
if
(
!
gd
->
visited
)
if
(
!
gd
->
visited
&&
(
!
gd
->
isASubGroup
()
||
subLevel
)
)
{
{
//printf("gd->name()=%s #members=%d\n",gd->name().data(),gd->countMembers());
//printf("gd->name()=%s #members=%d\n",gd->name().data(),gd->countMembers());
// write group info
// write group info
...
@@ -2200,7 +2200,7 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd)
...
@@ -2200,7 +2200,7 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd)
ol
.
startIndexList
();
ol
.
startIndexList
();
for
(
gli
.
toLast
();(
subgd
=
gli
.
current
());
--
gli
)
for
(
gli
.
toLast
();(
subgd
=
gli
.
current
());
--
gli
)
{
{
writeGroupTreeNode
(
ol
,
subgd
);
writeGroupTreeNode
(
ol
,
subgd
,
TRUE
);
}
}
ol
.
endIndexList
();
ol
.
endIndexList
();
}
}
...
@@ -2403,7 +2403,7 @@ void writeGroupHierarchy(OutputList &ol)
...
@@ -2403,7 +2403,7 @@ void writeGroupHierarchy(OutputList &ol)
GroupDef
*
gd
;
GroupDef
*
gd
;
for
(;(
gd
=
gli
.
current
());
++
gli
)
for
(;(
gd
=
gli
.
current
());
++
gli
)
{
{
writeGroupTreeNode
(
ol
,
gd
);
writeGroupTreeNode
(
ol
,
gd
,
FALSE
);
}
}
ol
.
endIndexList
();
ol
.
endIndexList
();
}
}
...
...
src/memberdef.cpp
View file @
ea948596
...
@@ -1432,7 +1432,7 @@ bool MemberDef::isLinkable()
...
@@ -1432,7 +1432,7 @@ bool MemberDef::isLinkable()
bool
MemberDef
::
detailsAreVisible
()
const
bool
MemberDef
::
detailsAreVisible
()
const
{
{
return
!
documentation
().
isEmpty
()
||
// has detailed docs
return
!
documentation
().
isEmpty
()
||
// has detailed docs
//(
Config::sourceBrowseFlag
&& startBodyLine!=-1 && bodyDef) || // has reference to sources
//(
(Config::sourceBrowseFlag || Config::inlineSourceFlag)
&& startBodyLine!=-1 && bodyDef) || // has reference to sources
(
mtype
==
Enumeration
&&
docEnumValues
)
||
// has enum values
(
mtype
==
Enumeration
&&
docEnumValues
)
||
// has enum values
(
mtype
==
EnumValue
&&
!
briefDescription
().
isEmpty
())
||
// is doc enum value
(
mtype
==
EnumValue
&&
!
briefDescription
().
isEmpty
())
||
// is doc enum value
(
!
briefDescription
().
isEmpty
()
&&
(
!
briefDescription
().
isEmpty
()
&&
...
...
src/rtfgen.cpp
View file @
ea948596
...
@@ -46,6 +46,16 @@ struct ListItemInfo
...
@@ -46,6 +46,16 @@ struct ListItemInfo
};
};
static
ListItemInfo
listItemInfo
[
indentLevels
];
static
ListItemInfo
listItemInfo
[
indentLevels
];
static
QCString
title
;
static
QCString
subject
;
static
QCString
comments
;
static
QCString
company
;
static
QCString
logoFilename
;
static
QCString
author
;
static
QCString
manager
;
static
QCString
documentType
;
static
QCString
documentId
;
static
QCString
keywords
;
// it is undocumented as far as I know, but
// it is undocumented as far as I know, but
// "."'s in a bookmarkname are converted to "_"'s
// "."'s in a bookmarkname are converted to "_"'s
...
@@ -582,6 +592,102 @@ static void loadStylesheet(const char *name, QDict<StyleData>& dict)
...
@@ -582,6 +592,102 @@ static void loadStylesheet(const char *name, QDict<StyleData>& dict)
static
QDict
<
StyleData
>
Rtf_Style
(
257
);
static
QDict
<
StyleData
>
Rtf_Style
(
257
);
void
RTFGenerator
::
writeExtensionsFile
(
QFile
&
file
)
{
QTextStream
t
(
&
file
);
t
<<
"# Generated by doxygen "
<<
versionString
<<
"
\n\n
"
;
t
<<
"# This file describes extensions used for generating RTF output.
\n
"
;
t
<<
"# All text after a hash (#) is considered a comment and will be ignored.
\n
"
;
t
<<
"# Remove a hash to activate a line.
\n\n
"
;
t
<<
"# Overrides the project title.
\n
"
;
t
<<
"#Title =
\n\n
"
;
t
<<
"# Name of the company that produced this document.
\n
"
;
t
<<
"#Company =
\n\n
"
;
t
<<
"# Filename of a company or project logo.
\n
"
;
t
<<
"#LogoFilename =
\n\n
"
;
t
<<
"# Author of the document.
\n
"
;
t
<<
"#Author =
\n\n
"
;
t
<<
"# Type of document (e.g. Design Specification, User Manual, etc.).
\n
"
;
t
<<
"#DocumentType =
\n\n
"
;
t
<<
"# Document tracking number.
\n
"
;
t
<<
"#DocumentId =
\n\n
"
;
t
<<
"# Name of the author's manager.
\n
"
;
t
<<
"# This field is not displayed in the document itself, but it is
\n
"
;
t
<<
"# available in the information block of the rtf file. In Microsoft
\n
"
;
t
<<
"# Word, it is available under File:Properties.
\n
"
;
t
<<
"#Manager =
\n\n
"
;
t
<<
"# Subject of the document.
\n
"
;
t
<<
"# This field is not displayed in the document itself, but it is
\n
"
;
t
<<
"# available in the information block of the rtf file. In Microsoft
\n
"
;
t
<<
"# Word, it is available under File:Properties.
\n
"
;
t
<<
"#Subject =
\n\n
"
;
t
<<
"# Comments regarding the document.
\n
"
;
t
<<
"# This field is not displayed in the document itself, but it is
\n
"
;
t
<<
"# available in the information block of the rtf file. In Microsoft
\n
"
;
t
<<
"# Word, it is available under File:Properties.
\n
"
;
t
<<
"#Comments =
\n\n
"
;
t
<<
"# Keywords associated with the document.
\n
"
;
t
<<
"# This field is not displayed in the document itself, but it is
\n
"
;
t
<<
"# available in the information block of the rtf file. In Microsoft
\n
"
;
t
<<
"# Word, it is available under File:Properties.
\n
"
;
t
<<
"#Keywords =
\n\n
"
;
}
static
void
loadExtensions
(
const
char
*
name
)
{
QFile
file
(
name
);
if
(
!
file
.
open
(
IO_ReadOnly
))
{
err
(
"Can't open RTF extensions file %s. Using defaults.
\n
"
,
name
);
return
;
}
msg
(
"Loading RTF extensions %s...
\n
"
,
name
);
static
const
QRegExp
separator
(
"[
\t
]*=[
\t
]*"
);
uint
lineNr
=
1
;
QTextStream
t
(
&
file
);
while
(
!
t
.
eof
())
{
QCString
s
(
4096
);
// string buffer of max line length
s
=
t
.
readLine
().
stripWhiteSpace
();
if
(
s
.
length
()
==
0
||
s
.
at
(
0
)
==
'#'
)
continue
;
// skip blanks & comments
int
sepLength
;
int
sepStart
=
separator
.
match
(
s
,
0
,
&
sepLength
);
if
(
sepStart
<=
0
)
// no valid assignment statement
{
warn
(
name
,
lineNr
,
"Assignment of extension field expected!
\n
"
);
continue
;
}
QCString
key
=
s
.
left
(
sepStart
);
QCString
data
=
s
.
data
()
+
sepStart
+
sepLength
;
if
(
key
==
"Title"
)
title
=
data
.
data
();
if
(
key
==
"Subject"
)
subject
=
data
.
data
();
if
(
key
==
"Comments"
)
comments
=
data
.
data
();
if
(
key
==
"Company"
)
company
=
data
.
data
();
if
(
key
==
"LogoFilename"
)
logoFilename
=
data
.
data
();
if
(
key
==
"Author"
)
author
=
data
.
data
();
if
(
key
==
"Manager"
)
manager
=
data
.
data
();
if
(
key
==
"DocumentType"
)
documentType
=
data
.
data
();
if
(
key
==
"DocumentId"
)
documentId
=
data
.
data
();
if
(
key
==
"Keywords"
)
keywords
=
data
.
data
();
lineNr
++
;
}
}
void
RTFGenerator
::
init
()
void
RTFGenerator
::
init
()
{
{
QCString
dir
=
Config
::
rtfOutputDir
;
QCString
dir
=
Config
::
rtfOutputDir
;
...
@@ -607,6 +713,12 @@ void RTFGenerator::init()
...
@@ -607,6 +713,12 @@ void RTFGenerator::init()
// overwrite some (or all) definitions from file
// overwrite some (or all) definitions from file
if
(
!
Config
::
rtfStylesheetFile
.
isEmpty
())
if
(
!
Config
::
rtfStylesheetFile
.
isEmpty
())
loadStylesheet
(
Config
::
rtfStylesheetFile
,
Rtf_Style
);
loadStylesheet
(
Config
::
rtfStylesheetFile
,
Rtf_Style
);
// If user has defined an extension file, load its contents.
if
(
Config
::
rtfExtensionsFile
)
{
loadExtensions
(
Config
::
rtfExtensionsFile
);
}
}
}
static
QCString
makeIndexName
(
const
char
*
s
,
int
i
)
static
QCString
makeIndexName
(
const
char
*
s
,
int
i
)
...
@@ -768,11 +880,20 @@ void RTFGenerator::startIndexSection(IndexSections is)
...
@@ -768,11 +880,20 @@ void RTFGenerator::startIndexSection(IndexSections is)
case
isTitlePageStart
:
case
isTitlePageStart
:
// basic RTFstart
// basic RTFstart
// get readyfor author etc
// get readyfor author etc
t
<<
"{
\\
info
\n
"
;
t
<<
"{
\\
info
\n
"
;
t
<<
"{
\\
title "
;
t
<<
"{
\\
title
{
\\
comment
"
;
break
;
break
;
case
isTitlePageAuthor
:
case
isTitlePageAuthor
:
t
<<
"}
\n
{
\\
author "
;
t
<<
"}
\n
"
;
if
(
subject
)
t
<<
"{
\\
subject "
<<
subject
<<
"}
\n
"
;
if
(
comments
)
t
<<
"{
\\
comment "
<<
comments
<<
"}
\n
"
;
if
(
company
)
t
<<
"{
\\
company "
<<
company
<<
"}
\n
"
;
if
(
author
)
t
<<
"{
\\
author "
<<
author
<<
"}
\n
"
;
if
(
manager
)
t
<<
"{
\\
manager "
<<
manager
<<
"}
\n
"
;
if
(
documentType
)
t
<<
"{
\\
category "
<<
documentType
<<
"}
\n
"
;
if
(
keywords
)
t
<<
"{
\\
keywords "
<<
keywords
<<
"}
\n
"
;
t
<<
"{
\\
comment "
;
break
;
break
;
case
isMainPage
:
case
isMainPage
:
//Introduction
//Introduction
...
@@ -917,29 +1038,64 @@ void RTFGenerator::endIndexSection(IndexSections is)
...
@@ -917,29 +1038,64 @@ void RTFGenerator::endIndexSection(IndexSections is)
switch
(
is
)
switch
(
is
)
{
{
case
isTitlePageStart
:
case
isTitlePageStart
:
if
(
title
)
// User has overridden document title in extensions file
t
<<
"}"
<<
title
;
else
t
<<
"}"
<<
Config
::
projectName
;
break
;
break
;
case
isTitlePageAuthor
:
case
isTitlePageAuthor
:
{
{
t
<<
" Doxygen}
\n
"
t
<<
"Doxgyen. }
\n
"
;
"{
\\
creatim "
<<
dateToRTFDateString
()
<<
"}
\n
"
t
<<
"{
\\
creatim "
<<
dateToRTFDateString
()
<<
"}
\n
}"
;
"}"
;
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"
]
->
reference
<<
"{
\\
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
[
"SubTitle"
]
->
reference
<<
endl
;
// set to title style
t
<<
"
\\
vertalc
\\
qc
\\
par
\\
par
\\
par
\\
par
\\
par
\\
par
\\
par"
;
if
(
logoFilename
)
{
t
<<
"{
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
<<
logoFilename
;
t
<<
"
\\\\
*MERGEFORMAT} {
\\
fldrslt IMAGE }}
\\
par
\\
par
\n
"
;
}
if
(
company
)
{
t
<<
company
<<
"
\\
par
\\
par
\n
"
;
}
t
<<
Rtf_Style_Reset
<<
Rtf_Style
[
"Title"
]
->
reference
<<
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"
]
->
reference
<<
endl
;
// set to title style
t
<<
"
\\
par
\n
"
;
if
(
documentType
)
{
t
<<
documentType
<<
"
\\
par
\n
"
;
}
if
(
documentId
)
{
t
<<
documentId
<<
"
\\
par
\n
"
;
}
t
<<
"
\\
par
\\
par
\\
par
\\
par
\\
par
\\
par
\\
par
\\
par
\\
par
\\
par
\\
par
\\
par
\n
"
;
t
<<
Rtf_Style_Reset
<<
Rtf_Style
[
"SubTitle"
]
->
reference
<<
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
<<
"Version "
<<
Config
::
projectNumber
<<
"
\\
par"
;
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst CREATEDATE
\\\\
*MERGEFORMAT}"
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst CREATEDATE
\\\\
*MERGEFORMAT}"
"{
\\
fldrslt CREATEDATE}}
\\
par"
<<
endl
;
"{
\\
fldrslt CREATEDATE}}
\\
par"
<<
endl
;
t
<<
"
\\
page
\\
page"
;
DBG_RTF
(
t
<<
"{
\\
comment End title page}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment End title page}"
<<
endl
)
// 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
<<
"
\\
vertalt
\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
;
...
@@ -1743,7 +1899,7 @@ void RTFGenerator::endMemberDescription()
...
@@ -1743,7 +1899,7 @@ void RTFGenerator::endMemberDescription()
endEmphasis
();
endEmphasis
();
newParagraph
();
newParagraph
();
decrementIndentLevel
();
decrementIndentLevel
();
t
<<
"}"
<<
endl
;
t
<<
"
\\
par
}"
<<
endl
;
}
}
void
RTFGenerator
::
startDescList
()
void
RTFGenerator
::
startDescList
()
...
@@ -2013,9 +2169,15 @@ void RTFGenerator::endMemberList()
...
@@ -2013,9 +2169,15 @@ void RTFGenerator::endMemberList()
#endif
#endif
}
}
void
RTFGenerator
::
startImage
(
const
char
*
,
const
char
*
,
bool
)
void
RTFGenerator
::
startImage
(
const
char
*
name
,
const
char
*
,
bool
)
{
{
// not yet implemented
newParagraph
();
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style_Reset
<<
endl
;
t
<<
"
\\
par
\\
pard
\\
qc {
\\
field
\\
flddirty {
\\
*
\\
fldinst INCLUDEPICTURE "
;
t
<<
name
;
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt IMAGE}}
\\
par"
<<
endl
;
t
<<
"}"
<<
endl
;
}
}
void
RTFGenerator
::
endImage
(
bool
)
void
RTFGenerator
::
endImage
(
bool
)
...
...
src/rtfgen.h
View file @
ea948596
...
@@ -29,6 +29,7 @@ class RTFGenerator : public OutputGenerator
...
@@ -29,6 +29,7 @@ class RTFGenerator : public OutputGenerator
~
RTFGenerator
();
~
RTFGenerator
();
static
void
init
();
static
void
init
();
static
void
writeStyleSheetFile
(
QFile
&
f
);
static
void
writeStyleSheetFile
(
QFile
&
f
);
static
void
writeExtensionsFile
(
QFile
&
file
);
OutputGenerator
*
copy
();
OutputGenerator
*
copy
();
//OutputGenerator *clone() { return new RTFGenerator(*this); }
//OutputGenerator *clone() { return new RTFGenerator(*this); }
...
...
src/scanner.l
View file @
ea948596
...
@@ -372,6 +372,7 @@ FILESCHAR [a-z_A-Z0-9\\:\\\/\-\+]
...
@@ -372,6 +372,7 @@ FILESCHAR [a-z_A-Z0-9\\:\\\/\-\+]
FILEECHAR [a-z_A-Z0-9\-\+]
FILEECHAR [a-z_A-Z0-9\-\+]
FILE ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|("\""[^\n\"]+"\"")
FILE ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|("\""[^\n\"]+"\"")
ID [a-z_A-Z][a-z_A-Z0-9]*
ID [a-z_A-Z][a-z_A-Z0-9]*
LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
SCOPEID {ID}({ID}*{BN}*"::"{BN}*)*({ID}?)
SCOPEID {ID}({ID}*{BN}*"::"{BN}*)*({ID}?)
SCOPENAME (({ID}?{BN}*"::"{BN}*)*)((~{BN}*)?{ID})
SCOPENAME (({ID}?{BN}*"::"{BN}*)*)((~{BN}*)?{ID})
ATTR ({B}+[^>\n]*)?
ATTR ({B}+[^>\n]*)?
...
@@ -3149,13 +3150,13 @@ TITLE [tT][iI][tT][lL][eE]
...
@@ -3149,13 +3150,13 @@ TITLE [tT][iI][tT][lL][eE]
<SkipCode>. {
<SkipCode>. {
*pSkipDoc+=*yytext;
*pSkipDoc+=*yytext;
}
}
<AnchorLabel>{ID} {
<AnchorLabel>{
LABEL
ID} {
sectionLabel=yytext;
sectionLabel=yytext;
addSection();
addSection();
current->doc += "\\anchor "+sectionLabel+"\n";
current->doc += "\\anchor "+sectionLabel+"\n";
BEGIN(lastAnchorContext);
BEGIN(lastAnchorContext);
}
}
<SectionLabel>{ID} {
<SectionLabel>{
LABEL
ID} {
sectionLabel=yytext;
sectionLabel=yytext;
sectionTitle.resize(0);
sectionTitle.resize(0);
BEGIN(SectionTitle);
BEGIN(SectionTitle);
...
...
src/translator_cz.h
View file @
ea948596
...
@@ -93,6 +93,11 @@
...
@@ -93,6 +93,11 @@
// 2001/02/26 (Petr Prikryl)
// 2001/02/26 (Petr Prikryl)
// - Update for "new since 1.2.5" version (trBug(), trBugList()).
// - Update for "new since 1.2.5" version (trBug(), trBugList()).
//
//
// 2001/03/12 (Petr Prikryl)
// - Minor correction of comments which copied the same
// corrections in translator.h (doubled backslash) just after
// 1.2.6 release.
//
// Notices:
// Notices:
// --------
// --------
// The conditional compilation ensures or the neutral functionality
// The conditional compilation ensures or the neutral functionality
...
@@ -224,7 +229,7 @@ class TranslatorCzech : public Translator
...
@@ -224,7 +229,7 @@ class TranslatorCzech : public Translator
// quick reference sections
// quick reference sections
/*! This is put above each page as a link to the list of all groups of
/*! This is put above each page as a link to the list of all groups of
* compounds or files (see the \group command).
* compounds or files (see the \
\
group command).
*/
*/
virtual
QCString
trModules
()
virtual
QCString
trModules
()
{
return
Decode
(
"Moduly"
);
}
{
return
Decode
(
"Moduly"
);
}
...
@@ -534,48 +539,48 @@ class TranslatorCzech : public Translator
...
@@ -534,48 +539,48 @@ class TranslatorCzech : public Translator
return
Decode
((
QCString
)
"Diagram dìdiènosti pro tøídu "
+
clName
);
return
Decode
((
QCString
)
"Diagram dìdiènosti pro tøídu "
+
clName
);
}
}
/*! this text is generated when the \internal command is used. */
/*! this text is generated when the \
\
internal command is used. */
virtual
QCString
trForInternalUseOnly
()
virtual
QCString
trForInternalUseOnly
()
{
return
Decode
(
"Pouze pro vnitøní použití."
);
}
{
return
Decode
(
"Pouze pro vnitøní použití."
);
}
/*! this text is generated when the \reimp command is used. */
/*! this text is generated when the \
\
reimp command is used. */
virtual
QCString
trReimplementedForInternalReasons
()
virtual
QCString
trReimplementedForInternalReasons
()
{
return
Decode
(
"Reimplementováno z interních dùvodù; "
{
return
Decode
(
"Reimplementováno z interních dùvodù; "
"aplikaèní rozhraní zachováno."
);
}
"aplikaèní rozhraní zachováno."
);
}
/*! this text is generated when the \warning command is used. */
/*! this text is generated when the \
\
warning command is used. */
virtual
QCString
trWarning
()
virtual
QCString
trWarning
()
{
return
Decode
(
"Pozor"
);
}
{
return
Decode
(
"Pozor"
);
}
/*! this text is generated when the \bug command is used. */
/*! this text is generated when the \
\
bug command is used. */
virtual
QCString
trBugsAndLimitations
()
virtual
QCString
trBugsAndLimitations
()
{
return
Decode
(
"Chyby a omezení"
);
}
{
return
Decode
(
"Chyby a omezení"
);
}
/*! this text is generated when the \version command is used. */
/*! this text is generated when the \
\
version command is used. */
virtual
QCString
trVersion
()
virtual
QCString
trVersion
()
{
return
Decode
(
"Verze"
);
}
{
return
Decode
(
"Verze"
);
}
/*! this text is generated when the \date command is used. */
/*! this text is generated when the \
\
date command is used. */
virtual
QCString
trDate
()
virtual
QCString
trDate
()
{
return
Decode
(
"Datum"
);
}
{
return
Decode
(
"Datum"
);
}
/*! this text is generated when the \author command is used. */
/*! this text is generated when the \
\
author command is used. */
virtual
QCString
trAuthors
()
virtual
QCString
trAuthors
()
{
return
Decode
(
"Autor/autoøi"
);
}
{
return
Decode
(
"Autor/autoøi"
);
}
/*! this text is generated when the \return command is used. */
/*! this text is generated when the \
\
return command is used. */
virtual
QCString
trReturns
()
virtual
QCString
trReturns
()
{
return
Decode
(
"Návratová hodnota"
);
}
{
return
Decode
(
"Návratová hodnota"
);
}
/*! this text is generated when the \sa command is used. */
/*! this text is generated when the \
\
sa command is used. */
virtual
QCString
trSeeAlso
()
virtual
QCString
trSeeAlso
()
{
return
Decode
(
"Viz také"
);
}
{
return
Decode
(
"Viz také"
);
}
/*! this text is generated when the \param command is used. */
/*! this text is generated when the \
\
param command is used. */
virtual
QCString
trParameters
()
virtual
QCString
trParameters
()
{
return
Decode
(
"Parametry"
);
}
{
return
Decode
(
"Parametry"
);
}
/*! this text is generated when the \exception command is used. */
/*! this text is generated when the \
\
exception command is used. */
virtual
QCString
trExceptions
()
virtual
QCString
trExceptions
()
{
return
Decode
(
"Výjimky"
);
}
{
return
Decode
(
"Výjimky"
);
}
...
@@ -1195,7 +1200,7 @@ class TranslatorCzech : public Translator
...
@@ -1195,7 +1200,7 @@ class TranslatorCzech : public Translator
// new since 1.2.5
// new since 1.2.5
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a \bug item */
/*! Used as a marker that is put before a \
\
bug item */
virtual
QCString
trBug
()
virtual
QCString
trBug
()
{
{
return
Decode
(
"Chyba"
);
return
Decode
(
"Chyba"
);
...
...
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