Doxygen
dotgroupcollaboration.h
浏览该文件的文档.
1
/******************************************************************************
2
*
3
* Copyright (C) 1997-2019 by Dimitri van Heesch.
4
*
5
* Permission to use, copy, modify, and distribute this software and its
6
* documentation under the terms of the GNU General Public License is hereby
7
* granted. No representations are made about the suitability of this software
8
* for any purpose. It is provided "as is" without express or implied warranty.
9
* See the GNU General Public License for more details.
10
*
11
* Documents produced by Doxygen are derivative works derived from the
12
* input used in their production; they are not affected by this license.
13
*
14
*/
15
16
#ifndef DOTGROUPCOLLABORATION_H
17
#define DOTGROUPCOLLABORATION_H
18
19
#include <memory>
20
21
#include "
dotnode.h
"
22
#include "
dotgraph.h
"
23
#include "
groupdef.h
"
24
25
class
TextStream
;
26
27
/** Representation of a group collaboration graph */
28
class
DotGroupCollaboration
:
public
DotGraph
29
{
30
public :
31
DotGroupCollaboration
(
const
GroupDef
* gd);
32
~DotGroupCollaboration
();
33
QCString
writeGraph
(
TextStream
&t,
GraphOutputFormat
gf,
EmbeddedOutputFormat
ef,
34
const
QCString
&path,
const
QCString
&fileName,
const
QCString
&relPath,
35
bool
writeImageMap=
TRUE
,
int
graphId=-1);
36
bool
isTrivial
()
const
;
37
38
protected
:
39
virtual
QCString
getBaseName
()
const
;
40
virtual
QCString
getMapLabel
()
const
;
41
virtual
void
computeTheGraph
();
42
43
private :
44
enum
EdgeType
45
{
46
tmember
= 0,
47
tclass
,
48
tnamespace
,
49
tfile
,
50
tpages
,
51
tdir
,
52
thierarchy
53
};
54
55
struct
Link
56
{
57
Link
(
const
QCString
&lab,
const
QCString
&u) :
label
(lab),
url
(u) {}
58
QCString
label
;
59
QCString
url
;
60
};
61
62
struct
Edge
63
{
64
Edge
(
DotNode
*start,
DotNode
*
end
,
EdgeType
type)
65
:
pNStart
(start),
pNEnd
(
end
),
eType
(type) {}
66
67
DotNode
*
pNStart
;
68
DotNode
*
pNEnd
;
69
EdgeType
eType
;
70
71
std::vector<Link>
links
;
72
void
write
(
TextStream
&t )
const
;
73
};
74
75
void
buildGraph
(
const
GroupDef
* gd);
76
void
addCollaborationMember
(
const
Definition
* def,
QCString
& url,
EdgeType
eType );
77
void
addMemberList
(
class
MemberList
* ml );
78
void
writeGraphHeader
(
TextStream
&t,
const
QCString
&title)
const
;
79
Edge
*
addEdge
(
DotNode
* _pNStart,
DotNode
* _pNEnd,
EdgeType
_eType,
80
const
QCString
& _label,
const
QCString
& _url );
81
82
DotNode
*
m_rootNode
;
83
DotNodeMap
m_usedNodes
;
84
QCString
m_diskName
;
85
std::vector< std::unique_ptr<Edge> >
m_edges
;
86
};
87
88
using
DotGroupCollaborationPtr
= std::shared_ptr<DotGroupCollaboration>;
89
90
#endif
DotGroupCollaborationPtr
std::shared_ptr< DotGroupCollaboration > DotGroupCollaborationPtr
Definition:
dotgroupcollaboration.h:88
DotGroupCollaboration::Edge::write
void write(TextStream &t) const
Definition:
dotgroupcollaboration.cpp:252
DotGroupCollaboration::Edge::links
std::vector< Link > links
Definition:
dotgroupcollaboration.h:71
DotGroupCollaboration::computeTheGraph
virtual void computeTheGraph()
Definition:
dotgroupcollaboration.cpp:209
DotGroupCollaboration::addCollaborationMember
void addCollaborationMember(const Definition *def, QCString &url, EdgeType eType)
Definition:
dotgroupcollaboration.cpp:179
Definition
The common base class of all entity definitions found in the sources.
Definition:
definition.h:76
DotGroupCollaboration::m_usedNodes
DotNodeMap m_usedNodes
Definition:
dotgroupcollaboration.h:83
DotGroupCollaboration::~DotGroupCollaboration
~DotGroupCollaboration()
Definition:
dotgroupcollaboration.cpp:38
DotGroupCollaboration::getMapLabel
virtual QCString getMapLabel() const
Definition:
dotgroupcollaboration.cpp:237
DotGroupCollaboration::tnamespace
@ tnamespace
Definition:
dotgroupcollaboration.h:48
dotnode.h
DotGroupCollaboration::m_rootNode
DotNode * m_rootNode
Definition:
dotgroupcollaboration.h:82
DotGroupCollaboration::thierarchy
@ thierarchy
Definition:
dotgroupcollaboration.h:52
DotGroupCollaboration::Edge::pNStart
DotNode * pNStart
Definition:
dotgroupcollaboration.h:67
DotGroupCollaboration::isTrivial
bool isTrivial() const
Definition:
dotgroupcollaboration.cpp:312
DotGroupCollaboration::writeGraph
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)
Definition:
dotgroupcollaboration.cpp:242
DotGroupCollaboration::addMemberList
void addMemberList(class MemberList *ml)
Definition:
dotgroupcollaboration.cpp:144
TextStream
Text streaming class that buffers data.
Definition:
textstream.h:33
DotGroupCollaboration::Edge::pNEnd
DotNode * pNEnd
Definition:
dotgroupcollaboration.h:68
end
DirIterator end(const DirIterator &) noexcept
Definition:
dir.cpp:128
GroupDef
A model of a group of symbols.
Definition:
groupdef.h:49
DotNode
A node in a dot graph
Definition:
dotnode.h:56
DotGroupCollaboration::tclass
@ tclass
Definition:
dotgroupcollaboration.h:47
DotGroupCollaboration::tdir
@ tdir
Definition:
dotgroupcollaboration.h:51
DotGroupCollaboration::Edge::eType
EdgeType eType
Definition:
dotgroupcollaboration.h:69
DotGroupCollaboration::m_diskName
QCString m_diskName
Definition:
dotgroupcollaboration.h:84
DotGroupCollaboration::Link
Definition:
dotgroupcollaboration.h:55
DotGroupCollaboration::Edge
Definition:
dotgroupcollaboration.h:62
TRUE
#define TRUE
Definition:
qcstring.h:36
DotNodeMap
Definition:
dotnode.h:133
DotGroupCollaboration::writeGraphHeader
void writeGraphHeader(TextStream &t, const QCString &title) const
Definition:
dotgroupcollaboration.cpp:317
DotGroupCollaboration::Link::Link
Link(const QCString &lab, const QCString &u)
Definition:
dotgroupcollaboration.h:57
dotgraph.h
DotGroupCollaboration::Link::url
QCString url
Definition:
dotgroupcollaboration.h:59
DotGroupCollaboration::EdgeType
EdgeType
Definition:
dotgroupcollaboration.h:44
DotGroupCollaboration::addEdge
Edge * addEdge(DotNode *_pNStart, DotNode *_pNEnd, EdgeType _eType, const QCString &_label, const QCString &_url)
Definition:
dotgroupcollaboration.cpp:155
DotGroupCollaboration::buildGraph
void buildGraph(const GroupDef *gd)
Definition:
dotgroupcollaboration.cpp:47
DotGroupCollaboration::getBaseName
virtual QCString getBaseName() const
Definition:
dotgroupcollaboration.cpp:204
DotGroupCollaboration
Representation of a group collaboration graph
Definition:
dotgroupcollaboration.h:28
DotGroupCollaboration::tmember
@ tmember
Definition:
dotgroupcollaboration.h:46
groupdef.h
EmbeddedOutputFormat
EmbeddedOutputFormat
Definition:
dotgraph.h:28
GraphOutputFormat
GraphOutputFormat
Definition:
dotgraph.h:27
DotGroupCollaboration::tfile
@ tfile
Definition:
dotgroupcollaboration.h:49
DotGroupCollaboration::Link::label
QCString label
Definition:
dotgroupcollaboration.h:58
DotGroupCollaboration::Edge::Edge
Edge(DotNode *start, DotNode *end, EdgeType type)
Definition:
dotgroupcollaboration.h:64
DotGraph
A dot graph
Definition:
dotgraph.h:32
DotGroupCollaboration::m_edges
std::vector< std::unique_ptr< Edge > > m_edges
Definition:
dotgroupcollaboration.h:85
DotGroupCollaboration::tpages
@ tpages
Definition:
dotgroupcollaboration.h:50
MemberList
A list of MemberDef objects as shown in documentation sections.
Definition:
memberlist.h:81
DotGroupCollaboration::DotGroupCollaboration
DotGroupCollaboration(const GroupDef *gd)
Definition:
dotgroupcollaboration.cpp:25
QCString
This is an alternative implementation of QCString.
Definition:
qcstring.h:108
src
dotgroupcollaboration.h
生成于 2021年 十一月 27日 星期六 08:40:52 , 为 Doxygen使用
1.8.17