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
Show 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
...
...
@@ -116,6 +120,10 @@ class CompoundHandler : public IClass,
IRelatedCompoundIterator
*
derivedClasses
()
const
;
ICompoundIterator
*
nestedClasses
()
const
;
// IFile implementation
IGraph
*
includeDependencyGraph
()
const
;
IGraph
*
includedByDependencyGraph
()
const
;
private
:
QList
<
RelatedCompound
>
m_superClasses
;
QList
<
RelatedCompound
>
m_subClasses
;
...
...
@@ -123,10 +131,10 @@ class CompoundHandler : public IClass,
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
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
;
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,6 +498,8 @@ void DotNode::writeXML(QTextStream &t)
{
edgeInfo
=
eli
.
current
();
t
<<
" <childnode id=
\"
"
<<
childNode
->
m_number
<<
"
\"
relation=
\"
"
;
if
(
isClassGraph
)
{
switch
(
edgeInfo
->
m_color
)
{
case
EdgeInfo
:
:
Blue
:
t
<<
"public-inheritance"
;
break
;
...
...
@@ -507,6 +509,11 @@ void DotNode::writeXML(QTextStream &t)
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,19 +541,8 @@ 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
())
{
...
...
@@ -561,7 +550,7 @@ static void buildClassList(Entry *root)
warn
(
root
->
fileName
,
root
->
startLine
,
"Warning: invalid class name found!"
);
goto
error
;
return
;
}
Debug
::
print
(
Debug
::
Classes
,
0
,
" Found class with raw name %s
\n
"
,
fullName
.
data
());
...
...
@@ -765,8 +754,19 @@ static void buildClassList(Entry *root)
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
);
...
...
@@ -7426,8 +7450,8 @@ 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
...
...
@@ -114,6 +114,8 @@ class ManGenerator : public OutputGenerator
void
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
...
...
@@ -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,8 +2093,23 @@ 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
;
...
...
@@ -2111,12 +2134,29 @@ void RTFGenerator::codify(const char *str)
//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"
));
...
...
@@ -2129,7 +2169,7 @@ void RTFGenerator::codify(const char *str)
case
'{'
:
t
<<
"
\\
{"
;
col
++
;
break
;
case
'}'
:
t
<<
"
\\
}"
;
col
++
;
break
;
case
'\\'
:
t
<<
"
\\\\
"
;
col
++
;
break
;
default
:
t
<<
c
;
col
++
;
break
;
default
:
t
<<
(
char
)
c
;
col
++
;
break
;
}
}
}
...
...
src/rtfgen.h
View file @
ff31b2f1
...
...
@@ -114,6 +114,8 @@ class RTFGenerator : public OutputGenerator
void
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
)
{
...
...
@@ -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,21 +69,22 @@ 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
()
...
...
@@ -97,19 +101,20 @@ class TranslatorJapanese : public Translator
/*! 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
()
...
...
@@ -127,11 +132,11 @@ 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
()
...
...
@@ -149,7 +154,8 @@ class TranslatorJapanese : public Translator
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"
))
...
...
@@ -162,15 +168,18 @@ class TranslatorJapanese : public Translator
}
}
/*! 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"
))
...
...
@@ -258,17 +267,19 @@ 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
(
"一覧です。それぞれが属しているファイルの解説へリンクしています。"
);
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,11 +287,13 @@ 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
(
"すべてのモジュールの一覧です。"
);
}
...
...
@@ -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.
...
...
@@ -389,13 +402,13 @@ class TranslatorJapanese : public Translator
* 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
* 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
* list of (global) functions
...
...
@@ -413,44 +426,50 @@ class TranslatorJapanese : public Translator
* 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
()
...
...
@@ -480,7 +499,8 @@ class TranslatorJapanese : public Translator
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,7 +510,7 @@ 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. */
...
...
@@ -499,7 +519,8 @@ class TranslatorJapanese : public Translator
/*! 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. */
...
...
@@ -546,7 +567,8 @@ 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,7 +584,7 @@ class TranslatorJapanese : public Translator
* friends of a class
*/
virtual
QCString
trFriends
()
{
return
decode
(
"
フレンド
"
);
}
{
return
decode
(
"
Friend関数
"
);
}
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
...
...
@@ -572,7 +594,7 @@ class TranslatorJapanese : public Translator
* 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
(
" の解説"
);
...
...
@@ -607,31 +630,32 @@ class TranslatorJapanese : public Translator
/*! 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.
...
...
@@ -690,7 +714,8 @@ 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
(
"名前空間メンバ"
);
}
...
...
@@ -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
...
...
@@ -822,12 +848,14 @@ class TranslatorJapanese : public Translator
{
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
()
{
...
...
@@ -884,7 +912,7 @@ class TranslatorJapanese : public Translator
}
virtual
QCString
trPublicTypes
()
{
return
decode
(
"
公開
型"
);
return
decode
(
"
Public
型"
);
}
virtual
QCString
trPublicAttribs
()
{
...
...
@@ -894,36 +922,36 @@ class TranslatorJapanese : public Translator
}
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,7 +987,7 @@ class TranslatorJapanese : public Translator
}
virtual
QCString
trInclByDepGraph
()
{
return
decode
(
"このグラフは、どのファイルから直接、
間接的に"
return
decode
(
"このグラフは、どのファイルから直接/
間接的に"
"インクルードされているかを示しています。"
);
}
virtual
QCString
trSince
()
...
...
@@ -980,7 +1008,8 @@ class TranslatorJapanese : public Translator
virtual
QCString
trLegendDocs
()
{
return
decode
(
"このページでは、doxygen で生成されたグラフをどのようにみたらよいかを"
decode
(
"このページでは、doxygen
で生成されたグラフをどのようにみたらよいかを"
"説明します。<p>
\n
"
"次の例を考えてみます。
\n
"
"
\\
code
\n
"
...
...
@@ -1008,16 +1037,20 @@ 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>赤枠のボックスはドキュメントがある構造体やクラスを表しますが、"
"指定されたサイズに収まらないために継承・包含関係をすべて図示する"
"ことができなかったことを示します。"
...
...
@@ -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,7 +1119,7 @@ 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
()
...
...
@@ -1153,7 +1186,8 @@ class TranslatorJapanese : public Translator
/*! Used as ansicpg for RTF file
*
* The following table shows the correlation of Charset name, Charset Value and
* The following table shows the correlation of Charset name, Charset
Value and
* <pre>
* Codepage number:
* Charset Name Charset Value(hex) Codepage number
...
...
@@ -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