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
a2a1e97f
Commit
a2a1e97f
authored
Nov 03, 2003
by
dimitri
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Release-1.3.4-20031103
parent
4c9ea88d
Changes
32
Hide whitespace changes
Inline
Side-by-side
Showing
32 changed files
with
434 additions
and
267 deletions
+434
-267
INSTALL
INSTALL
+2
-2
README
README
+2
-2
VERSION
VERSION
+1
-1
doxmlintf.h
addon/doxmlparser/include/doxmlintf.h
+10
-1
compoundhandler.cpp
addon/doxmlparser/src/compoundhandler.cpp
+33
-22
compoundhandler.h
addon/doxmlparser/src/compoundhandler.h
+1
-0
doxmlintf.h
addon/doxmlparser/src/doxmlintf.h
+10
-1
loamhandler.cpp
addon/doxmlparser/src/loamhandler.cpp
+16
-1
loamhandler.h
addon/doxmlparser/src/loamhandler.h
+2
-0
memberhandler.cpp
addon/doxmlparser/src/memberhandler.cpp
+22
-17
memberhandler.h
addon/doxmlparser/src/memberhandler.h
+9
-1
sectionhandler.cpp
addon/doxmlparser/src/sectionhandler.cpp
+5
-0
md5_loc.h
libmd5/md5_loc.h
+8
-0
make.bat
make.bat
+3
-1
doxygen.spec
packages/rpm/doxygen.spec
+1
-1
qfile.cpp
qtools/qfile.cpp
+1
-1
qfile_unix.cpp
qtools/qfile_unix.cpp
+1
-1
compound.xsd
src/compound.xsd
+6
-0
compound_xsd.h
src/compound_xsd.h
+6
-0
config.l
src/config.l
+3
-1
docparser.cpp
src/docparser.cpp
+1
-0
dot.cpp
src/dot.cpp
+233
-193
doxygen.cpp
src/doxygen.cpp
+2
-2
ftvhelp.cpp
src/ftvhelp.cpp
+3
-0
htmlgen.cpp
src/htmlgen.cpp
+3
-0
latexgen.cpp
src/latexgen.cpp
+2
-1
memberdef.cpp
src/memberdef.cpp
+1
-1
memberlist.cpp
src/memberlist.cpp
+2
-2
pngenc.cpp
src/pngenc.cpp
+2
-1
scanner.l
src/scanner.l
+26
-1
util.cpp
src/util.cpp
+12
-13
xmlgen.cpp
src/xmlgen.cpp
+5
-0
No files found.
INSTALL
View file @
a2a1e97f
DOXYGEN Version 1.3.4-20031
026
DOXYGEN Version 1.3.4-20031
103
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
Dimitri van Heesch (
26 Octo
ber 2003)
Dimitri van Heesch (
03 Novem
ber 2003)
README
View file @
a2a1e97f
DOXYGEN Version 1.3.4_20031
026
DOXYGEN Version 1.3.4_20031
103
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) (
26 Octo
ber 2003)
Dimitri van Heesch (dimitri@stack.nl) (
03 Novem
ber 2003)
VERSION
View file @
a2a1e97f
1.3.4-20031
026
1.3.4-20031
103
addon/doxmlparser/include/doxmlintf.h
View file @
a2a1e97f
...
...
@@ -111,7 +111,11 @@ class IMemberReference
{
public
:
virtual
IMember
*
member
()
const
=
0
;
virtual
const
IString
*
memberName
()
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
...
...
@@ -695,6 +699,11 @@ class ISection
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
...
...
addon/doxmlparser/src/compoundhandler.cpp
View file @
a2a1e97f
...
...
@@ -167,46 +167,51 @@ CompoundHandler::CompoundHandler(const QString &xmlDir)
addStartHandler
(
"compoundname"
);
addEndHandler
(
"compoundname"
,
this
,
&
CompoundHandler
::
endCompoundName
);
addStartHandler
(
"derivedcompoundref"
,
this
,
&
CompoundHandler
::
addSubClass
);
addEndHandler
(
"derivedcompoundref"
);
addStartHandler
(
"title"
,
this
,
&
CompoundHandler
::
startTitle
);
addStartHandler
(
"basecompoundref"
,
this
,
&
CompoundHandler
::
addSuperClass
);
addEndHandler
(
"basecompoundref"
);
addStartHandler
(
"briefdescription"
,
this
,
&
CompoundHandler
::
startBriefDesc
);
addStartHandler
(
"derivedcompoundref"
,
this
,
&
CompoundHandler
::
addSubClass
);
addEndHandler
(
"derivedcompoundref"
);
addStartHandler
(
"detaileddescription"
,
this
,
&
CompoundHandler
::
startDetailedDesc
);
addStartHandler
(
"sectiondef"
,
this
,
&
CompoundHandler
::
startSection
);
// includes
// includedby
addStartHandler
(
"location"
,
this
,
&
CompoundHandler
::
startLocation
);
addEndHandler
(
"location"
);
addStartHandler
(
"programlisting"
,
this
,
&
CompoundHandler
::
startProgramListing
);
addStartHandler
(
"inheritancegraph"
,
this
,
&
CompoundHandler
::
startInheritanceGraph
);
addStartHandler
(
"collaborationgraph"
,
this
,
&
CompoundHandler
::
startCollaborationGraph
);
addStartHandler
(
"incdepgraph"
,
this
,
&
CompoundHandler
::
startIncludeDependencyGraph
);
addStartHandler
(
"invincdepgraph"
,
this
,
&
CompoundHandler
::
startIncludedByDependencyGraph
);
addStartHandler
(
"innerfile"
,
this
,
&
CompoundHandler
::
startInnerFile
);
addEndHandler
(
"innerfile"
);
addStartHandler
(
"innerclass"
,
this
,
&
CompoundHandler
::
startInnerClass
);
addEndHandler
(
"innerclass"
);
addStartHandler
(
"innernamespace"
,
this
,
&
CompoundHandler
::
startInnerNamespace
);
addEndHandler
(
"innernamespace"
);
addStartHandler
(
"innerfile"
,
this
,
&
CompoundHandler
::
startInnerFile
);
addEndHandler
(
"innerfile"
);
// innerpage
addStartHandler
(
"innergroup"
,
this
,
&
CompoundHandler
::
startInnerGroup
);
addEndHandler
(
"innergroup"
);
addStartHandler
(
"templateparamlist"
,
this
,
&
CompoundHandler
::
startTemplateParamList
);
addStartHandler
(
"title"
,
this
,
&
CompoundHandler
::
startTitle
);
addStartHandler
(
"sectiondef"
,
this
,
&
CompoundHandler
::
startSection
);
addStartHandler
(
"briefdescription"
,
this
,
&
CompoundHandler
::
startBriefDesc
);
addStartHandler
(
"detaileddescription"
,
this
,
&
CompoundHandler
::
startDetailedDesc
);
addStartHandler
(
"inheritancegraph"
,
this
,
&
CompoundHandler
::
startInheritanceGraph
);
addStartHandler
(
"collaborationgraph"
,
this
,
&
CompoundHandler
::
startCollaborationGraph
);
addStartHandler
(
"programlisting"
,
this
,
&
CompoundHandler
::
startProgramListing
);
addStartHandler
(
"location"
,
this
,
&
CompoundHandler
::
startLocation
);
addEndHandler
(
"location"
);
addStartHandler
(
"listofallmembers"
,
this
,
&
CompoundHandler
::
startListOfAllMembers
);
}
...
...
@@ -259,6 +264,7 @@ void CompoundHandler::startCompound(const QXmlAttributes& attrib)
m_id
=
attrib
.
value
(
"id"
);
m_kindString
=
attrib
.
value
(
"kind"
);
m_kind
=
s_typeMap
->
map
(
m_kindString
);
m_protection
=
attrib
.
value
(
"prot"
);
debug
(
2
,
"startCompound(id=`%s' type=`%s')
\n
"
,
m_id
.
data
(),
m_kindString
.
data
());
}
...
...
@@ -317,9 +323,14 @@ void CompoundHandler::addSuperClass(const QXmlAttributes& attrib)
{
IRelatedCompound
::
Protection
prot
=
IRelatedCompound
::
Public
;
QString
protString
=
attrib
.
value
(
"prot"
);
if
(
protString
==
"protected"
)
prot
=
IRelatedCompound
::
Protected
;
else
if
(
protString
==
"private"
)
prot
=
IRelatedCompound
::
Private
;
if
(
protString
==
"protected"
)
{
prot
=
IRelatedCompound
::
Protected
;
}
else
if
(
protString
==
"private"
)
{
prot
=
IRelatedCompound
::
Private
;
}
IRelatedCompound
::
Kind
kind
=
IRelatedCompound
::
Normal
;
QString
kindString
=
attrib
.
value
(
"virt"
);
if
(
kindString
==
"virtual"
)
kind
=
IRelatedCompound
::
Virtual
;
...
...
addon/doxmlparser/src/compoundhandler.h
View file @
a2a1e97f
...
...
@@ -153,6 +153,7 @@ class CompoundHandler : public IClass,
DocHandler
*
m_detailed
;
ProgramListingHandler
*
m_programListing
;
StringImpl
m_id
;
StringImpl
m_protection
;
StringImpl
m_kindString
;
CompoundKind
m_kind
;
StringImpl
m_name
;
...
...
addon/doxmlparser/src/doxmlintf.h
View file @
a2a1e97f
...
...
@@ -111,7 +111,11 @@ class IMemberReference
{
public
:
virtual
IMember
*
member
()
const
=
0
;
virtual
const
IString
*
memberName
()
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
...
...
@@ -695,6 +699,11 @@ class ISection
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
...
...
addon/doxmlparser/src/loamhandler.cpp
View file @
a2a1e97f
...
...
@@ -9,6 +9,8 @@ ListOfAllMembersHandler::ListOfAllMembersHandler(IBaseHandler *parent) : m_paren
addStartHandler
(
"member"
,
this
,
&
ListOfAllMembersHandler
::
startMember
);
addStartHandler
(
"name"
,
this
,
&
ListOfAllMembersHandler
::
startName
);
addEndHandler
(
"name"
,
this
,
&
ListOfAllMembersHandler
::
endName
);
addStartHandler
(
"scope"
,
this
,
&
ListOfAllMembersHandler
::
startScope
);
addEndHandler
(
"scope"
,
this
,
&
ListOfAllMembersHandler
::
endScope
);
addEndHandler
(
"listofallmembers"
,
this
,
&
ListOfAllMembersHandler
::
endListOfAllMembers
);
}
...
...
@@ -27,7 +29,9 @@ void ListOfAllMembersHandler::startMember(const QXmlAttributes& attrib)
{
MemberReference
*
mr
=
new
MemberReference
;
mr
->
m_memId
=
attrib
.
value
(
"refid"
);
// TODO: extract prot, virt, ambiguityscope and scope as well
mr
->
m_virtualness
=
attrib
.
value
(
"virt"
);
mr
->
m_protection
=
attrib
.
value
(
"prot"
);
mr
->
m_ambiguityScope
=
attrib
.
value
(
"ambiguityscope"
);
m_members
.
append
(
new
MemberReference
);
}
...
...
@@ -42,6 +46,17 @@ void ListOfAllMembersHandler::endName()
m_members
.
getLast
()
->
m_name
=
m_curString
;
}
void
ListOfAllMembersHandler
::
startScope
(
const
QXmlAttributes
&
)
{
m_curString
=
""
;
}
void
ListOfAllMembersHandler
::
endScope
()
{
ASSERT
(
m_members
.
getLast
());
m_members
.
getLast
()
->
m_scope
=
m_curString
;
}
void
ListOfAllMembersHandler
::
startListOfAllMembers
(
const
QXmlAttributes
&
/*attrib*/
)
{
m_parent
->
setDelegate
(
this
);
...
...
addon/doxmlparser/src/loamhandler.h
View file @
a2a1e97f
...
...
@@ -31,6 +31,8 @@ class ListOfAllMembersHandler : public BaseHandler<ListOfAllMembersHandler>
virtual
void
startMember
(
const
QXmlAttributes
&
attrib
);
virtual
void
startName
(
const
QXmlAttributes
&
attrib
);
virtual
void
endName
();
virtual
void
startScope
(
const
QXmlAttributes
&
attrib
);
virtual
void
endScope
();
virtual
void
startListOfAllMembers
(
const
QXmlAttributes
&
attrib
);
virtual
void
endListOfAllMembers
();
...
...
addon/doxmlparser/src/memberhandler.cpp
View file @
a2a1e97f
...
...
@@ -158,40 +158,45 @@ MemberHandler::MemberHandler(IBaseHandler *parent)
{
//printf("MemberHandler::MemberHandler() %p\n",this);
addEndHandler
(
"memberdef"
,
this
,
&
MemberHandler
::
endMember
);
addEndHandler
(
"enumvalue"
,
this
,
&
MemberHandler
::
endMember
);
addStartHandler
(
"type"
,
this
,
&
MemberHandler
::
startType
);
addStartHandler
(
"initializer"
,
this
,
&
MemberHandler
::
startInitializer
);
addStartHandler
(
"exception"
,
this
,
&
MemberHandler
::
startException
);
addStartHandler
(
"enumvalue"
,
this
,
&
MemberHandler
::
startEnumValue2
);
addStartHandler
(
"templateparamlist"
,
this
,
&
MemberHandler
::
startTemplateParamList
);
addEndHandler
(
"templateparamlist"
,
this
,
&
MemberHandler
::
endTemplateParamList
);
addStartHandler
(
"type"
,
this
,
&
MemberHandler
::
startType
);
// definition
// argsstring
addStartHandler
(
"name"
,
this
,
&
MemberHandler
::
startName
);
addEndHandler
(
"name"
,
this
,
&
MemberHandler
::
endName
);
addStartHandler
(
"reimplements"
,
this
,
&
MemberHandler
::
startReimplements
);
addEndHandler
(
"reimplements"
,
this
,
&
MemberHandler
::
endReimplements
);
addStartHandler
(
"reimplementedby"
,
this
,
&
MemberHandler
::
startReimplementedBy
);
addEndHandler
(
"reimplementedby"
,
this
,
&
MemberHandler
::
endReimplementedBy
);
addStartHandler
(
"param"
,
this
,
&
MemberHandler
::
startParam
);
addStartHandler
(
"enumvalue"
,
this
,
&
MemberHandler
::
startEnumValue2
);
addEndHandler
(
"enumvalue"
,
this
,
&
MemberHandler
::
endMember
);
addStartHandler
(
"initializer"
,
this
,
&
MemberHandler
::
startInitializer
);
addStartHandler
(
"exception"
,
this
,
&
MemberHandler
::
startException
);
addStartHandler
(
"briefdescription"
,
this
,
&
MemberHandler
::
startBriefDesc
);
addStartHandler
(
"detaileddescription"
,
this
,
&
MemberHandler
::
startDetailedDesc
);
// inbodydescription
addStartHandler
(
"location"
,
this
,
&
MemberHandler
::
startLocation
);
addEndHandler
(
"location"
);
addStartHandler
(
"references"
,
this
,
&
MemberHandler
::
startReferences
);
addEndHandler
(
"references"
,
this
,
&
MemberHandler
::
endReferences
);
addStartHandler
(
"referencedby"
,
this
,
&
MemberHandler
::
startReferencedBy
);
addEndHandler
(
"referencedby"
,
this
,
&
MemberHandler
::
endReferencedBy
);
addStartHandler
(
"reimplements"
,
this
,
&
MemberHandler
::
startReimplements
);
addEndHandler
(
"reimplements"
,
this
,
&
MemberHandler
::
endReimplements
);
addStartHandler
(
"reimplementedby"
,
this
,
&
MemberHandler
::
startReimplementedBy
);
addEndHandler
(
"reimplementedby"
,
this
,
&
MemberHandler
::
endReimplementedBy
);
addStartHandler
(
"location"
,
this
,
&
MemberHandler
::
startLocation
);
addEndHandler
(
"location"
);
addStartHandler
(
"templateparamlist"
,
this
,
&
MemberHandler
::
startTemplateParamList
);
addEndHandler
(
"templateparamlist"
,
this
,
&
MemberHandler
::
endTemplateParamList
);
m_type
.
setAutoDelete
(
TRUE
);
m_initializer
.
setAutoDelete
(
TRUE
);
m_exception
.
setAutoDelete
(
TRUE
);
...
...
addon/doxmlparser/src/memberhandler.h
View file @
a2a1e97f
...
...
@@ -38,11 +38,19 @@ class MemberReference : public IMemberReference
public
:
virtual
~
MemberReference
()
{}
virtual
IMember
*
member
()
const
;
virtual
const
IString
*
memberName
()
const
{
return
&
m_name
;
}
virtual
const
IString
*
name
()
const
{
return
&
m_name
;
}
virtual
const
IString
*
scope
()
const
{
return
&
m_scope
;
}
virtual
const
IString
*
protection
()
const
{
return
&
m_protection
;
}
virtual
const
IString
*
virtualness
()
const
{
return
&
m_virtualness
;
}
virtual
const
IString
*
ambiguityScope
()
const
{
return
&
m_ambiguityScope
;
}
void
initialize
(
MainHandler
*
m
);
QString
m_memId
;
StringImpl
m_name
;
StringImpl
m_scope
;
StringImpl
m_virtualness
;
StringImpl
m_protection
;
StringImpl
m_ambiguityScope
;
MainHandler
*
m_mainHandler
;
};
...
...
addon/doxmlparser/src/sectionhandler.cpp
View file @
a2a1e97f
...
...
@@ -41,6 +41,11 @@ class SectionTypeMap
m_map
.
insert
(
"protected-slot"
,
new
int
(
ISection
::
ProSlots
));
m_map
.
insert
(
"protected-static-func"
,
new
int
(
ISection
::
ProStatFuncs
));
m_map
.
insert
(
"protected-static-attrib"
,
new
int
(
ISection
::
ProStatAttribs
));
m_map
.
insert
(
"package-type"
,
new
int
(
ISection
::
PacTypes
));
m_map
.
insert
(
"package-func"
,
new
int
(
ISection
::
PacFuncs
));
m_map
.
insert
(
"package-attrib"
,
new
int
(
ISection
::
PacAttribs
));
m_map
.
insert
(
"package-static-func"
,
new
int
(
ISection
::
PacStatFuncs
));
m_map
.
insert
(
"package-static-attrib"
,
new
int
(
ISection
::
PacStatAttribs
));
m_map
.
insert
(
"private-type"
,
new
int
(
ISection
::
PriTypes
));
m_map
.
insert
(
"private-func"
,
new
int
(
ISection
::
PriFuncs
));
m_map
.
insert
(
"private-attrib"
,
new
int
(
ISection
::
PriAttribs
));
...
...
libmd5/md5_loc.h
View file @
a2a1e97f
...
...
@@ -30,6 +30,10 @@
#ifndef __MD5_LOC_H__
#define __MD5_LOC_H__
#ifdef __cplusplus
extern
"C"
{
#endif
#define HEX_STRING "0123456789abcdef"
/* to convert to hex */
#define BLOCK_SIZE_MASK (MD5_BLOCK_SIZE - 1)
...
...
@@ -103,4 +107,8 @@
a += b; \
} while (0)
#ifdef __cplusplus
}
#endif
#endif
/* ! __MD5_LOC_H__ */
make.bat
View file @
a2a1e97f
...
...
@@ -22,6 +22,8 @@ type makeconfig > qtools\Makefile
type qtools\Makefile.in >>qtools\Makefile
type makeconfig > libpng\Makefile
type libpng\Makefile.in >>libpng\Makefile
type makeconfig > libmd5\Makefile
type libmd5\Makefile.in >>libmd5\Makefile
type makeconfig > src\Makefile
type src\Makefile.in >>src\Makefile
type makeconfig > examples\Makefile
...
...
@@ -37,11 +39,11 @@ REM build in release or debug mode
REM sed is used to replace $extraopts by either debug or release while copying
sed "s/\$extraopts/%MODE%/g" qtools\qtools.pro.in >qtools\qtools.pro
sed "s/\$extraopts/%MODE%/g" libpng\libpng.pro.in >libpng\libpng.pro
sed "s/\$extraopts/%MODE%/g" libmd5\libmd5.pro.in >libmd5\libmd5.pro
sed "s/\$extraopts/%MODE%/g" src\libdoxygen.pro.in >src\libdoxygen.pro
sed "s/\$extraopts/%MODE%/g" src\libdoxycfg.pro.in >src\libdoxycfg.pro
sed "s/\$extraopts/%MODE%/g" src\doxygen.pro.in >src\doxygen.pro
sed "s/\$extraopts/%MODE%/g" src\doxytag.pro.in >src\doxytag.pro
sed "s/\$extraopts/%MODE%/g" src\doxysearch.pro.in >src\doxysearch.pro
sed "s/\$extraopts/%MODE%/g" addon\doxywizard\doxywizard.pro.in >addon\doxywizard\doxywizard.pro
REM run make
...
...
packages/rpm/doxygen.spec
View file @
a2a1e97f
Summary: A documentation system for C/C++.
Name: doxygen
Version: 1.3.4_20031
026
Version: 1.3.4_20031
103
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
...
...
qtools/qfile.cpp
View file @
a2a1e97f
...
...
@@ -208,7 +208,7 @@ bool QFile::remove()
return
remove
(
fn
);
}
#if defined(_OS_MAC_) || defined(_OS_MSDOS_) || defined(_OS_WIN32_) || defined(_OS_OS2_)
#if defined(_OS_MAC_) || defined(_OS_MSDOS_) || defined(_OS_WIN32_) || defined(_OS_OS2_)
|| defined(_OS_CYGWIN_)
# define HAS_TEXT_FILEMODE // has translate/text filemode
#endif
#if defined(O_NONBLOCK)
...
...
qtools/qfile_unix.cpp
View file @
a2a1e97f
...
...
@@ -40,7 +40,7 @@
#include "qfile.h"
#include "qfiledefs_p.h"
#if defined(_OS_MAC_) || defined(_OS_MSDOS_) || defined(_OS_WIN32_) || defined(_OS_OS2_)
#if defined(_OS_MAC_) || defined(_OS_MSDOS_) || defined(_OS_WIN32_) || defined(_OS_OS2_)
|| defined(_OS_CYGWIN_)
# define HAS_TEXT_FILEMODE // has translate/text filemode
#endif
#if defined(O_NONBLOCK)
...
...
src/compound.xsd
View file @
a2a1e97f
...
...
@@ -93,6 +93,7 @@
<xsd:complexType
name=
"memberdefType"
>
<xsd:sequence>
<xsd:element
name=
"templateparamlist"
type=
"templateparamlistType"
minOccurs=
"0"
/>
<xsd:element
name=
"type"
type=
"linkedTextType"
minOccurs=
"0"
/>
<xsd:element
name=
"definition"
minOccurs=
"0"
/>
<xsd:element
name=
"argsstring"
minOccurs=
"0"
/>
...
...
@@ -632,6 +633,11 @@
<xsd:enumeration
value=
"protected-slot"
/>
<xsd:enumeration
value=
"protected-static-func"
/>
<xsd:enumeration
value=
"protected-static-attrib"
/>
<xsd:enumeration
value=
"package-type"
/>
<xsd:enumeration
value=
"package-func"
/>
<xsd:enumeration
value=
"package-attrib"
/>
<xsd:enumeration
value=
"package-static-func"
/>
<xsd:enumeration
value=
"package-static-attrib"
/>
<xsd:enumeration
value=
"private-type"
/>
<xsd:enumeration
value=
"private-func"
/>
<xsd:enumeration
value=
"private-attrib"
/>
...
...
src/compound_xsd.h
View file @
a2a1e97f
...
...
@@ -93,6 +93,7 @@
"
\n
"
" <xsd:complexType name=
\"
memberdefType
\"
>
\n
"
" <xsd:sequence>
\n
"
" <xsd:element name=
\"
templateparamlist
\"
type=
\"
templateparamlistType
\"
minOccurs=
\"
0
\"
/>
\n
"
" <xsd:element name=
\"
type
\"
type=
\"
linkedTextType
\"
minOccurs=
\"
0
\"
/>
\n
"
" <xsd:element name=
\"
definition
\"
minOccurs=
\"
0
\"
/>
\n
"
" <xsd:element name=
\"
argsstring
\"
minOccurs=
\"
0
\"
/>
\n
"
...
...
@@ -632,6 +633,11 @@
" <xsd:enumeration value=
\"
protected-slot
\"
/>
\n
"
" <xsd:enumeration value=
\"
protected-static-func
\"
/>
\n
"
" <xsd:enumeration value=
\"
protected-static-attrib
\"
/>
\n
"
" <xsd:enumeration value=
\"
package-type
\"
/>
\n
"
" <xsd:enumeration value=
\"
package-func
\"
/>
\n
"
" <xsd:enumeration value=
\"
package-attrib
\"
/>
\n
"
" <xsd:enumeration value=
\"
package-static-func
\"
/>
\n
"
" <xsd:enumeration value=
\"
package-static-attrib
\"
/>
\n
"
" <xsd:enumeration value=
\"
private-type
\"
/>
\n
"
" <xsd:enumeration value=
\"
private-func
\"
/>
\n
"
" <xsd:enumeration value=
\"
private-attrib
\"
/>
\n
"
...
...
src/config.l
View file @
a2a1e97f
...
...
@@ -1979,7 +1979,9 @@ void Config::create()
"The HTML_STYLESHEET tag can be used to specify a user-defined cascading \n"
"style sheet that is used by each HTML page. It can be used to \n"
"fine-tune the look of the HTML output. If the tag is left blank doxygen \n"
"will generate a default style sheet \n"
"will generate a default style sheet. Note that doxygen will try to copy \n"
"the style sheet file to the HTML output directory, so don't put your own \n"
"stylesheet in the HTML output directory as well, or it will be erased! \n"
);
cs->setWidgetType(ConfigString::File);
cs->addDependency("GENERATE_HTML");
...
...
src/docparser.cpp
View file @
a2a1e97f
...
...
@@ -701,6 +701,7 @@ static void handleLinkedWord(DocNode *parent,QList<DocNode> &children)
QString
name
=
linkToText
(
g_token
->
name
,
TRUE
);
if
(
resolveRef
(
g_context
,
g_token
->
name
,
g_inSeeBlock
,
&
compound
,
&
member
))
{
//printf("resolveRef %s = %p (linkable?=%d)\n",g_token->name.data(),member,member->isLinkable());
if
(
member
)
// member link
{
children
.
append
(
new
...
...
src/dot.cpp
View file @
a2a1e97f
...
...
@@ -295,6 +295,36 @@ static void checkDotResult(const QCString &imgName)
}
}
/*! Checks if a file "baseName".md5 exists. If so the contents
* are compared with \a md5. If equal FALSE is returned. If the .md5
* file does not exist or its contents are not equal to \a md5,
* a new .md5 is generated with the \a md5 string as contents.
*/
static
bool
checkAndUpdateMd5Signature
(
const
QCString
&
baseName
,
const
QCString
&
md5
)
{
QFile
f
(
baseName
+
".md5"
);
if
(
f
.
open
(
IO_ReadOnly
))
{
// read checksum
QCString
md5stored
(
33
);
int
bytesRead
=
f
.
readBlock
(
md5stored
.
data
(),
32
);
// compare checksum
if
(
bytesRead
==
32
&&
md5
==
md5stored
)
{
// bail out if equal
return
FALSE
;
}
}
f
.
close
();
// create checksum file
if
(
f
.
open
(
IO_WriteOnly
))
{
f
.
writeBlock
(
md5
.
data
(),
32
);
f
.
close
();
}
return
TRUE
;
}
//--------------------------------------------------------------------
class
DotNodeList
:
public
QList
<
DotNode
>
...
...
@@ -880,6 +910,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
QDir
::
setCurrent
(
d
.
absPath
());
QDir
thisDir
;
// put each connected subgraph of the hierarchy in a row of the HTML output
out
<<
"<table border=0 cellspacing=10 cellpadding=0>"
<<
endl
;
QListIterator
<
DotNode
>
dnli
(
*
m_rootSubgraphs
);
...
...
@@ -891,52 +922,75 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
QCString
imgExt
=
Config_getEnum
(
"DOT_IMAGE_FORMAT"
);
baseName
.
sprintf
(
"inherit_graph_%d"
,
count
++
);
baseName
=
convertNameToFile
(
baseName
);
QCString
dotName
=
baseName
+
".dot"
;
QCString
imgName
=
baseName
+
"."
+
imgExt
;
QCString
mapName
=
baseName
+
".map"
;
QFile
f
(
dotName
);
if
(
!
f
.
open
(
IO_WriteOnly
))
return
;
QTextStream
t
(
&
f
);
writeGraphHeader
(
t
);
t
<<
" rankdir=LR;"
<<
endl
;
QListIterator
<
DotNode
>
dnli2
(
*
m_rootNodes
);
DotNode
*
node
;
for
(;(
node
=
dnli2
.
current
());
++
dnli2
)
// compute md5 checksum of the graph were are about to generate
QString
buf
;
QTextStream
md5stream
(
&
buf
,
IO_WriteOnly
);
for
(
dnli2
.
toFirst
();(
node
=
dnli2
.
current
());
++
dnli2
)
{
if
(
node
->
m_subgraphId
==
n
->
m_subgraphId
)
node
->
write
(
t
,
DotNode
::
Hierarchy
,
BITMAP
,
FALSE
,
TRUE
,
1000
,
TRUE
);
{
node
->
clearWriteFlag
();
node
->
write
(
md5stream
,
DotNode
::
Hierarchy
,
BITMAP
,
FALSE
,
TRUE
,
1000
,
TRUE
);
}
}
writeGraphFooter
(
t
);
f
.
close
();
char
md5_sig
[
16
];
QCString
sigStr
(
33
);
md5_buffer
(
buf
.
ascii
(),
buf
.
length
(),
md5_sig
);
md5_sig_to_string
(
md5_sig
,
sigStr
.
data
(),
33
);
if
(
checkAndUpdateMd5Signature
(
baseName
,
sigStr
))
{
// image was new or has changed
QCString
dotName
=
baseName
+
".dot"
;
QFile
f
(
dotName
);
if
(
!
f
.
open
(
IO_WriteOnly
))
return
;
QTextStream
t
(
&
f
);
writeGraphHeader
(
t
);
t
<<
" rankdir=LR;"
<<
endl
;
for
(
dnli2
.
toFirst
();(
node
=
dnli2
.
current
());
++
dnli2
)
{
if
(
node
->
m_subgraphId
==
n
->
m_subgraphId
)
{
node
->
clearWriteFlag
();
node
->
write
(
t
,
DotNode
::
Hierarchy
,
BITMAP
,
FALSE
,
TRUE
,
1000
,
TRUE
);
}
}
writeGraphFooter
(
t
);
f
.
close
();
QCString
dotArgs
(
maxCmdLine
);
dotArgs
.
sprintf
(
"-T%s
\"
%s
\"
-o
\"
%s
\"
"
,
imgExt
.
data
(),
dotName
.
data
(),
imgName
.
data
());
//printf("Running: dot -T%s %s -o %s\n",imgExt.data(),dotName.data(),imgName.data());
if
(
iSystem
(
Config_getString
(
"DOT_PATH"
)
+
"dot"
,
dotArgs
)
!=
0
)
{
err
(
"Problems running dot. Check your installation!
\n
"
);
out
<<
"</table>"
<<
endl
;
return
;
}
checkDotResult
(
imgName
);
dotArgs
.
sprintf
(
"-Timap
\"
%s
\"
-o
\"
%s
\"
"
,
dotName
.
data
(),
mapName
.
data
());
//printf("Running: dot -Timap %s -o %s\n",dotName.data(),mapName.data());
if
(
iSystem
(
Config_getString
(
"DOT_PATH"
)
+
"dot"
,
dotArgs
)
!=
0
)
{
err
(
"Problems running dot. Check your installation!
\n
"
);
out
<<
"</table>"
<<
endl
;
return
;
QCString
dotArgs
(
maxCmdLine
);
dotArgs
.
sprintf
(
"-T%s
\"
%s
\"
-o
\"
%s
\"
"
,
imgExt
.
data
(),
dotName
.
data
(),
imgName
.
data
());
//printf("Running: dot -T%s %s -o %s\n",imgExt.data(),dotName.data(),imgName.data());
if
(
iSystem
(
Config_getString
(
"DOT_PATH"
)
+
"dot"
,
dotArgs
)
!=
0
)
{
err
(
"Problems running dot. Check your installation!
\n
"
);
out
<<
"</table>"
<<
endl
;
return
;
}
checkDotResult
(
imgName
);
dotArgs
.
sprintf
(
"-Timap
\"
%s
\"
-o
\"
%s
\"
"
,
dotName
.
data
(),
mapName
.
data
());
//printf("Running: dot -Timap %s -o %s\n",dotName.data(),mapName.data());
if
(
iSystem
(
Config_getString
(
"DOT_PATH"
)
+
"dot"
,
dotArgs
)
!=
0
)
{
err
(
"Problems running dot. Check your installation!
\n
"
);
out
<<
"</table>"
<<
endl
;
return
;
}
if
(
Config_getBool
(
"DOT_CLEANUP"
))
thisDir
.
remove
(
dotName
);
}
// write image and map in a table row
QCString
mapLabel
=
convertNameToFile
(
n
->
m_label
);
out
<<
"<tr><td><img src=
\"
"
<<
imgName
<<
"
\"
border=
\"
0
\"
alt=
\"\"
usemap=
\"
#"
<<
mapLabel
<<
"_map
\"
>"
<<
endl
;
out
<<
"<map name=
\"
"
<<
mapLabel
<<
"_map
\"
>"
<<
endl
;
convertMapFile
(
out
,
mapName
);
out
<<
"</map></td></tr>"
<<
endl
;
if
(
Config_getBool
(
"DOT_CLEANUP"
))
thisDir
.
remove
(
dotName
);
thisDir
.
remove
(
mapName
);
//thisDir.remove(mapName);
}
out
<<
"</table>"
<<
endl
;
...
...
@@ -1432,36 +1486,6 @@ QCString computeMd5Signature(DotNode *root,
return
sigStr
;
}
/*! Checks if a file "baseName".md5 exists. If so the contents
* are compared with \a md5. If equal FALSE is returned. If the .md5
* file does not exist or its contents are not equal to \a md5,
* a new .md5 is generated with the \a md5 string as contents.
*/
static
bool
checkAndUpdateMd5Signature
(
const
QCString
&
baseName
,
const
QCString
&
md5
)
{
QFile
f
(
baseName
+
".md5"
);
if
(
f
.
open
(
IO_ReadOnly
))
{
// read checksum
QCString
md5stored
(
33
);
int
bytesRead
=
f
.
readBlock
(
md5stored
.
data
(),
32
);
// compare checksum
if
(
bytesRead
==
32
&&
md5
==
md5stored
)
{
// bail out if equal
return
FALSE
;
}
}
f
.
close
();
// create checksum file
if
(
f
.
open
(
IO_WriteOnly
))
{
f
.
writeBlock
(
md5
.
data
(),
32
);
f
.
close
();
}
return
TRUE
;
}
static
bool
findMaximalDotGraph
(
DotNode
*
root
,
int
maxDist
,
const
QCString
&
baseName
,
...
...
@@ -1606,14 +1630,13 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
baseName
=
convertNameToFile
(
diskName
());
QCString
imgExt
=
Config_getEnum
(
"DOT_IMAGE_FORMAT"
);
if
(
findMaximalDotGraph
(
m_startNode
,
QMIN
(
m_recDepth
,
m_maxDistance
),
baseName
,
thisDir
,
m_graphType
,
format
,
!
isTBRank
,
m_graphType
==
DotNode
::
Inheritance
))
{
if
(
format
==
BITMAP
)
// run dot to create a bitmap image
{
QCString
dotArgs
(
maxCmdLine
);
QCString
imgExt
=
Config_getEnum
(
"DOT_IMAGE_FORMAT"
);
QCString
imgName
=
baseName
+
"."
+
imgExt
;
dotArgs
.
sprintf
(
"-T%s
\"
%s.dot
\"
-o
\"
%s
\"
"
,
imgExt
.
data
(),
baseName
.
data
(),
imgName
.
data
());
...
...
@@ -1634,36 +1657,6 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
QDir
::
setCurrent
(
oldDir
);
return
baseName
;
}
QCString
mapLabel
=
convertNameToFile
(
m_startNode
->
m_label
+
"_"
+
mapName
);
out
<<
"<p><center><img src=
\"
"
<<
baseName
<<
"."
<<
imgExt
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapLabel
<<
"
\"
alt=
\"
"
;
switch
(
m_graphType
)
{
case
DotNode
:
:
Collaboration
:
out
<<
"Collaboration graph"
;
break
;
//case Interface:
// out << "Interface dependency graph";
// break;
case
DotNode
:
:
Inheritance
:
out
<<
"Inheritance graph"
;
break
;
default
:
ASSERT
(
0
);
break
;
}
out
<<
"
\"
></center>"
<<
endl
;
QString
tmpstr
;
QTextOStream
tmpout
(
&
tmpstr
);
convertMapFile
(
tmpout
,
baseName
+
".map"
);
if
(
!
tmpstr
.
isEmpty
())
{
out
<<
"<map name=
\"
"
<<
mapLabel
<<
"
\"
>"
<<
endl
;
out
<<
tmpstr
;
out
<<
"</map>"
<<
endl
;
}
thisDir
.
remove
(
baseName
+
".map"
);
}
}
else
if
(
format
==
EPS
)
// run dot to create a .eps image
...
...
@@ -1676,13 +1669,6 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
QDir
::
setCurrent
(
oldDir
);
return
baseName
;
}
int
width
,
height
;
if
(
!
readBoundingBoxEPS
(
baseName
+
".eps"
,
&
width
,
&
height
))
{
err
(
"Error: Could not extract bounding box from .eps!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
baseName
;
}
if
(
Config_getBool
(
"USE_PDFLATEX"
))
{
QCString
epstopdfArgs
(
maxCmdLine
);
...
...
@@ -1695,8 +1681,51 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
return
baseName
;
}
}
int
maxWidth
=
420
;
/* approx. page width in points */
}
if
(
Config_getBool
(
"DOT_CLEANUP"
))
thisDir
.
remove
(
baseName
+
".dot"
);
}
if
(
format
==
BITMAP
)
// run dot to create a bitmap image
{
QCString
mapLabel
=
convertNameToFile
(
m_startNode
->
m_label
+
"_"
+
mapName
);
out
<<
"<p><center><img src=
\"
"
<<
baseName
<<
"."
<<
imgExt
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapLabel
<<
"
\"
alt=
\"
"
;
switch
(
m_graphType
)
{
case
DotNode
:
:
Collaboration
:
out
<<
"Collaboration graph"
;
break
;
case
DotNode
:
:
Inheritance
:
out
<<
"Inheritance graph"
;
break
;
default
:
ASSERT
(
0
);
break
;
}
out
<<
"
\"
></center>"
<<
endl
;
QString
tmpstr
;
QTextOStream
tmpout
(
&
tmpstr
);
convertMapFile
(
tmpout
,
baseName
+
".map"
);
if
(
!
tmpstr
.
isEmpty
())
{
out
<<
"<map name=
\"
"
<<
mapLabel
<<
"
\"
>"
<<
endl
;
out
<<
tmpstr
;
out
<<
"</map>"
<<
endl
;
}
//thisDir.remove(baseName+".map");
}
else
if
(
format
==
EPS
)
// run dot to create a .eps image
{
int
width
,
height
;
if
(
!
readBoundingBoxEPS
(
baseName
+
".eps"
,
&
width
,
&
height
))
{
err
(
"Error: Could not extract bounding box from .eps!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
baseName
;
}
int
maxWidth
=
420
;
/* approx. page width in points */
out
<<
"
\\
begin{figure}[H]
\n
"
"
\\
begin{center}
\n
"
"
\\
leavevmode
\n
"
...
...
@@ -1704,8 +1733,6 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
<<
"pt]{"
<<
baseName
<<
"}
\n
"
"
\\
end{center}
\n
"
"
\\
end{figure}
\n
"
;
}
if
(
Config_getBool
(
"DOT_CLEANUP"
))
thisDir
.
remove
(
baseName
+
".dot"
);
}
QDir
::
setCurrent
(
oldDir
);
...
...
@@ -1850,6 +1877,7 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
baseName
=
convertNameToFile
(
baseName
);
QCString
mapName
=
m_startNode
->
m_label
.
copy
();
if
(
m_inverse
)
mapName
+=
"dep"
;
QCString
imgExt
=
Config_getEnum
(
"DOT_IMAGE_FORMAT"
);
if
(
findMaximalDotGraph
(
m_startNode
,
QMIN
(
m_recDepth
,
m_maxDistance
),
baseName
,
thisDir
,
DotNode
::
Dependency
,
format
,
...
...
@@ -1860,7 +1888,6 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
{
// run dot to create a bitmap image
QCString
dotArgs
(
maxCmdLine
);
QCString
imgExt
=
Config_getEnum
(
"DOT_IMAGE_FORMAT"
);
QCString
imgName
=
baseName
+
"."
+
imgExt
;
dotArgs
.
sprintf
(
"-T%s
\"
%s.dot
\"
-o
\"
%s
\"
"
,
imgExt
.
data
(),
baseName
.
data
(),
imgName
.
data
());
...
...
@@ -1884,22 +1911,7 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
return
baseName
;
}
out
<<
"<p><center><img src=
\"
"
<<
baseName
<<
"."
<<
imgExt
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapName
<<
"_map
\"
alt=
\"
"
;
if
(
m_inverse
)
out
<<
"Included by dependency graph"
;
else
out
<<
"Include dependency graph"
;
out
<<
"
\"
>"
;
out
<<
"</center>"
<<
endl
;
QString
tmpstr
;
QTextOStream
tmpout
(
&
tmpstr
);
convertMapFile
(
tmpout
,
baseName
+
".map"
);
if
(
!
tmpstr
.
isEmpty
())
{
out
<<
"<map name=
\"
"
<<
mapName
<<
"_map
\"
>"
<<
endl
;
out
<<
tmpstr
;
out
<<
"</map>"
<<
endl
;
}
thisDir
.
remove
(
baseName
+
".map"
);
//thisDir.remove(baseName+".map");
}
}
else
if
(
format
==
EPS
)
...
...
@@ -1914,13 +1926,6 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
QDir
::
setCurrent
(
oldDir
);
return
baseName
;
}
int
width
,
height
;
if
(
!
readBoundingBoxEPS
(
baseName
+
".eps"
,
&
width
,
&
height
))
{
err
(
"Error: Could not extract bounding box from .eps!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
baseName
;
}
if
(
Config_getBool
(
"USE_PDFLATEX"
))
{
QCString
epstopdfArgs
(
maxCmdLine
);
...
...
@@ -1933,22 +1938,50 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
return
baseName
;
}
}
int
maxWidth
=
420
;
/* approx. page width in points */
out
<<
"
\\
begin{figure}[H]
\n
"
"
\\
begin{center}
\n
"
"
\\
leavevmode
\n
"
//"\\setlength{\\epsfxsize}{" << QMIN(width/2,maxWidth) << "pt}\n"
//"\\epsfbox{" << baseName << ".eps}\n"
"
\\
includegraphics[width="
<<
QMIN
(
width
/
2
,
maxWidth
)
<<
"pt]{"
<<
baseName
<<
"}
\n
"
"
\\
end{center}
\n
"
"
\\
end{figure}
\n
"
;
}
if
(
Config_getBool
(
"DOT_CLEANUP"
))
thisDir
.
remove
(
baseName
+
".dot"
);
}
if
(
format
==
BITMAP
)
{
out
<<
"<p><center><img src=
\"
"
<<
baseName
<<
"."
<<
imgExt
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapName
<<
"_map
\"
alt=
\"
"
;
if
(
m_inverse
)
out
<<
"Included by dependency graph"
;
else
out
<<
"Include dependency graph"
;
out
<<
"
\"
>"
;
out
<<
"</center>"
<<
endl
;
QString
tmpstr
;
QTextOStream
tmpout
(
&
tmpstr
);
convertMapFile
(
tmpout
,
baseName
+
".map"
);
if
(
!
tmpstr
.
isEmpty
())
{
out
<<
"<map name=
\"
"
<<
mapName
<<
"_map
\"
>"
<<
endl
;
out
<<
tmpstr
;
out
<<
"</map>"
<<
endl
;
}
}
else
if
(
format
==
EPS
)
{
int
width
,
height
;
if
(
!
readBoundingBoxEPS
(
baseName
+
".eps"
,
&
width
,
&
height
))
{
err
(
"Error: Could not extract bounding box from .eps!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
baseName
;
}
int
maxWidth
=
420
;
/* approx. page width in points */
out
<<
"
\\
begin{figure}[H]
\n
"
"
\\
begin{center}
\n
"
"
\\
leavevmode
\n
"
"
\\
includegraphics[width="
<<
QMIN
(
width
/
2
,
maxWidth
)
<<
"pt]{"
<<
baseName
<<
"}
\n
"
"
\\
end{center}
\n
"
"
\\
end{figure}
\n
"
;
}
QDir
::
setCurrent
(
oldDir
);
return
baseName
;
}
...
...
@@ -2014,68 +2047,87 @@ QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format,
QCString
baseName
=
m_diskName
+
"_cgraph"
;
//baseName=convertNameToFile(baseName);
QCString
mapName
=
baseName
;
QCString
imgExt
=
Config_getEnum
(
"DOT_IMAGE_FORMAT"
);
findMaximalDotGraph
(
m_startNode
,
QMIN
(
m_recDepth
,
m_maxDistance
),
if
(
findMaximalDotGraph
(
m_startNode
,
QMIN
(
m_recDepth
,
m_maxDistance
),
baseName
,
thisDir
,
DotNode
::
CallGraph
,
format
,
TRUE
,
FALSE
,
FALSE
);
if
(
format
==
BITMAP
)
TRUE
,
FALSE
,
FALSE
))
{
// run dot to create a bitmap image
QCString
dotArgs
(
maxCmdLine
);
QCString
imgExt
=
Config_getEnum
(
"DOT_IMAGE_FORMAT"
);
QCString
imgName
=
baseName
+
"."
+
imgExt
;
dotArgs
.
sprintf
(
"-T%s
\"
%s.dot
\"
-o
\"
%s
\"
"
,
imgExt
.
data
(),
baseName
.
data
(),
imgName
.
data
());
if
(
iSystem
(
Config_getString
(
"DOT_PATH"
)
+
"dot"
,
dotArgs
)
!=
0
)
if
(
format
==
BITMAP
)
{
err
(
"Problems running dot. Check your installation!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
baseName
;
}
checkDotResult
(
imgName
);
// run dot to create a bitmap image
QCString
dotArgs
(
maxCmdLine
);
QCString
imgName
=
baseName
+
"."
+
imgExt
;
dotArgs
.
sprintf
(
"-T%s
\"
%s.dot
\"
-o
\"
%s
\"
"
,
imgExt
.
data
(),
baseName
.
data
(),
imgName
.
data
());
if
(
iSystem
(
Config_getString
(
"DOT_PATH"
)
+
"dot"
,
dotArgs
)
!=
0
)
{
err
(
"Problems running dot. Check your installation!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
baseName
;
}
checkDotResult
(
imgName
);
if
(
generateImageMap
)
if
(
generateImageMap
)
{
// run dot again to create an image map
dotArgs
.
sprintf
(
"-Timap
\"
%s.dot
\"
-o
\"
%s.map
\"
"
,
baseName
.
data
(),
baseName
.
data
());
if
(
iSystem
(
Config_getString
(
"DOT_PATH"
)
+
"dot"
,
dotArgs
)
!=
0
)
{
err
(
"Problems running dot. Check your installation!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
baseName
;
}
}
}
else
if
(
format
==
EPS
)
{
// run dot again to create an image map
dotArgs
.
sprintf
(
"-Timap
\"
%s.dot
\"
-o
\"
%s.map
\"
"
,
baseName
.
data
(),
baseName
.
data
());
// run dot to create a .eps image
QCString
dotArgs
(
maxCmdLine
);
dotArgs
.
sprintf
(
"-Tps
\"
%s.dot
\"
-o
\"
%s.eps
\"
"
,
baseName
.
data
(),
baseName
.
data
());
if
(
iSystem
(
Config_getString
(
"DOT_PATH"
)
+
"dot"
,
dotArgs
)
!=
0
)
{
err
(
"Problems running dot. Check your installation!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
baseName
;
}
out
<<
"<p><center><img src=
\"
"
<<
baseName
<<
"."
<<
imgExt
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapName
<<
"_map
\"
alt=
\"
"
;
out
<<
"
\"
>"
;
out
<<
"</center>"
<<
endl
;
QString
tmpstr
;
QTextOStream
tmpout
(
&
tmpstr
);
convertMapFile
(
tmpout
,
baseName
+
".map"
);
if
(
!
tmpstr
.
isEmpty
())
if
(
Config_getBool
(
"USE_PDFLATEX"
))
{
out
<<
"<map name=
\"
"
<<
mapName
<<
"_map
\"
>"
<<
endl
;
out
<<
tmpstr
;
out
<<
"</map>"
<<
endl
;
QCString
epstopdfArgs
(
maxCmdLine
);
epstopdfArgs
.
sprintf
(
"
\"
%s.eps
\"
--outfile=
\"
%s.pdf
\"
"
,
baseName
.
data
(),
baseName
.
data
());
if
(
iSystem
(
"epstopdf"
,
epstopdfArgs
,
TRUE
)
!=
0
)
{
err
(
"Error: Problems running epstopdf. Check your TeX installation!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
baseName
;
}
}
thisDir
.
remove
(
baseName
+
".map"
);
}
}
else
if
(
format
==
EPS
)
if
(
format
==
BITMAP
)
{
// run dot to create a .eps image
QCString
dotArgs
(
maxCmdLine
);
dotArgs
.
sprintf
(
"-Tps
\"
%s.dot
\"
-o
\"
%s.eps
\"
"
,
baseName
.
data
(),
baseName
.
data
());
if
(
iSystem
(
Config_getString
(
"DOT_PATH"
)
+
"dot"
,
dotArgs
)
!=
0
)
out
<<
"<p><center><img src=
\"
"
<<
baseName
<<
"."
<<
imgExt
<<
"
\"
border=
\"
0
\"
usemap=
\"
#"
<<
mapName
<<
"_map
\"
alt=
\"
"
;
out
<<
"
\"
>"
;
out
<<
"</center>"
<<
endl
;
QString
tmpstr
;
QTextOStream
tmpout
(
&
tmpstr
);
convertMapFile
(
tmpout
,
baseName
+
".map"
);
if
(
!
tmpstr
.
isEmpty
())
{
err
(
"Problems running dot. Check your installation!
\n
"
)
;
QDir
::
setCurrent
(
oldDir
)
;
return
baseName
;
out
<<
"<map name=
\"
"
<<
mapName
<<
"_map
\"
>"
<<
endl
;
out
<<
tmpstr
;
out
<<
"</map>"
<<
endl
;
}
//thisDir.remove(baseName+".map");
}
else
if
(
format
==
EPS
)
{
int
width
,
height
;
if
(
!
readBoundingBoxEPS
(
baseName
+
".eps"
,
&
width
,
&
height
))
{
...
...
@@ -2083,18 +2135,6 @@ QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format,
QDir
::
setCurrent
(
oldDir
);
return
baseName
;
}
if
(
Config_getBool
(
"USE_PDFLATEX"
))
{
QCString
epstopdfArgs
(
maxCmdLine
);
epstopdfArgs
.
sprintf
(
"
\"
%s.eps
\"
--outfile=
\"
%s.pdf
\"
"
,
baseName
.
data
(),
baseName
.
data
());
if
(
iSystem
(
"epstopdf"
,
epstopdfArgs
,
TRUE
)
!=
0
)
{
err
(
"Error: Problems running epstopdf. Check your TeX installation!
\n
"
);
QDir
::
setCurrent
(
oldDir
);
return
baseName
;
}
}
int
maxWidth
=
420
;
/* approx. page width in points */
out
<<
"
\\
begin{figure}[H]
\n
"
...
...
src/doxygen.cpp
View file @
a2a1e97f
...
...
@@ -4037,7 +4037,7 @@ static void addMemberDocs(Entry *root,
static
ClassDef
*
findClassDefinition
(
FileDef
*
fd
,
NamespaceDef
*
nd
,
const
char
*
scopeName
)
{
ClassDef
*
tcd
=
get
Class
(
scopeName
);
ClassDef
*
tcd
=
get
ResolvedClass
(
nd
,
fd
,
scopeName
);
if
(
tcd
==
0
)
// try using declaration
{
ClassSDict
*
cl
=
0
;
...
...
@@ -4438,7 +4438,7 @@ static void findMember(Entry *root,
}
//printf("new scope=`%s'\n",scopeName.data());
QCString
tempScopeName
=
scopeName
.
copy
()
;
QCString
tempScopeName
=
scopeName
;
ClassDef
*
cd
=
getClass
(
scopeName
);
if
(
cd
)
{
...
...
src/ftvhelp.cpp
View file @
a2a1e97f
...
...
@@ -625,6 +625,9 @@ void FTVHelp::generateTreeView()
else
{
QTextStream
t
(
&
f
);
#if QT_VERSION >= 200
t
.
setEncoding
(
QTextStream
::
Latin1
);
#endif
t
<<
"<html xmlns=
\"
http://www.w3.org/1999/xhtml
\"
xml:lang=
\"
en
\"
lang=
\"
en
\"
>
\n
"
;
t
<<
" <head>
\n
"
;
t
<<
" <meta http-equiv=
\"
Content-Type
\"
content=
\"
text/xhtml;charset=
\"
"
...
...
src/htmlgen.cpp
View file @
a2a1e97f
...
...
@@ -1397,6 +1397,9 @@ void HtmlGenerator::writeSearchPage()
if
(
f
.
open
(
IO_WriteOnly
))
{
QTextStream
t
(
&
f
);
#if QT_VERSION >= 200
t
.
setEncoding
(
QTextStream
::
Latin1
);
#endif
if
(
g_header
.
isEmpty
())
{
writeDefaultHeaderFile
(
t
,
"Search"
);
...
...
src/latexgen.cpp
View file @
a2a1e97f
...
...
@@ -247,7 +247,8 @@ static void writeDefaultHeaderPart1(QTextStream &t)
"
\\
usepackage{multicol}
\n
"
"
\\
usepackage{float}
\n
"
"
\\
usepackage{textcomp}
\n
"
"
\\
usepackage{alltt}
\n
"
;
"
\\
usepackage{alltt}
\n
"
"
\\
usepackage{ae,aecompl,aeguill}
\n
"
;
if
(
Config_getBool
(
"PDF_HYPERLINKS"
))
{
t
<<
"
\\
usepackage{times}"
<<
endl
;
...
...
src/memberdef.cpp
View file @
a2a1e97f
...
...
@@ -522,7 +522,7 @@ QCString MemberDef::anchor() const
bool
MemberDef
::
isLinkableInProject
()
const
{
//printf("MemberDef::isLinkableInProject(
)\n"
);
//printf("MemberDef::isLinkableInProject(
name=%s)\n",name().data()
);
if
(
m_templateMaster
)
{
return
m_templateMaster
->
isLinkableInProject
();
...
...
src/memberlist.cpp
View file @
a2a1e97f
...
...
@@ -243,7 +243,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
if
(
md
->
isDetailedSectionLinkable
())
{
ol
.
disableAllBut
(
OutputGenerator
::
Html
);
ol
.
endEmphasis
();
//
ol.endEmphasis();
ol
.
docify
(
" "
);
if
(
md
->
getGroupDef
()
!=
0
&&
gd
==
0
)
// forward link to group
{
...
...
@@ -256,7 +256,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
}
ol
.
parseText
(
theTranslator
->
trMore
());
ol
.
endTextLink
();
ol
.
startEmphasis
();
//
ol.startEmphasis();
ol
.
enableAll
();
}
ol
.
endMemberDescription
();
...
...
src/pngenc.cpp
View file @
a2a1e97f
...
...
@@ -24,7 +24,8 @@
# define png_jmpbuf(png_ptr) ((png_ptr)->jmpbuf)
#endif
#include <png.h>
#define ALL_STATIC
#include <../libpng/png.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
...
...
src/scanner.l
View file @
a2a1e97f
...
...
@@ -672,6 +672,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
%x EnumDocArg1
%x FuncPtr
%x EndFuncPtr
%x FuncPtrInit
%x FuncFunc
%x FuncFuncEnd
%x FuncFuncType
...
...
@@ -2643,8 +2644,32 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
lastCPPContext = YY_START;
BEGIN(SkipCPP);
}
<FuncQual>"=" { // typically a initialized function pointer
<FuncQual>"=" { // typically a
n
initialized function pointer
current->args += *yytext;
BEGIN(FuncPtrInit);
}
<FuncPtrInit>[{;] {
unput(*yytext);
BEGIN(FuncQual);
}
<FuncPtrInit>\" {
current->args += *yytext;
pCopyQuotedString=¤t->args;
lastStringContext=FuncPtrInit;
BEGIN(CopyString);
}
<FuncPtrInit>{CHARLIT} {
current->args += yytext;
}
<FuncPtrInit>{ID} {
current->args += yytext;
}
<FuncPtrInit>. {
current->args += *yytext;
}
<FuncPtrInit>\n {
current->args += *yytext;
yyLineNr++;
}
<FuncQual>{ID} { // typically a K&R style C function
if (checkForKnRstyleC())
...
...
src/util.cpp
View file @
a2a1e97f
...
...
@@ -17,7 +17,7 @@
#include <stdlib.h>
#include <ctype.h>
#if
def _WIN32
#if
defined(_WIN32) && !defined(__CYGWIN__)
#include <windows.h>
#endif
...
...
@@ -43,7 +43,7 @@
#include "reflist.h"
#include "pagedef.h"
#if
ndef _WIN32
#if
!defined(_WIN32) || defined(__CYGWIN__)
#include <unistd.h>
#include <stdlib.h>
#include <sys/types.h>
...
...
@@ -94,7 +94,7 @@ int iSystem(const char *command,const char *args,bool isBatchFile)
{
QTime
time
;
time
.
start
();
#if
ndef _WIN32
#if
!defined(_WIN32) || defined(__CYGWIN__)
isBatchFile
=
isBatchFile
;
/*! taken from the system() manpage on my Linux box */
int
pid
,
status
=
0
;
...
...
@@ -167,7 +167,7 @@ int iSystem(const char *command,const char *args,bool isBatchFile)
}
#endif // _OS_SOLARIS
#else
#else
// Win32 specific
if
(
isBatchFile
)
{
QCString
fullCmd
=
command
;
...
...
@@ -2697,6 +2697,7 @@ bool getDefs(const QCString &scName,const QCString &memberName,
}
if
(
bmd
)
md
=
bmd
;
}
if
(
md
&&
!
md
->
isLinkable
())
md
=
0
;
// ignore things we cannot link to
if
(
md
)
// found a matching global member
{
fd
=
md
->
getFileDef
();
...
...
@@ -2963,18 +2964,19 @@ bool generateRef(OutputDocInterface &od,const char *scName,
if
(
resolveRef
(
scName
,
name
,
inSeeBlock
,
&
compound
,
&
md
))
{
if
(
md
)
// link to member
if
(
md
&&
md
->
isLinkable
()
)
// link to member
{
od
.
writeObjectLink
(
md
->
getReference
(),
md
->
getOutputFileBase
(),
md
->
anchor
(),
linkText
);
// generate the page reference (for LaTeX)
if
(
md
->
isLinkableInProject
())
if
(
!
md
->
isReference
())
{
writePageRef
(
od
,
md
->
getOutputFileBase
(),
md
->
anchor
());
}
return
TRUE
;
}
else
// link to compound
else
if
(
compound
&&
compound
->
isLinkable
())
// link to compound
{
if
(
rt
==
0
&&
compound
->
definitionType
()
==
Definition
::
TypeGroup
)
{
...
...
@@ -2991,14 +2993,11 @@ bool generateRef(OutputDocInterface &od,const char *scName,
{
writePageRef
(
od
,
compound
->
getOutputFileBase
(),
0
);
}
return
TRUE
;
}
return
TRUE
;
}
else
// no link possible
{
od
.
docify
(
linkText
);
return
FALSE
;
}
od
.
docify
(
linkText
);
return
FALSE
;
}
bool
resolveLink
(
/* in */
const
char
*
scName
,
...
...
src/xmlgen.cpp
View file @
a2a1e97f
...
...
@@ -1012,6 +1012,11 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
proSlots
,
"protected-slot"
);
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
proStaticMethods
,
"protected-static-func"
);
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
proStaticAttribs
,
"protected-static-attrib"
);
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
pacTypes
,
"package-type"
);
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
pacMethods
,
"package-func"
);
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
pacAttribs
,
"package-attrib"
);
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
pacStaticMethods
,
"package-static-func"
);
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
pacStaticAttribs
,
"package-static-attrib"
);
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
priTypes
,
"private-type"
);
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
priMethods
,
"private-func"
);
generateXMLSection
(
cd
,
ti
,
t
,
&
cd
->
priAttribs
,
"private-attrib"
);
...
...
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