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.
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.
Please read INSTALL for compilation instructions.
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
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;
...
@@ -9,6 +9,15 @@ class ICompound;
class
ISection
;
class
ISection
;
class
INode
;
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
class
ILinkedText
{
{
public
:
public
:
...
@@ -19,17 +28,17 @@ class ILinkedText
...
@@ -19,17 +28,17 @@ class ILinkedText
class
ILT_Text
:
public
ILinkedText
class
ILT_Text
:
public
ILinkedText
{
{
public
:
public
:
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
};
class
ILT_Ref
:
public
ILinkedText
class
ILT_Ref
:
public
ILinkedText
{
{
public
:
public
:
enum
TargetKind
{
Member
,
Compound
};
enum
TargetKind
{
Member
,
Compound
};
virtual
QString
id
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
TargetKind
targetKind
()
const
=
0
;
virtual
TargetKind
targetKind
()
const
=
0
;
virtual
QString
external
()
const
=
0
;
virtual
const
IString
*
external
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
};
class
ILinkedTextIterator
class
ILinkedTextIterator
...
@@ -47,10 +56,10 @@ class IParam
...
@@ -47,10 +56,10 @@ class IParam
{
{
public
:
public
:
virtual
ILinkedTextIterator
*
type
()
const
=
0
;
virtual
ILinkedTextIterator
*
type
()
const
=
0
;
virtual
QString
declarationName
()
const
=
0
;
virtual
const
IString
*
declarationName
()
const
=
0
;
virtual
QString
definitionName
()
const
=
0
;
virtual
const
IString
*
definitionName
()
const
=
0
;
virtual
QString
attrib
()
const
=
0
;
virtual
const
IString
*
attrib
()
const
=
0
;
virtual
QString
arraySpecifier
()
const
=
0
;
virtual
const
IString
*
arraySpecifier
()
const
=
0
;
virtual
ILinkedTextIterator
*
defaultValue
()
const
=
0
;
virtual
ILinkedTextIterator
*
defaultValue
()
const
=
0
;
};
};
...
@@ -69,7 +78,7 @@ class IMemberReference
...
@@ -69,7 +78,7 @@ class IMemberReference
{
{
public
:
public
:
virtual
IMember
*
member
()
const
=
0
;
virtual
IMember
*
member
()
const
=
0
;
virtual
QString
memberName
()
const
=
0
;
virtual
const
IString
*
memberName
()
const
=
0
;
};
};
class
IMemberReferenceIterator
class
IMemberReferenceIterator
...
@@ -86,8 +95,8 @@ class IMemberReferenceIterator
...
@@ -86,8 +95,8 @@ class IMemberReferenceIterator
class
IEnumValue
class
IEnumValue
{
{
public
:
public
:
virtual
QString
name
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
QString
initializer
()
const
=
0
;
virtual
const
IString
*
initializer
()
const
=
0
;
};
};
class
IEnumValueIterator
class
IEnumValueIterator
...
@@ -136,7 +145,7 @@ class IDoc
...
@@ -136,7 +145,7 @@ class IDoc
Row
,
// 27 -> IDocRow
Row
,
// 27 -> IDocRow
Entry
,
// 28 -> IDocEntry
Entry
,
// 28 -> IDocEntry
Section
,
// 29 -> IDocSection
Section
,
// 29 -> IDocSection
Root
// 30 -> IDocRoot
Root
,
// 30 -> IDocRoot
};
};
virtual
Kind
kind
()
const
=
0
;
virtual
Kind
kind
()
const
=
0
;
};
};
...
@@ -153,7 +162,8 @@ class IDocMarkup : public IDoc
...
@@ -153,7 +162,8 @@ class IDocMarkup : public IDoc
Subscript
=
0x08
,
Subscript
=
0x08
,
Superscript
=
0x10
,
Superscript
=
0x10
,
SmallFont
=
0x20
,
SmallFont
=
0x20
,
Center
=
0x40
Center
=
0x40
,
Preformatted
=
0x80
};
};
};
};
...
@@ -167,7 +177,7 @@ class IDocPara : public IDoc
...
@@ -167,7 +177,7 @@ class IDocPara : public IDoc
class
IDocText
:
public
IDocMarkup
class
IDocText
:
public
IDocMarkup
{
{
public
:
public
:
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
virtual
int
markup
()
const
=
0
;
virtual
int
markup
()
const
=
0
;
};
};
...
@@ -207,7 +217,7 @@ class IDocParameterList : public IDoc
...
@@ -207,7 +217,7 @@ class IDocParameterList : public IDoc
class
IDocParameter
:
public
IDoc
class
IDocParameter
:
public
IDoc
{
{
public
:
public
:
virtual
QString
name
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
};
};
...
@@ -229,7 +239,7 @@ class IDocSimpleSect : public IDoc
...
@@ -229,7 +239,7 @@ class IDocSimpleSect : public IDoc
Examples
Examples
};
};
virtual
Types
type
()
const
=
0
;
virtual
Types
type
()
const
=
0
;
virtual
QString
typeString
()
const
=
0
;
virtual
const
IString
*
typeString
()
const
=
0
;
virtual
IDocTitle
*
title
()
const
=
0
;
virtual
IDocTitle
*
title
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
};
};
...
@@ -238,10 +248,10 @@ class IDocRef : public IDoc
...
@@ -238,10 +248,10 @@ class IDocRef : public IDoc
{
{
public
:
public
:
enum
TargetKind
{
Member
,
Compound
};
enum
TargetKind
{
Member
,
Compound
};
virtual
QString
refId
()
const
=
0
;
virtual
const
IString
*
refId
()
const
=
0
;
virtual
TargetKind
targetKind
()
const
=
0
;
virtual
TargetKind
targetKind
()
const
=
0
;
virtual
QString
external
()
const
=
0
;
virtual
const
IString
*
external
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
};
class
IDocVariableList
:
public
IDoc
class
IDocVariableList
:
public
IDoc
...
@@ -253,7 +263,7 @@ class IDocVariableList : public IDoc
...
@@ -253,7 +263,7 @@ class IDocVariableList : public IDoc
class
IDocVariableListEntry
:
public
IDoc
class
IDocVariableListEntry
:
public
IDoc
{
{
public
:
public
:
virtual
QString
term
()
const
=
0
;
virtual
const
IString
*
term
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
};
};
...
@@ -268,21 +278,21 @@ class IDocLineBreak : public IDoc
...
@@ -268,21 +278,21 @@ class IDocLineBreak : public IDoc
class
IDocULink
:
public
IDoc
class
IDocULink
:
public
IDoc
{
{
public
:
public
:
virtual
QString
url
()
const
=
0
;
virtual
const
IString
*
url
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
};
class
IDocEMail
:
public
IDoc
class
IDocEMail
:
public
IDoc
{
{
public
:
public
:
virtual
QString
address
()
const
=
0
;
virtual
const
IString
*
address
()
const
=
0
;
};
};
class
IDocLink
:
public
IDoc
class
IDocLink
:
public
IDoc
{
{
public
:
public
:
virtual
QString
refId
()
const
=
0
;
virtual
const
IString
*
refId
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
};
class
IDocProgramListing
:
public
IDoc
class
IDocProgramListing
:
public
IDoc
...
@@ -295,7 +305,7 @@ class IDocCodeLine : public IDoc
...
@@ -295,7 +305,7 @@ class IDocCodeLine : public IDoc
{
{
public
:
public
:
virtual
int
lineNumber
()
const
=
0
;
virtual
int
lineNumber
()
const
=
0
;
virtual
QString
refId
()
const
=
0
;
virtual
const
IString
*
refId
()
const
=
0
;
virtual
IDocIterator
*
codeElements
()
const
=
0
;
virtual
IDocIterator
*
codeElements
()
const
=
0
;
};
};
...
@@ -315,29 +325,29 @@ class IDocHighlight : public IDoc
...
@@ -315,29 +325,29 @@ class IDocHighlight : public IDoc
class
IDocFormula
:
public
IDoc
class
IDocFormula
:
public
IDoc
{
{
public
:
public
:
virtual
QString
id
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
};
class
IDocImage
:
public
IDoc
class
IDocImage
:
public
IDoc
{
{
public
:
public
:
virtual
QString
name
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
QString
caption
()
const
=
0
;
virtual
const
IString
*
caption
()
const
=
0
;
};
};
class
IDocDotFile
:
public
IDoc
class
IDocDotFile
:
public
IDoc
{
{
public
:
public
:
virtual
QString
name
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
QString
caption
()
const
=
0
;
virtual
const
IString
*
caption
()
const
=
0
;
};
};
class
IDocIndexEntry
:
public
IDoc
class
IDocIndexEntry
:
public
IDoc
{
{
public
:
public
:
virtual
QString
primary
()
const
=
0
;
virtual
const
IString
*
primary
()
const
=
0
;
virtual
QString
secondary
()
const
=
0
;
virtual
const
IString
*
secondary
()
const
=
0
;
};
};
class
IDocTable
:
public
IDoc
class
IDocTable
:
public
IDoc
...
@@ -345,7 +355,7 @@ class IDocTable : public IDoc
...
@@ -345,7 +355,7 @@ class IDocTable : public IDoc
public
:
public
:
virtual
IDocIterator
*
rows
()
const
=
0
;
virtual
IDocIterator
*
rows
()
const
=
0
;
virtual
int
numColumns
()
const
=
0
;
virtual
int
numColumns
()
const
=
0
;
virtual
QString
caption
()
const
=
0
;
virtual
const
IString
*
caption
()
const
=
0
;
};
};
class
IDocRow
:
public
IDoc
class
IDocRow
:
public
IDoc
...
@@ -363,7 +373,7 @@ class IDocEntry : public IDoc
...
@@ -363,7 +373,7 @@ class IDocEntry : public IDoc
class
IDocSection
:
public
IDoc
class
IDocSection
:
public
IDoc
{
{
public
:
public
:
virtual
QString
id
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
int
level
()
const
=
0
;
virtual
int
level
()
const
=
0
;
virtual
IDocIterator
*
title
()
const
=
0
;
virtual
IDocIterator
*
title
()
const
=
0
;
};
};
...
@@ -388,7 +398,7 @@ class IDocIterator
...
@@ -388,7 +398,7 @@ class IDocIterator
class
IEdgeLabel
class
IEdgeLabel
{
{
public
:
public
:
virtual
QString
label
()
const
=
0
;
virtual
const
IString
*
label
()
const
=
0
;
};
};
class
IEdgeLabelIterator
class
IEdgeLabelIterator
...
@@ -410,7 +420,7 @@ class IChildNode
...
@@ -410,7 +420,7 @@ class IChildNode
};
};
virtual
INode
*
node
()
const
=
0
;
virtual
INode
*
node
()
const
=
0
;
virtual
NodeRelation
relation
()
const
=
0
;
virtual
NodeRelation
relation
()
const
=
0
;
virtual
QString
relationString
()
const
=
0
;
virtual
const
IString
*
relationString
()
const
=
0
;
virtual
IEdgeLabelIterator
*
edgeLabels
()
const
=
0
;
virtual
IEdgeLabelIterator
*
edgeLabels
()
const
=
0
;
};
};
...
@@ -428,9 +438,9 @@ class IChildNodeIterator
...
@@ -428,9 +438,9 @@ class IChildNodeIterator
class
INode
class
INode
{
{
public
:
public
:
virtual
QString
id
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
QString
label
()
const
=
0
;
virtual
const
IString
*
label
()
const
=
0
;
virtual
QString
linkId
()
const
=
0
;
virtual
const
IString
*
linkId
()
const
=
0
;
virtual
IChildNodeIterator
*
children
()
const
=
0
;
virtual
IChildNodeIterator
*
children
()
const
=
0
;
};
};
...
@@ -461,13 +471,13 @@ class IMember
...
@@ -461,13 +471,13 @@ class IMember
virtual
ICompound
*
compound
()
const
=
0
;
virtual
ICompound
*
compound
()
const
=
0
;
virtual
ISection
*
section
()
const
=
0
;
virtual
ISection
*
section
()
const
=
0
;
virtual
MemberKind
kind
()
const
=
0
;
virtual
MemberKind
kind
()
const
=
0
;
virtual
QString
kindString
()
const
=
0
;
virtual
const
IString
*
kindString
()
const
=
0
;
virtual
QString
id
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
QString
protection
()
const
=
0
;
virtual
const
IString
*
protection
()
const
=
0
;
virtual
QString
virtualness
()
const
=
0
;
virtual
const
IString
*
virtualness
()
const
=
0
;
virtual
ILinkedTextIterator
*
type
()
const
=
0
;
virtual
ILinkedTextIterator
*
type
()
const
=
0
;
virtual
QString
typeString
()
const
=
0
;
virtual
const
IString
*
typeString
()
const
=
0
;
virtual
QString
name
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
bool
isConst
()
const
=
0
;
virtual
bool
isConst
()
const
=
0
;
virtual
bool
isVolatile
()
const
=
0
;
virtual
bool
isVolatile
()
const
=
0
;
virtual
IParamIterator
*
params
()
const
=
0
;
virtual
IParamIterator
*
params
()
const
=
0
;
...
@@ -477,7 +487,7 @@ class IMember
...
@@ -477,7 +487,7 @@ class IMember
virtual
IMemberReferenceIterator
*
referencedBy
()
const
=
0
;
virtual
IMemberReferenceIterator
*
referencedBy
()
const
=
0
;
virtual
int
bodyStart
()
const
=
0
;
virtual
int
bodyStart
()
const
=
0
;
virtual
int
bodyEnd
()
const
=
0
;
virtual
int
bodyEnd
()
const
=
0
;
virtual
QString
definitionFile
()
const
=
0
;
virtual
const
IString
*
definitionFile
()
const
=
0
;
virtual
int
definitionLine
()
const
=
0
;
virtual
int
definitionLine
()
const
=
0
;
virtual
IMemberReference
*
reimplements
()
const
=
0
;
virtual
IMemberReference
*
reimplements
()
const
=
0
;
virtual
IMemberReferenceIterator
*
reimplementedBy
()
const
=
0
;
virtual
IMemberReferenceIterator
*
reimplementedBy
()
const
=
0
;
...
@@ -512,7 +522,7 @@ class ISection
...
@@ -512,7 +522,7 @@ class ISection
Friend
,
Related
,
Defines
,
Prototypes
,
Typedefs
,
Friend
,
Related
,
Defines
,
Prototypes
,
Typedefs
,
Enums
,
Functions
,
Variables
Enums
,
Functions
,
Variables
};
};
virtual
QString
kindString
()
const
=
0
;
virtual
const
IString
*
kindString
()
const
=
0
;
virtual
SectionKind
kind
()
const
=
0
;
virtual
SectionKind
kind
()
const
=
0
;
virtual
IMemberIterator
*
members
()
const
=
0
;
virtual
IMemberIterator
*
members
()
const
=
0
;
virtual
bool
isStatic
()
const
=
0
;
virtual
bool
isStatic
()
const
=
0
;
...
@@ -541,12 +551,12 @@ class ICompound
...
@@ -541,12 +551,12 @@ class ICompound
Namespace
,
File
,
Group
,
Page
Namespace
,
File
,
Group
,
Page
};
};
/*! Returns the name of this compound */
/*! 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
/*! Returns the id of this compound. The id is a
* unique string representing a specific compound object.
* 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
/*! Returns the kind of compound. See #CompoundKind for possible
* values.
* values.
...
@@ -556,7 +566,7 @@ class ICompound
...
@@ -556,7 +566,7 @@ class ICompound
/*! Returns a string representation of the compound kind.
/*! Returns a string representation of the compound kind.
* @see kind()
* @see kind()
*/
*/
virtual
QString
kindString
()
const
=
0
;
virtual
const
IString
*
kindString
()
const
=
0
;
/*! Returns an iterator for the different member sections in this
/*! Returns an iterator for the different member sections in this
* compound.
* compound.
...
@@ -576,14 +586,14 @@ class ICompound
...
@@ -576,14 +586,14 @@ class ICompound
/*! Returns an interface to a member given its id.
/*! Returns an interface to a member given its id.
* @param id The member 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
/*! Returns a list of all members within the compound having a certain
* name. Member overloading is the reason why there can be more than
* name. Member overloading is the reason why there can be more than
* one member.
* one member.
* @param name The name of the 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
/*! Decreases the reference counter for this compound. If it reaches
* zero, the memory for the compound will be released.
* zero, the memory for the compound will be released.
...
@@ -668,11 +678,13 @@ class INamespace : public ICompound
...
@@ -668,11 +678,13 @@ class INamespace : public ICompound
class
IFile
:
public
ICompound
class
IFile
:
public
ICompound
{
{
public
:
virtual
IGraph
*
includeDependencyGraph
()
const
=
0
;
virtual
IGraph
*
includedByDependencyGraph
()
const
=
0
;
// file:
// file:
// includes()
// includes()
// includedBy()
// includedBy()
// IDotGraph *includeDependencyGraph()
// IDotGraph *includedByDependencyGraph()
// IDocProgramListing *source()
// IDocProgramListing *source()
// ICompound *innerNamespaces()
// ICompound *innerNamespaces()
// ICompoundIterator *innerClasses()
// ICompoundIterator *innerClasses()
...
@@ -704,26 +716,26 @@ class IDoxygen
...
@@ -704,26 +716,26 @@ class IDoxygen
* compound id this function is much more efficient than iterating
* compound id this function is much more efficient than iterating
* over the compound list. Returns 0 if the id is not valid.
* 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 a compound given its name (including the scope).
* Returns 0 if the name is not found in the project.
* 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
/*! 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
* member's id. Given the ICompound interface one can use the same id
* to obtain the IMember interface.
* to obtain the IMember interface.
* @param id The member id.
* @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
/*! Returns a list of all compounds containing at least one members
* with a certain name. Each compound can be asked to return the
* with a certain name. Each compound can be asked to return the
* list of members with that name.
* list of members with that name.
* @param name The name of the member.
* @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
/*! Releases the memory for the object hierarchy obtained by
* createdObjecModelFromXML(). First release all iterators before calling
* createdObjecModelFromXML(). First release all iterators before calling
...
...
addon/doxmlparser/src/compoundhandler.cpp
View file @
ff31b2f1
...
@@ -144,7 +144,8 @@ void compoundhandler_exit()
...
@@ -144,7 +144,8 @@ void compoundhandler_exit()
CompoundHandler
::
CompoundHandler
(
const
QString
&
xmlDir
)
CompoundHandler
::
CompoundHandler
(
const
QString
&
xmlDir
)
:
m_brief
(
0
),
m_detailed
(
0
),
m_programListing
(
0
),
:
m_brief
(
0
),
m_detailed
(
0
),
m_programListing
(
0
),
m_xmlDir
(
xmlDir
),
m_refCount
(
1
),
m_memberDict
(
257
),
m_memberNameDict
(
257
),
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_superClasses
.
setAutoDelete
(
TRUE
);
m_subClasses
.
setAutoDelete
(
TRUE
);
m_subClasses
.
setAutoDelete
(
TRUE
);
...
@@ -182,9 +183,14 @@ CompoundHandler::CompoundHandler(const QString &xmlDir)
...
@@ -182,9 +183,14 @@ CompoundHandler::CompoundHandler(const QString &xmlDir)
addStartHandler
(
"collaborationgraph"
,
this
,
&
CompoundHandler
::
startCollaborationGraph
);
addStartHandler
(
"collaborationgraph"
,
this
,
&
CompoundHandler
::
startCollaborationGraph
);
addStartHandler
(
"incdepgraph"
,
this
,
&
CompoundHandler
::
startIncludeDependencyGraph
);
addStartHandler
(
"invincdepgraph"
,
this
,
&
CompoundHandler
::
startIncludedByDependencyGraph
);
addStartHandler
(
"innerclass"
,
this
,
&
CompoundHandler
::
startInnerClass
);
addStartHandler
(
"innerclass"
,
this
,
&
CompoundHandler
::
startInnerClass
);
addEndHandler
(
"innerclass"
);
addEndHandler
(
"innerclass"
);
}
}
CompoundHandler
::~
CompoundHandler
()
CompoundHandler
::~
CompoundHandler
()
...
@@ -195,6 +201,8 @@ CompoundHandler::~CompoundHandler()
...
@@ -195,6 +201,8 @@ CompoundHandler::~CompoundHandler()
delete
m_programListing
;
delete
m_programListing
;
delete
m_inheritanceGraph
;
delete
m_inheritanceGraph
;
delete
m_collaborationGraph
;
delete
m_collaborationGraph
;
delete
m_includeDependencyGraph
;
delete
m_includedByDependencyGraph
;
}
}
void
CompoundHandler
::
startSection
(
const
QXmlAttributes
&
attrib
)
void
CompoundHandler
::
startSection
(
const
QXmlAttributes
&
attrib
)
...
@@ -303,7 +311,7 @@ void CompoundHandler::addSubClass(const QXmlAttributes& attrib)
...
@@ -303,7 +311,7 @@ void CompoundHandler::addSubClass(const QXmlAttributes& attrib)
m_subClasses
.
append
(
sc
);
m_subClasses
.
append
(
sc
);
}
}
bool
CompoundHandler
::
parseXML
(
const
QString
&
compId
)
bool
CompoundHandler
::
parseXML
(
const
char
*
compId
)
{
{
QFile
xmlFile
(
m_xmlDir
+
"/"
+
compId
+
".xml"
);
QFile
xmlFile
(
m_xmlDir
+
"/"
+
compId
+
".xml"
);
if
(
!
xmlFile
.
exists
())
return
FALSE
;
if
(
!
xmlFile
.
exists
())
return
FALSE
;
...
@@ -329,12 +337,12 @@ void CompoundHandler::initialize(MainHandler *mh)
...
@@ -329,12 +337,12 @@ void CompoundHandler::initialize(MainHandler *mh)
void
CompoundHandler
::
insertMember
(
MemberHandler
*
mh
)
void
CompoundHandler
::
insertMember
(
MemberHandler
*
mh
)
{
{
m_memberDict
.
insert
(
mh
->
id
(),
mh
);
m_memberDict
.
insert
(
mh
->
id
()
->
latin1
()
,
mh
);
QList
<
MemberHandler
>
*
mhl
=
m_memberNameDict
.
find
(
mh
->
id
());
QList
<
MemberHandler
>
*
mhl
=
m_memberNameDict
.
find
(
mh
->
id
()
->
latin1
()
);
if
(
mhl
==
0
)
if
(
mhl
==
0
)
{
{
mhl
=
new
QList
<
MemberHandler
>
;
mhl
=
new
QList
<
MemberHandler
>
;
m_memberNameDict
.
insert
(
mh
->
name
(),
mhl
);
m_memberNameDict
.
insert
(
mh
->
name
()
->
latin1
()
,
mhl
);
}
}
mhl
->
append
(
mh
);
mhl
->
append
(
mh
);
}
}
...
@@ -372,7 +380,7 @@ ISectionIterator *CompoundHandler::sections() const
...
@@ -372,7 +380,7 @@ ISectionIterator *CompoundHandler::sections() const
return
new
SectionIterator
(
m_sections
);
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
];
QList
<
MemberHandler
>
*
ml
=
m_memberNameDict
[
name
];
if
(
ml
==
0
)
return
0
;
if
(
ml
==
0
)
return
0
;
...
@@ -391,6 +399,18 @@ void CompoundHandler::startCollaborationGraph(const QXmlAttributes &attrib)
...
@@ -391,6 +399,18 @@ void CompoundHandler::startCollaborationGraph(const QXmlAttributes &attrib)
m_collaborationGraph
->
startGraph
(
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
IDocRoot
*
CompoundHandler
::
briefDescription
()
const
{
{
return
m_brief
;
return
m_brief
;
...
@@ -401,7 +421,7 @@ IDocRoot *CompoundHandler::detailedDescription() const
...
@@ -401,7 +421,7 @@ IDocRoot *CompoundHandler::detailedDescription() const
return
m_detailed
;
return
m_detailed
;
}
}
IMember
*
CompoundHandler
::
memberById
(
const
QString
&
id
)
const
IMember
*
CompoundHandler
::
memberById
(
const
char
*
id
)
const
{
{
return
m_memberDict
[
id
];
return
m_memberDict
[
id
];
}
}
...
@@ -416,6 +436,16 @@ IGraph *CompoundHandler::collaborationGraph() const
...
@@ -416,6 +436,16 @@ IGraph *CompoundHandler::collaborationGraph() const
return
m_collaborationGraph
;
return
m_collaborationGraph
;
}
}
IGraph
*
CompoundHandler
::
includeDependencyGraph
()
const
{
return
m_includeDependencyGraph
;
}
IGraph
*
CompoundHandler
::
includedByDependencyGraph
()
const
{
return
m_includedByDependencyGraph
;
}
IRelatedCompoundIterator
*
CompoundHandler
::
baseClasses
()
const
IRelatedCompoundIterator
*
CompoundHandler
::
baseClasses
()
const
{
{
return
new
RelatedCompoundIterator
(
m_superClasses
);
return
new
RelatedCompoundIterator
(
m_superClasses
);
...
...
addon/doxmlparser/src/compoundhandler.h
View file @
ff31b2f1
...
@@ -20,6 +20,7 @@
...
@@ -20,6 +20,7 @@
#include <qxml.h>
#include <qxml.h>
#include <doxmlintf.h>
#include <doxmlintf.h>
#include "stringimpl.h"
#include "basehandler.h"
#include "basehandler.h"
#include "baseiterator.h"
#include "baseiterator.h"
...
@@ -74,6 +75,7 @@ class CompoundHandler : public IClass,
...
@@ -74,6 +75,7 @@ class CompoundHandler : public IClass,
public
BaseHandler
<
CompoundHandler
>
public
BaseHandler
<
CompoundHandler
>
{
{
friend
class
RelatedCompound
;
friend
class
RelatedCompound
;
public
:
public
:
virtual
void
startSection
(
const
QXmlAttributes
&
attrib
);
virtual
void
startSection
(
const
QXmlAttributes
&
attrib
);
virtual
void
startCompound
(
const
QXmlAttributes
&
attrib
);
virtual
void
startCompound
(
const
QXmlAttributes
&
attrib
);
...
@@ -87,26 +89,28 @@ class CompoundHandler : public IClass,
...
@@ -87,26 +89,28 @@ class CompoundHandler : public IClass,
virtual
void
startProgramListing
(
const
QXmlAttributes
&
attrib
);
virtual
void
startProgramListing
(
const
QXmlAttributes
&
attrib
);
virtual
void
startInheritanceGraph
(
const
QXmlAttributes
&
attrib
);
virtual
void
startInheritanceGraph
(
const
QXmlAttributes
&
attrib
);
virtual
void
startCollaborationGraph
(
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
startInnerClass
(
const
QXmlAttributes
&
attrib
);
virtual
void
addref
()
{
m_refCount
++
;
}
virtual
void
addref
()
{
m_refCount
++
;
}
CompoundHandler
(
const
QString
&
dirName
);
CompoundHandler
(
const
QString
&
dirName
);
virtual
~
CompoundHandler
();
virtual
~
CompoundHandler
();
bool
parseXML
(
const
QString
&
compId
);
bool
parseXML
(
const
char
*
compId
);
void
initialize
(
MainHandler
*
mh
);
void
initialize
(
MainHandler
*
mh
);
void
insertMember
(
MemberHandler
*
mh
);
void
insertMember
(
MemberHandler
*
mh
);
ICompound
*
toICompound
()
const
;
ICompound
*
toICompound
()
const
;
// ICompound implementation
// ICompound implementation
QString
name
()
const
{
return
m_name
;
}
const
IString
*
name
()
const
{
return
&
m_name
;
}
QString
id
()
const
{
return
m_id
;
}
const
IString
*
id
()
const
{
return
&
m_id
;
}
CompoundKind
kind
()
const
{
return
m_kind
;
}
CompoundKind
kind
()
const
{
return
m_kind
;
}
QString
kindString
()
const
{
return
m_kindString
;
}
const
IString
*
kindString
()
const
{
return
&
m_kindString
;
}
ISectionIterator
*
sections
()
const
;
ISectionIterator
*
sections
()
const
;
IDocRoot
*
briefDescription
()
const
;
IDocRoot
*
briefDescription
()
const
;
IDocRoot
*
detailedDescription
()
const
;
IDocRoot
*
detailedDescription
()
const
;
IMember
*
memberById
(
const
QString
&
id
)
const
;
IMember
*
memberById
(
const
char
*
id
)
const
;
IMemberIterator
*
memberByName
(
const
QString
&
name
)
const
;
IMemberIterator
*
memberByName
(
const
char
*
name
)
const
;
void
release
();
void
release
();
// IClass implementation
// IClass implementation
...
@@ -116,6 +120,10 @@ class CompoundHandler : public IClass,
...
@@ -116,6 +120,10 @@ class CompoundHandler : public IClass,
IRelatedCompoundIterator
*
derivedClasses
()
const
;
IRelatedCompoundIterator
*
derivedClasses
()
const
;
ICompoundIterator
*
nestedClasses
()
const
;
ICompoundIterator
*
nestedClasses
()
const
;
// IFile implementation
IGraph
*
includeDependencyGraph
()
const
;
IGraph
*
includedByDependencyGraph
()
const
;
private
:
private
:
QList
<
RelatedCompound
>
m_superClasses
;
QList
<
RelatedCompound
>
m_superClasses
;
QList
<
RelatedCompound
>
m_subClasses
;
QList
<
RelatedCompound
>
m_subClasses
;
...
@@ -123,10 +131,10 @@ class CompoundHandler : public IClass,
...
@@ -123,10 +131,10 @@ class CompoundHandler : public IClass,
DocHandler
*
m_brief
;
DocHandler
*
m_brief
;
DocHandler
*
m_detailed
;
DocHandler
*
m_detailed
;
ProgramListingHandler
*
m_programListing
;
ProgramListingHandler
*
m_programListing
;
QString
m_id
;
StringImpl
m_id
;
QString
m_kindString
;
StringImpl
m_kindString
;
CompoundKind
m_kind
;
CompoundKind
m_kind
;
QString
m_name
;
StringImpl
m_name
;
QString
m_defFile
;
QString
m_defFile
;
int
m_defLine
;
int
m_defLine
;
QString
m_xmlDir
;
QString
m_xmlDir
;
...
@@ -136,6 +144,8 @@ class CompoundHandler : public IClass,
...
@@ -136,6 +144,8 @@ class CompoundHandler : public IClass,
MainHandler
*
m_mainHandler
;
MainHandler
*
m_mainHandler
;
GraphHandler
*
m_inheritanceGraph
;
GraphHandler
*
m_inheritanceGraph
;
GraphHandler
*
m_collaborationGraph
;
GraphHandler
*
m_collaborationGraph
;
GraphHandler
*
m_includeDependencyGraph
;
GraphHandler
*
m_includedByDependencyGraph
;
QList
<
QString
>
m_innerClasses
;
QList
<
QString
>
m_innerClasses
;
};
};
...
...
addon/doxmlparser/src/dochandler.cpp
View file @
ff31b2f1
...
@@ -117,6 +117,9 @@ MarkupHandler::MarkupHandler(QList<DocImpl> &children,QString &curString)
...
@@ -117,6 +117,9 @@ MarkupHandler::MarkupHandler(QList<DocImpl> &children,QString &curString)
addStartHandler
(
"superscript"
,
this
,
&
MarkupHandler
::
startSuperscript
);
addStartHandler
(
"superscript"
,
this
,
&
MarkupHandler
::
startSuperscript
);
addEndHandler
(
"superscript"
,
this
,
&
MarkupHandler
::
endSuperscript
);
addEndHandler
(
"superscript"
,
this
,
&
MarkupHandler
::
endSuperscript
);
addStartHandler
(
"preformatted"
,
this
,
&
MarkupHandler
::
startPreformatted
);
addEndHandler
(
"preformatted"
,
this
,
&
MarkupHandler
::
endPreformatted
);
}
}
MarkupHandler
::~
MarkupHandler
()
MarkupHandler
::~
MarkupHandler
()
...
@@ -231,6 +234,20 @@ void MarkupHandler::endSuperscript()
...
@@ -231,6 +234,20 @@ void MarkupHandler::endSuperscript()
m_curMarkup
&=
~
IDocMarkup
::
Superscript
;
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
// ListItemHandler
//----------------------------------------------------------------------
//----------------------------------------------------------------------
...
...
addon/doxmlparser/src/dochandler.h
View file @
ff31b2f1
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
#include <qxml.h>
#include <qxml.h>
#include <doxmlintf.h>
#include <doxmlintf.h>
#include "stringimpl.h"
#include "basehandler.h"
#include "basehandler.h"
#include "baseiterator.h"
#include "baseiterator.h"
...
@@ -80,11 +81,11 @@ class TextNode : public DocTextImpl
...
@@ -80,11 +81,11 @@ class TextNode : public DocTextImpl
// IDocText
// IDocText
virtual
Kind
kind
()
const
{
return
DocImpl
::
Text
;
}
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
;
}
virtual
int
markup
()
const
{
return
m_markup
;
}
private
:
private
:
QString
m_text
;
StringImpl
m_text
;
int
m_markup
;
int
m_markup
;
};
};
...
@@ -137,6 +138,8 @@ class MarkupHandler : public BaseFallBackHandler<MarkupHandler>
...
@@ -137,6 +138,8 @@ class MarkupHandler : public BaseFallBackHandler<MarkupHandler>
virtual
void
endSubscript
();
virtual
void
endSubscript
();
virtual
void
startSuperscript
(
const
QXmlAttributes
&
attrib
);
virtual
void
startSuperscript
(
const
QXmlAttributes
&
attrib
);
virtual
void
endSuperscript
();
virtual
void
endSuperscript
();
virtual
void
startPreformatted
(
const
QXmlAttributes
&
attrib
);
virtual
void
endPreformatted
();
private
:
private
:
...
@@ -322,12 +325,12 @@ class ParameterHandler : public DocParameterImpl,
...
@@ -322,12 +325,12 @@ class ParameterHandler : public DocParameterImpl,
// IDocParameter
// IDocParameter
virtual
Kind
kind
()
const
{
return
DocImpl
::
Parameter
;
}
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
;
}
virtual
IDocPara
*
description
()
const
{
return
m_description
;
}
private
:
private
:
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
QString
m_name
;
StringImpl
m_name
;
ParagraphHandler
*
m_description
;
ParagraphHandler
*
m_description
;
};
};
...
@@ -404,13 +407,13 @@ class LinkHandler : public DocLinkImpl, public BaseHandler<LinkHandler>
...
@@ -404,13 +407,13 @@ class LinkHandler : public DocLinkImpl, public BaseHandler<LinkHandler>
// IDocLink
// IDocLink
virtual
Kind
kind
()
const
{
return
DocImpl
::
Link
;
}
virtual
Kind
kind
()
const
{
return
DocImpl
::
Link
;
}
virtual
QString
refId
()
const
{
return
m_ref
;
}
virtual
const
IString
*
refId
()
const
{
return
&
m_ref
;
}
virtual
QString
text
()
const
{
return
m_text
;
}
virtual
const
IString
*
text
()
const
{
return
&
m_text
;
}
private
:
private
:
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
QString
m_ref
;
StringImpl
m_ref
;
QString
m_text
;
StringImpl
m_text
;
};
};
...
@@ -430,11 +433,11 @@ class EMailHandler : public DocEMailImpl, public BaseHandler<EMailHandler>
...
@@ -430,11 +433,11 @@ class EMailHandler : public DocEMailImpl, public BaseHandler<EMailHandler>
// IDocEMail
// IDocEMail
virtual
Kind
kind
()
const
{
return
DocImpl
::
EMail
;
}
virtual
Kind
kind
()
const
{
return
DocImpl
::
EMail
;
}
virtual
QString
address
()
const
{
return
m_address
;
}
virtual
const
IString
*
address
()
const
{
return
&
m_address
;
}
private
:
private
:
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
QString
m_address
;
StringImpl
m_address
;
};
};
...
@@ -454,13 +457,13 @@ class ULinkHandler : public DocULinkImpl, public BaseHandler<ULinkHandler>
...
@@ -454,13 +457,13 @@ class ULinkHandler : public DocULinkImpl, public BaseHandler<ULinkHandler>
// IDocULink
// IDocULink
virtual
Kind
kind
()
const
{
return
DocImpl
::
ULink
;
}
virtual
Kind
kind
()
const
{
return
DocImpl
::
ULink
;
}
virtual
QString
url
()
const
{
return
m_url
;
}
virtual
const
IString
*
url
()
const
{
return
&
m_url
;
}
virtual
QString
text
()
const
{
return
m_text
;
}
virtual
const
IString
*
text
()
const
{
return
&
m_text
;
}
private
:
private
:
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
QString
m_url
;
StringImpl
m_url
;
QString
m_text
;
StringImpl
m_text
;
};
};
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
...
@@ -499,16 +502,16 @@ class RefHandler : public DocRefImpl, public BaseHandler<RefHandler>
...
@@ -499,16 +502,16 @@ class RefHandler : public DocRefImpl, public BaseHandler<RefHandler>
// IDocRef
// IDocRef
virtual
Kind
kind
()
const
{
return
DocImpl
::
Ref
;
}
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
TargetKind
targetKind
()
const
{
return
m_targetKind
;
}
virtual
QString
external
()
const
{
return
m_extId
;
}
virtual
const
IString
*
external
()
const
{
return
&
m_extId
;
}
virtual
QString
text
()
const
{
return
m_linkText
;
}
virtual
const
IString
*
text
()
const
{
return
&
m_linkText
;
}
private
:
private
:
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
QString
m_refId
;
StringImpl
m_refId
;
QString
m_extId
;
StringImpl
m_extId
;
QString
m_linkText
;
StringImpl
m_linkText
;
TargetKind
m_targetKind
;
TargetKind
m_targetKind
;
};
};
...
@@ -569,7 +572,7 @@ class SimpleSectHandler : public DocSimpleSectImpl,
...
@@ -569,7 +572,7 @@ class SimpleSectHandler : public DocSimpleSectImpl,
// IDocSimpleSect
// IDocSimpleSect
virtual
Kind
kind
()
const
{
return
DocImpl
::
SimpleSect
;
}
virtual
Kind
kind
()
const
{
return
DocImpl
::
SimpleSect
;
}
virtual
Types
type
()
const
{
return
m_type
;
}
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
IDocTitle
*
title
()
const
{
return
m_title
;
}
virtual
IDocPara
*
description
()
const
{
return
m_paragraph
;
}
virtual
IDocPara
*
description
()
const
{
return
m_paragraph
;
}
...
@@ -577,7 +580,7 @@ class SimpleSectHandler : public DocSimpleSectImpl,
...
@@ -577,7 +580,7 @@ class SimpleSectHandler : public DocSimpleSectImpl,
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
ParagraphHandler
*
m_paragraph
;
ParagraphHandler
*
m_paragraph
;
Types
m_type
;
Types
m_type
;
QString
m_typeString
;
StringImpl
m_typeString
;
TitleHandler
*
m_title
;
TitleHandler
*
m_title
;
};
};
...
@@ -603,12 +606,12 @@ class VariableListEntryHandler : public DocVariableListEntryImpl,
...
@@ -603,12 +606,12 @@ class VariableListEntryHandler : public DocVariableListEntryImpl,
// IDocVariableListEntry
// IDocVariableListEntry
virtual
Kind
kind
()
const
{
return
DocImpl
::
VariableListEntry
;
}
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
;
}
virtual
IDocPara
*
description
()
const
{
return
m_description
;
}
private
:
private
:
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
QString
m_term
;
StringImpl
m_term
;
ParagraphHandler
*
m_description
;
ParagraphHandler
*
m_description
;
};
};
...
@@ -710,7 +713,7 @@ class CodeLineHandler : public DocCodeLineImpl, public BaseHandler<CodeLineHandl
...
@@ -710,7 +713,7 @@ class CodeLineHandler : public DocCodeLineImpl, public BaseHandler<CodeLineHandl
// IDocCodeLine
// IDocCodeLine
virtual
Kind
kind
()
const
{
return
DocImpl
::
CodeLine
;
}
virtual
Kind
kind
()
const
{
return
DocImpl
::
CodeLine
;
}
virtual
int
lineNumber
()
const
{
return
m_lineNumber
;
}
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
;
virtual
IDocIterator
*
codeElements
()
const
;
private
:
private
:
...
@@ -718,7 +721,7 @@ class CodeLineHandler : public DocCodeLineImpl, public BaseHandler<CodeLineHandl
...
@@ -718,7 +721,7 @@ class CodeLineHandler : public DocCodeLineImpl, public BaseHandler<CodeLineHandl
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
int
m_lineNumber
;
int
m_lineNumber
;
QString
m_refId
;
StringImpl
m_refId
;
QList
<
DocImpl
>
m_children
;
QList
<
DocImpl
>
m_children
;
};
};
...
@@ -782,13 +785,13 @@ class FormulaHandler : public DocFormulaImpl, public BaseHandler<FormulaHandler>
...
@@ -782,13 +785,13 @@ class FormulaHandler : public DocFormulaImpl, public BaseHandler<FormulaHandler>
// IDocFormula
// IDocFormula
virtual
Kind
kind
()
const
{
return
DocImpl
::
Formula
;
}
virtual
Kind
kind
()
const
{
return
DocImpl
::
Formula
;
}
virtual
QString
id
()
const
{
return
m_id
;
}
virtual
const
IString
*
id
()
const
{
return
&
m_id
;
}
virtual
QString
text
()
const
{
return
m_text
;
}
virtual
const
IString
*
text
()
const
{
return
&
m_text
;
}
private
:
private
:
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
QString
m_id
;
StringImpl
m_id
;
QString
m_text
;
StringImpl
m_text
;
};
};
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
...
@@ -807,13 +810,13 @@ class ImageHandler : public DocImageImpl, public BaseHandler<ImageHandler>
...
@@ -807,13 +810,13 @@ class ImageHandler : public DocImageImpl, public BaseHandler<ImageHandler>
// IDocImage
// IDocImage
virtual
Kind
kind
()
const
{
return
DocImpl
::
Image
;
}
virtual
Kind
kind
()
const
{
return
DocImpl
::
Image
;
}
virtual
QString
name
()
const
{
return
m_name
;
}
virtual
const
IString
*
name
()
const
{
return
&
m_name
;
}
virtual
QString
caption
()
const
{
return
m_caption
;
}
virtual
const
IString
*
caption
()
const
{
return
&
m_caption
;
}
private
:
private
:
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
QString
m_name
;
StringImpl
m_name
;
QString
m_caption
;
StringImpl
m_caption
;
};
};
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
...
@@ -832,13 +835,13 @@ class DotFileHandler : public DocDotFileImpl, public BaseHandler<DotFileHandler>
...
@@ -832,13 +835,13 @@ class DotFileHandler : public DocDotFileImpl, public BaseHandler<DotFileHandler>
// IDocDotFile
// IDocDotFile
virtual
Kind
kind
()
const
{
return
DocImpl
::
DotFile
;
}
virtual
Kind
kind
()
const
{
return
DocImpl
::
DotFile
;
}
virtual
QString
name
()
const
{
return
m_name
;
}
virtual
const
IString
*
name
()
const
{
return
&
m_name
;
}
virtual
QString
caption
()
const
{
return
m_caption
;
}
virtual
const
IString
*
caption
()
const
{
return
&
m_caption
;
}
private
:
private
:
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
QString
m_name
;
StringImpl
m_name
;
QString
m_caption
;
StringImpl
m_caption
;
};
};
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
...
@@ -861,13 +864,13 @@ class IndexEntryHandler : public DocIndexEntryImpl, public BaseHandler<IndexEntr
...
@@ -861,13 +864,13 @@ class IndexEntryHandler : public DocIndexEntryImpl, public BaseHandler<IndexEntr
// IDocIndexEntry
// IDocIndexEntry
virtual
Kind
kind
()
const
{
return
DocImpl
::
IndexEntry
;
}
virtual
Kind
kind
()
const
{
return
DocImpl
::
IndexEntry
;
}
virtual
QString
primary
()
const
{
return
m_primary
;
}
virtual
const
IString
*
primary
()
const
{
return
&
m_primary
;
}
virtual
QString
secondary
()
const
{
return
m_secondary
;
}
virtual
const
IString
*
secondary
()
const
{
return
&
m_secondary
;
}
private
:
private
:
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
QString
m_primary
;
StringImpl
m_primary
;
QString
m_secondary
;
StringImpl
m_secondary
;
};
};
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
...
@@ -956,13 +959,13 @@ class TableHandler : public DocTableImpl, public BaseHandler<TableHandler>
...
@@ -956,13 +959,13 @@ class TableHandler : public DocTableImpl, public BaseHandler<TableHandler>
virtual
Kind
kind
()
const
{
return
DocImpl
::
Table
;
}
virtual
Kind
kind
()
const
{
return
DocImpl
::
Table
;
}
virtual
IDocIterator
*
rows
()
const
;
virtual
IDocIterator
*
rows
()
const
;
virtual
int
numColumns
()
const
{
return
m_numColumns
;
}
virtual
int
numColumns
()
const
{
return
m_numColumns
;
}
virtual
QString
caption
()
const
{
return
m_caption
;
}
virtual
const
IString
*
caption
()
const
{
return
&
m_caption
;
}
private
:
private
:
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
QList
<
RowHandler
>
m_children
;
QList
<
RowHandler
>
m_children
;
int
m_numColumns
;
int
m_numColumns
;
QString
m_caption
;
StringImpl
m_caption
;
};
};
class
TableIterator
:
public
BaseIteratorVia
<
IDocIterator
,
IDoc
,
RowHandler
,
DocImpl
>
class
TableIterator
:
public
BaseIteratorVia
<
IDocIterator
,
IDoc
,
RowHandler
,
DocImpl
>
...
@@ -995,7 +998,7 @@ class DocSectionHandler : public DocSectionImpl, public BaseHandler<DocSectionHa
...
@@ -995,7 +998,7 @@ class DocSectionHandler : public DocSectionImpl, public BaseHandler<DocSectionHa
// IDocSection
// IDocSection
virtual
Kind
kind
()
const
{
return
DocImpl
::
Section
;
}
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
int
level
()
const
{
return
m_level
;
}
virtual
IDocIterator
*
title
()
const
;
virtual
IDocIterator
*
title
()
const
;
...
@@ -1003,7 +1006,7 @@ class DocSectionHandler : public DocSectionImpl, public BaseHandler<DocSectionHa
...
@@ -1003,7 +1006,7 @@ class DocSectionHandler : public DocSectionImpl, public BaseHandler<DocSectionHa
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
QList
<
DocImpl
>
m_children
;
QList
<
DocImpl
>
m_children
;
MarkupHandler
*
m_markupHandler
;
MarkupHandler
*
m_markupHandler
;
QString
m_id
;
StringImpl
m_id
;
int
m_level
;
int
m_level
;
};
};
...
...
addon/doxmlparser/src/doxmlintf.h
View file @
ff31b2f1
...
@@ -9,6 +9,15 @@ class ICompound;
...
@@ -9,6 +9,15 @@ class ICompound;
class
ISection
;
class
ISection
;
class
INode
;
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
class
ILinkedText
{
{
public
:
public
:
...
@@ -19,17 +28,17 @@ class ILinkedText
...
@@ -19,17 +28,17 @@ class ILinkedText
class
ILT_Text
:
public
ILinkedText
class
ILT_Text
:
public
ILinkedText
{
{
public
:
public
:
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
};
class
ILT_Ref
:
public
ILinkedText
class
ILT_Ref
:
public
ILinkedText
{
{
public
:
public
:
enum
TargetKind
{
Member
,
Compound
};
enum
TargetKind
{
Member
,
Compound
};
virtual
QString
id
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
TargetKind
targetKind
()
const
=
0
;
virtual
TargetKind
targetKind
()
const
=
0
;
virtual
QString
external
()
const
=
0
;
virtual
const
IString
*
external
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
};
class
ILinkedTextIterator
class
ILinkedTextIterator
...
@@ -47,10 +56,10 @@ class IParam
...
@@ -47,10 +56,10 @@ class IParam
{
{
public
:
public
:
virtual
ILinkedTextIterator
*
type
()
const
=
0
;
virtual
ILinkedTextIterator
*
type
()
const
=
0
;
virtual
QString
declarationName
()
const
=
0
;
virtual
const
IString
*
declarationName
()
const
=
0
;
virtual
QString
definitionName
()
const
=
0
;
virtual
const
IString
*
definitionName
()
const
=
0
;
virtual
QString
attrib
()
const
=
0
;
virtual
const
IString
*
attrib
()
const
=
0
;
virtual
QString
arraySpecifier
()
const
=
0
;
virtual
const
IString
*
arraySpecifier
()
const
=
0
;
virtual
ILinkedTextIterator
*
defaultValue
()
const
=
0
;
virtual
ILinkedTextIterator
*
defaultValue
()
const
=
0
;
};
};
...
@@ -69,7 +78,7 @@ class IMemberReference
...
@@ -69,7 +78,7 @@ class IMemberReference
{
{
public
:
public
:
virtual
IMember
*
member
()
const
=
0
;
virtual
IMember
*
member
()
const
=
0
;
virtual
QString
memberName
()
const
=
0
;
virtual
const
IString
*
memberName
()
const
=
0
;
};
};
class
IMemberReferenceIterator
class
IMemberReferenceIterator
...
@@ -86,8 +95,8 @@ class IMemberReferenceIterator
...
@@ -86,8 +95,8 @@ class IMemberReferenceIterator
class
IEnumValue
class
IEnumValue
{
{
public
:
public
:
virtual
QString
name
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
QString
initializer
()
const
=
0
;
virtual
const
IString
*
initializer
()
const
=
0
;
};
};
class
IEnumValueIterator
class
IEnumValueIterator
...
@@ -136,7 +145,7 @@ class IDoc
...
@@ -136,7 +145,7 @@ class IDoc
Row
,
// 27 -> IDocRow
Row
,
// 27 -> IDocRow
Entry
,
// 28 -> IDocEntry
Entry
,
// 28 -> IDocEntry
Section
,
// 29 -> IDocSection
Section
,
// 29 -> IDocSection
Root
// 30 -> IDocRoot
Root
,
// 30 -> IDocRoot
};
};
virtual
Kind
kind
()
const
=
0
;
virtual
Kind
kind
()
const
=
0
;
};
};
...
@@ -153,7 +162,8 @@ class IDocMarkup : public IDoc
...
@@ -153,7 +162,8 @@ class IDocMarkup : public IDoc
Subscript
=
0x08
,
Subscript
=
0x08
,
Superscript
=
0x10
,
Superscript
=
0x10
,
SmallFont
=
0x20
,
SmallFont
=
0x20
,
Center
=
0x40
Center
=
0x40
,
Preformatted
=
0x80
};
};
};
};
...
@@ -167,7 +177,7 @@ class IDocPara : public IDoc
...
@@ -167,7 +177,7 @@ class IDocPara : public IDoc
class
IDocText
:
public
IDocMarkup
class
IDocText
:
public
IDocMarkup
{
{
public
:
public
:
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
virtual
int
markup
()
const
=
0
;
virtual
int
markup
()
const
=
0
;
};
};
...
@@ -207,7 +217,7 @@ class IDocParameterList : public IDoc
...
@@ -207,7 +217,7 @@ class IDocParameterList : public IDoc
class
IDocParameter
:
public
IDoc
class
IDocParameter
:
public
IDoc
{
{
public
:
public
:
virtual
QString
name
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
};
};
...
@@ -229,7 +239,7 @@ class IDocSimpleSect : public IDoc
...
@@ -229,7 +239,7 @@ class IDocSimpleSect : public IDoc
Examples
Examples
};
};
virtual
Types
type
()
const
=
0
;
virtual
Types
type
()
const
=
0
;
virtual
QString
typeString
()
const
=
0
;
virtual
const
IString
*
typeString
()
const
=
0
;
virtual
IDocTitle
*
title
()
const
=
0
;
virtual
IDocTitle
*
title
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
};
};
...
@@ -238,10 +248,10 @@ class IDocRef : public IDoc
...
@@ -238,10 +248,10 @@ class IDocRef : public IDoc
{
{
public
:
public
:
enum
TargetKind
{
Member
,
Compound
};
enum
TargetKind
{
Member
,
Compound
};
virtual
QString
refId
()
const
=
0
;
virtual
const
IString
*
refId
()
const
=
0
;
virtual
TargetKind
targetKind
()
const
=
0
;
virtual
TargetKind
targetKind
()
const
=
0
;
virtual
QString
external
()
const
=
0
;
virtual
const
IString
*
external
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
};
class
IDocVariableList
:
public
IDoc
class
IDocVariableList
:
public
IDoc
...
@@ -253,7 +263,7 @@ class IDocVariableList : public IDoc
...
@@ -253,7 +263,7 @@ class IDocVariableList : public IDoc
class
IDocVariableListEntry
:
public
IDoc
class
IDocVariableListEntry
:
public
IDoc
{
{
public
:
public
:
virtual
QString
term
()
const
=
0
;
virtual
const
IString
*
term
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
};
};
...
@@ -268,21 +278,21 @@ class IDocLineBreak : public IDoc
...
@@ -268,21 +278,21 @@ class IDocLineBreak : public IDoc
class
IDocULink
:
public
IDoc
class
IDocULink
:
public
IDoc
{
{
public
:
public
:
virtual
QString
url
()
const
=
0
;
virtual
const
IString
*
url
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
};
class
IDocEMail
:
public
IDoc
class
IDocEMail
:
public
IDoc
{
{
public
:
public
:
virtual
QString
address
()
const
=
0
;
virtual
const
IString
*
address
()
const
=
0
;
};
};
class
IDocLink
:
public
IDoc
class
IDocLink
:
public
IDoc
{
{
public
:
public
:
virtual
QString
refId
()
const
=
0
;
virtual
const
IString
*
refId
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
};
class
IDocProgramListing
:
public
IDoc
class
IDocProgramListing
:
public
IDoc
...
@@ -295,7 +305,7 @@ class IDocCodeLine : public IDoc
...
@@ -295,7 +305,7 @@ class IDocCodeLine : public IDoc
{
{
public
:
public
:
virtual
int
lineNumber
()
const
=
0
;
virtual
int
lineNumber
()
const
=
0
;
virtual
QString
refId
()
const
=
0
;
virtual
const
IString
*
refId
()
const
=
0
;
virtual
IDocIterator
*
codeElements
()
const
=
0
;
virtual
IDocIterator
*
codeElements
()
const
=
0
;
};
};
...
@@ -315,29 +325,29 @@ class IDocHighlight : public IDoc
...
@@ -315,29 +325,29 @@ class IDocHighlight : public IDoc
class
IDocFormula
:
public
IDoc
class
IDocFormula
:
public
IDoc
{
{
public
:
public
:
virtual
QString
id
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
QString
text
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
};
class
IDocImage
:
public
IDoc
class
IDocImage
:
public
IDoc
{
{
public
:
public
:
virtual
QString
name
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
QString
caption
()
const
=
0
;
virtual
const
IString
*
caption
()
const
=
0
;
};
};
class
IDocDotFile
:
public
IDoc
class
IDocDotFile
:
public
IDoc
{
{
public
:
public
:
virtual
QString
name
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
QString
caption
()
const
=
0
;
virtual
const
IString
*
caption
()
const
=
0
;
};
};
class
IDocIndexEntry
:
public
IDoc
class
IDocIndexEntry
:
public
IDoc
{
{
public
:
public
:
virtual
QString
primary
()
const
=
0
;
virtual
const
IString
*
primary
()
const
=
0
;
virtual
QString
secondary
()
const
=
0
;
virtual
const
IString
*
secondary
()
const
=
0
;
};
};
class
IDocTable
:
public
IDoc
class
IDocTable
:
public
IDoc
...
@@ -345,7 +355,7 @@ class IDocTable : public IDoc
...
@@ -345,7 +355,7 @@ class IDocTable : public IDoc
public
:
public
:
virtual
IDocIterator
*
rows
()
const
=
0
;
virtual
IDocIterator
*
rows
()
const
=
0
;
virtual
int
numColumns
()
const
=
0
;
virtual
int
numColumns
()
const
=
0
;
virtual
QString
caption
()
const
=
0
;
virtual
const
IString
*
caption
()
const
=
0
;
};
};
class
IDocRow
:
public
IDoc
class
IDocRow
:
public
IDoc
...
@@ -363,7 +373,7 @@ class IDocEntry : public IDoc
...
@@ -363,7 +373,7 @@ class IDocEntry : public IDoc
class
IDocSection
:
public
IDoc
class
IDocSection
:
public
IDoc
{
{
public
:
public
:
virtual
QString
id
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
int
level
()
const
=
0
;
virtual
int
level
()
const
=
0
;
virtual
IDocIterator
*
title
()
const
=
0
;
virtual
IDocIterator
*
title
()
const
=
0
;
};
};
...
@@ -388,7 +398,7 @@ class IDocIterator
...
@@ -388,7 +398,7 @@ class IDocIterator
class
IEdgeLabel
class
IEdgeLabel
{
{
public
:
public
:
virtual
QString
label
()
const
=
0
;
virtual
const
IString
*
label
()
const
=
0
;
};
};
class
IEdgeLabelIterator
class
IEdgeLabelIterator
...
@@ -410,7 +420,7 @@ class IChildNode
...
@@ -410,7 +420,7 @@ class IChildNode
};
};
virtual
INode
*
node
()
const
=
0
;
virtual
INode
*
node
()
const
=
0
;
virtual
NodeRelation
relation
()
const
=
0
;
virtual
NodeRelation
relation
()
const
=
0
;
virtual
QString
relationString
()
const
=
0
;
virtual
const
IString
*
relationString
()
const
=
0
;
virtual
IEdgeLabelIterator
*
edgeLabels
()
const
=
0
;
virtual
IEdgeLabelIterator
*
edgeLabels
()
const
=
0
;
};
};
...
@@ -428,9 +438,9 @@ class IChildNodeIterator
...
@@ -428,9 +438,9 @@ class IChildNodeIterator
class
INode
class
INode
{
{
public
:
public
:
virtual
QString
id
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
QString
label
()
const
=
0
;
virtual
const
IString
*
label
()
const
=
0
;
virtual
QString
linkId
()
const
=
0
;
virtual
const
IString
*
linkId
()
const
=
0
;
virtual
IChildNodeIterator
*
children
()
const
=
0
;
virtual
IChildNodeIterator
*
children
()
const
=
0
;
};
};
...
@@ -461,13 +471,13 @@ class IMember
...
@@ -461,13 +471,13 @@ class IMember
virtual
ICompound
*
compound
()
const
=
0
;
virtual
ICompound
*
compound
()
const
=
0
;
virtual
ISection
*
section
()
const
=
0
;
virtual
ISection
*
section
()
const
=
0
;
virtual
MemberKind
kind
()
const
=
0
;
virtual
MemberKind
kind
()
const
=
0
;
virtual
QString
kindString
()
const
=
0
;
virtual
const
IString
*
kindString
()
const
=
0
;
virtual
QString
id
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
QString
protection
()
const
=
0
;
virtual
const
IString
*
protection
()
const
=
0
;
virtual
QString
virtualness
()
const
=
0
;
virtual
const
IString
*
virtualness
()
const
=
0
;
virtual
ILinkedTextIterator
*
type
()
const
=
0
;
virtual
ILinkedTextIterator
*
type
()
const
=
0
;
virtual
QString
typeString
()
const
=
0
;
virtual
const
IString
*
typeString
()
const
=
0
;
virtual
QString
name
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
bool
isConst
()
const
=
0
;
virtual
bool
isConst
()
const
=
0
;
virtual
bool
isVolatile
()
const
=
0
;
virtual
bool
isVolatile
()
const
=
0
;
virtual
IParamIterator
*
params
()
const
=
0
;
virtual
IParamIterator
*
params
()
const
=
0
;
...
@@ -477,7 +487,7 @@ class IMember
...
@@ -477,7 +487,7 @@ class IMember
virtual
IMemberReferenceIterator
*
referencedBy
()
const
=
0
;
virtual
IMemberReferenceIterator
*
referencedBy
()
const
=
0
;
virtual
int
bodyStart
()
const
=
0
;
virtual
int
bodyStart
()
const
=
0
;
virtual
int
bodyEnd
()
const
=
0
;
virtual
int
bodyEnd
()
const
=
0
;
virtual
QString
definitionFile
()
const
=
0
;
virtual
const
IString
*
definitionFile
()
const
=
0
;
virtual
int
definitionLine
()
const
=
0
;
virtual
int
definitionLine
()
const
=
0
;
virtual
IMemberReference
*
reimplements
()
const
=
0
;
virtual
IMemberReference
*
reimplements
()
const
=
0
;
virtual
IMemberReferenceIterator
*
reimplementedBy
()
const
=
0
;
virtual
IMemberReferenceIterator
*
reimplementedBy
()
const
=
0
;
...
@@ -512,7 +522,7 @@ class ISection
...
@@ -512,7 +522,7 @@ class ISection
Friend
,
Related
,
Defines
,
Prototypes
,
Typedefs
,
Friend
,
Related
,
Defines
,
Prototypes
,
Typedefs
,
Enums
,
Functions
,
Variables
Enums
,
Functions
,
Variables
};
};
virtual
QString
kindString
()
const
=
0
;
virtual
const
IString
*
kindString
()
const
=
0
;
virtual
SectionKind
kind
()
const
=
0
;
virtual
SectionKind
kind
()
const
=
0
;
virtual
IMemberIterator
*
members
()
const
=
0
;
virtual
IMemberIterator
*
members
()
const
=
0
;
virtual
bool
isStatic
()
const
=
0
;
virtual
bool
isStatic
()
const
=
0
;
...
@@ -541,12 +551,12 @@ class ICompound
...
@@ -541,12 +551,12 @@ class ICompound
Namespace
,
File
,
Group
,
Page
Namespace
,
File
,
Group
,
Page
};
};
/*! Returns the name of this compound */
/*! 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
/*! Returns the id of this compound. The id is a
* unique string representing a specific compound object.
* 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
/*! Returns the kind of compound. See #CompoundKind for possible
* values.
* values.
...
@@ -556,7 +566,7 @@ class ICompound
...
@@ -556,7 +566,7 @@ class ICompound
/*! Returns a string representation of the compound kind.
/*! Returns a string representation of the compound kind.
* @see kind()
* @see kind()
*/
*/
virtual
QString
kindString
()
const
=
0
;
virtual
const
IString
*
kindString
()
const
=
0
;
/*! Returns an iterator for the different member sections in this
/*! Returns an iterator for the different member sections in this
* compound.
* compound.
...
@@ -576,14 +586,14 @@ class ICompound
...
@@ -576,14 +586,14 @@ class ICompound
/*! Returns an interface to a member given its id.
/*! Returns an interface to a member given its id.
* @param id The member 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
/*! Returns a list of all members within the compound having a certain
* name. Member overloading is the reason why there can be more than
* name. Member overloading is the reason why there can be more than
* one member.
* one member.
* @param name The name of the 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
/*! Decreases the reference counter for this compound. If it reaches
* zero, the memory for the compound will be released.
* zero, the memory for the compound will be released.
...
@@ -668,11 +678,13 @@ class INamespace : public ICompound
...
@@ -668,11 +678,13 @@ class INamespace : public ICompound
class
IFile
:
public
ICompound
class
IFile
:
public
ICompound
{
{
public
:
virtual
IGraph
*
includeDependencyGraph
()
const
=
0
;
virtual
IGraph
*
includedByDependencyGraph
()
const
=
0
;
// file:
// file:
// includes()
// includes()
// includedBy()
// includedBy()
// IDotGraph *includeDependencyGraph()
// IDotGraph *includedByDependencyGraph()
// IDocProgramListing *source()
// IDocProgramListing *source()
// ICompound *innerNamespaces()
// ICompound *innerNamespaces()
// ICompoundIterator *innerClasses()
// ICompoundIterator *innerClasses()
...
@@ -704,26 +716,26 @@ class IDoxygen
...
@@ -704,26 +716,26 @@ class IDoxygen
* compound id this function is much more efficient than iterating
* compound id this function is much more efficient than iterating
* over the compound list. Returns 0 if the id is not valid.
* 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 a compound given its name (including the scope).
* Returns 0 if the name is not found in the project.
* 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
/*! 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
* member's id. Given the ICompound interface one can use the same id
* to obtain the IMember interface.
* to obtain the IMember interface.
* @param id The member id.
* @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
/*! Returns a list of all compounds containing at least one members
* with a certain name. Each compound can be asked to return the
* with a certain name. Each compound can be asked to return the
* list of members with that name.
* list of members with that name.
* @param name The name of the member.
* @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
/*! Releases the memory for the object hierarchy obtained by
* createdObjecModelFromXML(). First release all iterators before calling
* 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 \
...
@@ -4,7 +4,7 @@ HEADERS = basehandler.h mainhandler.h \
compoundhandler.h sectionhandler.h \
compoundhandler.h sectionhandler.h \
memberhandler.h paramhandler.h \
memberhandler.h paramhandler.h \
dochandler.h linkedtexthandler.h \
dochandler.h linkedtexthandler.h \
debug.h graphhandler.h
debug.h graphhandler.h
stringimpl.h
SOURCES = mainhandler.cpp \
SOURCES = mainhandler.cpp \
compoundhandler.cpp sectionhandler.cpp \
compoundhandler.cpp sectionhandler.cpp \
memberhandler.cpp paramhandler.cpp \
memberhandler.cpp paramhandler.cpp \
...
...
addon/doxmlparser/src/graphhandler.h
View file @
ff31b2f1
...
@@ -16,6 +16,7 @@
...
@@ -16,6 +16,7 @@
#ifndef _GRAPHHANDLER_H
#ifndef _GRAPHHANDLER_H
#define _GRAPHHANDLER_H
#define _GRAPHHANDLER_H
#include "stringimpl.h"
#include "doxmlintf.h"
#include "doxmlintf.h"
#include "basehandler.h"
#include "basehandler.h"
#include "baseiterator.h"
#include "baseiterator.h"
...
@@ -63,16 +64,16 @@ class NodeHandler : public INode, public BaseHandler<NodeHandler>
...
@@ -63,16 +64,16 @@ class NodeHandler : public INode, public BaseHandler<NodeHandler>
void
startChildNode
(
const
QXmlAttributes
&
attrib
);
void
startChildNode
(
const
QXmlAttributes
&
attrib
);
// INode
// INode
virtual
QString
id
()
const
{
return
m_id
;
}
virtual
const
IString
*
id
()
const
{
return
&
m_id
;
}
virtual
QString
label
()
const
{
return
m_label
;
}
virtual
const
IString
*
label
()
const
{
return
&
m_label
;
}
virtual
QString
linkId
()
const
{
return
m_link
;
}
virtual
const
IString
*
linkId
()
const
{
return
&
m_link
;
}
virtual
IChildNodeIterator
*
children
()
const
;
virtual
IChildNodeIterator
*
children
()
const
;
private
:
private
:
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
QString
m_id
;
StringImpl
m_id
;
QString
m_label
;
StringImpl
m_label
;
QString
m_link
;
StringImpl
m_link
;
QList
<
ChildNodeHandler
>
m_children
;
QList
<
ChildNodeHandler
>
m_children
;
GraphHandler
*
m_graph
;
GraphHandler
*
m_graph
;
};
};
...
@@ -100,14 +101,14 @@ class ChildNodeHandler : public IChildNode, public BaseHandler<ChildNodeHandler>
...
@@ -100,14 +101,14 @@ class ChildNodeHandler : public IChildNode, public BaseHandler<ChildNodeHandler>
// IChildNode
// IChildNode
virtual
INode
*
node
()
const
;
virtual
INode
*
node
()
const
;
virtual
NodeRelation
relation
()
const
{
return
m_relation
;
}
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
;
virtual
IEdgeLabelIterator
*
edgeLabels
()
const
;
private
:
private
:
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
QString
m_id
;
QString
m_id
;
NodeRelation
m_relation
;
NodeRelation
m_relation
;
QString
m_relationString
;
StringImpl
m_relationString
;
QList
<
EdgeLabelHandler
>
m_edgeLabels
;
QList
<
EdgeLabelHandler
>
m_edgeLabels
;
GraphHandler
*
m_graph
;
GraphHandler
*
m_graph
;
};
};
...
@@ -132,11 +133,11 @@ class EdgeLabelHandler : public IEdgeLabel, public BaseHandler<EdgeLabelHandler>
...
@@ -132,11 +133,11 @@ class EdgeLabelHandler : public IEdgeLabel, public BaseHandler<EdgeLabelHandler>
void
endEdgeLabel
();
void
endEdgeLabel
();
// IEdgeLabel
// IEdgeLabel
virtual
QString
label
()
const
{
return
m_label
;
}
virtual
const
IString
*
label
()
const
{
return
&
m_label
;
}
private
:
private
:
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
QString
m_label
;
StringImpl
m_label
;
};
};
class
EdgeLabelIterator
:
public
BaseIterator
<
IEdgeLabelIterator
,
IEdgeLabel
,
EdgeLabelHandler
>
class
EdgeLabelIterator
:
public
BaseIterator
<
IEdgeLabelIterator
,
IEdgeLabel
,
EdgeLabelHandler
>
...
...
addon/doxmlparser/src/linkedtexthandler.cpp
View file @
ff31b2f1
...
@@ -15,6 +15,7 @@
...
@@ -15,6 +15,7 @@
#include "linkedtexthandler.h"
#include "linkedtexthandler.h"
#include "debug.h"
#include "debug.h"
#include <doxmlintf.h>
#include <doxmlintf.h>
#include "stringimpl.h"
class
LT_Text
:
public
LinkedTextImpl
,
public
ILT_Text
class
LT_Text
:
public
LinkedTextImpl
,
public
ILT_Text
{
{
...
@@ -23,10 +24,10 @@ class LT_Text : public LinkedTextImpl, public ILT_Text
...
@@ -23,10 +24,10 @@ class LT_Text : public LinkedTextImpl, public ILT_Text
virtual
~
LT_Text
()
{}
virtual
~
LT_Text
()
{}
// ILT_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
;
}
virtual
Kind
kind
()
const
{
return
LinkedTextImpl
::
Kind_Text
;
}
private
:
private
:
QString
m_text
;
StringImpl
m_text
;
};
};
class
LT_Ref
:
public
LinkedTextImpl
,
public
ILT_Ref
class
LT_Ref
:
public
LinkedTextImpl
,
public
ILT_Ref
...
@@ -40,16 +41,16 @@ 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
;
}
void
setTargetKind
(
TargetKind
k
)
{
m_targetKind
=
k
;
}
// ILT_Ref
// ILT_Ref
virtual
QString
text
()
const
{
return
m_text
;
}
virtual
const
IString
*
text
()
const
{
return
&
m_text
;
}
virtual
QString
id
()
const
{
return
m_refId
;
}
virtual
const
IString
*
id
()
const
{
return
&
m_refId
;
}
virtual
TargetKind
targetKind
()
const
{
return
m_targetKind
;
}
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
;
}
virtual
Kind
kind
()
const
{
return
LinkedTextImpl
::
Kind_Ref
;
}
private
:
private
:
QString
m_refId
;
StringImpl
m_refId
;
QString
m_extId
;
StringImpl
m_extId
;
QString
m_text
;
StringImpl
m_text
;
TargetKind
m_targetKind
;
TargetKind
m_targetKind
;
};
};
...
@@ -106,7 +107,7 @@ void LinkedTextHandler::endRef()
...
@@ -106,7 +107,7 @@ void LinkedTextHandler::endRef()
{
{
m_ref
->
setText
(
m_curString
);
m_ref
->
setText
(
m_curString
);
m_children
.
append
(
m_ref
);
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
;
m_ref
=
0
;
}
}
...
@@ -120,10 +121,10 @@ QString LinkedTextHandler::toString(const QList<LinkedTextImpl> &list)
...
@@ -120,10 +121,10 @@ QString LinkedTextHandler::toString(const QList<LinkedTextImpl> &list)
switch
(
lt
->
kind
())
switch
(
lt
->
kind
())
{
{
case
ILinkedText
:
:
Kind_Text
:
case
ILinkedText
:
:
Kind_Text
:
result
+=
dynamic_cast
<
ILT_Text
*>
(
lt
)
->
text
();
result
+=
dynamic_cast
<
ILT_Text
*>
(
lt
)
->
text
()
->
latin1
()
;
break
;
break
;
case
ILinkedText
:
:
Kind_Ref
:
case
ILinkedText
:
:
Kind_Ref
:
result
+=
dynamic_cast
<
ILT_Ref
*>
(
lt
)
->
text
();
result
+=
dynamic_cast
<
ILT_Ref
*>
(
lt
)
->
text
()
->
latin1
()
;
break
;
break
;
}
}
}
}
...
...
addon/doxmlparser/src/mainhandler.cpp
View file @
ff31b2f1
...
@@ -194,16 +194,17 @@ ICompoundIterator *MainHandler::compounds() const
...
@@ -194,16 +194,17 @@ ICompoundIterator *MainHandler::compounds() const
return
new
CompoundEntryIterator
(
this
,
m_compounds
);
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
;
QString
ids
=
id
;
CompoundHandler
*
ch
=
m_compoundsLoaded
[
id
];
if
(
ids
.
isEmpty
())
return
0
;
CompoundHandler
*
ch
=
m_compoundsLoaded
[
ids
];
if
(
ch
)
// compound already in memory
if
(
ch
)
// compound already in memory
{
{
ch
->
addref
();
// returning alias -> increase reference counter
ch
->
addref
();
// returning alias -> increase reference counter
return
ch
->
toICompound
();
return
ch
->
toICompound
();
}
}
CompoundEntry
*
ce
=
m_compoundDict
.
find
(
id
);
CompoundEntry
*
ce
=
m_compoundDict
.
find
(
id
s
);
if
(
ce
==
0
)
return
0
;
// id not found
if
(
ce
==
0
)
return
0
;
// id not found
// create and load a new compound
// create and load a new compound
ch
=
new
CompoundHandler
(
m_xmlDirName
);
ch
=
new
CompoundHandler
(
m_xmlDirName
);
...
@@ -224,28 +225,31 @@ ICompound *MainHandler::compoundById(const QString &id) const
...
@@ -224,28 +225,31 @@ ICompound *MainHandler::compoundById(const QString &id) const
void
MainHandler
::
unloadCompound
(
CompoundHandler
*
ch
)
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
];
CompoundEntry
*
ce
=
m_compoundNameDict
[
name
];
if
(
ce
==
0
)
return
0
;
// name not found
if
(
ce
==
0
)
return
0
;
// name not found
return
compoundById
(
ce
->
id
);
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
];
MemberEntry
*
me
=
m_memberDict
[
id
];
if
(
me
==
0
)
return
0
;
// id not found
if
(
me
==
0
)
return
0
;
// id not found
return
compoundById
(
me
->
id
);
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
];
QList
<
CompoundEntry
>
*
cel
=
m_memberNameDict
[
name
];
if
(
cel
==
0
)
return
0
;
// name not found
if
(
cel
==
0
)
return
0
;
// name not found
return
new
CompoundEntryIterator
(
this
,
*
cel
);
return
new
CompoundEntryIterator
(
this
,
*
cel
);
...
@@ -267,7 +271,7 @@ void MainHandler::release()
...
@@ -267,7 +271,7 @@ void MainHandler::release()
CompoundHandler
*
ch
;
CompoundHandler
*
ch
;
for
(
chi
.
toFirst
();(
ch
=
chi
.
current
());
++
chi
)
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
();
graphhandler_exit
();
dochandler_exit
();
dochandler_exit
();
...
...
addon/doxmlparser/src/mainhandler.h
View file @
ff31b2f1
...
@@ -55,10 +55,10 @@ class MainHandler : public IDoxygen, public BaseHandler<MainHandler>
...
@@ -55,10 +55,10 @@ class MainHandler : public IDoxygen, public BaseHandler<MainHandler>
// IDoxygen
// IDoxygen
ICompoundIterator
*
compounds
()
const
;
ICompoundIterator
*
compounds
()
const
;
ICompound
*
compoundById
(
const
QString
&
id
)
const
;
ICompound
*
compoundById
(
const
char
*
id
)
const
;
virtual
ICompound
*
compoundByName
(
const
QString
&
name
)
const
;
virtual
ICompound
*
compoundByName
(
const
char
*
name
)
const
;
virtual
ICompound
*
memberById
(
const
QString
&
id
)
const
;
virtual
ICompound
*
memberById
(
const
char
*
id
)
const
;
virtual
ICompoundIterator
*
memberByName
(
const
QString
&
name
)
const
;
virtual
ICompoundIterator
*
memberByName
(
const
char
*
name
)
const
;
virtual
void
release
();
virtual
void
release
();
void
setDebugLevel
(
int
level
);
void
setDebugLevel
(
int
level
);
...
...
addon/doxmlparser/src/memberhandler.h
View file @
ff31b2f1
...
@@ -35,11 +35,11 @@ struct MemberReference : public IMemberReference
...
@@ -35,11 +35,11 @@ struct MemberReference : public IMemberReference
{
{
virtual
~
MemberReference
()
{}
virtual
~
MemberReference
()
{}
virtual
IMember
*
member
()
const
;
virtual
IMember
*
member
()
const
;
virtual
QString
memberName
()
const
{
return
m_name
;
}
virtual
const
IString
*
memberName
()
const
{
return
&
m_name
;
}
void
initialize
(
MainHandler
*
m
);
void
initialize
(
MainHandler
*
m
);
QString
m_memId
;
QString
m_memId
;
QString
m_name
;
StringImpl
m_name
;
MainHandler
*
m_mainHandler
;
MainHandler
*
m_mainHandler
;
};
};
...
@@ -61,8 +61,8 @@ class EnumValueHandler : public IEnumValue, public BaseHandler<EnumValueHandler>
...
@@ -61,8 +61,8 @@ class EnumValueHandler : public IEnumValue, public BaseHandler<EnumValueHandler>
virtual
void
endEnumValue
();
virtual
void
endEnumValue
();
// IEnumValue
// IEnumValue
virtual
QString
name
()
const
{
return
m_name
;
}
virtual
const
IString
*
name
()
const
{
return
&
m_name
;
}
virtual
QString
initializer
()
const
{
return
m_initializer
;
}
virtual
const
IString
*
initializer
()
const
{
return
&
m_initializer
;
}
void
setName
(
const
QString
&
name
)
{
m_name
=
name
;
}
void
setName
(
const
QString
&
name
)
{
m_name
=
name
;
}
void
setInitializer
(
const
QString
&
init
)
{
m_initializer
=
init
;
}
void
setInitializer
(
const
QString
&
init
)
{
m_initializer
=
init
;
}
...
@@ -71,8 +71,8 @@ class EnumValueHandler : public IEnumValue, public BaseHandler<EnumValueHandler>
...
@@ -71,8 +71,8 @@ class EnumValueHandler : public IEnumValue, public BaseHandler<EnumValueHandler>
EnumValueHandler
(
IBaseHandler
*
parent
);
EnumValueHandler
(
IBaseHandler
*
parent
);
private
:
private
:
QString
m_name
;
StringImpl
m_name
;
QString
m_initializer
;
StringImpl
m_initializer
;
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
};
};
...
@@ -115,24 +115,27 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler>
...
@@ -115,24 +115,27 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler>
virtual
ISection
*
section
()
const
;
virtual
ISection
*
section
()
const
;
virtual
MemberKind
kind
()
const
virtual
MemberKind
kind
()
const
{
return
m_kind
;
}
{
return
m_kind
;
}
virtual
QString
kindString
()
const
virtual
const
IString
*
kindString
()
const
{
return
m_kindString
;
}
{
return
&
m_kindString
;
}
virtual
QString
id
()
const
virtual
const
IString
*
id
()
const
{
return
m_id
;
}
{
return
&
m_id
;
}
virtual
QString
protection
()
const
virtual
const
IString
*
protection
()
const
{
return
m_protection
;
}
{
return
&
m_protection
;
}
virtual
QString
virtualness
()
const
virtual
const
IString
*
virtualness
()
const
{
return
m_virtualness
;
}
{
return
&
m_virtualness
;
}
virtual
QString
name
()
const
virtual
const
IString
*
name
()
const
{
return
m_name
;
}
{
return
&
m_name
;
}
virtual
bool
isConst
()
const
virtual
bool
isConst
()
const
{
return
m_isConst
;
}
{
return
m_isConst
;
}
virtual
bool
isVolatile
()
const
virtual
bool
isVolatile
()
const
{
return
m_isVolatile
;
}
{
return
m_isVolatile
;
}
virtual
ILinkedTextIterator
*
type
()
const
virtual
ILinkedTextIterator
*
type
()
const
{
return
new
LinkedTextIterator
(
m_type
);
}
{
return
new
LinkedTextIterator
(
m_type
);
}
virtual
QString
typeString
()
const
virtual
const
IString
*
typeString
()
const
{
return
LinkedTextHandler
::
toString
(
m_type
);
}
{
MemberHandler
*
that
=
(
MemberHandler
*
)
this
;
that
->
m_typeString
=
LinkedTextHandler
::
toString
(
m_type
);
return
&
m_typeString
;
}
virtual
IParamIterator
*
params
()
const
virtual
IParamIterator
*
params
()
const
{
return
new
ParamIterator
(
m_params
);
}
{
return
new
ParamIterator
(
m_params
);
}
virtual
IMemberReferenceIterator
*
references
()
const
virtual
IMemberReferenceIterator
*
references
()
const
...
@@ -147,8 +150,8 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler>
...
@@ -147,8 +150,8 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler>
{
return
m_bodyStart
;
}
{
return
m_bodyStart
;
}
virtual
int
bodyEnd
()
const
virtual
int
bodyEnd
()
const
{
return
m_bodyEnd
;
}
{
return
m_bodyEnd
;
}
virtual
QString
definitionFile
()
const
virtual
const
IString
*
definitionFile
()
const
{
return
m_defFile
;
}
{
return
&
m_defFile
;
}
virtual
int
definitionLine
()
const
virtual
int
definitionLine
()
const
{
return
m_defLine
;
}
{
return
m_defLine
;
}
virtual
IMemberReference
*
reimplements
()
const
virtual
IMemberReference
*
reimplements
()
const
...
@@ -171,14 +174,15 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler>
...
@@ -171,14 +174,15 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler>
CompoundHandler
*
m_compound
;
CompoundHandler
*
m_compound
;
SectionHandler
*
m_section
;
SectionHandler
*
m_section
;
MemberKind
m_kind
;
MemberKind
m_kind
;
QString
m_kindString
;
StringImpl
m_kindString
;
QString
m_id
;
StringImpl
m_id
;
QString
m_protection
;
StringImpl
m_protection
;
QString
m_virtualness
;
StringImpl
m_virtualness
;
StringImpl
m_typeString
;
QList
<
LinkedTextImpl
>
m_type
;
QList
<
LinkedTextImpl
>
m_type
;
QList
<
LinkedTextImpl
>
m_initializer
;
QList
<
LinkedTextImpl
>
m_initializer
;
QList
<
LinkedTextImpl
>
m_exception
;
QList
<
LinkedTextImpl
>
m_exception
;
QString
m_name
;
StringImpl
m_name
;
DocHandler
*
m_brief
;
DocHandler
*
m_brief
;
DocHandler
*
m_detailed
;
DocHandler
*
m_detailed
;
QList
<
ParamHandler
>
m_params
;
QList
<
ParamHandler
>
m_params
;
...
@@ -186,7 +190,7 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler>
...
@@ -186,7 +190,7 @@ class MemberHandler : public IMember, public BaseHandler<MemberHandler>
QList
<
MemberReference
>
m_referencedBy
;
QList
<
MemberReference
>
m_referencedBy
;
MemberReference
*
m_reimplements
;
MemberReference
*
m_reimplements
;
QList
<
MemberReference
>
m_reimplementedBy
;
QList
<
MemberReference
>
m_reimplementedBy
;
QString
m_defFile
;
StringImpl
m_defFile
;
int
m_defLine
;
int
m_defLine
;
int
m_bodyStart
;
int
m_bodyStart
;
int
m_bodyEnd
;
int
m_bodyEnd
;
...
...
addon/doxmlparser/src/paramhandler.h
View file @
ff31b2f1
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
#include <qxml.h>
#include <qxml.h>
#include <doxmlintf.h>
#include <doxmlintf.h>
#include "stringimpl.h"
#include "basehandler.h"
#include "basehandler.h"
#include "baseiterator.h"
#include "baseiterator.h"
#include "linkedtexthandler.h"
#include "linkedtexthandler.h"
...
@@ -43,20 +44,20 @@ class ParamHandler : public IParam, public BaseHandler<ParamHandler>
...
@@ -43,20 +44,20 @@ class ParamHandler : public IParam, public BaseHandler<ParamHandler>
// IParam
// IParam
virtual
ILinkedTextIterator
*
type
()
const
virtual
ILinkedTextIterator
*
type
()
const
{
return
new
LinkedTextIterator
(
m_type
);
}
{
return
new
LinkedTextIterator
(
m_type
);
}
virtual
QString
declarationName
()
const
{
return
m_declName
;
}
virtual
const
IString
*
declarationName
()
const
{
return
&
m_declName
;
}
virtual
QString
definitionName
()
const
{
return
m_defName
;
}
virtual
const
IString
*
definitionName
()
const
{
return
&
m_defName
;
}
virtual
QString
attrib
()
const
{
return
m_attrib
;
}
virtual
const
IString
*
attrib
()
const
{
return
&
m_attrib
;
}
virtual
QString
arraySpecifier
()
const
{
return
m_array
;
}
virtual
const
IString
*
arraySpecifier
()
const
{
return
&
m_array
;
}
virtual
ILinkedTextIterator
*
defaultValue
()
const
virtual
ILinkedTextIterator
*
defaultValue
()
const
{
return
new
LinkedTextIterator
(
m_defVal
);
}
{
return
new
LinkedTextIterator
(
m_defVal
);
}
private
:
private
:
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
QList
<
LinkedTextImpl
>
m_type
;
QList
<
LinkedTextImpl
>
m_type
;
QString
m_declName
;
StringImpl
m_declName
;
QString
m_defName
;
StringImpl
m_defName
;
QString
m_attrib
;
StringImpl
m_attrib
;
QString
m_array
;
StringImpl
m_array
;
QList
<
LinkedTextImpl
>
m_defVal
;
QList
<
LinkedTextImpl
>
m_defVal
;
LinkedTextHandler
*
m_linkedTextHandler
;
LinkedTextHandler
*
m_linkedTextHandler
;
};
};
...
...
addon/doxmlparser/src/sectionhandler.h
View file @
ff31b2f1
...
@@ -46,8 +46,8 @@ class SectionHandler : public ISection, public BaseHandler<SectionHandler>
...
@@ -46,8 +46,8 @@ class SectionHandler : public ISection, public BaseHandler<SectionHandler>
virtual
~
SectionHandler
();
virtual
~
SectionHandler
();
// ISection
// ISection
virtual
QString
kindString
()
const
virtual
const
IString
*
kindString
()
const
{
return
m_kindString
;
}
{
return
&
m_kindString
;
}
virtual
SectionKind
kind
()
const
virtual
SectionKind
kind
()
const
{
return
m_kind
;
}
{
return
m_kind
;
}
virtual
IMemberIterator
*
members
()
const
virtual
IMemberIterator
*
members
()
const
...
@@ -78,7 +78,7 @@ class SectionHandler : public ISection, public BaseHandler<SectionHandler>
...
@@ -78,7 +78,7 @@ class SectionHandler : public ISection, public BaseHandler<SectionHandler>
private
:
private
:
IBaseHandler
*
m_parent
;
IBaseHandler
*
m_parent
;
SectionKind
m_kind
;
SectionKind
m_kind
;
QString
m_kindString
;
StringImpl
m_kindString
;
QList
<
MemberHandler
>
m_members
;
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 @@
...
@@ -14,8 +14,12 @@
*/
*/
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <doxmlintf.h>
#include <doxmlintf.h>
/*! Dumps the contents of a hyperlinked text fragment as plain text to the
* output.
*/
QString
linkedTextToString
(
ILinkedTextIterator
*
ti
)
QString
linkedTextToString
(
ILinkedTextIterator
*
ti
)
{
{
QString
result
;
QString
result
;
...
@@ -24,106 +28,116 @@ QString linkedTextToString(ILinkedTextIterator *ti)
...
@@ -24,106 +28,116 @@ QString linkedTextToString(ILinkedTextIterator *ti)
{
{
switch
(
lt
->
kind
())
switch
(
lt
->
kind
())
{
{
case
ILinkedText
:
:
Kind_Text
:
case
ILinkedText
:
:
Kind_Text
:
// plain text
result
+=
dynamic_cast
<
ILT_Text
*>
(
lt
)
->
text
();
break
;
result
+=
dynamic_cast
<
ILT_Text
*>
(
lt
)
->
text
()
->
latin1
()
;
break
;
case
ILinkedText
:
:
Kind_Ref
:
case
ILinkedText
:
:
Kind_Ref
:
// a link
result
+=
dynamic_cast
<
ILT_Ref
*>
(
lt
)
->
text
();
break
;
result
+=
dynamic_cast
<
ILT_Ref
*>
(
lt
)
->
text
()
->
latin1
()
;
break
;
}
}
}
}
return
result
;
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
())
switch
(
doc
->
kind
())
{
{
case
IDoc
:
:
Para
:
case
IDoc
:
:
Para
:
{
{
printf
(
" --- par ---
\n
"
);
InPrint
((
"<para>
\n
"
)
);
IDocPara
*
par
=
dynamic_cast
<
IDocPara
*>
(
doc
);
IDocPara
*
par
=
dynamic_cast
<
IDocPara
*>
(
doc
);
ASSERT
(
par
!=
0
);
ASSERT
(
par
!=
0
);
IDocIterator
*
di
=
par
->
contents
();
IDocIterator
*
di
=
par
->
contents
();
IDoc
*
pdoc
;
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
}
di
->
release
();
di
->
release
();
printf
(
" --- end par ---
\n
"
);
InPrint
((
"</para>
\n
"
)
);
}
}
break
;
break
;
case
IDoc
:
:
Text
:
case
IDoc
:
:
Text
:
{
{
IDocText
*
txt
=
dynamic_cast
<
IDocText
*>
(
doc
);
IDocText
*
txt
=
dynamic_cast
<
IDocText
*>
(
doc
);
ASSERT
(
txt
!=
0
);
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
;
break
;
case
IDoc
:
:
MarkupModifier
:
case
IDoc
:
:
MarkupModifier
:
{
{
IDocMarkupModifier
*
md
=
dynamic_cast
<
IDocMarkupModifier
*>
(
doc
);
IDocMarkupModifier
*
md
=
dynamic_cast
<
IDocMarkupModifier
*>
(
doc
);
ASSERT
(
md
!=
0
);
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
;
break
;
case
IDoc
:
:
ItemizedList
:
case
IDoc
:
:
ItemizedList
:
{
{
printf
(
" --- itemized list ---
\n
"
);
InPrint
((
"<itemized list>
\n
"
)
);
IDocItemizedList
*
list
=
dynamic_cast
<
IDocItemizedList
*>
(
doc
);
IDocItemizedList
*
list
=
dynamic_cast
<
IDocItemizedList
*>
(
doc
);
ASSERT
(
list
!=
0
);
ASSERT
(
list
!=
0
);
IDocIterator
*
di
=
list
->
elements
();
IDocIterator
*
di
=
list
->
elements
();
IDoc
*
pdoc
;
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
}
di
->
release
();
di
->
release
();
printf
(
" --- end itemized list ---
\n
"
);
InPrint
((
"</itemized list>
\n
"
)
);
}
}
break
;
break
;
case
IDoc
:
:
OrderedList
:
case
IDoc
:
:
OrderedList
:
{
{
printf
(
" --- ordered list ---
\n
"
);
InPrint
((
"<ordered list>
\n
"
)
);
IDocOrderedList
*
list
=
dynamic_cast
<
IDocOrderedList
*>
(
doc
);
IDocOrderedList
*
list
=
dynamic_cast
<
IDocOrderedList
*>
(
doc
);
ASSERT
(
list
!=
0
);
ASSERT
(
list
!=
0
);
IDocIterator
*
di
=
list
->
elements
();
IDocIterator
*
di
=
list
->
elements
();
IDoc
*
pdoc
;
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
}
di
->
release
();
di
->
release
();
printf
(
" --- end ordered list ---
\n
"
);
InPrint
((
"</ordered list>
\n
"
)
);
}
}
break
;
break
;
case
IDoc
:
:
ListItem
:
case
IDoc
:
:
ListItem
:
{
{
printf
(
" --- list item ---
\n
"
);
InPrint
((
"<list item>
\n
"
)
);
IDocListItem
*
li
=
dynamic_cast
<
IDocListItem
*>
(
doc
);
IDocListItem
*
li
=
dynamic_cast
<
IDocListItem
*>
(
doc
);
ASSERT
(
li
!=
0
);
ASSERT
(
li
!=
0
);
IDocIterator
*
di
=
li
->
contents
();
IDocIterator
*
di
=
li
->
contents
();
IDoc
*
pdoc
;
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
}
di
->
release
();
di
->
release
();
printf
(
" --- end list item ---
\n
"
);
InPrint
((
"</list item>
\n
"
)
);
}
}
break
;
break
;
case
IDoc
:
:
ParameterList
:
case
IDoc
:
:
ParameterList
:
{
{
IDocParameterList
*
list
=
dynamic_cast
<
IDocParameterList
*>
(
doc
);
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
();
IDocIterator
*
di
=
list
->
params
();
IDoc
*
pdoc
;
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
}
di
->
release
();
di
->
release
();
printf
(
" --- parameter list item ---
\n
"
);
InPrint
((
"</parameter list>
\n
"
)
);
ASSERT
(
list
!=
0
);
ASSERT
(
list
!=
0
);
}
}
break
;
break
;
...
@@ -131,187 +145,248 @@ void DumpDoc(IDoc *doc)
...
@@ -131,187 +145,248 @@ void DumpDoc(IDoc *doc)
{
{
IDocParameter
*
par
=
dynamic_cast
<
IDocParameter
*>
(
doc
);
IDocParameter
*
par
=
dynamic_cast
<
IDocParameter
*>
(
doc
);
ASSERT
(
par
!=
0
);
ASSERT
(
par
!=
0
);
printf
(
" --- parameter name=%s ---
\n
"
,
par
->
name
().
data
(
));
InPrint
((
"<parameter name=%s>
\n
"
,
par
->
name
()
->
latin1
()
));
DumpDoc
(
par
->
description
());
DumpDoc
(
par
->
description
()
,
level
+
1
);
printf
(
" --- end parameter ---
\n
"
);
InPrint
((
"<parameter/>
\n
"
)
);
}
}
break
;
break
;
case
IDoc
:
:
SimpleSect
:
case
IDoc
:
:
SimpleSect
:
{
{
IDocSimpleSect
*
ss
=
dynamic_cast
<
IDocSimpleSect
*>
(
doc
);
IDocSimpleSect
*
ss
=
dynamic_cast
<
IDocSimpleSect
*>
(
doc
);
ASSERT
(
ss
!=
0
);
ASSERT
(
ss
!=
0
);
printf
(
" --- simplesect type=%s ---
\n
"
,
ss
->
typeString
().
data
(
));
InPrint
((
"<simplesect type=%s>
\n
"
,
ss
->
typeString
()
->
latin1
()
));
DumpDoc
(
ss
->
title
());
DumpDoc
(
ss
->
title
()
,
level
+
1
);
DumpDoc
(
ss
->
description
());
DumpDoc
(
ss
->
description
()
,
level
+
1
);
printf
(
" --- end simplesect ---
\n
"
);
InPrint
((
"<simplesect/>
\n
"
)
);
}
}
break
;
break
;
case
IDoc
:
:
Title
:
case
IDoc
:
:
Title
:
{
{
printf
(
" --- title ---
\n
"
);
InPrint
((
"<title>
\n
"
)
);
IDocTitle
*
t
=
dynamic_cast
<
IDocTitle
*>
(
doc
);
IDocTitle
*
t
=
dynamic_cast
<
IDocTitle
*>
(
doc
);
ASSERT
(
t
!=
0
);
ASSERT
(
t
!=
0
);
IDocIterator
*
di
=
t
->
title
();
IDocIterator
*
di
=
t
->
title
();
IDoc
*
pdoc
;
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
}
printf
(
" --- end title ---
\n
"
);
InPrint
((
"<title/>
\n
"
)
);
}
}
break
;
break
;
case
IDoc
:
:
Ref
:
case
IDoc
:
:
Ref
:
{
{
IDocRef
*
ref
=
dynamic_cast
<
IDocRef
*>
(
doc
);
IDocRef
*
ref
=
dynamic_cast
<
IDocRef
*>
(
doc
);
ASSERT
(
ref
!=
0
);
ASSERT
(
ref
!=
0
);
printf
(
" ref=%p
\n
"
,
ref
);
InPrint
((
"<ref id=%s text=%s/>
\n
"
,
printf
(
" --- ref id=%s text=%s ---
\n
"
,
ref
->
refId
()
->
latin1
(),
ref
->
text
()
->
latin1
()));
ref
->
refId
().
data
(),
ref
->
text
().
data
());
printf
(
" --- end ref ---
\n
"
);
}
}
break
;
break
;
case
IDoc
:
:
VariableList
:
case
IDoc
:
:
VariableList
:
{
{
printf
(
" --- start variablelist ---
\n
"
);
InPrint
((
"<variablelist>
\n
"
)
);
IDocVariableList
*
vl
=
dynamic_cast
<
IDocVariableList
*>
(
doc
);
IDocVariableList
*
vl
=
dynamic_cast
<
IDocVariableList
*>
(
doc
);
ASSERT
(
vl
!=
0
);
ASSERT
(
vl
!=
0
);
IDocIterator
*
di
=
vl
->
entries
();
IDocIterator
*
di
=
vl
->
entries
();
IDoc
*
pdoc
;
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
}
di
->
release
();
di
->
release
();
printf
(
" --- end variablelist ---
\n
"
);
InPrint
((
"<variablelist/>
\n
"
)
);
}
}
break
;
break
;
case
IDoc
:
:
VariableListEntry
:
case
IDoc
:
:
VariableListEntry
:
{
{
IDocVariableListEntry
*
vle
=
dynamic_cast
<
IDocVariableListEntry
*>
(
doc
);
IDocVariableListEntry
*
vle
=
dynamic_cast
<
IDocVariableListEntry
*>
(
doc
);
ASSERT
(
vle
!=
0
);
ASSERT
(
vle
!=
0
);
printf
(
" --- start variablelistentry term=%s ---
\n
"
,
vle
->
term
().
data
(
));
InPrint
((
"<variablelistentry term=%s>
\n
"
,
vle
->
term
()
->
latin1
()
));
DumpDoc
(
vle
->
description
());
DumpDoc
(
vle
->
description
()
,
level
+
1
);
printf
(
" --- end variablelistentry ---
\n
"
);
InPrint
((
"<variablelistentry/>
\n
"
)
);
}
}
break
;
break
;
case
IDoc
:
:
HRuler
:
case
IDoc
:
:
HRuler
:
{
{
IDocHRuler
*
hr
=
dynamic_cast
<
IDocHRuler
*>
(
doc
);
IDocHRuler
*
hr
=
dynamic_cast
<
IDocHRuler
*>
(
doc
);
ASSERT
(
hr
!=
0
);
ASSERT
(
hr
!=
0
);
InPrint
((
"<hruler/>
\n
"
));
}
}
break
;
break
;
case
IDoc
:
:
LineBreak
:
case
IDoc
:
:
LineBreak
:
{
{
IDocLineBreak
*
lb
=
dynamic_cast
<
IDocLineBreak
*>
(
doc
);
IDocLineBreak
*
lb
=
dynamic_cast
<
IDocLineBreak
*>
(
doc
);
ASSERT
(
lb
!=
0
);
ASSERT
(
lb
!=
0
);
InPrint
((
"<linebreak/>
\n
"
));
}
}
break
;
break
;
case
IDoc
:
:
ULink
:
case
IDoc
:
:
ULink
:
{
{
IDocULink
*
ul
=
dynamic_cast
<
IDocULink
*>
(
doc
);
IDocULink
*
ul
=
dynamic_cast
<
IDocULink
*>
(
doc
);
ASSERT
(
ul
!=
0
);
ASSERT
(
ul
!=
0
);
InPrint
((
"<ulink url=`%s' text=`%s'/>
\n
"
,
ul
->
url
()
->
latin1
(),
ul
->
text
()
->
latin1
()));
}
}
break
;
break
;
case
IDoc
:
:
EMail
:
case
IDoc
:
:
EMail
:
{
{
IDocEMail
*
em
=
dynamic_cast
<
IDocEMail
*>
(
doc
);
IDocEMail
*
em
=
dynamic_cast
<
IDocEMail
*>
(
doc
);
ASSERT
(
em
!=
0
);
ASSERT
(
em
!=
0
);
InPrint
((
"<email address=`%s'/>
\n
"
,
em
->
address
()
->
latin1
()));
}
}
break
;
break
;
case
IDoc
:
:
Link
:
case
IDoc
:
:
Link
:
{
{
IDocLink
*
lk
=
dynamic_cast
<
IDocLink
*>
(
doc
);
IDocLink
*
lk
=
dynamic_cast
<
IDocLink
*>
(
doc
);
ASSERT
(
lk
!=
0
);
ASSERT
(
lk
!=
0
);
InPrint
((
"<link refid=`%s' text=`%s'/>
\n
"
,
lk
->
refId
()
->
latin1
(),
lk
->
text
()
->
latin1
()));
}
}
break
;
break
;
case
IDoc
:
:
ProgramListing
:
case
IDoc
:
:
ProgramListing
:
{
{
IDocProgramListing
*
pl
=
dynamic_cast
<
IDocProgramListing
*>
(
doc
);
IDocProgramListing
*
pl
=
dynamic_cast
<
IDocProgramListing
*>
(
doc
);
ASSERT
(
pl
!=
0
);
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
;
break
;
case
IDoc
:
:
CodeLine
:
case
IDoc
:
:
CodeLine
:
{
{
IDocCodeLine
*
cl
=
dynamic_cast
<
IDocCodeLine
*>
(
doc
);
IDocCodeLine
*
cl
=
dynamic_cast
<
IDocCodeLine
*>
(
doc
);
ASSERT
(
cl
!=
0
);
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
;
break
;
case
IDoc
:
:
Highlight
:
case
IDoc
:
:
Highlight
:
{
{
IDocHighlight
*
hl
=
dynamic_cast
<
IDocHighlight
*>
(
doc
);
IDocHighlight
*
hl
=
dynamic_cast
<
IDocHighlight
*>
(
doc
);
ASSERT
(
hl
!=
0
);
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
;
break
;
case
IDoc
:
:
Formula
:
case
IDoc
:
:
Formula
:
{
{
IDocFormula
*
fm
=
dynamic_cast
<
IDocFormula
*>
(
doc
);
IDocFormula
*
fm
=
dynamic_cast
<
IDocFormula
*>
(
doc
);
ASSERT
(
fm
!=
0
);
ASSERT
(
fm
!=
0
);
InPrint
((
"<formula id=`%s' text=`%s'/>
\n
"
,
fm
->
id
()
->
latin1
(),
fm
->
text
()
->
latin1
()));
}
}
break
;
break
;
case
IDoc
:
:
Image
:
case
IDoc
:
:
Image
:
{
{
IDocImage
*
img
=
dynamic_cast
<
IDocImage
*>
(
doc
);
IDocImage
*
img
=
dynamic_cast
<
IDocImage
*>
(
doc
);
ASSERT
(
img
!=
0
);
ASSERT
(
img
!=
0
);
InPrint
((
"<image name=`%s' caption=`%s'/>
\n
"
,
img
->
name
()
->
latin1
(),
img
->
caption
()
->
latin1
()));
}
}
break
;
break
;
case
IDoc
:
:
DotFile
:
case
IDoc
:
:
DotFile
:
{
{
IDocDotFile
*
df
=
dynamic_cast
<
IDocDotFile
*>
(
doc
);
IDocDotFile
*
df
=
dynamic_cast
<
IDocDotFile
*>
(
doc
);
ASSERT
(
df
!=
0
);
ASSERT
(
df
!=
0
);
InPrint
((
"<dotfile name=`%s' caption=`%s'/>
\n
"
,
df
->
name
()
->
latin1
(),
df
->
caption
()
->
latin1
()));
}
}
break
;
break
;
case
IDoc
:
:
IndexEntry
:
case
IDoc
:
:
IndexEntry
:
{
{
IDocIndexEntry
*
ie
=
dynamic_cast
<
IDocIndexEntry
*>
(
doc
);
IDocIndexEntry
*
ie
=
dynamic_cast
<
IDocIndexEntry
*>
(
doc
);
ASSERT
(
ie
!=
0
);
ASSERT
(
ie
!=
0
);
InPrint
((
"<indexentry primary=`%s' secondary=`%s'/>
\n
"
,
ie
->
primary
()
->
latin1
(),
ie
->
secondary
()
->
latin1
()));
}
}
break
;
break
;
case
IDoc
:
:
Table
:
case
IDoc
:
:
Table
:
{
{
IDocTable
*
tbl
=
dynamic_cast
<
IDocTable
*>
(
doc
);
IDocTable
*
tbl
=
dynamic_cast
<
IDocTable
*>
(
doc
);
ASSERT
(
tbl
!=
0
);
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
;
break
;
case
IDoc
:
:
Row
:
case
IDoc
:
:
Row
:
{
{
IDocRow
*
row
=
dynamic_cast
<
IDocRow
*>
(
doc
);
IDocRow
*
row
=
dynamic_cast
<
IDocRow
*>
(
doc
);
ASSERT
(
row
!=
0
);
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
;
break
;
case
IDoc
:
:
Entry
:
case
IDoc
:
:
Entry
:
{
{
IDocEntry
*
ent
=
dynamic_cast
<
IDocEntry
*>
(
doc
);
IDocEntry
*
ent
=
dynamic_cast
<
IDocEntry
*>
(
doc
);
ASSERT
(
ent
!=
0
);
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
;
break
;
case
IDoc
:
:
Section
:
case
IDoc
:
:
Section
:
{
{
IDocSection
*
sec
=
dynamic_cast
<
IDocSection
*>
(
doc
);
IDocSection
*
sec
=
dynamic_cast
<
IDocSection
*>
(
doc
);
ASSERT
(
sec
!=
0
);
ASSERT
(
sec
!=
0
);
printf
(
" --- section id=`%s' level=%d ---
\n
"
,
InPrint
((
"<section id=`%s' level=%d>
\n
"
,
sec
->
id
()
.
data
(),
sec
->
level
(
));
sec
->
id
()
->
latin1
(),
sec
->
level
()
));
IDocIterator
*
di
=
sec
->
title
();
IDocIterator
*
di
=
sec
->
title
();
IDoc
*
pdoc
;
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
}
printf
(
" --- end section ---
\n
"
);
InPrint
((
"<section/>
\n
"
)
);
}
}
break
;
break
;
case
IDoc
:
:
Root
:
case
IDoc
:
:
Root
:
{
{
printf
(
" --- root ---
\n
"
);
InPrint
((
"<root>
\n
"
)
);
IDocRoot
*
root
=
dynamic_cast
<
IDocRoot
*>
(
doc
);
IDocRoot
*
root
=
dynamic_cast
<
IDocRoot
*>
(
doc
);
ASSERT
(
root
!=
0
);
ASSERT
(
root
!=
0
);
IDocIterator
*
di
=
root
->
contents
();
IDocIterator
*
di
=
root
->
contents
();
IDoc
*
pdoc
;
IDoc
*
pdoc
;
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
for
(
di
->
toFirst
();(
pdoc
=
di
->
current
());
di
->
toNext
())
{
{
DumpDoc
(
pdoc
);
DumpDoc
(
pdoc
,
level
+
1
);
}
}
di
->
release
();
di
->
release
();
printf
(
" --- end root ---
\n
"
);
InPrint
((
"<root/>
\n
"
)
);
}
}
break
;
break
;
...
@@ -329,24 +404,24 @@ void DumpGraph(IGraph *graph)
...
@@ -329,24 +404,24 @@ void DumpGraph(IGraph *graph)
for
(
ni
->
toFirst
();(
node
=
ni
->
current
());
ni
->
toNext
())
for
(
ni
->
toFirst
();(
node
=
ni
->
current
());
ni
->
toNext
())
{
{
printf
(
" --- node id=%s label=%s linkId=%s
\n
"
,
printf
(
" --- node id=%s label=%s linkId=%s
\n
"
,
node
->
id
()
.
data
(),
node
->
id
()
->
latin1
(),
node
->
label
()
.
data
(),
node
->
label
()
->
latin1
(),
node
->
linkId
()
.
data
()
node
->
linkId
()
->
latin1
()
);
);
IChildNodeIterator
*
cni
=
node
->
children
();
IChildNodeIterator
*
cni
=
node
->
children
();
IChildNode
*
cn
;
IChildNode
*
cn
;
for
(
cni
->
toFirst
();(
cn
=
cni
->
current
());
cni
->
toNext
())
for
(
cni
->
toFirst
();(
cn
=
cni
->
current
());
cni
->
toNext
())
{
{
printf
(
" + child id=%s label=%s relation=%s
\n
"
,
printf
(
" + child id=%s label=%s relation=%s
\n
"
,
cn
->
node
()
->
id
()
.
data
(),
cn
->
node
()
->
id
()
->
latin1
(),
cn
->
node
()
->
label
()
.
data
(),
cn
->
node
()
->
label
()
->
latin1
(),
cn
->
relationString
()
.
data
()
cn
->
relationString
()
->
latin1
()
);
);
IEdgeLabelIterator
*
eli
=
cn
->
edgeLabels
();
IEdgeLabelIterator
*
eli
=
cn
->
edgeLabels
();
IEdgeLabel
*
el
;
IEdgeLabel
*
el
;
for
(
eli
->
toFirst
();(
el
=
eli
->
current
());
eli
->
toNext
())
for
(
eli
->
toFirst
();(
el
=
eli
->
current
());
eli
->
toNext
())
{
{
printf
(
" edgeLabel=%s
\n
"
,
el
->
label
()
.
data
());
printf
(
" edgeLabel=%s
\n
"
,
el
->
label
()
->
latin1
());
}
}
eli
->
release
();
eli
->
release
();
}
}
...
@@ -381,19 +456,19 @@ int main(int argc,char **argv)
...
@@ -381,19 +456,19 @@ int main(int argc,char **argv)
for
(
cli
->
toFirst
();(
comp
=
cli
->
current
());
cli
->
toNext
())
for
(
cli
->
toFirst
();(
comp
=
cli
->
current
());
cli
->
toNext
())
{
{
printf
(
"Compound name=%s id=%s kind=%s
\n
"
,
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
();
ISectionIterator
*
sli
=
comp
->
sections
();
ISection
*
sec
;
ISection
*
sec
;
for
(
sli
->
toFirst
();(
sec
=
sli
->
current
());
sli
->
toNext
())
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
();
IMemberIterator
*
mli
=
sec
->
members
();
IMember
*
mem
;
IMember
*
mem
;
for
(
mli
->
toFirst
();(
mem
=
mli
->
current
());
mli
->
toNext
())
for
(
mli
->
toFirst
();(
mem
=
mli
->
current
());
mli
->
toNext
())
{
{
ILinkedTextIterator
*
lti
=
mem
->
type
();
ILinkedTextIterator
*
lti
=
mem
->
type
();
printf
(
" Member type=%s name=%s
\n
"
,
printf
(
" Member type=%s name=%s
\n
"
,
linkedTextToString
(
lti
).
data
(),
mem
->
name
().
data
());
linkedTextToString
(
lti
).
latin1
(),
mem
->
name
()
->
latin1
());
lti
->
release
();
lti
->
release
();
IParamIterator
*
pli
=
mem
->
params
();
IParamIterator
*
pli
=
mem
->
params
();
...
@@ -407,7 +482,7 @@ int main(int argc,char **argv)
...
@@ -407,7 +482,7 @@ int main(int argc,char **argv)
QString
defVal
=
linkedTextToString
(
lti
);
QString
defVal
=
linkedTextToString
(
lti
);
lti
->
release
();
lti
->
release
();
printf
(
" Param type=%s name=%s defvalue=%s
\n
"
,
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
();
pli
->
release
();
IMemberReferenceIterator
*
mri
=
mem
->
references
();
IMemberReferenceIterator
*
mri
=
mem
->
references
();
...
@@ -416,7 +491,7 @@ int main(int argc,char **argv)
...
@@ -416,7 +491,7 @@ int main(int argc,char **argv)
{
{
IMember
*
memr
=
mr
->
member
();
IMember
*
memr
=
mr
->
member
();
printf
(
" References %s at line %d
\n
"
,
printf
(
" References %s at line %d
\n
"
,
mr
->
memberName
()
.
data
(),
memr
->
bodyStart
());
mr
->
memberName
()
->
latin1
(),
memr
->
bodyStart
());
}
}
mri
->
release
();
mri
->
release
();
...
@@ -425,7 +500,7 @@ int main(int argc,char **argv)
...
@@ -425,7 +500,7 @@ int main(int argc,char **argv)
{
{
IMember
*
memr
=
mr
->
member
();
IMember
*
memr
=
mr
->
member
();
printf
(
" ReferencedBy %s at line %d
\n
"
,
printf
(
" ReferencedBy %s at line %d
\n
"
,
mr
->
memberName
()
.
data
(),
memr
->
bodyStart
());
mr
->
memberName
()
->
latin1
(),
memr
->
bodyStart
());
}
}
mri
->
release
();
mri
->
release
();
...
@@ -434,7 +509,7 @@ int main(int argc,char **argv)
...
@@ -434,7 +509,7 @@ int main(int argc,char **argv)
for
(
evi
->
toFirst
();(
ev
=
evi
->
current
());
evi
->
toNext
())
for
(
evi
->
toFirst
();(
ev
=
evi
->
current
());
evi
->
toNext
())
{
{
printf
(
" Enum value `%s' init=`%s'
\n
"
,
printf
(
" Enum value `%s' init=`%s'
\n
"
,
ev
->
name
()
.
data
(),
ev
->
initializer
().
data
());
ev
->
name
()
->
latin1
(),
ev
->
initializer
()
->
latin1
());
}
}
evi
->
release
();
evi
->
release
();
...
@@ -442,14 +517,14 @@ int main(int argc,char **argv)
...
@@ -442,14 +517,14 @@ int main(int argc,char **argv)
if
(
doc
)
if
(
doc
)
{
{
printf
(
"===== brief description ====
\n
"
);
printf
(
"===== brief description ====
\n
"
);
DumpDoc
(
doc
);
DumpDoc
(
doc
,
0
);
}
}
doc
=
mem
->
detailedDescription
();
doc
=
mem
->
detailedDescription
();
if
(
doc
)
if
(
doc
)
{
{
printf
(
"===== detailed description ====
\n
"
);
printf
(
"===== detailed description ====
\n
"
);
DumpDoc
(
doc
);
DumpDoc
(
doc
,
0
);
}
}
}
}
mli
->
release
();
mli
->
release
();
...
@@ -460,14 +535,14 @@ int main(int argc,char **argv)
...
@@ -460,14 +535,14 @@ int main(int argc,char **argv)
if
(
doc
)
if
(
doc
)
{
{
printf
(
"===== brief description ====
\n
"
);
printf
(
"===== brief description ====
\n
"
);
DumpDoc
(
doc
);
DumpDoc
(
doc
,
0
);
}
}
doc
=
comp
->
detailedDescription
();
doc
=
comp
->
detailedDescription
();
if
(
doc
)
if
(
doc
)
{
{
printf
(
"===== detailed description ====
\n
"
);
printf
(
"===== detailed description ====
\n
"
);
DumpDoc
(
doc
);
DumpDoc
(
doc
,
0
);
}
}
if
(
comp
->
kind
()
==
ICompound
::
Class
)
if
(
comp
->
kind
()
==
ICompound
::
Class
)
...
@@ -487,7 +562,7 @@ int main(int argc,char **argv)
...
@@ -487,7 +562,7 @@ int main(int argc,char **argv)
for
(
bcli
->
toFirst
();(
bClass
=
bcli
->
current
());
bcli
->
toNext
())
for
(
bcli
->
toFirst
();(
bClass
=
bcli
->
current
());
bcli
->
toNext
())
{
{
ICompound
*
bc
=
bClass
->
compound
();
ICompound
*
bc
=
bClass
->
compound
();
printf
(
" + class %s
\n
"
,
bc
->
name
()
.
data
());
printf
(
" + class %s
\n
"
,
bc
->
name
()
->
latin1
());
bc
->
release
();
bc
->
release
();
}
}
bcli
->
release
();
bcli
->
release
();
...
@@ -498,11 +573,22 @@ int main(int argc,char **argv)
...
@@ -498,11 +573,22 @@ int main(int argc,char **argv)
for
(
dcli
->
toFirst
();(
dClass
=
dcli
->
current
());
dcli
->
toNext
())
for
(
dcli
->
toFirst
();(
dClass
=
dcli
->
current
());
dcli
->
toNext
())
{
{
ICompound
*
dc
=
dClass
->
compound
();
ICompound
*
dc
=
dClass
->
compound
();
printf
(
" + class %s
\n
"
,
dc
->
name
()
.
data
());
printf
(
" + class %s
\n
"
,
dc
->
name
()
->
latin1
());
dc
->
release
();
dc
->
release
();
}
}
dcli
->
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
();
comp
->
release
();
}
}
...
...
packages/rpm/doxygen.spec
View file @
ff31b2f1
Summary: A documentation system for C/C++.
Summary: A documentation system for C/C++.
Name: doxygen
Name: doxygen
Version: 1.2.15_200204
07
Version: 1.2.15_200204
21
Release: 1
Release: 1
Epoch: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
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)
...
@@ -923,7 +923,7 @@ void ClassDef::writeDocumentation(OutputList &ol)
ol
.
pushGeneratorState
();
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
disable
(
OutputGenerator
::
Man
);
ol
.
startDotGraph
();
ol
.
startDotGraph
();
parseText
(
ol
,
theTranslator
->
trClassDiagram
(
n
ame
()));
parseText
(
ol
,
theTranslator
->
trClassDiagram
(
displayN
ame
()));
ol
.
endDotGraph
(
inheritanceGraph
);
ol
.
endDotGraph
(
inheritanceGraph
);
if
(
Config_getBool
(
"GENERATE_LEGEND"
))
if
(
Config_getBool
(
"GENERATE_LEGEND"
))
{
{
...
...
src/config.l
View file @
ff31b2f1
...
@@ -1103,7 +1103,8 @@ void Config::check()
...
@@ -1103,7 +1103,8 @@ void Config::check()
exit(1);
exit(1);
}
}
else if (cgiURL.left(7)!="http://" &&
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 "
config_err("Error: tag CGI_URL: URL to cgi directory is invalid (must "
...
@@ -2224,6 +2225,13 @@ void Config::create()
...
@@ -2224,6 +2225,13 @@ void Config::create()
"recommended to install and use dot, since it yield more powerful graphs. \n",
"recommended to install and use dot, since it yield more powerful graphs. \n",
TRUE
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(
cb = addBool(
"HAVE_DOT",
"HAVE_DOT",
"If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is \n"
"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()
...
@@ -2257,14 +2265,6 @@ void Config::create()
TRUE
TRUE
);
);
cb->addDependency("HAVE_DOT");
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(
cb = addBool(
"INCLUDE_GRAPH",
"INCLUDE_GRAPH",
"If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT \n"
"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
...
@@ -123,7 +123,9 @@ void Definition::setBriefDescription(const char *b,const char *briefFile,int bri
switch
(
m_brief
.
at
(
bl
-
1
))
switch
(
m_brief
.
at
(
bl
-
1
))
{
{
case
'.'
:
case
'!'
:
case
'?'
:
break
;
case
'.'
:
case
'!'
:
case
'?'
:
break
;
default
:
m_brief
+=
'.'
;
break
;
default
:
if
(
isupper
(
m_brief
.
at
(
0
)))
m_brief
+=
'.'
;
break
;
}
}
}
}
m_briefFile
=
briefFile
;
m_briefFile
=
briefFile
;
...
...
src/doc.l
View file @
ff31b2f1
...
@@ -1161,12 +1161,12 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
...
@@ -1161,12 +1161,12 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
BEGIN( DocScan );
BEGIN( DocScan );
}
}
<DocScan>{CMD}"verbatim"/[^a-z_A-Z0-9] {
<DocScan>{CMD}"verbatim"/[^a-z_A-Z0-9] {
outDoc->start
Code
Fragment();
outDoc->start
Verbatim
Fragment();
insideVerbatim=TRUE;
insideVerbatim=TRUE;
BEGIN(DocVerbatim);
BEGIN(DocVerbatim);
}
}
<DocVerbatim>{CMD}"endverbatim"/[^a-z_A-Z0-9] {
<DocVerbatim>{CMD}"endverbatim"/[^a-z_A-Z0-9] {
outDoc->end
Code
Fragment();
outDoc->end
Verbatim
Fragment();
insideVerbatim=FALSE;
insideVerbatim=FALSE;
BEGIN(DocScan);
BEGIN(DocScan);
}
}
...
@@ -1225,7 +1225,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
...
@@ -1225,7 +1225,7 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
BEGIN( DocLinkText );
BEGIN( DocLinkText );
}
}
<DocJavaLink>([a-z_A-Z0-9]+".")+ { /* Skip scope prefix (TODO: fix) */ }
<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;
linkRef = yytext;
linkText = "";
linkText = "";
BEGIN( DocJavaLinkText );
BEGIN( DocJavaLinkText );
...
@@ -1272,6 +1272,10 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
...
@@ -1272,6 +1272,10 @@ OPMASK ({B}*{OPNORM}({OPARG}?))|({OPCAST}{OPARG})
BEGIN(DocScan);
BEGIN(DocScan);
}
}
<DocScan>{CMD}("arg"|"li")/{BN} {
<DocScan>{CMD}("arg"|"li")/{BN} {
if (insideItemList)
{
forceEndItemList();
}
if (insideArgumentList)
if (insideArgumentList)
{
{
outDoc->writeListItem();
outDoc->writeListItem();
...
...
src/dot.cpp
View file @
ff31b2f1
...
@@ -468,7 +468,7 @@ void DotNode::write(QTextStream &t,
...
@@ -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
<<
" <node id=
\"
"
<<
m_number
<<
"
\"
>"
<<
endl
;
t
<<
" <label>"
<<
convertToXML
(
m_label
)
<<
"</label>"
<<
endl
;
t
<<
" <label>"
<<
convertToXML
(
m_label
)
<<
"</label>"
<<
endl
;
...
@@ -498,6 +498,8 @@ void DotNode::writeXML(QTextStream &t)
...
@@ -498,6 +498,8 @@ void DotNode::writeXML(QTextStream &t)
{
{
edgeInfo
=
eli
.
current
();
edgeInfo
=
eli
.
current
();
t
<<
" <childnode id=
\"
"
<<
childNode
->
m_number
<<
"
\"
relation=
\"
"
;
t
<<
" <childnode id=
\"
"
<<
childNode
->
m_number
<<
"
\"
relation=
\"
"
;
if
(
isClassGraph
)
{
switch
(
edgeInfo
->
m_color
)
switch
(
edgeInfo
->
m_color
)
{
{
case
EdgeInfo
:
:
Blue
:
t
<<
"public-inheritance"
;
break
;
case
EdgeInfo
:
:
Blue
:
t
<<
"public-inheritance"
;
break
;
...
@@ -507,6 +509,11 @@ void DotNode::writeXML(QTextStream &t)
...
@@ -507,6 +509,11 @@ void DotNode::writeXML(QTextStream &t)
case
EdgeInfo
:
:
Orange
:
t
<<
"template-instance"
;
break
;
case
EdgeInfo
:
:
Orange
:
t
<<
"template-instance"
;
break
;
case
EdgeInfo
:
:
Grey
:
ASSERT
(
0
);
break
;
case
EdgeInfo
:
:
Grey
:
ASSERT
(
0
);
break
;
}
}
}
else
// include graph
{
t
<<
"include"
;
}
t
<<
"
\"
>"
<<
endl
;
t
<<
"
\"
>"
<<
endl
;
if
(
!
edgeInfo
->
m_label
.
isEmpty
())
if
(
!
edgeInfo
->
m_label
.
isEmpty
())
{
{
...
@@ -1430,7 +1437,7 @@ void DotClassGraph::writeXML(QTextStream &t)
...
@@ -1430,7 +1437,7 @@ void DotClassGraph::writeXML(QTextStream &t)
DotNode
*
node
;
DotNode
*
node
;
for
(;(
node
=
dni
.
current
());
++
dni
)
for
(;(
node
=
dni
.
current
());
++
dni
)
{
{
node
->
writeXML
(
t
);
node
->
writeXML
(
t
,
TRUE
);
}
}
}
}
...
@@ -1661,7 +1668,7 @@ void DotInclDepGraph::writeXML(QTextStream &t)
...
@@ -1661,7 +1668,7 @@ void DotInclDepGraph::writeXML(QTextStream &t)
DotNode
*
node
;
DotNode
*
node
;
for
(;(
node
=
dni
.
current
());
++
dni
)
for
(;(
node
=
dni
.
current
());
++
dni
)
{
{
node
->
writeXML
(
t
);
node
->
writeXML
(
t
,
FALSE
);
}
}
}
}
...
...
src/dot.h
View file @
ff31b2f1
...
@@ -76,7 +76,7 @@ class DotNode
...
@@ -76,7 +76,7 @@ class DotNode
int
maxDistance
=
1000
,
bool
backArrows
=
TRUE
);
int
maxDistance
=
1000
,
bool
backArrows
=
TRUE
);
int
m_subgraphId
;
int
m_subgraphId
;
void
clearWriteFlag
();
void
clearWriteFlag
();
void
writeXML
(
QTextStream
&
t
);
void
writeXML
(
QTextStream
&
t
,
bool
isClassGraph
);
void
writeDEF
(
QTextStream
&
t
);
void
writeDEF
(
QTextStream
&
t
);
QCString
label
()
const
{
return
m_label
;
}
QCString
label
()
const
{
return
m_label
;
}
int
number
()
const
{
return
m_number
;
}
int
number
()
const
{
return
m_number
;
}
...
...
src/doxygen.cpp
View file @
ff31b2f1
/******************************************************************************
/******************************************************************************
*
*
*
$Id$
*
*
*
*
*
* Copyright (C) 1997-2002 by Dimitri van Heesch.
* Copyright (C) 1997-2002 by Dimitri van Heesch.
...
@@ -541,19 +541,8 @@ ArgumentList *getTemplateArgumentsFromName(
...
@@ -541,19 +541,8 @@ ArgumentList *getTemplateArgumentsFromName(
return
ali
.
current
();
return
ali
.
current
();
}
}
static
void
addClassToContext
(
Entry
*
root
)
//----------------------------------------------------------------------
// 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
::
COMPOUNDDOC_MASK
)
||
((
root
->
section
&
Entry
::
COMPOUND_MASK
))
)
&&
!
root
->
name
.
isEmpty
()
)
{
QCString
fullName
=
removeRedundantWhiteSpace
(
root
->
name
);
QCString
fullName
=
removeRedundantWhiteSpace
(
root
->
name
);
if
(
fullName
.
isEmpty
())
if
(
fullName
.
isEmpty
())
{
{
...
@@ -561,7 +550,7 @@ static void buildClassList(Entry *root)
...
@@ -561,7 +550,7 @@ static void buildClassList(Entry *root)
warn
(
root
->
fileName
,
root
->
startLine
,
warn
(
root
->
fileName
,
root
->
startLine
,
"Warning: invalid class name found!"
"Warning: invalid class name found!"
);
);
goto
error
;
return
;
}
}
Debug
::
print
(
Debug
::
Classes
,
0
,
" Found class with raw name %s
\n
"
,
fullName
.
data
());
Debug
::
print
(
Debug
::
Classes
,
0
,
" Found class with raw name %s
\n
"
,
fullName
.
data
());
...
@@ -765,8 +754,19 @@ static void buildClassList(Entry *root)
...
@@ -765,8 +754,19 @@ static void buildClassList(Entry *root)
cd
->
setOuterScope
(
d
);
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
);
EntryListIterator
eli
(
*
root
->
sublist
);
Entry
*
e
;
Entry
*
e
;
for
(;(
e
=
eli
.
current
());
++
eli
)
for
(;(
e
=
eli
.
current
());
++
eli
)
...
@@ -775,18 +775,41 @@ error:
...
@@ -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
// build a list of all namespaces mentioned in the documentation
// and all namespaces that have a documentation block before their definition.
// and all namespaces that have a documentation block before their definition.
static
void
buildNamespaceList
(
Entry
*
root
)
static
void
buildNamespaceList
(
Entry
*
root
)
{
{
if
(
if
(
(
root
->
section
==
Entry
::
NAMESPACE_SEC
)
||
(
root
->
section
==
Entry
::
NAMESPACE_SEC
||
(
root
->
section
==
Entry
::
NAMESPACEDOC_SEC
)
&&
root
->
section
==
Entry
::
NAMESPACEDOC_SEC
||
root
->
section
==
Entry
::
PACKAGEDOC_SEC
)
&&
!
root
->
name
.
isEmpty
()
!
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
())
if
(
!
fullName
.
isEmpty
())
{
{
//printf("Found namespace %s in %s at line %d\n",root->name.data(),
//printf("Found namespace %s in %s at line %d\n",root->name.data(),
...
@@ -5564,50 +5587,50 @@ static void findMainPage(Entry *root)
...
@@ -5564,50 +5587,50 @@ static void findMainPage(Entry *root)
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
/*! Search for all Java package statements
/
//
*! Search for all Java package statements
*/
//
*/
static
void
buildPackageList
(
Entry
*
root
)
//
static void buildPackageList(Entry *root)
{
//
{
if
(
root
->
section
==
Entry
::
PACKAGE_SEC
||
root
->
section
==
Entry
::
PACKAGEDOC_SEC
&&
!
root
->
name
.
isEmpty
())
//
if (root->section == Entry::PACKAGE_SEC || root->section == Entry::PACKAGEDOC_SEC && !root->name.isEmpty())
{
//
{
PackageDef
*
pd
=
0
;
//
PackageDef *pd=0;
if
((
pd
=
Doxygen
::
packageDict
.
find
(
root
->
name
))
==
0
)
//
if ((pd=Doxygen::packageDict.find(root->name))==0)
{
//
{
QCString
tagName
;
//
QCString tagName;
if
(
root
->
tagInfo
)
//
if (root->tagInfo)
{
//
{
tagName
=
root
->
tagInfo
->
tagName
;
//
tagName=root->tagInfo->tagName;
}
//
}
pd
=
new
PackageDef
(
root
->
fileName
,
root
->
startLine
,
root
->
name
,
tagName
);
//
pd = new PackageDef(root->fileName,root->startLine,root->name,tagName);
Doxygen
::
packageDict
.
inSort
(
root
->
name
,
pd
);
//
Doxygen::packageDict.inSort(root->name,pd);
pd
->
setDocumentation
(
root
->
doc
,
root
->
docFile
,
root
->
docLine
);
//
pd->setDocumentation(root->doc,root->docFile,root->docLine);
pd
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
//
pd->setBriefDescription(root->brief,root->briefFile,root->briefLine);
}
//
}
else
//
else
{
//
{
if
(
!
pd
->
documentation
()
&&
!
root
->
doc
.
isEmpty
())
//
if (!pd->documentation() && !root->doc.isEmpty())
{
//
{
pd
->
setDocumentation
(
root
->
doc
,
root
->
docFile
,
root
->
docLine
);
//
pd->setDocumentation(root->doc,root->docFile,root->docLine);
}
//
}
if
(
!
pd
->
briefDescription
()
&&
!
root
->
brief
.
isEmpty
())
//
if (!pd->briefDescription() && !root->brief.isEmpty())
{
//
{
pd
->
setBriefDescription
(
root
->
brief
,
root
->
briefFile
,
root
->
briefLine
);
//
pd->setBriefDescription(root->brief,root->briefFile,root->briefLine);
}
//
}
}
//
}
bool
ambig
;
//
bool ambig;
FileDef
*
fd
=
findFileDef
(
Doxygen
::
inputNameDict
,
root
->
fileName
,
ambig
);
//
FileDef *fd=findFileDef(Doxygen::inputNameDict,root->fileName,ambig);
if
(
fd
)
//
if (fd)
{
//
{
fd
->
setPackageDef
(
pd
);
//
fd->setPackageDef(pd);
}
//
}
}
//
}
EntryListIterator
eli
(
*
root
->
sublist
);
//
EntryListIterator eli(*root->sublist);
Entry
*
e
;
//
Entry *e;
for
(;(
e
=
eli
.
current
());
++
eli
)
//
for (;(e=eli.current());++eli)
{
//
{
buildPackageList
(
e
);
//
buildPackageList(e);
}
//
}
}
//
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
...
@@ -5814,20 +5837,20 @@ static void generateGroupDocs()
...
@@ -5814,20 +5837,20 @@ static void generateGroupDocs()
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
static
void
generatePackageDocs
()
//
static void generatePackageDocs()
{
//
{
writePackageIndex
(
*
outputList
);
//
writePackageIndex(*outputList);
//
if
(
Doxygen
::
packageDict
.
count
()
>
0
)
//
if (Doxygen::packageDict.count()>0)
{
//
{
PackageSDict
::
Iterator
pdi
(
Doxygen
::
packageDict
);
//
PackageSDict::Iterator pdi(Doxygen::packageDict);
PackageDef
*
pd
;
//
PackageDef *pd;
for
(
pdi
.
toFirst
();(
pd
=
pdi
.
current
());
++
pdi
)
//
for (pdi.toFirst();(pd=pdi.current());++pdi)
{
//
{
pd
->
writeDocumentation
(
*
outputList
);
//
pd->writeDocumentation(*outputList);
}
//
}
}
//
}
}
//
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
// generate module pages
// generate module pages
...
@@ -7220,6 +7243,7 @@ void parseInput()
...
@@ -7220,6 +7243,7 @@ void parseInput()
msg
(
"Building class list...
\n
"
);
msg
(
"Building class list...
\n
"
);
buildClassList
(
root
);
buildClassList
(
root
);
buildClassDocList
(
root
);
findUsingDeclarations
(
root
);
findUsingDeclarations
(
root
);
msg
(
"Building example list...
\n
"
);
msg
(
"Building example list...
\n
"
);
...
@@ -7268,8 +7292,8 @@ void parseInput()
...
@@ -7268,8 +7292,8 @@ void parseInput()
msg
(
"Building page list...
\n
"
);
msg
(
"Building page list...
\n
"
);
buildPageList
(
root
);
buildPageList
(
root
);
msg
(
"Building package list...
\n
"
);
//
msg("Building package list...\n");
buildPackageList
(
root
);
//
buildPackageList(root);
msg
(
"Search for main page...
\n
"
);
msg
(
"Search for main page...
\n
"
);
findMainPage
(
root
);
findMainPage
(
root
);
...
@@ -7426,8 +7450,8 @@ void generateOutput()
...
@@ -7426,8 +7450,8 @@ void generateOutput()
msg
(
"Generating group index...
\n
"
);
msg
(
"Generating group index...
\n
"
);
writeGroupIndex
(
*
outputList
);
writeGroupIndex
(
*
outputList
);
msg
(
"Generating package index...
\n
"
);
//
msg("Generating package index...\n");
generatePackageDocs
();
//
generatePackageDocs();
msg
(
"Generating example index...
\n
"
);
msg
(
"Generating example index...
\n
"
);
writeExampleIndex
(
*
outputList
);
writeExampleIndex
(
*
outputList
);
...
...
src/htmlgen.h
View file @
ff31b2f1
...
@@ -124,6 +124,8 @@ class HtmlGenerator : public OutputGenerator
...
@@ -124,6 +124,8 @@ class HtmlGenerator : public OutputGenerator
void
endCodeFragment
()
{
t
<<
"</pre></div>"
;
}
void
endCodeFragment
()
{
t
<<
"</pre></div>"
;
}
void
startPreFragment
()
{
t
<<
"<pre>"
;
}
void
startPreFragment
()
{
t
<<
"<pre>"
;
}
void
endPreFragment
()
{
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
writeLineNumber
(
const
char
*
,
const
char
*
,
const
char
*
,
int
);
void
startCodeLine
()
{
col
=
0
;
}
void
startCodeLine
()
{
col
=
0
;
}
void
endCodeLine
()
{
codify
(
"
\n
"
);
}
void
endCodeLine
()
{
codify
(
"
\n
"
);
}
...
...
src/index.cpp
View file @
ff31b2f1
...
@@ -1230,48 +1230,48 @@ void writeAnnotatedClassList(OutputList &ol)
...
@@ -1230,48 +1230,48 @@ void writeAnnotatedClassList(OutputList &ol)
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
// OBSOLETE
// OBSOLETE
void
writePackageList
(
OutputList
&
ol
)
//
void writePackageList(OutputList &ol)
{
//
{
bool
&
generateHtml
=
Config_getBool
(
"GENERATE_HTML"
)
;
//
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool
hasHtmlHelp
=
generateHtml
&&
Config_getBool
(
"GENERATE_HTMLHELP"
);
//
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool
hasFtvHelp
=
generateHtml
&&
Config_getBool
(
"GENERATE_TREEVIEW"
);
//
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
ol
.
startIndexList
();
//
ol.startIndexList();
PackageSDict
::
Iterator
pdi
(
Doxygen
::
packageDict
);
//
PackageSDict::Iterator pdi(Doxygen::packageDict);
PackageDef
*
pd
;
//
PackageDef *pd;
for
(;(
pd
=
pdi
.
current
());
++
pdi
)
//
for (;(pd=pdi.current());++pdi)
{
//
{
if
(
!
pd
->
isReference
())
//
if (!pd->isReference())
{
//
{
//ol.writeStartAnnoItem("package",pd->getOutputFileBase(),0,pd->name());
//
//ol.writeStartAnnoItem("package",pd->getOutputFileBase(),0,pd->name());
ol
.
startIndexKey
();
//
ol.startIndexKey();
ol
.
writeObjectLink
(
0
,
pd
->
getOutputFileBase
(),
0
,
pd
->
name
());
//
ol.writeObjectLink(0,pd->getOutputFileBase(),0,pd->name());
ol
.
endIndexKey
();
//
ol.endIndexKey();
bool
hasBrief
=
!
pd
->
briefDescription
().
isEmpty
();
//
bool hasBrief = !pd->briefDescription().isEmpty();
ol
.
startIndexValue
(
hasBrief
);
//
ol.startIndexValue(hasBrief);
if
(
hasBrief
)
//
if (hasBrief)
{
//
{
//ol.docify(" (");
//
//ol.docify(" (");
parseDoc
(
ol
,
//
parseDoc(ol,
pd
->
getDefFileName
(),
pd
->
getDefLine
(),
//
pd->getDefFileName(),pd->getDefLine(),
pd
->
name
(),
0
,
//
pd->name(),0,
abbreviate
(
pd
->
briefDescription
(),
pd
->
name
()));
//
abbreviate(pd->briefDescription(),pd->name()));
//ol.docify(")");
//
//ol.docify(")");
}
//
}
ol
.
endIndexValue
(
pd
->
getOutputFileBase
(),
hasBrief
);
//
ol.endIndexValue(pd->getOutputFileBase(),hasBrief);
//
//ol.writeEndAnnoItem(pd->getOutputFileBase());
//
//ol.writeEndAnnoItem(pd->getOutputFileBase());
if
(
hasHtmlHelp
)
//
if (hasHtmlHelp)
{
//
{
HtmlHelp
::
getInstance
()
->
addContentsItem
(
FALSE
,
pd
->
name
(),
pd
->
getOutputFileBase
());
//
HtmlHelp::getInstance()->addContentsItem(FALSE,pd->name(),pd->getOutputFileBase());
}
//
}
if
(
hasFtvHelp
)
//
if (hasFtvHelp)
{
//
{
FTVHelp
::
getInstance
()
->
addContentsItem
(
FALSE
,
pd
->
getReference
(),
pd
->
getOutputFileBase
(),
0
,
pd
->
name
());
//
FTVHelp::getInstance()->addContentsItem(FALSE,pd->getReference(),pd->getOutputFileBase(),0,pd->name());
}
//
}
}
//
}
}
//
}
ol
.
endIndexList
();
//
ol.endIndexList();
}
//
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
...
@@ -1496,54 +1496,54 @@ void writeAnnotatedIndex(OutputList &ol)
...
@@ -1496,54 +1496,54 @@ void writeAnnotatedIndex(OutputList &ol)
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
void
writePackageIndex
(
OutputList
&
ol
)
//
void writePackageIndex(OutputList &ol)
{
//
{
bool
&
generateHtml
=
Config_getBool
(
"GENERATE_HTML"
)
;
//
bool &generateHtml = Config_getBool("GENERATE_HTML") ;
bool
hasHtmlHelp
=
generateHtml
&&
Config_getBool
(
"GENERATE_HTMLHELP"
);
//
bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
bool
hasFtvHelp
=
generateHtml
&&
Config_getBool
(
"GENERATE_TREEVIEW"
);
//
bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
//
if
(
documentedPackages
==
0
)
return
;
//
if (documentedPackages==0) return;
//
ol
.
pushGeneratorState
();
//
ol.pushGeneratorState();
ol
.
disable
(
OutputGenerator
::
Man
);
//
ol.disable(OutputGenerator::Man);
startFile
(
ol
,
"packages"
,
0
,
"Package Index"
);
//
startFile(ol,"packages",0,"Package Index");
startTitle
(
ol
,
0
);
//
startTitle(ol,0);
QCString
title
=
theTranslator
->
trPackageList
();
//
QCString title = theTranslator->trPackageList();
QCString
htmlHelpTitle
=
title
;
//
QCString htmlHelpTitle = title;
QCString
ftvHelpTitle
=
title
;
//
QCString ftvHelpTitle = title;
if
(
!
Config_getString
(
"PROJECT_NAME"
).
isEmpty
())
title
.
prepend
(
Config_getString
(
"PROJECT_NAME"
)
+
" "
);
//
if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" ");
parseText
(
ol
,
title
);
//
parseText(ol,title);
endTitle
(
ol
,
0
,
0
);
//
endTitle(ol,0,0);
ol
.
startTextBlock
();
//
ol.startTextBlock();
HtmlHelp
*
htmlHelp
=
0
;
//
HtmlHelp *htmlHelp = 0;
FTVHelp
*
ftvHelp
=
0
;
//
FTVHelp *ftvHelp = 0;
if
(
hasHtmlHelp
)
//
if (hasHtmlHelp)
{
//
{
htmlHelp
=
HtmlHelp
::
getInstance
();
//
htmlHelp = HtmlHelp::getInstance();
htmlHelp
->
addContentsItem
(
TRUE
,
htmlHelpTitle
,
"packages"
);
//
htmlHelp->addContentsItem(TRUE,htmlHelpTitle,"packages");
htmlHelp
->
incContentsDepth
();
//
htmlHelp->incContentsDepth();
}
//
}
if
(
hasFtvHelp
)
//
if (hasFtvHelp)
{
//
{
ftvHelp
=
FTVHelp
::
getInstance
();
//
ftvHelp = FTVHelp::getInstance();
ftvHelp
->
addContentsItem
(
TRUE
,
0
,
"packages"
,
0
,
ftvHelpTitle
);
//
ftvHelp->addContentsItem(TRUE,0,"packages",0,ftvHelpTitle);
ftvHelp
->
incContentsDepth
();
//
ftvHelp->incContentsDepth();
}
//
}
parseText
(
ol
,
theTranslator
->
trPackageListDescription
());
//
parseText(ol,theTranslator->trPackageListDescription());
ol
.
endTextBlock
();
//
ol.endTextBlock();
writePackageList
(
ol
);
//
writePackageList(ol);
if
(
hasHtmlHelp
)
//
if (hasHtmlHelp)
{
//
{
htmlHelp
->
decContentsDepth
();
//
htmlHelp->decContentsDepth();
}
//
}
if
(
hasFtvHelp
)
//
if (hasFtvHelp)
{
//
{
ftvHelp
->
decContentsDepth
();
//
ftvHelp->decContentsDepth();
}
//
}
//
endFile
(
ol
);
//
endFile(ol);
ol
.
popGeneratorState
();
//
ol.popGeneratorState();
}
//
}
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
...
...
src/latexgen.h
View file @
ff31b2f1
...
@@ -122,6 +122,8 @@ class LatexGenerator : public OutputGenerator
...
@@ -122,6 +122,8 @@ class LatexGenerator : public OutputGenerator
void
endPreFragment
()
{
t
<<
"
\\
end{alltt}
\\
normalsize "
<<
endl
;
void
endPreFragment
()
{
t
<<
"
\\
end{alltt}
\\
normalsize "
<<
endl
;
insidePre
=
FALSE
;
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
writeLineNumber
(
const
char
*
,
const
char
*
,
const
char
*
,
int
l
)
{
t
<<
l
<<
" "
;
}
void
startCodeLine
()
{
col
=
0
;
}
void
startCodeLine
()
{
col
=
0
;
}
void
endCodeLine
()
{
codify
(
"
\n
"
);
}
void
endCodeLine
()
{
codify
(
"
\n
"
);
}
...
...
src/mangen.h
View file @
ff31b2f1
...
@@ -114,6 +114,8 @@ class ManGenerator : public OutputGenerator
...
@@ -114,6 +114,8 @@ class ManGenerator : public OutputGenerator
void
endCodeFragment
();
void
endCodeFragment
();
void
startPreFragment
()
{
startCodeFragment
();
}
void
startPreFragment
()
{
startCodeFragment
();
}
void
endPreFragment
()
{
endCodeFragment
();
}
void
endPreFragment
()
{
endCodeFragment
();
}
void
startVerbatimFragment
()
{
startCodeFragment
();
}
void
endVerbatimFragment
()
{
endCodeFragment
();
}
void
writeLineNumber
(
const
char
*
,
const
char
*
,
const
char
*
,
int
l
)
{
t
<<
l
<<
" "
;
}
void
writeLineNumber
(
const
char
*
,
const
char
*
,
const
char
*
,
int
l
)
{
t
<<
l
<<
" "
;
}
void
startCodeLine
()
{}
void
startCodeLine
()
{}
void
endCodeLine
()
{
codify
(
"
\n
"
);
col
=
0
;
}
void
endCodeLine
()
{
codify
(
"
\n
"
);
col
=
0
;
}
...
...
src/outputgen.h
View file @
ff31b2f1
...
@@ -163,11 +163,19 @@ class BaseOutputDocInterface
...
@@ -163,11 +163,19 @@ class BaseOutputDocInterface
/*! Starts a fragment of preformatted text. This means that
/*! Starts a fragment of preformatted text. This means that
* spacing, tabs and newlines should be kept in the output
* spacing, tabs and newlines should be kept in the output
*/
*/
virtual
void
startPreFragment
()
=
0
;
virtual
void
startPreFragment
()
=
0
;
/*! Ens a preformatted text fragment. */
/*! Ends a preformatted text fragment. */
virtual
void
endPreFragment
()
=
0
;
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 */
/*! Writes a horizontal ruler to the output */
virtual
void
writeRuler
()
=
0
;
virtual
void
writeRuler
()
=
0
;
...
...
src/outputlist.h
View file @
ff31b2f1
...
@@ -210,6 +210,10 @@ class OutputList : public OutputDocInterface
...
@@ -210,6 +210,10 @@ class OutputList : public OutputDocInterface
{
forall
(
&
OutputGenerator
::
startPreFragment
);
}
{
forall
(
&
OutputGenerator
::
startPreFragment
);
}
void
endPreFragment
()
void
endPreFragment
()
{
forall
(
&
OutputGenerator
::
endPreFragment
);
}
{
forall
(
&
OutputGenerator
::
endPreFragment
);
}
void
startVerbatimFragment
()
{
forall
(
&
OutputGenerator
::
startVerbatimFragment
);
}
void
endVerbatimFragment
()
{
forall
(
&
OutputGenerator
::
endVerbatimFragment
);
}
void
startCodeLine
()
void
startCodeLine
()
{
forall
(
&
OutputGenerator
::
startCodeLine
);
}
{
forall
(
&
OutputGenerator
::
startCodeLine
);
}
void
endCodeLine
()
void
endCodeLine
()
...
...
src/pre.l
View file @
ff31b2f1
...
@@ -1518,7 +1518,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -1518,7 +1518,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
g_defVarArgs = FALSE;
g_defVarArgs = FALSE;
if ( g_defName!=g_lastGuardName )
if ( g_defName!=g_lastGuardName )
{ // define may appear in the output
{ // 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());
outputArray(tmp.data(),tmp.length());
g_quoteArg=FALSE;
g_quoteArg=FALSE;
BEGIN(DefineText);
BEGIN(DefineText);
...
@@ -1527,10 +1527,10 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -1527,10 +1527,10 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
{
{
//printf("Found a guard %s\n",yytext);
//printf("Found a guard %s\n",yytext);
Define *def=0;
Define *def=0;
//
if (g_includeStack.isEmpty())
if (g_includeStack.isEmpty())
//
{
{
//
addDefine();
addDefine();
//
}
}
if ((def=g_fileDefineDict->find(g_defName))==0)
if ((def=g_fileDefineDict->find(g_defName))==0)
{
{
g_fileDefineDict->insert(g_defName,newDefine());
g_fileDefineDict->insert(g_defName,newDefine());
...
@@ -1551,6 +1551,8 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -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());
//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');
//outputChar('\n');
g_lastGuardName.resize(0);
g_lastGuardName.resize(0);
BEGIN(Start);
BEGIN(Start);
...
...
src/rtfgen.cpp
View file @
ff31b2f1
...
@@ -2076,6 +2076,14 @@ void RTFGenerator::writeSectionRefItem(const char *,const char *lab,
...
@@ -2076,6 +2076,14 @@ void RTFGenerator::writeSectionRefItem(const char *,const char *lab,
// writeSectionRef(name,lab,title);
// 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
)
void
RTFGenerator
::
docify
(
const
char
*
str
)
{
{
if
(
str
)
if
(
str
)
...
@@ -2085,8 +2093,23 @@ void RTFGenerator::docify(const char *str)
...
@@ -2085,8 +2093,23 @@ void RTFGenerator::docify(const char *str)
unsigned
char
pc
=
'\0'
;
unsigned
char
pc
=
'\0'
;
while
(
*
p
)
while
(
*
p
)
{
{
static
bool
MultiByte
=
FALSE
;
c
=*
p
++
;
c
=*
p
++
;
switch
(
c
)
if
(
MultiByte
)
{
t
<<
getMultiByte
(
c
);
MultiByte
=
FALSE
;
continue
;
}
if
(
c
>=
0x80
)
{
MultiByte
=
TRUE
;
t
<<
getMultiByte
(
c
);
continue
;
}
switch
(
c
)
{
{
case
'{'
:
t
<<
"
\\
{"
;
break
;
case
'{'
:
t
<<
"
\\
{"
;
break
;
case
'}'
:
t
<<
"
\\
}"
;
break
;
case
'}'
:
t
<<
"
\\
}"
;
break
;
...
@@ -2111,12 +2134,29 @@ void RTFGenerator::codify(const char *str)
...
@@ -2111,12 +2134,29 @@ void RTFGenerator::codify(const char *str)
//static char spaces[]=" ";
//static char spaces[]=" ";
if
(
str
)
if
(
str
)
{
{
const
char
*
p
=
str
;
const
unsigned
char
*
p
=
(
const
unsigned
char
*
)
str
;
char
c
;
unsigned
char
c
;
int
spacesToNextTabStop
;
int
spacesToNextTabStop
;
while
(
*
p
)
while
(
*
p
)
{
{
static
bool
MultiByte
=
FALSE
;
c
=*
p
++
;
c
=*
p
++
;
if
(
MultiByte
)
{
t
<<
getMultiByte
(
c
);
MultiByte
=
FALSE
;
continue
;
}
if
(
c
>=
0x80
)
{
MultiByte
=
TRUE
;
t
<<
getMultiByte
(
c
);
continue
;
}
switch
(
c
)
switch
(
c
)
{
{
case
'\t'
:
spacesToNextTabStop
=
Config_getInt
(
"TAB_SIZE"
)
-
(
col
%
Config_getInt
(
"TAB_SIZE"
));
case
'\t'
:
spacesToNextTabStop
=
Config_getInt
(
"TAB_SIZE"
)
-
(
col
%
Config_getInt
(
"TAB_SIZE"
));
...
@@ -2129,7 +2169,7 @@ void RTFGenerator::codify(const char *str)
...
@@ -2129,7 +2169,7 @@ void RTFGenerator::codify(const char *str)
case
'{'
:
t
<<
"
\\
{"
;
col
++
;
break
;
case
'{'
:
t
<<
"
\\
{"
;
col
++
;
break
;
case
'}'
:
t
<<
"
\\
}"
;
col
++
;
break
;
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
...
@@ -114,6 +114,8 @@ class RTFGenerator : public OutputGenerator
void
endCodeFragment
();
void
endCodeFragment
();
void
startPreFragment
()
{
startCodeFragment
();
}
void
startPreFragment
()
{
startCodeFragment
();
}
void
endPreFragment
()
{
endCodeFragment
();
}
void
endPreFragment
()
{
endCodeFragment
();
}
void
startVerbatimFragment
()
{
startVerbatimFragment
();
}
void
endVerbatimFragment
()
{
endVerbatimFragment
();
}
void
writeLineNumber
(
const
char
*
,
const
char
*
,
const
char
*
,
int
l
)
{
t
<<
l
<<
" "
;
}
void
writeLineNumber
(
const
char
*
,
const
char
*
,
const
char
*
,
int
l
)
{
t
<<
l
<<
" "
;
}
void
startCodeLine
()
{
col
=
0
;
}
void
startCodeLine
()
{
col
=
0
;
}
void
endCodeLine
()
{
lineBreak
();
}
void
endCodeLine
()
{
lineBreak
();
}
...
@@ -275,6 +277,7 @@ class RTFGenerator : public OutputGenerator
...
@@ -275,6 +277,7 @@ class RTFGenerator : public OutputGenerator
void
RtfwriteRuler_thick
()
{
t
<<
"{
\\
pard
\\
widctlpar
\\
brdrb
\\
brdrs
\\
brdrw75
\\
brsp20
\\
adjustright
\\
par}"
<<
endl
;
};
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
RtfwriteRuler_thin
()
{
t
<<
"{
\\
pard
\\
widctlpar
\\
brdrb
\\
brdrs
\\
brdrw5
\\
brsp20
\\
adjustright
\\
par}"
<<
endl
;
};
void
WriteRTFReference
(
const
char
*
label
);
void
WriteRTFReference
(
const
char
*
label
);
char
*
getMultiByte
(
int
c
);
};
};
#endif
#endif
src/scanner.l
View file @
ff31b2f1
...
@@ -868,6 +868,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -868,6 +868,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
lineCount();
lineCount();
BEGIN( CompoundName );
BEGIN( CompoundName );
}
}
<FindMembers>{B}*(("typedef"{BN}+)?)("volatile"{BN}+)?"class{" |
<FindMembers>{B}*(("typedef"{BN}+)?)("volatile"{BN}+)?"class"{BN}+ {
<FindMembers>{B}*(("typedef"{BN}+)?)("volatile"{BN}+)?"class"{BN}+ {
isTypedef=((QCString)yytext).find("typedef")!=-1;
isTypedef=((QCString)yytext).find("typedef")!=-1;
current->section = Entry::CLASS_SEC;
current->section = Entry::CLASS_SEC;
...
@@ -886,6 +887,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -886,6 +887,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
// current->mtArgList = 0;
// current->mtArgList = 0;
//}
//}
lineCount() ;
lineCount() ;
if (yytext[yyleng-1]=='{') unput('{');
BEGIN( CompoundName ) ;
BEGIN( CompoundName ) ;
}
}
<FindMembers>{B}*(("typedef"{BN}+)?)("volatile"{BN}+)?"struct{" |
<FindMembers>{B}*(("typedef"{BN}+)?)("volatile"{BN}+)?"struct{" |
...
@@ -907,6 +909,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -907,6 +909,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
// current->mtArgList = 0;
// current->mtArgList = 0;
//}
//}
lineCount() ;
lineCount() ;
if (yytext[yyleng-1]=='{') unput('{');
BEGIN( CompoundName ) ;
BEGIN( CompoundName ) ;
}
}
<FindMembers>{B}*(("typedef"{BN}+)?)("volatile"{BN}+)?"union{" |
<FindMembers>{B}*(("typedef"{BN}+)?)("volatile"{BN}+)?"union{" |
...
@@ -919,6 +922,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -919,6 +922,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
current->startLine = yyLineNr;
current->startLine = yyLineNr;
current->bodyLine = yyLineNr;
current->bodyLine = yyLineNr;
lineCount() ;
lineCount() ;
if (yytext[yyleng-1]=='{') unput('{');
BEGIN( CompoundName ) ;
BEGIN( CompoundName ) ;
}
}
<FindMembers>{B}*(("typedef"{BN}+)?)"enum{" |
<FindMembers>{B}*(("typedef"{BN}+)?)"enum{" |
...
@@ -931,6 +935,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -931,6 +935,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
current->startLine = yyLineNr;
current->startLine = yyLineNr;
current->bodyLine = yyLineNr;
current->bodyLine = yyLineNr;
lineCount() ;
lineCount() ;
if (yytext[yyleng-1]=='{') unput('{');
BEGIN( CompoundName ) ;
BEGIN( CompoundName ) ;
}
}
<Operator>"("{BN}*")"{BN}*/"(" {
<Operator>"("{BN}*")"{BN}*/"(" {
...
@@ -3622,6 +3627,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
...
@@ -3622,6 +3627,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
insideFormula=FALSE;
insideFormula=FALSE;
BEGIN(lastFormulaContext);
BEGIN(lastFormulaContext);
}
}
<ReadFormulaLong>\n { formulaText+=*yytext; }
<ReadFormulaLong,ReadFormulaShort>. { formulaText+=*yytext; }
<ReadFormulaLong,ReadFormulaShort>. { formulaText+=*yytext; }
<ExampleDoc,PageDoc,ClassDocBrief,ClassDoc,ReadFormulaShort,ReadFormulaLong>{B}*"*/" {
<ExampleDoc,PageDoc,ClassDocBrief,ClassDoc,ReadFormulaShort,ReadFormulaLong>{B}*"*/" {
checkDocs();
checkDocs();
...
...
src/translator_jp.h
View file @
ff31b2f1
/******************************************************************************
/******************************************************************************
*
*
*
*
*
*
* Copyright (C) 1997-2000 by Dimitri van Heesch.
* Copyright (C) 1997-2000 by Dimitri van Heesch.
*
*
* Permission to use, copy, modify, and distribute this software and its
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* granted. No representations are made about the suitability of this
* for any purpose. It is provided "as is" without express or implied warranty.
software
* See the GNU General Public License for more details.
* for any purpose. It is provided "as is" without express or implied
*
warranty.
* Documents produced by Doxygen are derivative works derived from the
* See the GNU General Public License for more details.
* input used in their production; they are not affected by this license.
*
*
* 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
* translator_jp.h
*
*
* 1.2.5)
* 1.2.5)
* First Translation
* First Translation
* by Kenji Nagamatsu
* by Kenji Nagamatsu
* 1.2.12)
* 1.2.12)
* Update and Shift-Jis(_WIN32)
* Update and Shift-Jis(_WIN32)
* by Ryunosuke Sato (30-Dec-2001)
* by Ryunosuke Sato (30-Dec-2001)
*/
*/
#ifndef TRANSLATOR_JP_H
#ifndef TRANSLATOR_JP_H
#define TRANSLATOR_JP_H
#define TRANSLATOR_JP_H
class
TranslatorJapanese
:
public
Translator
class
TranslatorJapanese
:
public
Translator
{
{
private
:
private
:
/*! The decode() can change euc into sjis */
/*! The decode() can change euc into sjis */
inline
QCString
decode
(
const
QCString
&
sInput
)
inline
QCString
decode
(
const
QCString
&
sInput
)
{
{
...
@@ -58,7 +60,8 @@ class TranslatorJapanese : public Translator
...
@@ -58,7 +60,8 @@ class TranslatorJapanese : public Translator
#endif
#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
()
virtual
QCString
trRelatedFunctions
()
{
return
decode
(
"関連する関数"
);
}
{
return
decode
(
"関連する関数"
);
}
...
@@ -66,21 +69,22 @@ class TranslatorJapanese : public Translator
...
@@ -66,21 +69,22 @@ class TranslatorJapanese : public Translator
virtual
QCString
trRelatedSubscript
()
virtual
QCString
trRelatedSubscript
()
{
return
decode
(
"(これらはメンバ関数でないことに注意)"
);
}
{
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
()
virtual
QCString
trDetailedDescription
()
{
return
decode
(
"解説"
);
}
{
return
decode
(
"解説"
);
}
/*! header that is put before the list of typedefs. */
/*! header that is put before the list of typedefs. */
virtual
QCString
trMemberTypedefDocumentation
()
virtual
QCString
trMemberTypedefDocumentation
()
{
return
decode
(
"メンバ型定義
の解説"
);
}
{
return
decode
(
"Typedefメンバ
の解説"
);
}
/*! header that is put before the list of enumerations. */
/*! header that is put before the list of enumerations. */
virtual
QCString
trMemberEnumerationDocumentation
()
virtual
QCString
trMemberEnumerationDocumentation
()
{
return
decode
(
"
メンバ列挙型
の解説"
);
}
{
return
decode
(
"
Enumメンバ
の解説"
);
}
/*! header that is put before the list of member functions. */
/*! header that is put before the list of member functions. */
virtual
QCString
trMemberFunctionDocumentation
()
virtual
QCString
trMemberFunctionDocumentation
()
{
return
decode
(
"
メンバ関数
の解説"
);
}
{
return
decode
(
"
関数メンバ
の解説"
);
}
/*! header that is put before the list of member attributes. */
/*! header that is put before the list of member attributes. */
virtual
QCString
trMemberDataDocumentation
()
virtual
QCString
trMemberDataDocumentation
()
...
@@ -97,19 +101,20 @@ class TranslatorJapanese : public Translator
...
@@ -97,19 +101,20 @@ class TranslatorJapanese : public Translator
/*! this is the text of a link put after brief descriptions. */
/*! this is the text of a link put after brief descriptions. */
virtual
QCString
trMore
()
virtual
QCString
trMore
()
{
return
decode
(
"
より詳しく...
"
);
}
{
return
decode
(
"
[詳細]
"
);
}
/*! put in the class documentation */
/*! put in the class documentation */
virtual
QCString
trListOfAllMembers
()
virtual
QCString
trListOfAllMembers
()
{
return
decode
(
"
すべての
メンバ一覧"
);
}
{
return
decode
(
"メンバ一覧"
);
}
/*! used as the title of the "list of all members" page of a class */
/*! used as the title of the "list of all members" page of a class */
virtual
QCString
trMemberList
()
virtual
QCString
trMemberList
()
{
return
decode
(
"メンバ一覧"
);
}
{
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
()
virtual
QCString
trThisIsTheListOfAllMembers
()
{
return
decode
(
"これは
全
メンバの一覧です。"
);
}
{
return
decode
(
"これはメンバの一覧です。"
);
}
/*! this is the remainder of the sentence after the class name */
/*! this is the remainder of the sentence after the class name */
virtual
QCString
trIncludingInheritedMembers
()
virtual
QCString
trIncludingInheritedMembers
()
...
@@ -127,11 +132,11 @@ class TranslatorJapanese : public Translator
...
@@ -127,11 +132,11 @@ class TranslatorJapanese : public Translator
/*! put after an enum name in the list of all members */
/*! put after an enum name in the list of all members */
virtual
QCString
trEnumName
()
virtual
QCString
trEnumName
()
{
return
decode
(
"
列挙型
"
);
}
{
return
decode
(
"
Enum
"
);
}
/*! put after an enum value in the list of all members */
/*! put after an enum value in the list of all members */
virtual
QCString
trEnumValue
()
virtual
QCString
trEnumValue
()
{
return
decode
(
"
列挙
値"
);
}
{
return
decode
(
"
Enum
値"
);
}
/*! put after an undocumented member in the list of all members */
/*! put after an undocumented member in the list of all members */
virtual
QCString
trDefinedIn
()
virtual
QCString
trDefinedIn
()
...
@@ -149,7 +154,8 @@ class TranslatorJapanese : public Translator
...
@@ -149,7 +154,8 @@ class TranslatorJapanese : public Translator
virtual
QCString
trClassHierarchy
()
virtual
QCString
trClassHierarchy
()
{
return
decode
(
"クラス階層"
);
}
{
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
()
virtual
QCString
trCompoundList
()
{
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
...
@@ -162,15 +168,18 @@ class TranslatorJapanese : public Translator
...
@@ -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
()
virtual
QCString
trFileList
()
{
return
decode
(
"ファイル一覧"
);
}
{
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
()
virtual
QCString
trHeaderFiles
()
{
return
decode
(
"ヘッダファイル"
);
}
{
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
()
virtual
QCString
trCompoundMembers
()
{
{
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
...
@@ -258,17 +267,19 @@ class TranslatorJapanese : public Translator
...
@@ -258,17 +267,19 @@ class TranslatorJapanese : public Translator
QCString
result
=
decode
(
"これは"
);
QCString
result
=
decode
(
"これは"
);
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
if
(
Config_getBool
(
"OPTIMIZE_OUTPUT_FOR_C"
))
{
{
result
+=
decode
(
"関数、変数、マクロ、列挙型、型
定義の"
);
result
+=
decode
(
"関数、変数、マクロ、Typedef定義、Enum
定義の"
);
}
}
else
else
{
{
result
+=
decode
(
"ファイルメンバの"
);
result
+=
decode
(
"ファイルメンバの"
);
}
}
result
+=
decode
(
"一覧です。それぞれが属しているファイルの解説へリンクしています。"
);
result
+=
decode
(
"一覧です。それぞれが属しているファイルの解説へリンクしています。"
);
return
result
;
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
()
virtual
QCString
trHeaderFilesDescription
()
{
return
decode
(
"APIを構成するヘッダファイルです。"
);
}
{
return
decode
(
"APIを構成するヘッダファイルです。"
);
}
...
@@ -276,11 +287,13 @@ class TranslatorJapanese : public Translator
...
@@ -276,11 +287,13 @@ class TranslatorJapanese : public Translator
virtual
QCString
trExamplesDescription
()
virtual
QCString
trExamplesDescription
()
{
return
decode
(
"すべての例の一覧です。"
);
}
{
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
()
virtual
QCString
trRelatedPagesDescription
()
{
return
decode
(
"関連ページの一覧です。"
);
}
{
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
()
virtual
QCString
trModulesDescription
()
{
return
decode
(
"すべてのモジュールの一覧です。"
);
}
{
return
decode
(
"すべてのモジュールの一覧です。"
);
}
...
@@ -361,7 +374,7 @@ class TranslatorJapanese : public Translator
...
@@ -361,7 +374,7 @@ class TranslatorJapanese : public Translator
* the documentation of all examples.
* the documentation of all examples.
*/
*/
virtual
QCString
trExampleDocumentation
()
virtual
QCString
trExampleDocumentation
()
{
return
decode
(
"例
題
の解説"
);
}
{
return
decode
(
"例の解説"
);
}
/*! This is used in LaTeX as the title of the chapter containing
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all related pages.
* the documentation of all related pages.
...
@@ -389,13 +402,13 @@ class TranslatorJapanese : public Translator
...
@@ -389,13 +402,13 @@ class TranslatorJapanese : public Translator
* list of typedefs
* list of typedefs
*/
*/
virtual
QCString
trTypedefs
()
virtual
QCString
trTypedefs
()
{
return
decode
(
"
型
定義"
);
}
{
return
decode
(
"
Typedef
定義"
);
}
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of enumerations
* list of enumerations
*/
*/
virtual
QCString
trEnumerations
()
virtual
QCString
trEnumerations
()
{
return
decode
(
"
列挙型
"
);
}
{
return
decode
(
"
Enum定義
"
);
}
/*! This is used in the documentation of a file as a header before the
/*! This is used in the documentation of a file as a header before the
* list of (global) functions
* list of (global) functions
...
@@ -413,44 +426,50 @@ class TranslatorJapanese : public Translator
...
@@ -413,44 +426,50 @@ class TranslatorJapanese : public Translator
* list of (global) variables
* list of (global) variables
*/
*/
virtual
QCString
trEnumerationValues
()
virtual
QCString
trEnumerationValues
()
{
return
decode
(
"
列挙型
値"
);
}
{
return
decode
(
"
Enum
値"
);
}
/*! This is used in the documentation of a file before the list of
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
* documentation blocks for defines
*/
*/
virtual
QCString
trDefineDocumentation
()
virtual
QCString
trDefineDocumentation
()
{
return
decode
(
"マクロ定義の解説"
);
}
{
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
* of documentation blocks for function prototypes
*/
*/
virtual
QCString
trFunctionPrototypeDocumentation
()
virtual
QCString
trFunctionPrototypeDocumentation
()
{
return
decode
(
"関数プロトタイプの解説"
);
}
{
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
* of documentation blocks for typedefs
*/
*/
virtual
QCString
trTypedefDocumentation
()
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
* of documentation blocks for enumeration types
*/
*/
virtual
QCString
trEnumerationTypeDocumentation
()
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
* of documentation blocks for enumeration values
*/
*/
virtual
QCString
trEnumerationValueDocumentation
()
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
* of documentation blocks for functions
*/
*/
virtual
QCString
trFunctionDocumentation
()
virtual
QCString
trFunctionDocumentation
()
{
return
decode
(
"関数の解説"
);
}
{
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
* of documentation blocks for variables
*/
*/
virtual
QCString
trVariableDocumentation
()
virtual
QCString
trVariableDocumentation
()
...
@@ -480,7 +499,8 @@ class TranslatorJapanese : public Translator
...
@@ -480,7 +499,8 @@ class TranslatorJapanese : public Translator
result
+=
(
QCString
)
date
+
decode
(
"に生成されました。"
);
result
+=
(
QCString
)
date
+
decode
(
"に生成されました。"
);
return
result
;
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
()
virtual
QCString
trWrittenBy
()
{
{
...
@@ -490,7 +510,7 @@ class TranslatorJapanese : public Translator
...
@@ -490,7 +510,7 @@ class TranslatorJapanese : public Translator
/*! this text is put before a class diagram */
/*! this text is put before a class diagram */
virtual
QCString
trClassDiagram
(
const
char
*
clName
)
virtual
QCString
trClassDiagram
(
const
char
*
clName
)
{
{
return
(
QCString
)
clName
+
decode
(
"
に対する
継承グラフ"
);
return
(
QCString
)
clName
+
decode
(
"
の
継承グラフ"
);
}
}
/*! this text is generated when the \\internal command is used. */
/*! this text is generated when the \\internal command is used. */
...
@@ -499,7 +519,8 @@ class TranslatorJapanese : public Translator
...
@@ -499,7 +519,8 @@ class TranslatorJapanese : public Translator
/*! this text is generated when the \\reimp command is used. */
/*! this text is generated when the \\reimp command is used. */
virtual
QCString
trReimplementedForInternalReasons
()
virtual
QCString
trReimplementedForInternalReasons
()
{
return
decode
(
"内部的な理由により再実装されましたが、APIには影響しません。"
);
{
return
decode
(
"内部的な理由により再実装されましたが、APIには影響しません。"
);
}
}
/*! this text is generated when the \\warning command is used. */
/*! this text is generated when the \\warning command is used. */
...
@@ -546,7 +567,8 @@ class TranslatorJapanese : public Translator
...
@@ -546,7 +567,8 @@ class TranslatorJapanese : public Translator
// new since 0.49-990307
// 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
()
virtual
QCString
trNamespaceList
()
{
return
decode
(
"名前空間一覧"
);
}
{
return
decode
(
"名前空間一覧"
);
}
...
@@ -562,7 +584,7 @@ class TranslatorJapanese : public Translator
...
@@ -562,7 +584,7 @@ class TranslatorJapanese : public Translator
* friends of a class
* friends of a class
*/
*/
virtual
QCString
trFriends
()
virtual
QCString
trFriends
()
{
return
decode
(
"
フレンド
"
);
}
{
return
decode
(
"
Friend関数
"
);
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
// new since 0.49-990405
...
@@ -572,7 +594,7 @@ class TranslatorJapanese : public Translator
...
@@ -572,7 +594,7 @@ class TranslatorJapanese : public Translator
* related classes
* related classes
*/
*/
virtual
QCString
trRelatedFunctionDocumentation
()
virtual
QCString
trRelatedFunctionDocumentation
()
{
return
decode
(
"
フレンドと
関連する関数の解説"
);
}
{
return
decode
(
"関連する関数の解説"
);
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
// new since 0.49-990425
...
@@ -590,7 +612,8 @@ class TranslatorJapanese : public Translator
...
@@ -590,7 +612,8 @@ class TranslatorJapanese : public Translator
case
ClassDef
:
:
Struct
:
result
+=
decode
(
"構造体 "
);
break
;
case
ClassDef
:
:
Struct
:
result
+=
decode
(
"構造体 "
);
break
;
case
ClassDef
:
:
Union
:
result
+=
decode
(
"共用体 "
);
break
;
case
ClassDef
:
:
Union
:
result
+=
decode
(
"共用体 "
);
break
;
case
ClassDef
:
:
Interface
:
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
(
" テンプレート"
);
if
(
isTemplate
)
result
+=
decode
(
" テンプレート"
);
result
+=
(
QCString
)
clName
+
decode
(
" の解説"
);
result
+=
(
QCString
)
clName
+
decode
(
" の解説"
);
...
@@ -607,31 +630,32 @@ class TranslatorJapanese : public Translator
...
@@ -607,31 +630,32 @@ class TranslatorJapanese : public Translator
/*! used as the title of the HTML page of a namespace */
/*! used as the title of the HTML page of a namespace */
virtual
QCString
trNamespaceReference
(
const
char
*
namespaceName
)
virtual
QCString
trNamespaceReference
(
const
char
*
namespaceName
)
{
{
QCString
result
=
decode
(
"名前空間 "
)
+
(
QCString
)
namespaceName
+
decode
(
" の解説"
);
QCString
result
=
decode
(
"名前空間 "
)
+
(
QCString
)
namespaceName
+
decode
(
"
の解説"
);
return
result
;
return
result
;
}
}
/* these are for the member sections of a class, struct or union */
/* these are for the member sections of a class, struct or union */
virtual
QCString
trPublicMembers
()
virtual
QCString
trPublicMembers
()
{
return
decode
(
"
公開メンバ
"
);
}
{
return
decode
(
"
Public メソッド
"
);
}
virtual
QCString
trPublicSlots
()
virtual
QCString
trPublicSlots
()
{
return
decode
(
"
公開
スロット"
);
}
{
return
decode
(
"
Public
スロット"
);
}
virtual
QCString
trSignals
()
virtual
QCString
trSignals
()
{
return
decode
(
"シグナル"
);
}
{
return
decode
(
"シグナル"
);
}
virtual
QCString
trStaticPublicMembers
()
virtual
QCString
trStaticPublicMembers
()
{
return
decode
(
"
静的公開メンバ
"
);
}
{
return
decode
(
"
Static Public メソッド
"
);
}
virtual
QCString
trProtectedMembers
()
virtual
QCString
trProtectedMembers
()
{
return
decode
(
"
保護メンバ
"
);
}
{
return
decode
(
"
Protected メソッド
"
);
}
virtual
QCString
trProtectedSlots
()
virtual
QCString
trProtectedSlots
()
{
return
decode
(
"
保護
スロット"
);
}
{
return
decode
(
"
Protected
スロット"
);
}
virtual
QCString
trStaticProtectedMembers
()
virtual
QCString
trStaticProtectedMembers
()
{
return
decode
(
"
静的保護メンバ
"
);
}
{
return
decode
(
"
Static Protected メソッド
"
);
}
virtual
QCString
trPrivateMembers
()
virtual
QCString
trPrivateMembers
()
{
return
decode
(
"
非公開メンバ
"
);
}
{
return
decode
(
"
Private メソッド
"
);
}
virtual
QCString
trPrivateSlots
()
virtual
QCString
trPrivateSlots
()
{
return
decode
(
"
非公開
スロット"
);
}
{
return
decode
(
"
Private
スロット"
);
}
virtual
QCString
trStaticPrivateMembers
()
virtual
QCString
trStaticPrivateMembers
()
{
return
decode
(
"
静的非公開メンバ
"
);
}
{
return
decode
(
"
Static Private メソッド
"
);
}
/*! this function is used to produce a comma-separated list of items.
/*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put.
* use generateMarker(i) to indicate where item i should be put.
...
@@ -690,7 +714,8 @@ class TranslatorJapanese : public Translator
...
@@ -690,7 +714,8 @@ class TranslatorJapanese : public Translator
return
trWriteList
(
numEntries
)
+
decode
(
"で再定義されています。"
);
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
()
virtual
QCString
trNamespaceMembers
()
{
return
decode
(
"名前空間メンバ"
);
}
{
return
decode
(
"名前空間メンバ"
);
}
...
@@ -746,7 +771,8 @@ class TranslatorJapanese : public Translator
...
@@ -746,7 +771,8 @@ class TranslatorJapanese : public Translator
case
ClassDef
:
:
Struct
:
result
+=
decode
(
"構造体"
);
break
;
case
ClassDef
:
:
Struct
:
result
+=
decode
(
"構造体"
);
break
;
case
ClassDef
:
:
Union
:
result
+=
decode
(
"共用体"
);
break
;
case
ClassDef
:
:
Union
:
result
+=
decode
(
"共用体"
);
break
;
case
ClassDef
:
:
Interface
:
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
(
"の解説は次のファイルから生成されました:"
);
result
+=
decode
(
"の解説は次のファイルから生成されました:"
);
return
result
;
return
result
;
...
@@ -756,7 +782,7 @@ class TranslatorJapanese : public Translator
...
@@ -756,7 +782,7 @@ class TranslatorJapanese : public Translator
* list.
* list.
*/
*/
virtual
QCString
trAlphabeticalList
()
virtual
QCString
trAlphabeticalList
()
{
return
decode
(
"
アルファベット順一覧
"
);
}
{
return
decode
(
"
一覧 [アルファベット順]
"
);
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990901
// new since 0.49-990901
...
@@ -822,12 +848,14 @@ class TranslatorJapanese : public Translator
...
@@ -822,12 +848,14 @@ class TranslatorJapanese : public Translator
{
{
return
decode
(
"コンストラクタとデストラクタの解説"
);
return
decode
(
"コンストラクタとデストラクタの解説"
);
}
}
/*! Used in the file documentation to point to the corresponding sources. */
/*! Used in the file documentation to point to the corresponding
sources. */
virtual
QCString
trGotoSourceCode
()
virtual
QCString
trGotoSourceCode
()
{
{
return
decode
(
"ソースコードを見る。"
);
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
()
virtual
QCString
trGotoDocumentation
()
{
{
return
decode
(
"解説を見る。"
);
return
decode
(
"解説を見る。"
);
...
@@ -855,7 +883,7 @@ class TranslatorJapanese : public Translator
...
@@ -855,7 +883,7 @@ class TranslatorJapanese : public Translator
/*! Text used the source code in the file index */
/*! Text used the source code in the file index */
virtual
QCString
trCode
()
virtual
QCString
trCode
()
{
{
return
decode
(
"コード"
);
return
decode
(
"
ソース
コード"
);
}
}
virtual
QCString
trGraphicalHierarchy
()
virtual
QCString
trGraphicalHierarchy
()
{
{
...
@@ -884,7 +912,7 @@ class TranslatorJapanese : public Translator
...
@@ -884,7 +912,7 @@ class TranslatorJapanese : public Translator
}
}
virtual
QCString
trPublicTypes
()
virtual
QCString
trPublicTypes
()
{
{
return
decode
(
"
公開
型"
);
return
decode
(
"
Public
型"
);
}
}
virtual
QCString
trPublicAttribs
()
virtual
QCString
trPublicAttribs
()
{
{
...
@@ -894,36 +922,36 @@ class TranslatorJapanese : public Translator
...
@@ -894,36 +922,36 @@ class TranslatorJapanese : public Translator
}
}
else
else
{
{
return
decode
(
"公開
属性"
);
return
decode
(
"Public
属性"
);
}
}
}
}
virtual
QCString
trStaticPublicAttribs
()
virtual
QCString
trStaticPublicAttribs
()
{
{
return
decode
(
"
静的公開
属性"
);
return
decode
(
"
Static Public
属性"
);
}
}
virtual
QCString
trProtectedTypes
()
virtual
QCString
trProtectedTypes
()
{
{
return
decode
(
"
保護
型"
);
return
decode
(
"
Protected
型"
);
}
}
virtual
QCString
trProtectedAttribs
()
virtual
QCString
trProtectedAttribs
()
{
{
return
decode
(
"
保護
属性"
);
return
decode
(
"
Protected
属性"
);
}
}
virtual
QCString
trStaticProtectedAttribs
()
virtual
QCString
trStaticProtectedAttribs
()
{
{
return
decode
(
"
静的保護
属性"
);
return
decode
(
"
Static Protected
属性"
);
}
}
virtual
QCString
trPrivateTypes
()
virtual
QCString
trPrivateTypes
()
{
{
return
decode
(
"
非公開
型"
);
return
decode
(
"
Private
型"
);
}
}
virtual
QCString
trPrivateAttribs
()
virtual
QCString
trPrivateAttribs
()
{
{
return
decode
(
"
非公開
属性"
);
return
decode
(
"
Private
属性"
);
}
}
virtual
QCString
trStaticPrivateAttribs
()
virtual
QCString
trStaticPrivateAttribs
()
{
{
return
decode
(
"
静的非公開
属性"
);
return
decode
(
"
Static Private
属性"
);
}
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
...
@@ -933,12 +961,12 @@ class TranslatorJapanese : public Translator
...
@@ -933,12 +961,12 @@ class TranslatorJapanese : public Translator
/*! Used as a marker that is put before a todo item */
/*! Used as a marker that is put before a todo item */
virtual
QCString
trTodo
()
virtual
QCString
trTodo
()
{
{
return
decode
(
"T
ODO
"
);
return
decode
(
"T
odo
"
);
}
}
/*! Used as the header of the todo list */
/*! Used as the header of the todo list */
virtual
QCString
trTodoList
()
virtual
QCString
trTodoList
()
{
{
return
decode
(
"T
ODO
一覧"
);
return
decode
(
"T
odo
一覧"
);
}
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
...
@@ -959,7 +987,7 @@ class TranslatorJapanese : public Translator
...
@@ -959,7 +987,7 @@ class TranslatorJapanese : public Translator
}
}
virtual
QCString
trInclByDepGraph
()
virtual
QCString
trInclByDepGraph
()
{
{
return
decode
(
"このグラフは、どのファイルから直接、
間接的に"
return
decode
(
"このグラフは、どのファイルから直接/
間接的に"
"インクルードされているかを示しています。"
);
"インクルードされているかを示しています。"
);
}
}
virtual
QCString
trSince
()
virtual
QCString
trSince
()
...
@@ -980,7 +1008,8 @@ class TranslatorJapanese : public Translator
...
@@ -980,7 +1008,8 @@ class TranslatorJapanese : public Translator
virtual
QCString
trLegendDocs
()
virtual
QCString
trLegendDocs
()
{
{
return
return
decode
(
"このページでは、doxygen で生成されたグラフをどのようにみたらよいかを"
decode
(
"このページでは、doxygen
で生成されたグラフをどのようにみたらよいかを"
"説明します。<p>
\n
"
"説明します。<p>
\n
"
"次の例を考えてみます。
\n
"
"次の例を考えてみます。
\n
"
"
\\
code
\n
"
"
\\
code
\n
"
...
@@ -1008,16 +1037,20 @@ class TranslatorJapanese : public Translator
...
@@ -1008,16 +1037,20 @@ class TranslatorJapanese : public Translator
" Used *m_usedClass;
\n
"
" Used *m_usedClass;
\n
"
"};
\n
"
"};
\n
"
"
\\
endcode
\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
"
"<p>
\n
"
"上のグラフ内のボックスには次のような意味があります。
\n
"
"上のグラフ内のボックスには次のような意味があります。
\n
"
"<ul>
\n
"
"<ul>
\n
"
"<li>黒く塗りつぶされたボックスは、このグラフに対応する構造体やクラスを"
"<li>黒く塗りつぶされたボックスは、このグラフに対応する構造体やクラスを"
"表します。
\n
"
"表します。
\n
"
"<li>黒枠のボックスはドキュメントがある構造体やクラスを表します。
\n
"
"<li>黒枠のボックスはドキュメントがある構造体やクラスを表します。
\n
"
"<li>灰色の枠のボックスはドキュメントがない構造体やクラスを表します。
\n
"
"<li>灰色の枠のボックスはドキュメントがない構造体やクラスを表します。
\n
"
"<li>赤枠のボックスはドキュメントがある構造体やクラスを表しますが、"
"<li>赤枠のボックスはドキュメントがある構造体やクラスを表しますが、"
"指定されたサイズに収まらないために継承・包含関係をすべて図示する"
"指定されたサイズに収まらないために継承・包含関係をすべて図示する"
"ことができなかったことを示します。"
"ことができなかったことを示します。"
...
@@ -1060,7 +1093,7 @@ class TranslatorJapanese : public Translator
...
@@ -1060,7 +1093,7 @@ class TranslatorJapanese : public Translator
/*! Used as a section header for KDE-2 IDL methods */
/*! Used as a section header for KDE-2 IDL methods */
virtual
QCString
trDCOPMethods
()
virtual
QCString
trDCOPMethods
()
{
{
return
decode
(
"DCOPメソッド"
);
return
decode
(
"DCOP
メソッド"
);
}
}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
...
@@ -1086,7 +1119,7 @@ class TranslatorJapanese : public Translator
...
@@ -1086,7 +1119,7 @@ class TranslatorJapanese : public Translator
/*! Used for Java interfaces in the summary section of Java packages */
/*! Used for Java interfaces in the summary section of Java packages */
virtual
QCString
trInterfaces
()
virtual
QCString
trInterfaces
()
{
{
return
decode
(
"インタ
ー
フェース"
);
return
decode
(
"インタフェース"
);
}
}
/*! Used for Java classes in the summary section of Java packages */
/*! Used for Java classes in the summary section of Java packages */
virtual
QCString
trClasses
()
virtual
QCString
trClasses
()
...
@@ -1153,7 +1186,8 @@ class TranslatorJapanese : public Translator
...
@@ -1153,7 +1186,8 @@ class TranslatorJapanese : public Translator
/*! Used as ansicpg for RTF file
/*! 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>
* <pre>
* Codepage number:
* Codepage number:
* Charset Name Charset Value(hex) Codepage number
* Charset Name Charset Value(hex) Codepage number
...
@@ -1334,8 +1368,9 @@ class TranslatorJapanese : public Translator
...
@@ -1334,8 +1368,9 @@ class TranslatorJapanese : public Translator
*/
*/
virtual
QCString
trImplementedInList
(
int
numEntries
)
virtual
QCString
trImplementedInList
(
int
numEntries
)
{
{
return
trWriteList
(
numEntries
)
+
decode
(
"
に
実装されています"
)
+
"."
;
return
trWriteList
(
numEntries
)
+
decode
(
"
で
実装されています"
)
+
"."
;
}
}
};
};
#endif
#endif
src/translator_si.h
View file @
ff31b2f1
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
#define TRANSLATOR_SI_H
#define TRANSLATOR_SI_H
class
TranslatorSlovene
:
public
Translator
Adapter_1_2_13
class
TranslatorSlovene
:
public
Translator
{
{
public
:
public
:
QCString
idLanguage
()
QCString
idLanguage
()
...
@@ -991,6 +991,26 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_13
...
@@ -991,6 +991,26 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_13
{
{
return
"Reference"
;
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
#endif
...
...
src/xmlgen.cpp
View file @
ff31b2f1
...
@@ -343,12 +343,23 @@ class XMLGenerator : public OutputDocInterface
...
@@ -343,12 +343,23 @@ class XMLGenerator : public OutputDocInterface
{
{
XML_DB
((
"(startPreFragment)
\n
"
));
XML_DB
((
"(startPreFragment)
\n
"
));
startParMode
();
startParMode
();
m_t
<<
"<pr
ogramlisting
>"
;
m_t
<<
"<pr
eformatted
>"
;
}
}
void
endPreFragment
()
void
endPreFragment
()
{
{
XML_DB
((
"(endPreFragment)
\n
"
));
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
()
void
writeRuler
()
{
{
...
@@ -616,20 +627,21 @@ class XMLGenerator : public OutputDocInterface
...
@@ -616,20 +627,21 @@ class XMLGenerator : public OutputDocInterface
startParMode
();
startParMode
();
m_t
<<
"<table cols=
\"
"
<<
cols
<<
"
\"
>
\n
"
;
m_t
<<
"<table cols=
\"
"
<<
cols
<<
"
\"
>
\n
"
;
}
}
void
endTable
(
bool
)
void
endTable
(
bool
hasCaption
)
{
{
XML_DB
((
"endTable
\n
"
));
XML_DB
((
"endTable
\n
"
));
m_t
<<
"</row>
\n
</table>"
;
if
(
!
hasCaption
)
m_t
<<
"</row>
\n
"
;
m_t
<<
"</table>"
;
}
}
void
startCaption
()
void
startCaption
()
{
{
XML_DB
((
"startCaption"
));
XML_DB
((
"startCaption"
));
m_t
<<
"<caption>"
;
m_t
<<
"<
/row><
caption>"
;
}
}
void
endCaption
()
void
endCaption
()
{
{
XML_DB
((
"encCaption"
));
XML_DB
((
"encCaption"
));
m_t
<<
"</caption"
;
m_t
<<
"</caption
>
"
;
}
}
void
nextTableRow
()
void
nextTableRow
()
{
{
...
@@ -639,7 +651,7 @@ class XMLGenerator : public OutputDocInterface
...
@@ -639,7 +651,7 @@ class XMLGenerator : public OutputDocInterface
// we need manually add a para here because cells are
// we need manually add a para here because cells are
// parsed before the table is generated, and thus
// parsed before the table is generated, and thus
// are already parsed as if they are inside a paragraph.
// are already parsed as if they are inside a paragraph.
m_t
<<
"<para>"
;
//
m_t << "<para>";
}
}
void
endTableRow
()
void
endTableRow
()
{
{
...
...
tmake/lib/osf1-cxx/tmake.conf
View file @
ff31b2f1
...
@@ -8,7 +8,7 @@ TEMPLATE = app
...
@@ -8,7 +8,7 @@ TEMPLATE = app
CONFIG
=
qt
warn_on
release
CONFIG
=
qt
warn_on
release
TMAKE_CC
=
cxx
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_ON
=
TMAKE_CFLAGS_WARN_OFF
=
TMAKE_CFLAGS_WARN_OFF
=
TMAKE_CFLAGS_RELEASE
= -
O2
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