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
ee5cb6bc
Commit
ee5cb6bc
authored
Oct 13, 2002
by
Dimitri van Heesch
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.2.18-20021013
parent
4596b79a
Changes
52
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
52 changed files
with
1525 additions
and
1239 deletions
+1525
-1239
INSTALL
INSTALL
+2
-2
README
README
+2
-2
VERSION
VERSION
+1
-1
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
classdef.cpp
src/classdef.cpp
+24
-1
classdef.h
src/classdef.h
+2
-0
code.l
src/code.l
+3
-4
config.l
src/config.l
+1
-1
defgen.cpp
src/defgen.cpp
+1
-0
diagram.cpp
src/diagram.cpp
+2
-2
docparser.cpp
src/docparser.cpp
+1
-1
doctokenizer.l
src/doctokenizer.l
+2
-2
doxygen.cpp
src/doxygen.cpp
+7
-10
entry.h
src/entry.h
+6
-4
htmldocvisitor.cpp
src/htmldocvisitor.cpp
+1
-1
htmlgen.cpp
src/htmlgen.cpp
+135
-135
htmlgen.h
src/htmlgen.h
+50
-50
index.cpp
src/index.cpp
+22
-7
latexdocvisitor.cpp
src/latexdocvisitor.cpp
+17
-4
latexdocvisitor.h
src/latexdocvisitor.h
+1
-0
latexgen.cpp
src/latexgen.cpp
+151
-151
latexgen.h
src/latexgen.h
+74
-74
mangen.cpp
src/mangen.cpp
+9
-9
mangen.h
src/mangen.h
+51
-51
memberdef.cpp
src/memberdef.cpp
+135
-9
memberdef.h
src/memberdef.h
+11
-3
memberlist.cpp
src/memberlist.cpp
+10
-2
outputgen.h
src/outputgen.h
+9
-63
outputlist.cpp
src/outputlist.cpp
+14
-14
outputlist.h
src/outputlist.h
+98
-98
perlmodgen.cpp
src/perlmodgen.cpp
+161
-152
pre.l
src/pre.l
+1
-1
rtfdocvisitor.cpp
src/rtfdocvisitor.cpp
+1
-1
rtfgen.cpp
src/rtfgen.cpp
+291
-291
rtfgen.h
src/rtfgen.h
+47
-47
scanner.l
src/scanner.l
+66
-22
tagreader.cpp
src/tagreader.cpp
+6
-1
translator.h
src/translator.h
+6
-0
translator_adapter.h
src/translator_adapter.h
+13
-1
translator_br.h
src/translator_br.h
+1
-1
translator_cz.h
src/translator_cz.h
+1
-1
translator_en.h
src/translator_en.h
+18
-0
translator_hr.h
src/translator_hr.h
+1
-1
translator_it.h
src/translator_it.h
+1
-1
translator_jp.h
src/translator_jp.h
+1
-1
translator_nl.h
src/translator_nl.h
+17
-0
translator_pt.h
src/translator_pt.h
+1
-1
translator_ru.h
src/translator_ru.h
+1
-1
translator_sk.h
src/translator_sk.h
+1
-1
util.cpp
src/util.cpp
+28
-12
util.h
src/util.h
+2
-1
xmlgen.cpp
src/xmlgen.cpp
+17
-0
No files found.
INSTALL
View file @
ee5cb6bc
DOXYGEN Version 1.2.18-200210
06
DOXYGEN Version 1.2.18-200210
13
Please read the installation section of the manual for instructions.
--------
Dimitri van Heesch (
06
October 2002)
Dimitri van Heesch (
13
October 2002)
README
View file @
ee5cb6bc
DOXYGEN Version 1.2.18_200210
06
DOXYGEN Version 1.2.18_200210
13
Please read INSTALL for compilation instructions.
...
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (
06
October 2002)
Dimitri van Heesch (dimitri@stack.nl) (
13
October 2002)
VERSION
View file @
ee5cb6bc
1.2.18-200210
06
1.2.18-200210
13
packages/rpm/doxygen.spec
View file @
ee5cb6bc
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.2.18_200210
06
Version: 1.2.18_200210
13
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
...
...
src/classdef.cpp
View file @
ee5cb6bc
...
...
@@ -181,6 +181,7 @@ void ClassDef::addMembersToMemberGroup()
::
addMembersToMemberGroup
(
&
friends
,
memberGroupSDict
,
this
);
::
addMembersToMemberGroup
(
&
related
,
memberGroupSDict
,
this
);
::
addMembersToMemberGroup
(
&
properties
,
memberGroupSDict
,
this
);
::
addMembersToMemberGroup
(
&
events
,
memberGroupSDict
,
this
);
// add members inside sections to their groups
MemberGroupSDict
::
Iterator
mgli
(
*
memberGroupSDict
);
...
...
@@ -234,6 +235,10 @@ void ClassDef::internalInsertMember(MemberDef *md,
properties
.
append
(
md
);
md
->
setSectionList
(
this
,
&
properties
);
break
;
case
MemberDef
:
:
Event
:
events
.
append
(
md
);
md
->
setSectionList
(
this
,
&
events
);
break
;
case
MemberDef
:
:
Slot
:
// Qt specific
switch
(
prot
)
{
...
...
@@ -375,6 +380,12 @@ void ClassDef::internalInsertMember(MemberDef *md,
else
propertyMembers
.
append
(
md
);
break
;
case
MemberDef
:
:
Event
:
if
(
Config_getBool
(
"SORT_MEMBER_DOCS"
))
eventMembers
.
inSort
(
md
);
else
eventMembers
.
append
(
md
);
break
;
case
MemberDef
:
:
Signal
:
// fall through
case
MemberDef
:
:
DCOP
:
if
(
Config_getBool
(
"SORT_MEMBER_DOCS"
))
...
...
@@ -522,6 +533,7 @@ void ClassDef::computeAnchors()
setAnchors
(
context
,
'u'
,
&
priTypes
);
setAnchors
(
context
,
'v'
,
&
dcopMethods
);
setAnchors
(
context
,
'w'
,
&
properties
);
setAnchors
(
context
,
'x'
,
&
events
);
MemberGroupSDict
::
Iterator
mgli
(
*
memberGroupSDict
);
MemberGroup
*
mg
;
for
(;(
mg
=
mgli
.
current
());
++
mgli
)
...
...
@@ -1078,7 +1090,6 @@ void ClassDef::writeDocumentation(OutputList &ol)
pubSlots
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trPublicSlots
(),
0
);
signals
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trSignals
(),
0
);
dcopMethods
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trDCOPMethods
(),
0
);
properties
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trProperties
(),
0
);
pubMethods
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trPublicMembers
(),
0
);
pubStaticMethods
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trStaticPublicMembers
(),
0
);
...
...
@@ -1098,6 +1109,12 @@ void ClassDef::writeDocumentation(OutputList &ol)
proAttribs
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trProtectedAttribs
(),
0
);
proStaticAttribs
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trStaticProtectedAttribs
(),
0
);
// properties
properties
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trProperties
(),
0
);
// events
events
.
writeDeclarations
(
ol
,
this
,
0
,
0
,
0
,
theTranslator
->
trEvents
(),
0
);
if
(
Config_getBool
(
"EXTRACT_PRIVATE"
))
{
// private types
...
...
@@ -1150,6 +1167,9 @@ void ClassDef::writeDocumentation(OutputList &ol)
propertyMembers
.
writeDocumentation
(
ol
,
name
(),
this
,
theTranslator
->
trPropertyDocumentation
());
eventMembers
.
writeDocumentation
(
ol
,
name
(),
this
,
theTranslator
->
trEventDocumentation
());
ol
.
startTextBlock
();
// write the list of used files (not for man pages)
...
...
@@ -1556,6 +1576,8 @@ void ClassDef::writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup)
dcopMethods
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
properties
.
setInGroup
(
inGroup
);
properties
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
events
.
setInGroup
(
inGroup
);
events
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
pubStaticMethods
.
setInGroup
(
inGroup
);
pubStaticMethods
.
writePlainDeclarations
(
ol
,
this
,
0
,
0
,
0
);
pubStaticAttribs
.
setInGroup
(
inGroup
);
...
...
@@ -2476,6 +2498,7 @@ void ClassDef::addListReferences()
relatedMembers
.
addListReferences
(
this
);
variableMembers
.
addListReferences
(
this
);
propertyMembers
.
addListReferences
(
this
);
eventMembers
.
addListReferences
(
this
);
}
MemberDef
*
ClassDef
::
getMemberByName
(
const
QCString
&
name
)
...
...
src/classdef.h
View file @
ee5cb6bc
...
...
@@ -226,6 +226,7 @@ class ClassDef : public Definition
MemberList
friends
;
MemberList
dcopMethods
;
MemberList
properties
;
MemberList
events
;
/* member list by types */
MemberList
constructors
;
...
...
@@ -236,6 +237,7 @@ class ClassDef : public Definition
MemberList
relatedMembers
;
MemberList
variableMembers
;
MemberList
propertyMembers
;
MemberList
eventMembers
;
/* user defined member groups */
MemberGroupSDict
*
memberGroupSDict
;
...
...
src/code.l
View file @
ee5cb6bc
...
...
@@ -349,10 +349,6 @@ static void startCodeLine()
//printf("Real scope: `%s'\n",g_realScope.data());
g_bodyCurlyCount = 0;
if (g_currentMemberDef) anchor=g_currentMemberDef->getBodyAnchor();
//g_code->startCodeAnchor(lineAnchor);
//g_code->writeCodeLink(d->getReference(),d->getOutputFileBase(),
// anchor,lineNumber);
//g_code->endCodeAnchor();
g_code->writeLineNumber(d->getReference(),d->getOutputFileBase(),
anchor,g_yyLineNr);
}
...
...
@@ -429,6 +425,7 @@ static void writeMultiLineCodeLink(BaseCodeDocInterface &ol,
{
g_yyLineNr++;
*(p-1)='\0';
//printf("writeCodeLink(%s,%s,%s,%s)\n",ref,file,anchor,sp);
ol.writeCodeLink(ref,file,anchor,sp);
endCodeLine();
if (g_yyLineNr<g_inputLines)
...
...
@@ -438,6 +435,7 @@ static void writeMultiLineCodeLink(BaseCodeDocInterface &ol,
}
else
{
//printf("writeCodeLink(%s,%s,%s,%s)\n",ref,file,anchor,sp);
ol.writeCodeLink(ref,file,anchor,sp);
done=TRUE;
}
...
...
@@ -582,6 +580,7 @@ static MemberDef *setCallContextForVar(const QCString &name)
if (md->getBodyDef()==g_sourceFileDef)
{
g_theCallContext.setClass(stripClassName(md->typeString()));
//printf("returning member %s in source file %s\n",md->name().data(),g_sourceFileDef->name().data());
return md;
}
md=mn->next();
...
...
src/config.l
View file @
ee5cb6bc
...
...
@@ -2191,7 +2191,7 @@ void Config::create()
FALSE );
//-----------------------------------------------------------------------------------------------
addInfo( "Perl
","configuration options related to the Perl
output");
addInfo( "Perl
Mod","configuration options related to the Perl module
output");
//-----------------------------------------------------------------------------------------------
cb = addBool(
"GENERATE_PERLMOD",
...
...
src/defgen.cpp
View file @
ee5cb6bc
...
...
@@ -89,6 +89,7 @@ void generateDEFForMember(MemberDef *md,
case
MemberDef
:
:
Define
:
memType
=
"define"
;
break
;
case
MemberDef
:
:
EnumValue
:
ASSERT
(
0
);
break
;
case
MemberDef
:
:
Property
:
memType
=
"property"
;
break
;
case
MemberDef
:
:
Event
:
memType
=
"event"
;
break
;
case
MemberDef
:
:
Variable
:
memType
=
"variable"
;
break
;
case
MemberDef
:
:
Typedef
:
memType
=
"typedef"
;
break
;
case
MemberDef
:
:
Enumeration
:
memType
=
"enum"
;
break
;
...
...
src/diagram.cpp
View file @
ee5cb6bc
...
...
@@ -30,8 +30,8 @@
#include "config.h"
#include "message.h"
#include "util.h"
#include "latexgen.h"
#include "htmlgen.h"
//
#include "latexgen.h"
//
#include "htmlgen.h"
#include "doxygen.h"
//-----------------------------------------------------------------------------
...
...
src/docparser.cpp
View file @
ee5cb6bc
...
...
@@ -174,7 +174,7 @@ static void checkUndocumentedParams()
{
QString
argName
=
g_memberDef
->
isDefine
()
?
a
->
type
:
a
->
name
;
if
(
argName
.
right
(
3
)
==
"..."
)
argName
=
argName
.
left
(
argName
.
length
()
-
3
);
if
(
!
argName
.
isEmpty
()
&&
g_paramsFound
.
find
(
argName
)
==
0
)
if
(
!
argName
.
isEmpty
()
&&
g_paramsFound
.
find
(
argName
)
==
0
&&
a
->
docs
.
isEmpty
()
)
{
found
=
TRUE
;
break
;
...
...
src/doctokenizer.l
View file @
ee5cb6bc
...
...
@@ -227,7 +227,7 @@ TEMPCHAR [a-z_A-Z0-9,: \t\*\&]
FUNCCHAR [a-z_A-Z0-9,:\<\> \t\*\&]
SCOPESEP "::"|"#"|"."
SCOPEPRE {ID}("<"{TEMPCHAR}*">")?{SCOPESEP}
SCOPEMASK {SCOPEPRE}*(~)?{ID}
SCOPEMASK {SCOPEPRE}*(~)?{ID}
("<"{TEMPCHAR}*">")?
FUNCARG "("{FUNCCHAR}*")"
OPNEW {BLANK}+"new"({BLANK}*"[]")?
OPDEL {BLANK}+"delete"({BLANK}*"[]")?
...
...
@@ -594,7 +594,7 @@ HTMLTAG "<"(("/")?){ID}({WS}+{ATTRIB})*">"
warn(g_fileName,yylineno,"Error: Unexpected new line character");
}
<*>[\\@<>&$#%~] { /* unescaped special character */
warn(g_fileName,yylineno,"Warning: Unexpected character `%s', assuming command \\%s was meant.",yytext,yytext);
//
warn(g_fileName,yylineno,"Warning: Unexpected character `%s', assuming command \\%s was meant.",yytext,yytext);
g_token->name = yytext;
return TK_COMMAND;
}
...
...
src/doxygen.cpp
View file @
ee5cb6bc
...
...
@@ -1240,6 +1240,7 @@ static MemberDef *addVariableToClass(
md
->
setInitializer
(
root
->
initializer
);
md
->
setMaxInitLines
(
root
->
initLines
);
md
->
setMemberGroupId
(
root
->
mGrpId
);
md
->
setMemberSpecifiers
(
root
->
memSpec
);
addMemberToGroups
(
root
,
md
);
//if (root->mGrpId!=-1)
//{
...
...
@@ -1670,6 +1671,8 @@ void buildVarList(Entry *root)
mtype
=
MemberDef
::
Friend
;
else
if
(
root
->
mtype
==
Property
)
mtype
=
MemberDef
::
Property
;
else
if
(
root
->
mtype
==
Event
)
mtype
=
MemberDef
::
Event
;
else
mtype
=
MemberDef
::
Variable
;
...
...
@@ -1910,8 +1913,6 @@ static void buildFunctionList(Entry *root)
root
->
startLine
,
root
->
bodyLine
,
root
->
tArgLists
?
(
int
)
root
->
tArgLists
->
count
()
:
-
1
,
//root->tArgList ? (int)root->tArgList->count() : -1,
//root->mtArgList ? (int)root->mtArgList->count() : -1,
root
->
mGrpId
,
root
->
memSpec
,
root
->
proto
,
...
...
@@ -2053,13 +2054,7 @@ static void buildFunctionList(Entry *root)
{
md
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
}
// merge body definitions
if
(
md
->
getStartBodyLine
()
==-
1
&&
root
->
bodyLine
!=-
1
)
{
md
->
setBodySegment
(
root
->
bodyLine
,
root
->
endBodyLine
);
bool
ambig
;
md
->
setBodyDef
(
findFileDef
(
Doxygen
::
inputNameDict
,
root
->
fileName
,
ambig
));
}
md
->
addSectionsToDefinition
(
root
->
anchors
);
// merge ingroup specifiers
...
...
@@ -2267,6 +2262,7 @@ static void findFriends()
{
fmd
->
setBriefDescription
(
mmd
->
briefDescription
(),
mmd
->
briefFile
(),
mmd
->
briefLine
());
}
//printf("body mmd %d fmd %d\n",mmd->getStartBodyLine(),fmd->getStartBodyLine());
if
(
mmd
->
getStartBodyLine
()
==-
1
&&
fmd
->
getStartBodyLine
()
!=-
1
)
{
mmd
->
setBodySegment
(
fmd
->
getStartBodyLine
(),
fmd
->
getEndBodyLine
());
...
...
@@ -4727,6 +4723,7 @@ static void findMember(Entry *root,
{
md
->
setBodySegment
(
rmd
->
getStartBodyLine
(),
rmd
->
getEndBodyLine
());
md
->
setBodyDef
(
rmd
->
getBodyDef
());
md
->
setBodyMember
(
rmd
);
}
}
}
...
...
@@ -7888,7 +7885,7 @@ void generateOutput()
}
if
(
Config_getBool
(
"GENERATE_PERLMOD"
))
{
msg
(
"Generating Perl
Mod
output...
\n
"
);
msg
(
"Generating Perl
module
output...
\n
"
);
generatePerlMod
();
}
if
(
Config_getBool
(
"GENERATE_HTMLHELP"
)
&&
!
Config_getString
(
"HHC_LOCATION"
).
isEmpty
())
...
...
src/entry.h
View file @
ee5cb6bc
...
...
@@ -23,7 +23,7 @@
enum
Protection
{
Public
,
Protected
,
Private
}
;
enum
Specifier
{
Normal
,
Virtual
,
Pure
}
;
enum
MethodTypes
{
Method
,
Signal
,
Slot
,
DCOP
,
Property
};
enum
MethodTypes
{
Method
,
Signal
,
Slot
,
DCOP
,
Property
,
Event
};
struct
ListItemInfo
{
...
...
@@ -226,9 +226,11 @@ class Entry
};
enum
MemberSpecifier
{
Inline
=
0x1
,
Explicit
=
0x2
,
Mutable
=
0x4
Inline
=
0x01
,
Explicit
=
0x02
,
Mutable
=
0x04
,
Settable
=
0x08
,
Gettable
=
0x10
};
Entry
();
...
...
src/htmldocvisitor.cpp
View file @
ee5cb6bc
...
...
@@ -742,7 +742,7 @@ void HtmlDocVisitor::visitPre(DocParamList *pl)
for
(
li
.
toFirst
();(
s
=
li
.
current
());
++
li
)
{
if
(
!
first
)
m_t
<<
","
;
else
first
=
FALSE
;
m_t
<<
s
;
filter
(
s
)
;
}
m_t
<<
"</em> </td><td>"
;
}
...
...
src/htmlgen.cpp
View file @
ee5cb6bc
...
...
@@ -508,12 +508,12 @@ void HtmlGenerator::endHtmlLink()
t
<<
"</a>"
;
}
void
HtmlGenerator
::
writeMailLink
(
const
char
*
url
)
{
t
<<
"<a href=
\"
mailto:"
<<
url
<<
"
\"
>"
;
docify
(
url
);
t
<<
"</a>"
;
}
//
void HtmlGenerator::writeMailLink(const char *url)
//
{
//
t << "<a href=\"mailto:" << url << "\">";
//
docify(url);
//
t << "</a>";
//
}
void
HtmlGenerator
::
startGroupHeader
()
{
...
...
@@ -553,46 +553,46 @@ void HtmlGenerator::endSection(const char *,SectionInfo::SectionType type)
}
}
void
HtmlGenerator
::
writeSectionRef
(
const
char
*
ref
,
const
char
*
name
,
const
char
*
anchor
,
const
char
*
title
)
{
QCString
*
dest
;
//printf("writeSectionRef(%s,%s,%s,%s)\n",ref,name,anchor,title);
QCString
refName
=
name
;
if
(
refName
.
right
(
Doxygen
::
htmlFileExtension
.
length
())
!=
Doxygen
::
htmlFileExtension
)
{
refName
+=
Doxygen
::
htmlFileExtension
;
}
t
<<
"<a "
;
if
(
ref
)
{
t
<<
"doxygen=
\"
"
<<
ref
<<
":"
;
if
((
dest
=
Doxygen
::
tagDestinationDict
[
ref
]))
t
<<
*
dest
<<
"/"
;
t
<<
"
\"
"
;
}
t
<<
"href=
\"
"
;
if
(
ref
)
{
if
((
dest
=
Doxygen
::
tagDestinationDict
[
ref
]))
t
<<
*
dest
<<
"/"
;
}
t
<<
refName
<<
"#"
<<
anchor
<<
"
\"
>"
;
docify
(
title
);
t
<<
"</a>"
;
}
void
HtmlGenerator
::
writeSectionRefItem
(
const
char
*
name
,
const
char
*
lab
,
const
char
*
title
)
{
QCString
refName
=
name
;
if
(
refName
.
right
(
Doxygen
::
htmlFileExtension
.
length
())
!=
Doxygen
::
htmlFileExtension
)
{
refName
+=
Doxygen
::
htmlFileExtension
;
}
t
<<
"<li><a href=
\"
"
<<
refName
<<
"#"
<<
lab
<<
"
\"
>"
;
docify
(
title
);
t
<<
"</a>"
;
}
//
void HtmlGenerator::writeSectionRef(const char *ref,const char *name,
//
const char *anchor,const char *title)
//
{
//
QCString *dest;
//
//printf("writeSectionRef(%s,%s,%s,%s)\n",ref,name,anchor,title);
//
QCString refName=name;
//
if (refName.right(Doxygen::htmlFileExtension.length())!=Doxygen::htmlFileExtension)
//
{
//
refName+=Doxygen::htmlFileExtension;
//
}
//
t << "<a ";
//
if (ref)
//
{
//
t << "doxygen=\"" << ref << ":";
//
if ((dest=Doxygen::tagDestinationDict[ref])) t << *dest << "/";
//
t << "\" ";
//
}
//
t << "href=\"";
//
if (ref)
//
{
//
if ((dest=Doxygen::tagDestinationDict[ref])) t << *dest << "/";
//
}
//
t << refName << "#" << anchor << "\">";
//
docify(title);
//
t << "</a>";
//
}
//
//
void HtmlGenerator::writeSectionRefItem(const char *name,const char *lab,
//
const char *title)
//
{
//
QCString refName=name;
//
if (refName.right(Doxygen::htmlFileExtension.length())!=Doxygen::htmlFileExtension)
//
{
//
refName+=Doxygen::htmlFileExtension;
//
}
//
t << "<li><a href=\"" << refName << "#" << lab << "\">";
//
docify(title);
//
t << "</a>";
//
}
//
void
HtmlGenerator
::
docify
(
const
char
*
str
)
{
if
(
str
)
...
...
@@ -702,20 +702,20 @@ void HtmlGenerator::endClassDiagram(ClassDiagram &d,
// t << "</font>";
//}
void
HtmlGenerator
::
writeFormula
(
const
char
*
n
,
const
char
*
text
)
{
if
(
text
&&
text
[
0
]
==
'\\'
)
t
<<
"<p><center>"
<<
endl
;
t
<<
"<img align="
;
#if !defined(_WIN32)
t
<<
"
\"
top
\"
"
;
// assume Unix users use Netscape 4.x which does
// not seem to support align == "middle" :-((
#else
t
<<
"
\"
middle
\"
"
;
// assume Windows users use IE or HtmlHelp which only
// displays formulas nicely with align == "middle"
#endif
t
<<
" src=
\"
"
<<
n
<<
".png
\"
>"
<<
endl
;
if
(
text
&&
text
[
0
]
==
'\\'
)
t
<<
"</center><p>"
<<
endl
;
}
//
void HtmlGenerator::writeFormula(const char *n,const char *text)
//
{
//
if (text && text[0]=='\\') t << "<p><center>" << endl;
//
t << "<img align=";
//
#if !defined(_WIN32)
//
t << "\"top\""; // assume Unix users use Netscape 4.x which does
//
// not seem to support align == "middle" :-((
//
#else
//
t << "\"middle\""; // assume Windows users use IE or HtmlHelp which only
//
// displays formulas nicely with align == "middle"
//
#endif
//
t << " src=\"" << n << ".png\">" << endl;
//
if (text && text[0]=='\\') t << "</center><p>" << endl;
//
}
void
HtmlGenerator
::
startMemberList
()
{
...
...
@@ -900,76 +900,76 @@ void HtmlGenerator::endIndexValue(const char *,bool)
t
<<
"</td></tr>"
<<
endl
;
}
void
HtmlGenerator
::
startAlphabeticalIndexList
()
{
t
<<
"<table align=center width=
\"
95%
\"
border=
\"
0
\"
cellspacing=
\"
0
\"
cellpadding=
\"
0
\"
>"
<<
endl
;
}
void
HtmlGenerator
::
endAlphabeticalIndexList
()
{
t
<<
"</table>"
<<
endl
;
}
void
HtmlGenerator
::
writeIndexHeading
(
const
char
*
s
)
{
t
<<
"<table border=
\"
0
\"
cellspacing=
\"
0
\"
cellpadding=
\"
0
\"
><tr><td><div class=
\"
ah
\"
> "
<<
s
<<
" </td></tr></table>"
;
}
//void HtmlGenerator::startAlphabeticalIndexList()
//{
// t << "<table align=center width=\"95%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">" << endl;
//}
void
HtmlGenerator
::
startImage
(
const
char
*
name
,
const
char
*
,
bool
hasCaption
)
{
QCString
baseName
=
name
;
int
i
;
if
((
i
=
baseName
.
findRev
(
'/'
))
!=-
1
||
(
i
=
baseName
.
findRev
(
'\\'
))
!=-
1
)
{
baseName
=
baseName
.
right
(
baseName
.
length
()
-
i
-
1
);
}
t
<<
"<div align=
\"
center
\"
>"
<<
endl
;
t
<<
"<img src=
\"
"
<<
name
<<
"
\"
alt=
\"
"
<<
baseName
<<
"
\"
>"
<<
endl
;
if
(
hasCaption
)
{
t
<<
"<p><strong>"
;
}
}
//void HtmlGenerator::endAlphabeticalIndexList()
//{
// t << "</table>" << endl;
//}
void
HtmlGenerator
::
endImage
(
bool
hasCaption
)
{
if
(
hasCaption
)
{
t
<<
"</strong></p>"
<<
endl
;
}
t
<<
"</div>"
<<
endl
;
}
//void HtmlGenerator::writeIndexHeading(const char *s)
//{
// t << "<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><div class=\"ah\"> " << s
// << " </td></tr></table>";
//}
void
HtmlGenerator
::
startDotFile
(
const
char
*
name
,
bool
hasCaption
)
{
QCString
baseName
=
name
;
int
i
;
if
((
i
=
baseName
.
findRev
(
'/'
))
!=-
1
||
(
i
=
baseName
.
findRev
(
'\\'
))
!=-
1
)
{
baseName
=
baseName
.
right
(
baseName
.
length
()
-
i
-
1
);
}
QCString
outDir
=
Config_getString
(
"HTML_OUTPUT"
);
writeDotGraphFromFile
(
name
,
outDir
,
baseName
,
BITMAP
);
t
<<
"<div align=
\"
center
\"
>"
<<
endl
;
t
<<
"<img src=
\"
"
<<
baseName
<<
"."
<<
Config_getEnum
(
"DOT_IMAGE_FORMAT"
)
<<
"
\"
alt=
\"
"
<<
baseName
<<
"
\"
>"
<<
endl
;
if
(
hasCaption
)
{
t
<<
"<p><strong>"
;
}
}
//void HtmlGenerator::startImage(const char *name,const char *,bool hasCaption)
//{
// QCString baseName=name;
// int i;
// if ((i=baseName.findRev('/'))!=-1 || (i=baseName.findRev('\\'))!=-1)
// {
// baseName=baseName.right(baseName.length()-i-1);
// }
// t << "<div align=\"center\">" << endl;
// t << "<img src=\"" << name << "\" alt=\"" << baseName << "\">" << endl;
// if (hasCaption)
// {
// t << "<p><strong>";
// }
//}
void
HtmlGenerator
::
endDotFil
e
(
bool
hasCaption
)
{
if
(
hasCaption
)
{
t
<<
"</strong></p>"
<<
endl
;
}
t
<<
"</div>"
<<
endl
;
}
//void HtmlGenerator::endImag
e(bool hasCaption)
//
{
//
if (hasCaption)
//
{
//
t << "</strong></p>" << endl;
//
}
//
t << "</div>" << endl;
//
}
//void HtmlGenerator::startDotFile(const char *name,bool hasCaption)
//{
// QCString baseName=name;
// int i;
// if ((i=baseName.findRev('/'))!=-1 || (i=baseName.findRev('\\'))!=-1)
// {
// baseName=baseName.right(baseName.length()-i-1);
// }
// QCString outDir = Config_getString("HTML_OUTPUT");
// writeDotGraphFromFile(name,outDir,baseName,BITMAP);
// t << "<div align=\"center\">" << endl;
// t << "<img src=\"" << baseName << "."
// << Config_getEnum("DOT_IMAGE_FORMAT") << "\" alt=\""
// << baseName << "\">" << endl;
// if (hasCaption)
// {
// t << "<p><strong>";
// }
//}
//
//void HtmlGenerator::endDotFile(bool hasCaption)
//{
// if (hasCaption)
// {
// t << "</strong></p>" << endl;
// }
// t << "</div>" << endl;
//}
//
void
HtmlGenerator
::
startMemberDoc
(
const
char
*
,
const
char
*
,
const
char
*
,
const
char
*
)
{
DBG_HTML
(
t
<<
"<!-- startMemberDoc -->"
<<
endl
;)
...
...
@@ -1235,17 +1235,17 @@ void HtmlGenerator::endParamList()
t
<<
"</dl>"
;
}
void
HtmlGenerator
::
startSectionRefList
()
{
t
<<
"<multicol cols=3>"
<<
endl
;
t
<<
"<ul>"
<<
endl
;
}
//
void HtmlGenerator::startSectionRefList()
//
{
//
t << "<multicol cols=3>" << endl;
//
t << "<ul>" << endl;
//
}
void
HtmlGenerator
::
endSectionRefList
()
{
t
<<
"</ul>"
<<
endl
;
t
<<
"</multicol>"
<<
endl
;
}
//
void HtmlGenerator::endSectionRefList()
//
{
//
t << "</ul>" << endl;
//
t << "</multicol>" << endl;
//
}
void
HtmlGenerator
::
printDoc
(
DocNode
*
n
)
...
...
src/htmlgen.h
View file @
ee5cb6bc
...
...
@@ -75,11 +75,11 @@ class HtmlGenerator : public OutputGenerator
void
endIndexValue
(
const
char
*
,
bool
);
void
startItemList
()
{
t
<<
"<ul>"
<<
endl
;
}
void
endItemList
()
{
t
<<
"</ul>"
<<
endl
;
}
void
startEnumList
()
{
t
<<
"<ol>"
<<
endl
;
}
void
endEnumList
()
{
t
<<
"</ol>"
<<
endl
;
}
void
startAlphabeticalIndexList
();
void
endAlphabeticalIndexList
();
void
writeIndexHeading
(
const
char
*
s
);
//
void startEnumList() { t << "<ol>" << endl; }
//
void endEnumList() { t << "</ol>" << endl; }
//
void startAlphabeticalIndexList();
//
void endAlphabeticalIndexList();
//
void writeIndexHeading(const char *s);
void
writeIndexItem
(
const
char
*
ref
,
const
char
*
file
,
const
char
*
name
);
void
docify
(
const
char
*
text
);
void
codify
(
const
char
*
text
);
...
...
@@ -91,7 +91,7 @@ class HtmlGenerator : public OutputGenerator
void
endTextLink
();
void
startHtmlLink
(
const
char
*
url
);
void
endHtmlLink
();
void
writeMailLink
(
const
char
*
url
);
//
void writeMailLink(const char *url);
void
startTypewriter
()
{
t
<<
"<code>"
;
}
void
endTypewriter
()
{
t
<<
"</code>"
;
}
void
startGroupHeader
();
...
...
@@ -125,10 +125,10 @@ class HtmlGenerator : public OutputGenerator
{
t
<<
"<a name=
\"
"
<<
name
<<
"
\"
></a>"
;
}
void
startCodeFragment
()
{
t
<<
"<div class=
\"
fragment
\"
><pre>"
;
}
void
endCodeFragment
()
{
t
<<
"</pre></div>"
;
}
void
startPreFragment
()
{
t
<<
"<pre>"
;
}
void
endPreFragment
()
{
t
<<
"</pre>"
;
}
void
startVerbatimFragment
()
{
t
<<
"<div class=
\"
fragment
\"
><pre>"
;
}
void
endVerbatimFragment
()
{
t
<<
"</pre></div>"
;
}
//
void startPreFragment() { t << "<pre>"; }
//
void endPreFragment() { t << "</pre>"; }
//
void startVerbatimFragment() { t << "<div class=\"fragment\"><pre>"; }
//
void endVerbatimFragment() { t << "</pre></div>"; }
void
writeLineNumber
(
const
char
*
,
const
char
*
,
const
char
*
,
int
);
void
startCodeLine
()
{
col
=
0
;
}
void
endCodeLine
()
{
codify
(
"
\n
"
);
}
...
...
@@ -166,44 +166,44 @@ class HtmlGenerator : public OutputGenerator
void
endCenter
()
{
t
<<
"</center>"
<<
endl
;
}
void
startSmall
()
{
t
<<
"<small>"
<<
endl
;
}
void
endSmall
()
{
t
<<
"</small>"
<<
endl
;
}
void
startSubscript
()
{
t
<<
"<sub>"
;
}
void
endSubscript
()
{
t
<<
"</sub>"
;
}
void
startSuperscript
()
{
t
<<
"<sup>"
;
}
void
endSuperscript
()
{
t
<<
"</sup>"
;
}
void
startTable
(
bool
,
int
)
{
t
<<
"<table border=1 cellspacing=3 cellpadding=3>"
;
}
void
endTable
(
bool
hasCaption
)
{
if
(
!
hasCaption
)
t
<<
"</tr>"
;
t
<<
"</table>"
<<
endl
;
}
void
startCaption
()
{
t
<<
"</tr><caption align=
\"
bottom
\"
>"
;
}
void
endCaption
()
{
t
<<
"</caption>"
<<
endl
;
}
void
nextTableRow
()
{
t
<<
"<tr><td>"
;
}
void
endTableRow
()
{
t
<<
"</tr>"
<<
endl
;
}
void
nextTableColumn
()
{
t
<<
"<td>"
;
}
void
endTableColumn
()
{
t
<<
"</td>"
;
}
void
writeCopyright
()
{
t
<<
"©"
;
}
void
writeQuote
()
{
t
<<
"""
;
}
void
writeUmlaut
(
char
c
)
{
t
<<
"&"
<<
c
<<
"uml;"
;
}
void
writeAcute
(
char
c
)
{
t
<<
"&"
<<
c
<<
"acute;"
;
}
void
writeGrave
(
char
c
)
{
t
<<
"&"
<<
c
<<
"grave;"
;
}
void
writeCirc
(
char
c
)
{
t
<<
"&"
<<
c
<<
"circ;"
;
}
void
writeTilde
(
char
c
)
{
t
<<
"&"
<<
c
<<
"tilde;"
;
}
void
writeRing
(
char
c
)
{
t
<<
"&"
<<
c
<<
"ring;"
;
}
void
writeSharpS
()
{
t
<<
"ß"
;
}
void
writeCCedil
(
char
c
)
{
t
<<
"&"
<<
c
<<
"cedil;"
;
}
//
void startSubscript() { t << "<sub>"; }
//
void endSubscript() { t << "</sub>"; }
//
void startSuperscript() { t << "<sup>"; }
//
void endSuperscript() { t << "</sup>"; }
//
void startTable(bool,int)
//
{ t << "<table border=1 cellspacing=3 cellpadding=3>"; }
//
void endTable(bool hasCaption)
//
{ if (!hasCaption) t << "</tr>";
//
t << "</table>" << endl;
//
}
//
void startCaption() { t << "</tr><caption align=\"bottom\">"; }
//
void endCaption() { t << "</caption>" << endl; }
//
void nextTableRow() { t << "<tr><td>"; }
//
void endTableRow() { t << "</tr>" << endl; }
//
void nextTableColumn() { t << "<td>"; }
//
void endTableColumn() { t << "</td>"; }
//
void writeCopyright() { t << "©"; }
//
void writeQuote() { t << """; }
//
void writeUmlaut(char c) { t << "&" << c << "uml;"; }
//
void writeAcute(char c) { t << "&" << c << "acute;"; }
//
void writeGrave(char c) { t << "&" << c << "grave;"; }
//
void writeCirc(char c) { t << "&" << c << "circ;"; }
//
void writeTilde(char c) { t << "&" << c << "tilde;"; }
//
void writeRing(char c) { t << "&" << c << "ring;"; }
//
void writeSharpS() { t << "ß"; }
//
void writeCCedil(char c) { t << "&" << c << "cedil;"; }
void
startDescList
(
SectionTypes
)
{
t
<<
"<dl compact><dt><b>"
<<
endl
;
}
void
endDescList
()
{
t
<<
"</dl>"
;
}
void
startSimpleSect
(
SectionTypes
,
const
char
*
,
const
char
*
,
const
char
*
);
void
endSimpleSect
();
void
startParamList
(
ParamListTypes
,
const
char
*
);
void
endParamList
();
void
endDescTitle
()
{
t
<<
"</b>"
;
}
//
void endDescTitle() { t << "</b>"; }
void
writeDescItem
()
{
t
<<
"<dd>"
<<
endl
;
}
void
startSection
(
const
char
*
,
const
char
*
,
SectionInfo
::
SectionType
);
void
endSection
(
const
char
*
,
SectionInfo
::
SectionType
);
void
writeSectionRef
(
const
char
*
,
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRefItem
(
const
char
*
,
const
char
*
,
const
char
*
);
//
void writeSectionRef(const char *,const char *,const char *,const char *);
//
void writeSectionRefItem(const char *,const char *,const char *);
//void writeSectionRefAnchor(const char *,const char *,const char *);
void
addIndexItem
(
const
char
*
,
const
char
*
);
void
startIndent
();
...
...
@@ -217,12 +217,12 @@ class HtmlGenerator : public OutputGenerator
void
endPageRef
(
const
char
*
,
const
char
*
)
{}
void
startQuickIndexItem
(
const
char
*
,
const
char
*
);
void
endQuickIndexItem
();
void
writeFormula
(
const
char
*
,
const
char
*
);
//
void writeFormula(const char *,const char *);
void
writeNonBreakableSpace
(
int
);
void
startImage
(
const
char
*
,
const
char
*
,
bool
);
void
endImage
(
bool
);
void
startDotFile
(
const
char
*
,
bool
);
void
endDotFile
(
bool
);
//
void startImage(const char *,const char *,bool);
//
void endImage(bool);
//
void startDotFile(const char *,bool);
//
void endDotFile(bool);
void
startDescTable
()
{
t
<<
"<table border=0 cellspacing=2 cellpadding=0>"
<<
endl
;
}
...
...
@@ -262,13 +262,13 @@ class HtmlGenerator : public OutputGenerator
void
startFontClass
(
const
char
*
s
)
{
t
<<
"<span class=
\"
"
<<
s
<<
"
\"
>"
;
}
void
endFontClass
()
{
t
<<
"</span>"
;
}
void
startHtmlOnly
()
{}
void
endHtmlOnly
()
{}
void
startLatexOnly
()
{}
void
endLatexOnly
()
{}
//
void startHtmlOnly() {}
//
void endHtmlOnly() {}
//
void startLatexOnly() {}
//
void endLatexOnly() {}
void
startSectionRefList
();
void
endSectionRefList
();
//
void startSectionRefList();
//
void endSectionRefList();
void
writeCodeAnchor
(
const
char
*
anchor
)
{
t
<<
"<a name=
\"
"
<<
anchor
<<
"
\"
></a>"
;
}
...
...
src/index.cpp
View file @
ee5cb6bc
...
...
@@ -1285,7 +1285,8 @@ void writeAnnotatedClassList(OutputList &ol)
// write an alphabetical index of all class with a header for each letter
void
writeAlphabeticalClassList
(
OutputList
&
ol
)
{
ol
.
startAlphabeticalIndexList
();
//ol.startAlphabeticalIndexList();
ol
.
writeString
(
"<table align=center width=
\"
95%
\"
border=
\"
0
\"
cellspacing=
\"
0
\"
cellpadding=
\"
0
\"
>
\n
"
);
// first count the number of headers
ClassSDict
::
Iterator
cli
(
Doxygen
::
classSDict
);
...
...
@@ -1363,12 +1364,14 @@ void writeAlphabeticalClassList(OutputList &ol)
// generate table
for
(
i
=
0
;
i
<
rows
;
i
++
)
// foreach table row
{
ol
.
nextTableRow
();
//ol.nextTableRow();
ol
.
writeString
(
"<tr>"
);
// the last column may contain less items then the others
int
colsInRow
=
(
i
<
rows
-
1
)
?
columns
:
itemsInLastRow
;
//printf("row [%d]\n",i);
for
(
j
=
0
;
j
<
colsInRow
;
j
++
)
// foreach table column
{
ol
.
writeString
(
"<td>"
);
ClassDef
*
cd
=
colIterators
[
j
]
->
current
();
//printf("columns [%d] cd=%p\n",j,cd);
if
(
cd
==
(
ClassDef
*
)
8
)
// the class pointer is really a header
...
...
@@ -1380,7 +1383,16 @@ void writeAlphabeticalClassList(OutputList &ol)
int
index
=
getPrefixIndex
(
cd
->
className
());
startLetter
=
toupper
(
cd
->
className
().
at
(
index
));
char
s
[
2
];
s
[
0
]
=
startLetter
;
s
[
1
]
=
0
;
ol
.
writeIndexHeading
(
s
);
//ol.writeIndexHeading(s);
ol
.
writeString
(
"<table border=
\"
0
\"
cellspacing=
\"
0
\"
cellpadding=
\"
0
\"
>"
"<tr>"
"<td><div class=
\"
ah
\"
> "
);
ol
.
writeString
(
s
);
ol
.
writeString
(
" "
"</td>"
"</tr>"
"</table>
\n
"
);
}
}
else
if
(
cd
)
// a real class, insert a link
...
...
@@ -1410,12 +1422,15 @@ void writeAlphabeticalClassList(OutputList &ol)
//printf("item ClassDef=%p %s\n",cd,cd ? cd->name().data() : "<none>");
++
(
*
colIterators
[
j
]);
}
ol
.
endTableColumn
();
if
(
j
<
colsInRow
-
1
)
ol
.
nextTableColumn
();
//ol.endTableColumn();
ol
.
writeString
(
"</td>"
);
//if (j<colsInRow-1) ol.nextTableColumn();
}
ol
.
endTableRow
();
//ol.endTableRow();
ol
.
writeString
(
"</tr>"
);
}
ol
.
endAlphabeticalIndexList
();
//ol.endAlphabeticalIndexList();
ol
.
writeString
(
"</table>"
);
// release the temporary memory
for
(
i
=
0
;
i
<
columns
;
i
++
)
...
...
src/latexdocvisitor.cpp
View file @
ee5cb6bc
...
...
@@ -68,7 +68,7 @@ QString LatexDocVisitor::escapeMakeIndexChars(const char *s)
LatexDocVisitor
::
LatexDocVisitor
(
QTextStream
&
t
,
BaseCodeDocInterface
&
ci
)
:
m_t
(
t
),
m_ci
(
ci
),
m_insidePre
(
FALSE
),
m_hide
(
FALSE
)
:
m_t
(
t
),
m_ci
(
ci
),
m_insidePre
(
FALSE
),
m_
insideItem
(
FALSE
),
m_
hide
(
FALSE
)
{
}
...
...
@@ -160,7 +160,9 @@ void LatexDocVisitor::visit(DocURL *u)
{
m_t
<<
"
\\
href{"
<<
u
->
url
()
<<
"}"
;
}
m_t
<<
"{
\\
tt "
<<
u
->
url
()
<<
"}"
;
m_t
<<
"{
\\
tt "
;
filter
(
u
->
url
());
m_t
<<
"}"
;
}
void
LatexDocVisitor
::
visit
(
DocLineBreak
*
)
...
...
@@ -398,6 +400,10 @@ void LatexDocVisitor::visitPre(DocSimpleSect *s)
{
m_t
<<
":]"
;
}
else
{
m_insideItem
=
TRUE
;
}
}
void
LatexDocVisitor
::
visitPost
(
DocSimpleSect
*
)
...
...
@@ -411,6 +417,7 @@ void LatexDocVisitor::visitPre(DocTitle *)
void
LatexDocVisitor
::
visitPost
(
DocTitle
*
)
{
m_insideItem
=
FALSE
;
m_t
<<
"]"
;
}
...
...
@@ -517,10 +524,12 @@ void LatexDocVisitor::visitPost(DocHtmlDescList *)
void
LatexDocVisitor
::
visitPre
(
DocHtmlDescTitle
*
)
{
m_t
<<
"
\\
item["
;
m_insideItem
=
TRUE
;
}
void
LatexDocVisitor
::
visitPost
(
DocHtmlDescTitle
*
)
{
m_insideItem
=
FALSE
;
m_t
<<
"]"
;
}
...
...
@@ -829,7 +838,9 @@ void LatexDocVisitor::visitPre(DocParamList *pl)
for
(
li
.
toFirst
();(
s
=
li
.
current
());
++
li
)
{
if
(
!
first
)
m_t
<<
","
;
else
first
=
FALSE
;
m_t
<<
s
;
m_insideItem
=
TRUE
;
filter
(
s
);
m_insideItem
=
FALSE
;
}
m_t
<<
"}]"
;
}
...
...
@@ -850,7 +861,9 @@ void LatexDocVisitor::visitPre(DocXRefItem *x)
{
m_t
<<
"{
\\
bf "
;
}
m_insideItem
=
TRUE
;
filter
(
x
->
title
());
m_insideItem
=
FALSE
;
m_t
<<
"}]"
;
}
...
...
@@ -888,7 +901,7 @@ void LatexDocVisitor::visitPost(DocText *)
void
LatexDocVisitor
::
filter
(
const
char
*
str
)
{
filterLatexString
(
m_t
,
str
,
FALSE
,
m_insidePre
);
filterLatexString
(
m_t
,
str
,
FALSE
,
m_insidePre
,
m_insideItem
);
}
void
LatexDocVisitor
::
startLink
(
const
QString
&
ref
,
const
QString
&
file
,
const
QString
&
anchor
)
...
...
src/latexdocvisitor.h
View file @
ee5cb6bc
...
...
@@ -144,6 +144,7 @@ class LatexDocVisitor : public DocVisitor
QTextStream
&
m_t
;
BaseCodeDocInterface
&
m_ci
;
bool
m_insidePre
;
bool
m_insideItem
;
bool
m_hide
;
};
...
...
src/latexgen.cpp
View file @
ee5cb6bc
...
...
@@ -899,18 +899,18 @@ void LatexGenerator::endHtmlLink()
t
<<
"}"
;
}
void
LatexGenerator
::
writeMailLink
(
const
char
*
url
)
{
if
(
Config_getBool
(
"PDF_HYPERLINKS"
))
{
t
<<
"
\\
href{mailto:"
;
t
<<
url
;
t
<<
"}"
;
}
t
<<
"{
\\
tt "
;
docify
(
url
);
t
<<
"}"
;
}
//
void LatexGenerator::writeMailLink(const char *url)
//
{
//
if (Config_getBool("PDF_HYPERLINKS"))
//
{
//
t << "\\href{mailto:";
//
t << url;
//
t << "}";
//
}
//
t << "{\\tt ";
//
docify(url);
//
t << "}";
//
}
void
LatexGenerator
::
writeStartAnnoItem
(
const
char
*
,
const
char
*
,
const
char
*
path
,
const
char
*
name
)
...
...
@@ -1238,49 +1238,49 @@ void LatexGenerator::endSection(const char *lab,SectionInfo::SectionType)
t
<<
"}
\\
label{"
<<
lab
<<
"}"
<<
endl
;
}
void
LatexGenerator
::
writeSectionRef
(
const
char
*
ref
,
const
char
*
,
const
char
*
lab
,
const
char
*
text
)
{
if
(
ref
)
// external reference
{
docify
(
text
);
}
else
// local reference
{
if
(
text
&&
Config_getBool
(
"PDF_HYPERLINKS"
))
{
t
<<
"
\\
hyperlink{"
;
if
(
lab
)
t
<<
lab
;
t
<<
"}{"
;
docify
(
text
);
t
<<
"}"
;
//t << " {\\rm (p.\\,\\pageref{" << lab << "})}";
}
else
{
if
(
strcmp
(
lab
,
text
)
!=
0
)
// lab!=text
{
// todo: don't hardcode p. here!
t
<<
"{
\\
bf "
;
docify
(
text
);
t
<<
"} {
\\
rm (p.
\\
,
\\
pageref{"
<<
lab
<<
"})}"
;
}
else
{
t
<<
"
\\
ref{"
<<
lab
<<
"}"
;
}
}
}
}
void
LatexGenerator
::
writeSectionRefItem
(
const
char
*
,
const
char
*
lab
,
const
char
*
title
)
{
t
<<
"
\\
item
\\
contentsline{section}{"
;
docify
(
title
);
t
<<
"}{
\\
ref{"
<<
lab
<<
"}}{}"
<<
endl
;
}
//
void LatexGenerator::writeSectionRef(const char *ref,const char *,
//
const char *lab,const char *text)
//
{
//
if (ref) // external reference
//
{
//
docify(text);
//
}
//
else // local reference
//
{
//
if (text && Config_getBool("PDF_HYPERLINKS"))
//
{
//
t << "\\hyperlink{";
//
if (lab) t << lab;
//
t << "}{";
//
docify(text);
//
t << "}";
//
//t << " {\\rm (p.\\,\\pageref{" << lab << "})}";
//
}
//
else
//
{
//
if (strcmp(lab,text)!=0) // lab!=text
//
{
//
// todo: don't hardcode p. here!
//
t << "{\\bf ";
//
docify(text);
//
t << "} {\\rm (p.\\,\\pageref{" << lab << "})}";
//
}
//
else
//
{
//
t << "\\ref{" << lab << "}";
//
}
//
}
//
}
//
}
//
//
void LatexGenerator::writeSectionRefItem(const char *,const char *lab,
//
const char *title)
//
{
//
t << "\\item \\contentsline{section}{";
//
docify(title);
//
t << "}{\\ref{" << lab << "}}{}" << endl;
//
}
//
// TODO: remove this function
//void LatexGenerator::writeSectionRefAnchor(const char *,const char *lab,
// const char *title)
...
...
@@ -1420,10 +1420,10 @@ void LatexGenerator::endClassDiagram(ClassDiagram &d,
d
.
writeFigure
(
t
,
dir
,
fileName
);
}
void
LatexGenerator
::
writeFormula
(
const
char
*
,
const
char
*
text
)
{
t
<<
text
;
}
//
void LatexGenerator::writeFormula(const char *,const char *text)
//
{
//
t << text;
//
}
void
LatexGenerator
::
startMemberItem
(
int
annType
)
{
...
...
@@ -1479,86 +1479,86 @@ void LatexGenerator::endMemberList()
t
<<
"
\\
end{CompactItemize}"
<<
endl
;
}
void
LatexGenerator
::
startImage
(
const
char
*
name
,
const
char
*
size
,
bool
hasCaption
)
{
if
(
hasCaption
)
{
t
<<
"
\\
begin{figure}[H]"
<<
endl
;
t
<<
"
\\
begin{center}"
<<
endl
;
}
else
{
t
<<
"
\\
mbox{"
;
}
QCString
gfxName
=
name
;
if
(
gfxName
.
right
(
4
)
==
".eps"
)
gfxName
.
left
(
gfxName
.
length
()
-
4
);
// "\\epsfig{file=" << name;
t
<<
"
\\
includegraphics"
;
if
(
size
)
t
<<
"["
<<
size
<<
"]"
;
t
<<
"{"
<<
gfxName
<<
"}"
;
if
(
hasCaption
)
{
t
<<
"
\\
caption{"
;
}
else
{
t
<<
"}"
<<
endl
;
}
}
void
LatexGenerator
::
endImage
(
bool
hasCaption
)
{
if
(
hasCaption
)
{
t
<<
"}"
<<
endl
;
t
<<
"
\\
end{center}"
<<
endl
;
t
<<
"
\\
end{figure}"
<<
endl
;
}
}
void
LatexGenerator
::
startDotFile
(
const
char
*
name
,
bool
hasCaption
)
{
QCString
baseName
=
name
;
int
i
;
if
((
i
=
baseName
.
findRev
(
'/'
))
!=-
1
||
(
i
=
baseName
.
findRev
(
'\\'
))
!=-
1
)
{
baseName
=
baseName
.
right
(
baseName
.
length
()
-
i
-
1
);
}
QCString
outDir
=
Config_getString
(
"LATEX_OUTPUT"
);
writeDotGraphFromFile
(
name
,
outDir
,
baseName
,
EPS
);
if
(
hasCaption
)
{
t
<<
"
\\
begin{figure}[H]"
<<
endl
;
t
<<
"
\\
begin{center}"
<<
endl
;
}
else
t
<<
"
\\
mbox{"
;
t
<<
"
\\
includegraphics"
;
if
(
Config_getBool
(
"USE_PDFLATEX"
)
)
{
t
<<
"{"
<<
baseName
<<
".pdf}"
;
}
else
{
t
<<
"{"
<<
baseName
<<
".eps}"
;
}
if
(
hasCaption
)
t
<<
"
\\
caption{"
;
else
t
<<
"}"
<<
endl
;
}
void
LatexGenerator
::
endDotFile
(
bool
hasCaption
)
{
if
(
hasCaption
)
{
t
<<
"}"
<<
endl
;
t
<<
"
\\
end{center}"
<<
endl
;
t
<<
"
\\
end{figure}"
<<
endl
;
}
}
//
void LatexGenerator::startImage(const char *name,const char *size,bool hasCaption)
//
{
//
if (hasCaption)
//
{
//
t << "\\begin{figure}[H]" << endl;
//
t << "\\begin{center}" << endl;
//
}
//
else
//
{
//
t << "\\mbox{";
//
}
//
QCString gfxName = name;
//
if (gfxName.right(4)==".eps") gfxName.left(gfxName.length()-4);
//
// "\\epsfig{file=" << name;
//
t << "\\includegraphics";
//
if (size) t << "[" << size << "]";
//
t << "{" << gfxName << "}";
//
if (hasCaption)
//
{
//
t << "\\caption{";
//
}
//
else
//
{
//
t << "}" << endl;
//
}
//
}
//
//
void LatexGenerator::endImage(bool hasCaption)
//
{
//
if (hasCaption)
//
{
//
t << "}" << endl;
//
t << "\\end{center}" << endl;
//
t << "\\end{figure}" << endl;
//
}
//
}
//
//
void LatexGenerator::startDotFile(const char *name,bool hasCaption)
//
{
//
QCString baseName=name;
//
int i;
//
if ((i=baseName.findRev('/'))!=-1 || (i=baseName.findRev('\\'))!=-1)
//
{
//
baseName=baseName.right(baseName.length()-i-1);
//
}
//
QCString outDir = Config_getString("LATEX_OUTPUT");
//
writeDotGraphFromFile(name,outDir,baseName,EPS);
//
if (hasCaption)
//
{
//
t << "\\begin{figure}[H]" << endl;
//
t << "\\begin{center}" << endl;
//
}
//
else
//
t << "\\mbox{";
//
t << "\\includegraphics";
//
if( Config_getBool("USE_PDFLATEX") )
//
{
//
t << "{" << baseName << ".pdf}";
//
}
//
else
//
{
//
t << "{" << baseName << ".eps}";
//
}
//
//
if (hasCaption)
//
t << "\\caption{";
//
else
//
t << "}" << endl;
//
}
//
//
void LatexGenerator::endDotFile(bool hasCaption)
//
{
//
if (hasCaption)
//
{
//
t << "}" << endl;
//
t << "\\end{center}" << endl;
//
t << "\\end{figure}" << endl;
//
}
//
}
//
void
LatexGenerator
::
startMemberGroupHeader
(
bool
hasHeader
)
{
...
...
@@ -1671,19 +1671,19 @@ void LatexGenerator::endParamList()
t
<<
"
\\
end{Desc}"
<<
endl
;
}
void
LatexGenerator
::
startSectionRefList
()
{
t
<<
"
\\
footnotesize"
<<
endl
;
t
<<
"
\\
begin{multicols}{2}"
<<
endl
;
t
<<
"
\\
begin{CompactList}"
<<
endl
;
}
//
void LatexGenerator::startSectionRefList()
//
{
//
t << "\\footnotesize" << endl;
//
t << "\\begin{multicols}{2}" << endl;
//
t << "\\begin{CompactList}" << endl;
//
}
void
LatexGenerator
::
endSectionRefList
()
{
t
<<
"
\\
end{CompactList}"
<<
endl
;
t
<<
"
\\
end{multicols}"
<<
endl
;
t
<<
"
\\
normalsize"
<<
endl
;
}
//
void LatexGenerator::endSectionRefList()
//
{
//
t << "\\end{CompactList}" << endl;
//
t << "\\end{multicols}" << endl;
//
t << "\\normalsize" << endl;
//
}
void
LatexGenerator
::
printDoc
(
DocNode
*
n
)
{
...
...
src/latexgen.h
View file @
ee5cb6bc
...
...
@@ -71,11 +71,11 @@ class LatexGenerator : public OutputGenerator
void
endIndexValue
(
const
char
*
,
bool
);
void
startItemList
()
{
t
<<
"
\\
begin{CompactItemize}"
<<
endl
;
}
void
endItemList
()
{
t
<<
"
\\
end{CompactItemize}"
<<
endl
;
}
void
startEnumList
()
{
t
<<
"
\\
begin{enumerate}"
<<
endl
;
}
void
endEnumList
()
{
t
<<
"
\\
end{enumerate}"
<<
endl
;
}
void
startAlphabeticalIndexList
()
{}
void
endAlphabeticalIndexList
()
{}
void
writeIndexHeading
(
const
char
*
)
{}
//
void startEnumList() { t << "\\begin{enumerate}" << endl; }
//
void endEnumList() { t << "\\end{enumerate}" << endl; }
//
void startAlphabeticalIndexList() {}
//
void endAlphabeticalIndexList() {}
//
void writeIndexHeading(const char *) {}
void
writeIndexItem
(
const
char
*
ref
,
const
char
*
file
,
const
char
*
name
);
void
docify
(
const
char
*
text
);
void
codify
(
const
char
*
text
);
...
...
@@ -87,7 +87,7 @@ class LatexGenerator : public OutputGenerator
void
endTextLink
();
void
startHtmlLink
(
const
char
*
url
);
void
endHtmlLink
();
void
writeMailLink
(
const
char
*
url
);
//
void writeMailLink(const char *url);
void
startTypewriter
()
{
t
<<
"{
\\
tt "
;
}
void
endTypewriter
()
{
t
<<
"}"
;
}
void
startGroupHeader
();
...
...
@@ -118,14 +118,14 @@ class LatexGenerator : public OutputGenerator
void
writeAnchor
(
const
char
*
fileName
,
const
char
*
name
);
void
startCodeFragment
()
{
t
<<
endl
<<
endl
<<
"
\\
footnotesize
\\
begin{verbatim}"
;
}
void
endCodeFragment
()
{
t
<<
"
\\
end{verbatim}
\\
normalsize "
<<
endl
;
}
void
startPreFragment
()
{
t
<<
"
\\
small
\\
begin{alltt}"
;
insidePre
=
TRUE
;
}
void
endPreFragment
()
{
t
<<
"
\\
end{alltt}
\\
normalsize "
<<
endl
;
insidePre
=
FALSE
;
}
void
startVerbatimFragment
()
{
t
<<
endl
<<
endl
<<
"
\\
footnotesize
\\
begin{verbatim}"
;
}
void
endVerbatimFragment
()
{
t
<<
"
\\
end{verbatim}
\\
normalsize "
<<
endl
;
}
//
void startPreFragment() { t << "\\small\\begin{alltt}";
//
insidePre=TRUE;
//
}
//
void endPreFragment() { t << "\\end{alltt}\\normalsize " << endl;
//
insidePre=FALSE;
//
}
//
void startVerbatimFragment() { t << endl << endl << "\\footnotesize\\begin{verbatim}"; }
//
void endVerbatimFragment() { t << "\\end{verbatim}\\normalsize " << endl; }
void
writeLineNumber
(
const
char
*
,
const
char
*
,
const
char
*
,
int
l
)
{
t
<<
l
<<
" "
;
}
void
startCodeLine
()
{
col
=
0
;
}
void
endCodeLine
()
{
codify
(
"
\n
"
);
}
...
...
@@ -160,52 +160,52 @@ class LatexGenerator : public OutputGenerator
void
endCenter
()
{
t
<<
"
\\
end{center}"
<<
endl
;
}
void
startSmall
()
{
t
<<
"
\\
footnotesize "
;
}
void
endSmall
()
{
t
<<
"
\\
normalsize "
;
}
void
startSubscript
()
{
t
<<
"$_{
\\
mbox{"
;
}
void
endSubscript
()
{
t
<<
"}}$"
;
}
void
startSuperscript
()
{
t
<<
"$^{
\\
mbox{"
;
}
void
endSuperscript
()
{
t
<<
"}}$"
;
}
void
startTable
(
bool
hasCaption
,
int
c
)
{
if
(
hasCaption
)
t
<<
"
\\
begin{table}[h]"
;
t
<<
"
\\
begin{TabularC}{"
<<
c
<<
"}
\n\\
hline
\n
"
;
}
void
endTable
(
bool
hasCaption
)
{
if
(
hasCaption
)
{
t
<<
"
\\
end{table}
\n
"
;
}
else
{
t
<<
"
\\\\\\
hline
\n\\
end{TabularC}
\n
"
;
}
}
void
startCaption
()
{
t
<<
"
\\\\\\
hline
\n\\
end{TabularC}
\n
"
"
\\
centering
\n\\
caption{"
;
}
void
endCaption
()
{
t
<<
"}
\n
"
;
}
void
nextTableRow
()
{}
void
endTableRow
()
{
t
<<
"
\\\\\\
hline
\n
"
;
}
void
nextTableColumn
()
{
t
<<
"&"
;
}
void
endTableColumn
()
{}
void
writeCopyright
()
{
t
<<
"
\\
copyright"
;
}
void
writeQuote
()
{
t
<<
"''"
;
}
void
writeUmlaut
(
char
c
)
{
if
(
c
==
'i'
)
t
<<
"
\\\"
{
\\
i}"
;
else
t
<<
"
\\\"
{"
<<
c
<<
"}"
;
}
void
writeAcute
(
char
c
)
{
if
(
c
==
'i'
)
t
<<
"
\\
'{
\\
i}"
;
else
t
<<
"
\\
'{"
<<
c
<<
"}"
;
}
void
writeGrave
(
char
c
)
{
if
(
c
==
'i'
)
t
<<
"
\\
`{
\\
i}"
;
else
t
<<
"
\\
`{"
<<
c
<<
"}"
;
}
void
writeCirc
(
char
c
)
{
if
(
c
==
'i'
)
t
<<
"
\\
^{
\\
i}"
;
else
t
<<
"
\\
^{"
<<
c
<<
"}"
;
}
void
writeTilde
(
char
c
)
{
t
<<
"
\\
~{"
<<
c
<<
"}"
;
}
void
writeRing
(
char
c
)
{
t
<<
"
\\
"
<<
c
<<
c
;
}
void
writeSharpS
()
{
t
<<
"
\"
s"
;
}
void
writeCCedil
(
char
c
)
{
t
<<
"
\\
c{"
<<
c
<<
"}"
;
}
//
void startSubscript() { t << "$_{\\mbox{"; }
//
void endSubscript() { t << "}}$"; }
//
void startSuperscript() { t << "$^{\\mbox{"; }
//
void endSuperscript() { t << "}}$"; }
//
void startTable(bool hasCaption,int c)
//
{
//
if (hasCaption) t << "\\begin{table}[h]";
//
t << "\\begin{TabularC}{" << c << "}\n\\hline\n";
//
}
//
void endTable(bool hasCaption)
//
{
//
if (hasCaption)
//
{
//
t << "\\end{table}\n";
//
}
//
else
//
{
//
t << "\\\\\\hline\n\\end{TabularC}\n";
//
}
//
}
//
void startCaption() { t << "\\\\\\hline\n\\end{TabularC}\n"
//
"\\centering\n\\caption{";
//
}
//
void endCaption() { t << "}\n"; }
//
void nextTableRow() {}
//
void endTableRow() { t << "\\\\\\hline\n"; }
//
void nextTableColumn() { t << "&"; }
//
void endTableColumn() {}
//
void writeCopyright() { t << "\\copyright"; }
//
void writeQuote() { t << "''"; }
//
void writeUmlaut(char c) { if (c=='i') t << "\\\"{\\i}"; else
//
t << "\\\"{" << c << "}";
//
}
//
void writeAcute(char c) { if (c=='i') t << "\\'{\\i}"; else
//
t << "\\'{" << c << "}";
//
}
//
void writeGrave(char c) { if (c=='i') t << "\\`{\\i}"; else
//
t << "\\`{" << c << "}";
//
}
//
void writeCirc(char c) { if (c=='i') t << "\\^{\\i}"; else
//
t << "\\^{" << c << "}";
//
}
//
void writeTilde(char c) { t << "\\~{" << c << "}"; }
//
void writeRing(char c) { t << "\\" << c << c; }
//
void writeSharpS() { t << "\"s"; }
//
void writeCCedil(char c) { t << "\\c{" << c << "}"; }
void
startMemberDescription
()
{
t
<<
"
\\
begin{CompactList}
\\
small
\\
item
\\
em "
;
}
void
endMemberDescription
()
{
t
<<
"
\\
item
\\
end{CompactList}"
;
}
void
startDescList
(
SectionTypes
)
{
t
<<
"
\\
begin{Desc}
\n\\
item["
;
}
...
...
@@ -214,12 +214,12 @@ class LatexGenerator : public OutputGenerator
void
endSimpleSect
();
void
startParamList
(
ParamListTypes
,
const
char
*
title
);
void
endParamList
();
void
endDescTitle
()
{
t
<<
"]"
;
}
//
void endDescTitle() { t << "]"; }
void
writeDescItem
()
{
t
<<
"
\\
par"
<<
endl
;
}
void
startSection
(
const
char
*
,
const
char
*
,
SectionInfo
::
SectionType
);
void
endSection
(
const
char
*
,
SectionInfo
::
SectionType
);
void
writeSectionRef
(
const
char
*
,
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRefItem
(
const
char
*
,
const
char
*
,
const
char
*
);
//
void writeSectionRef(const char *,const char *,const char *,const char *);
//
void writeSectionRefItem(const char *,const char *,const char *);
//void writeSectionRefAnchor(const char *,const char *,const char *);
void
addIndexItem
(
const
char
*
,
const
char
*
);
void
startIndent
()
{}
...
...
@@ -234,12 +234,12 @@ class LatexGenerator : public OutputGenerator
void
endPageRef
(
const
char
*
,
const
char
*
);
void
startQuickIndexItem
(
const
char
*
,
const
char
*
)
{}
void
endQuickIndexItem
()
{}
void
writeFormula
(
const
char
*
,
const
char
*
);
//
void writeFormula(const char *,const char *);
void
writeNonBreakableSpace
(
int
);
void
startImage
(
const
char
*
,
const
char
*
,
bool
);
void
endImage
(
bool
);
void
startDotFile
(
const
char
*
,
bool
);
void
endDotFile
(
bool
);
//
void startImage(const char *,const char *,bool);
//
void endImage(bool);
//
void startDotFile(const char *,bool);
//
void endDotFile(bool);
void
startDescTable
()
{
t
<<
"
\\
begin{description}"
<<
endl
;
}
...
...
@@ -278,13 +278,13 @@ class LatexGenerator : public OutputGenerator
void
startFontClass
(
const
char
*
)
{}
void
endFontClass
()
{}
void
startHtmlOnly
()
{}
void
endHtmlOnly
()
{}
void
startLatexOnly
()
{}
void
endLatexOnly
()
{}
//
void startHtmlOnly() {}
//
void endHtmlOnly() {}
//
void startLatexOnly() {}
//
void endLatexOnly() {}
void
startSectionRefList
();
void
endSectionRefList
();
//
void startSectionRefList();
//
void endSectionRefList();
void
writeCodeAnchor
(
const
char
*
)
{}
...
...
src/mangen.cpp
View file @
ee5cb6bc
...
...
@@ -213,10 +213,10 @@ void ManGenerator::endHtmlLink()
{
}
void
ManGenerator
::
writeMailLink
(
const
char
*
url
)
{
docify
(
url
);
}
//
void ManGenerator::writeMailLink(const char *url)
//
{
//
docify(url);
//
}
void
ManGenerator
::
startGroupHeader
()
{
...
...
@@ -451,11 +451,11 @@ void ManGenerator::startDescItem()
firstCol
=
FALSE
;
}
void
ManGenerator
::
endDescTitle
()
{
endBold
();
paragraph
=
TRUE
;
}
//
void ManGenerator::endDescTitle()
//
{
//
endBold();
//
paragraph=TRUE;
//
}
void
ManGenerator
::
writeDescItem
()
{
...
...
src/mangen.h
View file @
ee5cb6bc
...
...
@@ -69,11 +69,11 @@ class ManGenerator : public OutputGenerator
void
endIndexValue
(
const
char
*
,
bool
)
{}
void
startItemList
()
{}
void
endItemList
()
{
newParagraph
();
}
void
startEnumList
()
{}
void
endEnumList
()
{
newParagraph
();
}
void
startAlphabeticalIndexList
()
{}
void
endAlphabeticalIndexList
()
{}
void
writeIndexHeading
(
const
char
*
)
{}
//
void startEnumList() {}
//
void endEnumList() { newParagraph(); }
//
void startAlphabeticalIndexList() {}
//
void endAlphabeticalIndexList() {}
//
void writeIndexHeading(const char *) {}
void
writeIndexItem
(
const
char
*
ref
,
const
char
*
file
,
const
char
*
name
);
void
docify
(
const
char
*
text
);
void
codify
(
const
char
*
text
);
...
...
@@ -85,7 +85,7 @@ class ManGenerator : public OutputGenerator
void
endTextLink
()
{}
void
startHtmlLink
(
const
char
*
url
);
void
endHtmlLink
();
void
writeMailLink
(
const
char
*
url
);
//
void writeMailLink(const char *url);
void
startTypewriter
()
{
t
<<
"
\\
fC"
;
firstCol
=
FALSE
;
}
void
endTypewriter
()
{
t
<<
"
\\
fP"
;
firstCol
=
FALSE
;
}
void
startGroupHeader
();
...
...
@@ -114,10 +114,10 @@ class ManGenerator : public OutputGenerator
void
writeAnchor
(
const
char
*
,
const
char
*
)
{}
void
startCodeFragment
();
void
endCodeFragment
();
void
startPreFragment
()
{
startCodeFragment
();
}
void
endPreFragment
()
{
endCodeFragment
();
}
void
startVerbatimFragment
()
{
startCodeFragment
();
}
void
endVerbatimFragment
()
{
endCodeFragment
();
}
//
void startPreFragment() { startCodeFragment(); }
//
void endPreFragment() { endCodeFragment(); }
//
void startVerbatimFragment() { startCodeFragment(); }
//
void endVerbatimFragment() { endCodeFragment(); }
void
writeLineNumber
(
const
char
*
,
const
char
*
,
const
char
*
,
int
l
)
{
t
<<
l
<<
" "
;
}
void
startCodeLine
()
{}
void
endCodeLine
()
{
codify
(
"
\n
"
);
col
=
0
;
}
...
...
@@ -152,33 +152,33 @@ class ManGenerator : public OutputGenerator
void
endCenter
()
{}
void
startSmall
()
{}
void
endSmall
()
{}
void
startSubscript
()
{
t
<<
"
\\
*<"
;
firstCol
=
FALSE
;
}
void
endSubscript
()
{
t
<<
"
\\
*>"
;
firstCol
=
FALSE
;
}
void
startSuperscript
()
{
t
<<
"
\\
*{"
;
firstCol
=
FALSE
;
}
void
endSuperscript
()
{
t
<<
"
\\
*}"
;
firstCol
=
FALSE
;
}
void
startTable
(
bool
,
int
)
{}
void
endTable
(
bool
)
{}
void
startCaption
()
{}
void
endCaption
()
{}
void
nextTableRow
()
{}
void
endTableRow
()
{}
void
nextTableColumn
()
{}
void
endTableColumn
()
{}
void
writeCopyright
()
{
t
<<
"(c)"
;
firstCol
=
FALSE
;
}
void
writeQuote
()
{
t
<<
"`"
;
firstCol
=
FALSE
;
}
void
writeUmlaut
(
char
c
)
{
t
<<
c
<<
"
\\
*'"
;
firstCol
=
FALSE
;
}
void
writeAcute
(
char
c
)
{
t
<<
c
<<
"
\\
*`"
;
firstCol
=
FALSE
;
}
void
writeGrave
(
char
c
)
{
t
<<
c
<<
"
\\
*:"
;
firstCol
=
FALSE
;
}
void
writeCirc
(
char
c
)
{
t
<<
c
<<
"
\\
*^"
;
firstCol
=
FALSE
;
}
void
writeTilde
(
char
c
)
{
t
<<
c
<<
"
\\
*~"
;
firstCol
=
FALSE
;
}
void
writeRing
(
char
c
)
{
t
<<
c
<<
"
\\
*0"
;
/* just a wild guess,
need to check! */
firstCol
=
FALSE
;
}
void
writeSharpS
()
{
t
<<
"s
\\
*:"
;
/* just a wild guess,
need to check! */
firstCol
=
FALSE
;
}
void
writeCCedil
(
char
c
)
{
t
<<
c
;
/* TODO: fix this */
firstCol
=
FALSE
;
}
//
void startSubscript() { t << "\\*<"; firstCol=FALSE; }
//
void endSubscript() { t << "\\*>"; firstCol=FALSE; }
//
void startSuperscript() { t << "\\*{"; firstCol=FALSE; }
//
void endSuperscript() { t << "\\*}"; firstCol=FALSE; }
//
void startTable(bool,int) {}
//
void endTable(bool) {}
//
void startCaption() {}
//
void endCaption() {}
//
void nextTableRow() {}
//
void endTableRow() {}
//
void nextTableColumn() {}
//
void endTableColumn() {}
//
void writeCopyright() { t << "(c)"; firstCol=FALSE; }
//
void writeQuote() { t << "`"; firstCol=FALSE; }
//
void writeUmlaut(char c) { t << c << "\\*'"; firstCol=FALSE; }
//
void writeAcute(char c) { t << c << "\\*`"; firstCol=FALSE; }
//
void writeGrave(char c) { t << c << "\\*:"; firstCol=FALSE; }
//
void writeCirc(char c) { t << c << "\\*^"; firstCol=FALSE; }
//
void writeTilde(char c) { t << c << "\\*~"; firstCol=FALSE; }
//
void writeRing(char c) { t << c << "\\*0"; /* just a wild guess,
//
need to check! */
//
firstCol=FALSE; }
//
void writeSharpS() { t << "s\\*:"; /* just a wild guess,
//
need to check! */
//
firstCol=FALSE; }
//
void writeCCedil(char c) { t << c; /* TODO: fix this */
//
firstCol=FALSE; }
void
startMemberDescription
()
{
t
<<
"
\n
.RI
\"\\
fI"
;
firstCol
=
FALSE
;
}
void
endMemberDescription
()
{
t
<<
"
\\
fP
\"
"
;
firstCol
=
FALSE
;
}
void
startDescList
(
SectionTypes
);
...
...
@@ -187,12 +187,12 @@ class ManGenerator : public OutputGenerator
void
endSimpleSect
();
void
startParamList
(
ParamListTypes
,
const
char
*
title
);
void
endParamList
();
void
endDescTitle
();
//
void endDescTitle();
void
writeDescItem
();
void
startSection
(
const
char
*
,
const
char
*
,
SectionInfo
::
SectionType
);
void
endSection
(
const
char
*
,
SectionInfo
::
SectionType
);
void
writeSectionRef
(
const
char
*
,
const
char
*
,
const
char
*
,
const
char
*
)
{}
void
writeSectionRefItem
(
const
char
*
,
const
char
*
,
const
char
*
)
{}
//
void writeSectionRef(const char *,const char *,const char *,const char *) {}
//
void writeSectionRefItem(const char *,const char *,const char *) {}
//void writeSectionRefAnchor(const char *,const char *,const char *) {}
void
addIndexItem
(
const
char
*
,
const
char
*
)
{}
void
startIndent
()
{}
...
...
@@ -207,12 +207,12 @@ class ManGenerator : public OutputGenerator
void
endPageRef
(
const
char
*
,
const
char
*
)
{}
void
startQuickIndexItem
(
const
char
*
,
const
char
*
)
{}
void
endQuickIndexItem
()
{}
void
writeFormula
(
const
char
*
,
const
char
*
)
{}
//
void writeFormula(const char *,const char *) {}
void
writeNonBreakableSpace
(
int
n
)
{
int
i
;
for
(
i
=
0
;
i
<
n
;
i
++
)
t
<<
" "
;
}
void
startImage
(
const
char
*
,
const
char
*
,
bool
)
{}
void
endImage
(
bool
)
{}
void
startDotFile
(
const
char
*
,
bool
)
{}
void
endDotFile
(
bool
)
{}
//
void startImage(const char *,const char *,bool) {}
//
void endImage(bool) {}
//
void startDotFile(const char *,bool) {}
//
void endDotFile(bool) {}
void
startDescTable
()
{}
void
endDescTable
()
{}
...
...
@@ -245,13 +245,13 @@ class ManGenerator : public OutputGenerator
void
startFontClass
(
const
char
*
)
{}
void
endFontClass
()
{}
void
startHtmlOnly
()
{}
void
endHtmlOnly
()
{}
void
startLatexOnly
()
{}
void
endLatexOnly
()
{}
//
void startHtmlOnly() {}
//
void endHtmlOnly() {}
//
void startLatexOnly() {}
//
void endLatexOnly() {}
void
startSectionRefList
()
{}
void
endSectionRefList
()
{}
//
void startSectionRefList() {}
//
void endSectionRefList() {}
void
writeCodeAnchor
(
const
char
*
)
{}
...
...
src/memberdef.cpp
View file @
ee5cb6bc
...
...
@@ -301,7 +301,7 @@ MemberDef::MemberDef(const char *df,int dl,
exception
=
e
;
proto
=
FALSE
;
annScope
=
FALSE
;
memSpec
=
FALSE
;
memSpec
=
0
;
annMemb
=
0
;
annUsed
=
FALSE
;
annShown
=
FALSE
;
...
...
@@ -651,6 +651,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
case
Define
:
Doxygen
::
tagFile
<<
"define"
;
break
;
case
EnumValue
:
Doxygen
::
tagFile
<<
"enumvalue"
;
break
;
case
Property
:
Doxygen
::
tagFile
<<
"property"
;
break
;
case
Event
:
Doxygen
::
tagFile
<<
"event"
;
break
;
case
Variable
:
Doxygen
::
tagFile
<<
"variable"
;
break
;
case
Typedef
:
Doxygen
::
tagFile
<<
"typedef"
;
break
;
case
Enumeration
:
Doxygen
::
tagFile
<<
"enumeration"
;
break
;
...
...
@@ -776,7 +777,8 @@ void MemberDef::writeDeclaration(OutputList &ol,
if
(
getAnonymousEnumType
())
// type is an anonymous enum
{
linkifyText
(
TextGeneratorOLImpl
(
ol
),
cname
,
name
(),
ltype
.
left
(
i
),
TRUE
);
ol
+=*
getAnonymousEnumType
()
->
enumDecl
();
getAnonymousEnumType
()
->
writeEnumDeclaration
(
ol
,
cd
,
nd
,
fd
,
gd
);
//ol+=*getAnonymousEnumType()->enumDecl();
linkifyText
(
TextGeneratorOLImpl
(
ol
),
cname
,
name
(),
ltype
.
right
(
ltype
.
length
()
-
i
-
l
),
TRUE
);
}
else
...
...
@@ -1053,7 +1055,8 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
htmlHelp
->
addIndexItem
(
cname
,
name
(),
cfname
,
anchor
());
}
linkifyText
(
TextGeneratorOLImpl
(
ol
),
scopeName
,
name
(),
ldef
.
left
(
i
));
ol
+=*
vmd
->
enumDecl
();
//ol+=*vmd->enumDecl();
vmd
->
writeEnumDeclaration
(
ol
,
getClassDef
(),
getNamespaceDef
(),
getFileDef
(),
getGroupDef
());
linkifyText
(
TextGeneratorOLImpl
(
ol
),
scopeName
,
name
(),
ldef
.
right
(
ldef
.
length
()
-
i
-
l
));
found
=
TRUE
;
...
...
@@ -1169,7 +1172,8 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
isFriend
()
||
isRelated
()
||
isExplicit
()
||
isMutable
()
||
(
isInline
()
&&
Config_getBool
(
"INLINE_INFO"
))
||
isSignal
()
||
isSlot
()
||
isStatic
()
||
(
classDef
&&
classDef
!=
container
)
isStatic
()
||
(
classDef
&&
classDef
!=
container
)
||
isSettable
()
||
isGettable
()
)
{
// write the member specifier list
...
...
@@ -1186,6 +1190,8 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
if
(
isExplicit
())
sl
.
append
(
"explicit"
);
if
(
isMutable
())
sl
.
append
(
"mutable"
);
if
(
isStatic
())
sl
.
append
(
"static"
);
if
(
isGettable
())
sl
.
append
(
"get"
);
if
(
isSettable
())
sl
.
append
(
"set"
);
if
(
protection
()
==
Protected
)
sl
.
append
(
"protected"
);
else
if
(
protection
()
==
Private
)
sl
.
append
(
"private"
);
if
(
lvirt
==
Virtual
)
sl
.
append
(
"virtual"
);
...
...
@@ -1585,11 +1591,11 @@ bool MemberDef::isLinkable() const
}
}
void
MemberDef
::
setEnumDecl
(
OutputList
&
ed
)
{
enumDeclList
=
new
OutputList
(
&
ed
);
*
enumDeclList
+=
ed
;
}
//
void MemberDef::setEnumDecl(OutputList &ed)
//
{
//
enumDeclList=new OutputList(&ed);
//
*enumDeclList+=ed;
//
}
bool
MemberDef
::
isDocumentedFriendClass
()
const
{
...
...
@@ -1706,6 +1712,7 @@ MemberDef *MemberDef::createTemplateInstanceMember(
imd
->
def
=
substituteTemplateArgumentsInString
(
def
,
formalArgs
,
actualArgs
);
imd
->
setBodyDef
(
getBodyDef
());
imd
->
setBodySegment
(
getStartBodyLine
(),
getEndBodyLine
());
imd
->
setBodyMember
(
this
);
// TODO: init other member variables (if needed).
// TODO: reimplemented info
...
...
@@ -1796,3 +1803,122 @@ bool MemberDef::isDestructor() const
return
name
().
find
(
'~'
)
!=-
1
&&
name
().
find
(
"operator"
)
==-
1
;
}
void
MemberDef
::
writeEnumDeclaration
(
OutputList
&
typeDecl
,
ClassDef
*
cd
,
NamespaceDef
*
nd
,
FileDef
*
fd
,
GroupDef
*
gd
)
{
int
enumMemCount
=
0
;
QList
<
MemberDef
>
*
fmdl
=
enumFieldList
();
uint
numVisibleEnumValues
=
0
;
if
(
fmdl
)
{
MemberDef
*
fmd
=
fmdl
->
first
();
while
(
fmd
)
{
if
(
fmd
->
isBriefSectionVisible
())
numVisibleEnumValues
++
;
fmd
=
fmdl
->
next
();
}
}
if
(
numVisibleEnumValues
==
0
&&
!
isBriefSectionVisible
())
return
;
QCString
n
=
name
();
int
i
=
n
.
findRev
(
"::"
);
if
(
i
!=-
1
)
n
=
n
.
right
(
n
.
length
()
-
i
-
2
);
// strip scope (TODO: is this needed?)
if
(
n
[
0
]
!=
'@'
)
// not an anonymous enum
{
if
(
isLinkableInProject
()
||
hasDocumentedEnumValues
())
{
if
(
!
Config_getString
(
"GENERATE_TAGFILE"
).
isEmpty
())
{
Doxygen
::
tagFile
<<
" <member kind=
\"
enumeration
\"
>"
<<
endl
;
Doxygen
::
tagFile
<<
" <name>"
<<
convertToXML
(
name
())
<<
"</name>"
<<
endl
;
Doxygen
::
tagFile
<<
" <anchor>"
<<
convertToXML
(
anchor
())
<<
"</anchor>"
<<
endl
;
Doxygen
::
tagFile
<<
" <arglist>"
<<
convertToXML
(
argsString
())
<<
"</arglist>"
<<
endl
;
Doxygen
::
tagFile
<<
" </member>"
<<
endl
;
}
writeLink
(
typeDecl
,
cd
,
nd
,
fd
,
gd
);
}
else
{
typeDecl
.
startBold
();
typeDecl
.
docify
(
n
);
typeDecl
.
endBold
();
}
typeDecl
.
writeChar
(
' '
);
}
if
(
numVisibleEnumValues
>
0
)
{
uint
enumValuesPerLine
=
(
uint
)
Config_getInt
(
"ENUM_VALUES_PER_LINE"
);
typeDecl
.
docify
(
"{ "
);
if
(
fmdl
)
{
MemberDef
*
fmd
=
fmdl
->
first
();
bool
fmdVisible
=
fmd
->
isBriefSectionVisible
();
while
(
fmd
)
{
if
(
fmdVisible
)
{
/* in html we start a new line after a number of items */
if
(
numVisibleEnumValues
>
enumValuesPerLine
&&
(
enumMemCount
%
enumValuesPerLine
)
==
0
)
{
typeDecl
.
pushGeneratorState
();
typeDecl
.
disableAllBut
(
OutputGenerator
::
Html
);
typeDecl
.
lineBreak
();
typeDecl
.
writeString
(
" "
);
typeDecl
.
popGeneratorState
();
}
if
(
fmd
->
hasDocumentation
())
// enum value has docs
{
if
(
!
Config_getString
(
"GENERATE_TAGFILE"
).
isEmpty
())
{
Doxygen
::
tagFile
<<
" <member kind=
\"
enumvalue
\"
>"
<<
endl
;
Doxygen
::
tagFile
<<
" <name>"
<<
convertToXML
(
fmd
->
name
())
<<
"</name>"
<<
endl
;
Doxygen
::
tagFile
<<
" <anchor>"
<<
convertToXML
(
fmd
->
anchor
())
<<
"</anchor>"
<<
endl
;
Doxygen
::
tagFile
<<
" <arglist>"
<<
convertToXML
(
fmd
->
argsString
())
<<
"</arglist>"
<<
endl
;
Doxygen
::
tagFile
<<
" </member>"
<<
endl
;
}
fmd
->
writeLink
(
typeDecl
,
cd
,
nd
,
fd
,
gd
);
}
else
// no docs for this enum value
{
typeDecl
.
startBold
();
typeDecl
.
docify
(
fmd
->
name
());
typeDecl
.
endBold
();
}
if
(
fmd
->
hasOneLineInitializer
())
// enum value has initializer
{
typeDecl
.
writeString
(
" = "
);
typeDecl
.
parseText
(
fmd
->
initializer
());
}
}
bool
prevVisible
=
fmdVisible
;
fmd
=
fmdl
->
next
();
if
(
fmd
&&
(
fmdVisible
=
fmd
->
isBriefSectionVisible
()))
{
typeDecl
.
writeString
(
", "
);
}
if
(
prevVisible
)
{
typeDecl
.
disable
(
OutputGenerator
::
Man
);
typeDecl
.
writeString
(
"
\n
"
);
// to prevent too long lines in LaTeX
typeDecl
.
enable
(
OutputGenerator
::
Man
);
enumMemCount
++
;
}
}
if
(
numVisibleEnumValues
>
enumValuesPerLine
)
{
typeDecl
.
pushGeneratorState
();
typeDecl
.
disableAllBut
(
OutputGenerator
::
Html
);
typeDecl
.
lineBreak
();
typeDecl
.
popGeneratorState
();
}
}
typeDecl
.
docify
(
" }"
);
}
}
src/memberdef.h
View file @
ee5cb6bc
...
...
@@ -60,7 +60,8 @@ class MemberDef : public Definition
Slot
,
Friend
,
DCOP
,
Property
Property
,
Event
};
MemberDef
(
const
char
*
defFileName
,
int
defLine
,
...
...
@@ -114,11 +115,14 @@ class MemberDef : public Definition
bool
isFriend
()
const
{
return
mtype
==
Friend
;
}
bool
isDCOP
()
const
{
return
mtype
==
DCOP
;
}
bool
isProperty
()
const
{
return
mtype
==
Property
;
}
bool
isEvent
()
const
{
return
mtype
==
Event
;
}
bool
isRelated
()
const
{
return
related
;
}
bool
isStatic
()
const
{
return
stat
;
}
bool
isInline
()
const
{
return
(
memSpec
&
Entry
::
Inline
)
!=
0
;
}
bool
isExplicit
()
const
{
return
(
memSpec
&
Entry
::
Explicit
)
!=
0
;
}
bool
isMutable
()
const
{
return
(
memSpec
&
Entry
::
Mutable
)
!=
0
;
}
bool
isGettable
()
const
{
return
(
memSpec
&
Entry
::
Gettable
)
!=
0
;
}
bool
isSettable
()
const
{
return
(
memSpec
&
Entry
::
Settable
)
!=
0
;
}
bool
isExternal
()
const
{
return
explExt
;
}
bool
isConstructor
()
const
;
bool
isDestructor
()
const
;
...
...
@@ -173,10 +177,10 @@ class MemberDef : public Definition
void
insertEnumField
(
MemberDef
*
md
);
void
setEnumScope
(
MemberDef
*
md
);
MemberDef
*
getEnumScope
()
const
{
return
enumScope
;
}
void
setEnumDecl
(
OutputList
&
ed
);
//void setEnumUsed() { eUsed=TRUE; }
//bool enumUsed() const { return eUsed; }
OutputList
*
enumDecl
()
const
{
return
enumDeclList
;
}
//void setEnumDecl(OutputList &ed);
//OutputList *enumDecl() const { return enumDeclList; }
MemberList
*
enumFieldList
()
const
{
return
enumFields
;
}
void
setDocumentedEnumValues
(
bool
value
)
{
docEnumValues
=
value
;
}
bool
hasDocumentedEnumValues
()
const
{
return
docEnumValues
;
}
...
...
@@ -252,6 +256,10 @@ class MemberDef : public Definition
MemberDef
*
memberDefinition
()
const
{
return
memDef
;
}
MemberDef
*
memberDeclaration
()
const
{
return
memDec
;
}
void
writeEnumDeclaration
(
OutputList
&
typeDecl
,
ClassDef
*
cd
,
NamespaceDef
*
nd
,
FileDef
*
fd
,
GroupDef
*
gd
);
bool
visited
;
private
:
...
...
src/memberlist.cpp
View file @
ee5cb6bc
...
...
@@ -66,6 +66,7 @@ void MemberList::countDecMembers()
switch
(
md
->
memberType
())
{
case
MemberDef
:
:
Variable
:
// fall through
case
MemberDef
:
:
Event
:
// fall through
case
MemberDef
:
:
Property
:
m_varCnt
++
,
m_numDecMembers
++
;
break
;
case
MemberDef
:
:
Function
:
// fall through
...
...
@@ -189,7 +190,8 @@ void MemberList::writePlainDeclarations(OutputList &ol,
case
MemberDef
:
:
Signal
:
// fall through
case
MemberDef
:
:
Slot
:
// fall through
case
MemberDef
:
:
DCOP
:
// fall through
case
MemberDef
:
:
Property
:
case
MemberDef
:
:
Property
:
// fall through
case
MemberDef
:
:
Event
:
{
if
(
first
)
ol
.
startMemberList
(),
first
=
FALSE
;
md
->
writeDeclaration
(
ol
,
cd
,
nd
,
fd
,
gd
,
m_inGroup
);
...
...
@@ -198,6 +200,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
case
MemberDef
:
:
Enumeration
:
{
if
(
first
)
ol
.
startMemberList
(),
first
=
FALSE
;
#if 0
OutputList typeDecl(&ol);
QCString name(md->name());
int i=name.findRev("::");
...
...
@@ -313,9 +316,13 @@ void MemberList::writePlainDeclarations(OutputList &ol,
typeDecl.docify(" }");
md->setEnumDecl(typeDecl);
}
#endif
int
enumVars
=
0
;
MemberListIterator
vmli
(
*
this
);
MemberDef
*
vmd
;
QCString
name
(
md
->
name
());
int
i
=
name
.
findRev
(
"::"
);
if
(
i
!=-
1
)
name
=
name
.
right
(
name
.
length
()
-
i
-
2
);
// strip scope (TODO: is this needed?)
if
(
name
[
0
]
==
'@'
)
// anonymous enum => append variables
{
for
(
;
(
vmd
=
vmli
.
current
())
;
++
vmli
)
...
...
@@ -335,7 +342,8 @@ void MemberList::writePlainDeclarations(OutputList &ol,
ol
.
startMemberItem
(
0
);
ol
.
writeString
(
"enum "
);
ol
.
insertMemberAlign
();
ol
+=
typeDecl
;
// append the enum values.
//ol+=typeDecl; // append the enum values.
md
->
writeEnumDeclaration
(
ol
,
cd
,
nd
,
fd
,
gd
);
ol
.
endMemberItem
(
FALSE
);
if
(
!
md
->
briefDescription
().
isEmpty
()
&&
Config_getBool
(
"BRIEF_MEMBER_DESC"
))
{
...
...
src/outputgen.h
View file @
ee5cb6bc
...
...
@@ -66,12 +66,13 @@ class BaseCodeDocInterface
virtual
void
writeCodeAnchor
(
const
char
*
name
)
=
0
;
};
/*! \brief Base Interface used for generating documentation.
/*! \brief Base Interface used for generating output outside of the
* comment blocks.
*
* This abstract class is used by
the documentation block
*
parser
to generate the output for a specific format,
* This abstract class is used by
output generation functions
* to generate the output for a specific format,
* or a list of formats (see OutputList). This interface
* contains functions that generate output.
* contains functions that generate
fragments of the
output.
*/
class
BaseOutputDocInterface
:
public
BaseCodeDocInterface
{
...
...
@@ -232,62 +233,10 @@ class BaseOutputDocInterface : public BaseCodeDocInterface
virtual
void
endTextLink
()
=
0
;
virtual
void
startPageRef
()
=
0
;
virtual
void
endPageRef
(
const
char
*
,
const
char
*
)
=
0
;
/********************* Functions to remove *******************************/
virtual
void
writeMailLink
(
const
char
*
url
)
=
0
;
virtual
void
startPreFragment
()
=
0
;
virtual
void
endPreFragment
()
=
0
;
virtual
void
startVerbatimFragment
()
=
0
;
virtual
void
endVerbatimFragment
()
=
0
;
virtual
void
startSubsection
()
=
0
;
virtual
void
endSubsection
()
=
0
;
virtual
void
startSubsubsection
()
=
0
;
virtual
void
endSubsubsection
()
=
0
;
virtual
void
startSubscript
()
=
0
;
virtual
void
endSubscript
()
=
0
;
virtual
void
startSuperscript
()
=
0
;
virtual
void
endSuperscript
()
=
0
;
virtual
void
startTable
(
bool
hasCaption
,
int
cols
)
=
0
;
virtual
void
endTable
(
bool
hasCaption
)
=
0
;
virtual
void
startCaption
()
=
0
;
virtual
void
endCaption
()
=
0
;
virtual
void
nextTableRow
()
=
0
;
virtual
void
endTableRow
()
=
0
;
virtual
void
nextTableColumn
()
=
0
;
virtual
void
endTableColumn
()
=
0
;
virtual
void
writeQuote
()
=
0
;
virtual
void
writeCopyright
()
=
0
;
virtual
void
writeUmlaut
(
char
)
=
0
;
virtual
void
writeAcute
(
char
)
=
0
;
virtual
void
writeGrave
(
char
)
=
0
;
virtual
void
writeCirc
(
char
)
=
0
;
virtual
void
writeTilde
(
char
)
=
0
;
virtual
void
writeRing
(
char
)
=
0
;
virtual
void
writeSharpS
()
=
0
;
virtual
void
writeCCedil
(
char
)
=
0
;
virtual
void
endDescTitle
()
=
0
;
virtual
void
writeSectionRef
(
const
char
*
,
const
char
*
,
const
char
*
,
const
char
*
)
=
0
;
virtual
void
writeSectionRefItem
(
const
char
*
,
const
char
*
,
const
char
*
)
=
0
;
virtual
void
startEnumList
()
=
0
;
virtual
void
endEnumList
()
=
0
;
virtual
void
startImage
(
const
char
*
,
const
char
*
,
bool
)
=
0
;
virtual
void
endImage
(
bool
)
=
0
;
virtual
void
startDotFile
(
const
char
*
,
bool
)
=
0
;
virtual
void
endDotFile
(
bool
)
=
0
;
virtual
void
writeFormula
(
const
char
*
,
const
char
*
)
=
0
;
virtual
void
startHtmlOnly
()
=
0
;
virtual
void
endHtmlOnly
()
=
0
;
virtual
void
startLatexOnly
()
=
0
;
virtual
void
endLatexOnly
()
=
0
;
virtual
void
startSectionRefList
()
=
0
;
virtual
void
endSectionRefList
()
=
0
;
/************************************************************************/
};
/*! \brief Abstract output generator.
...
...
@@ -306,7 +255,7 @@ class OutputGenerator : public BaseOutputDocInterface
// generic generator methods
///////////////////////////////////////////////////////////////
virtual
OutputGenerator
*
copy
()
=
0
;
virtual
void
append
(
const
OutputGenerator
*
)
=
0
;
//
virtual void append(const OutputGenerator *) = 0;
virtual
void
enable
()
=
0
;
virtual
void
disable
()
=
0
;
virtual
void
enableIf
(
OutputType
o
)
=
0
;
...
...
@@ -314,8 +263,8 @@ class OutputGenerator : public BaseOutputDocInterface
virtual
void
disableIfNot
(
OutputType
o
)
=
0
;
virtual
bool
isEnabled
(
OutputType
o
)
=
0
;
virtual
OutputGenerator
*
get
(
OutputType
o
)
=
0
;
void
clear
()
{
b
.
close
();
a
.
resize
(
0
);
b
.
setBuffer
(
a
);
b
.
open
(
IO_WriteOnly
);
t
.
setDevice
(
&
b
);
}
//
void clear() { b.close(); a.resize(0); b.setBuffer(a);
//
b.open(IO_WriteOnly); t.setDevice(&b); }
void
startPlainFile
(
const
char
*
name
);
void
endPlainFile
();
QCString
getContents
()
const
;
...
...
@@ -345,9 +294,6 @@ class OutputGenerator : public BaseOutputDocInterface
virtual
void
endIndexKey
()
=
0
;
virtual
void
startIndexValue
(
bool
)
=
0
;
virtual
void
endIndexValue
(
const
char
*
,
bool
)
=
0
;
virtual
void
startAlphabeticalIndexList
()
=
0
;
virtual
void
endAlphabeticalIndexList
()
=
0
;
virtual
void
writeIndexHeading
(
const
char
*
s
)
=
0
;
virtual
void
writeIndexItem
(
const
char
*
ref
,
const
char
*
file
,
const
char
*
text
)
=
0
;
virtual
void
startGroupHeader
()
=
0
;
...
...
@@ -466,7 +412,7 @@ class OutputDocInterface : public BaseOutputDocInterface
/*! Appends the output generated by generator \a g to this
* generator.
*/
virtual
void
append
(
const
OutputDocInterface
*
g
)
=
0
;
//
virtual void append(const OutputDocInterface *g) = 0;
/*! Pushes the state of the current generator (or list of
* generators) on a stack.
...
...
src/outputlist.cpp
View file @
ee5cb6bc
...
...
@@ -156,20 +156,20 @@ bool OutputList::isEnabled(OutputGenerator::OutputType o)
return
result
;
}
OutputList
&
OutputList
::
operator
+=
(
const
OutputList
&
outputList
)
{
OutputList
*
ol
=
(
OutputList
*
)
&
outputList
;
OutputGenerator
*
ogsrc
=
ol
->
outputs
->
first
();
OutputGenerator
*
ogdst
=
outputs
->
first
();
//printf("OutputList::operator+= src=%d dst=%d\n",outputs->count(),ol->outputs->count());
while
(
ogdst
&&
ogsrc
)
{
ogdst
->
append
(
ogsrc
);
ogsrc
=
ol
->
outputs
->
next
();
ogdst
=
outputs
->
next
();
}
return
*
this
;
}
//
OutputList &OutputList::operator+=(const OutputList &outputList)
//
{
//
OutputList *ol=(OutputList *)&outputList;
//
OutputGenerator *ogsrc=ol->outputs->first();
//
OutputGenerator *ogdst=outputs->first();
//
//printf("OutputList::operator+= src=%d dst=%d\n",outputs->count(),ol->outputs->count());
//
while (ogdst && ogsrc)
//
{
//
ogdst->append(ogsrc);
//
ogsrc=ol->outputs->next();
//
ogdst=outputs->next();
//
}
//
return *this;
//
}
void
OutputList
::
pushGeneratorState
()
{
...
...
src/outputlist.h
View file @
ee5cb6bc
This diff is collapsed.
Click to expand it.
src/perlmodgen.cpp
View file @
ee5cb6bc
This diff is collapsed.
Click to expand it.
src/pre.l
View file @
ee5cb6bc
...
...
@@ -2049,7 +2049,7 @@ void preprocessFile(const char *fileName,BufStr &output)
}
else
{
QCString cmd = inputFilter+"
"+fileName
;
QCString cmd = inputFilter+"
\""+fileName+"\""
;
preYYin = popen(cmd,"r");
if (!preYYin)
{
...
...
src/rtfdocvisitor.cpp
View file @
ee5cb6bc
...
...
@@ -910,7 +910,7 @@ void RTFDocVisitor::visitPre(DocParamList *pl)
for
(
li
.
toFirst
();(
s
=
li
.
current
());
++
li
)
{
if
(
!
first
)
m_t
<<
","
;
else
first
=
FALSE
;
m_t
<<
s
;
filter
(
s
)
;
}
m_t
<<
"} "
;
}
...
...
src/rtfgen.cpp
View file @
ee5cb6bc
This diff is collapsed.
Click to expand it.
src/rtfgen.h
View file @
ee5cb6bc
...
...
@@ -72,11 +72,11 @@ class RTFGenerator : public OutputGenerator
void
endIndexValue
(
const
char
*
,
bool
);
void
startItemList
();
void
endItemList
();
void
startEnumList
();
void
endEnumList
();
void
startAlphabeticalIndexList
()
{}
void
endAlphabeticalIndexList
()
{}
void
writeIndexHeading
(
const
char
*
)
{}
//
void startEnumList();
//
void endEnumList();
//
void startAlphabeticalIndexList() {}
//
void endAlphabeticalIndexList() {}
//
void writeIndexHeading(const char *) {}
void
writeIndexItem
(
const
char
*
ref
,
const
char
*
file
,
const
char
*
name
);
void
docify
(
const
char
*
text
);
void
codify
(
const
char
*
text
);
...
...
@@ -88,7 +88,7 @@ class RTFGenerator : public OutputGenerator
void
endTextLink
();
void
startHtmlLink
(
const
char
*
url
);
void
endHtmlLink
();
void
writeMailLink
(
const
char
*
url
);
//
void writeMailLink(const char *url);
void
startTypewriter
()
{
t
<<
"{
\\
f2 "
;
}
void
endTypewriter
()
{
t
<<
"}"
;
}
void
startGroupHeader
();
...
...
@@ -114,10 +114,10 @@ class RTFGenerator : public OutputGenerator
void
writeAnchor
(
const
char
*
fileName
,
const
char
*
name
);
void
startCodeFragment
();
void
endCodeFragment
();
void
startPreFragment
()
{
startCodeFragment
();
}
void
endPreFragment
()
{
endCodeFragment
();
}
void
startVerbatimFragment
()
{
startCodeFragment
();
}
void
endVerbatimFragment
()
{
endCodeFragment
();
}
//
void startPreFragment() { startCodeFragment(); }
//
void endPreFragment() { endCodeFragment(); }
//
void startVerbatimFragment() { startCodeFragment(); }
//
void endVerbatimFragment() { endCodeFragment(); }
void
writeLineNumber
(
const
char
*
,
const
char
*
,
const
char
*
,
int
l
)
{
t
<<
l
<<
" "
;
}
void
startCodeLine
()
{
col
=
0
;
}
void
endCodeLine
()
{
lineBreak
();
}
...
...
@@ -152,43 +152,43 @@ class RTFGenerator : public OutputGenerator
void
endCenter
()
{
t
<<
"}"
;
}
void
startSmall
()
{
t
<<
"{
\\
sub "
;
}
void
endSmall
()
{
t
<<
"}"
;
}
void
startSubscript
()
{
t
<<
"{
\\
sub "
<<
endl
;}
void
endSubscript
()
{
t
<<
"}"
;
}
void
startSuperscript
()
{
t
<<
"{
\\
super "
<<
endl
;}
void
endSuperscript
()
{
t
<<
"}"
;
}
void
startTable
(
bool
,
int
);
void
endTable
(
bool
);
void
startCaption
();
void
endCaption
();
void
nextTableRow
();
void
endTableRow
();
void
nextTableColumn
();
void
endTableColumn
();
void
writeCopyright
()
{
t
<<
"
\251
"
;
}
void
writeQuote
()
{
t
<<
"
\"
"
;
}
void
writeUmlaut
(
char
c
);
void
writeAcute
(
char
c
);
void
writeGrave
(
char
c
);
void
writeCirc
(
char
c
);
void
writeTilde
(
char
c
);
void
writeRing
(
char
c
);
void
writeSharpS
()
{
t
<<
"
\337
"
;
}
void
writeCCedil
(
char
c
);
//
void startSubscript() { t << "{\\sub " << endl;}
//
void endSubscript() { t << "}"; }
//
void startSuperscript() { t << "{\\super " << endl;}
//
void endSuperscript() { t << "}"; }
//
void startTable(bool,int);
//
void endTable(bool);
//
void startCaption();
//
void endCaption();
//
void nextTableRow();
//
void endTableRow();
//
void nextTableColumn();
//
void endTableColumn();
//
void writeCopyright() { t << "\251"; }
//
void writeQuote() { t << "\""; }
//
void writeUmlaut(char c);
//
void writeAcute(char c);
//
void writeGrave(char c);
//
void writeCirc(char c);
//
void writeTilde(char c);
//
void writeRing(char c);
//
void writeSharpS() { t << "\337"; }
//
void writeCCedil(char c);
void
startMemberDescription
();
void
endMemberDescription
();
void
startDescList
(
SectionTypes
);
void
endDescList
();
//
void endDescList();
void
startSimpleSect
(
SectionTypes
,
const
char
*
,
const
char
*
,
const
char
*
);
void
endSimpleSect
();
void
startParamList
(
ParamListTypes
,
const
char
*
);
void
endParamList
();
void
endDescTitle
();
//
void endDescTitle();
void
writeDescItem
();
void
startSection
(
const
char
*
,
const
char
*
,
SectionInfo
::
SectionType
);
void
endSection
(
const
char
*
,
SectionInfo
::
SectionType
);
void
writeSectionRef
(
const
char
*
,
const
char
*
,
const
char
*
,
const
char
*
);
void
writeSectionRefItem
(
const
char
*
,
const
char
*
,
const
char
*
);
//
void writeSectionRef(const char *,const char *,const char *,const char *);
//
void writeSectionRefItem(const char *,const char *,const char *);
//void writeSectionRefAnchor(const char *,const char *,const char *);
void
addIndexItem
(
const
char
*
,
const
char
*
);
void
startIndent
();
...
...
@@ -203,12 +203,12 @@ class RTFGenerator : public OutputGenerator
void
endPageRef
(
const
char
*
,
const
char
*
);
void
startQuickIndexItem
(
const
char
*
,
const
char
*
)
{}
void
endQuickIndexItem
()
{}
void
writeFormula
(
const
char
*
,
const
char
*
);
//
void writeFormula(const char *,const char *);
void
writeNonBreakableSpace
(
int
);
void
startImage
(
const
char
*
,
const
char
*
,
bool
);
void
endImage
(
bool
);
void
startDotFile
(
const
char
*
,
bool
);
void
endDotFile
(
bool
);
//
void startImage(const char *,const char *,bool);
//
void endImage(bool);
//
void startDotFile(const char *,bool);
//
void endDotFile(bool);
void
startDescTable
();
void
endDescTable
();
...
...
@@ -248,13 +248,13 @@ class RTFGenerator : public OutputGenerator
void
startFontClass
(
const
char
*
)
{}
void
endFontClass
()
{}
void
startHtmlOnly
()
{}
void
endHtmlOnly
()
{}
void
startLatexOnly
()
{}
void
endLatexOnly
()
{}
//
void startHtmlOnly() {}
//
void endHtmlOnly() {}
//
void startLatexOnly() {}
//
void endLatexOnly() {}
void
startSectionRefList
()
{}
void
endSectionRefList
()
{}
//
void startSectionRefList() {}
//
void endSectionRefList() {}
void
writeCodeAnchor
(
const
char
*
)
{}
...
...
src/scanner.l
View file @
ee5cb6bc
...
...
@@ -122,6 +122,7 @@ static QCString formulaText;
static bool useOverrideCommands = FALSE;
static bool insideIDL = FALSE;
static bool insideJava = FALSE;
static bool insideCS = FALSE;
static bool insidePHP = FALSE;
static bool insidePHPCode = FALSE;
static bool insideCppQuote = FALSE;
...
...
@@ -391,7 +392,8 @@ static void setContext()
QCString fileName = yyFileName;
insideIDL = fileName.right(4)==".idl" || fileName.right(4)==".odl";
insideJava = fileName.right(5)==".java";
insidePHP = fileName.right(4)==".php" || fileName.right(4)==".inc";
insideCS = fileName.right(3)==".cs";
insidePHP = fileName.right(4)==".php" || fileName.right(4)==".inc";
if ( insidePHP )
{
useOverrideCommands = TRUE;
...
...
@@ -510,6 +512,7 @@ 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}?)
SCOPENAME (({ID}?{BN}*"::"{BN}*)*)((~{BN}*)?{ID})
CSSCOPENAME (({ID}?{BN}*"."{BN}*)*)((~{BN}*)?{ID})
ATTR ({B}+[^>\n]*)?
A [aA]
BR [bB][rR]
...
...
@@ -653,6 +656,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
%x PackageName
%x GetCallType
%x JavaImport
%x CSAccessorDecl
%%
...
...
@@ -1277,25 +1281,21 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
insideTryBlock=FALSE;
BEGIN(TryFunctionBlock);
}
// else if ( insidePHP && strcmp(yytext,"function")==0 )
// {
// BEGIN(
// }
else
{
if (YY_START==FindMembers)
{
addType( current ) ;
}
if (
insideJava
&& strcmp(yytext,"public")==0)
if (
(insideJava || insideCS)
&& strcmp(yytext,"public")==0)
{
current->protection = Public;
}
else if (
insideJava
&& strcmp(yytext,"protected")==0)
else if (
(insideJava || insideCS)
&& strcmp(yytext,"protected")==0)
{
current->protection = Protected;
}
else if (
insideJava
&& strcmp(yytext,"private")==0)
else if (
(insideJava || insideCS)
&& strcmp(yytext,"private")==0)
{
current->protection = Private;
}
...
...
@@ -1318,7 +1318,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
}
}
<FindMembers>"." {
if (insideJava)
if (insideJava
|| insideCS
)
{
current->name+=".";
}
...
...
@@ -2727,6 +2727,11 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
lineCount();
BEGIN( ClassVar );
}
<CompoundName>{CSSCOPENAME} { // C# style scope
current->name = substitute(yytext,".","::");
lineCount();
BEGIN( ClassVar );
}
<ClassVar>{SCOPENAME}{BN}*/"(" {
if (insideIDL && strncmp(yytext,"switch",6)==0 && !isId(yytext[6]))
{
...
...
@@ -2792,7 +2797,10 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
}
<ClassVar>":" {
current->type.resize(0);
if (current->section == Entry::INTERFACE_SEC || current->section == Entry::STRUCT_SEC || insidePHP)
if (current->section == Entry::INTERFACE_SEC ||
current->section == Entry::STRUCT_SEC ||
insidePHP || insideCS
)
baseProt=Public;
else
baseProt=Private;
...
...
@@ -2889,7 +2897,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
current->extends->append(
new BaseInfo(baseName,baseProt,baseVirt)
);
if (current->section == Entry::INTERFACE_SEC || insideJava || insidePHP)
if (current->section == Entry::INTERFACE_SEC || insideJava || insidePHP
|| insideCS
)
baseProt=Public;
else
baseProt=Private;
...
...
@@ -3040,23 +3048,59 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
lineCount();
}
<FindMembers>"{" {
if (insideJava && current->stat && current->name.isEmpty() &&
current->type.isEmpty())
if (insideCS && !current->name.isEmpty() && !
current->type.isEmpty())
{
// static Java initializer
needsSemi = FALSE;
if (current->type.left(6)=="event " || current->type.find("event")!=-1) // event
{
current->mtype = mtype = Event;
}
else // property
{
current->mtype = mtype = Property;
}
current->bodyLine = yyLineNr;
curlyCount=0;
BEGIN(CSAccessorDecl);
}
else
{
needsSemi = TRUE;
if ((insideJava || insideCS) &&
current->stat &&
current->name.isEmpty() &&
current->type.isEmpty()
)
{
// static Java initializer
needsSemi = FALSE;
}
else
{
needsSemi = TRUE;
}
current->type.resize(0);
current->name.resize(0);
current->args.resize(0);
current->argList->clear();
curlyCount=0;
BEGIN( SkipCurlyBlock );
}
current->type.resize(0);
current->name.resize(0);
current->args.resize(0);
current->argList->clear();
curlyCount=0;
BEGIN( SkipCurlyBlock );
}
<CSAccessorDecl>"{" { curlyCount++; }
<CSAccessorDecl>"}" {
if (curlyCount)
{
curlyCount--;
}
else
{
unput(';');
BEGIN(FindMembers);
}
}
<CSAccessorDecl>"set" { if (curlyCount==0) current->memSpec |= Entry::Settable; }
<CSAccessorDecl>"get" { if (curlyCount==0) current->memSpec |= Entry::Gettable; }
<CSAccessorDecl>. {}
<CSAccessorDecl>\n { yyLineNr++; }
<JavaDoc>{CMD}("brief"|"short"){B}+ {
lastBriefContext=tmpDocType;
BEGIN( ClassDocBrief );
...
...
src/tagreader.cpp
View file @
ee5cb6bc
...
...
@@ -927,9 +927,14 @@ void TagFileParser::buildMemberList(Entry *ce,QList<TagMemberInfo> &members)
}
else
if
(
tmi
->
kind
==
"property"
)
{
me
->
section
=
Entry
::
FUNCTION
_SEC
;
me
->
section
=
Entry
::
VARIABLE
_SEC
;
me
->
mtype
=
Property
;
}
else
if
(
tmi
->
kind
==
"event"
)
{
me
->
section
=
Entry
::
VARIABLE_SEC
;
me
->
mtype
=
Event
;
}
else
if
(
tmi
->
kind
==
"variable"
)
{
me
->
section
=
Entry
::
VARIABLE_SEC
;
...
...
src/translator.h
View file @
ee5cb6bc
...
...
@@ -383,6 +383,12 @@ class Translator
virtual
QCString
trDeprecatedList
()
=
0
;
//////////////////////////////////////////////////////////////////////////
// new since 1.2.18
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trEvents
()
=
0
;
virtual
QCString
trEventDocumentation
()
=
0
;
};
#endif
src/translator_adapter.h
View file @
ee5cb6bc
...
...
@@ -40,7 +40,19 @@ class TranslatorAdapterBase : public Translator
};
class
TranslatorAdapter_1_2_17
:
public
TranslatorAdapterBase
class
TranslatorAdapter_1_2_18
:
public
TranslatorAdapterBase
{
public
:
virtual
QCString
updateNeededMessage
()
{
return
createUpdateNeededMessage
(
idLanguage
(),
"release 1.2.18"
);
}
virtual
QCString
trEvents
()
{
return
english
.
trEvents
();
}
virtual
QCString
trEventDocumentation
()
{
return
english
.
trEventDocumentation
();
}
};
class
TranslatorAdapter_1_2_17
:
public
TranslatorAdapter_1_2_18
{
public
:
virtual
QCString
updateNeededMessage
()
...
...
src/translator_br.h
View file @
ee5cb6bc
...
...
@@ -27,7 +27,7 @@
#ifndef TRANSLATOR_BR_H
#define TRANSLATOR_BR_H
class
TranslatorBrazilian
:
public
Translator
class
TranslatorBrazilian
:
public
Translator
Adapter_1_2_18
{
public
:
...
...
src/translator_cz.h
View file @
ee5cb6bc
...
...
@@ -163,7 +163,7 @@
// probably slightly faster.
class
TranslatorCzech
:
public
Translator
class
TranslatorCzech
:
public
Translator
Adapter_1_2_18
{
private
:
/*! The decode() inline assumes the source written in the
...
...
src/translator_en.h
View file @
ee5cb6bc
...
...
@@ -1415,6 +1415,24 @@ class TranslatorEnglish : public Translator
{
return
"Deprecated List"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.18
//////////////////////////////////////////////////////////////////////////
/*! Used as a header for declaration section of the events found in
* a C# program
*/
virtual
QCString
trEvents
()
{
return
"Events"
;
}
/*! Header used for the documentation section of a class' events. */
virtual
QCString
trEventDocumentation
()
{
return
"Event Documentation"
;
}
};
#endif
src/translator_hr.h
View file @
ee5cb6bc
...
...
@@ -50,7 +50,7 @@
#ifndef TRANSLATOR_HR_H
#define TRANSLATOR_HR_H
class
TranslatorCroatian
:
public
Translator
class
TranslatorCroatian
:
public
Translator
Adapter_1_2_18
{
private
:
/*! to avoid macro redefinition from translator_cz.h */
...
...
src/translator_it.h
View file @
ee5cb6bc
...
...
@@ -66,7 +66,7 @@
#ifndef TRANSLATOR_IT_H
#define TRANSLATOR_IT_H
class
TranslatorItalian
:
public
Translator
class
TranslatorItalian
:
public
Translator
Adapter_1_2_18
{
public
:
...
...
src/translator_jp.h
View file @
ee5cb6bc
...
...
@@ -61,7 +61,7 @@ class TranslatorJapaneseEn : public TranslatorEnglish
}
};
class
TranslatorJapanese
:
public
Translator
class
TranslatorJapanese
:
public
Translator
Adapter_1_2_18
{
private
:
/*! The decode() can change euc into sjis */
...
...
src/translator_nl.h
View file @
ee5cb6bc
...
...
@@ -1013,6 +1013,23 @@ class TranslatorDutch : public Translator
{
return
"Deprecated Lijst"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.18
//////////////////////////////////////////////////////////////////////////
/*! Used as a header for a section of events found in a C# program
*/
virtual
QCString
trEvents
()
{
return
"Events"
;
}
/*! Header used for the documentation section of a class' events. */
virtual
QCString
trEventDocumentation
()
{
return
"Event Documentatie"
;
}
};
#endif
src/translator_pt.h
View file @
ee5cb6bc
...
...
@@ -38,7 +38,7 @@
#ifndef TRANSLATOR_PT_H
#define TRANSLATOR_PT_H
class
TranslatorPortuguese
:
public
Translator
class
TranslatorPortuguese
:
public
Translator
Adapter_1_2_18
{
public
:
...
...
src/translator_ru.h
View file @
ee5cb6bc
...
...
@@ -50,7 +50,7 @@
#ifndef TRANSLATOR_RU_H
#define TRANSLATOR_RU_H
class
TranslatorRussian
:
public
Translator
class
TranslatorRussian
:
public
Translator
Adapter_1_2_18
{
private
:
/*! The Decode() inline assumes the source written in the
...
...
src/translator_sk.h
View file @
ee5cb6bc
...
...
@@ -23,7 +23,7 @@
#ifndef TRANSLATOR_SK_H
#define TRANSLATOR_SK_H
class
TranslatorSlovak
:
public
Translator
class
TranslatorSlovak
:
public
Translator
Adapter_1_2_18
{
private
:
/*! The Decode() inline assumes the source written in the
...
...
src/util.cpp
View file @
ee5cb6bc
...
...
@@ -509,9 +509,10 @@ ClassDef *getResolvedClass(
//printf("===================\n");
do
{
//printf("trying getResolvedClass(%s,%s)\n",scope ? scope->name().data() : "<none>", n);
Definition
*
typedefScope
=
0
;
QCString
subst
=
resolveTypeDef
(
scope
,
name
,
&
typedefScope
);
//printf("trying getResolvedClass(%s,%s) => subst=%s\n",
// scope ? scope->name().data() : "<none>", name.data(),subst.data());
if
(
!
subst
.
isEmpty
())
{
...
...
@@ -520,7 +521,8 @@ ClassDef *getResolvedClass(
// strip * and & from n
int
ip
=
subst
.
length
()
-
1
;
while
(
ip
>=
0
&&
(
subst
.
at
(
ip
)
==
'*'
||
subst
.
at
(
ip
)
==
'&'
||
subst
.
at
(
ip
)
==
' '
))
ip
--
;
while
(
ip
>=
0
&&
(
subst
.
at
(
ip
)
==
'*'
||
subst
.
at
(
ip
)
==
'&'
||
subst
.
at
(
ip
)
==
' '
))
ip
--
;
subst
=
subst
.
left
(
ip
+
1
);
if
(
pIsTypeDef
)
*
pIsTypeDef
=
TRUE
;
...
...
@@ -581,9 +583,12 @@ ClassDef *getResolvedClass(
if
(
pTemplSpec
)
*
pTemplSpec
=
typeName
.
right
(
typeName
.
length
()
-
i
);
cd
=
Doxygen
::
classSDict
.
find
(
typeName
.
left
(
i
));
}
if
(
cd
)
goto
found
;
//
if (cd) goto found;
}
}
// whether we found something or not, we stop searching to prevent
// finding false positives.
goto
found
;
}
else
// not a typedef
{
...
...
@@ -775,7 +780,8 @@ void linkifyText(const TextGeneratorIntf &out,const char *scName,const char *nam
}
//printf("Trying class %s\n",fullName.data());
if
((
cd
=
getClass
(
fullName
)))
bool
isTypeDef
=
FALSE
;
if
((
cd
=
getResolvedClass
(
Doxygen
::
globalScope
,
fullName
,
&
isTypeDef
)))
{
// add link to the result
if
(
external
?
cd
->
isLinkable
()
:
cd
->
isLinkableInProject
())
...
...
@@ -785,6 +791,10 @@ void linkifyText(const TextGeneratorIntf &out,const char *scName,const char *nam
found
=
TRUE
;
}
}
else
if
(
isTypeDef
)
{
goto
endloop
;
}
if
(
scopeOffset
==
0
)
{
...
...
@@ -796,6 +806,7 @@ void linkifyText(const TextGeneratorIntf &out,const char *scName,const char *nam
}
}
while
(
!
found
&&
scopeOffset
>=
0
);
endloop:
//if (!found) printf("Trying to link %s in %s\n",word.data(),scName);
if
(
!
found
&&
getDefs
(
scName
,
word
,
0
,
md
,
cd
,
fd
,
nd
,
gd
)
&&
...
...
@@ -830,6 +841,7 @@ void linkifyText(const TextGeneratorIntf &out,const char *scName,const char *nam
out
.
writeString
(
word
);
}
// set next start point in the string
//printf("index=%d/%d\n",index,txtStr.length());
skipIndex
=
index
=
newIndex
+
matchLen
;
floatingIndex
+=
matchLen
;
}
...
...
@@ -1055,7 +1067,7 @@ QCString fileToString(const char *name,bool filter)
}
else
// filter the input
{
QCString
cmd
=
Config_getString
(
"INPUT_FILTER"
)
+
"
"
+
name
;
QCString
cmd
=
Config_getString
(
"INPUT_FILTER"
)
+
"
\"
"
+
name
+
"
\"
"
;
FILE
*
f
=
popen
(
cmd
,
"r"
);
if
(
!
f
)
{
...
...
@@ -2291,7 +2303,7 @@ bool resolveRef(/* in */ const char *scName,
QCString
tsName
=
name
;
bool
memberScopeFirst
=
tsName
.
find
(
'#'
)
!=-
1
;
QCString
fullName
=
substitute
(
tsName
,
"#"
,
"::"
);
fullName
=
substitute
(
fullName
,
"."
,
"::"
);
fullName
=
removeRedundantWhiteSpace
(
substitute
(
fullName
,
"."
,
"::"
)
);
int
scopePos
=
fullName
.
findRev
(
"::"
);
int
bracePos
=
fullName
.
findRev
(
'('
);
// reverse is needed for operator()(...)
...
...
@@ -3745,7 +3757,7 @@ static void latin2ToLatex(QTextStream &t,unsigned char c)
}
void
filterLatexString
(
QTextStream
&
t
,
const
char
*
str
,
bool
insideTabbing
,
bool
insidePre
)
bool
insideTabbing
,
bool
insidePre
,
bool
insideItem
)
{
static
bool
isCzech
=
theTranslator
->
idLanguage
()
==
"czech"
;
static
bool
isJapanese
=
theTranslator
->
idLanguage
()
==
"japanese"
;
...
...
@@ -3813,14 +3825,18 @@ void filterLatexString(QTextStream &t,const char *str,
case
'~'
:
t
<<
"$
\\
sim$"
;
break
;
case
'['
:
if
(
Config_getBool
(
"PDF_HYPERLINKS"
))
t
<<
"
\\
mbox{[}"
;
else
else
if
(
insideItem
)
t
<<
"\["
;
else
t
<<
"["
;
break
;
case
']'
:
if
(
pc
==
'['
)
t
<<
"$
\\
,$"
;
if
(
Config_getBool
(
"PDF_HYPERLINKS"
))
t
<<
"
\\
mbox{]}"
;
else
t
<<
"]"
;
if
(
Config_getBool
(
"PDF_HYPERLINKS"
))
t
<<
"
\\
mbox{]}"
;
else
if
(
insideItem
)
t
<<
"\["
;
else
t
<<
"]"
;
break
;
case
'-'
:
if
(
*
p
==
'>'
)
{
t
<<
" $
\\
rightarrow$ "
;
p
++
;
}
...
...
src/util.h
View file @
ee5cb6bc
...
...
@@ -200,7 +200,8 @@ PageInfo *addRelatedPage(const char *name,const QCString &ptitle,
QCString
escapeCharsInString
(
const
char
*
name
,
bool
allowDots
);
void
addGroupListToTitle
(
OutputList
&
ol
,
Definition
*
d
);
void
filterLatexString
(
QTextStream
&
t
,
const
char
*
str
,
bool
insideTabbing
=
FALSE
,
bool
insidePre
=
FALSE
);
bool
insideTabbing
=
FALSE
,
bool
insidePre
=
FALSE
,
bool
insideItem
=
FALSE
);
QCString
rtfFormatBmkStr
(
const
char
*
name
);
#endif
...
...
src/xmlgen.cpp
View file @
ee5cb6bc
...
...
@@ -1251,6 +1251,20 @@ static void writeMemberReference(QTextStream &t,Definition *def,MemberDef *rmd,c
{
name
.
prepend
(
scope
+
"::"
);
}
t
<<
" <"
<<
tagName
<<
" id=
\"
"
;
t
<<
rmd
->
getOutputFileBase
()
<<
"_1"
<<
rmd
->
anchor
()
<<
"
\"
"
;
if
(
rmd
->
getStartBodyLine
()
!=-
1
&&
rmd
->
getBodyDef
())
{
t
<<
" compoundref=
\"
"
<<
rmd
->
getBodyDef
()
->
getOutputFileBase
()
<<
"
\"
"
;
t
<<
" startline=
\"
"
<<
rmd
->
getStartBodyLine
()
<<
"
\"
"
;
if
(
rmd
->
getEndBodyLine
()
!=-
1
)
{
t
<<
" endline=
\"
"
<<
rmd
->
getEndBodyLine
()
<<
"
\"
"
;
}
}
t
<<
">"
<<
convertToXML
(
name
)
<<
"</"
<<
tagName
<<
">"
<<
endl
;
#if 0
Definition *d = rmd->getOuterScope();
if (d==Doxygen::globalScope) d=rmd->getBodyDef();
if (rmd->getStartBodyLine()!=-1 && rmd->getBodyDef())
...
...
@@ -1273,6 +1287,7 @@ static void writeMemberReference(QTextStream &t,Definition *def,MemberDef *rmd,c
<< "\">" << convertToXML(name)
<< "</" << tagName << ">" << endl;
}
#endif
}
static
void
generateXMLForMember
(
MemberDef
*
md
,
QTextStream
&
ti
,
QTextStream
&
t
,
Definition
*
def
)
...
...
@@ -1301,6 +1316,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
case
MemberDef
:
:
Define
:
memType
=
"define"
;
break
;
case
MemberDef
:
:
EnumValue
:
ASSERT
(
0
);
break
;
case
MemberDef
:
:
Property
:
memType
=
"property"
;
break
;
case
MemberDef
:
:
Event
:
memType
=
"event"
;
break
;
case
MemberDef
:
:
Variable
:
memType
=
"variable"
;
break
;
case
MemberDef
:
:
Typedef
:
memType
=
"typedef"
;
break
;
case
MemberDef
:
:
Enumeration
:
memType
=
"enum"
;
break
;
...
...
@@ -1744,6 +1760,7 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
signals
,
"signal"
);
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
dcopMethods
,
"dcop-func"
);
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
properties
,
"property"
);
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
events
,
"event"
);
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
pubStaticMethods
,
"public-static-func"
);
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
pubStaticAttribs
,
"public-static-attrib"
);
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
proTypes
,
"protected-type"
);
...
...
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