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
ff31b2f1
Commit
ff31b2f1
authored
Apr 21, 2002
by
dimitri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.2.15-20020421
parent
bc629c90
Changes
41
Hide whitespace changes
Inline
Side-by-side
Showing
41 changed files
with
1607 additions
and
1227 deletions
+1607
-1227
INSTALL
INSTALL
+2
-2
README
README
+2
-2
VERSION
VERSION
+1
-1
doxmlintf.h
addon/doxmlparser/include/doxmlintf.h
+72
-60
compoundhandler.cpp
addon/doxmlparser/src/compoundhandler.cpp
+37
-7
compoundhandler.h
addon/doxmlparser/src/compoundhandler.h
+22
-12
dochandler.cpp
addon/doxmlparser/src/dochandler.cpp
+17
-0
dochandler.h
addon/doxmlparser/src/dochandler.h
+49
-46
doxmlintf.h
addon/doxmlparser/src/doxmlintf.h
+72
-60
doxmlparser.pro.in
addon/doxmlparser/src/doxmlparser.pro.in
+1
-1
graphhandler.h
addon/doxmlparser/src/graphhandler.h
+11
-10
linkedtexthandler.cpp
addon/doxmlparser/src/linkedtexthandler.cpp
+13
-12
mainhandler.cpp
addon/doxmlparser/src/mainhandler.cpp
+16
-12
mainhandler.h
addon/doxmlparser/src/mainhandler.h
+4
-4
memberhandler.h
addon/doxmlparser/src/memberhandler.h
+31
-27
paramhandler.h
addon/doxmlparser/src/paramhandler.h
+9
-8
sectionhandler.h
addon/doxmlparser/src/sectionhandler.h
+3
-3
stringimpl.h
addon/doxmlparser/src/stringimpl.h
+26
-0
main.cpp
addon/doxmlparser/test/main.cpp
+156
-70
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
classdef.cpp
src/classdef.cpp
+1
-1
config.l
src/config.l
+9
-9
definition.cpp
src/definition.cpp
+3
-1
doc.l
src/doc.l
+7
-3
dot.cpp
src/dot.cpp
+17
-10
dot.h
src/dot.h
+1
-1
doxygen.cpp
src/doxygen.cpp
+284
-260
htmlgen.h
src/htmlgen.h
+2
-0
index.cpp
src/index.cpp
+90
-90
latexgen.h
src/latexgen.h
+2
-0
mangen.h
src/mangen.h
+4
-2
outputgen.h
src/outputgen.h
+11
-3
outputlist.h
src/outputlist.h
+4
-0
pre.l
src/pre.l
+7
-5
rtfgen.cpp
src/rtfgen.cpp
+256
-216
rtfgen.h
src/rtfgen.h
+5
-2
scanner.l
src/scanner.l
+6
-0
translator_jp.h
src/translator_jp.h
+312
-277
translator_si.h
src/translator_si.h
+21
-1
xmlgen.cpp
src/xmlgen.cpp
+19
-7
tmake.conf
tmake/lib/osf1-cxx/tmake.conf
+1
-1
No files found.
INSTALL
View file @
ff31b2f1
DOXYGEN Version 1.2.15-200204
07
DOXYGEN Version 1.2.15-200204
21
Please read the installation section of the manual for instructions.
--------
Dimitri van Heesch (
07
April 2002)
Dimitri van Heesch (
21
April 2002)
README
View file @
ff31b2f1
DOXYGEN Version 1.2.15_200204
07
DOXYGEN Version 1.2.15_200204
21
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) (
07
April 2002)
Dimitri van Heesch (dimitri@stack.nl) (
21
April 2002)
VERSION
View file @
ff31b2f1
1.2.15-200204
07
1.2.15-200204
21
addon/doxmlparser/include/doxmlintf.h
View file @
ff31b2f1
...
...
@@ -9,6 +9,15 @@ class ICompound;
class
ISection
;
class
INode
;
class
IString
{
public
:
virtual
const
char
*
latin1
()
const
=
0
;
virtual
unsigned
short
unicodeCharAt
(
int
index
)
const
=
0
;
virtual
bool
isEmpty
()
const
=
0
;
virtual
int
length
()
const
=
0
;
};
class
ILinkedText
{
public
:
...
...
@@ -19,17 +28,17 @@ class ILinkedText
class
ILT_Text
:
public
ILinkedText
{
public
:
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
class
ILT_Ref
:
public
ILinkedText
{
public
:
enum
TargetKind
{
Member
,
Compound
};
virtual
QString
id
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
TargetKind
targetKind
()
const
=
0
;
virtual
QString
external
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
external
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
class
ILinkedTextIterator
...
...
@@ -47,10 +56,10 @@ class IParam
{
public
:
virtual
ILinkedTextIterator
*
type
()
const
=
0
;
virtual
QString
declarationName
()
const
=
0
;
virtual
QString
definitionName
()
const
=
0
;
virtual
QString
attrib
()
const
=
0
;
virtual
QString
arraySpecifier
()
const
=
0
;
virtual
const
IString
*
declarationName
()
const
=
0
;
virtual
const
IString
*
definitionName
()
const
=
0
;
virtual
const
IString
*
attrib
()
const
=
0
;
virtual
const
IString
*
arraySpecifier
()
const
=
0
;
virtual
ILinkedTextIterator
*
defaultValue
()
const
=
0
;
};
...
...
@@ -69,7 +78,7 @@ class IMemberReference
{
public
:
virtual
IMember
*
member
()
const
=
0
;
virtual
QString
memberName
()
const
=
0
;
virtual
const
IString
*
memberName
()
const
=
0
;
};
class
IMemberReferenceIterator
...
...
@@ -86,8 +95,8 @@ class IMemberReferenceIterator
class
IEnumValue
{
public
:
virtual
QString
name
()
const
=
0
;
virtual
QString
initializer
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
const
IString
*
initializer
()
const
=
0
;
};
class
IEnumValueIterator
...
...
@@ -136,7 +145,7 @@ class IDoc
Row
,
// 27 -> IDocRow
Entry
,
// 28 -> IDocEntry
Section
,
// 29 -> IDocSection
Root
// 30 -> IDocRoot
Root
,
// 30 -> IDocRoot
};
virtual
Kind
kind
()
const
=
0
;
};
...
...
@@ -153,7 +162,8 @@ class IDocMarkup : public IDoc
Subscript
=
0x08
,
Superscript
=
0x10
,
SmallFont
=
0x20
,
Center
=
0x40
Center
=
0x40
,
Preformatted
=
0x80
};
};
...
...
@@ -167,7 +177,7 @@ class IDocPara : public IDoc
class
IDocText
:
public
IDocMarkup
{
public
:
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
virtual
int
markup
()
const
=
0
;
};
...
...
@@ -207,7 +217,7 @@ class IDocParameterList : public IDoc
class
IDocParameter
:
public
IDoc
{
public
:
virtual
QString
name
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
};
...
...
@@ -229,7 +239,7 @@ class IDocSimpleSect : public IDoc
Examples
};
virtual
Types
type
()
const
=
0
;
virtual
QString
typeString
()
const
=
0
;
virtual
const
IString
*
typeString
()
const
=
0
;
virtual
IDocTitle
*
title
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
};
...
...
@@ -238,10 +248,10 @@ class IDocRef : public IDoc
{
public
:
enum
TargetKind
{
Member
,
Compound
};
virtual
QString
refId
()
const
=
0
;
virtual
const
IString
*
refId
()
const
=
0
;
virtual
TargetKind
targetKind
()
const
=
0
;
virtual
QString
external
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
external
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
class
IDocVariableList
:
public
IDoc
...
...
@@ -253,7 +263,7 @@ class IDocVariableList : public IDoc
class
IDocVariableListEntry
:
public
IDoc
{
public
:
virtual
QString
term
()
const
=
0
;
virtual
const
IString
*
term
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
};
...
...
@@ -268,21 +278,21 @@ class IDocLineBreak : public IDoc
class
IDocULink
:
public
IDoc
{
public
:
virtual
QString
url
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
url
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
class
IDocEMail
:
public
IDoc
{
public
:
virtual
QString
address
()
const
=
0
;
virtual
const
IString
*
address
()
const
=
0
;
};
class
IDocLink
:
public
IDoc
{
public
:
virtual
QString
refId
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
refId
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
class
IDocProgramListing
:
public
IDoc
...
...
@@ -295,7 +305,7 @@ class IDocCodeLine : public IDoc
{
public
:
virtual
int
lineNumber
()
const
=
0
;
virtual
QString
refId
()
const
=
0
;
virtual
const
IString
*
refId
()
const
=
0
;
virtual
IDocIterator
*
codeElements
()
const
=
0
;
};
...
...
@@ -315,29 +325,29 @@ class IDocHighlight : public IDoc
class
IDocFormula
:
public
IDoc
{
public
:
virtual
QString
id
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
class
IDocImage
:
public
IDoc
{
public
:
virtual
QString
name
()
const
=
0
;
virtual
QString
caption
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
const
IString
*
caption
()
const
=
0
;
};
class
IDocDotFile
:
public
IDoc
{
public
:
virtual
QString
name
()
const
=
0
;
virtual
QString
caption
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
const
IString
*
caption
()
const
=
0
;
};
class
IDocIndexEntry
:
public
IDoc
{
public
:
virtual
QString
primary
()
const
=
0
;
virtual
QString
secondary
()
const
=
0
;
virtual
const
IString
*
primary
()
const
=
0
;
virtual
const
IString
*
secondary
()
const
=
0
;
};
class
IDocTable
:
public
IDoc
...
...
@@ -345,7 +355,7 @@ class IDocTable : public IDoc
public
:
virtual
IDocIterator
*
rows
()
const
=
0
;
virtual
int
numColumns
()
const
=
0
;
virtual
QString
caption
()
const
=
0
;
virtual
const
IString
*
caption
()
const
=
0
;
};
class
IDocRow
:
public
IDoc
...
...
@@ -363,7 +373,7 @@ class IDocEntry : public IDoc
class
IDocSection
:
public
IDoc
{
public
:
virtual
QString
id
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
int
level
()
const
=
0
;
virtual
IDocIterator
*
title
()
const
=
0
;
};
...
...
@@ -388,7 +398,7 @@ class IDocIterator
class
IEdgeLabel
{
public
:
virtual
QString
label
()
const
=
0
;
virtual
const
IString
*
label
()
const
=
0
;
};
class
IEdgeLabelIterator
...
...
@@ -410,7 +420,7 @@ class IChildNode
};
virtual
INode
*
node
()
const
=
0
;
virtual
NodeRelation
relation
()
const
=
0
;
virtual
QString
relationString
()
const
=
0
;
virtual
const
IString
*
relationString
()
const
=
0
;
virtual
IEdgeLabelIterator
*
edgeLabels
()
const
=
0
;
};
...
...
@@ -428,9 +438,9 @@ class IChildNodeIterator
class
INode
{
public
:
virtual
QString
id
()
const
=
0
;
virtual
QString
label
()
const
=
0
;
virtual
QString
linkId
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
const
IString
*
label
()
const
=
0
;
virtual
const
IString
*
linkId
()
const
=
0
;
virtual
IChildNodeIterator
*
children
()
const
=
0
;
};
...
...
@@ -461,13 +471,13 @@ class IMember
virtual
ICompound
*
compound
()
const
=
0
;
virtual
ISection
*
section
()
const
=
0
;
virtual
MemberKind
kind
()
const
=
0
;
virtual
QString
kindString
()
const
=
0
;
virtual
QString
id
()
const
=
0
;
virtual
QString
protection
()
const
=
0
;
virtual
QString
virtualness
()
const
=
0
;
virtual
const
IString
*
kindString
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
const
IString
*
protection
()
const
=
0
;
virtual
const
IString
*
virtualness
()
const
=
0
;
virtual
ILinkedTextIterator
*
type
()
const
=
0
;
virtual
QString
typeString
()
const
=
0
;
virtual
QString
name
()
const
=
0
;
virtual
const
IString
*
typeString
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
bool
isConst
()
const
=
0
;
virtual
bool
isVolatile
()
const
=
0
;
virtual
IParamIterator
*
params
()
const
=
0
;
...
...
@@ -477,7 +487,7 @@ class IMember
virtual
IMemberReferenceIterator
*
referencedBy
()
const
=
0
;
virtual
int
bodyStart
()
const
=
0
;
virtual
int
bodyEnd
()
const
=
0
;
virtual
QString
definitionFile
()
const
=
0
;
virtual
const
IString
*
definitionFile
()
const
=
0
;
virtual
int
definitionLine
()
const
=
0
;
virtual
IMemberReference
*
reimplements
()
const
=
0
;
virtual
IMemberReferenceIterator
*
reimplementedBy
()
const
=
0
;
...
...
@@ -512,7 +522,7 @@ class ISection
Friend
,
Related
,
Defines
,
Prototypes
,
Typedefs
,
Enums
,
Functions
,
Variables
};
virtual
QString
kindString
()
const
=
0
;
virtual
const
IString
*
kindString
()
const
=
0
;
virtual
SectionKind
kind
()
const
=
0
;
virtual
IMemberIterator
*
members
()
const
=
0
;
virtual
bool
isStatic
()
const
=
0
;
...
...
@@ -541,12 +551,12 @@ class ICompound
Namespace
,
File
,
Group
,
Page
};
/*! Returns the name of this compound */
virtual
QString
name
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
/*! Returns the id of this compound. The id is a
* unique string representing a specific compound object.
*/
virtual
QString
id
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
/*! Returns the kind of compound. See #CompoundKind for possible
* values.
...
...
@@ -556,7 +566,7 @@ class ICompound
/*! Returns a string representation of the compound kind.
* @see kind()
*/
virtual
QString
kindString
()
const
=
0
;
virtual
const
IString
*
kindString
()
const
=
0
;
/*! Returns an iterator for the different member sections in this
* compound.
...
...
@@ -576,14 +586,14 @@ class ICompound
/*! Returns an interface to a member given its id.
* @param id The member id.
*/
virtual
IMember
*
memberById
(
const
QString
&
id
)
const
=
0
;
virtual
IMember
*
memberById
(
const
char
*
id
)
const
=
0
;
/*! Returns a list of all members within the compound having a certain
* name. Member overloading is the reason why there can be more than
* one member.
* @param name The name of the member.
*/
virtual
IMemberIterator
*
memberByName
(
const
QString
&
name
)
const
=
0
;
virtual
IMemberIterator
*
memberByName
(
const
char
*
name
)
const
=
0
;
/*! Decreases the reference counter for this compound. If it reaches
* zero, the memory for the compound will be released.
...
...
@@ -668,11 +678,13 @@ class INamespace : public ICompound
class
IFile
:
public
ICompound
{
public
:
virtual
IGraph
*
includeDependencyGraph
()
const
=
0
;
virtual
IGraph
*
includedByDependencyGraph
()
const
=
0
;
// file:
// includes()
// includedBy()
// IDotGraph *includeDependencyGraph()
// IDotGraph *includedByDependencyGraph()
// IDocProgramListing *source()
// ICompound *innerNamespaces()
// ICompoundIterator *innerClasses()
...
...
@@ -704,26 +716,26 @@ class IDoxygen
* compound id this function is much more efficient than iterating
* over the compound list. Returns 0 if the id is not valid.
*/
virtual
ICompound
*
compoundById
(
const
QString
&
id
)
const
=
0
;
virtual
ICompound
*
compoundById
(
const
char
*
id
)
const
=
0
;
/*! Returns a compound given its name (including the scope).
* Returns 0 if the name is not found in the project.
*/
virtual
ICompound
*
compoundByName
(
const
QString
&
name
)
const
=
0
;
virtual
ICompound
*
compoundByName
(
const
char
*
name
)
const
=
0
;
/*! Returns an interface to a compound containing a member given it the
* member's id. Given the ICompound interface one can use the same id
* to obtain the IMember interface.
* @param id The member id.
*/
virtual
ICompound
*
memberById
(
const
QString
&
id
)
const
=
0
;
virtual
ICompound
*
memberById
(
const
char
*
id
)
const
=
0
;
/*! Returns a list of all compounds containing at least one members
* with a certain name. Each compound can be asked to return the
* list of members with that name.
* @param name The name of the member.
*/
virtual
ICompoundIterator
*
memberByName
(
const
QString
&
name
)
const
=
0
;
virtual
ICompoundIterator
*
memberByName
(
const
char
*
name
)
const
=
0
;
/*! Releases the memory for the object hierarchy obtained by
* createdObjecModelFromXML(). First release all iterators before calling
...
...
addon/doxmlparser/src/compoundhandler.cpp
View file @
ff31b2f1
...
...
@@ -144,7 +144,8 @@ void compoundhandler_exit()
CompoundHandler
::
CompoundHandler
(
const
QString
&
xmlDir
)
:
m_brief
(
0
),
m_detailed
(
0
),
m_programListing
(
0
),
m_xmlDir
(
xmlDir
),
m_refCount
(
1
),
m_memberDict
(
257
),
m_memberNameDict
(
257
),
m_mainHandler
(
0
),
m_inheritanceGraph
(
0
),
m_collaborationGraph
(
0
)
m_mainHandler
(
0
),
m_inheritanceGraph
(
0
),
m_collaborationGraph
(
0
),
m_includeDependencyGraph
(
0
),
m_includedByDependencyGraph
(
0
)
{
m_superClasses
.
setAutoDelete
(
TRUE
);
m_subClasses
.
setAutoDelete
(
TRUE
);
...
...
@@ -182,9 +183,14 @@ CompoundHandler::CompoundHandler(const QString &xmlDir)
addStartHandler
(
"collaborationgraph"
,
this
,
&
CompoundHandler
::
startCollaborationGraph
);
addStartHandler
(
"incdepgraph"
,
this
,
&
CompoundHandler
::
startIncludeDependencyGraph
);
addStartHandler
(
"invincdepgraph"
,
this
,
&
CompoundHandler
::
startIncludedByDependencyGraph
);
addStartHandler
(
"innerclass"
,
this
,
&
CompoundHandler
::
startInnerClass
);
addEndHandler
(
"innerclass"
);
}
CompoundHandler
::~
CompoundHandler
()
...
...
@@ -195,6 +201,8 @@ CompoundHandler::~CompoundHandler()
delete
m_programListing
;
delete
m_inheritanceGraph
;
delete
m_collaborationGraph
;
delete
m_includeDependencyGraph
;
delete
m_includedByDependencyGraph
;
}
void
CompoundHandler
::
startSection
(
const
QXmlAttributes
&
attrib
)
...
...
@@ -303,7 +311,7 @@ void CompoundHandler::addSubClass(const QXmlAttributes& attrib)
m_subClasses
.
append
(
sc
);
}
bool
CompoundHandler
::
parseXML
(
const
QString
&
compId
)
bool
CompoundHandler
::
parseXML
(
const
char
*
compId
)
{
QFile
xmlFile
(
m_xmlDir
+
"/"
+
compId
+
".xml"
);
if
(
!
xmlFile
.
exists
())
return
FALSE
;
...
...
@@ -329,12 +337,12 @@ void CompoundHandler::initialize(MainHandler *mh)
void
CompoundHandler
::
insertMember
(
MemberHandler
*
mh
)
{
m_memberDict
.
insert
(
mh
->
id
(),
mh
);
QList
<
MemberHandler
>
*
mhl
=
m_memberNameDict
.
find
(
mh
->
id
());
m_memberDict
.
insert
(
mh
->
id
()
->
latin1
()
,
mh
);
QList
<
MemberHandler
>
*
mhl
=
m_memberNameDict
.
find
(
mh
->
id
()
->
latin1
()
);
if
(
mhl
==
0
)
{
mhl
=
new
QList
<
MemberHandler
>
;
m_memberNameDict
.
insert
(
mh
->
name
(),
mhl
);
m_memberNameDict
.
insert
(
mh
->
name
()
->
latin1
()
,
mhl
);
}
mhl
->
append
(
mh
);
}
...
...
@@ -372,7 +380,7 @@ ISectionIterator *CompoundHandler::sections() const
return
new
SectionIterator
(
m_sections
);
}
IMemberIterator
*
CompoundHandler
::
memberByName
(
const
QString
&
name
)
const
IMemberIterator
*
CompoundHandler
::
memberByName
(
const
char
*
name
)
const
{
QList
<
MemberHandler
>
*
ml
=
m_memberNameDict
[
name
];
if
(
ml
==
0
)
return
0
;
...
...
@@ -391,6 +399,18 @@ void CompoundHandler::startCollaborationGraph(const QXmlAttributes &attrib)
m_collaborationGraph
->
startGraph
(
attrib
);
}
void
CompoundHandler
::
startIncludeDependencyGraph
(
const
QXmlAttributes
&
attrib
)
{
m_includeDependencyGraph
=
new
GraphHandler
(
this
,
"incdepgraph"
);
m_includeDependencyGraph
->
startGraph
(
attrib
);
}
void
CompoundHandler
::
startIncludedByDependencyGraph
(
const
QXmlAttributes
&
attrib
)
{
m_includedByDependencyGraph
=
new
GraphHandler
(
this
,
"invincdepgraph"
);
m_includedByDependencyGraph
->
startGraph
(
attrib
);
}
IDocRoot
*
CompoundHandler
::
briefDescription
()
const
{
return
m_brief
;
...
...
@@ -401,7 +421,7 @@ IDocRoot *CompoundHandler::detailedDescription() const
return
m_detailed
;
}
IMember
*
CompoundHandler
::
memberById
(
const
QString
&
id
)
const
IMember
*
CompoundHandler
::
memberById
(
const
char
*
id
)
const
{
return
m_memberDict
[
id
];
}
...
...
@@ -416,6 +436,16 @@ IGraph *CompoundHandler::collaborationGraph() const
return
m_collaborationGraph
;
}
IGraph
*
CompoundHandler
::
includeDependencyGraph
()
const
{
return
m_includeDependencyGraph
;
}
IGraph
*
CompoundHandler
::
includedByDependencyGraph
()
const
{
return
m_includedByDependencyGraph
;
}
IRelatedCompoundIterator
*
CompoundHandler
::
baseClasses
()
const
{
return
new
RelatedCompoundIterator
(
m_superClasses
);
...
...
addon/doxmlparser/src/compoundhandler.h
View file @
ff31b2f1
...
...
@@ -20,6 +20,7 @@
#include <qxml.h>
#include <doxmlintf.h>
#include "stringimpl.h"
#include "basehandler.h"
#include "baseiterator.h"
...
...
@@ -74,6 +75,7 @@ class CompoundHandler : public IClass,
public
BaseHandler
<
CompoundHandler
>
{
friend
class
RelatedCompound
;
public
:
virtual
void
startSection
(
const
QXmlAttributes
&
attrib
);
virtual
void
startCompound
(
const
QXmlAttributes
&
attrib
);
...
...
@@ -87,26 +89,28 @@ class CompoundHandler : public IClass,
virtual
void
startProgramListing
(
const
QXmlAttributes
&
attrib
);
virtual
void
startInheritanceGraph
(
const
QXmlAttributes
&
attrib
);
virtual
void
startCollaborationGraph
(
const
QXmlAttributes
&
attrib
);
virtual
void
startIncludeDependencyGraph
(
const
QXmlAttributes
&
attrib
);
virtual
void
startIncludedByDependencyGraph
(
const
QXmlAttributes
&
attrib
);
virtual
void
startInnerClass
(
const
QXmlAttributes
&
attrib
);
virtual
void
addref
()
{
m_refCount
++
;
}
CompoundHandler
(
const
QString
&
dirName
);
virtual
~
CompoundHandler
();
bool
parseXML
(
const
QString
&
compId
);
bool
parseXML
(
const
char
*
compId
);
void
initialize
(
MainHandler
*
mh
);
void
insertMember
(
MemberHandler
*
mh
);
ICompound
*
toICompound
()
const
;
// ICompound implementation
QString
name
()
const
{
return
m_name
;
}
QString
id
()
const
{
return
m_id
;
}
const
IString
*
name
()
const
{
return
&
m_name
;
}
const
IString
*
id
()
const
{
return
&
m_id
;
}
CompoundKind
kind
()
const
{
return
m_kind
;
}
QString
kindString
()
const
{
return
m_kindString
;
}
const
IString
*
kindString
()
const
{
return
&
m_kindString
;
}
ISectionIterator
*
sections
()
const
;
IDocRoot
*
briefDescription
()
const
;
IDocRoot
*
detailedDescription
()
const
;
IMember
*
memberById
(
const
QString
&
id
)
const
;
IMemberIterator
*
memberByName
(
const
QString
&
name
)
const
;
IMember
*
memberById
(
const
char
*
id
)
const
;
IMemberIterator
*
memberByName
(
const
char
*
name
)
const
;
void
release
();
// IClass implementation
...
...
@@ -115,18 +119,22 @@ class CompoundHandler : public IClass,
IRelatedCompoundIterator
*
baseClasses
()
const
;
IRelatedCompoundIterator
*
derivedClasses
()
const
;
ICompoundIterator
*
nestedClasses
()
const
;
// IFile implementation
IGraph
*
includeDependencyGraph
()
const
;
IGraph
*
includedByDependencyGraph
()
const
;
private
:
QList
<
RelatedCompound
>
m_superClasses
;
QList
<
RelatedCompound
>
m_subClasses
;
QList
<
SectionHandler
>
m_sections
;
QList
<
RelatedCompound
>
m_superClasses
;
QList
<
RelatedCompound
>
m_subClasses
;
QList
<
SectionHandler
>
m_sections
;
DocHandler
*
m_brief
;
DocHandler
*
m_detailed
;
ProgramListingHandler
*
m_programListing
;
QString
m_id
;
QString
m_kindString
;
StringImpl
m_id
;
StringImpl
m_kindString
;
CompoundKind
m_kind
;
QString
m_name
;
StringImpl
m_name
;
QString
m_defFile
;
int
m_defLine
;
QString
m_xmlDir
;
...
...
@@ -136,6 +144,8 @@ class CompoundHandler : public IClass,
MainHandler
*
m_mainHandler
;
GraphHandler
*
m_inheritanceGraph
;
GraphHandler
*
m_collaborationGraph
;
GraphHandler
*
m_includeDependencyGraph
;
GraphHandler
*
m_includedByDependencyGraph
;
QList
<
QString
>
m_innerClasses
;
};
...
...
addon/doxmlparser/src/dochandler.cpp
View file @
ff31b2f1
...
...
@@ -117,6 +117,9 @@ MarkupHandler::MarkupHandler(QList<DocImpl> &children,QString &curString)
addStartHandler
(
"superscript"
,
this
,
&
MarkupHandler
::
startSuperscript
);
addEndHandler
(
"superscript"
,
this
,
&
MarkupHandler
::
endSuperscript
);
addStartHandler
(
"preformatted"
,
this
,
&
MarkupHandler
::
startPreformatted
);
addEndHandler
(
"preformatted"
,
this
,
&
MarkupHandler
::
endPreformatted
);
}
MarkupHandler
::~
MarkupHandler
()
...
...
@@ -231,6 +234,20 @@ void MarkupHandler::endSuperscript()
m_curMarkup
&=
~
IDocMarkup
::
Superscript
;
}
void
MarkupHandler
::
startPreformatted
(
const
QXmlAttributes
&
/*attrib*/
)
{
addTextNode
();
m_children
.
append
(
new
MarkupModifierNode
(
IDocMarkup
::
Preformatted
,
TRUE
));
m_curMarkup
|=
IDocMarkup
::
Preformatted
;
}
void
MarkupHandler
::
endPreformatted
()
{
addTextNode
();
m_children
.
append
(
new
MarkupModifierNode
(
IDocMarkup
::
Preformatted
,
FALSE
));
m_curMarkup
&=
~
IDocMarkup
::
Preformatted
;
}
//----------------------------------------------------------------------
// ListItemHandler
//----------------------------------------------------------------------
...
...
addon/doxmlparser/src/dochandler.h
View file @
ff31b2f1
...
...
@@ -21,6 +21,7 @@
#include <qxml.h>
#include <doxmlintf.h>
#include "stringimpl.h"
#include "basehandler.h"
#include "baseiterator.h"
...
...
@@ -80,11 +81,11 @@ class TextNode : public DocTextImpl
// IDocText
virtual
Kind
kind
()
const
{
return
DocImpl
::
Text
;
}
virtual
QString
text
()
const
{
return
m_text
;
}
virtual
const
IString
*
text
()
const
{
return
&
m_text
;
}
virtual
int
markup
()
const
{
return
m_markup
;
}
private
:
QString
m_text
;
StringImpl
m_text
;
int
m_markup
;
};
...
...
@@ -137,6 +138,8 @@ class MarkupHandler : public BaseFallBackHandler<MarkupHandler>
virtual
void
endSubscript
();
virtual
void
startSuperscript
(
const
QXmlAttributes
&
attrib
);
virtual
void
endSuperscript
();
virtual
void
startPreformatted
(
const
QXmlAttributes
&
attrib
);
virtual
void
endPreformatted
();
private
:
...
...
@@ -322,12 +325,12 @@ class ParameterHandler : public DocParameterImpl,
// IDocParameter
virtual
Kind
kind
()
const
{
return
DocImpl
::
Parameter
;
}
virtual
QString
name
()
const
{
return
m_name
;
}
virtual
const
IString
*
name
()
const
{
return
&
m_name
;
}
virtual
IDocPara
*
description
()
const
{
return
m_description
;
}
private
:
IBaseHandler
*
m_parent
;
QString
m_name
;
StringImpl
m_name
;
ParagraphHandler
*
m_description
;
};
...
...
@@ -404,13 +407,13 @@ class LinkHandler : public DocLinkImpl, public BaseHandler<LinkHandler>
// IDocLink
virtual
Kind
kind
()
const
{
return
DocImpl
::
Link
;
}
virtual
QString
refId
()
const
{
return
m_ref
;
}
virtual
QString
text
()
const
{
return
m_text
;
}
virtual
const
IString
*
refId
()
const
{
return
&
m_ref
;
}
virtual
const
IString
*
text
()
const
{
return
&
m_text
;
}
private
:
IBaseHandler
*
m_parent
;
QString
m_ref
;
QString
m_text
;
StringImpl
m_ref
;
StringImpl
m_text
;
};
...
...
@@ -430,11 +433,11 @@ class EMailHandler : public DocEMailImpl, public BaseHandler<EMailHandler>
// IDocEMail
virtual
Kind
kind
()
const
{
return
DocImpl
::
EMail
;
}
virtual
QString
address
()
const
{
return
m_address
;
}
virtual
const
IString
*
address
()
const
{
return
&
m_address
;
}
private
:
IBaseHandler
*
m_parent
;
QString
m_address
;
StringImpl
m_address
;
};
...
...
@@ -454,13 +457,13 @@ class ULinkHandler : public DocULinkImpl, public BaseHandler<ULinkHandler>
// IDocULink
virtual
Kind
kind
()
const
{
return
DocImpl
::
ULink
;
}
virtual
QString
url
()
const
{
return
m_url
;
}
virtual
QString
text
()
const
{
return
m_text
;
}
virtual
const
IString
*
url
()
const
{
return
&
m_url
;
}
virtual
const
IString
*
text
()
const
{
return
&
m_text
;
}
private
:
IBaseHandler
*
m_parent
;
QString
m_url
;
QString
m_text
;
StringImpl
m_url
;
StringImpl
m_text
;
};
//-----------------------------------------------------------------------------
...
...
@@ -499,16 +502,16 @@ class RefHandler : public DocRefImpl, public BaseHandler<RefHandler>
// IDocRef
virtual
Kind
kind
()
const
{
return
DocImpl
::
Ref
;
}
virtual
QString
refId
()
const
{
return
m_refId
;
}
virtual
const
IString
*
refId
()
const
{
return
&
m_refId
;
}
virtual
TargetKind
targetKind
()
const
{
return
m_targetKind
;
}
virtual
QString
external
()
const
{
return
m_extId
;
}
virtual
QString
text
()
const
{
return
m_linkText
;
}
virtual
const
IString
*
external
()
const
{
return
&
m_extId
;
}
virtual
const
IString
*
text
()
const
{
return
&
m_linkText
;
}
private
:
IBaseHandler
*
m_parent
;
QString
m_refId
;
QString
m_extId
;
QString
m_linkText
;
StringImpl
m_refId
;
StringImpl
m_extId
;
StringImpl
m_linkText
;
TargetKind
m_targetKind
;
};
...
...
@@ -569,7 +572,7 @@ class SimpleSectHandler : public DocSimpleSectImpl,
// IDocSimpleSect
virtual
Kind
kind
()
const
{
return
DocImpl
::
SimpleSect
;
}
virtual
Types
type
()
const
{
return
m_type
;
}
virtual
QString
typeString
()
const
{
return
m_typeString
;
}
virtual
const
IString
*
typeString
()
const
{
return
&
m_typeString
;
}
virtual
IDocTitle
*
title
()
const
{
return
m_title
;
}
virtual
IDocPara
*
description
()
const
{
return
m_paragraph
;
}
...
...
@@ -577,7 +580,7 @@ class SimpleSectHandler : public DocSimpleSectImpl,
IBaseHandler
*
m_parent
;
ParagraphHandler
*
m_paragraph
;
Types
m_type
;
QString
m_typeString
;
StringImpl
m_typeString
;
TitleHandler
*
m_title
;
};
...
...
@@ -603,12 +606,12 @@ class VariableListEntryHandler : public DocVariableListEntryImpl,
// IDocVariableListEntry
virtual
Kind
kind
()
const
{
return
DocImpl
::
VariableListEntry
;
}
virtual
QString
term
()
const
{
return
m_term
;
}
virtual
const
IString
*
term
()
const
{
return
&
m_term
;
}
virtual
IDocPara
*
description
()
const
{
return
m_description
;
}
private
:
IBaseHandler
*
m_parent
;
QString
m_term
;
StringImpl
m_term
;
ParagraphHandler
*
m_description
;
};
...
...
@@ -710,7 +713,7 @@ class CodeLineHandler : public DocCodeLineImpl, public BaseHandler<CodeLineHandl
// IDocCodeLine
virtual
Kind
kind
()
const
{
return
DocImpl
::
CodeLine
;
}
virtual
int
lineNumber
()
const
{
return
m_lineNumber
;
}
virtual
QString
refId
()
const
{
return
m_refId
;
}
virtual
const
IString
*
refId
()
const
{
return
&
m_refId
;
}
virtual
IDocIterator
*
codeElements
()
const
;
private
:
...
...
@@ -718,7 +721,7 @@ class CodeLineHandler : public DocCodeLineImpl, public BaseHandler<CodeLineHandl
IBaseHandler
*
m_parent
;
int
m_lineNumber
;
QString
m_refId
;
StringImpl
m_refId
;
QList
<
DocImpl
>
m_children
;
};
...
...
@@ -782,13 +785,13 @@ class FormulaHandler : public DocFormulaImpl, public BaseHandler<FormulaHandler>
// IDocFormula
virtual
Kind
kind
()
const
{
return
DocImpl
::
Formula
;
}
virtual
QString
id
()
const
{
return
m_id
;
}
virtual
QString
text
()
const
{
return
m_text
;
}
virtual
const
IString
*
id
()
const
{
return
&
m_id
;
}
virtual
const
IString
*
text
()
const
{
return
&
m_text
;
}
private
:
IBaseHandler
*
m_parent
;
QString
m_id
;
QString
m_text
;
StringImpl
m_id
;
StringImpl
m_text
;
};
//-----------------------------------------------------------------------------
...
...
@@ -807,13 +810,13 @@ class ImageHandler : public DocImageImpl, public BaseHandler<ImageHandler>
// IDocImage
virtual
Kind
kind
()
const
{
return
DocImpl
::
Image
;
}
virtual
QString
name
()
const
{
return
m_name
;
}
virtual
QString
caption
()
const
{
return
m_caption
;
}
virtual
const
IString
*
name
()
const
{
return
&
m_name
;
}
virtual
const
IString
*
caption
()
const
{
return
&
m_caption
;
}
private
:
IBaseHandler
*
m_parent
;
QString
m_name
;
QString
m_caption
;
StringImpl
m_name
;
StringImpl
m_caption
;
};
//-----------------------------------------------------------------------------
...
...
@@ -832,13 +835,13 @@ class DotFileHandler : public DocDotFileImpl, public BaseHandler<DotFileHandler>
// IDocDotFile
virtual
Kind
kind
()
const
{
return
DocImpl
::
DotFile
;
}
virtual
QString
name
()
const
{
return
m_name
;
}
virtual
QString
caption
()
const
{
return
m_caption
;
}
virtual
const
IString
*
name
()
const
{
return
&
m_name
;
}
virtual
const
IString
*
caption
()
const
{
return
&
m_caption
;
}
private
:
IBaseHandler
*
m_parent
;
QString
m_name
;
QString
m_caption
;
StringImpl
m_name
;
StringImpl
m_caption
;
};
//-----------------------------------------------------------------------------
...
...
@@ -861,13 +864,13 @@ class IndexEntryHandler : public DocIndexEntryImpl, public BaseHandler<IndexEntr
// IDocIndexEntry
virtual
Kind
kind
()
const
{
return
DocImpl
::
IndexEntry
;
}
virtual
QString
primary
()
const
{
return
m_primary
;
}
virtual
QString
secondary
()
const
{
return
m_secondary
;
}
virtual
const
IString
*
primary
()
const
{
return
&
m_primary
;
}
virtual
const
IString
*
secondary
()
const
{
return
&
m_secondary
;
}
private
:
IBaseHandler
*
m_parent
;
QString
m_primary
;
QString
m_secondary
;
StringImpl
m_primary
;
StringImpl
m_secondary
;
};
//-----------------------------------------------------------------------------
...
...
@@ -956,13 +959,13 @@ class TableHandler : public DocTableImpl, public BaseHandler<TableHandler>
virtual
Kind
kind
()
const
{
return
DocImpl
::
Table
;
}
virtual
IDocIterator
*
rows
()
const
;
virtual
int
numColumns
()
const
{
return
m_numColumns
;
}
virtual
QString
caption
()
const
{
return
m_caption
;
}
virtual
const
IString
*
caption
()
const
{
return
&
m_caption
;
}
private
:
IBaseHandler
*
m_parent
;
QList
<
RowHandler
>
m_children
;
int
m_numColumns
;
QString
m_caption
;
StringImpl
m_caption
;
};
class
TableIterator
:
public
BaseIteratorVia
<
IDocIterator
,
IDoc
,
RowHandler
,
DocImpl
>
...
...
@@ -995,7 +998,7 @@ class DocSectionHandler : public DocSectionImpl, public BaseHandler<DocSectionHa
// IDocSection
virtual
Kind
kind
()
const
{
return
DocImpl
::
Section
;
}
virtual
QString
id
()
const
{
return
m_id
;
}
virtual
const
IString
*
id
()
const
{
return
&
m_id
;
}
virtual
int
level
()
const
{
return
m_level
;
}
virtual
IDocIterator
*
title
()
const
;
...
...
@@ -1003,7 +1006,7 @@ class DocSectionHandler : public DocSectionImpl, public BaseHandler<DocSectionHa
IBaseHandler
*
m_parent
;
QList
<
DocImpl
>
m_children
;
MarkupHandler
*
m_markupHandler
;
QString
m_id
;
StringImpl
m_id
;
int
m_level
;
};
...
...
addon/doxmlparser/src/doxmlintf.h
View file @
ff31b2f1
...
...
@@ -9,6 +9,15 @@ class ICompound;
class
ISection
;
class
INode
;
class
IString
{
public
:
virtual
const
char
*
latin1
()
const
=
0
;
virtual
unsigned
short
unicodeCharAt
(
int
index
)
const
=
0
;
virtual
bool
isEmpty
()
const
=
0
;
virtual
int
length
()
const
=
0
;
};
class
ILinkedText
{
public
:
...
...
@@ -19,17 +28,17 @@ class ILinkedText
class
ILT_Text
:
public
ILinkedText
{
public
:
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
class
ILT_Ref
:
public
ILinkedText
{
public
:
enum
TargetKind
{
Member
,
Compound
};
virtual
QString
id
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
TargetKind
targetKind
()
const
=
0
;
virtual
QString
external
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
external
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
class
ILinkedTextIterator
...
...
@@ -47,10 +56,10 @@ class IParam
{
public
:
virtual
ILinkedTextIterator
*
type
()
const
=
0
;
virtual
QString
declarationName
()
const
=
0
;
virtual
QString
definitionName
()
const
=
0
;
virtual
QString
attrib
()
const
=
0
;
virtual
QString
arraySpecifier
()
const
=
0
;
virtual
const
IString
*
declarationName
()
const
=
0
;
virtual
const
IString
*
definitionName
()
const
=
0
;
virtual
const
IString
*
attrib
()
const
=
0
;
virtual
const
IString
*
arraySpecifier
()
const
=
0
;
virtual
ILinkedTextIterator
*
defaultValue
()
const
=
0
;
};
...
...
@@ -69,7 +78,7 @@ class IMemberReference
{
public
:
virtual
IMember
*
member
()
const
=
0
;
virtual
QString
memberName
()
const
=
0
;
virtual
const
IString
*
memberName
()
const
=
0
;
};
class
IMemberReferenceIterator
...
...
@@ -86,8 +95,8 @@ class IMemberReferenceIterator
class
IEnumValue
{
public
:
virtual
QString
name
()
const
=
0
;
virtual
QString
initializer
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
const
IString
*
initializer
()
const
=
0
;
};
class
IEnumValueIterator
...
...
@@ -136,7 +145,7 @@ class IDoc
Row
,
// 27 -> IDocRow
Entry
,
// 28 -> IDocEntry
Section
,
// 29 -> IDocSection
Root
// 30 -> IDocRoot
Root
,
// 30 -> IDocRoot
};
virtual
Kind
kind
()
const
=
0
;
};
...
...
@@ -153,7 +162,8 @@ class IDocMarkup : public IDoc
Subscript
=
0x08
,
Superscript
=
0x10
,
SmallFont
=
0x20
,
Center
=
0x40
Center
=
0x40
,
Preformatted
=
0x80
};
};
...
...
@@ -167,7 +177,7 @@ class IDocPara : public IDoc
class
IDocText
:
public
IDocMarkup
{
public
:
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
virtual
int
markup
()
const
=
0
;
};
...
...
@@ -207,7 +217,7 @@ class IDocParameterList : public IDoc
class
IDocParameter
:
public
IDoc
{
public
:
virtual
QString
name
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
};
...
...
@@ -229,7 +239,7 @@ class IDocSimpleSect : public IDoc
Examples
};
virtual
Types
type
()
const
=
0
;
virtual
QString
typeString
()
const
=
0
;
virtual
const
IString
*
typeString
()
const
=
0
;
virtual
IDocTitle
*
title
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
};
...
...
@@ -238,10 +248,10 @@ class IDocRef : public IDoc
{
public
:
enum
TargetKind
{
Member
,
Compound
};
virtual
QString
refId
()
const
=
0
;
virtual
const
IString
*
refId
()
const
=
0
;
virtual
TargetKind
targetKind
()
const
=
0
;
virtual
QString
external
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
external
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
class
IDocVariableList
:
public
IDoc
...
...
@@ -253,7 +263,7 @@ class IDocVariableList : public IDoc
class
IDocVariableListEntry
:
public
IDoc
{
public
:
virtual
QString
term
()
const
=
0
;
virtual
const
IString
*
term
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
};
...
...
@@ -268,21 +278,21 @@ class IDocLineBreak : public IDoc
class
IDocULink
:
public
IDoc
{
public
:
virtual
QString
url
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
url
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
class
IDocEMail
:
public
IDoc
{
public
:
virtual
QString
address
()
const
=
0
;
virtual
const
IString
*
address
()
const
=
0
;
};
class
IDocLink
:
public
IDoc
{
public
:
virtual
QString
refId
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
refId
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
class
IDocProgramListing
:
public
IDoc
...
...
@@ -295,7 +305,7 @@ class IDocCodeLine : public IDoc
{
public
:
virtual
int
lineNumber
()
const
=
0
;
virtual
QString
refId
()
const
=
0
;
virtual
const
IString
*
refId
()
const
=
0
;
virtual
IDocIterator
*
codeElements
()
const
=
0
;
};
...
...
@@ -315,29 +325,29 @@ class IDocHighlight : public IDoc
class
IDocFormula
:
public
IDoc
{
public
:
virtual
QString
id
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
class
IDocImage
:
public
IDoc
{
public
:
virtual
QString
name
()
const
=
0
;
virtual
QString
caption
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
const
IString
*
caption
()
const
=
0
;
};
class
IDocDotFile
:
public
IDoc
{
public
:
virtual
QString
name
()
const
=
0
;
virtual
QString
caption
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
const
IString
*
caption
()
const
=
0
;
};
class
IDocIndexEntry
:
public
IDoc
{
public
:
virtual
QString
primary
()
const
=
0
;
virtual
QString
secondary
()
const
=
0
;
virtual
const
IString
*
primary
()
const
=
0
;
virtual
const
IString
*
secondary
()
const
=
0
;
};
class
IDocTable
:
public
IDoc
...
...
@@ -345,7 +355,7 @@ class IDocTable : public IDoc
public
:
virtual
IDocIterator
*
rows
()
const
=
0
;
virtual
int
numColumns
()
const
=
0
;
virtual
QString
caption
()
const
=
0
;
virtual
const
IString
*
caption
()
const
=
0
;
};
class
IDocRow
:
public
IDoc
...
...
@@ -363,7 +373,7 @@ class IDocEntry : public IDoc
class
IDocSection
:
public
IDoc
{
public
:
virtual
QString
id
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
int
level
()
const
=
0
;
virtual
IDocIterator
*
title
()
const
=
0
;
};
...
...
@@ -388,7 +398,7 @@ class IDocIterator
class
IEdgeLabel
{
public
:
virtual
QString
label
()
const
=
0
;
virtual
const
IString
*
label
()
const
=
0
;
};
class
IEdgeLabelIterator
...
...
@@ -410,7 +420,7 @@ class IChildNode
};
virtual
INode
*
node
()
const
=
0
;
virtual
NodeRelation
relation
()
const
=
0
;
virtual
QString
relationString
()
const
=
0
;
virtual
const
IString
*
relationString
()
const
=
0
;
virtual
IEdgeLabelIterator
*
edgeLabels
()
const
=
0
;
};
...
...
@@ -428,9 +438,9 @@ class IChildNodeIterator
class
INode
{
public
:
virtual
QString
id
()
const
=
0
;
virtual
QString
label
()
const
=
0
;
virtual
QString
linkId
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
const
IString
*
label
()
const
=
0
;
virtual
const
IString
*
linkId
()
const
=
0
;
virtual
IChildNodeIterator
*
children
()
const
=
0
;
};
...
...
@@ -461,13 +471,13 @@ class IMember
virtual
ICompound
*
compound
()
const
=
0
;
virtual
ISection
*
section
()
const
=
0
;
virtual
MemberKind
kind
()
const
=
0
;
virtual
QString
kindString
()
const
=
0
;
virtual
QString
id
()
const
=
0
;
virtual
QString
protection
()
const
=
0
;
virtual
QString
virtualness
()
const
=
0
;
virtual
const
IString
*
kindString
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
const
IString
*
protection
()
const
=
0
;
virtual
const
IString
*
virtualness
()
const
=
0
;
virtual
ILinkedTextIterator
*
type
()
const
=
0
;
virtual
QString
typeString
()
const
=
0
;
virtual
QString
name
()
const
=
0
;
virtual
const
IString
*
typeString
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
bool
isConst
()
const
=
0
;
virtual
bool
isVolatile
()
const
=
0
;
virtual
IParamIterator
*
params
()
const
=
0
;
...
...
@@ -477,7 +487,7 @@ class IMember
virtual
IMemberReferenceIterator
*
referencedBy
()
const
=
0
;
virtual
int
bodyStart
()
const
=
0
;
virtual
int
bodyEnd
()
const
=
0
;
virtual
QString
definitionFile
()
const
=
0
;
virtual
const
IString
*
definitionFile
()
const
=
0
;
virtual
int
definitionLine
()
const
=
0
;
virtual
IMemberReference
*
reimplements
()
const
=
0
;
virtual
IMemberReferenceIterator
*
reimplementedBy
()
const
=
0
;
...
...
@@ -512,7 +522,7 @@ class ISection
Friend
,
Related
,
Defines
,
Prototypes
,
Typedefs
,
Enums
,
Functions
,
Variables
};
virtual
QString
kindString
()
const
=
0
;
virtual
const
IString
*
kindString
()
const
=
0
;
virtual
SectionKind
kind
()
const
=
0
;
virtual
IMemberIterator
*
members
()
const
=
0
;
virtual
bool
isStatic
()
const
=
0
;
...
...
@@ -541,12 +551,12 @@ class ICompound
Namespace
,
File
,
Group
,
Page
};
/*! Returns the name of this compound */
virtual
QString
name
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
/*! Returns the id of this compound. The id is a
* unique string representing a specific compound object.
*/
virtual
QString
id
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
/*! Returns the kind of compound. See #CompoundKind for possible
* values.
...
...
@@ -556,7 +566,7 @@ class ICompound
/*! Returns a string representation of the compound kind.
* @see kind()
*/
virtual
QString
kindString
()
const
=
0
;
virtual
const
IString
*
kindString
()
const
=
0
;
/*! Returns an iterator for the different member sections in this
* compound.
...
...
@@ -576,14 +586,14 @@ class ICompound
/*! Returns an interface to a member given its id.
* @param id The member id.
*/
virtual
IMember
*
memberById
(
const
QString
&
id
)
const
=
0
;
virtual
IMember
*
memberById
(
const
char
*
id
)
const
=
0
;
/*! Returns a list of all members within the compound having a certain
* name. Member overloading is the reason why there can be more than
* one member.
* @param name The name of the member.
*/
virtual
IMemberIterator
*
memberByName
(
const
QString
&
name
)
const
=
0
;
virtual
IMemberIterator
*
memberByName
(
const
char
*
name
)
const
=
0
;
/*! Decreases the reference counter for this compound. If it reaches
* zero, the memory for the compound will be released.
...
...
@@ -668,11 +678,13 @@ class INamespace : public ICompound
class
IFile
:
public
ICompound
{
public
:
virtual
IGraph
*
includeDependencyGraph
()
const
=
0
;
virtual
IGraph
*
includedByDependencyGraph
()
const
=
0
;
// file:
// includes()
// includedBy()
// IDotGraph *includeDependencyGraph()
// IDotGraph *includedByDependencyGraph()
// IDocProgramListing *source()
// ICompound *innerNamespaces()
// ICompoundIterator *innerClasses()
...
...
@@ -704,26 +716,26 @@ class IDoxygen
* compound id this function is much more efficient than iterating
* over the compound list. Returns 0 if the id is not valid.
*/
virtual
ICompound
*
compoundById
(
const
QString
&
id
)
const
=
0
;
virtual
ICompound
*
compoundById
(
const
char
*
id
)
const
=
0
;
/*! Returns a compound given its name (including the scope).
* Returns 0 if the name is not found in the project.
*/
virtual
ICompound
*
compoundByName
(
const
QString
&
name
)
const
=
0
;
virtual
ICompound
*
compoundByName
(
const
char
*
name
)
const
=
0
;
/*! Returns an interface to a compound containing a member given it the
* member's id. Given the ICompound interface one can use the same id
* to obtain the IMember interface.
* @param id The member id.
*/
virtual
ICompound
*
memberById
(
const
QString
&
id
)
const
=
0
;
virtual
ICompound
*
memberById
(
const
char
*
id
)
const
=
0
;
/*! Returns a list of all compounds containing at least one members
* with a certain name. Each compound can be asked to return the
* list of members with that name.
* @param name The name of the member.
*/
virtual
ICompoundIterator
*
memberByName
(
const
QString
&
name
)
const
=
0
;
virtual
ICompoundIterator
*
memberByName
(
const
char
*
name
)
const
=
0
;
/*! Releases the memory for the object hierarchy obtained by
* createdObjecModelFromXML(). First release all iterators before calling
...
...
addon/doxmlparser/src/doxmlparser.pro.in
View file @
ff31b2f1
...
...
@@ -4,7 +4,7 @@ HEADERS = basehandler.h mainhandler.h \
compoundhandler.h sectionhandler.h \
memberhandler.h paramhandler.h \
dochandler.h linkedtexthandler.h \
debug.h graphhandler.h
debug.h graphhandler.h
stringimpl.h
SOURCES = mainhandler.cpp \
compoundhandler.cpp sectionhandler.cpp \
memberhandler.cpp paramhandler.cpp \
...
...
addon/doxmlparser/src/graphhandler.h
View file @
ff31b2f1
...
...
@@ -16,6 +16,7 @@
#ifndef _GRAPHHANDLER_H
#define _GRAPHHANDLER_H
#include "stringimpl.h"
#include "doxmlintf.h"
#include "basehandler.h"
#include "baseiterator.h"
...
...
@@ -63,16 +64,16 @@ class NodeHandler : public INode, public BaseHandler<NodeHandler>
void
startChildNode
(
const
QXmlAttributes
&
attrib
);
// INode
virtual
QString
id
()
const
{
return
m_id
;
}
virtual
QString
label
()
const
{
return
m_label
;
}
virtual
QString
linkId
()
const
{
return
m_link
;
}
virtual
const
IString
*
id
()
const
{
return
&
m_id
;
}
virtual
const
IString
*
label
()
const
{
return
&
m_label
;
}
virtual
const
IString
*
linkId
()
const
{
return
&
m_link
;
}
virtual
IChildNodeIterator
*
children
()
const
;
private
:
IBaseHandler
*
m_parent
;
QString
m_id
;
QString
m_label
;
QString
m_link
;
StringImpl
m_id
;
StringImpl
m_label
;
StringImpl
m_link
;
QList
<
ChildNodeHandler
>
m_children
;
GraphHandler
*
m_graph
;
};
...
...
@@ -100,14 +101,14 @@ class ChildNodeHandler : public IChildNode, public BaseHandler<ChildNodeHandler>
// IChildNode
virtual
INode
*
node
()
const
;
virtual
NodeRelation
relation
()
const
{
return
m_relation
;
}
virtual
QString
relationString
()
const
{
return
m_relationString
;
}
virtual
const
IString
*
relationString
()
const
{
return
&
m_relationString
;
}
virtual
IEdgeLabelIterator
*
edgeLabels
()
const
;
private
:
IBaseHandler
*
m_parent
;
QString
m_id
;
NodeRelation
m_relation
;
QString
m_relationString
;
StringImpl
m_relationString
;
QList
<
EdgeLabelHandler
>
m_edgeLabels
;
GraphHandler
*
m_graph
;
};
...
...
@@ -132,11 +133,11 @@ class EdgeLabelHandler : public IEdgeLabel, public BaseHandler<EdgeLabelHandler>
void
endEdgeLabel
();
// IEdgeLabel
virtual
QString
label
()
const
{
return
m_label
;
}
virtual
const
IString
*
label
()
const
{
return
&
m_label
;
}
private
:
IBaseHandler
*
m_parent
;
QString
m_label
;
StringImpl
m_label
;
};
class
EdgeLabelIterator
:
public
BaseIterator
<
IEdgeLabelIterator
,
IEdgeLabel
,
EdgeLabelHandler
>
...
...
addon/doxmlparser/src/linkedtexthandler.cpp
View file @
ff31b2f1
...
...
@@ -15,6 +15,7 @@
#include "linkedtexthandler.h"
#include "debug.h"
#include <doxmlintf.h>
#include "stringimpl.h"
class
LT_Text
:
public
LinkedTextImpl
,
public
ILT_Text
{
...
...
@@ -23,10 +24,10 @@ class LT_Text : public LinkedTextImpl, public ILT_Text
virtual
~
LT_Text
()
{}
// ILT_Text
virtual
QString
text
()
const
{
return
m_text
;
}
virtual
Kind
kind
()
const
{
return
LinkedTextImpl
::
Kind_Text
;
}
virtual
const
IString
*
text
()
const
{
return
&
m_text
;
}
virtual
Kind
kind
()
const
{
return
LinkedTextImpl
::
Kind_Text
;
}
private
:
QString
m_text
;
StringImpl
m_text
;
};
class
LT_Ref
:
public
LinkedTextImpl
,
public
ILT_Ref
...
...
@@ -40,16 +41,16 @@ class LT_Ref : public LinkedTextImpl, public ILT_Ref
void
setTargetKind
(
TargetKind
k
)
{
m_targetKind
=
k
;
}
// ILT_Ref
virtual
QString
text
()
const
{
return
m_text
;
}
virtual
QString
id
()
const
{
return
m_refId
;
}
virtual
const
IString
*
text
()
const
{
return
&
m_text
;
}
virtual
const
IString
*
id
()
const
{
return
&
m_refId
;
}
virtual
TargetKind
targetKind
()
const
{
return
m_targetKind
;
}
virtual
QString
external
()
const
{
return
m_extId
;
}
virtual
const
IString
*
external
()
const
{
return
&
m_extId
;
}
virtual
Kind
kind
()
const
{
return
LinkedTextImpl
::
Kind_Ref
;
}
private
:
QString
m_refId
;
QString
m_extId
;
QString
m_text
;
StringImpl
m_refId
;
StringImpl
m_extId
;
StringImpl
m_text
;
TargetKind
m_targetKind
;
};
...
...
@@ -106,7 +107,7 @@ void LinkedTextHandler::endRef()
{
m_ref
->
setText
(
m_curString
);
m_children
.
append
(
m_ref
);
debug
(
2
,
"LinkedTextHandler: add ref `%s'
\n
"
,
m_ref
->
text
()
.
data
());
debug
(
2
,
"LinkedTextHandler: add ref `%s'
\n
"
,
m_ref
->
text
()
->
latin1
());
m_ref
=
0
;
}
...
...
@@ -120,10 +121,10 @@ QString LinkedTextHandler::toString(const QList<LinkedTextImpl> &list)
switch
(
lt
->
kind
())
{
case
ILinkedText
:
:
Kind_Text
:
result
+=
dynamic_cast
<
ILT_Text
*>
(
lt
)
->
text
();
result
+=
dynamic_cast
<
ILT_Text
*>
(
lt
)
->
text
()
->
latin1
()
;
break
;
case
ILinkedText
:
:
Kind_Ref
:
result
+=
dynamic_cast
<
ILT_Ref
*>
(
lt
)
->
text
();
result
+=
dynamic_cast
<
ILT_Ref
*>
(
lt
)
->
text
()
->
latin1
()
;
break
;
}
}
...
...
addon/doxmlparser/src/mainhandler.cpp
View file @
ff31b2f1
...
...
@@ -194,16 +194,17 @@ ICompoundIterator *MainHandler::compounds() const
return
new
CompoundEntryIterator
(
this
,
m_compounds
);
}
ICompound
*
MainHandler
::
compoundById
(
const
QString
&
id
)
const
ICompound
*
MainHandler
::
compoundById
(
const
char
*
id
)
const
{
if
(
id
.
isEmpty
())
return
0
;
CompoundHandler
*
ch
=
m_compoundsLoaded
[
id
];
QString
ids
=
id
;
if
(
ids
.
isEmpty
())
return
0
;
CompoundHandler
*
ch
=
m_compoundsLoaded
[
ids
];
if
(
ch
)
// compound already in memory
{
ch
->
addref
();
// returning alias -> increase reference counter
return
ch
->
toICompound
();
}
CompoundEntry
*
ce
=
m_compoundDict
.
find
(
id
);
CompoundEntry
*
ce
=
m_compoundDict
.
find
(
id
s
);
if
(
ce
==
0
)
return
0
;
// id not found
// create and load a new compound
ch
=
new
CompoundHandler
(
m_xmlDirName
);
...
...
@@ -224,28 +225,31 @@ ICompound *MainHandler::compoundById(const QString &id) const
void
MainHandler
::
unloadCompound
(
CompoundHandler
*
ch
)
{
m_compoundsLoaded
.
remove
(
ch
->
id
());
m_compoundsLoaded
.
remove
(
ch
->
id
()
->
latin1
()
);
}
ICompound
*
MainHandler
::
compoundByName
(
const
QString
&
name
)
const
ICompound
*
MainHandler
::
compoundByName
(
const
char
*
name
)
const
{
if
(
name
.
isEmpty
())
return
0
;
QString
nameStr
=
name
;
if
(
nameStr
.
isEmpty
())
return
0
;
CompoundEntry
*
ce
=
m_compoundNameDict
[
name
];
if
(
ce
==
0
)
return
0
;
// name not found
return
compoundById
(
ce
->
id
);
}
ICompound
*
MainHandler
::
memberById
(
const
QString
&
id
)
const
ICompound
*
MainHandler
::
memberById
(
const
char
*
id
)
const
{
if
(
id
.
isEmpty
())
return
0
;
QString
ids
=
id
;
if
(
ids
.
isEmpty
())
return
0
;
MemberEntry
*
me
=
m_memberDict
[
id
];
if
(
me
==
0
)
return
0
;
// id not found
return
compoundById
(
me
->
id
);
}
ICompoundIterator
*
MainHandler
::
memberByName
(
const
QString
&
name
)
const
ICompoundIterator
*
MainHandler
::
memberByName
(
const
char
*
name
)
const
{
if
(
name
.
isEmpty
())
return
0
;
QString
nameStr
=
name
;
if
(
nameStr
.
isEmpty
())
return
0
;
QList
<
CompoundEntry
>
*
cel
=
m_memberNameDict
[
name
];
if
(
cel
==
0
)
return
0
;
// name not found
return
new
CompoundEntryIterator
(
this
,
*
cel
);
...
...
@@ -267,7 +271,7 @@ void MainHandler::release()
CompoundHandler
*
ch
;
for
(
chi
.
toFirst
();(
ch
=
chi
.
current
());
++
chi
)
{
debug
(
1
,
"Compound %s not released
\n
"
,
ch
->
name
()
.
data
());
debug
(
1
,
"Compound %s not released
\n
"
,
ch
->
name
()
->
latin1
());
}
graphhandler_exit
();
dochandler_exit
();
...
...
addon/doxmlparser/src/mainhandler.h
View file @
ff31b2f1
...
...
@@ -55,10 +55,10 @@ class MainHandler : public IDoxygen, public BaseHandler<MainHandler>
// IDoxygen
ICompoundIterator
*
compounds
()
const
;
ICompound
*
compoundById
(
const
QString
&
id
)
const
;
virtual
ICompound
*
compoundByName
(
const
QString
&
name
)
const
;
virtual
ICompound
*
memberById
(
const
QString
&
id
)
const
;
virtual
ICompoundIterator
*
memberByName
(
const
QString
&
name
)
const
;
ICompound
*
compoundById
(
const
char
*
id
)
const
;
virtual
ICompound
*
compoundByName
(
const
char
*
name
)
const
;
virtual
ICompound
*
memberById
(
const
char
*
id
)
const
;
virtual
ICompoundIterator
*
memberByName
(
const
char
*
name
)
const
;
virtual
void
release
();
void
setDebugLevel
(
int
level
);
...
...
addon/doxmlparser/src/memberhandler.h
View file @
ff31b2f1
...
...
@@ -35,11 +35,11 @@ struct MemberReference : public IMemberReference
{
virtual
~
MemberReference
()
{}
virtual
IMember
*
member
()
const
;
virtual
QString
memberName
()
const
{
return
m_name
;
}
virtual
const
IString
*
memberName
()
const
{
return
&
m_name
;
}
void
initialize
(
MainHandler
*
m
);
QString
m_memId
;
QString
m_name
;
QString
m_memId
;
StringImpl
m_name
;
MainHandler
*
m_mainHandler
;
};
...
...
@@ -61,8 +61,8 @@ class EnumValueHandler : public IEnumValue, public BaseHandler<EnumValueHandler>
virtual
void
endEnumValue
();
// IEnumValue
virtual
QString
name
()
const
{
return
m_name
;
}
virtual
QString
initializer
()
const
{
return
m_initializer
;
}
virtual
const
IString
*
name
()
const
{
return
&
m_name
;
}
virtual
const
IString
*
initializer
()
const
{
return
&
m_initializer
;
}
void
setName
(
const
QString
&
name
)
{
m_name
=
name
;
}
void
setInitializer
(
const
QString
&
init
)
{
m_initializer
=
init
;
}
...
...
@@ -71,8 +71,8 @@ class EnumValueHandler : public IEnumValue, public BaseHandler<EnumValueHandler>
EnumValueHandler
(
IBaseHandler
*
parent
);
private
:
QString
m_name
;
QString
m_initializer
;
StringImpl
m_name
;
StringImpl
m_initializer
;
IBaseHandler
*
m_parent
;
};
...
...
@@ -115,24 +115,27 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler>
virtual
ISection
*
section
()
const
;
virtual
MemberKind
kind
()
const
{
return
m_kind
;
}
virtual
QString
kindString
()
const
{
return
m_kindString
;
}
virtual
QString
id
()
const
{
return
m_id
;
}
virtual
QString
protection
()
const
{
return
m_protection
;
}
virtual
QString
virtualness
()
const
{
return
m_virtualness
;
}
virtual
QString
name
()
const
{
return
m_name
;
}
virtual
const
IString
*
kindString
()
const
{
return
&
m_kindString
;
}
virtual
const
IString
*
id
()
const
{
return
&
m_id
;
}
virtual
const
IString
*
protection
()
const
{
return
&
m_protection
;
}
virtual
const
IString
*
virtualness
()
const
{
return
&
m_virtualness
;
}
virtual
const
IString
*
name
()
const
{
return
&
m_name
;
}
virtual
bool
isConst
()
const
{
return
m_isConst
;
}
virtual
bool
isVolatile
()
const
{
return
m_isVolatile
;
}
virtual
ILinkedTextIterator
*
type
()
const
{
return
new
LinkedTextIterator
(
m_type
);
}
virtual
QString
typeString
()
const
{
return
LinkedTextHandler
::
toString
(
m_type
);
}
virtual
const
IString
*
typeString
()
const
{
MemberHandler
*
that
=
(
MemberHandler
*
)
this
;
that
->
m_typeString
=
LinkedTextHandler
::
toString
(
m_type
);
return
&
m_typeString
;
}
virtual
IParamIterator
*
params
()
const
{
return
new
ParamIterator
(
m_params
);
}
virtual
IMemberReferenceIterator
*
references
()
const
...
...
@@ -147,8 +150,8 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler>
{
return
m_bodyStart
;
}
virtual
int
bodyEnd
()
const
{
return
m_bodyEnd
;
}
virtual
QString
definitionFile
()
const
{
return
m_defFile
;
}
virtual
const
IString
*
definitionFile
()
const
{
return
&
m_defFile
;
}
virtual
int
definitionLine
()
const
{
return
m_defLine
;
}
virtual
IMemberReference
*
reimplements
()
const
...
...
@@ -171,14 +174,15 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler>
CompoundHandler
*
m_compound
;
SectionHandler
*
m_section
;
MemberKind
m_kind
;
QString
m_kindString
;
QString
m_id
;
QString
m_protection
;
QString
m_virtualness
;
StringImpl
m_kindString
;
StringImpl
m_id
;
StringImpl
m_protection
;
StringImpl
m_virtualness
;
StringImpl
m_typeString
;
QList
<
LinkedTextImpl
>
m_type
;
QList
<
LinkedTextImpl
>
m_initializer
;
QList
<
LinkedTextImpl
>
m_exception
;
QString
m_name
;
StringImpl
m_name
;
DocHandler
*
m_brief
;
DocHandler
*
m_detailed
;
QList
<
ParamHandler
>
m_params
;
...
...
@@ -186,7 +190,7 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler>
QList
<
MemberReference
>
m_referencedBy
;
MemberReference
*
m_reimplements
;
QList
<
MemberReference
>
m_reimplementedBy
;
QString
m_defFile
;
StringImpl
m_defFile
;
int
m_defLine
;
int
m_bodyStart
;
int
m_bodyEnd
;
...
...
addon/doxmlparser/src/paramhandler.h
View file @
ff31b2f1
...
...
@@ -21,6 +21,7 @@
#include <qxml.h>
#include <doxmlintf.h>
#include "stringimpl.h"
#include "basehandler.h"
#include "baseiterator.h"
#include "linkedtexthandler.h"
...
...
@@ -43,20 +44,20 @@ class ParamHandler : public IParam, public BaseHandler<ParamHandler>
// IParam
virtual
ILinkedTextIterator
*
type
()
const
{
return
new
LinkedTextIterator
(
m_type
);
}
virtual
QString
declarationName
()
const
{
return
m_declName
;
}
virtual
QString
definitionName
()
const
{
return
m_defName
;
}
virtual
QString
attrib
()
const
{
return
m_attrib
;
}
virtual
QString
arraySpecifier
()
const
{
return
m_array
;
}
virtual
const
IString
*
declarationName
()
const
{
return
&
m_declName
;
}
virtual
const
IString
*
definitionName
()
const
{
return
&
m_defName
;
}
virtual
const
IString
*
attrib
()
const
{
return
&
m_attrib
;
}
virtual
const
IString
*
arraySpecifier
()
const
{
return
&
m_array
;
}
virtual
ILinkedTextIterator
*
defaultValue
()
const
{
return
new
LinkedTextIterator
(
m_defVal
);
}
private
:
IBaseHandler
*
m_parent
;
QList
<
LinkedTextImpl
>
m_type
;
QString
m_declName
;
QString
m_defName
;
QString
m_attrib
;
QString
m_array
;
StringImpl
m_declName
;
StringImpl
m_defName
;
StringImpl
m_attrib
;
StringImpl
m_array
;
QList
<
LinkedTextImpl
>
m_defVal
;
LinkedTextHandler
*
m_linkedTextHandler
;
};
...
...
addon/doxmlparser/src/sectionhandler.h
View file @
ff31b2f1
...
...
@@ -46,8 +46,8 @@ class SectionHandler : public ISection, public BaseHandler<SectionHandler>
virtual
~
SectionHandler
();
// ISection
virtual
QString
kindString
()
const
{
return
m_kindString
;
}
virtual
const
IString
*
kindString
()
const
{
return
&
m_kindString
;
}
virtual
SectionKind
kind
()
const
{
return
m_kind
;
}
virtual
IMemberIterator
*
members
()
const
...
...
@@ -78,7 +78,7 @@ class SectionHandler : public ISection, public BaseHandler<SectionHandler>
private
:
IBaseHandler
*
m_parent
;
SectionKind
m_kind
;
QString
m_kindString
;
StringImpl
m_kindString
;
QList
<
MemberHandler
>
m_members
;
};
...
...
addon/doxmlparser/src/stringimpl.h
0 → 100644
View file @
ff31b2f1
#ifndef STRINGIMPL_H
#define STRINGIMPL_H
#include <qstring.h>
#include "doxmlintf.h"
class
StringImpl
:
public
QString
,
public
IString
{
public
:
StringImpl
()
{}
StringImpl
(
const
QString
&
str
)
:
QString
(
str
)
{}
virtual
~
StringImpl
()
{}
// IString
const
char
*
latin1
()
const
{
return
QString
::
latin1
();
}
unsigned
short
unicodeCharAt
(
int
index
)
const
{
return
QString
::
unicode
()[
index
].
unicode
();
}
bool
isEmpty
()
const
{
return
QString
::
isEmpty
();
}
int
length
()
const
{
return
QString
::
length
();
}
};
#endif
addon/doxmlparser/test/main.cpp
View file @
ff31b2f1
...
...
@@ -14,8 +14,12 @@
*/
#include <stdio.h>
#include <stdlib.h>
#include <doxmlintf.h>
/*! Dumps the contents of a hyperlinked text fragment as plain text to the
* output.
*/
QString
linkedTextToString
(
ILinkedTextIterator
*
ti
)
{
QString
result
;
...
...
@@ -24,106 +28,116 @@ QString linkedTextToString(ILinkedTextIterator *ti)
{
switch
(
lt
->
kind
())
{
case
ILinkedText
:
:
Kind_Text
:
result
+=
dynamic_cast
<
ILT_Text
*>
(
lt
)
->
text
();
break
;
case
ILinkedText
:
:
Kind_Ref
:
result
+=
dynamic_cast
<
ILT_Ref
*>
(
lt
)
->
text
();
break
;
case
ILinkedText
:
:
Kind_Text
:
// plain text
result
+=
dynamic_cast
<
ILT_Text
*>
(
lt
)
->
text
()
->
latin1
()
;
break
;
case
ILinkedText
:
:
Kind_Ref
:
// a link
result
+=
dynamic_cast
<
ILT_Ref
*>
(
lt
)
->
text
()
->
latin1
()
;
break
;
}
}
return
result
;
}
void
DumpDoc
(
IDoc
*
doc
)
/*! Macro for printing an indented message. */
#define InPrint(x) printf("%s",indent.latin1()), printf x;
/*! Dumps the contents of a documentation block to stdout.
* @note This function will call itself recursively.
* @param doc The root of the documentation tree.
* @param level The indent level.
*/
void
DumpDoc
(
IDoc
*
doc
,
int
level
)
{
printf
(
" doc node kind=`%d'
\n
"
,
doc
->
kind
());
QString
indent
;
indent
.
fill
(
' '
,
level
);
//printf(" doc node kind=`%d'\n",doc->kind());
switch
(
doc
->
kind
())
{
case
IDoc
:
:
Para
:
{
printf
(
" --- par ---
\n
"
);
InPrint
((
"<para>
\n
"
)
);
IDocPara
*
par
=
dynamic_cast
<
IDocPara
*>
(
doc
);
ASSERT
(
par
!=
0
);
IDocIterator
*
di
=
par
->
contents
();
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
di
->
release
();
printf
(
" --- end par ---
\n
"
);
InPrint
((
"</para>
\n
"
)
);
}
break
;
case
IDoc
:
:
Text
:
{
IDocText
*
txt
=
dynamic_cast
<
IDocText
*>
(
doc
);
ASSERT
(
txt
!=
0
);
printf
(
" --- text `%s' markup=%d ---
\n
"
,
txt
->
text
().
data
(),
txt
->
markup
(
));
InPrint
((
"<text value=`%s' markup=%d/>
\n
"
,
txt
->
text
()
->
latin1
(),
txt
->
markup
()
));
}
break
;
case
IDoc
:
:
MarkupModifier
:
{
IDocMarkupModifier
*
md
=
dynamic_cast
<
IDocMarkupModifier
*>
(
doc
);
ASSERT
(
md
!=
0
);
printf
(
" --- markup modifier enabled=%d markup=%d
\n
"
,
md
->
enabled
(),
md
->
markup
(
));
InPrint
((
"<markup modifier enabled=%d markup=%d/>
\n
"
,
md
->
enabled
(),
md
->
markup
()
));
}
break
;
case
IDoc
:
:
ItemizedList
:
{
printf
(
" --- itemized list ---
\n
"
);
InPrint
((
"<itemized list>
\n
"
)
);
IDocItemizedList
*
list
=
dynamic_cast
<
IDocItemizedList
*>
(
doc
);
ASSERT
(
list
!=
0
);
IDocIterator
*
di
=
list
->
elements
();
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
di
->
release
();
printf
(
" --- end itemized list ---
\n
"
);
InPrint
((
"</itemized list>
\n
"
)
);
}
break
;
case
IDoc
:
:
OrderedList
:
{
printf
(
" --- ordered list ---
\n
"
);
InPrint
((
"<ordered list>
\n
"
)
);
IDocOrderedList
*
list
=
dynamic_cast
<
IDocOrderedList
*>
(
doc
);
ASSERT
(
list
!=
0
);
IDocIterator
*
di
=
list
->
elements
();
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
di
->
release
();
printf
(
" --- end ordered list ---
\n
"
);
InPrint
((
"</ordered list>
\n
"
)
);
}
break
;
case
IDoc
:
:
ListItem
:
{
printf
(
" --- list item ---
\n
"
);
InPrint
((
"<list item>
\n
"
)
);
IDocListItem
*
li
=
dynamic_cast
<
IDocListItem
*>
(
doc
);
ASSERT
(
li
!=
0
);
IDocIterator
*
di
=
li
->
contents
();
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
di
->
release
();
printf
(
" --- end list item ---
\n
"
);
InPrint
((
"</list item>
\n
"
)
);
}
break
;
case
IDoc
:
:
ParameterList
:
{
IDocParameterList
*
list
=
dynamic_cast
<
IDocParameterList
*>
(
doc
);
printf
(
" --- parameter list type=%d ---
\n
"
,
list
->
listType
(
));
InPrint
((
"<parameter list type=%d>
\n
"
,
list
->
listType
()
));
IDocIterator
*
di
=
list
->
params
();
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
di
->
release
();
printf
(
" --- parameter list item ---
\n
"
);
InPrint
((
"</parameter list>
\n
"
)
);
ASSERT
(
list
!=
0
);
}
break
;
...
...
@@ -131,187 +145,248 @@ void DumpDoc(IDoc *doc)
{
IDocParameter
*
par
=
dynamic_cast
<
IDocParameter
*>
(
doc
);
ASSERT
(
par
!=
0
);
printf
(
" --- parameter name=%s ---
\n
"
,
par
->
name
().
data
(
));
DumpDoc
(
par
->
description
());
printf
(
" --- end parameter ---
\n
"
);
InPrint
((
"<parameter name=%s>
\n
"
,
par
->
name
()
->
latin1
()
));
DumpDoc
(
par
->
description
()
,
level
+
1
);
InPrint
((
"<parameter/>
\n
"
)
);
}
break
;
case
IDoc
:
:
SimpleSect
:
{
IDocSimpleSect
*
ss
=
dynamic_cast
<
IDocSimpleSect
*>
(
doc
);
ASSERT
(
ss
!=
0
);
printf
(
" --- simplesect type=%s ---
\n
"
,
ss
->
typeString
().
data
(
));
DumpDoc
(
ss
->
title
());
DumpDoc
(
ss
->
description
());
printf
(
" --- end simplesect ---
\n
"
);
InPrint
((
"<simplesect type=%s>
\n
"
,
ss
->
typeString
()
->
latin1
()
));
DumpDoc
(
ss
->
title
()
,
level
+
1
);
DumpDoc
(
ss
->
description
()
,
level
+
1
);
InPrint
((
"<simplesect/>
\n
"
)
);
}
break
;
case
IDoc
:
:
Title
:
{
printf
(
" --- title ---
\n
"
);
InPrint
((
"<title>
\n
"
)
);
IDocTitle
*
t
=
dynamic_cast
<
IDocTitle
*>
(
doc
);
ASSERT
(
t
!=
0
);
IDocIterator
*
di
=
t
->
title
();
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
printf
(
" --- end title ---
\n
"
);
InPrint
((
"<title/>
\n
"
)
);
}
break
;
case
IDoc
:
:
Ref
:
{
IDocRef
*
ref
=
dynamic_cast
<
IDocRef
*>
(
doc
);
ASSERT
(
ref
!=
0
);
printf
(
" ref=%p
\n
"
,
ref
);
printf
(
" --- ref id=%s text=%s ---
\n
"
,
ref
->
refId
().
data
(),
ref
->
text
().
data
());
printf
(
" --- end ref ---
\n
"
);
InPrint
((
"<ref id=%s text=%s/>
\n
"
,
ref
->
refId
()
->
latin1
(),
ref
->
text
()
->
latin1
()));
}
break
;
case
IDoc
:
:
VariableList
:
{
printf
(
" --- start variablelist ---
\n
"
);
InPrint
((
"<variablelist>
\n
"
)
);
IDocVariableList
*
vl
=
dynamic_cast
<
IDocVariableList
*>
(
doc
);
ASSERT
(
vl
!=
0
);
IDocIterator
*
di
=
vl
->
entries
();
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
di
->
release
();
printf
(
" --- end variablelist ---
\n
"
);
InPrint
((
"<variablelist/>
\n
"
)
);
}
break
;
case
IDoc
:
:
VariableListEntry
:
{
IDocVariableListEntry
*
vle
=
dynamic_cast
<
IDocVariableListEntry
*>
(
doc
);
ASSERT
(
vle
!=
0
);
printf
(
" --- start variablelistentry term=%s ---
\n
"
,
vle
->
term
().
data
(
));
DumpDoc
(
vle
->
description
());
printf
(
" --- end variablelistentry ---
\n
"
);
InPrint
((
"<variablelistentry term=%s>
\n
"
,
vle
->
term
()
->
latin1
()
));
DumpDoc
(
vle
->
description
()
,
level
+
1
);
InPrint
((
"<variablelistentry/>
\n
"
)
);
}
break
;
case
IDoc
:
:
HRuler
:
{
IDocHRuler
*
hr
=
dynamic_cast
<
IDocHRuler
*>
(
doc
);
ASSERT
(
hr
!=
0
);
InPrint
((
"<hruler/>
\n
"
));
}
break
;
case
IDoc
:
:
LineBreak
:
{
IDocLineBreak
*
lb
=
dynamic_cast
<
IDocLineBreak
*>
(
doc
);
ASSERT
(
lb
!=
0
);
InPrint
((
"<linebreak/>
\n
"
));
}
break
;
case
IDoc
:
:
ULink
:
{
IDocULink
*
ul
=
dynamic_cast
<
IDocULink
*>
(
doc
);
ASSERT
(
ul
!=
0
);
InPrint
((
"<ulink url=`%s' text=`%s'/>
\n
"
,
ul
->
url
()
->
latin1
(),
ul
->
text
()
->
latin1
()));
}
break
;
case
IDoc
:
:
EMail
:
{
IDocEMail
*
em
=
dynamic_cast
<
IDocEMail
*>
(
doc
);
ASSERT
(
em
!=
0
);
InPrint
((
"<email address=`%s'/>
\n
"
,
em
->
address
()
->
latin1
()));
}
break
;
case
IDoc
:
:
Link
:
{
IDocLink
*
lk
=
dynamic_cast
<
IDocLink
*>
(
doc
);
ASSERT
(
lk
!=
0
);
InPrint
((
"<link refid=`%s' text=`%s'/>
\n
"
,
lk
->
refId
()
->
latin1
(),
lk
->
text
()
->
latin1
()));
}
break
;
case
IDoc
:
:
ProgramListing
:
{
IDocProgramListing
*
pl
=
dynamic_cast
<
IDocProgramListing
*>
(
doc
);
ASSERT
(
pl
!=
0
);
InPrint
((
"<programlisting>
\n
"
));
IDocIterator
*
cli
=
pl
->
codeLines
();
IDoc
*
cl
;
for
(
cli
->
toFirst
();(
cl
=
cli
->
current
());
cli
->
toNext
())
{
DumpDoc
(
cl
,
level
+
1
);
}
cli
->
release
();
InPrint
((
"<programlisting/>
\n
"
));
}
break
;
case
IDoc
:
:
CodeLine
:
{
IDocCodeLine
*
cl
=
dynamic_cast
<
IDocCodeLine
*>
(
doc
);
ASSERT
(
cl
!=
0
);
InPrint
((
"<codeline lineNumber=%d refId=`%s'>
\n
"
,
cl
->
lineNumber
(),
cl
->
refId
()
->
latin1
()));
IDocIterator
*
cei
=
cl
->
codeElements
();
IDoc
*
ce
;
for
(
cei
->
toFirst
();(
ce
=
cei
->
current
());
cei
->
toNext
())
{
DumpDoc
(
ce
,
level
+
1
);
}
cei
->
release
();
InPrint
((
"<codeline/>
\n
"
));
}
break
;
case
IDoc
:
:
Highlight
:
{
IDocHighlight
*
hl
=
dynamic_cast
<
IDocHighlight
*>
(
doc
);
ASSERT
(
hl
!=
0
);
InPrint
((
"<highlight kind=%d>
\n
"
,
hl
->
kind
()));
IDocIterator
*
cei
=
hl
->
codeElements
();
IDoc
*
ce
;
for
(
cei
->
toFirst
();(
ce
=
cei
->
current
());
cei
->
toNext
())
{
DumpDoc
(
ce
,
level
+
1
);
}
cei
->
release
();
InPrint
((
"</highlight>
\n
"
));
}
break
;
case
IDoc
:
:
Formula
:
{
IDocFormula
*
fm
=
dynamic_cast
<
IDocFormula
*>
(
doc
);
ASSERT
(
fm
!=
0
);
InPrint
((
"<formula id=`%s' text=`%s'/>
\n
"
,
fm
->
id
()
->
latin1
(),
fm
->
text
()
->
latin1
()));
}
break
;
case
IDoc
:
:
Image
:
{
IDocImage
*
img
=
dynamic_cast
<
IDocImage
*>
(
doc
);
ASSERT
(
img
!=
0
);
InPrint
((
"<image name=`%s' caption=`%s'/>
\n
"
,
img
->
name
()
->
latin1
(),
img
->
caption
()
->
latin1
()));
}
break
;
case
IDoc
:
:
DotFile
:
{
IDocDotFile
*
df
=
dynamic_cast
<
IDocDotFile
*>
(
doc
);
ASSERT
(
df
!=
0
);
InPrint
((
"<dotfile name=`%s' caption=`%s'/>
\n
"
,
df
->
name
()
->
latin1
(),
df
->
caption
()
->
latin1
()));
}
break
;
case
IDoc
:
:
IndexEntry
:
{
IDocIndexEntry
*
ie
=
dynamic_cast
<
IDocIndexEntry
*>
(
doc
);
ASSERT
(
ie
!=
0
);
InPrint
((
"<indexentry primary=`%s' secondary=`%s'/>
\n
"
,
ie
->
primary
()
->
latin1
(),
ie
->
secondary
()
->
latin1
()));
}
break
;
case
IDoc
:
:
Table
:
{
IDocTable
*
tbl
=
dynamic_cast
<
IDocTable
*>
(
doc
);
ASSERT
(
tbl
!=
0
);
InPrint
((
"<table numcols=%d caption=`%s'>
\n
"
,
tbl
->
numColumns
(),
tbl
->
caption
()
->
latin1
()));
IDocIterator
*
ri
=
tbl
->
rows
();
IDoc
*
row
;
for
(
ri
->
toFirst
();(
row
=
ri
->
current
());
ri
->
toNext
())
{
DumpDoc
(
row
,
level
+
1
);
}
ri
->
release
();
InPrint
((
"</table>
\n
"
));
}
break
;
case
IDoc
:
:
Row
:
{
IDocRow
*
row
=
dynamic_cast
<
IDocRow
*>
(
doc
);
ASSERT
(
row
!=
0
);
InPrint
((
"<row>
\n
"
));
IDocIterator
*
ei
=
row
->
entries
();
IDoc
*
e
;
for
(
ei
->
toFirst
();(
e
=
ei
->
current
());
ei
->
toNext
())
{
DumpDoc
(
e
,
level
+
1
);
}
ei
->
release
();
InPrint
((
"</row>
\n
"
));
}
break
;
case
IDoc
:
:
Entry
:
{
IDocEntry
*
ent
=
dynamic_cast
<
IDocEntry
*>
(
doc
);
ASSERT
(
ent
!=
0
);
InPrint
((
"<entry>
\n
"
));
IDocIterator
*
di
=
ent
->
contents
();
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
DumpDoc
(
pdoc
,
level
+
1
);
}
di
->
release
();
InPrint
((
"</entry>
\n
"
));
}
break
;
case
IDoc
:
:
Section
:
{
IDocSection
*
sec
=
dynamic_cast
<
IDocSection
*>
(
doc
);
ASSERT
(
sec
!=
0
);
printf
(
" --- section id=`%s' level=%d ---
\n
"
,
sec
->
id
()
.
data
(),
sec
->
level
(
));
InPrint
((
"<section id=`%s' level=%d>
\n
"
,
sec
->
id
()
->
latin1
(),
sec
->
level
()
));
IDocIterator
*
di
=
sec
->
title
();
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
printf
(
" --- end section ---
\n
"
);
InPrint
((
"<section/>
\n
"
)
);
}
break
;
case
IDoc
:
:
Root
:
{
printf
(
" --- root ---
\n
"
);
InPrint
((
"<root>
\n
"
)
);
IDocRoot
*
root
=
dynamic_cast
<
IDocRoot
*>
(
doc
);
ASSERT
(
root
!=
0
);
IDocIterator
*
di
=
root
->
contents
();
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
di
->
release
();
printf
(
" --- end root ---
\n
"
);
InPrint
((
"<root/>
\n
"
)
);
}
break
;
...
...
@@ -329,24 +404,24 @@ void DumpGraph(IGraph *graph)
for
(
ni
->
toFirst
();(
node
=
ni
->
current
());
ni
->
toNext
())
{
printf
(
" --- node id=%s label=%s linkId=%s
\n
"
,
node
->
id
()
.
data
(),
node
->
label
()
.
data
(),
node
->
linkId
()
.
data
()
node
->
id
()
->
latin1
(),
node
->
label
()
->
latin1
(),
node
->
linkId
()
->
latin1
()
);
IChildNodeIterator
*
cni
=
node
->
children
();
IChildNode
*
cn
;
for
(
cni
->
toFirst
();(
cn
=
cni
->
current
());
cni
->
toNext
())
{
printf
(
" + child id=%s label=%s relation=%s
\n
"
,
cn
->
node
()
->
id
()
.
data
(),
cn
->
node
()
->
label
()
.
data
(),
cn
->
relationString
()
.
data
()
cn
->
node
()
->
id
()
->
latin1
(),
cn
->
node
()
->
label
()
->
latin1
(),
cn
->
relationString
()
->
latin1
()
);
IEdgeLabelIterator
*
eli
=
cn
->
edgeLabels
();
IEdgeLabel
*
el
;
for
(
eli
->
toFirst
();(
el
=
eli
->
current
());
eli
->
toNext
())
{
printf
(
" edgeLabel=%s
\n
"
,
el
->
label
()
.
data
());
printf
(
" edgeLabel=%s
\n
"
,
el
->
label
()
->
latin1
());
}
eli
->
release
();
}
...
...
@@ -381,19 +456,19 @@ int main(int argc,char **argv)
for
(
cli
->
toFirst
();(
comp
=
cli
->
current
());
cli
->
toNext
())
{
printf
(
"Compound name=%s id=%s kind=%s
\n
"
,
comp
->
name
()
.
data
(),
comp
->
id
().
data
(),
comp
->
kindString
().
data
());
comp
->
name
()
->
latin1
(),
comp
->
id
()
->
latin1
(),
comp
->
kindString
()
->
latin1
());
ISectionIterator
*
sli
=
comp
->
sections
();
ISection
*
sec
;
for
(
sli
->
toFirst
();(
sec
=
sli
->
current
());
sli
->
toNext
())
{
printf
(
" Section kind=%s
\n
"
,
sec
->
kindString
()
.
data
());
printf
(
" Section kind=%s
\n
"
,
sec
->
kindString
()
->
latin1
());
IMemberIterator
*
mli
=
sec
->
members
();
IMember
*
mem
;
for
(
mli
->
toFirst
();(
mem
=
mli
->
current
());
mli
->
toNext
())
{
ILinkedTextIterator
*
lti
=
mem
->
type
();
printf
(
" Member type=%s name=%s
\n
"
,
linkedTextToString
(
lti
).
data
(),
mem
->
name
().
data
());
linkedTextToString
(
lti
).
latin1
(),
mem
->
name
()
->
latin1
());
lti
->
release
();
IParamIterator
*
pli
=
mem
->
params
();
...
...
@@ -407,7 +482,7 @@ int main(int argc,char **argv)
QString
defVal
=
linkedTextToString
(
lti
);
lti
->
release
();
printf
(
" Param type=%s name=%s defvalue=%s
\n
"
,
parType
.
data
(),
par
->
definitionName
().
data
(),
defVal
.
data
());
parType
.
latin1
(),
par
->
definitionName
()
->
latin1
(),
defVal
.
latin1
());
}
pli
->
release
();
IMemberReferenceIterator
*
mri
=
mem
->
references
();
...
...
@@ -416,7 +491,7 @@ int main(int argc,char **argv)
{
IMember
*
memr
=
mr
->
member
();
printf
(
" References %s at line %d
\n
"
,
mr
->
memberName
()
.
data
(),
memr
->
bodyStart
());
mr
->
memberName
()
->
latin1
(),
memr
->
bodyStart
());
}
mri
->
release
();
...
...
@@ -425,7 +500,7 @@ int main(int argc,char **argv)
{
IMember
*
memr
=
mr
->
member
();
printf
(
" ReferencedBy %s at line %d
\n
"
,
mr
->
memberName
()
.
data
(),
memr
->
bodyStart
());
mr
->
memberName
()
->
latin1
(),
memr
->
bodyStart
());
}
mri
->
release
();
...
...
@@ -434,7 +509,7 @@ int main(int argc,char **argv)
for
(
evi
->
toFirst
();(
ev
=
evi
->
current
());
evi
->
toNext
())
{
printf
(
" Enum value `%s' init=`%s'
\n
"
,
ev
->
name
()
.
data
(),
ev
->
initializer
().
data
());
ev
->
name
()
->
latin1
(),
ev
->
initializer
()
->
latin1
());
}
evi
->
release
();
...
...
@@ -442,14 +517,14 @@ int main(int argc,char **argv)
if
(
doc
)
{
printf
(
"===== brief description ====
\n
"
);
DumpDoc
(
doc
);
DumpDoc
(
doc
,
0
);
}
doc
=
mem
->
detailedDescription
();
if
(
doc
)
{
printf
(
"===== detailed description ====
\n
"
);
DumpDoc
(
doc
);
DumpDoc
(
doc
,
0
);
}
}
mli
->
release
();
...
...
@@ -460,14 +535,14 @@ int main(int argc,char **argv)
if
(
doc
)
{
printf
(
"===== brief description ====
\n
"
);
DumpDoc
(
doc
);
DumpDoc
(
doc
,
0
);
}
doc
=
comp
->
detailedDescription
();
if
(
doc
)
{
printf
(
"===== detailed description ====
\n
"
);
DumpDoc
(
doc
);
DumpDoc
(
doc
,
0
);
}
if
(
comp
->
kind
()
==
ICompound
::
Class
)
...
...
@@ -487,7 +562,7 @@ int main(int argc,char **argv)
for
(
bcli
->
toFirst
();(
bClass
=
bcli
->
current
());
bcli
->
toNext
())
{
ICompound
*
bc
=
bClass
->
compound
();
printf
(
" + class %s
\n
"
,
bc
->
name
()
.
data
());
printf
(
" + class %s
\n
"
,
bc
->
name
()
->
latin1
());
bc
->
release
();
}
bcli
->
release
();
...
...
@@ -498,11 +573,22 @@ int main(int argc,char **argv)
for
(
dcli
->
toFirst
();(
dClass
=
dcli
->
current
());
dcli
->
toNext
())
{
ICompound
*
dc
=
dClass
->
compound
();
printf
(
" + class %s
\n
"
,
dc
->
name
()
.
data
());
printf
(
" + class %s
\n
"
,
dc
->
name
()
->
latin1
());
dc
->
release
();
}
dcli
->
release
();
}
else
if
(
comp
->
kind
()
==
ICompound
::
File
)
{
IFile
*
file
=
dynamic_cast
<
IFile
*>
(
comp
);
ASSERT
(
file
!=
0
);
printf
(
"==== include dependency graph ====
\n
"
);
DumpGraph
(
file
->
includeDependencyGraph
());
printf
(
"==== included by dependency graph ====
\n
"
);
DumpGraph
(
file
->
includedByDependencyGraph
());
}
comp
->
release
();
}
...
...
packages/rpm/doxygen.spec
View file @
ff31b2f1
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.2.15_200204
07
Version: 1.2.15_200204
21
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
...
...
src/classdef.cpp
View file @
ff31b2f1
...
...
@@ -923,7 +923,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
startDotGraph
();
parseText
(
ol
,
theTranslator
->
trClassDiagram
(
n
ame
()));
parseText
(
ol
,
theTranslator
->
trClassDiagram
(
displayN
ame
()));
ol
.
endDotGraph
(
inheritanceGraph
);
if
(
Config_getBool
(
"GENERATE_LEGEND"
))
{
...
...
src/config.l
View file @
ff31b2f1
...
...
@@ -1103,7 +1103,8 @@ void Config::check()
exit(1);
}
else if (cgiURL.left(7)!="http://" &&
cgiURL.left(8)!="https://"
cgiURL.left(8)!="https://" &&
cgiURL.left(4)!="cgi:"
)
{
config_err("Error: tag CGI_URL: URL to cgi directory is invalid (must "
...
...
@@ -2224,6 +2225,13 @@ void Config::create()
"recommended to install and use dot, since it yield more powerful graphs. \n",
TRUE
);
cb = addBool(
"HIDE_UNDOC_RELATIONS",
"If set to YES, the inheritance and collaboration graphs will hide \n"
"inheritance and usage relations if the target is undocumented \n"
"or is not a class. \n",
TRUE
);
cb = addBool(
"HAVE_DOT",
"If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is \n"
...
...
@@ -2257,14 +2265,6 @@ void Config::create()
TRUE
);
cb->addDependency("HAVE_DOT");
cb = addBool(
"HIDE_UNDOC_RELATIONS",
"If set to YES, the inheritance and collaboration graphs will hide \n"
"inheritance and usage relations if the target is undocumented \n"
"or is not a class. \n",
TRUE
);
cb->addDependency("HAVE_DOT");
cb = addBool(
"INCLUDE_GRAPH",
"If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT \n"
...
...
src/definition.cpp
View file @
ff31b2f1
...
...
@@ -123,7 +123,9 @@ void Definition::setBriefDescription(const char *b,const char *briefFile,int bri
switch
(
m_brief
.
at
(
bl
-
1
))
{
case
'.'
:
case
'!'
:
case
'?'
:
break
;
default
:
m_brief
+=
'.'
;
break
;
default
:
if
(
isupper
(
m_brief
.
at
(
0
)))
m_brief
+=
'.'
;
break
;
}
}
m_briefFile
=
briefFile
;
...
...
src/doc.l
View file @
ff31b2f1
...
...
@@ -1161,12 +1161,12 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
BEGIN( DocScan );
}
<DocScan>{CMD}"verbatim"/[^a-z_A-Z0-9] {
outDoc->start
Code
Fragment();
outDoc->start
Verbatim
Fragment();
insideVerbatim=TRUE;
BEGIN(DocVerbatim);
}
<DocVerbatim>{CMD}"endverbatim"/[^a-z_A-Z0-9] {
outDoc->end
Code
Fragment();
outDoc->end
Verbatim
Fragment();
insideVerbatim=FALSE;
BEGIN(DocScan);
}
...
...
@@ -1225,7 +1225,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
BEGIN( DocLinkText );
}
<DocJavaLink>([a-z_A-Z0-9]+".")+ { /* Skip scope prefix (TODO: fix) */ }
<DocJavaLink>([a-z_A-Z0-9]*"#")?[a-z_A-Z0-9]+("("[a-z_A-Z0-9.,:~&*()\[\]]*")")?({B}*("const"|"volatile"))? { // TODO: support operators as well!
<DocJavaLink>([a-z_A-Z0-9]*"#")?[a-z_A-Z0-9]+("("[a-z_A-Z0-9.,:~&*()\
\
[\]]*")")?({B}*("const"|"volatile"))? { // TODO: support operators as well!
linkRef = yytext;
linkText = "";
BEGIN( DocJavaLinkText );
...
...
@@ -1272,6 +1272,10 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
BEGIN(DocScan);
}
<DocScan>{CMD}("arg"|"li")/{BN} {
if (insideItemList)
{
forceEndItemList();
}
if (insideArgumentList)
{
outDoc->writeListItem();
...
...
src/dot.cpp
View file @
ff31b2f1
...
...
@@ -468,7 +468,7 @@ void DotNode::write(QTextStream &t,
}
}
void
DotNode
::
writeXML
(
QTextStream
&
t
)
void
DotNode
::
writeXML
(
QTextStream
&
t
,
bool
isClassGraph
)
{
t
<<
" <node id=
\"
"
<<
m_number
<<
"
\"
>"
<<
endl
;
t
<<
" <label>"
<<
convertToXML
(
m_label
)
<<
"</label>"
<<
endl
;
...
...
@@ -498,14 +498,21 @@ void DotNode::writeXML(QTextStream &t)
{
edgeInfo
=
eli
.
current
();
t
<<
" <childnode id=
\"
"
<<
childNode
->
m_number
<<
"
\"
relation=
\"
"
;
switch
(
edgeInfo
->
m_color
)
if
(
isClassGraph
)
{
case
EdgeInfo
:
:
Blue
:
t
<<
"public-inheritance"
;
break
;
case
EdgeInfo
:
:
Green
:
t
<<
"protected-inheritance"
;
break
;
case
EdgeInfo
:
:
Red
:
t
<<
"private-inheritance"
;
break
;
case
EdgeInfo
:
:
Purple
:
t
<<
"usage"
;
break
;
case
EdgeInfo
:
:
Orange
:
t
<<
"template-instance"
;
break
;
case
EdgeInfo
:
:
Grey
:
ASSERT
(
0
);
break
;
switch
(
edgeInfo
->
m_color
)
{
case
EdgeInfo
:
:
Blue
:
t
<<
"public-inheritance"
;
break
;
case
EdgeInfo
:
:
Green
:
t
<<
"protected-inheritance"
;
break
;
case
EdgeInfo
:
:
Red
:
t
<<
"private-inheritance"
;
break
;
case
EdgeInfo
:
:
Purple
:
t
<<
"usage"
;
break
;
case
EdgeInfo
:
:
Orange
:
t
<<
"template-instance"
;
break
;
case
EdgeInfo
:
:
Grey
:
ASSERT
(
0
);
break
;
}
}
else
// include graph
{
t
<<
"include"
;
}
t
<<
"
\"
>"
<<
endl
;
if
(
!
edgeInfo
->
m_label
.
isEmpty
())
...
...
@@ -1430,7 +1437,7 @@ void DotClassGraph::writeXML(QTextStream &t)
DotNode
*
node
;
for
(;(
node
=
dni
.
current
());
++
dni
)
{
node
->
writeXML
(
t
);
node
->
writeXML
(
t
,
TRUE
);
}
}
...
...
@@ -1661,7 +1668,7 @@ void DotInclDepGraph::writeXML(QTextStream &t)
DotNode
*
node
;
for
(;(
node
=
dni
.
current
());
++
dni
)
{
node
->
writeXML
(
t
);
node
->
writeXML
(
t
,
FALSE
);
}
}
...
...
src/dot.h
View file @
ff31b2f1
...
...
@@ -76,7 +76,7 @@ class DotNode
int
maxDistance
=
1000
,
bool
backArrows
=
TRUE
);
int
m_subgraphId
;
void
clearWriteFlag
();
void
writeXML
(
QTextStream
&
t
);
void
writeXML
(
QTextStream
&
t
,
bool
isClassGraph
);
void
writeDEF
(
QTextStream
&
t
);
QCString
label
()
const
{
return
m_label
;
}
int
number
()
const
{
return
m_number
;
}
...
...
src/doxygen.cpp
View file @
ff31b2f1
/******************************************************************************
*
*
$Id$
*
*
*
* Copyright (C) 1997-2002 by Dimitri van Heesch.
...
...
@@ -541,232 +541,232 @@ ArgumentList *getTemplateArgumentsFromName(
return
ali
.
current
();
}
//----------------------------------------------------------------------
// build a list of all classes mentioned in the documentation
// and all classes that have a documentation block before their definition.
static
void
buildClassList
(
Entry
*
root
)
static
void
addClassToContext
(
Entry
*
root
)
{
if
(
((
root
->
section
&
Entry
::
COMPOUNDDOC_MASK
)
||
((
root
->
section
&
Entry
::
COMPOUND_MASK
))
)
&&
!
root
->
name
.
isEmpty
()
)
QCString
fullName
=
removeRedundantWhiteSpace
(
root
->
name
);
if
(
fullName
.
isEmpty
())
{
QCString
fullName
=
removeRedundantWhiteSpace
(
root
->
name
);
if
(
fullName
.
isEmpty
())
{
// this should not be called
warn
(
root
->
fileName
,
root
->
startLine
,
"Warning: invalid class name found!"
);
goto
error
;
}
Debug
::
print
(
Debug
::
Classes
,
0
,
" Found class with raw name %s
\n
"
,
fullName
.
data
());
// this should not be called
warn
(
root
->
fileName
,
root
->
startLine
,
"Warning: invalid class name found!"
);
return
;
}
Debug
::
print
(
Debug
::
Classes
,
0
,
" Found class with raw name %s
\n
"
,
fullName
.
data
());
fullName
=
stripAnonymousNamespaceScope
(
fullName
);
fullName
=
stripTemplateSpecifiersFromScope
(
fullName
);
fullName
=
stripAnonymousNamespaceScope
(
fullName
);
fullName
=
stripTemplateSpecifiersFromScope
(
fullName
);
Debug
::
print
(
Debug
::
Classes
,
0
,
" Found class with name %s
\n
"
,
fullName
.
data
());
Debug
::
print
(
Debug
::
Classes
,
0
,
" Found class with name %s
\n
"
,
fullName
.
data
());
bool
ambig
;
ClassDef
*
cd
;
//printf("findFileDef(%s)\n",root->fileName.data());
FileDef
*
fd
=
findFileDef
(
Doxygen
::
inputNameDict
,
root
->
fileName
,
ambig
);
bool
ambig
;
ClassDef
*
cd
;
//printf("findFileDef(%s)\n",root->fileName.data());
FileDef
*
fd
=
findFileDef
(
Doxygen
::
inputNameDict
,
root
->
fileName
,
ambig
);
if
((
cd
=
getClass
(
fullName
)))
{
Debug
::
print
(
Debug
::
Classes
,
0
,
" Existing class!
\n
"
,
fullName
.
data
());
//if (cd->templateArguments()==0)
//{
// //printf("existing ClassDef tempArgList=%p specScope=%s\n",root->tArgList,root->scopeSpec.data());
// cd->setTemplateArguments(tArgList);
//}
if
(
!
root
->
doc
.
isEmpty
()
||
!
root
->
brief
.
isEmpty
()
||
(
root
->
bodyLine
!=-
1
&&
Config_getBool
(
"SOURCE_BROWSER"
))
)
// block contains something that ends up in the docs
{
if
(
!
root
->
doc
.
isEmpty
()
&&
!
cd
->
documentation
().
isEmpty
())
{
warn
(
root
->
fileName
,
root
->
startLine
,
"Warning: class %s already has a detailed description. "
"Skipping the one found here."
,
fullName
.
data
()
);
}
else
if
(
!
root
->
doc
.
isEmpty
())
{
cd
->
setDocumentation
(
root
->
doc
,
root
->
docFile
,
root
->
docLine
);
}
if
(
!
root
->
brief
.
isEmpty
()
&&
!
cd
->
briefDescription
().
isEmpty
())
{
warn
(
root
->
fileName
,
root
->
startLine
,
"Warning: class %s already has a brief description
\n
"
" skipping the one found here."
,
fullName
.
data
()
);
}
else
if
(
!
root
->
brief
.
isEmpty
())
{
cd
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
}
if
(
root
->
bodyLine
!=-
1
&&
cd
->
getStartBodyLine
()
==-
1
)
{
cd
->
setBodySegment
(
root
->
bodyLine
,
root
->
endBodyLine
);
cd
->
setBodyDef
(
findFileDef
(
Doxygen
::
inputNameDict
,
root
->
fileName
,
ambig
));
}
cd
->
addSectionsToDefinition
(
root
->
anchors
);
cd
->
setName
(
fullName
);
// change name to match docs
}
cd
->
setFileDef
(
fd
);
if
(
cd
->
hasDocumentation
())
if
((
cd
=
getClass
(
fullName
)))
{
Debug
::
print
(
Debug
::
Classes
,
0
,
" Existing class!
\n
"
,
fullName
.
data
());
//if (cd->templateArguments()==0)
//{
// //printf("existing ClassDef tempArgList=%p specScope=%s\n",root->tArgList,root->scopeSpec.data());
// cd->setTemplateArguments(tArgList);
//}
if
(
!
root
->
doc
.
isEmpty
()
||
!
root
->
brief
.
isEmpty
()
||
(
root
->
bodyLine
!=-
1
&&
Config_getBool
(
"SOURCE_BROWSER"
))
)
// block contains something that ends up in the docs
{
if
(
!
root
->
doc
.
isEmpty
()
&&
!
cd
->
documentation
().
isEmpty
())
{
addIncludeFile
(
cd
,
fd
,
root
);
warn
(
root
->
fileName
,
root
->
startLine
,
"Warning: class %s already has a detailed description. "
"Skipping the one found here."
,
fullName
.
data
()
);
}
addNamespace
(
root
,
cd
);
if
(
fd
&&
(
root
->
section
&
Entry
::
COMPOUND_MASK
))
else
if
(
!
root
->
doc
.
isEmpty
())
{
//printf(">> Inserting class `%s' in file `%s' (root->fileName=`%s')\n",
// cd->name().data(),
// fd->name().data(),
// root->fileName.data()
// );
fd
->
insertClass
(
cd
);
cd
->
setDocumentation
(
root
->
doc
,
root
->
docFile
,
root
->
docLine
);
}
addClassToGroups
(
root
,
cd
);
cd
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
if
(
!
root
->
subGrouping
)
cd
->
setSubGrouping
(
FALSE
);
if
(
cd
->
templateArguments
()
==
0
)
if
(
!
root
->
brief
.
isEmpty
()
&&
!
cd
->
briefDescription
().
isEmpty
())
{
// this happens if a template class declared with @class is found
// before the actual definition.
ArgumentList
*
tArgList
=
getTemplateArgumentsFromName
(
fullName
,
root
->
tArgLists
);
cd
->
setTemplateArguments
(
tArgList
);
warn
(
root
->
fileName
,
root
->
startLine
,
"Warning: class %s already has a brief description
\n
"
" skipping the one found here."
,
fullName
.
data
()
);
}
}
else
// new class
{
ClassDef
::
CompoundType
sec
=
ClassDef
::
Class
;
switch
(
root
->
section
)
else
if
(
!
root
->
brief
.
isEmpty
())
{
case
Entry
:
:
UNION_SEC
:
case
Entry
:
:
UNIONDOC_SEC
:
sec
=
ClassDef
::
Union
;
break
;
case
Entry
:
:
STRUCT_SEC
:
case
Entry
:
:
STRUCTDOC_SEC
:
sec
=
ClassDef
::
Struct
;
break
;
case
Entry
:
:
INTERFACE_SEC
:
case
Entry
:
:
INTERFACEDOC_SEC
:
sec
=
ClassDef
::
Interface
;
break
;
case
Entry
:
:
EXCEPTION_SEC
:
case
Entry
:
:
EXCEPTIONDOC_SEC
:
sec
=
ClassDef
::
Exception
;
break
;
cd
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
}
Debug
::
print
(
Debug
::
Classes
,
0
,
" New class `%s' (sec=0x%08x)! #tArgLists=%d
\n
"
,
fullName
.
data
(),
root
->
section
,
root
->
tArgLists
?
(
int
)
root
->
tArgLists
->
count
()
:
-
1
);
QCString
className
;
QCString
namespaceName
;
extractNamespaceName
(
fullName
,
className
,
namespaceName
);
//printf("New class: namespace `%s' name=`%s'\n",className.data(),namespaceName.data());
QCString
tagName
;
QCString
refFileName
;
if
(
root
->
tagInfo
)
if
(
root
->
bodyLine
!=-
1
&&
cd
->
getStartBodyLine
()
==-
1
)
{
tagName
=
root
->
tagInfo
->
tagName
;
refFileName
=
root
->
tagInfo
->
fileName
;
cd
->
setBodySegment
(
root
->
bodyLine
,
root
->
endBodyLine
)
;
cd
->
setBodyDef
(
findFileDef
(
Doxygen
::
inputNameDict
,
root
->
fileName
,
ambig
))
;
}
ClassDef
*
cd
=
new
ClassDef
(
root
->
fileName
,
root
->
startLine
,
fullName
,
sec
,
tagName
,
refFileName
);
cd
->
setDocumentation
(
root
->
doc
,
root
->
docFile
,
root
->
docLine
);
// copy docs to definition
cd
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
//printf("new ClassDef %s tempArgList=%p specScope=%s\n",fullName.data(),root->tArgList,root->scopeSpec.data());
cd
->
addSectionsToDefinition
(
root
->
anchors
);
cd
->
setName
(
fullName
);
// change name to match docs
}
cd
->
setFileDef
(
fd
);
if
(
cd
->
hasDocumentation
())
{
addIncludeFile
(
cd
,
fd
,
root
);
}
addNamespace
(
root
,
cd
);
if
(
fd
&&
(
root
->
section
&
Entry
::
COMPOUND_MASK
))
{
//printf(">> Inserting class `%s' in file `%s' (root->fileName=`%s')\n",
// cd->name().data(),
// fd->name().data(),
// root->fileName.data()
// );
fd
->
insertClass
(
cd
);
}
addClassToGroups
(
root
,
cd
);
cd
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
if
(
!
root
->
subGrouping
)
cd
->
setSubGrouping
(
FALSE
);
if
(
cd
->
templateArguments
()
==
0
)
{
// this happens if a template class declared with @class is found
// before the actual definition.
ArgumentList
*
tArgList
=
getTemplateArgumentsFromName
(
fullName
,
root
->
tArgLists
);
//printf("class %s template args=%s\n",fullName.data(),
// tArgList ? tempArgListToString(tArgList).data() : "<none>");
cd
->
setTemplateArguments
(
tArgList
);
cd
->
setProtection
(
root
->
protection
);
cd
->
addSectionsToDefinition
(
root
->
anchors
);
cd
->
setIsStatic
(
root
->
stat
);
}
}
else
// new class
{
ClassDef
::
CompoundType
sec
=
ClassDef
::
Class
;
switch
(
root
->
section
)
{
case
Entry
:
:
UNION_SEC
:
case
Entry
:
:
UNIONDOC_SEC
:
sec
=
ClassDef
::
Union
;
break
;
case
Entry
:
:
STRUCT_SEC
:
case
Entry
:
:
STRUCTDOC_SEC
:
sec
=
ClassDef
::
Struct
;
break
;
case
Entry
:
:
INTERFACE_SEC
:
case
Entry
:
:
INTERFACEDOC_SEC
:
sec
=
ClassDef
::
Interface
;
break
;
case
Entry
:
:
EXCEPTION_SEC
:
case
Entry
:
:
EXCEPTIONDOC_SEC
:
sec
=
ClassDef
::
Exception
;
break
;
}
Debug
::
print
(
Debug
::
Classes
,
0
,
" New class `%s' (sec=0x%08x)! #tArgLists=%d
\n
"
,
fullName
.
data
(),
root
->
section
,
root
->
tArgLists
?
(
int
)
root
->
tArgLists
->
count
()
:
-
1
);
QCString
className
;
QCString
namespaceName
;
extractNamespaceName
(
fullName
,
className
,
namespaceName
);
// file definition containing the class cd
cd
->
setBodySegment
(
root
->
bodyLine
,
root
->
endBodyLine
);
cd
->
setBodyDef
(
fd
);
if
(
!
root
->
subGrouping
)
cd
->
setSubGrouping
(
FALSE
);
//printf("New class: namespace `%s' name=`%s'\n",className.data(),namespaceName.data());
addClassToGroups
(
root
,
cd
);
cd
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
QCString
tagName
;
QCString
refFileName
;
if
(
root
->
tagInfo
)
{
tagName
=
root
->
tagInfo
->
tagName
;
refFileName
=
root
->
tagInfo
->
fileName
;
}
ClassDef
*
cd
=
new
ClassDef
(
root
->
fileName
,
root
->
startLine
,
fullName
,
sec
,
tagName
,
refFileName
);
cd
->
setDocumentation
(
root
->
doc
,
root
->
docFile
,
root
->
docLine
);
// copy docs to definition
cd
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
//printf("new ClassDef %s tempArgList=%p specScope=%s\n",fullName.data(),root->tArgList,root->scopeSpec.data());
// see if the class is found inside a namespace
bool
found
=
addNamespace
(
root
,
cd
);
cd
->
setFileDef
(
fd
);
if
(
cd
->
hasDocumentation
())
{
addIncludeFile
(
cd
,
fd
,
root
);
}
ArgumentList
*
tArgList
=
getTemplateArgumentsFromName
(
fullName
,
root
->
tArgLists
);
//printf("class %s template args=%s\n",fullName.data(),
// tArgList ? tempArgListToString(tArgList).data() : "<none>");
cd
->
setTemplateArguments
(
tArgList
);
cd
->
setProtection
(
root
->
protection
);
cd
->
addSectionsToDefinition
(
root
->
anchors
);
cd
->
setIsStatic
(
root
->
stat
);
// namespace is part of the class name
if
(
!
found
&&
!
namespaceName
.
isEmpty
())
{
NamespaceDef
*
nd
=
getResolvedNamespace
(
namespaceName
);
if
(
nd
)
{
cd
->
setNamespace
(
nd
);
nd
->
insertClass
(
cd
);
found
=
TRUE
;
}
}
// file definition containing the class cd
cd
->
setBodySegment
(
root
->
bodyLine
,
root
->
endBodyLine
);
cd
->
setBodyDef
(
fd
);
if
(
!
root
->
subGrouping
)
cd
->
setSubGrouping
(
FALSE
);
// if the class is not in a namespace then we insert
// it in the file definition
if
(
!
found
&&
fd
&&
(
root
->
section
&
Entry
::
COMPOUND_MASK
))
{
//printf(">> Inserting class `%s' in file `%s' (root->fileName=`%s')\n",
// cd->name().data(),
// fd->name().data(),
// root->fileName.data()
// );
fd
->
insertClass
(
cd
);
}
addClassToGroups
(
root
,
cd
);
cd
->
setRefItems
(
root
->
todoId
,
root
->
testId
,
root
->
bugId
);
// the empty string test is needed for extract all case
cd
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
cd
->
insertUsedFile
(
root
->
fileName
);
// see if the class is found inside a namespace
bool
found
=
addNamespace
(
root
,
cd
);
// add class to the list
//printf("ClassDict.insert(%s)\n",resolveDefines(fullName).data());
Doxygen
::
classSDict
.
append
(
fullName
,
cd
);
cd
->
setFileDef
(
fd
);
if
(
cd
->
hasDocumentation
())
{
addIncludeFile
(
cd
,
fd
,
root
);
}
// also add class to the correct structural context
Definition
*
d
=
findScopeFromQualifiedName
(
Doxygen
::
globalScope
,
fullName
);
if
(
d
==
0
)
{
//warn(root->fileName,root->startLine,
// "Warning: Internal inconsistency: scope for class %s not "
// "found!\n",fullName.data()
// );
}
else
// namespace is part of the class name
if
(
!
found
&&
!
namespaceName
.
isEmpty
())
{
NamespaceDef
*
nd
=
getResolvedNamespace
(
namespaceName
);
if
(
nd
)
{
//printf("****** adding %s to scope %s\n",cd->name().data(),d->name().data()
);
d
->
addInnerCompound
(
cd
);
cd
->
setOuterScope
(
d
)
;
cd
->
setNamespace
(
nd
);
nd
->
insertClass
(
cd
);
found
=
TRUE
;
}
}
// if the class is not in a namespace then we insert
// it in the file definition
if
(
!
found
&&
fd
&&
(
root
->
section
&
Entry
::
COMPOUND_MASK
))
{
//printf(">> Inserting class `%s' in file `%s' (root->fileName=`%s')\n",
// cd->name().data(),
// fd->name().data(),
// root->fileName.data()
// );
fd
->
insertClass
(
cd
);
}
// the empty string test is needed for extract all case
cd
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
cd
->
insertUsedFile
(
root
->
fileName
);
// add class to the list
//printf("ClassDict.insert(%s)\n",resolveDefines(fullName).data());
Doxygen
::
classSDict
.
append
(
fullName
,
cd
);
// also add class to the correct structural context
Definition
*
d
=
findScopeFromQualifiedName
(
Doxygen
::
globalScope
,
fullName
);
if
(
d
==
0
)
{
//warn(root->fileName,root->startLine,
// "Warning: Internal inconsistency: scope for class %s not "
// "found!\n",fullName.data()
// );
}
else
{
//printf("****** adding %s to scope %s\n",cd->name().data(),d->name().data());
d
->
addInnerCompound
(
cd
);
cd
->
setOuterScope
(
d
);
}
}
}
//----------------------------------------------------------------------
// build a list of all classes mentioned in the documentation
// and all classes that have a documentation block before their definition.
static
void
buildClassList
(
Entry
*
root
)
{
if
(
(
root
->
section
&
Entry
::
COMPOUND_MASK
)
&&
!
root
->
name
.
isEmpty
()
)
{
addClassToContext
(
root
);
}
error:
EntryListIterator
eli
(
*
root
->
sublist
);
Entry
*
e
;
for
(;(
e
=
eli
.
current
());
++
eli
)
...
...
@@ -775,18 +775,41 @@ error:
}
}
static
void
buildClassDocList
(
Entry
*
root
)
{
if
(
(
root
->
section
&
Entry
::
COMPOUNDDOC_MASK
)
&&
!
root
->
name
.
isEmpty
()
)
{
addClassToContext
(
root
);
}
EntryListIterator
eli
(
*
root
->
sublist
);
Entry
*
e
;
for
(;(
e
=
eli
.
current
());
++
eli
)
{
buildClassDocList
(
e
);
}
}
//----------------------------------------------------------------------
// build a list of all namespaces mentioned in the documentation
// and all namespaces that have a documentation block before their definition.
static
void
buildNamespaceList
(
Entry
*
root
)
{
if
(
(
root
->
section
==
Entry
::
NAMESPACE_SEC
)
||
(
root
->
section
==
Entry
::
NAMESPACEDOC_SEC
)
&&
(
root
->
section
==
Entry
::
NAMESPACE_SEC
||
root
->
section
==
Entry
::
NAMESPACEDOC_SEC
||
root
->
section
==
Entry
::
PACKAGEDOC_SEC
)
&&
!
root
->
name
.
isEmpty
()
)
{
QCString
fullName
=
stripAnonymousNamespaceScope
(
root
->
name
.
copy
());
QCString
fullName
=
root
->
name
;
if
(
root
->
section
==
Entry
::
PACKAGEDOC_SEC
)
{
fullName
=
substitute
(
fullName
,
"."
,
"::"
);
}
fullName
=
stripAnonymousNamespaceScope
(
fullName
);
if
(
!
fullName
.
isEmpty
())
{
//printf("Found namespace %s in %s at line %d\n",root->name.data(),
...
...
@@ -5564,50 +5587,50 @@ static void findMainPage(Entry *root)
//----------------------------------------------------------------------------
/*! Search for all Java package statements
*/
static
void
buildPackageList
(
Entry
*
root
)
{
if
(
root
->
section
==
Entry
::
PACKAGE_SEC
||
root
->
section
==
Entry
::
PACKAGEDOC_SEC
&&
!
root
->
name
.
isEmpty
())
{
PackageDef
*
pd
=
0
;
if
((
pd
=
Doxygen
::
packageDict
.
find
(
root
->
name
))
==
0
)
{
QCString
tagName
;
if
(
root
->
tagInfo
)
{
tagName
=
root
->
tagInfo
->
tagName
;
}
pd
=
new
PackageDef
(
root
->
fileName
,
root
->
startLine
,
root
->
name
,
tagName
);
Doxygen
::
packageDict
.
inSort
(
root
->
name
,
pd
);
pd
->
setDocumentation
(
root
->
doc
,
root
->
docFile
,
root
->
docLine
);
pd
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
}
else
{
if
(
!
pd
->
documentation
()
&&
!
root
->
doc
.
isEmpty
())
{
pd
->
setDocumentation
(
root
->
doc
,
root
->
docFile
,
root
->
docLine
);
}
if
(
!
pd
->
briefDescription
()
&&
!
root
->
brief
.
isEmpty
())
{
pd
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
}
}
bool
ambig
;
FileDef
*
fd
=
findFileDef
(
Doxygen
::
inputNameDict
,
root
->
fileName
,
ambig
);
if
(
fd
)
{
fd
->
setPackageDef
(
pd
);
}
}
EntryListIterator
eli
(
*
root
->
sublist
);
Entry
*
e
;
for
(;(
e
=
eli
.
current
());
++
eli
)
{
buildPackageList
(
e
);
}
}
/
//
*! Search for all Java package statements
//
*/
//
static void buildPackageList(Entry *root)
//
{
//
if (root->section == Entry::PACKAGE_SEC || root->section == Entry::PACKAGEDOC_SEC && !root->name.isEmpty())
//
{
//
PackageDef *pd=0;
//
if ((pd=Doxygen::packageDict.find(root->name))==0)
//
{
//
QCString tagName;
//
if (root->tagInfo)
//
{
//
tagName=root->tagInfo->tagName;
//
}
//
pd = new PackageDef(root->fileName,root->startLine,root->name,tagName);
//
Doxygen::packageDict.inSort(root->name,pd);
//
pd->setDocumentation(root->doc,root->docFile,root->docLine);
//
pd->setBriefDescription(root->brief,root->briefFile,root->briefLine);
//
}
//
else
//
{
//
if (!pd->documentation() && !root->doc.isEmpty())
//
{
//
pd->setDocumentation(root->doc,root->docFile,root->docLine);
//
}
//
if (!pd->briefDescription() && !root->brief.isEmpty())
//
{
//
pd->setBriefDescription(root->brief,root->briefFile,root->briefLine);
//
}
//
}
//
bool ambig;
//
FileDef *fd=findFileDef(Doxygen::inputNameDict,root->fileName,ambig);
//
if (fd)
//
{
//
fd->setPackageDef(pd);
//
}
//
}
//
EntryListIterator eli(*root->sublist);
//
Entry *e;
//
for (;(e=eli.current());++eli)
//
{
//
buildPackageList(e);
//
}
//
}
//----------------------------------------------------------------------------
...
...
@@ -5814,20 +5837,20 @@ static void generateGroupDocs()
//----------------------------------------------------------------------------
static
void
generatePackageDocs
()
{
writePackageIndex
(
*
outputList
);
if
(
Doxygen
::
packageDict
.
count
()
>
0
)
{
PackageSDict
::
Iterator
pdi
(
Doxygen
::
packageDict
);
PackageDef
*
pd
;
for
(
pdi
.
toFirst
();(
pd
=
pdi
.
current
());
++
pdi
)
{
pd
->
writeDocumentation
(
*
outputList
);
}
}
}
//
static void generatePackageDocs()
//
{
//
writePackageIndex(*outputList);
//
//
if (Doxygen::packageDict.count()>0)
//
{
//
PackageSDict::Iterator pdi(Doxygen::packageDict);
//
PackageDef *pd;
//
for (pdi.toFirst();(pd=pdi.current());++pdi)
//
{
//
pd->writeDocumentation(*outputList);
//
}
//
}
//
}
//----------------------------------------------------------------------------
// generate module pages
...
...
@@ -7220,6 +7243,7 @@ void parseInput()
msg
(
"Building class list...
\n
"
);
buildClassList
(
root
);
buildClassDocList
(
root
);
findUsingDeclarations
(
root
);
msg
(
"Building example list...
\n
"
);
...
...
@@ -7268,8 +7292,8 @@ void parseInput()
msg
(
"Building page list...
\n
"
);
buildPageList
(
root
);
msg
(
"Building package list...
\n
"
);
buildPackageList
(
root
);
//
msg("Building package list...\n");
//
buildPackageList(root);
msg
(
"Search for main page...
\n
"
);
findMainPage
(
root
);
...
...
@@ -7425,9 +7449,9 @@ void generateOutput()
msg
(
"Generating group index...
\n
"
);
writeGroupIndex
(
*
outputList
);
msg
(
"Generating package index...
\n
"
);
generatePackageDocs
();
//
msg("Generating package index...\n");
//
generatePackageDocs();
msg
(
"Generating example index...
\n
"
);
writeExampleIndex
(
*
outputList
);
...
...
src/htmlgen.h
View file @
ff31b2f1
...
...
@@ -124,6 +124,8 @@ class HtmlGenerator : public OutputGenerator
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
writeLineNumber
(
const
char
*
,
const
char
*
,
const
char
*
,
int
);
void
startCodeLine
()
{
col
=
0
;
}
void
endCodeLine
()
{
codify
(
"
\n
"
);
}
...
...
src/index.cpp
View file @
ff31b2f1
...
...
@@ -1230,48 +1230,48 @@ void writeAnnotatedClassList(OutputList &ol)
//----------------------------------------------------------------------------
// OBSOLETE
void
writePackageList
(
OutputList
&
ol
)
{
bool
&
generateHtml
=
Config_getBool
(
"GENERATE_HTML"
)
;
bool
hasHtmlHelp
=
generateHtml
&&
Config_getBool
(
"GENERATE_HTMLHELP"
);
bool
hasFtvHelp
=
generateHtml
&&
Config_getBool
(
"GENERATE_TREEVIEW"
);
ol
.
startIndexList
();
PackageSDict
::
Iterator
pdi
(
Doxygen
::
packageDict
);
PackageDef
*
pd
;
for
(;(
pd
=
pdi
.
current
());
++
pdi
)
{
if
(
!
pd
->
isReference
())
{
//ol.writeStartAnnoItem("package",pd->getOutputFileBase(),0,pd->name());
ol
.
startIndexKey
();
ol
.
writeObjectLink
(
0
,
pd
->
getOutputFileBase
(),
0
,
pd
->
name
());
ol
.
endIndexKey
();
bool
hasBrief
=
!
pd
->
briefDescription
().
isEmpty
();
ol
.
startIndexValue
(
hasBrief
);
if
(
hasBrief
)
{
//ol.docify(" (");
parseDoc
(
ol
,
pd
->
getDefFileName
(),
pd
->
getDefLine
(),
pd
->
name
(),
0
,
abbreviate
(
pd
->
briefDescription
(),
pd
->
name
()));
//ol.docify(")");
}
ol
.
endIndexValue
(
pd
->
getOutputFileBase
(),
hasBrief
);
//ol.writeEndAnnoItem(pd->getOutputFileBase());
if
(
hasHtmlHelp
)
{
HtmlHelp
::
getInstance
()
->
addContentsItem
(
FALSE
,
pd
->
name
(),
pd
->
getOutputFileBase
());
}
if
(
hasFtvHelp
)
{
FTVHelp
::
getInstance
()
->
addContentsItem
(
FALSE
,
pd
->
getReference
(),
pd
->
getOutputFileBase
(),
0
,
pd
->
name
());
}
}
}
ol
.
endIndexList
();
}
//
void writePackageList(OutputList &ol)
//
{
//
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
//
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
//
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
//
ol.startIndexList();
//
PackageSDict::Iterator pdi(Doxygen::packageDict);
//
PackageDef *pd;
//
for (;(pd=pdi.current());++pdi)
//
{
//
if (!pd->isReference())
//
{
//
//ol.writeStartAnnoItem("package",pd->getOutputFileBase(),0,pd->name());
//
ol.startIndexKey();
//
ol.writeObjectLink(0,pd->getOutputFileBase(),0,pd->name());
//
ol.endIndexKey();
//
bool hasBrief = !pd->briefDescription().isEmpty();
//
ol.startIndexValue(hasBrief);
//
if (hasBrief)
//
{
//
//ol.docify(" (");
//
parseDoc(ol,
//
pd->getDefFileName(),pd->getDefLine(),
//
pd->name(),0,
//
abbreviate(pd->briefDescription(),pd->name()));
//
//ol.docify(")");
//
}
//
ol.endIndexValue(pd->getOutputFileBase(),hasBrief);
//
//
//ol.writeEndAnnoItem(pd->getOutputFileBase());
//
if (hasHtmlHelp)
//
{
//
HtmlHelp::getInstance()->addContentsItem(FALSE,pd->name(),pd->getOutputFileBase());
//
}
//
if (hasFtvHelp)
//
{
//
FTVHelp::getInstance()->addContentsItem(FALSE,pd->getReference(),pd->getOutputFileBase(),0,pd->name());
//
}
//
}
//
}
//
ol.endIndexList();
//
}
//----------------------------------------------------------------------------
...
...
@@ -1496,54 +1496,54 @@ void writeAnnotatedIndex(OutputList &ol)
//----------------------------------------------------------------------------
void
writePackageIndex
(
OutputList
&
ol
)
{
bool
&
generateHtml
=
Config_getBool
(
"GENERATE_HTML"
)
;
bool
hasHtmlHelp
=
generateHtml
&&
Config_getBool
(
"GENERATE_HTMLHELP"
);
bool
hasFtvHelp
=
generateHtml
&&
Config_getBool
(
"GENERATE_TREEVIEW"
);
if
(
documentedPackages
==
0
)
return
;
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Man
);
startFile
(
ol
,
"packages"
,
0
,
"Package Index"
);
startTitle
(
ol
,
0
);
QCString
title
=
theTranslator
->
trPackageList
();
QCString
htmlHelpTitle
=
title
;
QCString
ftvHelpTitle
=
title
;
if
(
!
Config_getString
(
"PROJECT_NAME"
).
isEmpty
())
title
.
prepend
(
Config_getString
(
"PROJECT_NAME"
)
+
" "
);
parseText
(
ol
,
title
);
endTitle
(
ol
,
0
,
0
);
ol
.
startTextBlock
();
HtmlHelp
*
htmlHelp
=
0
;
FTVHelp
*
ftvHelp
=
0
;
if
(
hasHtmlHelp
)
{
htmlHelp
=
HtmlHelp
::
getInstance
();
htmlHelp
->
addContentsItem
(
TRUE
,
htmlHelpTitle
,
"packages"
);
htmlHelp
->
incContentsDepth
();
}
if
(
hasFtvHelp
)
{
ftvHelp
=
FTVHelp
::
getInstance
();
ftvHelp
->
addContentsItem
(
TRUE
,
0
,
"packages"
,
0
,
ftvHelpTitle
);
ftvHelp
->
incContentsDepth
();
}
parseText
(
ol
,
theTranslator
->
trPackageListDescription
());
ol
.
endTextBlock
();
writePackageList
(
ol
);
if
(
hasHtmlHelp
)
{
htmlHelp
->
decContentsDepth
();
}
if
(
hasFtvHelp
)
{
ftvHelp
->
decContentsDepth
();
}
endFile
(
ol
);
ol
.
popGeneratorState
();
}
//
void writePackageIndex(OutputList &ol)
//
{
//
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
//
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
//
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
//
//
if (documentedPackages==0) return;
//
//
ol.pushGeneratorState();
//
ol.disable(OutputGenerator::Man);
//
startFile(ol,"packages",0,"Package Index");
//
startTitle(ol,0);
//
QCString title = theTranslator->trPackageList();
//
QCString htmlHelpTitle = title;
//
QCString ftvHelpTitle = title;
//
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
//
parseText(ol,title);
//
endTitle(ol,0,0);
//
ol.startTextBlock();
//
HtmlHelp *htmlHelp = 0;
//
FTVHelp *ftvHelp = 0;
//
if (hasHtmlHelp)
//
{
//
htmlHelp = HtmlHelp::getInstance();
//
htmlHelp->addContentsItem(TRUE,htmlHelpTitle,"packages");
//
htmlHelp->incContentsDepth();
//
}
//
if (hasFtvHelp)
//
{
//
ftvHelp = FTVHelp::getInstance();
//
ftvHelp->addContentsItem(TRUE,0,"packages",0,ftvHelpTitle);
//
ftvHelp->incContentsDepth();
//
}
//
parseText(ol,theTranslator->trPackageListDescription());
//
ol.endTextBlock();
//
writePackageList(ol);
//
if (hasHtmlHelp)
//
{
//
htmlHelp->decContentsDepth();
//
}
//
if (hasFtvHelp)
//
{
//
ftvHelp->decContentsDepth();
//
}
//
//
endFile(ol);
//
ol.popGeneratorState();
//
}
//----------------------------------------------------------------------------
...
...
src/latexgen.h
View file @
ff31b2f1
...
...
@@ -122,6 +122,8 @@ class LatexGenerator : public OutputGenerator
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
"
);
}
...
...
src/mangen.h
View file @
ff31b2f1
...
...
@@ -112,8 +112,10 @@ class ManGenerator : public OutputGenerator
void
writeAnchor
(
const
char
*
,
const
char
*
)
{}
void
startCodeFragment
();
void
endCodeFragment
();
void
startPreFragment
()
{
startCodeFragment
();
}
void
endPreFragment
()
{
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
;
}
...
...
src/outputgen.h
View file @
ff31b2f1
...
...
@@ -163,11 +163,19 @@ class BaseOutputDocInterface
/*! Starts a fragment of preformatted text. This means that
* spacing, tabs and newlines should be kept in the output
*/
virtual
void
startPreFragment
()
=
0
;
/*! Ens a preformatted text fragment. */
/*! Ends a preformatted text fragment. */
virtual
void
endPreFragment
()
=
0
;
/*! Starts a fragment of verbatim test. This is preformatted text,
* without any special internal structure.
*/
virtual
void
startVerbatimFragment
()
=
0
;
/*! Ends a verbatim text fragment. */
virtual
void
endVerbatimFragment
()
=
0
;
/*! Writes a horizontal ruler to the output */
virtual
void
writeRuler
()
=
0
;
...
...
src/outputlist.h
View file @
ff31b2f1
...
...
@@ -210,6 +210,10 @@ class OutputList : public OutputDocInterface
{
forall
(
&
OutputGenerator
::
startPreFragment
);
}
void
endPreFragment
()
{
forall
(
&
OutputGenerator
::
endPreFragment
);
}
void
startVerbatimFragment
()
{
forall
(
&
OutputGenerator
::
startVerbatimFragment
);
}
void
endVerbatimFragment
()
{
forall
(
&
OutputGenerator
::
endVerbatimFragment
);
}
void
startCodeLine
()
{
forall
(
&
OutputGenerator
::
startCodeLine
);
}
void
endCodeLine
()
...
...
src/pre.l
View file @
ff31b2f1
...
...
@@ -1518,7 +1518,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
g_defVarArgs = FALSE;
if ( g_defName!=g_lastGuardName )
{ // define may appear in the output
QCString tmp=(QCString)"#define "+g_defName
+g_defArgsStr
;
QCString tmp=(QCString)"#define "+g_defName;
outputArray(tmp.data(),tmp.length());
g_quoteArg=FALSE;
BEGIN(DefineText);
...
...
@@ -1527,10 +1527,10 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
{
//printf("Found a guard %s\n",yytext);
Define *def=0;
//
if (g_includeStack.isEmpty())
//
{
//
addDefine();
//
}
if (g_includeStack.isEmpty())
{
addDefine();
}
if ((def=g_fileDefineDict->find(g_defName))==0)
{
g_fileDefineDict->insert(g_defName,newDefine());
...
...
@@ -1551,6 +1551,8 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
//printf("Error: define %s is defined more than once!\n",g_defName.data());
}
}
QCString tmp=(QCString)"#define "+g_defName;
outputArray(tmp.data(),tmp.length());
//outputChar('\n');
g_lastGuardName.resize(0);
BEGIN(Start);
...
...
src/rtfgen.cpp
View file @
ff31b2f1
...
...
@@ -7,8 +7,8 @@
* Style sheet additions by Alexander Bartolich
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
...
...
@@ -57,7 +57,7 @@ static QCString documentType;
static
QCString
documentId
;
static
QCString
keywords
;
// it is undocumented as far as I know, but
// it is undocumented as far as I know, but
// "."'s in a bookmarkname are converted to "_"'s
// when an RTF file is read in...
static
QCString
formatBmkStr
(
const
char
*
name
)
...
...
@@ -72,11 +72,11 @@ static QCString formatBmkStr(const char *name)
switch
(
c
)
{
case
'.'
:
// fall through
case
':'
:
*
p
=
'_'
;
// fall through
case
':'
:
*
p
=
'_'
;
break
;
default:
default:
break
;
}
p
++
;
...
...
@@ -95,7 +95,7 @@ static QCString dateToRTFDateString()
const
QDateTime
&
d
=
QDateTime
::
currentDateTime
();
QCString
result
;
result
.
sprintf
(
"
\\
yr%d
\\
mo%d
\\
dy%d
\\
hr%d
\\
min%d
\\
sec%d"
,
d
.
date
().
year
(),
d
.
date
().
month
(),
d
.
date
().
day
(),
d
.
date
().
year
(),
d
.
date
().
month
(),
d
.
date
().
day
(),
d
.
time
().
hour
(),
d
.
time
().
minute
(),
d
.
time
().
second
());
return
result
;
}
...
...
@@ -147,159 +147,159 @@ static const struct Rtf_Style_Default Rtf_Style_Default[] =
{
{
"Heading1"
,
"
\\
s1
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs36
\\
kerning36
\\
cgrid "
,
"
\\
sbasedon0
\\
snext0 heading 1"
"
\\
sbasedon0
\\
snext0 heading 1"
},
{
"Heading2"
,
"
\\
s2
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs28
\\
kerning28
\\
cgrid "
,
"
\\
sbasedon0
\\
snext0 heading 2"
"
\\
sbasedon0
\\
snext0 heading 2"
},
{
"Heading3"
,
"
\\
s3
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
cgrid "
,
"
\\
sbasedon0
\\
snext0 heading 3"
"
\\
sbasedon0
\\
snext0 heading 3"
},
{
"Heading4"
,
"
\\
s4
\\
sb240
\\
sa60
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext0 heading 4;}{
\\
*
\\
cs10
\\
additive Default Paragraph Font"
"
\\
sbasedon0
\\
snext0 heading 4;}{
\\
*
\\
cs10
\\
additive Default Paragraph Font"
},
{
"Title"
,
"
\\
s15
\\
qc
\\
sb240
\\
sa60
\\
widctlpar
\\
outlinelevel0
\\
adjustright
\\
b
\\
f1
\\
fs32
\\
kerning28
\\
cgrid "
,
"
\\
sbasedon0
\\
snext15 Title"
"
\\
sbasedon0
\\
snext15 Title"
},
{
"SubTitle"
,
"
\\
s16
\\
qc
\\
sa60
\\
widctlpar
\\
outlinelevel1
\\
adjustright
\\
f1
\\
cgrid "
,
"
\\
sbasedon0
\\
snext16 Subtitle"
"
\\
sbasedon0
\\
snext16 Subtitle"
},
{
"BodyText"
,
"
\\
s17
\\
sa60
\\
sb30
\\
widctlpar
\\
qj
\\
fs22
\\
cgrid "
,
"
\\
sbasedon0
\\
snext17 BodyText"
"
\\
sbasedon0
\\
snext17 BodyText"
},
{
"DenseText"
,
"
\\
s18
\\
widctlpar
\\
fs22
\\
cgrid "
,
"
\\
sbasedon0
\\
snext18 DenseText"
"
\\
sbasedon0
\\
snext18 DenseText"
},
{
"Header"
,
"
\\
s28
\\
widctlpar
\\
tqc
\\
tx4320
\\
tqr
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext28 header"
"
\\
sbasedon0
\\
snext28 header"
},
{
"Footer"
,
"
\\
s29
\\
widctlpar
\\
tqc
\\
tx4320
\\
tqr
\\
tx8640
\\
qr
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext29 footer"
"
\\
sbasedon0
\\
snext29 footer"
},
{
"GroupHeader"
,
"
\\
s30
\\
li360
\\
sa60
\\
sb120
\\
keepn
\\
widctlpar
\\
adjustright
\\
b
\\
f1
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext30 GroupHeader"
"
\\
sbasedon0
\\
snext30 GroupHeader"
},
{
"CodeExample0"
,
{
"CodeExample0"
,
"
\\
s40
\\
li0
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext41 Code Example 0"
"
\\
sbasedon0
\\
snext41 Code Example 0"
},
{
"CodeExample1"
,
{
"CodeExample1"
,
"
\\
s41
\\
li360
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext42 Code Example 1"
"
\\
sbasedon0
\\
snext42 Code Example 1"
},
{
"CodeExample2"
,
{
"CodeExample2"
,
"
\\
s42
\\
li720
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext43 Code Example 2"
"
\\
sbasedon0
\\
snext43 Code Example 2"
},
{
"CodeExample3"
,
{
"CodeExample3"
,
"
\\
s43
\\
li1080
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext44 Code Example 3"
"
\\
sbasedon0
\\
snext44 Code Example 3"
},
{
"CodeExample4"
,
{
"CodeExample4"
,
"
\\
s44
\\
li1440
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext45 Code Example 4"
"
\\
sbasedon0
\\
snext45 Code Example 4"
},
{
"CodeExample5"
,
{
"CodeExample5"
,
"
\\
s45
\\
li1800
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext46 Code Example 5"
"
\\
sbasedon0
\\
snext46 Code Example 5"
},
{
"CodeExample6"
,
{
"CodeExample6"
,
"
\\
s46
\\
li2160
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext47 Code Example 6"
"
\\
sbasedon0
\\
snext47 Code Example 6"
},
{
"CodeExample7"
,
{
"CodeExample7"
,
"
\\
s47
\\
li2520
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext48 Code Example 7"
"
\\
sbasedon0
\\
snext48 Code Example 7"
},
{
"CodeExample8"
,
{
"CodeExample8"
,
"
\\
s48
\\
li2880
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext49 Code Example 8"
"
\\
sbasedon0
\\
snext49 Code Example 8"
},
{
"CodeExample9"
,
"
\\
s49
\\
li3240
\\
widctlpar
\\
adjustright
\\
shading1000
\\
cbpat8
\\
f2
\\
fs16
\\
cgrid "
,
"
\\
sbasedon0
\\
snext49 Code Example 9"
"
\\
sbasedon0
\\
snext49 Code Example 9"
},
{
"ListContinue0"
,
"
\\
s50
\\
li0
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext51 List Continue 0"
"
\\
sbasedon0
\\
snext51 List Continue 0"
},
{
"ListContinue1"
,
{
"ListContinue1"
,
"
\\
s51
\\
li360
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext52 List Continue 1"
"
\\
sbasedon0
\\
snext52 List Continue 1"
},
{
"ListContinue2"
,
{
"ListContinue2"
,
"
\\
s52
\\
li720
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext53 List Continue 2"
"
\\
sbasedon0
\\
snext53 List Continue 2"
},
{
"ListContinue3"
,
{
"ListContinue3"
,
"
\\
s53
\\
li1080
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext54 List Continue 3"
"
\\
sbasedon0
\\
snext54 List Continue 3"
},
{
"ListContinue4"
,
{
"ListContinue4"
,
"
\\
s54
\\
li1440
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext55 List Continue 4"
"
\\
sbasedon0
\\
snext55 List Continue 4"
},
{
"ListContinue5"
,
{
"ListContinue5"
,
"
\\
s55
\\
li1800
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext56 List Continue 5"
"
\\
sbasedon0
\\
snext56 List Continue 5"
},
{
"ListContinue6"
,
{
"ListContinue6"
,
"
\\
s56
\\
li2160
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext57 List Continue 6"
"
\\
sbasedon0
\\
snext57 List Continue 6"
},
{
"ListContinue7"
,
{
"ListContinue7"
,
"
\\
s57
\\
li2520
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext58 List Continue 7"
"
\\
sbasedon0
\\
snext58 List Continue 7"
},
{
"ListContinue8"
,
{
"ListContinue8"
,
"
\\
s58
\\
li2880
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext59 List Continue 8"
"
\\
sbasedon0
\\
snext59 List Continue 8"
},
{
"ListContinue9"
,
{
"ListContinue9"
,
"
\\
s59
\\
li3240
\\
sa60
\\
sb30
\\
qj
\\
widctlpar
\\
qj
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext59 List Continue 9"
"
\\
sbasedon0
\\
snext59 List Continue 9"
},
{
"DescContinue0"
,
"
\\
s60
\\
li0
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext61 DescContinue 0"
"
\\
sbasedon0
\\
snext61 DescContinue 0"
},
{
"DescContinue1"
,
{
"DescContinue1"
,
"
\\
s61
\\
li360
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext62 DescContinue 1"
"
\\
sbasedon0
\\
snext62 DescContinue 1"
},
{
"DescContinue2"
,
"
\\
s62
\\
li720
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext63 DescContinue 2"
"
\\
sbasedon0
\\
snext63 DescContinue 2"
},
{
"DescContinue3"
,
"
\\
s63
\\
li1080
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext64 DescContinue 3"
"
\\
sbasedon0
\\
snext64 DescContinue 3"
},
{
"DescContinue4"
,
"
\\
s64
\\
li1440
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext65 DescContinue 4"
"
\\
sbasedon0
\\
snext65 DescContinue 4"
},
{
"DescContinue5"
,
"
\\
s65
\\
li1800
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext66 DescContinue 5"
"
\\
sbasedon0
\\
snext66 DescContinue 5"
},
{
"DescContinue6"
,
"
\\
s66
\\
li2160
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext67 DescContinue 6"
"
\\
sbasedon0
\\
snext67 DescContinue 6"
},
{
"DescContinue7"
,
"
\\
s67
\\
li2520
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext68 DescContinue 7"
"
\\
sbasedon0
\\
snext68 DescContinue 7"
},
{
"DescContinue8"
,
"
\\
s68
\\
li2880
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
...
...
@@ -307,127 +307,127 @@ static const struct Rtf_Style_Default Rtf_Style_Default[] =
},
{
"DescContinue9"
,
"
\\
s69
\\
li3240
\\
widctlpar
\\
ql
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext69 DescContinue 9"
"
\\
sbasedon0
\\
snext69 DescContinue 9"
},
{
"LatexTOC0"
,
"
\\
s70
\\
li0
\\
sa30
\\
sb30
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext81 LatexTOC 0"
"
\\
sbasedon0
\\
snext81 LatexTOC 0"
},
{
"LatexTOC1"
,
"
\\
s71
\\
li360
\\
sa27
\\
sb27
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext82 LatexTOC 1"
"
\\
sbasedon0
\\
snext82 LatexTOC 1"
},
{
"LatexTOC2"
,
"
\\
s72
\\
li720
\\
sa24
\\
sb24
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext83 LatexTOC 2"
"
\\
sbasedon0
\\
snext83 LatexTOC 2"
},
{
"LatexTOC3"
,
"
\\
s73
\\
li1080
\\
sa21
\\
sb21
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext84 LatexTOC 3"
"
\\
sbasedon0
\\
snext84 LatexTOC 3"
},
{
"LatexTOC4"
,
"
\\
s74
\\
li1440
\\
sa18
\\
sb18
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext85 LatexTOC 4"
"
\\
sbasedon0
\\
snext85 LatexTOC 4"
},
{
"LatexTOC5"
,
"
\\
s75
\\
li1800
\\
sa15
\\
sb15
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext86 LatexTOC 5"
"
\\
sbasedon0
\\
snext86 LatexTOC 5"
},
{
"LatexTOC6"
,
"
\\
s76
\\
li2160
\\
sa12
\\
sb12
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext87 LatexTOC 6"
"
\\
sbasedon0
\\
snext87 LatexTOC 6"
},
{
"LatexTOC7"
,
"
\\
s77
\\
li2520
\\
sa9
\\
sb9
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext88 LatexTOC 7"
"
\\
sbasedon0
\\
snext88 LatexTOC 7"
},
{
"LatexTOC8"
,
"
\\
s78
\\
li2880
\\
sa6
\\
sb6
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext89 LatexTOC 8"
"
\\
sbasedon0
\\
snext89 LatexTOC 8"
},
{
"LatexTOC9"
,
"
\\
s79
\\
li3240
\\
sa3
\\
sb3
\\
widctlpar
\\
tqr
\\
tldot
\\
tx8640
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext89 LatexTOC 9"
"
\\
sbasedon0
\\
snext89 LatexTOC 9"
},
{
"ListBullet0"
,
"
\\
s80
\\
fi-360
\\
li360
\\
widctlpar
\\
jclisttab
\\
tx360{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls1
\\
pnrnot0
\\
pndec }
\\
ls1
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext81
\\
sautoupd List Bullet 0"
"
\\
sbasedon0
\\
snext81
\\
sautoupd List Bullet 0"
},
{
"ListBullet1"
,
{
"ListBullet1"
,
"
\\
s81
\\
fi-360
\\
li720
\\
widctlpar
\\
jclisttab
\\
tx720{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls2
\\
pnrnot0
\\
pndec }
\\
ls2
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext82
\\
sautoupd List Bullet 1"
"
\\
sbasedon0
\\
snext82
\\
sautoupd List Bullet 1"
},
{
"ListBullet2"
,
"
\\
s82
\\
fi-360
\\
li1080
\\
widctlpar
\\
jclisttab
\\
tx1080{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls3
\\
pnrnot0
\\
pndec }
\\
ls3
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext83
\\
sautoupd List Bullet 2"
"
\\
sbasedon0
\\
snext83
\\
sautoupd List Bullet 2"
},
{
"ListBullet3"
,
"
\\
s83
\\
fi-360
\\
li1440
\\
widctlpar
\\
jclisttab
\\
tx1440{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls4
\\
pnrnot0
\\
pndec }
\\
ls4
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext84
\\
sautoupd List Bullet 3"
"
\\
sbasedon0
\\
snext84
\\
sautoupd List Bullet 3"
},
{
"ListBullet4"
,
"
\\
s84
\\
fi-360
\\
li1800
\\
widctlpar
\\
jclisttab
\\
tx1800{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls5
\\
pnrnot0
\\
pndec }
\\
ls5
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext85
\\
sautoupd List Bullet 4"
"
\\
sbasedon0
\\
snext85
\\
sautoupd List Bullet 4"
},
{
"ListBullet5"
,
"
\\
s85
\\
fi-360
\\
li2160
\\
widctlpar
\\
jclisttab
\\
tx2160{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls6
\\
pnrnot0
\\
pndec }
\\
ls6
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext86
\\
sautoupd List Bullet 5"
"
\\
sbasedon0
\\
snext86
\\
sautoupd List Bullet 5"
},
{
"ListBullet6"
,
"
\\
s86
\\
fi-360
\\
li2520
\\
widctlpar
\\
jclisttab
\\
tx2520{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls7
\\
pnrnot0
\\
pndec }
\\
ls7
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext87
\\
sautoupd List Bullet 6"
"
\\
sbasedon0
\\
snext87
\\
sautoupd List Bullet 6"
},
{
"ListBullet7"
,
"
\\
s87
\\
fi-360
\\
li2880
\\
widctlpar
\\
jclisttab
\\
tx2880{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls8
\\
pnrnot0
\\
pndec }
\\
ls8
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext88
\\
sautoupd List Bullet 7"
"
\\
sbasedon0
\\
snext88
\\
sautoupd List Bullet 7"
},
{
"ListBullet8"
,
"
\\
s88
\\
fi-360
\\
li3240
\\
widctlpar
\\
jclisttab
\\
tx3240{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls9
\\
pnrnot0
\\
pndec }
\\
ls9
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext89
\\
sautoupd List Bullet 8"
"
\\
sbasedon0
\\
snext89
\\
sautoupd List Bullet 8"
},
{
"ListBullet9"
,
"
\\
s89
\\
fi-360
\\
li3600
\\
widctlpar
\\
jclisttab
\\
tx3600{
\\
*
\\
pn
\\
pnlvlbody
\\
ilvl0
\\
ls10
\\
pnrnot0
\\
pndec }
\\
ls10
\\
adjustright
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext89
\\
sautoupd List Bullet 9"
"
\\
sbasedon0
\\
snext89
\\
sautoupd List Bullet 9"
},
{
"ListEnum0"
,
"
\\
s90
\\
fi-360
\\
li360
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext91
\\
sautoupd List Enum 0"
"
\\
sbasedon0
\\
snext91
\\
sautoupd List Enum 0"
},
{
"ListEnum1"
,
"
\\
s91
\\
fi-360
\\
li720
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext92
\\
sautoupd List Enum 1"
"
\\
sbasedon0
\\
snext92
\\
sautoupd List Enum 1"
},
{
"ListEnum2"
,
"
\\
s92
\\
fi-360
\\
li1080
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext93
\\
sautoupd List Enum 2"
"
\\
sbasedon0
\\
snext93
\\
sautoupd List Enum 2"
},
{
"ListEnum3"
,
"
\\
s93
\\
fi-360
\\
li1440
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext94
\\
sautoupd List Enum 3"
"
\\
sbasedon0
\\
snext94
\\
sautoupd List Enum 3"
},
{
"ListEnum4"
,
"
\\
s94
\\
fi-360
\\
li1800
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext95
\\
sautoupd List Enum 4"
"
\\
sbasedon0
\\
snext95
\\
sautoupd List Enum 4"
},
{
"ListEnum5"
,
"
\\
s95
\\
fi-360
\\
li2160
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext96
\\
sautoupd List Enum 5"
"
\\
sbasedon0
\\
snext96
\\
sautoupd List Enum 5"
},
{
"ListEnum6"
,
"
\\
s96
\\
fi-360
\\
li2520
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext96
\\
sautoupd List Enum 5"
"
\\
sbasedon0
\\
snext96
\\
sautoupd List Enum 5"
},
{
"ListEnum7"
,
"
\\
s97
\\
fi-360
\\
li2880
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext98
\\
sautoupd List Enum 7"
"
\\
sbasedon0
\\
snext98
\\
sautoupd List Enum 7"
},
{
"ListEnum8"
,
"
\\
s98
\\
fi-360
\\
li3240
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext99
\\
sautoupd List Enum 8"
"
\\
sbasedon0
\\
snext99
\\
sautoupd List Enum 8"
},
{
"ListEnum9"
,
"
\\
s99
\\
fi-360
\\
li3600
\\
widctlpar
\\
fs20
\\
cgrid "
,
"
\\
sbasedon0
\\
snext99
\\
sautoupd List Enum 9"
"
\\
sbasedon0
\\
snext99
\\
sautoupd List Enum 9"
},
{
0
,
0
,
...
...
@@ -441,7 +441,7 @@ void RTFGenerator::writeStyleSheetFile(QFile &file)
t
<<
"# Generated by doxygen "
<<
versionString
<<
"
\n\n
"
;
t
<<
"# This file describes styles used for generating RTF output.
\n
"
;
t
<<
"# All text after a hash (#) is considered a comment and will be ignored.
\n
"
;
t
<<
"# Remove a hash to activate a line.
\n\n
"
;
t
<<
"# Remove a hash to activate a line.
\n\n
"
;
int
i
;
for
(
i
=
0
;
Rtf_Style_Default
[
i
].
reference
!=
0
;
i
++
)
...
...
@@ -497,7 +497,7 @@ bool StyleData::setStyle(const char* s, const char* styleName)
{
static
const
QRegExp
subgroup
(
"^{[^}]*}
\\
s*"
);
static
const
QRegExp
any_clause
(
"^
\\\\
[a-z][a-z0-9-]*
\\
s*"
);
int
len
;
int
start
=
s_clause
.
match
(
s
,
0
,
&
len
);
if
(
start
<
0
)
...
...
@@ -578,7 +578,7 @@ static void loadStylesheet(const char *name, QDict<StyleData>& dict)
int
sepStart
=
separator
.
match
(
s
,
0
,
&
sepLength
);
if
(
sepStart
<=
0
)
// no valid assignment statement
{
warn
(
name
,
lineNr
,
"Assignment of style sheet name expected!
\n
"
);
warn
(
name
,
lineNr
,
"Assignment of style sheet name expected!
\n
"
);
continue
;
}
QCString
key
=
s
.
left
(
sepStart
);
...
...
@@ -608,7 +608,7 @@ void RTFGenerator::writeExtensionsFile(QFile &file)
t
<<
"# Generated by doxygen "
<<
versionString
<<
"
\n\n
"
;
t
<<
"# This file describes extensions used for generating RTF output.
\n
"
;
t
<<
"# All text after a hash (#) is considered a comment and will be ignored.
\n
"
;
t
<<
"# Remove a hash to activate a line.
\n\n
"
;
t
<<
"# Remove a hash to activate a line.
\n\n
"
;
t
<<
"# Overrides the project title.
\n
"
;
...
...
@@ -686,7 +686,7 @@ static void loadExtensions(const char *name)
QCString
key
=
s
.
left
(
sepStart
);
QCString
data
=
s
.
data
()
+
sepStart
+
sepLength
;
if
(
key
==
"Title"
)
title
=
data
.
data
();
if
(
key
==
"Title"
)
title
=
data
.
data
();
if
(
key
==
"Subject"
)
subject
=
data
.
data
();
if
(
key
==
"Comments"
)
comments
=
data
.
data
();
if
(
key
==
"Company"
)
company
=
data
.
data
();
...
...
@@ -711,7 +711,7 @@ void RTFGenerator::init()
exit
(
1
);
}
Rtf_Style
.
setAutoDelete
(
TRUE
);
// first duplicate strings of Rtf_Style_Default
const
struct
Rtf_Style_Default
*
def
=
Rtf_Style_Default
;
while
(
def
->
reference
!=
0
)
...
...
@@ -794,20 +794,20 @@ void RTFGenerator::beginRTFDocument()
for
(;
(
style
=
iter
.
current
());
++
iter
)
{
unsigned
index
=
style
->
index
;
unsigned
size
=
array
.
size
();
unsigned
size
=
array
.
size
();
if
(
index
>=
size
)
{
{
// +1 to add at least one element, then align up to multiple of 8
array
.
resize
((
index
+
1
+
7
)
&
~
7
);
array
.
fill
(
0
,
size
);
ASSERT
(
index
<
array
.
size
());
}
}
if
(
array
.
at
(
index
)
!=
0
)
{
QCString
key
(
convertToQCString
(
iter
.
currentKey
()));
msg
(
"Style '%s' redefines
\\
s%d.
\n
"
,
key
.
data
(),
index
);
}
array
.
at
(
index
)
=
style
;
array
.
at
(
index
)
=
style
;
}
// write array elements
...
...
@@ -834,7 +834,7 @@ void RTFGenerator::beginRTFChapter()
// if we are compact, no extra page breaks...
if
(
Config_getBool
(
"COMPACT_RTF"
))
{
//
t <<"\\sect\\sectd\\sbknone\n";
//
t <<"\\sect\\sectd\\sbknone\n";
t
<<
"
\\
sect
\\
sbknone
\n
"
;
RtfwriteRuler_thick
();
}
...
...
@@ -854,7 +854,7 @@ void RTFGenerator::beginRTFSection()
// if we are compact, no extra page breaks...
if
(
Config_getBool
(
"COMPACT_RTF"
))
{
//
t <<"\\sect\\sectd\\sbknone\n";
//
t <<"\\sect\\sectd\\sbknone\n";
t
<<
"
\\
sect
\\
sbknone
\n
"
;
RtfwriteRuler_emboss
();
}
...
...
@@ -888,7 +888,7 @@ void RTFGenerator::startProjectNumber()
t
<<
" "
;
}
void
RTFGenerator
::
endProjectNumber
()
void
RTFGenerator
::
endProjectNumber
()
{
}
...
...
@@ -912,7 +912,7 @@ void RTFGenerator::startIndexSection(IndexSections is)
if
(
subject
)
t
<<
"{
\\
subject "
<<
subject
<<
"}
\n
"
;
if
(
comments
)
t
<<
"{
\\
comment "
<<
comments
<<
"}
\n
"
;
if
(
company
)
t
<<
"{
\\
company "
<<
company
<<
"}
\n
"
;
if
(
author
)
t
<<
"{
\\
author "
<<
author
<<
"}
\n
"
;
if
(
author
)
t
<<
"{
\\
author "
<<
author
<<
"}
\n
"
;
if
(
manager
)
t
<<
"{
\\
manager "
<<
manager
<<
"}
\n
"
;
if
(
documentType
)
t
<<
"{
\\
category "
<<
documentType
<<
"}
\n
"
;
if
(
keywords
)
t
<<
"{
\\
keywords "
<<
keywords
<<
"}
\n
"
;
...
...
@@ -932,7 +932,7 @@ void RTFGenerator::startIndexSection(IndexSections is)
break
;
case
isNamespaceIndex
:
//Namespace Index
beginRTFChapter
();
beginRTFChapter
();
break
;
case
isClassHierarchyIndex
:
//Hierarchical Index
...
...
@@ -995,7 +995,7 @@ void RTFGenerator::startIndexSection(IndexSections is)
beginRTFChapter
();
found
=
TRUE
;
}
}
}
}
break
;
case
isClassDocumentation
:
...
...
@@ -1028,7 +1028,7 @@ void RTFGenerator::startIndexSection(IndexSections is)
{
if
(
isFirst
)
{
beginRTFChapter
();
beginRTFChapter
();
isFirst
=
FALSE
;
break
;
}
...
...
@@ -1107,7 +1107,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
t
<<
documentId
<<
"
\\
par
\n
"
;
}
t
<<
"
\\
par
\\
par
\\
par
\\
par
\\
par
\\
par
\\
par
\\
par
\\
par
\\
par
\\
par
\\
par
\n
"
;
t
<<
Rtf_Style_Reset
<<
Rtf_Style
[
"SubTitle"
]
->
reference
<<
endl
;
// set to subtitle style
t
<<
"{
\\
field
\\
fldedit {
\\
*
\\
fldinst AUTHOR
\\\\
*MERGEFORMAT}{
\\
fldrslt AUTHOR}}
\\
par"
<<
endl
;
t
<<
"Version "
<<
Config_getString
(
"PROJECT_NUMBER"
)
<<
"
\\
par"
;
...
...
@@ -1257,7 +1257,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
t
<<
"{
\\
field
\\
fldedit{
\\
*
\\
fldinst INCLUDETEXT
\"
"
;
t
<<
cd
->
getOutputFileBase
();
t
<<
".rtf
\"
\\\\
*MERGEFORMAT}{
\\
fldrslt includedstuff}}
\n
"
;
}
}
}
}
break
;
...
...
@@ -1345,7 +1345,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
}
break
;
case
isEndIndex
:
beginRTFChapter
();
beginRTFChapter
();
t
<<
Rtf_Style
[
"Heading1"
]
->
reference
;
t
<<
theTranslator
->
trRTFGeneralIndex
()
<<
"
\\
par "
<<
endl
;
t
<<
Rtf_Style_Reset
<<
endl
;
...
...
@@ -1385,8 +1385,8 @@ void RTFGenerator::writeString(const char *text)
t
<<
text
;
}
void
RTFGenerator
::
startIndexList
()
{
void
RTFGenerator
::
startIndexList
()
{
DBG_RTF
(
t
<<
"{
\\
comment (startIndexList)}"
<<
endl
)
t
<<
"{"
<<
endl
;
incrementIndentLevel
();
...
...
@@ -1396,7 +1396,7 @@ void RTFGenerator::startIndexList()
}
void
RTFGenerator
::
endIndexList
()
{
{
DBG_RTF
(
t
<<
"{
\\
comment (endIndexList)}"
<<
endl
)
newParagraph
();
t
<<
"}"
;
...
...
@@ -1405,8 +1405,8 @@ void RTFGenerator::endIndexList()
}
/*! start bullet list */
void
RTFGenerator
::
startItemList
()
{
void
RTFGenerator
::
startItemList
()
{
DBG_RTF
(
t
<<
"{
\\
comment (startItemList level="
<<
m_listLevel
<<
") }"
<<
endl
)
t
<<
"{"
;
incrementIndentLevel
();
...
...
@@ -1414,8 +1414,8 @@ void RTFGenerator::startItemList()
}
/*! end bullet list */
void
RTFGenerator
::
endItemList
()
{
void
RTFGenerator
::
endItemList
()
{
newParagraph
();
DBG_RTF
(
t
<<
"{
\\
comment (endItemList level="
<<
m_listLevel
<<
")}"
<<
endl
)
t
<<
"}"
;
...
...
@@ -1425,7 +1425,7 @@ void RTFGenerator::endItemList()
/*! start enumeration list */
void
RTFGenerator
::
startEnumList
()
// starts an enumeration list
{
{
DBG_RTF
(
t
<<
"{
\\
comment (startEnumList)}"
<<
endl
)
t
<<
"{"
<<
endl
;
incrementIndentLevel
();
...
...
@@ -1439,7 +1439,7 @@ void RTFGenerator::startEnumList() // starts an enumeration list
/*! end enumeration list */
void
RTFGenerator
::
endEnumList
()
{
{
newParagraph
();
DBG_RTF
(
t
<<
"{
\\
comment (endEnumList)}"
<<
endl
)
t
<<
"}"
;
...
...
@@ -1480,7 +1480,7 @@ void RTFGenerator::writeIndexItem(const char *ref,const char *fn,
}
else
{
t
<<
endl
;
t
<<
endl
;
}
newParagraph
();
m_omitParagraph
=
TRUE
;
...
...
@@ -1501,7 +1501,7 @@ void RTFGenerator::startHtmlLink(const char *url)
t
<<
"{
\\
field {
\\
*
\\
fldinst { HYPERLINK
\\\\
l
\"
"
;
t
<<
url
;
t
<<
"
\"
}{}"
;
t
<<
"}{
\\
fldrslt {
\\
cs37
\\
ul
\\
cf2 "
;
t
<<
"}{
\\
fldrslt {
\\
cs37
\\
ul
\\
cf2 "
;
}
else
{
...
...
@@ -1539,7 +1539,7 @@ void RTFGenerator::writeStartAnnoItem(const char *,const char *f,
t
<<
"{
\\
field {
\\
*
\\
fldinst { HYPERLINK
\\\\
l
\"
"
;
t
<<
formatBmkStr
(
f
);
t
<<
"
\"
}{}"
;
t
<<
"}{
\\
fldrslt {
\\
cs37
\\
ul
\\
cf2 "
;
t
<<
"}{
\\
fldrslt {
\\
cs37
\\
ul
\\
cf2 "
;
docify
(
name
);
...
...
@@ -1547,7 +1547,7 @@ void RTFGenerator::writeStartAnnoItem(const char *,const char *f,
}
else
{
docify
(
name
);
docify
(
name
);
}
t
<<
"} "
;
}
...
...
@@ -1563,13 +1563,13 @@ void RTFGenerator::writeEndAnnoItem(const char *name)
}
else
{
t
<<
endl
;
t
<<
endl
;
}
newParagraph
();
}
void
RTFGenerator
::
startIndexKey
()
{
void
RTFGenerator
::
startIndexKey
()
{
DBG_RTF
(
t
<<
"{
\\
comment (startIndexKey)}"
<<
endl
)
t
<<
"{
\\
b "
;
}
...
...
@@ -1578,8 +1578,8 @@ void RTFGenerator::endIndexKey()
{
}
void
RTFGenerator
::
startIndexValue
(
bool
hasBrief
)
{
void
RTFGenerator
::
startIndexValue
(
bool
hasBrief
)
{
t
<<
" "
;
if
(
hasBrief
)
t
<<
"("
;
}
...
...
@@ -1597,13 +1597,13 @@ void RTFGenerator::endIndexValue(const char *name,bool hasBrief)
}
else
{
t
<<
endl
;
t
<<
endl
;
}
newParagraph
();
}
void
RTFGenerator
::
startSubsection
()
{
void
RTFGenerator
::
startSubsection
()
{
//beginRTFSubSection();
t
<<
"
\n
"
;
DBG_RTF
(
t
<<
"{
\\
comment Begin SubSection}
\n
"
)
...
...
@@ -1611,13 +1611,13 @@ void RTFGenerator::startSubsection()
t
<<
Rtf_Style
[
"Heading3"
]
->
reference
<<
"
\n
"
;
}
void
RTFGenerator
::
endSubsection
()
void
RTFGenerator
::
endSubsection
()
{
newParagraph
();
t
<<
Rtf_Style_Reset
<<
endl
;
}
void
RTFGenerator
::
startSubsubsection
()
void
RTFGenerator
::
startSubsubsection
()
{
//beginRTFSubSubSection();
t
<<
"
\n
"
;
...
...
@@ -1626,11 +1626,11 @@ void RTFGenerator::startSubsubsection()
t
<<
Rtf_Style_Reset
<<
Rtf_Style
[
"Heading4"
]
->
reference
<<
"
\n
"
;
}
void
RTFGenerator
::
endSubsubsection
()
{
void
RTFGenerator
::
endSubsubsection
()
{
newParagraph
();
t
<<
"}"
<<
endl
;
}
}
//void RTFGenerator::writeClassLink(const char *,const char *,
...
...
@@ -1638,7 +1638,7 @@ void RTFGenerator::endSubsubsection()
//{
// t << "{\\bf ";
// docify(name);
// t << "}";
// t << "}";
//}
void
RTFGenerator
::
startTextLink
(
const
char
*
f
,
const
char
*
anchor
)
...
...
@@ -1659,7 +1659,7 @@ void RTFGenerator::startTextLink(const char *f,const char *anchor)
t
<<
"{
\\
field {
\\
*
\\
fldinst { HYPERLINK
\\\\
l
\"
"
;
t
<<
formatBmkStr
(
ref
);
t
<<
"
\"
}{}"
;
t
<<
"}{
\\
fldrslt {
\\
cs37
\\
ul
\\
cf2 "
;
t
<<
"}{
\\
fldrslt {
\\
cs37
\\
ul
\\
cf2 "
;
}
}
...
...
@@ -1690,7 +1690,7 @@ void RTFGenerator::writeObjectLink(const char *ref, const char *f,
t
<<
"{
\\
field {
\\
*
\\
fldinst { HYPERLINK
\\\\
l
\"
"
;
t
<<
formatBmkStr
(
refName
);
t
<<
"
\"
}{}"
;
t
<<
"}{
\\
fldrslt {
\\
cs37
\\
ul
\\
cf2 "
;
t
<<
"}{
\\
fldrslt {
\\
cs37
\\
ul
\\
cf2 "
;
docify
(
text
);
...
...
@@ -1701,7 +1701,7 @@ void RTFGenerator::writeObjectLink(const char *ref, const char *f,
startBold
();
docify
(
text
);
endBold
();
}
}
}
void
RTFGenerator
::
startPageRef
()
...
...
@@ -1746,7 +1746,7 @@ void RTFGenerator::writeCodeLink(const char *ref,const char *f,
t
<<
"{
\\
field {
\\
*
\\
fldinst { HYPERLINK
\\\\
l
\"
"
;
t
<<
formatBmkStr
(
refName
);
t
<<
"
\"
}{}"
;
t
<<
"}{
\\
fldrslt {
\\
cs37
\\
ul
\\
cf2 "
;
t
<<
"}{
\\
fldrslt {
\\
cs37
\\
ul
\\
cf2 "
;
codify
(
name
);
...
...
@@ -1762,7 +1762,7 @@ void RTFGenerator::startTitleHead(const char *)
{
DBG_RTF
(
t
<<
"{
\\
comment startTitleHead}"
<<
endl
)
//
beginRTFSection();
//
beginRTFSection();
t
<<
Rtf_Style_Reset
<<
Rtf_Style
[
"Heading2"
]
->
reference
<<
endl
;
}
...
...
@@ -1836,7 +1836,7 @@ void RTFGenerator::startMemberDoc(const char *clname,
t
<<
endl
;
}
void
RTFGenerator
::
endMemberDoc
()
void
RTFGenerator
::
endMemberDoc
()
{
DBG_RTF
(
t
<<
"{
\\
comment endMemberDoc}"
<<
endl
)
t
<<
"}"
<<
endl
;
...
...
@@ -1864,7 +1864,7 @@ void RTFGenerator::endDoxyAnchor(const char *fName,const char *anchor)
ref
+=
'_'
;
ref
+=
anchor
;
}
t
<<
"{
\\
bkmkstart "
;
t
<<
formatBmkStr
(
ref
);
t
<<
"}"
<<
endl
;
...
...
@@ -1911,36 +1911,36 @@ void RTFGenerator::endIndent()
}
void
RTFGenerator
::
startDescription
()
{
void
RTFGenerator
::
startDescription
()
{
DBG_RTF
(
t
<<
"{
\\
comment (startDescription)}"
<<
endl
)
t
<<
"{"
<<
endl
;
t
<<
Rtf_Style_Reset
<<
Rtf_CList_DepthStyle
();
}
void
RTFGenerator
::
endDescription
()
{
void
RTFGenerator
::
endDescription
()
{
DBG_RTF
(
t
<<
"{
\\
comment (endDescription)}"
<<
endl
)
t
<<
"}"
;
newParagraph
();
}
void
RTFGenerator
::
startDescItem
()
{
{
newParagraph
();
DBG_RTF
(
t
<<
"{
\\
comment (startDescItem)}"
<<
endl
)
t
<<
"{
\\
b "
;
}
void
RTFGenerator
::
endDescItem
()
{
{
DBG_RTF
(
t
<<
"{
\\
comment (endDescItem)}"
<<
endl
)
t
<<
"}"
<<
endl
;
newParagraph
();
}
void
RTFGenerator
::
startMemberDescription
()
{
void
RTFGenerator
::
startMemberDescription
()
{
DBG_RTF
(
t
<<
"{
\\
comment (startMemberDescription)}"
<<
endl
)
t
<<
"{"
<<
endl
;
incrementIndentLevel
();
...
...
@@ -1949,7 +1949,7 @@ void RTFGenerator::startMemberDescription()
}
void
RTFGenerator
::
endMemberDescription
()
{
{
DBG_RTF
(
t
<<
"{
\\
comment (endMemberDescription)}"
<<
endl
)
endEmphasis
();
newParagraph
();
...
...
@@ -1957,8 +1957,8 @@ void RTFGenerator::endMemberDescription()
t
<<
"
\\
par}"
<<
endl
;
}
void
RTFGenerator
::
startDescList
(
SectionTypes
)
{
void
RTFGenerator
::
startDescList
(
SectionTypes
)
{
DBG_RTF
(
t
<<
"{
\\
comment (startDescList)}"
<<
endl
)
t
<<
"{"
;
// ends at endDescList
t
<<
"{"
;
// ends at endDescTitle
...
...
@@ -1966,8 +1966,8 @@ void RTFGenerator::startDescList(SectionTypes)
newParagraph
();
}
void
RTFGenerator
::
endDescTitle
()
{
void
RTFGenerator
::
endDescTitle
()
{
DBG_RTF
(
t
<<
"{
\\
comment (endDescTitle) }"
<<
endl
)
endBold
();
t
<<
"}"
;
...
...
@@ -1981,7 +1981,7 @@ void RTFGenerator::writeDescItem()
DBG_RTF
(
t
<<
"{
\\
comment (writeDescItem) }"
<<
endl
)
}
void
RTFGenerator
::
endDescList
()
void
RTFGenerator
::
endDescList
()
{
DBG_RTF
(
t
<<
"{
\\
comment (endDescList)}"
<<
endl
)
newParagraph
();
...
...
@@ -1990,8 +1990,8 @@ void RTFGenerator::endDescList()
t
<<
"}"
;
}
void
RTFGenerator
::
startParamList
(
ParamListTypes
)
{
void
RTFGenerator
::
startParamList
(
ParamListTypes
)
{
DBG_RTF
(
t
<<
"{
\\
comment (startParamList)}"
<<
endl
)
t
<<
"{"
;
// ends at endParamList
t
<<
"{"
;
// ends at endDescTitle
...
...
@@ -1999,7 +1999,7 @@ void RTFGenerator::startParamList(ParamListTypes)
newParagraph
();
}
void
RTFGenerator
::
endParamList
()
void
RTFGenerator
::
endParamList
()
{
DBG_RTF
(
t
<<
"{
\\
comment (endParamList)}"
<<
endl
)
newParagraph
();
...
...
@@ -2076,6 +2076,14 @@ void RTFGenerator::writeSectionRefItem(const char *,const char *lab,
// writeSectionRef(name,lab,title);
//}
char
*
RTFGenerator
::
getMultiByte
(
int
c
)
{
static
char
s
[
10
];
sprintf
(
s
,
"
\\
'%X"
,
c
);
return
s
;
}
void
RTFGenerator
::
docify
(
const
char
*
str
)
{
if
(
str
)
...
...
@@ -2085,17 +2093,32 @@ void RTFGenerator::docify(const char *str)
unsigned
char
pc
=
'\0'
;
while
(
*
p
)
{
static
bool
MultiByte
=
FALSE
;
c
=*
p
++
;
switch
(
c
)
if
(
MultiByte
)
{
t
<<
getMultiByte
(
c
);
MultiByte
=
FALSE
;
continue
;
}
if
(
c
>=
0x80
)
{
MultiByte
=
TRUE
;
t
<<
getMultiByte
(
c
);
continue
;
}
switch
(
c
)
{
case
'{'
:
t
<<
"
\\
{"
;
break
;
case
'}'
:
t
<<
"
\\
}"
;
break
;
case
'\\'
:
t
<<
"
\\\\
"
;
break
;
default
:
{
case
'\\'
:
t
<<
"
\\\\
"
;
break
;
default
:
{
// see if we can insert an hyphenation hint
//if (isupper(c) && islower(pc) && !insideTabbing) t << "\\-";
t
<<
(
char
)
c
;
t
<<
(
char
)
c
;
}
}
pc
=
c
;
...
...
@@ -2110,26 +2133,43 @@ void RTFGenerator::codify(const char *str)
// nothing... add a "newParagraph()";
//static char spaces[]=" ";
if
(
str
)
{
const
char
*
p
=
str
;
char
c
;
{
const
unsigned
char
*
p
=
(
const
unsigned
char
*
)
str
;
unsigned
char
c
;
int
spacesToNextTabStop
;
while
(
*
p
)
{
static
bool
MultiByte
=
FALSE
;
c
=*
p
++
;
if
(
MultiByte
)
{
t
<<
getMultiByte
(
c
);
MultiByte
=
FALSE
;
continue
;
}
if
(
c
>=
0x80
)
{
MultiByte
=
TRUE
;
t
<<
getMultiByte
(
c
);
continue
;
}
switch
(
c
)
{
case
'\t'
:
spacesToNextTabStop
=
Config_getInt
(
"TAB_SIZE"
)
-
(
col
%
Config_getInt
(
"TAB_SIZE"
));
t
<<
spaces
.
left
(
spacesToNextTabStop
);
t
<<
spaces
.
left
(
spacesToNextTabStop
);
col
+=
spacesToNextTabStop
;
break
;
break
;
case
'\n'
:
newParagraph
();
t
<<
'\n'
;
col
=
0
;
break
;
case
'{'
:
t
<<
"
\\
{"
;
col
++
;
break
;
case
'}'
:
t
<<
"
\\
}"
;
col
++
;
break
;
case
'\\'
:
t
<<
"
\\\\
"
;
col
++
;
break
;
default
:
t
<<
c
;
col
++
;
break
;
default
:
t
<<
(
char
)
c
;
col
++
;
break
;
}
}
}
...
...
@@ -2169,20 +2209,20 @@ void RTFGenerator::writeFormula(const char *,const char *text)
t
<<
text
;
}
void
RTFGenerator
::
startMemberItem
(
int
)
{
void
RTFGenerator
::
startMemberItem
(
int
)
{
DBG_RTF
(
t
<<
"{
\\
comment startMemberItem }"
<<
endl
)
t
<<
Rtf_Style_Reset
<<
Rtf_BList_DepthStyle
()
<<
endl
;
// set style to apropriate depth
}
void
RTFGenerator
::
endMemberItem
(
bool
)
void
RTFGenerator
::
endMemberItem
(
bool
)
{
DBG_RTF
(
t
<<
"{
\\
comment endMemberItem }"
<<
endl
)
newParagraph
();
}
void
RTFGenerator
::
writeAnchor
(
const
char
*
fileName
,
const
char
*
name
)
{
void
RTFGenerator
::
writeAnchor
(
const
char
*
fileName
,
const
char
*
name
)
{
t
<<
"{
\\
bkmkstart "
;
if
(
fileName
)
t
<<
formatBmkStr
(
fileName
);
if
(
fileName
&&
name
)
t
<<
"_"
;
...
...
@@ -2198,8 +2238,8 @@ void RTFGenerator::WriteRTFReference(const char *label)
t
<<
"
\\\\
*MERGEFORMAT}{
\\
fldrslt pagenum}}"
;
}
void
RTFGenerator
::
startCodeFragment
()
{
void
RTFGenerator
::
startCodeFragment
()
{
t
<<
"{"
<<
endl
;
newParagraph
();
t
<<
Rtf_Style_Reset
<<
Rtf_Code_DepthStyle
();
...
...
@@ -2207,7 +2247,7 @@ void RTFGenerator::startCodeFragment()
}
void
RTFGenerator
::
endCodeFragment
()
{
{
newParagraph
();
//styleStack.pop();
//printf("RTFGenerator::endCodeFrament() top=%s\n",styleStack.top());
...
...
@@ -2217,30 +2257,30 @@ void RTFGenerator::endCodeFragment()
m_omitParagraph
=
TRUE
;
}
void
RTFGenerator
::
writeNonBreakableSpace
(
int
)
void
RTFGenerator
::
writeNonBreakableSpace
(
int
)
{
t
<<
"
\\
~ "
;
}
void
RTFGenerator
::
startMemberList
()
void
RTFGenerator
::
startMemberList
()
{
t
<<
endl
;
DBG_RTF
(
t
<<
"{
\\
comment (startMemberList) }"
<<
endl
)
t
<<
"{"
<<
endl
;
#ifdef DELETEDCODE
if
(
!
insideTabbing
)
t
<<
"
\\
begin{CompactItemize}"
<<
endl
;
t
<<
"
\\
begin{CompactItemize}"
<<
endl
;
#endif
}
void
RTFGenerator
::
endMemberList
()
void
RTFGenerator
::
endMemberList
()
{
DBG_RTF
(
t
<<
"{
\\
comment (endMemberList) }"
<<
endl
)
t
<<
"}"
<<
endl
;
#ifdef DELETEDCODE
if
(
!
insideTabbing
)
t
<<
"
\\
end{CompactItemize}"
<<
endl
;
t
<<
"
\\
end{CompactItemize}"
<<
endl
;
#endif
}
...
...
@@ -2266,7 +2306,7 @@ void RTFGenerator::startDotFile(const char *name,bool)
int
i
;
if
((
i
=
baseName
.
findRev
(
'/'
))
!=-
1
||
(
i
=
baseName
.
findRev
(
'\\'
))
!=-
1
)
{
baseName
=
baseName
.
right
(
baseName
.
length
()
-
i
-
1
);
baseName
=
baseName
.
right
(
baseName
.
length
()
-
i
-
1
);
}
QCString
outName
=
Config_getString
(
"RTF_OUTPUT"
)
+
#ifdef _WIN32
...
...
@@ -2290,16 +2330,16 @@ void RTFGenerator::endDotFile(bool)
// not yet implemented
}
void
RTFGenerator
::
startDescTable
()
{
void
RTFGenerator
::
startDescTable
()
{
DBG_RTF
(
t
<<
"{
\\
comment (startDescTable) }"
<<
endl
)
//t << "{" << endl;
//incrementIndentLevel();
//t << Rtf_Style_Reset << Rtf_CList_DepthStyle();
}
void
RTFGenerator
::
endDescTable
()
{
void
RTFGenerator
::
endDescTable
()
{
//decrementIndentLevel();
DBG_RTF
(
t
<<
"{
\\
comment (endDescTable)}"
<<
endl
)
//t << "}" << endl;
...
...
@@ -2322,13 +2362,13 @@ void RTFGenerator::endDescTableTitle()
t
<<
" "
;
}
void
RTFGenerator
::
startDescTableData
()
void
RTFGenerator
::
startDescTableData
()
{
DBG_RTF
(
t
<<
"{
\\
comment (startDescTableData) }"
<<
endl
)
m_omitParagraph
=
FALSE
;
}
void
RTFGenerator
::
endDescTableData
()
void
RTFGenerator
::
endDescTableData
()
{
DBG_RTF
(
t
<<
"{
\\
comment (endDescTableData) }"
<<
endl
)
newParagraph
();
...
...
@@ -2340,9 +2380,9 @@ void RTFGenerator::endDescTableData()
void
RTFGenerator
::
incrementIndentLevel
()
{
m_listLevel
++
;
if
(
m_listLevel
>
indentLevels
-
1
)
if
(
m_listLevel
>
indentLevels
-
1
)
{
warn_cont
(
"Warning: Maximum indent level (%d) exceeded while generating RTF output!
\n
"
,
indentLevels
);
warn_cont
(
"Warning: Maximum indent level (%d) exceeded while generating RTF output!
\n
"
,
indentLevels
);
m_listLevel
=
indentLevels
-
1
;
}
}
...
...
@@ -2350,7 +2390,7 @@ void RTFGenerator::incrementIndentLevel()
void
RTFGenerator
::
decrementIndentLevel
()
{
m_listLevel
--
;
if
(
m_listLevel
<
0
)
if
(
m_listLevel
<
0
)
{
warn_cont
(
"Warning: Negative indent level while generating RTF output!
\n
"
);
m_listLevel
=
0
;
...
...
@@ -2371,14 +2411,14 @@ const char * RTFGenerator::Rtf_LCList_DepthStyle()
return
Rtf_Style
[
n
]
->
reference
;
}
// a style for list formatted as a "bullet" style
// a style for list formatted as a "bullet" style
const
char
*
RTFGenerator
::
Rtf_BList_DepthStyle
()
{
QCString
n
=
makeIndexName
(
"ListBullet"
,
m_listLevel
);
return
Rtf_Style
[
n
]
->
reference
;
}
// a style for list formatted as a "enumeration" style
// a style for list formatted as a "enumeration" style
const
char
*
RTFGenerator
::
Rtf_EList_DepthStyle
()
{
QCString
n
=
makeIndexName
(
"ListEnum"
,
m_listLevel
);
...
...
@@ -2563,7 +2603,7 @@ static bool PreProcessFile(QDir &d,QCString &infName, QTextStream &t, bool bIncl
return
FALSE
;
}
const
int
maxLineLength
=
10240
;
const
int
maxLineLength
=
10240
;
static
QCString
lineBuf
(
maxLineLength
);
// scan until find end of header
...
...
@@ -2622,15 +2662,15 @@ static bool PreProcessFile(QDir &d,QCString &infName, QTextStream &t, bool bIncl
return
TRUE
;
}
void
RTFGenerator
::
startDotGraph
()
void
RTFGenerator
::
startDotGraph
()
{
}
void
RTFGenerator
::
endDotGraph
(
DotClassGraph
&
g
)
void
RTFGenerator
::
endDotGraph
(
DotClassGraph
&
g
)
{
newParagraph
();
QCString
fileName
=
QCString
fileName
=
g
.
writeGraph
(
t
,
BITMAP
,
Config_getString
(
"RTF_OUTPUT"
),
TRUE
,
FALSE
);
// display the file
...
...
@@ -2642,11 +2682,11 @@ void RTFGenerator::endDotGraph(DotClassGraph &g)
t
<<
"}"
<<
endl
;
}
void
RTFGenerator
::
startInclDepGraph
()
void
RTFGenerator
::
startInclDepGraph
()
{
}
void
RTFGenerator
::
endInclDepGraph
(
DotInclDepGraph
&
g
)
void
RTFGenerator
::
endInclDepGraph
(
DotInclDepGraph
&
g
)
{
newParagraph
();
...
...
@@ -2678,7 +2718,7 @@ void testRTFOutput(const char *name)
{
c
=
f
.
getch
();
if
(
c
==-
1
)
break
;
}
}
else
if
(
c
==
'{'
)
// open bracket
{
bcount
++
;
...
...
@@ -2707,15 +2747,15 @@ err:
/**
* This is an API to a VERY brittle RTF preprocessor that combines nested
* RTF files. This version replaces the infile with the new file
* RTF files. This version replaces the infile with the new file
*/
bool
RTFGenerator
::
preProcessFileInplace
(
const
char
*
path
,
const
char
*
name
)
{
QDir
d
(
path
);
// store the original directory
if
(
!
d
.
exists
())
{
err
(
"Error: Output dir %s does not exist!
\n
"
,
path
);
if
(
!
d
.
exists
())
{
err
(
"Error: Output dir %s does not exist!
\n
"
,
path
);
return
FALSE
;
}
QCString
oldDir
=
convertToQCString
(
QDir
::
currentDirPath
());
...
...
src/rtfgen.h
View file @
ff31b2f1
...
...
@@ -112,8 +112,10 @@ class RTFGenerator : public OutputGenerator
void
writeAnchor
(
const
char
*
fileName
,
const
char
*
name
);
void
startCodeFragment
();
void
endCodeFragment
();
void
startPreFragment
()
{
startCodeFragment
();
}
void
endPreFragment
()
{
endCodeFragment
();
}
void
startPreFragment
()
{
startCodeFragment
();
}
void
endPreFragment
()
{
endCodeFragment
();
}
void
startVerbatimFragment
()
{
startVerbatimFragment
();
}
void
endVerbatimFragment
()
{
endVerbatimFragment
();
}
void
writeLineNumber
(
const
char
*
,
const
char
*
,
const
char
*
,
int
l
)
{
t
<<
l
<<
" "
;
}
void
startCodeLine
()
{
col
=
0
;
}
void
endCodeLine
()
{
lineBreak
();
}
...
...
@@ -275,6 +277,7 @@ class RTFGenerator : public OutputGenerator
void
RtfwriteRuler_thick
()
{
t
<<
"{
\\
pard
\\
widctlpar
\\
brdrb
\\
brdrs
\\
brdrw75
\\
brsp20
\\
adjustright
\\
par}"
<<
endl
;
};
void
RtfwriteRuler_thin
()
{
t
<<
"{
\\
pard
\\
widctlpar
\\
brdrb
\\
brdrs
\\
brdrw5
\\
brsp20
\\
adjustright
\\
par}"
<<
endl
;
};
void
WriteRTFReference
(
const
char
*
label
);
char
*
getMultiByte
(
int
c
);
};
#endif
src/scanner.l
View file @
ff31b2f1
...
...
@@ -868,6 +868,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
lineCount();
BEGIN( CompoundName );
}
<FindMembers>{B}*(("typedef"{BN}+)?)("volatile"{BN}+)?"class{" |
<FindMembers>{B}*(("typedef"{BN}+)?)("volatile"{BN}+)?"class"{BN}+ {
isTypedef=((QCString)yytext).find("typedef")!=-1;
current->section = Entry::CLASS_SEC;
...
...
@@ -886,6 +887,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
// current->mtArgList = 0;
//}
lineCount() ;
if (yytext[yyleng-1]=='{') unput('{');
BEGIN( CompoundName ) ;
}
<FindMembers>{B}*(("typedef"{BN}+)?)("volatile"{BN}+)?"struct{" |
...
...
@@ -907,6 +909,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
// current->mtArgList = 0;
//}
lineCount() ;
if (yytext[yyleng-1]=='{') unput('{');
BEGIN( CompoundName ) ;
}
<FindMembers>{B}*(("typedef"{BN}+)?)("volatile"{BN}+)?"union{" |
...
...
@@ -919,6 +922,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
current->startLine = yyLineNr;
current->bodyLine = yyLineNr;
lineCount() ;
if (yytext[yyleng-1]=='{') unput('{');
BEGIN( CompoundName ) ;
}
<FindMembers>{B}*(("typedef"{BN}+)?)"enum{" |
...
...
@@ -931,6 +935,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
current->startLine = yyLineNr;
current->bodyLine = yyLineNr;
lineCount() ;
if (yytext[yyleng-1]=='{') unput('{');
BEGIN( CompoundName ) ;
}
<Operator>"("{BN}*")"{BN}*/"(" {
...
...
@@ -3622,6 +3627,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
insideFormula=FALSE;
BEGIN(lastFormulaContext);
}
<ReadFormulaLong>\n { formulaText+=*yytext; }
<ReadFormulaLong,ReadFormulaShort>. { formulaText+=*yytext; }
<ExampleDoc,PageDoc,ClassDocBrief,ClassDoc,ReadFormulaShort,ReadFormulaLong>{B}*"*/" {
checkDocs();
...
...
src/translator_jp.h
View file @
ff31b2f1
/******************************************************************************
*
*
*
* Copyright (C) 1997-2000 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
*
*/
*
*
*
* Copyright (C) 1997-2000 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this
software
* for any purpose. It is provided "as is" without express or implied
warranty.
* See the GNU General Public License for more details.
*
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
*
*/
/*
* translator_jp.h
*
* 1.2.5)
* First Translation
* by Kenji Nagamatsu
* 1.2.12)
* Update and Shift-Jis(_WIN32)
* by Ryunosuke Sato (30-Dec-2001)
*/
* translator_jp.h
*
* 1.2.5)
* First Translation
* by Kenji Nagamatsu
* 1.2.12)
* Update and Shift-Jis(_WIN32)
* by Ryunosuke Sato (30-Dec-2001)
*/
#ifndef TRANSLATOR_JP_H
#define TRANSLATOR_JP_H
class
TranslatorJapanese
:
public
Translator
{
private
:
private
:
/*! The decode() can change euc into sjis */
inline
QCString
decode
(
const
QCString
&
sInput
)
{
...
...
@@ -46,7 +48,7 @@ class TranslatorJapanese : public Translator
{
return
"japanese"
;
}
virtual
QCString
latexLanguageSupportCommand
()
{
return
""
;
return
""
;
}
/*! returns the name of the package that is included by LaTeX */
virtual
QCString
idLanguageCharset
()
...
...
@@ -58,7 +60,8 @@ class TranslatorJapanese : public Translator
#endif
}
/*! used in the compound documentation before a list of related functions. */
/*! used in the compound documentation before a list of related
functions. */
virtual
QCString
trRelatedFunctions
()
{
return
decode
(
"関連する関数"
);
}
...
...
@@ -66,55 +69,57 @@ class TranslatorJapanese : public Translator
virtual
QCString
trRelatedSubscript
()
{
return
decode
(
"(これらはメンバ関数でないことに注意)"
);
}
/*! header that is put before the detailed description of files, classes and namespaces. */
/*! header that is put before the detailed description of files, classes
and namespaces. */
virtual
QCString
trDetailedDescription
()
{
return
decode
(
"解説"
);
}
/*! header that is put before the list of typedefs. */
virtual
QCString
trMemberTypedefDocumentation
()
{
return
decode
(
"メンバ型定義
の解説"
);
}
{
return
decode
(
"Typedefメンバ
の解説"
);
}
/*! header that is put before the list of enumerations. */
virtual
QCString
trMemberEnumerationDocumentation
()
{
return
decode
(
"
メンバ列挙型
の解説"
);
}
{
return
decode
(
"
Enumメンバ
の解説"
);
}
/*! header that is put before the list of member functions. */
virtual
QCString
trMemberFunctionDocumentation
()
{
return
decode
(
"
メンバ関数
の解説"
);
}
{
return
decode
(
"
関数メンバ
の解説"
);
}
/*! header that is put before the list of member attributes. */
virtual
QCString
trMemberDataDocumentation
()
{
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
decode
(
"構造体の解説"
);
}
{
return
decode
(
"構造体の解説"
);
}
else
{
return
decode
(
"メンバの解説"
);
}
{
return
decode
(
"メンバの解説"
);
}
}
/*! this is the text of a link put after brief descriptions. */
virtual
QCString
trMore
()
{
return
decode
(
"
より詳しく...
"
);
}
{
return
decode
(
"
[詳細]
"
);
}
/*! put in the class documentation */
virtual
QCString
trListOfAllMembers
()
{
return
decode
(
"
すべての
メンバ一覧"
);
}
{
return
decode
(
"メンバ一覧"
);
}
/*! used as the title of the "list of all members" page of a class */
virtual
QCString
trMemberList
()
{
return
decode
(
"メンバ一覧"
);
}
/*! this is the first part of a sentence that is followed by a class name */
/*! this is the first part of a sentence that is followed by a class
name */
virtual
QCString
trThisIsTheListOfAllMembers
()
{
return
decode
(
"これは
全
メンバの一覧です。"
);
}
{
return
decode
(
"これはメンバの一覧です。"
);
}
/*! this is the remainder of the sentence after the class name */
virtual
QCString
trIncludingInheritedMembers
()
{
return
decode
(
"継承メンバもすべて含んでいます。"
);
}
/*! this is put at the author sections at the bottom of man pages.
* parameter s is name of the project name.
*/
...
...
@@ -127,73 +132,77 @@ class TranslatorJapanese : public Translator
/*! put after an enum name in the list of all members */
virtual
QCString
trEnumName
()
{
return
decode
(
"
列挙型
"
);
}
{
return
decode
(
"
Enum
"
);
}
/*! put after an enum value in the list of all members */
virtual
QCString
trEnumValue
()
{
return
decode
(
"
列挙
値"
);
}
{
return
decode
(
"
Enum
値"
);
}
/*! put after an undocumented member in the list of all members */
virtual
QCString
trDefinedIn
()
{
return
decode
(
"次で定義されています。"
);
}
// quick reference sections
/*! This is put above each page as a link to the list of all groups of
/*! This is put above each page as a link to the list of all groups of
* compounds or files (see the \group command).
*/
virtual
QCString
trModules
()
{
return
decode
(
"モジュール"
);
}
/*! This is put above each page as a link to the class hierarchy */
virtual
QCString
trClassHierarchy
()
{
return
decode
(
"クラス階層"
);
}
/*! This is put above each page as a link to the list of annotated classes */
/*! This is put above each page as a link to the list of annotated
classes */
virtual
QCString
trCompoundList
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
decode
(
"データ構造"
);
}
{
return
decode
(
"データ構造"
);
}
else
{
return
decode
(
"構成"
);
}
{
return
decode
(
"構成"
);
}
}
/*! This is put above each page as a link to the list of documented files */
/*! This is put above each page as a link to the list of documented
files */
virtual
QCString
trFileList
()
{
return
decode
(
"ファイル一覧"
);
}
/*! This is put above each page as a link to the list of all verbatim headers */
/*! This is put above each page as a link to the list of all verbatim
headers */
virtual
QCString
trHeaderFiles
()
{
return
decode
(
"ヘッダファイル"
);
}
/*! This is put above each page as a link to all members of compounds. */
/*! This is put above each page as a link to all members of compounds.
*/
virtual
QCString
trCompoundMembers
()
{
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
decode
(
"データフィールド"
);
}
{
return
decode
(
"データフィールド"
);
}
else
{
return
decode
(
"構成メンバ"
);
}
{
return
decode
(
"構成メンバ"
);
}
}
/*! This is put above each page as a link to all members of files. */
virtual
QCString
trFileMembers
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
decode
(
"グローバル"
);
}
{
return
decode
(
"グローバル"
);
}
else
{
return
decode
(
"ファイルメンバ"
);
}
{
return
decode
(
"ファイルメンバ"
);
}
}
/*! This is put above each page as a link to all related pages. */
virtual
QCString
trRelatedPages
()
...
...
@@ -225,13 +234,13 @@ class TranslatorJapanese : public Translator
virtual
QCString
trCompoundListDescription
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
decode
(
"データ構造の解説です。"
);
}
{
return
decode
(
"データ構造の解説です。"
);
}
else
{
return
decode
(
"クラス、構造体、共用体、インタフェースの解説です。"
);
}
{
return
decode
(
"クラス、構造体、共用体、インタフェースの解説です。"
);
}
}
/*! This is an introduction to the page with all class members. */
...
...
@@ -239,15 +248,15 @@ class TranslatorJapanese : public Translator
{
QCString
result
=
decode
(
"これは"
);
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
result
+=
decode
(
"フィールドの一覧でそれぞれ"
);
if
(
extractAll
)
result
+=
decode
(
"が属している構造体/共用体"
);
}
{
result
+=
decode
(
"フィールドの一覧でそれぞれ"
);
if
(
extractAll
)
result
+=
decode
(
"が属している構造体/共用体"
);
}
else
{
result
+=
decode
(
"クラスメンバの一覧で、それぞれ"
);
if
(
extractAll
)
result
+=
decode
(
"が属しているクラス"
);
}
{
result
+=
decode
(
"クラスメンバの一覧で、それぞれ"
);
if
(
extractAll
)
result
+=
decode
(
"が属しているクラス"
);
}
result
+=
decode
(
"の解説へリンクしています。"
);
return
result
;
}
...
...
@@ -257,18 +266,20 @@ class TranslatorJapanese : public Translator
{
QCString
result
=
decode
(
"これは"
);
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
result
+=
decode
(
"関数、変数、マクロ、列挙型、型
定義の"
);
}
{
result
+=
decode
(
"関数、変数、マクロ、Typedef定義、Enum
定義の"
);
}
else
{
result
+=
decode
(
"ファイルメンバの"
);
}
result
+=
decode
(
"一覧です。それぞれが属しているファイルの解説へリンクしています。"
);
{
result
+=
decode
(
"ファイルメンバの"
);
}
result
+=
decode
(
"一覧です。それぞれが属しているファイルの解説へリンクしています。"
);
return
result
;
}
/*! This is an introduction to the page with the list of all header files. */
/*! This is an introduction to the page with the list of all header
files. */
virtual
QCString
trHeaderFilesDescription
()
{
return
decode
(
"APIを構成するヘッダファイルです。"
);
}
...
...
@@ -276,58 +287,60 @@ class TranslatorJapanese : public Translator
virtual
QCString
trExamplesDescription
()
{
return
decode
(
"すべての例の一覧です。"
);
}
/*! This is an introduction to the page with the list of related pages */
/*! This is an introduction to the page with the list of related pages
*/
virtual
QCString
trRelatedPagesDescription
()
{
return
decode
(
"関連ページの一覧です。"
);
}
/*! This is an introduction to the page with the list of class/file groups */
/*! This is an introduction to the page with the list of class/file
groups */
virtual
QCString
trModulesDescription
()
{
return
decode
(
"すべてのモジュールの一覧です。"
);
}
/*! This sentences is used in the annotated class/file lists if no brief
* description is given.
* description is given.
*/
virtual
QCString
trNoDescriptionAvailable
()
{
return
decode
(
"ドキュメントが記述されていません。"
);
}
// index titles (the project name is prepended for these)
// index titles (the project name is prepended for these)
/*! This is used in HTML as the title of index.html. */
virtual
QCString
trDocumentation
()
{
return
decode
(
"ドキュメント"
);
}
/*! This is used in LaTeX as the title of the chapter with the
/*! This is used in LaTeX as the title of the chapter with the
* index of all groups.
*/
virtual
QCString
trModuleIndex
()
{
return
decode
(
"モジュール索引"
);
}
/*! This is used in LaTeX as the title of the chapter with the
/*! This is used in LaTeX as the title of the chapter with the
* class hierarchy.
*/
virtual
QCString
trHierarchicalIndex
()
{
return
decode
(
"階層索引"
);
}
/*! This is used in LaTeX as the title of the chapter with the
/*! This is used in LaTeX as the title of the chapter with the
* annotated compound index.
*/
virtual
QCString
trCompoundIndex
()
{
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
decode
(
"データ構造索引"
);
}
{
return
decode
(
"データ構造索引"
);
}
else
{
return
decode
(
"構成索引"
);
}
{
return
decode
(
"構成索引"
);
}
}
/*! This is used in LaTeX as the title of the chapter with the
* list of all files.
*/
virtual
QCString
trFileIndex
()
virtual
QCString
trFileIndex
()
{
return
decode
(
"ファイル索引"
);
}
/*! This is used in LaTeX as the title of the chapter containing
...
...
@@ -342,13 +355,13 @@ class TranslatorJapanese : public Translator
virtual
QCString
trClassDocumentation
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
decode
(
"データ構造の解説"
);
}
{
return
decode
(
"データ構造の解説"
);
}
else
{
return
decode
(
"クラスの解説"
);
}
{
return
decode
(
"クラスの解説"
);
}
}
/*! This is used in LaTeX as the title of the chapter containing
...
...
@@ -361,7 +374,7 @@ class TranslatorJapanese : public Translator
* the documentation of all examples.
*/
virtual
QCString
trExampleDocumentation
()
{
return
decode
(
"例
題
の解説"
);
}
{
return
decode
(
"例の解説"
);
}
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all related pages.
...
...
@@ -372,115 +385,122 @@ class TranslatorJapanese : public Translator
/*! This is used in LaTeX as the title of the document */
virtual
QCString
trReferenceManual
()
{
return
decode
(
"リファレンスマニュアル"
);
}
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of defines
*/
virtual
QCString
trDefines
()
{
return
decode
(
"マクロ定義"
);
}
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of function prototypes
*/
virtual
QCString
trFuncProtos
()
{
return
decode
(
"関数プロトタイプ"
);
}
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of typedefs
*/
virtual
QCString
trTypedefs
()
{
return
decode
(
"
型
定義"
);
}
{
return
decode
(
"
Typedef
定義"
);
}
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of enumerations
*/
virtual
QCString
trEnumerations
()
{
return
decode
(
"
列挙型
"
);
}
{
return
decode
(
"
Enum定義
"
);
}
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of (global) functions
*/
virtual
QCString
trFunctions
()
{
return
decode
(
"関数"
);
}
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual
QCString
trVariables
()
{
return
decode
(
"変数"
);
}
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual
QCString
trEnumerationValues
()
{
return
decode
(
"
列挙型
値"
);
}
{
return
decode
(
"
Enum
値"
);
}
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
*/
virtual
QCString
trDefineDocumentation
()
{
return
decode
(
"マクロ定義の解説"
);
}
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the
list
* of documentation blocks for function prototypes
*/
virtual
QCString
trFunctionPrototypeDocumentation
()
{
return
decode
(
"関数プロトタイプの解説"
);
}
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the
list
* of documentation blocks for typedefs
*/
virtual
QCString
trTypedefDocumentation
()
{
return
decode
(
"
型
定義の解説"
);
}
{
return
decode
(
"
Typedef
定義の解説"
);
}
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the
list
* of documentation blocks for enumeration types
*/
virtual
QCString
trEnumerationTypeDocumentation
()
{
return
decode
(
"
列挙型
の解説"
);
}
{
return
decode
(
"
Enum定義
の解説"
);
}
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the
list
* of documentation blocks for enumeration values
*/
virtual
QCString
trEnumerationValueDocumentation
()
{
return
decode
(
"
列挙型
値の解説"
);
}
{
return
decode
(
"
Enum
値の解説"
);
}
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the
list
* of documentation blocks for functions
*/
virtual
QCString
trFunctionDocumentation
()
{
return
decode
(
"関数の解説"
);
}
/*! This is used in the documentation of a file/namespace before the list
/*! This is used in the documentation of a file/namespace before the
list
* of documentation blocks for variables
*/
virtual
QCString
trVariableDocumentation
()
{
return
decode
(
"変数の解説"
);
}
/*! This is used in the documentation of a file/namespace/group before
/*! This is used in the documentation of a file/namespace/group before
* the list of links to documented compounds
*/
virtual
QCString
trCompounds
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
decode
(
"データ構造"
);
}
{
return
decode
(
"データ構造"
);
}
else
{
return
decode
(
"構成"
);
}
{
return
decode
(
"構成"
);
}
}
/*! This is used in the standard footer of each page and indicates when
* the page was generated
/*! This is used in the standard footer of each page and indicates when
* the page was generated
*/
virtual
QCString
trGeneratedAt
(
const
char
*
date
,
const
char
*
projName
)
{
{
QCString
result
;
if
(
projName
)
result
+=
(
QCString
)
projName
+
decode
(
"に対して"
);
result
+=
(
QCString
)
date
+
decode
(
"に生成されました。"
);
return
result
;
}
/*! This is part of the sentence used in the standard footer of each page.
/*! This is part of the sentence used in the standard footer of each
page.
*/
virtual
QCString
trWrittenBy
()
{
...
...
@@ -490,16 +510,17 @@ class TranslatorJapanese : public Translator
/*! this text is put before a class diagram */
virtual
QCString
trClassDiagram
(
const
char
*
clName
)
{
return
(
QCString
)
clName
+
decode
(
"
に対する
継承グラフ"
);
return
(
QCString
)
clName
+
decode
(
"
の
継承グラフ"
);
}
/*! this text is generated when the \\internal command is used. */
virtual
QCString
trForInternalUseOnly
()
{
return
decode
(
"内部使用のみ。"
);
}
/*! this text is generated when the \\reimp command is used. */
virtual
QCString
trReimplementedForInternalReasons
()
{
return
decode
(
"内部的な理由により再実装されましたが、APIには影響しません。"
);
{
return
decode
(
"内部的な理由により再実装されましたが、APIには影響しません。"
);
}
/*! this text is generated when the \\warning command is used. */
...
...
@@ -537,7 +558,7 @@ class TranslatorJapanese : public Translator
/*! this text is generated when the \\exception command is used. */
virtual
QCString
trExceptions
()
{
return
decode
(
"例外"
);
}
/*! this text is used in the title page of a LaTeX document. */
virtual
QCString
trGeneratedBy
()
{
return
decode
(
""
);
}
...
...
@@ -545,8 +566,9 @@ class TranslatorJapanese : public Translator
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990307
//////////////////////////////////////////////////////////////////////////
/*! used as the title of page containing all the index of all namespaces. */
/*! used as the title of page containing all the index of all
namespaces. */
virtual
QCString
trNamespaceList
()
{
return
decode
(
"名前空間一覧"
);
}
...
...
@@ -562,18 +584,18 @@ class TranslatorJapanese : public Translator
* friends of a class
*/
virtual
QCString
trFriends
()
{
return
decode
(
"
フレンド
"
);
}
{
return
decode
(
"
Friend関数
"
);
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
//////////////////////////////////////////////////////////////////////////
/*! used in the class documentation as a header before the list of all
* related classes
* related classes
*/
virtual
QCString
trRelatedFunctionDocumentation
()
{
return
decode
(
"
フレンドと
関連する関数の解説"
);
}
{
return
decode
(
"関連する関数の解説"
);
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
//////////////////////////////////////////////////////////////////////////
...
...
@@ -590,7 +612,8 @@ class TranslatorJapanese : public Translator
case
ClassDef
:
:
Struct
:
result
+=
decode
(
"構造体 "
);
break
;
case
ClassDef
:
:
Union
:
result
+=
decode
(
"共用体 "
);
break
;
case
ClassDef
:
:
Interface
:
result
+=
decode
(
"インタフェース"
);
break
;
case
ClassDef
:
:
Exception
:
result
+=
decode
(
"例外"
);
break
;
//TODO:fixme
case
ClassDef
:
:
Exception
:
result
+=
decode
(
"例外"
);
break
;
//TODO:fixme
}
if
(
isTemplate
)
result
+=
decode
(
" テンプレート"
);
result
+=
(
QCString
)
clName
+
decode
(
" の解説"
);
...
...
@@ -600,39 +623,40 @@ class TranslatorJapanese : public Translator
/*! used as the title of the HTML page of a file */
virtual
QCString
trFileReference
(
const
char
*
fileName
)
{
QCString
result
=
decode
(
""
)
+
(
QCString
)
fileName
+
decode
(
" の解説"
);
QCString
result
=
decode
(
""
)
+
(
QCString
)
fileName
+
decode
(
" の解説"
);
return
result
;
}
/*! used as the title of the HTML page of a namespace */
virtual
QCString
trNamespaceReference
(
const
char
*
namespaceName
)
{
QCString
result
=
decode
(
"名前空間 "
)
+
(
QCString
)
namespaceName
+
decode
(
" の解説"
);
QCString
result
=
decode
(
"名前空間 "
)
+
(
QCString
)
namespaceName
+
decode
(
"
の解説"
);
return
result
;
}
/* these are for the member sections of a class, struct or union */
virtual
QCString
trPublicMembers
()
{
return
decode
(
"
公開メンバ
"
);
}
{
return
decode
(
"
Public メソッド
"
);
}
virtual
QCString
trPublicSlots
()
{
return
decode
(
"
公開
スロット"
);
}
{
return
decode
(
"
Public
スロット"
);
}
virtual
QCString
trSignals
()
{
return
decode
(
"シグナル"
);
}
virtual
QCString
trStaticPublicMembers
()
{
return
decode
(
"
静的公開メンバ
"
);
}
{
return
decode
(
"
Static Public メソッド
"
);
}
virtual
QCString
trProtectedMembers
()
{
return
decode
(
"
保護メンバ
"
);
}
{
return
decode
(
"
Protected メソッド
"
);
}
virtual
QCString
trProtectedSlots
()
{
return
decode
(
"
保護
スロット"
);
}
{
return
decode
(
"
Protected
スロット"
);
}
virtual
QCString
trStaticProtectedMembers
()
{
return
decode
(
"
静的保護メンバ
"
);
}
{
return
decode
(
"
Static Protected メソッド
"
);
}
virtual
QCString
trPrivateMembers
()
{
return
decode
(
"
非公開メンバ
"
);
}
{
return
decode
(
"
Private メソッド
"
);
}
virtual
QCString
trPrivateSlots
()
{
return
decode
(
"
非公開
スロット"
);
}
{
return
decode
(
"
Private
スロット"
);
}
virtual
QCString
trStaticPrivateMembers
()
{
return
decode
(
"
静的非公開メンバ
"
);
}
{
return
decode
(
"
Static Private メソッド
"
);
}
/*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put.
*/
...
...
@@ -641,23 +665,23 @@ class TranslatorJapanese : public Translator
QCString
result
;
int
i
;
// the inherits list contain `numEntries' classes
for
(
i
=
0
;
i
<
numEntries
;
i
++
)
for
(
i
=
0
;
i
<
numEntries
;
i
++
)
{
// use generateMarker to generate placeholders for the class links!
result
+=
generateMarker
(
i
);
// generate marker for entry i in the list
result
+=
generateMarker
(
i
);
// generate marker for entry i in the list
// (order is left to right)
if
(
i
!=
numEntries
-
1
)
// not the last entry, so we need a separator
{
if
(
i
<
numEntries
-
2
)
// not the fore last entry
if
(
i
<
numEntries
-
2
)
// not the fore last entry
result
+=
decode
(
", "
);
else
// the fore last entry
result
+=
decode
(
", と "
);
}
}
return
result
;
return
result
;
}
/*! used in class documentation to produce a list of base classes,
* if class diagrams are disabled.
*/
...
...
@@ -674,7 +698,7 @@ class TranslatorJapanese : public Translator
return
trWriteList
(
numEntries
)
+
decode
(
"に継承されています。"
);
}
/*! used in member documentation blocks to produce a list of
/*! used in member documentation blocks to produce a list of
* members that are hidden by this one.
*/
virtual
QCString
trReimplementedFromList
(
int
numEntries
)
...
...
@@ -690,23 +714,24 @@ class TranslatorJapanese : public Translator
return
trWriteList
(
numEntries
)
+
decode
(
"で再定義されています。"
);
}
/*! This is put above each page as a link to all members of namespaces. */
/*! This is put above each page as a link to all members of namespaces.
*/
virtual
QCString
trNamespaceMembers
()
{
return
decode
(
"名前空間メンバ"
);
}
/*! This is an introduction to the page with all namespace members */
virtual
QCString
trNamespaceMemberDescription
(
bool
extractAll
)
{
QCString
result
=
decode
(
"これは"
);
{
QCString
result
=
decode
(
"これは"
);
result
+=
decode
(
"名前空間の一覧です。それぞれ"
);
if
(
extractAll
)
result
+=
decode
(
"の名前空間の解説"
);
else
result
+=
decode
(
"が属している名前空間"
);
if
(
extractAll
)
result
+=
decode
(
"の名前空間の解説"
);
else
result
+=
decode
(
"が属している名前空間"
);
result
+=
decode
(
"へリンクしています。"
);
return
result
;
}
/*! This is used in LaTeX as the title of the chapter with the
/*! This is used in LaTeX as the title of the chapter with the
* index of all namespaces.
*/
virtual
QCString
trNamespaceIndex
()
...
...
@@ -746,7 +771,8 @@ class TranslatorJapanese : public Translator
case
ClassDef
:
:
Struct
:
result
+=
decode
(
"構造体"
);
break
;
case
ClassDef
:
:
Union
:
result
+=
decode
(
"共用体"
);
break
;
case
ClassDef
:
:
Interface
:
result
+=
decode
(
"インタフェース"
);
break
;
case
ClassDef
:
:
Exception
:
result
+=
decode
(
"例外"
);
break
;
//TODO:fixme
case
ClassDef
:
:
Exception
:
result
+=
decode
(
"例外"
);
break
;
//TODO:fixme
}
result
+=
decode
(
"の解説は次のファイルから生成されました:"
);
return
result
;
...
...
@@ -756,7 +782,7 @@ class TranslatorJapanese : public Translator
* list.
*/
virtual
QCString
trAlphabeticalList
()
{
return
decode
(
"
アルファベット順一覧
"
);
}
{
return
decode
(
"
一覧 [アルファベット順]
"
);
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990901
...
...
@@ -771,7 +797,7 @@ class TranslatorJapanese : public Translator
virtual
QCString
trMainPage
()
{
return
decode
(
"メインページ"
);
}
/*! This is used in references to page that are put in the LaTeX
/*! This is used in references to page that are put in the LaTeX
* documentation. It should be an abbreviation of the word page.
*/
virtual
QCString
trPageAbbreviation
()
...
...
@@ -815,19 +841,21 @@ class TranslatorJapanese : public Translator
/*! this text is put before an include dependency graph */
virtual
QCString
trInclDepGraph
(
const
char
*
fName
)
{
return
(
QCString
)
fName
+
decode
(
"のインクルード依存関係図"
);
return
(
QCString
)
fName
+
decode
(
"のインクルード依存関係図"
);
}
/*! header that is put before the list of constructor/destructors. */
virtual
QCString
trConstructorDocumentation
()
{
return
decode
(
"コンストラクタとデストラクタの解説"
);
return
decode
(
"コンストラクタとデストラクタの解説"
);
}
/*! Used in the file documentation to point to the corresponding sources. */
/*! Used in the file documentation to point to the corresponding
sources. */
virtual
QCString
trGotoSourceCode
()
{
return
decode
(
"ソースコードを見る。"
);
}
/*! Used in the file sources to point to the corresponding documentation. */
/*! Used in the file sources to point to the corresponding
documentation. */
virtual
QCString
trGotoDocumentation
()
{
return
decode
(
"解説を見る。"
);
...
...
@@ -855,7 +883,7 @@ class TranslatorJapanese : public Translator
/*! Text used the source code in the file index */
virtual
QCString
trCode
()
{
return
decode
(
"コード"
);
return
decode
(
"
ソース
コード"
);
}
virtual
QCString
trGraphicalHierarchy
()
{
...
...
@@ -877,53 +905,53 @@ class TranslatorJapanese : public Translator
//////////////////////////////////////////////////////////////////////////
// new since 1.1.0
//////////////////////////////////////////////////////////////////////////
virtual
QCString
trNote
()
{
return
decode
(
"覚え書き"
);
}
virtual
QCString
trPublicTypes
()
{
return
decode
(
"
公開
型"
);
return
decode
(
"
Public
型"
);
}
virtual
QCString
trPublicAttribs
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
decode
(
"データフィールド"
);
}
{
return
decode
(
"データフィールド"
);
}
else
{
return
decode
(
"公開
属性"
);
}
{
return
decode
(
"Public
属性"
);
}
}
virtual
QCString
trStaticPublicAttribs
()
{
return
decode
(
"
静的公開
属性"
);
return
decode
(
"
Static Public
属性"
);
}
virtual
QCString
trProtectedTypes
()
{
return
decode
(
"
保護
型"
);
return
decode
(
"
Protected
型"
);
}
virtual
QCString
trProtectedAttribs
()
{
return
decode
(
"
保護
属性"
);
return
decode
(
"
Protected
属性"
);
}
virtual
QCString
trStaticProtectedAttribs
()
{
return
decode
(
"
静的保護
属性"
);
return
decode
(
"
Static Protected
属性"
);
}
virtual
QCString
trPrivateTypes
()
{
return
decode
(
"
非公開
型"
);
return
decode
(
"
Private
型"
);
}
virtual
QCString
trPrivateAttribs
()
{
return
decode
(
"
非公開
属性"
);
return
decode
(
"
Private
属性"
);
}
virtual
QCString
trStaticPrivateAttribs
()
{
return
decode
(
"
静的非公開
属性"
);
return
decode
(
"
Static Private
属性"
);
}
//////////////////////////////////////////////////////////////////////////
...
...
@@ -933,12 +961,12 @@ class TranslatorJapanese : public Translator
/*! Used as a marker that is put before a todo item */
virtual
QCString
trTodo
()
{
return
decode
(
"T
ODO
"
);
return
decode
(
"T
odo
"
);
}
/*! Used as the header of the todo list */
virtual
QCString
trTodoList
()
{
return
decode
(
"T
ODO
一覧"
);
return
decode
(
"T
odo
一覧"
);
}
//////////////////////////////////////////////////////////////////////////
...
...
@@ -959,14 +987,14 @@ class TranslatorJapanese : public Translator
}
virtual
QCString
trInclByDepGraph
()
{
return
decode
(
"このグラフは、どのファイルから直接、
間接的に"
return
decode
(
"このグラフは、どのファイルから直接/
間接的に"
"インクルードされているかを示しています。"
);
}
virtual
QCString
trSince
()
{
return
decode
(
"から"
);
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.5
//////////////////////////////////////////////////////////////////////////
...
...
@@ -979,8 +1007,9 @@ class TranslatorJapanese : public Translator
/*! page explaining how the dot graph's should be interpreted */
virtual
QCString
trLegendDocs
()
{
return
decode
(
"このページでは、doxygen で生成されたグラフをどのようにみたらよいかを"
return
decode
(
"このページでは、doxygen
で生成されたグラフをどのようにみたらよいかを"
"説明します。<p>
\n
"
"次の例を考えてみます。
\n
"
"
\\
code
\n
"
...
...
@@ -1008,19 +1037,23 @@ class TranslatorJapanese : public Translator
" Used *m_usedClass;
\n
"
"};
\n
"
"
\\
endcode
\n
"
"設定ファイル中で、タグ
\\
c MAX_DOT_GRAPH_HEIGHT が 200 にセットされた"
"設定ファイル中で、タグ
\\
c MAX_DOT_GRAPH_HEIGHT が 200
にセットされた"
"場合、次のようなグラフとなります。"
"<p><center><img src=
\"
graph_legend."
+
Config_getEnum
(
"DOT_IMAGE_FORMAT"
)
+
"
\"
></center>
\n
"
"<p><center><img
src=
\"
graph_legend."
+
Config_getEnum
(
"DOT_IMAGE_FORMAT"
)
+
"
\"
></center>
\n
"
"<p>
\n
"
"上のグラフ内のボックスには次のような意味があります。
\n
"
"<ul>
\n
"
"<li>黒く塗りつぶされたボックスは、このグラフに対応する構造体やクラスを"
"<li>黒く塗りつぶされたボックスは、このグラフに対応する構造体やクラスを"
"表します。
\n
"
"<li>黒枠のボックスはドキュメントがある構造体やクラスを表します。
\n
"
"<li>灰色の枠のボックスはドキュメントがない構造体やクラスを表します。
\n
"
"<li>灰色の枠のボックスはドキュメントがない構造体やクラスを表します。
\n
"
"<li>赤枠のボックスはドキュメントがある構造体やクラスを表しますが、"
"指定されたサイズに収まらないために継承・包含関係をすべて図示する"
"ことができなかったことを示します。"
"指定されたサイズに収まらないために継承・包含関係をすべて図示する"
"ことができなかったことを示します。"
"</ul>
\n
"
"矢印には次のような意味があります。
\n
"
"<ul>
\n
"
...
...
@@ -1028,8 +1061,8 @@ class TranslatorJapanese : public Translator
"<li>緑の矢印は protected 継承関係を示します。
\n
"
"<li>赤の矢印は private 継承関係を示します。
\n
"
"<li>紫の破線矢印は、そのクラスが他のクラスに含まれていたり、"
"利用されていることを示します。また、矢印が指しているクラスや構造体を"
"どの変数でアクセスできるかを矢印のラベルとして示しています。
\n
"
"利用されていることを示します。また、矢印が指しているクラスや構造体を"
"どの変数でアクセスできるかを矢印のラベルとして示しています。
\n
"
"</ul>
\n
"
);
}
/*! text for the link to the legend page */
...
...
@@ -1037,11 +1070,11 @@ class TranslatorJapanese : public Translator
{
return
decode
(
"凡例"
);
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.0
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a test item */
virtual
QCString
trTest
()
{
...
...
@@ -1060,7 +1093,7 @@ class TranslatorJapanese : public Translator
/*! Used as a section header for KDE-2 IDL methods */
virtual
QCString
trDCOPMethods
()
{
return
decode
(
"DCOPメソッド"
);
return
decode
(
"DCOP
メソッド"
);
}
//////////////////////////////////////////////////////////////////////////
...
...
@@ -1086,19 +1119,19 @@ class TranslatorJapanese : public Translator
/*! Used for Java interfaces in the summary section of Java packages */
virtual
QCString
trInterfaces
()
{
return
decode
(
"インタ
ー
フェース"
);
return
decode
(
"インタフェース"
);
}
/*! Used for Java classes in the summary section of Java packages */
virtual
QCString
trClasses
()
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
return
decode
(
"データ構造"
);
}
{
return
decode
(
"データ構造"
);
}
else
{
return
decode
(
"クラス"
);
}
{
return
decode
(
"クラス"
);
}
}
/*! Used as the title of a Java package */
virtual
QCString
trPackage
(
const
char
*
name
)
...
...
@@ -1135,7 +1168,7 @@ class TranslatorJapanese : public Translator
//////////////////////////////////////////////////////////////////////////
// new since 1.2.5
//////////////////////////////////////////////////////////////////////////
/*! Used as a marker that is put before a \\bug item */
virtual
QCString
trBug
()
{
...
...
@@ -1151,9 +1184,10 @@ class TranslatorJapanese : public Translator
// new since 1.2.6
//////////////////////////////////////////////////////////////////////////
/*! Used as ansicpg for RTF file
*
* The following table shows the correlation of Charset name, Charset Value and
/*! Used as ansicpg for RTF file
*
* The following table shows the correlation of Charset name, Charset
Value and
* <pre>
* Codepage number:
* Charset Name Charset Value(hex) Codepage number
...
...
@@ -1174,15 +1208,15 @@ class TranslatorJapanese : public Translator
* GB2313_CHARSET 134 (x86) 936
* CHINESEBIG5_CHARSET 136 (x88) 950
* </pre>
*
*
*/
virtual
QCString
trRTFansicp
()
{
return
"932"
;
}
/*! Used as ansicpg for RTF fcharset
/*! Used as ansicpg for RTF fcharset
* \see trRTFansicp() for a table of possible values.
*/
virtual
QCString
trRTFCharSet
()
...
...
@@ -1195,97 +1229,97 @@ class TranslatorJapanese : public Translator
{
return
decode
(
"索引"
);
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual
QCString
trClass
(
bool
first_capital
,
bool
singular
)
{
{
first_capital
=
first_capital
;
singular
=
singular
;
QCString
result
(
decode
(
"クラス"
));
return
result
;
return
result
;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual
QCString
trFile
(
bool
first_capital
,
bool
singular
)
{
{
first_capital
=
first_capital
;
singular
=
singular
;
QCString
result
(
decode
(
"ファイル"
));
return
result
;
return
result
;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual
QCString
trNamespace
(
bool
first_capital
,
bool
singular
)
{
{
first_capital
=
first_capital
;
singular
=
singular
;
QCString
result
(
decode
(
"名前空間"
));
return
result
;
return
result
;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual
QCString
trGroup
(
bool
first_capital
,
bool
singular
)
{
{
first_capital
=
first_capital
;
singular
=
singular
;
QCString
result
(
decode
(
"グループ"
));
return
result
;
return
result
;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual
QCString
trPage
(
bool
first_capital
,
bool
singular
)
{
{
first_capital
=
first_capital
;
singular
=
singular
;
QCString
result
(
decode
(
"ページ"
));
return
result
;
return
result
;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual
QCString
trMember
(
bool
first_capital
,
bool
singular
)
{
{
first_capital
=
first_capital
;
singular
=
singular
;
QCString
result
(
decode
(
"メンバ"
));
return
result
;
return
result
;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual
QCString
trField
(
bool
first_capital
,
bool
singular
)
{
{
first_capital
=
first_capital
;
singular
=
singular
;
QCString
result
(
decode
(
"フィールド"
));
return
result
;
return
result
;
}
/*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names
* be followed by a single name or by a list of names
* of the category.
*/
virtual
QCString
trGlobal
(
bool
first_capital
,
bool
singular
)
{
{
first_capital
=
first_capital
;
singular
=
singular
;
QCString
result
(
decode
(
"グローバル"
));
...
...
@@ -1299,11 +1333,11 @@ class TranslatorJapanese : public Translator
/*! This text is generated when the \\author command is used and
* for the author section in man pages. */
virtual
QCString
trAuthor
(
bool
first_capital
,
bool
singular
)
{
{
first_capital
=
first_capital
;
singular
=
singular
;
QCString
result
(
decode
(
"作者"
));
return
result
;
return
result
;
}
//////////////////////////////////////////////////////////////////////////
...
...
@@ -1321,7 +1355,7 @@ class TranslatorJapanese : public Translator
// new since 1.2.13
//////////////////////////////////////////////////////////////////////////
/*! used in member documentation blocks to produce a list of
/*! used in member documentation blocks to produce a list of
* members that are implemented by this one.
*/
virtual
QCString
trImplementedFromList
(
int
numEntries
)
...
...
@@ -1334,8 +1368,9 @@ class TranslatorJapanese : public Translator
*/
virtual
QCString
trImplementedInList
(
int
numEntries
)
{
return
trWriteList
(
numEntries
)
+
decode
(
"
に
実装されています"
)
+
"."
;
return
trWriteList
(
numEntries
)
+
decode
(
"
で
実装されています"
)
+
"."
;
}
};
#endif
src/translator_si.h
View file @
ff31b2f1
...
...
@@ -21,7 +21,7 @@
#define TRANSLATOR_SI_H
class
TranslatorSlovene
:
public
Translator
Adapter_1_2_13
class
TranslatorSlovene
:
public
Translator
{
public
:
QCString
idLanguage
()
...
...
@@ -991,6 +991,26 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_13
{
return
"Reference"
;
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.13
//////////////////////////////////////////////////////////////////////////
/*! used in member documentation blocks to produce a list of
* members that are implemented by this one.
*/
virtual
QCString
trImplementedFromList
(
int
numEntries
)
{
return
"Implementira "
+
trWriteList
(
numEntries
)
+
"."
;
}
/*! used in member documentation blocks to produce a list of
* all members that implement this abstract member.
*/
virtual
QCString
trImplementedInList
(
int
numEntries
)
{
return
"Implementirano v "
+
trWriteList
(
numEntries
)
+
"."
;
}
};
#endif
...
...
src/xmlgen.cpp
View file @
ff31b2f1
...
...
@@ -343,12 +343,23 @@ class XMLGenerator : public OutputDocInterface
{
XML_DB
((
"(startPreFragment)
\n
"
));
startParMode
();
m_t
<<
"<pr
ogramlisting
>"
;
m_t
<<
"<pr
eformatted
>"
;
}
void
endPreFragment
()
{
XML_DB
((
"(endPreFragment)
\n
"
));
m_t
<<
"</programlisting>"
;
m_t
<<
"</preformatted>"
;
}
void
startVerbatimFragment
()
{
XML_DB
((
"(startVerbatimFragment)
\n
"
));
startParMode
();
m_t
<<
"<preformatted>"
;
}
void
endVerbatimFragment
()
{
XML_DB
((
"(endVerbatimFragment)
\n
"
));
m_t
<<
"</preformatted>"
;
}
void
writeRuler
()
{
...
...
@@ -616,20 +627,21 @@ class XMLGenerator : public OutputDocInterface
startParMode
();
m_t
<<
"<table cols=
\"
"
<<
cols
<<
"
\"
>
\n
"
;
}
void
endTable
(
bool
)
void
endTable
(
bool
hasCaption
)
{
XML_DB
((
"endTable
\n
"
));
m_t
<<
"</row>
\n
</table>"
;
if
(
!
hasCaption
)
m_t
<<
"</row>
\n
"
;
m_t
<<
"</table>"
;
}
void
startCaption
()
{
XML_DB
((
"startCaption"
));
m_t
<<
"<caption>"
;
m_t
<<
"<
/row><
caption>"
;
}
void
endCaption
()
{
XML_DB
((
"encCaption"
));
m_t
<<
"</caption"
;
m_t
<<
"</caption
>
"
;
}
void
nextTableRow
()
{
...
...
@@ -639,7 +651,7 @@ class XMLGenerator : public OutputDocInterface
// we need manually add a para here because cells are
// parsed before the table is generated, and thus
// are already parsed as if they are inside a paragraph.
m_t
<<
"<para>"
;
//
m_t << "<para>";
}
void
endTableRow
()
{
...
...
tmake/lib/osf1-cxx/tmake.conf
View file @
ff31b2f1
...
...
@@ -8,7 +8,7 @@ TEMPLATE = app
CONFIG
=
qt
warn_on
release
TMAKE_CC
=
cxx
TMAKE_CFLAGS
= -
x
c
xx
-
w
-
D_POSIX_SOURCE
-
D_OSF_SOURCE
-
D_AES_SOURCE
TMAKE_CFLAGS
= -
x
c
c
-
w
-
D_POSIX_SOURCE
-
D_OSF_SOURCE
-
D_AES_SOURCE
TMAKE_CFLAGS_WARN_ON
=
TMAKE_CFLAGS_WARN_OFF
=
TMAKE_CFLAGS_RELEASE
= -
O2
...
...
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