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
f630007a
Commit
f630007a
authored
Mar 16, 2008
by
dimitri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.5.5-20080316
parent
fb91b752
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
177 additions
and
2244 deletions
+177
-2244
INSTALL
INSTALL
+2
-2
README
README
+2
-2
doxmlintf.h
addon/doxmlparser/include/doxmlintf.h
+31
-0
basehandler.h
addon/doxmlparser/src/basehandler.h
+4
-4
doxmlintf.h
addon/doxmlparser/src/doxmlintf.h
+1
-1101
doxmlintf.h
addon/doxmlparser/src/doxmlintf.h
+1
-1101
configure
configure
+1
-1
index.cpp
src/index.cpp
+11
-2
index.h
src/index.h
+1
-0
latexgen.cpp
src/latexgen.cpp
+18
-4
pagedef.cpp
src/pagedef.cpp
+80
-16
pagedef.h
src/pagedef.h
+9
-6
rtfgen.cpp
src/rtfgen.cpp
+16
-5
No files found.
INSTALL
View file @
f630007a
DOXYGEN Version 1.5.5-200803
09
DOXYGEN Version 1.5.5-200803
16
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (
09
March 2008)
Dimitri van Heesch (
16
March 2008)
README
View file @
f630007a
DOXYGEN Version 1.5.5_200803
09
DOXYGEN Version 1.5.5_200803
16
Please read INSTALL for compilation instructions.
...
...
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (
09
March 2008)
Dimitri van Heesch (dimitri@stack.nl) (
16
March 2008)
addon/doxmlparser/include/doxmlintf.h
View file @
f630007a
...
...
@@ -35,11 +35,14 @@ class INode;
class
IDocInternal
;
class
IDocRoot
;
#define VIRTUAL_DESTRUCTOR(x) virtual ~x() {}
/*! \brief Read only interface to a string.
*/
class
IString
{
public
:
VIRTUAL_DESTRUCTOR
(
IString
)
/*! Returns a latin1 character representation of the string. */
virtual
const
char
*
latin1
()
const
=
0
;
/*! Returns a 16-bit unicode character representation of the character at
...
...
@@ -60,6 +63,7 @@ class IString
class
ILinkedText
{
public
:
VIRTUAL_DESTRUCTOR
(
ILinkedText
)
enum
Kind
{
Kind_Text
,
Kind_Ref
};
virtual
Kind
kind
()
const
=
0
;
};
...
...
@@ -69,6 +73,7 @@ class ILinkedText
class
ILT_Text
:
public
ILinkedText
{
public
:
VIRTUAL_DESTRUCTOR
(
ILT_Text
)
virtual
const
IString
*
text
()
const
=
0
;
};
...
...
@@ -77,6 +82,7 @@ class ILT_Text : public ILinkedText
class
ILT_Ref
:
public
ILinkedText
{
public
:
VIRTUAL_DESTRUCTOR
(
ILT_Ref
)
enum
TargetKind
{
Member
,
Compound
};
virtual
const
IString
*
id
()
const
=
0
;
virtual
TargetKind
targetKind
()
const
=
0
;
...
...
@@ -89,6 +95,7 @@ class ILT_Ref : public ILinkedText
class
ILinkedTextIterator
{
public
:
VIRTUAL_DESTRUCTOR
(
ILinkedTextIterator
)
virtual
ILinkedText
*
toFirst
()
=
0
;
virtual
ILinkedText
*
toLast
()
=
0
;
virtual
ILinkedText
*
toNext
()
=
0
;
...
...
@@ -101,6 +108,7 @@ class ILinkedTextIterator
class
IParam
{
public
:
VIRTUAL_DESTRUCTOR
(
IParam
)
virtual
ILinkedTextIterator
*
type
()
const
=
0
;
virtual
const
IString
*
declarationName
()
const
=
0
;
virtual
const
IString
*
definitionName
()
const
=
0
;
...
...
@@ -113,6 +121,7 @@ class IParam
class
IParamIterator
{
public
:
VIRTUAL_DESTRUCTOR
(
IParamIterator
)
virtual
IParam
*
toFirst
()
=
0
;
virtual
IParam
*
toLast
()
=
0
;
virtual
IParam
*
toNext
()
=
0
;
...
...
@@ -124,6 +133,7 @@ class IParamIterator
class
IMemberReference
{
public
:
VIRTUAL_DESTRUCTOR
(
IMemberReference
)
virtual
IMember
*
member
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
const
IString
*
scope
()
const
=
0
;
...
...
@@ -135,6 +145,7 @@ class IMemberReference
class
IMemberReferenceIterator
{
public
:
VIRTUAL_DESTRUCTOR
(
IMemberReferenceIterator
)
virtual
IMemberReference
*
toFirst
()
=
0
;
virtual
IMemberReference
*
toLast
()
=
0
;
virtual
IMemberReference
*
toNext
()
=
0
;
...
...
@@ -146,6 +157,7 @@ class IMemberReferenceIterator
class
IDoc
{
public
:
VIRTUAL_DESTRUCTOR
(
IDoc
)
enum
Kind
{
Invalid
=
0
,
// 0
...
...
@@ -492,6 +504,7 @@ class IDocRoot : public IDoc
class
IDocIterator
{
public
:
VIRTUAL_DESTRUCTOR
(
IDocIterator
)
virtual
IDoc
*
toFirst
()
=
0
;
virtual
IDoc
*
toLast
()
=
0
;
virtual
IDoc
*
toNext
()
=
0
;
...
...
@@ -503,12 +516,14 @@ class IDocIterator
class
IEdgeLabel
{
public
:
VIRTUAL_DESTRUCTOR
(
IEdgeLabel
)
virtual
const
IString
*
label
()
const
=
0
;
};
class
IEdgeLabelIterator
{
public
:
VIRTUAL_DESTRUCTOR
(
IEdgeLabelIterator
)
virtual
IEdgeLabel
*
toFirst
()
=
0
;
virtual
IEdgeLabel
*
toLast
()
=
0
;
virtual
IEdgeLabel
*
toNext
()
=
0
;
...
...
@@ -520,6 +535,7 @@ class IEdgeLabelIterator
class
IChildNode
{
public
:
VIRTUAL_DESTRUCTOR
(
IChildNode
)
enum
NodeRelation
{
PublicInheritance
,
ProtectedInheritance
,
PrivateInheritance
,
Usage
,
TemplateInstance
};
...
...
@@ -532,6 +548,7 @@ class IChildNode
class
IChildNodeIterator
{
public
:
VIRTUAL_DESTRUCTOR
(
IChildNodeIterator
)
virtual
IChildNode
*
toFirst
()
=
0
;
virtual
IChildNode
*
toLast
()
=
0
;
virtual
IChildNode
*
toNext
()
=
0
;
...
...
@@ -543,6 +560,7 @@ class IChildNodeIterator
class
INode
{
public
:
VIRTUAL_DESTRUCTOR
(
INode
)
virtual
const
IString
*
id
()
const
=
0
;
virtual
const
IString
*
label
()
const
=
0
;
virtual
const
IString
*
linkId
()
const
=
0
;
...
...
@@ -552,6 +570,7 @@ class INode
class
INodeIterator
{
public
:
VIRTUAL_DESTRUCTOR
(
INodeIterator
)
virtual
INode
*
toFirst
()
=
0
;
virtual
INode
*
toLast
()
=
0
;
virtual
INode
*
toNext
()
=
0
;
...
...
@@ -563,12 +582,14 @@ class INodeIterator
class
IGraph
{
public
:
VIRTUAL_DESTRUCTOR
(
IGraph
)
virtual
INodeIterator
*
nodes
()
const
=
0
;
};
class
IMember
{
public
:
VIRTUAL_DESTRUCTOR
(
IMember
)
enum
MemberKind
{
Invalid
=
0
,
Define
,
Property
,
Variable
,
Typedef
,
Enum
,
Function
,
Signal
,
Prototype
,
Friend
,
DCOP
,
Slot
,
...
...
@@ -675,6 +696,7 @@ class IEnumValue : public IMember
class
IInclude
{
public
:
VIRTUAL_DESTRUCTOR
(
IInclude
)
virtual
const
IString
*
name
()
const
=
0
;
virtual
const
IString
*
refId
()
const
=
0
;
virtual
bool
isLocal
()
const
=
0
;
...
...
@@ -683,6 +705,7 @@ class IInclude
class
IIncludeIterator
{
public
:
VIRTUAL_DESTRUCTOR
(
IIncludeIterator
)
virtual
IInclude
*
toFirst
()
=
0
;
virtual
IInclude
*
toLast
()
=
0
;
virtual
IInclude
*
toNext
()
=
0
;
...
...
@@ -694,6 +717,7 @@ class IIncludeIterator
class
IMemberIterator
{
public
:
VIRTUAL_DESTRUCTOR
(
IMemberIterator
)
virtual
IMember
*
toFirst
()
=
0
;
virtual
IMember
*
toLast
()
=
0
;
virtual
IMember
*
toNext
()
=
0
;
...
...
@@ -721,6 +745,7 @@ class IEnum : public IMember
class
ISection
{
public
:
VIRTUAL_DESTRUCTOR
(
ISection
)
/*! Possible section types */
enum
SectionKind
{
Invalid
=
0
,
...
...
@@ -804,6 +829,7 @@ class IUserDefined : public ISection
class
ISectionIterator
{
public
:
VIRTUAL_DESTRUCTOR
(
ISectionIterator
)
virtual
ISection
*
toFirst
()
=
0
;
virtual
ISection
*
toLast
()
=
0
;
virtual
ISection
*
toNext
()
=
0
;
...
...
@@ -840,6 +866,7 @@ class ISectionIterator
class
ICompound
{
public
:
VIRTUAL_DESTRUCTOR
(
ICompound
)
/*! Represents the kind of compounds recognised by doxygen. */
enum
CompoundKind
{
Invalid
=
0
,
Class
,
Struct
,
Union
,
Interface
,
Protocol
,
Category
,
...
...
@@ -900,6 +927,7 @@ class ICompound
class
ICompoundIterator
{
public
:
VIRTUAL_DESTRUCTOR
(
ICompoundIterator
)
virtual
void
toFirst
()
=
0
;
virtual
void
toLast
()
=
0
;
virtual
void
toNext
()
=
0
;
...
...
@@ -911,6 +939,7 @@ class ICompoundIterator
class
IRelatedCompound
{
public
:
VIRTUAL_DESTRUCTOR
(
IRelatedCompound
)
enum
Protection
{
Public
,
Protected
,
Private
};
enum
Kind
{
Normal
,
Virtual
};
virtual
ICompound
*
compound
()
const
=
0
;
...
...
@@ -923,6 +952,7 @@ class IRelatedCompound
class
IRelatedCompoundIterator
{
public
:
VIRTUAL_DESTRUCTOR
(
IRelatedCompoundIterator
)
virtual
IRelatedCompound
*
toFirst
()
=
0
;
virtual
IRelatedCompound
*
toLast
()
=
0
;
virtual
IRelatedCompound
*
toNext
()
=
0
;
...
...
@@ -1042,6 +1072,7 @@ class IPage : public ICompound
class
IDoxygen
{
public
:
VIRTUAL_DESTRUCTOR
(
IDoxygen
)
/*! Returns an iterator that can be used to iterate over the list
* of compounds found in the project.
...
...
addon/doxmlparser/src/basehandler.h
View file @
f630007a
...
...
@@ -165,7 +165,7 @@ template<class T> class BaseHandler : public QXmlDefaultHandler,
return
TRUE
;
}
StartElementHandlerT
*
handler
=
m_startHandlers
[
name
];
StartElementHandlerT
*
handler
=
ElementMapper
<
T
>::
m_startHandlers
[
name
];
if
(
handler
)
{
(
*
handler
)(
attrib
);
...
...
@@ -205,7 +205,7 @@ template<class T> class BaseHandler : public QXmlDefaultHandler,
}
else
if
(
m_skipUntil
.
isEmpty
())
{
EndElementHandlerT
*
handler
=
m_endHandlers
[
name
];
EndElementHandlerT
*
handler
=
ElementMapper
<
T
>::
m_endHandlers
[
name
];
if
(
handler
)
{
(
*
handler
)();
...
...
@@ -301,7 +301,7 @@ template<class T> class BaseFallBackHandler : public ElementMapper<T>,
bool
handleStartElement
(
const
QString
&
name
,
const
QXmlAttributes
&
attrib
)
{
StartElementHandlerT
*
handler
=
m_startHandlers
[
name
];
StartElementHandlerT
*
handler
=
ElementMapper
<
T
>::
m_startHandlers
[
name
];
if
(
handler
)
{
(
*
handler
)(
attrib
);
...
...
@@ -311,7 +311,7 @@ template<class T> class BaseFallBackHandler : public ElementMapper<T>,
}
bool
handleEndElement
(
const
QString
&
name
)
{
EndElementHandlerT
*
handler
=
m_endHandlers
[
name
];
EndElementHandlerT
*
handler
=
ElementMapper
<
T
>::
m_endHandlers
[
name
];
if
(
handler
)
{
(
*
handler
)();
...
...
addon/doxmlparser/src/doxmlintf.h
deleted
100644 → 0
View file @
fb91b752
/******************************************************************************
*
* $Id$
*
*
* Copyright (C) 1997-2006 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby
* granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
*/
#ifndef _DOXMLINTF_H
#define _DOXMLINTF_H
/*! \file
* \brief The interface to the object model provided by the XML parser
* library.
*
* To start using this library one calls createObjectModel() and then
* uses the returned IDoxygen interface to read doxygen generated
* XML output and navigate through the information contained in it.
*
* @see createObjectModel()
*/
class
IMember
;
class
IDocIterator
;
class
ICompound
;
class
ISection
;
class
INode
;
class
IDocInternal
;
class
IDocRoot
;
/*! \brief Read only interface to a string.
*/
class
IString
{
public
:
/*! Returns a latin1 character representation of the string. */
virtual
const
char
*
latin1
()
const
=
0
;
/*! Returns a 16-bit unicode character representation of the character at
* position \a index in the string. The first character is at index 0.
*/
virtual
unsigned
short
unicodeCharAt
(
int
index
)
const
=
0
;
/*! Returns true if this string is empty or false otherwise */
virtual
bool
isEmpty
()
const
=
0
;
/*! Returns the number of characters in the string. */
virtual
int
length
()
const
=
0
;
};
/*! \brief Base interface for hyperlinked text
*
* Depending on the result of kind() the interface is extended by
* ILT_Text or ILT_Ref.
*/
class
ILinkedText
{
public
:
enum
Kind
{
Kind_Text
,
Kind_Ref
};
virtual
Kind
kind
()
const
=
0
;
};
/*! \brief Plain text fragment.
*/
class
ILT_Text
:
public
ILinkedText
{
public
:
virtual
const
IString
*
text
()
const
=
0
;
};
/*! \brief Reference to an object.
*/
class
ILT_Ref
:
public
ILinkedText
{
public
:
enum
TargetKind
{
Member
,
Compound
};
virtual
const
IString
*
id
()
const
=
0
;
virtual
TargetKind
targetKind
()
const
=
0
;
virtual
const
IString
*
external
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
/*! \brief Iterates over a list of ILinkedText fragments.
*/
class
ILinkedTextIterator
{
public
:
virtual
ILinkedText
*
toFirst
()
=
0
;
virtual
ILinkedText
*
toLast
()
=
0
;
virtual
ILinkedText
*
toNext
()
=
0
;
virtual
ILinkedText
*
toPrev
()
=
0
;
virtual
ILinkedText
*
current
()
const
=
0
;
virtual
void
release
()
=
0
;
};
/*! \brief Representation of a parameter of a function. */
class
IParam
{
public
:
virtual
ILinkedTextIterator
*
type
()
const
=
0
;
virtual
const
IString
*
declarationName
()
const
=
0
;
virtual
const
IString
*
definitionName
()
const
=
0
;
virtual
const
IString
*
attrib
()
const
=
0
;
virtual
const
IString
*
arraySpecifier
()
const
=
0
;
virtual
ILinkedTextIterator
*
defaultValue
()
const
=
0
;
virtual
IDocRoot
*
briefDescription
()
const
=
0
;
};
class
IParamIterator
{
public
:
virtual
IParam
*
toFirst
()
=
0
;
virtual
IParam
*
toLast
()
=
0
;
virtual
IParam
*
toNext
()
=
0
;
virtual
IParam
*
toPrev
()
=
0
;
virtual
IParam
*
current
()
const
=
0
;
virtual
void
release
()
=
0
;
};
class
IMemberReference
{
public
:
virtual
IMember
*
member
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
const
IString
*
scope
()
const
=
0
;
virtual
const
IString
*
protection
()
const
=
0
;
virtual
const
IString
*
virtualness
()
const
=
0
;
virtual
const
IString
*
ambiguityScope
()
const
=
0
;
};
class
IMemberReferenceIterator
{
public
:
virtual
IMemberReference
*
toFirst
()
=
0
;
virtual
IMemberReference
*
toLast
()
=
0
;
virtual
IMemberReference
*
toNext
()
=
0
;
virtual
IMemberReference
*
toPrev
()
=
0
;
virtual
IMemberReference
*
current
()
const
=
0
;
virtual
void
release
()
=
0
;
};
class
IDoc
{
public
:
enum
Kind
{
Invalid
=
0
,
// 0
Para
,
// 1 -> IDocPara
Text
,
// 2 -> IDocText
MarkupModifier
,
// 3 -> IDocMarkupModifier
ItemizedList
,
// 4 -> IDocItemizedList
OrderedList
,
// 5 -> IDocOrderedList
ListItem
,
// 6 -> IDocListItem
ParameterList
,
// 7 -> IDocParameterList
Parameter
,
// 8 -> IDocParameter
SimpleSect
,
// 9 -> IDocSimpleSect
Title
,
// 10 -> IDocTitle
Ref
,
// 11 -> IDocRef
VariableList
,
// 12 -> IDocVariableList
VariableListEntry
,
// 13 -> IDocVariableListEntry
HRuler
,
// 14 -> IDocHRuler
LineBreak
,
// 15 -> IDocLineBreak
ULink
,
// 16 -> IDocULink
EMail
,
// 17 -> IDocEMail
Link
,
// 18 -> IDocLink
ProgramListing
,
// 19 -> IDocProgramListing
CodeLine
,
// 20 -> IDocCodeLine
Highlight
,
// 21 -> IDocHighlight
Formula
,
// 22 -> IDocFormula
Image
,
// 23 -> IDocImage
DotFile
,
// 24 -> IDocDotFile
IndexEntry
,
// 25 -> IDocIndexEntry
Table
,
// 26 -> IDocTable
Row
,
// 27 -> IDocRow
Entry
,
// 28 -> IDocEntry
Section
,
// 29 -> IDocSection
Verbatim
,
// 30 -> IDocVerbatim
Copy
,
// 31 -> IDocCopy
TocList
,
// 32 -> IDocTocList
TocItem
,
// 33 -> IDocTocItem
Anchor
,
// 34 -> IDocAnchor
Symbol
,
// 35 -> IDocSymbol
Internal
,
// 36 -> IDocInternal
Root
,
// 37 -> IDocRoot
ParameterItem
// 38 -> IDocParameterItem
};
virtual
Kind
kind
()
const
=
0
;
};
class
IDocMarkup
:
public
IDoc
{
public
:
enum
Markup
{
Normal
=
0x000
,
Bold
=
0x001
,
Emphasis
=
0x002
,
ComputerOutput
=
0x004
,
Subscript
=
0x008
,
Superscript
=
0x010
,
SmallFont
=
0x020
,
Center
=
0x040
,
Preformatted
=
0x080
,
Heading
=
0x100
};
};
class
IDocPara
:
public
IDoc
{
public
:
virtual
IDocIterator
*
contents
()
const
=
0
;
};
class
IDocText
:
public
IDocMarkup
{
public
:
virtual
const
IString
*
text
()
const
=
0
;
virtual
int
markup
()
const
=
0
;
virtual
int
headingLevel
()
const
=
0
;
};
class
IDocMarkupModifier
:
public
IDoc
{
public
:
virtual
bool
enabled
()
const
=
0
;
virtual
int
markup
()
const
=
0
;
virtual
int
headingLevel
()
const
=
0
;
};
class
IDocItemizedList
:
public
IDoc
{
public
:
virtual
IDocIterator
*
elements
()
const
=
0
;
};
class
IDocOrderedList
:
public
IDoc
{
public
:
virtual
IDocIterator
*
elements
()
const
=
0
;
};
class
IDocListItem
:
public
IDoc
{
public
:
virtual
IDocIterator
*
contents
()
const
=
0
;
};
class
IDocParameterList
:
public
IDoc
{
public
:
enum
Types
{
Param
,
RetVal
,
Exception
};
virtual
Types
sectType
()
const
=
0
;
virtual
IDocIterator
*
params
()
const
=
0
;
};
class
IDocParameterItem
:
public
IDoc
{
public
:
virtual
IDocIterator
*
paramNames
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
};
class
IDocParameter
:
public
IDoc
{
public
:
virtual
const
IString
*
name
()
const
=
0
;
};
class
IDocTitle
:
public
IDoc
{
public
:
virtual
IDocIterator
*
title
()
const
=
0
;
};
class
IDocSimpleSect
:
public
IDoc
{
public
:
enum
Types
{
Invalid
=
0
,
See
,
Return
,
Author
,
Version
,
Since
,
Date
,
Bug
,
Note
,
Warning
,
Par
,
Deprecated
,
Pre
,
Post
,
Invar
,
Remark
,
Attention
,
Todo
,
Test
,
RCS
,
EnumValues
,
Examples
};
virtual
Types
type
()
const
=
0
;
virtual
const
IString
*
typeString
()
const
=
0
;
virtual
IDocTitle
*
title
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
};
class
IDocRef
:
public
IDoc
{
public
:
enum
TargetKind
{
Member
,
Compound
};
virtual
const
IString
*
refId
()
const
=
0
;
virtual
TargetKind
targetKind
()
const
=
0
;
virtual
const
IString
*
external
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
class
IDocVariableList
:
public
IDoc
{
public
:
virtual
IDocIterator
*
entries
()
const
=
0
;
};
class
IDocVariableListEntry
:
public
IDoc
{
public
:
virtual
ILinkedTextIterator
*
term
()
const
=
0
;
virtual
IDocPara
*
description
()
const
=
0
;
};
class
IDocHRuler
:
public
IDoc
{
};
class
IDocLineBreak
:
public
IDoc
{
};
class
IDocULink
:
public
IDoc
{
public
:
virtual
const
IString
*
url
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
class
IDocEMail
:
public
IDoc
{
public
:
virtual
const
IString
*
address
()
const
=
0
;
};
class
IDocLink
:
public
IDoc
{
public
:
virtual
const
IString
*
refId
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
class
IDocProgramListing
:
public
IDoc
{
public
:
virtual
IDocIterator
*
codeLines
()
const
=
0
;
};
class
IDocCodeLine
:
public
IDoc
{
public
:
virtual
int
lineNumber
()
const
=
0
;
virtual
const
IString
*
refId
()
const
=
0
;
virtual
IDocIterator
*
codeElements
()
const
=
0
;
};
class
IDocHighlight
:
public
IDoc
{
public
:
enum
HighlightKind
{
Invalid
=
0
,
Comment
,
Keyword
,
KeywordType
,
KeywordFlow
,
CharLiteral
,
StringLiteral
,
Preprocessor
};
virtual
HighlightKind
highlightKind
()
const
=
0
;
virtual
IDocIterator
*
codeElements
()
const
=
0
;
};
class
IDocFormula
:
public
IDoc
{
public
:
virtual
const
IString
*
id
()
const
=
0
;
virtual
const
IString
*
text
()
const
=
0
;
};
class
IDocImage
:
public
IDoc
{
public
:
virtual
const
IString
*
name
()
const
=
0
;
virtual
const
IString
*
caption
()
const
=
0
;
};
class
IDocDotFile
:
public
IDoc
{
public
:
virtual
const
IString
*
name
()
const
=
0
;
virtual
const
IString
*
caption
()
const
=
0
;
};
class
IDocIndexEntry
:
public
IDoc
{
public
:
virtual
const
IString
*
primary
()
const
=
0
;
virtual
const
IString
*
secondary
()
const
=
0
;
};
class
IDocTable
:
public
IDoc
{
public
:
virtual
IDocIterator
*
rows
()
const
=
0
;
virtual
int
numColumns
()
const
=
0
;
virtual
const
IString
*
caption
()
const
=
0
;
};
class
IDocRow
:
public
IDoc
{
public
:
virtual
IDocIterator
*
entries
()
const
=
0
;
};
class
IDocEntry
:
public
IDoc
{
public
:
virtual
IDocIterator
*
contents
()
const
=
0
;
};
class
IDocSection
:
public
IDoc
{
public
:
virtual
const
IString
*
id
()
const
=
0
;
virtual
int
level
()
const
=
0
;
virtual
IDocTitle
*
title
()
const
=
0
;
virtual
IDocIterator
*
paragraphs
()
const
=
0
;
virtual
IDocIterator
*
subSections
()
const
=
0
;
virtual
IDocInternal
*
internal
()
const
=
0
;
};
class
IDocInternal
:
public
IDoc
{
public
:
virtual
IDocIterator
*
paragraphs
()
const
=
0
;
virtual
IDocIterator
*
subSections
()
const
=
0
;
};
class
IDocTocList
:
public
IDoc
{
public
:
virtual
IDocIterator
*
elements
()
const
=
0
;
};
class
IDocTocItem
:
public
IDoc
{
public
:
virtual
const
IString
*
id
()
const
=
0
;
virtual
const
IString
*
title
()
const
=
0
;
};
class
IDocCopy
:
public
IDoc
{
public
:
virtual
IDocIterator
*
contents
()
const
=
0
;
};
class
IDocVerbatim
:
public
IDoc
{
public
:
enum
Types
{
Invalid
=
0
,
HtmlOnly
,
LatexOnly
,
Verbatim
};
virtual
const
IString
*
text
()
const
=
0
;
virtual
Types
type
()
const
=
0
;
};
class
IDocAnchor
:
public
IDoc
{
public
:
virtual
const
IString
*
id
()
const
=
0
;
};
class
IDocSymbol
:
public
IDoc
{
public
:
enum
Types
{
Invalid
=
0
,
Umlaut
,
Acute
,
Grave
,
Circ
,
Tilde
,
Szlig
,
Cedil
,
Ring
,
Nbsp
,
Copy
};
virtual
Types
type
()
const
=
0
;
virtual
const
IString
*
typeString
()
const
=
0
;
virtual
char
letter
()
const
=
0
;
};
class
IDocRoot
:
public
IDoc
{
public
:
virtual
IDocIterator
*
contents
()
const
=
0
;
virtual
IDocInternal
*
internal
()
const
=
0
;
};
class
IDocIterator
{
public
:
virtual
IDoc
*
toFirst
()
=
0
;
virtual
IDoc
*
toLast
()
=
0
;
virtual
IDoc
*
toNext
()
=
0
;
virtual
IDoc
*
toPrev
()
=
0
;
virtual
IDoc
*
current
()
const
=
0
;
virtual
void
release
()
=
0
;
};
class
IEdgeLabel
{
public
:
virtual
const
IString
*
label
()
const
=
0
;
};
class
IEdgeLabelIterator
{
public
:
virtual
IEdgeLabel
*
toFirst
()
=
0
;
virtual
IEdgeLabel
*
toLast
()
=
0
;
virtual
IEdgeLabel
*
toNext
()
=
0
;
virtual
IEdgeLabel
*
toPrev
()
=
0
;
virtual
IEdgeLabel
*
current
()
const
=
0
;
virtual
void
release
()
=
0
;
};
class
IChildNode
{
public
:
enum
NodeRelation
{
PublicInheritance
,
ProtectedInheritance
,
PrivateInheritance
,
Usage
,
TemplateInstance
};
virtual
INode
*
node
()
const
=
0
;
virtual
NodeRelation
relation
()
const
=
0
;
virtual
const
IString
*
relationString
()
const
=
0
;
virtual
IEdgeLabelIterator
*
edgeLabels
()
const
=
0
;
};
class
IChildNodeIterator
{
public
:
virtual
IChildNode
*
toFirst
()
=
0
;
virtual
IChildNode
*
toLast
()
=
0
;
virtual
IChildNode
*
toNext
()
=
0
;
virtual
IChildNode
*
toPrev
()
=
0
;
virtual
IChildNode
*
current
()
const
=
0
;
virtual
void
release
()
=
0
;
};
class
INode
{
public
:
virtual
const
IString
*
id
()
const
=
0
;
virtual
const
IString
*
label
()
const
=
0
;
virtual
const
IString
*
linkId
()
const
=
0
;
virtual
IChildNodeIterator
*
children
()
const
=
0
;
};
class
INodeIterator
{
public
:
virtual
INode
*
toFirst
()
=
0
;
virtual
INode
*
toLast
()
=
0
;
virtual
INode
*
toNext
()
=
0
;
virtual
INode
*
toPrev
()
=
0
;
virtual
INode
*
current
()
const
=
0
;
virtual
void
release
()
=
0
;
};
class
IGraph
{
public
:
virtual
INodeIterator
*
nodes
()
const
=
0
;
};
class
IMember
{
public
:
enum
MemberKind
{
Invalid
=
0
,
Define
,
Property
,
Variable
,
Typedef
,
Enum
,
Function
,
Signal
,
Prototype
,
Friend
,
DCOP
,
Slot
,
EnumValue
};
virtual
ICompound
*
compound
()
const
=
0
;
virtual
ISection
*
section
()
const
=
0
;
virtual
MemberKind
kind
()
const
=
0
;
virtual
const
IString
*
kindString
()
const
=
0
;
virtual
const
IString
*
id
()
const
=
0
;
virtual
const
IString
*
protection
()
const
=
0
;
virtual
const
IString
*
virtualness
()
const
=
0
;
virtual
ILinkedTextIterator
*
type
()
const
=
0
;
virtual
const
IString
*
typeString
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
virtual
const
IString
*
readAccessor
()
const
=
0
;
virtual
const
IString
*
writeAccessor
()
const
=
0
;
virtual
const
IString
*
definition
()
const
=
0
;
virtual
const
IString
*
argsstring
()
const
=
0
;
virtual
bool
isConst
()
const
=
0
;
virtual
bool
isVolatile
()
const
=
0
;
virtual
bool
isStatic
()
const
=
0
;
virtual
bool
isExplicit
()
const
=
0
;
virtual
bool
isInline
()
const
=
0
;
virtual
bool
isMutable
()
const
=
0
;
virtual
bool
isReadable
()
const
=
0
;
virtual
bool
isWritable
()
const
=
0
;
virtual
IParamIterator
*
parameters
()
const
=
0
;
virtual
IParamIterator
*
templateParameters
()
const
=
0
;
virtual
ILinkedTextIterator
*
initializer
()
const
=
0
;
virtual
ILinkedTextIterator
*
exceptions
()
const
=
0
;
virtual
IMemberReferenceIterator
*
references
()
const
=
0
;
virtual
IMemberReferenceIterator
*
referencedBy
()
const
=
0
;
virtual
const
IString
*
bodyFile
()
const
=
0
;
virtual
int
bodyStart
()
const
=
0
;
virtual
int
bodyEnd
()
const
=
0
;
virtual
const
IString
*
definitionFile
()
const
=
0
;
virtual
int
definitionLine
()
const
=
0
;
virtual
IMemberReference
*
reimplements
()
const
=
0
;
virtual
IMemberReferenceIterator
*
reimplementedBy
()
const
=
0
;
virtual
IDocRoot
*
briefDescription
()
const
=
0
;
virtual
IDocRoot
*
detailedDescription
()
const
=
0
;
virtual
IDocRoot
*
inbodyDescription
()
const
=
0
;
};
class
IDefine
:
public
IMember
{
public
:
};
class
IProperty
:
public
IMember
{
public
:
};
class
IVariable
:
public
IMember
{
public
:
};
class
ITypedef
:
public
IMember
{
public
:
};
class
IFunction
:
public
IMember
{
public
:
};
class
ISignal
:
public
IMember
{
public
:
};
class
IPrototype
:
public
IMember
{
public
:
};
class
IFriend
:
public
IMember
{
public
:
};
class
IDCOP
:
public
IMember
{
public
:
};
class
ISlot
:
public
IMember
{
public
:
};
class
IEnumValue
:
public
IMember
{
public
:
virtual
const
IString
*
name
()
const
=
0
;
};
/*! \brief Include relation
*/
class
IInclude
{
public
:
virtual
const
IString
*
name
()
const
=
0
;
virtual
const
IString
*
refId
()
const
=
0
;
virtual
bool
isLocal
()
const
=
0
;
};
class
IIncludeIterator
{
public
:
virtual
IInclude
*
toFirst
()
=
0
;
virtual
IInclude
*
toLast
()
=
0
;
virtual
IInclude
*
toNext
()
=
0
;
virtual
IInclude
*
toPrev
()
=
0
;
virtual
IInclude
*
current
()
const
=
0
;
virtual
void
release
()
=
0
;
};
class
IMemberIterator
{
public
:
virtual
IMember
*
toFirst
()
=
0
;
virtual
IMember
*
toLast
()
=
0
;
virtual
IMember
*
toNext
()
=
0
;
virtual
IMember
*
toPrev
()
=
0
;
virtual
IMember
*
current
()
const
=
0
;
virtual
void
release
()
=
0
;
};
class
IEnum
:
public
IMember
{
public
:
virtual
IMemberIterator
*
enumValues
()
const
=
0
;
};
/*! \brief The interface to a section in the object model.
*
* A compound can have a number of sections, where each
* section contains a set of members with the properties implied by
* the section kind. The kind() method returns the kind of the section.
* The members of the section can be accessed via members(). Apart
* from using kind(), some of the individual properties of the section can
* also be inspected via isStatic(), isPublic(), isProtected() and
* isPrivate().
*/
class
ISection
{
public
:
/*! Possible section types */
enum
SectionKind
{
Invalid
=
0
,
UserDefined
,
//!< A user defined member group
PubTypes
,
//!< Public member typedefs
PubFuncs
,
//!< Public member functions
PubAttribs
,
//!< Public member attributes
PubSlots
,
//!< Public Qt Slots
Signals
,
//!< Qt Signals
DCOPFuncs
,
//!< KDE-DCOP interface functions
Properties
,
//!< IDL properties
Events
,
//!< C# events
PubStatFuncs
,
//!< Public static member functions
PubStatAttribs
,
//!< Public static attributes
ProTypes
,
//!< Protected member typedefs
ProFuncs
,
//!< Protected member functions
ProAttribs
,
//!< Protected member attributes
ProSlots
,
//!< Protected slots
ProStatFuncs
,
//!< Protected static member functions
ProStatAttribs
,
//!< Protected static member attributes
PacTypes
,
//!< Package member typedefs
PacFuncs
,
//!< Package member functions
PacAttribs
,
//!< Package member attributes
PacStatFuncs
,
//!< Package static member functions
PacStatAttribs
,
//!< Package static member attributes
PriTypes
,
//!< Private member typedefs
PriFuncs
,
//!< Private member functions
PriAttribs
,
//!< Private member attributes
PriSlots
,
//!< Private Qt slots
PriStatFuncs
,
//!< Private static member functions
PriStatAttribs
,
//!< Private static member attributes
Friend
,
//!< Friends
Related
,
//!< Function marked as related
Defines
,
//!< Preprocessor defines
Prototypes
,
//!< Global function prototypes
Typedefs
,
//!< Global typedefs
Enums
,
//!< Enumerations
Functions
,
//!< Global functions
Variables
//!< Global variables
};
/*! Returns a string representation of the value returned by kind() */
virtual
const
IString
*
kindString
()
const
=
0
;
/*! Returns what kind of section this is */
virtual
SectionKind
kind
()
const
=
0
;
/*! Returns the description attached to this section (for user defined
* sections, also known as member groups).
*/
virtual
IDocRoot
*
description
()
const
=
0
;
/*! Returns an iterator for the members of this section */
virtual
IMemberIterator
*
members
()
const
=
0
;
/*! Returns \c true if this section contains statics */
virtual
bool
isStatic
()
const
=
0
;
/*! Returns \c true if this section belongs to a
* public section of a class
*/
virtual
bool
isPublic
()
const
=
0
;
/*! Returns \c true if this section belongs to a
* private section of a class
*/
virtual
bool
isPrivate
()
const
=
0
;
/*! Returns \c true if this section belongs to a
* protected section of a class
* */
virtual
bool
isProtected
()
const
=
0
;
};
class
IUserDefined
:
public
ISection
{
public
:
virtual
const
IString
*
header
()
const
=
0
;
};
class
ISectionIterator
{
public
:
virtual
ISection
*
toFirst
()
=
0
;
virtual
ISection
*
toLast
()
=
0
;
virtual
ISection
*
toNext
()
=
0
;
virtual
ISection
*
toPrev
()
=
0
;
virtual
ISection
*
current
()
const
=
0
;
virtual
void
release
()
=
0
;
};
/*! \brief The interface to a compound in the object model.
*
* A compound has a name which can be obtained via the name() method
* and a unique id, which is return via the id() method.
* A compound consists zero or more members which are grouped into sections.
* The sections() method can be used to access the individual sections.
* Alternatively, members can be obtained by name or id. There are
* different types of compounds. The kind() method returns what kind of
* compound this is. Depending on the return value one can dynamically
* cast an interface pointer to an more specialised interface that provides
* additional methods.
* Example:
* \code
* ICompound *comp=...;
* if (comp->kind()==ICompound::Class)
* {
* IClass *cls = dynamic_cast<IClass*>(comp);
* // use methods of IClass
* }
* \endcode
* The documentation that is provided by a compound is available via
* the briefDescription() and detailedDescription() methods.
* To avoid excessive memory usage, release() should be called (once) on each
* compound interface pointer that is no longer needed.
*/
class
ICompound
{
public
:
/*! Represents the kind of compounds recognised by doxygen. */
enum
CompoundKind
{
Invalid
=
0
,
Class
,
Struct
,
Union
,
Interface
,
Protocol
,
Category
,
Exception
,
File
,
Namespace
,
Group
,
Page
,
Example
,
Dir
};
/*! Returns the name of this compound */
virtual
const
IString
*
name
()
const
=
0
;
/*! Returns the id of this compound. The id is a
* unique string representing a specific compound object.
*/
virtual
const
IString
*
id
()
const
=
0
;
/*! Returns the kind of compound. See #CompoundKind for possible
* values.
*/
virtual
CompoundKind
kind
()
const
=
0
;
/*! Returns a string representation of the compound kind.
* @see kind()
*/
virtual
const
IString
*
kindString
()
const
=
0
;
/*! Returns an iterator for the different member sections in this
* compound.
*/
virtual
ISectionIterator
*
sections
()
const
=
0
;
/*! Returns a tree-structured representation of the brief
* description that is attached to this compound.
*/
virtual
IDocRoot
*
briefDescription
()
const
=
0
;
/*! Returns a tree-structured representation of the detailed
* description that is attached to this compound.
*/
virtual
IDocRoot
*
detailedDescription
()
const
=
0
;
/*! Returns an interface to a member given its id.
* @param id The member id.
*/
virtual
IMember
*
memberById
(
const
char
*
id
)
const
=
0
;
/*! Returns a list of all members within the compound having a certain
* name. Member overloading is the reason why there can be more than
* one member.
* @param name The name of the member.
*/
virtual
IMemberIterator
*
memberByName
(
const
char
*
name
)
const
=
0
;
/*! Decreases the reference counter for this compound. If it reaches
* zero, the memory for the compound will be released.
*/
virtual
void
release
()
=
0
;
};
class
ICompoundIterator
{
public
:
virtual
void
toFirst
()
=
0
;
virtual
void
toLast
()
=
0
;
virtual
void
toNext
()
=
0
;
virtual
void
toPrev
()
=
0
;
virtual
ICompound
*
current
()
const
=
0
;
virtual
void
release
()
=
0
;
};
class
IRelatedCompound
{
public
:
enum
Protection
{
Public
,
Protected
,
Private
};
enum
Kind
{
Normal
,
Virtual
};
virtual
ICompound
*
compound
()
const
=
0
;
virtual
Protection
protection
()
const
=
0
;
virtual
Kind
kind
()
const
=
0
;
virtual
const
IString
*
name
()
const
=
0
;
};
class
IRelatedCompoundIterator
{
public
:
virtual
IRelatedCompound
*
toFirst
()
=
0
;
virtual
IRelatedCompound
*
toLast
()
=
0
;
virtual
IRelatedCompound
*
toNext
()
=
0
;
virtual
IRelatedCompound
*
toPrev
()
=
0
;
virtual
IRelatedCompound
*
current
()
const
=
0
;
virtual
void
release
()
=
0
;
};
/*! \brief The interface to a class in the object model.
*/
class
IClass
:
public
ICompound
{
public
:
virtual
IGraph
*
inheritanceGraph
()
const
=
0
;
virtual
IGraph
*
collaborationGraph
()
const
=
0
;
virtual
IRelatedCompoundIterator
*
baseCompounds
()
const
=
0
;
virtual
IRelatedCompoundIterator
*
derivedCompounds
()
const
=
0
;
virtual
ICompoundIterator
*
nestedCompounds
()
const
=
0
;
virtual
IParamIterator
*
templateParameters
()
const
=
0
;
virtual
const
IString
*
locationFile
()
const
=
0
;
virtual
int
locationLine
()
const
=
0
;
virtual
const
IString
*
locationBodyFile
()
const
=
0
;
virtual
int
locationBodyStartLine
()
const
=
0
;
virtual
int
locationBodyEndLine
()
const
=
0
;
// TODO:
// class:
// listOfAllMembers()
// protection()
// isAbstract()
};
/*! \brief The interface to a struct in the object model.
*/
class
IStruct
:
public
ICompound
{
public
:
virtual
ICompoundIterator
*
nestedCompounds
()
const
=
0
;
virtual
IRelatedCompoundIterator
*
baseCompounds
()
const
=
0
;
virtual
IRelatedCompoundIterator
*
derivedCompounds
()
const
=
0
;
virtual
const
IString
*
locationFile
()
const
=
0
;
virtual
int
locationLine
()
const
=
0
;
virtual
int
locationBodyStartLine
()
const
=
0
;
virtual
int
locationBodyEndLine
()
const
=
0
;
};
/*! \brief The interface to a union in the object model.
*/
class
IUnion
:
public
ICompound
{
public
:
virtual
ICompoundIterator
*
nestedCompounds
()
const
=
0
;
};
/*! \brief The interface to a Java/IDL interface in the object model.
*/
class
IInterface
:
public
ICompound
{
public
:
virtual
IRelatedCompoundIterator
*
baseCompounds
()
const
=
0
;
virtual
IRelatedCompoundIterator
*
derivedCompounds
()
const
=
0
;
};
/*! \brief The interface to a Java/IDL exception in the object model.
*/
class
IException
:
public
ICompound
{
};
/*! \brief The interface to a namespace in the object model.
*/
class
INamespace
:
public
ICompound
{
public
:
virtual
ICompoundIterator
*
nestedCompounds
()
const
=
0
;
};
/*! \brief The interface to a file in the object model.
*/
class
IFile
:
public
ICompound
{
public
:
virtual
IGraph
*
includeDependencyGraph
()
const
=
0
;
virtual
IGraph
*
includedByDependencyGraph
()
const
=
0
;
virtual
IDocProgramListing
*
source
()
const
=
0
;
virtual
ICompoundIterator
*
nestedCompounds
()
const
=
0
;
virtual
IIncludeIterator
*
includes
()
const
=
0
;
virtual
IIncludeIterator
*
includedBy
()
const
=
0
;
// ICompound *innerNamespaces()
// ICompoundIterator *innerClasses()
};
/*! \brief The interface to a group in the object model.
*/
class
IGroup
:
public
ICompound
{
public
:
virtual
ICompoundIterator
*
nestedCompounds
()
const
=
0
;
// group:
// Title()
// innerFile()
// innerPage()
};
/*! \brief The interface to a page in the object model.
*/
class
IPage
:
public
ICompound
{
public
:
virtual
const
IDocTitle
*
title
()
const
=
0
;
};
/*! Root node of the object model. */
class
IDoxygen
{
public
:
/*! Returns an iterator that can be used to iterate over the list
* of compounds found in the project.
*/
virtual
ICompoundIterator
*
compounds
()
const
=
0
;
/*! Returns a compound given its unique \a id. If you have a
* compound id this function is much more efficient than iterating
* over the compound list. Returns 0 if the id is not valid.
*/
virtual
ICompound
*
compoundById
(
const
char
*
id
)
const
=
0
;
/*! Returns a compound given its name (including the scope).
* Returns 0 if the name is not found in the project.
*/
virtual
ICompound
*
compoundByName
(
const
char
*
name
)
const
=
0
;
/*! Returns an interface to a compound containing a member given it the
* member's id. Given the ICompound interface one can use the same id
* to obtain the IMember interface.
* @param id The member id.
*/
virtual
ICompound
*
memberById
(
const
char
*
id
)
const
=
0
;
/*! Returns a list of all compounds containing at least one members
* with a certain name. Each compound can be asked to return the
* list of members with that name.
* @param name The name of the member.
*/
virtual
ICompoundIterator
*
memberByName
(
const
char
*
name
)
const
=
0
;
/*! Releases the memory for the object hierarchy obtained by
* createdObjecModelFromXML(). First release all iterators before calling
* this function.
*/
virtual
void
release
()
=
0
;
/*! Sets the debug level.
* - 0 all debugging messages are disabled (the default).
* - 1 display important messages only
* - 2 display any messages.
*/
virtual
void
setDebugLevel
(
int
level
)
=
0
;
/*! Reads an XML directory produced by doxygen and builds up a data
* structure representing the contents of the XML files in the directory.
*/
virtual
bool
readXMLDir
(
const
char
*
xmlDirName
)
=
0
;
};
/*! Factory method that creates an empty object model for a doxygen generated XML file.
* Use the readXMLDir() method to build the model from an XML output
* directory containing doxygen output.
*/
IDoxygen
*
createObjectModel
();
#endif
addon/doxmlparser/src/doxmlintf.h
0 → 120000
View file @
f630007a
..
/
include
/
doxmlintf
.
h
\ No newline at end of file
configure
View file @
f630007a
...
...
@@ -20,7 +20,7 @@ doxygen_version_minor=5
doxygen_version_revision
=
5
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn
=
200803
09
doxygen_version_mmn
=
200803
16
bin_dirs
=
`
echo
$PATH
|
sed
-e
"s/:/ /g"
`
...
...
src/index.cpp
View file @
f630007a
...
...
@@ -2937,7 +2937,7 @@ void writeIndex(OutputList &ol)
ol
.
startIndexSection
(
isMainPage
);
if
(
mainPageHasTitle
())
{
ol
.
parse
Doc
(
defFileName
,
defLine
,
Doxygen
::
mainPage
,
0
,
Doxygen
::
mainPage
->
title
(),
FALSE
,
FALSE
);
ol
.
parse
Text
(
Doxygen
::
mainPage
->
title
()
);
}
else
{
...
...
@@ -2954,13 +2954,22 @@ void writeIndex(OutputList &ol)
bool
first
=
Doxygen
::
mainPage
==
0
;
for
(
pdi
.
toFirst
();(
pd
=
pdi
.
current
());
++
pdi
)
{
if
(
!
pd
->
getGroupDef
()
&&
!
pd
->
isReference
())
if
(
!
pd
->
getGroupDef
()
&&
!
pd
->
isReference
()
&&
!
pd
->
hasParentPage
()
)
{
QCString
title
=
pd
->
title
();
if
(
title
.
isEmpty
())
title
=
pd
->
name
();
ol
.
startIndexSection
(
isPageDocumentation
);
ol
.
parseText
(
title
);
ol
.
endIndexSection
(
isPageDocumentation
);
ol
.
pushGeneratorState
();
// write TOC title (RTF only)
ol
.
disableAllBut
(
OutputGenerator
::
RTF
);
ol
.
startIndexSection
(
isPageDocumentation2
);
ol
.
parseText
(
title
);
ol
.
endIndexSection
(
isPageDocumentation2
);
ol
.
popGeneratorState
();
ol
.
writeAnchor
(
0
,
pd
->
name
());
ol
.
writePageLink
(
pd
->
getOutputFileBase
(),
first
);
first
=
FALSE
;
...
...
src/index.h
View file @
f630007a
...
...
@@ -115,6 +115,7 @@ enum IndexSections
isFileDocumentation
,
isExampleDocumentation
,
isPageDocumentation
,
isPageDocumentation2
,
isEndIndex
};
...
...
src/latexgen.cpp
View file @
f630007a
...
...
@@ -236,7 +236,7 @@ static void writeDefaultHeaderPart1(QTextStream &t)
s
=
extraPackages
.
next
();
}
t
<<
"
\\
makeindex
\n
"
"
\\
setcounter{tocdepth}{
1
}
\n
"
"
\\
setcounter{tocdepth}{
3
}
\n
"
"
\\
renewcommand{
\\
footrulewidth}{0.4pt}
\n
"
"
\\
begin{document}
\n
"
;
if
(
theTranslator
->
idLanguage
()
==
"greek"
)
t
<<
"
\\
selectlanguage{greek}
\n
"
;
...
...
@@ -585,6 +585,8 @@ void LatexGenerator::startIndexSection(IndexSections is)
t
<<
"{"
;
//Page Documentation}\n";
}
break
;
case
isPageDocumentation2
:
break
;
case
isEndIndex
:
break
;
}
...
...
@@ -793,6 +795,8 @@ void LatexGenerator::endIndexSection(IndexSections is)
#endif
}
break
;
case
isPageDocumentation2
:
break
;
case
isEndIndex
:
t
<<
"
\\
printindex
\n
"
;
t
<<
"
\\
end{document}
\n
"
;
...
...
@@ -1104,7 +1108,7 @@ void LatexGenerator::endMemberHeader()
void
LatexGenerator
::
startMemberDoc
(
const
char
*
clname
,
const
char
*
memname
,
const
char
*
,
const
char
*
)
const
char
*
title
)
{
if
(
memname
&&
memname
[
0
]
!=
'@'
)
{
...
...
@@ -1141,6 +1145,9 @@ void LatexGenerator::startMemberDoc(const char *clname,
// escapeMakeIndexChars(this,t,memname);
// t << "]";
//}
t
<<
"["
;
escapeMakeIndexChars
(
title
);
t
<<
"]"
;
t
<<
"{
\\
setlength{
\\
rightskip}{0pt plus 5cm}"
;
disableLinks
=
TRUE
;
}
...
...
@@ -1181,9 +1188,16 @@ void LatexGenerator::writeAnchor(const char *fName,const char *name)
{
//printf("LatexGenerator::writeAnchor(%s,%s)\n",fName,name);
t
<<
"
\\
label{"
<<
name
<<
"}"
<<
endl
;
if
(
fName
&&
Config_getBool
(
"PDF_HYPERLINKS"
))
if
(
Config_getBool
(
"PDF_HYPERLINKS"
))
{
t
<<
"
\\
hypertarget{"
<<
stripPath
(
fName
)
<<
"_"
<<
name
<<
"}{}"
<<
endl
;
if
(
fName
)
{
t
<<
"
\\
hypertarget{"
<<
stripPath
(
fName
)
<<
"_"
<<
name
<<
"}{}"
<<
endl
;
}
else
{
t
<<
"
\\
hypertarget{"
<<
name
<<
"}{}"
<<
endl
;
}
}
}
...
...
src/pagedef.cpp
View file @
f630007a
...
...
@@ -13,13 +13,14 @@ PageDef::PageDef(const char *f,int l,const char *n,
:
Definition
(
f
,
l
,
n
),
m_title
(
t
)
{
setDocumentation
(
d
,
f
,
l
);
subPageDict
=
new
PageSDict
(
7
);
pageScope
=
0
;
m_subPageDict
=
new
PageSDict
(
7
);
m_pageScope
=
0
;
m_nestingLevel
=
0
;
}
PageDef
::~
PageDef
()
{
delete
subPageDict
;
delete
m_
subPageDict
;
}
void
PageDef
::
findSectionsInDocumentation
()
...
...
@@ -46,11 +47,18 @@ void PageDef::addInnerCompound(Definition *def)
if
(
def
->
definitionType
()
==
Definition
::
TypePage
)
{
PageDef
*
pd
=
(
PageDef
*
)
def
;
subPageDict
->
append
(
pd
->
name
(),
pd
);
m_
subPageDict
->
append
(
pd
->
name
(),
pd
);
def
->
setOuterScope
(
this
);
pd
->
setNestingLevel
(
m_nestingLevel
+
1
);
}
}
bool
PageDef
::
hasParentPage
()
const
{
return
getOuterScope
()
&&
getOuterScope
()
->
definitionType
()
==
Definition
::
TypePage
;
}
void
PageDef
::
writeDocumentation
(
OutputList
&
ol
)
{
//outputList->disable(OutputGenerator::Man);
...
...
@@ -62,6 +70,17 @@ void PageDef::writeDocumentation(OutputList &ol)
startFile
(
ol
,
pageName
,
pageName
,
title
(),
HLI_None
,
TRUE
);
ol
.
pushGeneratorState
();
if
(
m_nestingLevel
>
0
)
// a sub page
{
// do not generate sub page output for RTF and LaTeX, as these are
// part of their parent page
ol
.
disableAll
();
ol
.
enable
(
OutputGenerator
::
Man
);
ol
.
enable
(
OutputGenerator
::
Html
);
}
if
(
getOuterScope
()
!=
Doxygen
::
globalScope
&&
!
Config_getBool
(
"DISABLE_INDEX"
))
{
getOuterScope
()
->
writeNavigationPath
(
ol
);
...
...
@@ -80,6 +99,7 @@ void PageDef::writeDocumentation(OutputList &ol)
// for Latex the section is already generated as a chapter in the index!
ol
.
pushGeneratorState
();
ol
.
disable
(
OutputGenerator
::
Latex
);
ol
.
disable
(
OutputGenerator
::
RTF
);
SectionInfo
*
si
=
0
;
if
(
!
title
().
isEmpty
()
&&
!
name
().
isEmpty
()
&&
(
si
=
Doxygen
::
sectionDict
.
find
(
pageName
))
!=
0
)
...
...
@@ -93,18 +113,11 @@ void PageDef::writeDocumentation(OutputList &ol)
}
ol
.
popGeneratorState
();
ol
.
startTextBlock
();
ol
.
parseDoc
(
docFile
(),
// fileName
docLine
(),
// startLine
this
,
// context
0
,
// memberdef
documentation
(),
// docStr
TRUE
,
// index words
FALSE
// not an example
);
ol
.
endTextBlock
();
writePageDocumentation
(
ol
);
ol
.
popGeneratorState
();
endFile
(
ol
);
//outputList->enable(OutputGenerator::Man);
if
(
!
Config_getString
(
"GENERATE_TAGFILE"
).
isEmpty
())
{
...
...
@@ -131,6 +144,53 @@ void PageDef::writeDocumentation(OutputList &ol)
}
}
void
PageDef
::
writePageDocumentation
(
OutputList
&
ol
)
{
ol
.
startTextBlock
();
ol
.
parseDoc
(
docFile
(),
// fileName
docLine
(),
// startLine
this
,
// context
0
,
// memberdef
documentation
(),
// docStr
TRUE
,
// index words
FALSE
// not an example
);
ol
.
endTextBlock
();
if
(
hasSubPages
())
{
// for printed documentation we write subpages as section's of the
// parent page.
ol
.
pushGeneratorState
();
ol
.
disableAll
();
ol
.
enable
(
OutputGenerator
::
Latex
);
ol
.
enable
(
OutputGenerator
::
RTF
);
PageSDict
::
Iterator
pdi
(
*
m_subPageDict
);
PageDef
*
subPage
=
pdi
.
toFirst
();
for
(
pdi
.
toFirst
();(
subPage
=
pdi
.
current
());
++
pdi
)
{
SectionInfo
::
SectionType
sectionType
=
SectionInfo
::
Paragraph
;
switch
(
m_nestingLevel
)
{
case
0
:
sectionType
=
SectionInfo
::
Page
;
break
;
case
1
:
sectionType
=
SectionInfo
::
Section
;
break
;
case
2
:
sectionType
=
SectionInfo
::
Subsection
;
break
;
case
3
:
sectionType
=
SectionInfo
::
Subsubsection
;
break
;
default
:
sectionType
=
SectionInfo
::
Paragraph
;
break
;
}
QCString
title
=
subPage
->
title
();
if
(
title
.
isEmpty
())
title
=
subPage
->
name
();
ol
.
startSection
(
subPage
->
name
(),
title
,
sectionType
);
ol
.
parseText
(
title
);
ol
.
endSection
(
subPage
->
name
(),
sectionType
);
subPage
->
writePageDocumentation
(
ol
);
}
ol
.
popGeneratorState
();
}
}
bool
PageDef
::
visibleInIndex
()
const
{
return
// not part of a group
...
...
@@ -153,7 +213,11 @@ bool PageDef::documentedPage() const
bool
PageDef
::
hasSubPages
()
const
{
return
subPageDict
->
count
()
>
0
;
return
m_
subPageDict
->
count
()
>
0
;
}
void
PageDef
::
setNestingLevel
(
int
l
)
{
m_nestingLevel
=
l
;
}
src/pagedef.h
View file @
f630007a
...
...
@@ -35,7 +35,6 @@ class PageDef : public Definition
{
return
isLinkableInProject
()
||
isReference
();
}
void
addSubPage
(
PageDef
*
def
);
void
writeDocumentation
(
OutputList
&
ol
);
// functions to get a uniform interface with Definitions
...
...
@@ -43,21 +42,25 @@ class PageDef : public Definition
void
findSectionsInDocumentation
();
QCString
title
()
const
{
return
m_title
;
}
GroupDef
*
getGroupDef
()
const
;
PageSDict
*
getSubPages
()
const
{
return
subPageDict
;
}
PageSDict
*
getSubPages
()
const
{
return
m_
subPageDict
;
}
void
setFileName
(
const
char
*
name
)
{
m_fileName
=
name
;
}
void
addInnerCompound
(
Definition
*
d
);
bool
visibleInIndex
()
const
;
bool
documentedPage
()
const
;
bool
hasSubPages
()
const
;
void
setPageScope
(
Definition
*
d
){
pageScope
=
d
;
}
Definition
*
getPageScope
()
const
{
return
pageScope
;
}
bool
hasParentPage
()
const
;
void
setPageScope
(
Definition
*
d
){
m_pageScope
=
d
;
}
Definition
*
getPageScope
()
const
{
return
m_pageScope
;
}
private
:
void
setNestingLevel
(
int
l
);
void
writePageDocumentation
(
OutputList
&
ol
);
QCString
m_fileName
;
QCString
m_title
;
GroupDef
*
m_inGroup
;
PageSDict
*
subPageDict
;
// list of pages in the group
Definition
*
pageScope
;
PageSDict
*
m_subPageDict
;
// list of pages in the group
Definition
*
m_pageScope
;
int
m_nestingLevel
;
};
class
PageSDict
:
public
SDict
<
PageDef
>
...
...
src/rtfgen.cpp
View file @
f630007a
...
...
@@ -39,8 +39,8 @@
#include "dirdef.h"
#include "vhdldocgen.h"
//
#define DBG_RTF(x) x;
#define DBG_RTF(x)
#define DBG_RTF(x) x;
//
#define DBG_RTF(x)
static
QCString
dateToRTFDateString
()
{
...
...
@@ -515,6 +515,10 @@ void RTFGenerator::startIndexSection(IndexSections is)
{
//Page Documentation
beginRTFChapter
();
}
break
;
case
isPageDocumentation2
:
{
t
<<
"{
\\
tc
\\
v "
;
}
break
;
...
...
@@ -833,7 +837,7 @@ void RTFGenerator::endIndexSection(IndexSections is)
{
//#error "fix me in the same way as the latex index..."
//t << "{\\tc \\v " << theTranslator->trPageDocumentation() << "}"<< endl;
t
<<
"}"
<<
endl
;
//
t << "}"<< endl;
//PageSDict::Iterator pdi(*Doxygen::pageSDict);
//PageDef *pd=pdi.toFirst();
//bool first=TRUE;
...
...
@@ -850,6 +854,12 @@ void RTFGenerator::endIndexSection(IndexSections is)
//}
}
break
;
case
isPageDocumentation2
:
{
t
<<
"}"
;
t
<<
"
\\
par "
<<
rtf_Style_Reset
<<
endl
;
}
break
;
case
isEndIndex
:
beginRTFChapter
();
t
<<
rtf_Style
[
"Heading1"
]
->
reference
;
...
...
@@ -1607,8 +1617,9 @@ void RTFGenerator::startSection(const char *,const char *title,SectionInfo::Sect
void
RTFGenerator
::
endSection
(
const
char
*
lab
,
SectionInfo
::
SectionType
)
{
DBG_RTF
(
t
<<
"{
\\
comment (endSection)}"
<<
endl
)
newParagraph
();
// make bookmark
m_omitParagraph
=
FALSE
;
newParagraph
();
writeAnchor
(
0
,
lab
);
t
<<
"}"
;
}
...
...
@@ -1813,7 +1824,7 @@ void RTFGenerator::writeAnchor(const char *fileName,const char *name)
anchor
+=
name
;
}
DBG_RTF
(
t
<<
"{
\\
comment writeAnch
e
or ("
<<
anchor
<<
")}"
<<
endl
)
DBG_RTF
(
t
<<
"{
\\
comment writeAnchor ("
<<
anchor
<<
")}"
<<
endl
)
t
<<
"{
\\
bkmkstart "
<<
rtfFormatBmkStr
(
anchor
)
<<
"}"
<<
endl
;
t
<<
"{
\\
bkmkend "
<<
rtfFormatBmkStr
(
anchor
)
<<
"}"
<<
endl
;
}
...
...
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