Doxygen
Toggle main menu visibility
Loading...
Searching...
No Matches
dotclassgraph.h
Go to the documentation of this file.
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 DOTCLASSGRAPH_H
17
#define DOTCLASSGRAPH_H
18
19
#include <memory>
20
21
#include "
classdef.h
"
22
#include "
dotnode.h
"
23
#include "
dotgraph.h
"
24
25
class
TextStream
;
26
27
/** Representation of a class inheritance or dependency graph */
28
class
DotClassGraph
:
public
DotGraph
29
{
30
public
:
31
DotClassGraph
(
const
ClassDef
*cd,
GraphType
t);
32
~DotClassGraph
()
override
;
33
NON_COPYABLE
(
DotClassGraph
)
34
35
bool
isTrivial
()
const
;
36
bool
isTooBig
()
const
;
37
int
numNodes
()
const
;
38
QCString
writeGraph
(
TextStream
&t,
GraphOutputFormat
gf,
EmbeddedOutputFormat
ef,
39
const
QCString
&path,
const
QCString
&fileName,
const
QCString
&relPath,
40
bool
TBRank=
TRUE
,
bool
imageMap=
TRUE
,
int
graphId=-1);
41
42
void
writeXML
(
TextStream
&t);
43
void
writeDocbook
(
TextStream
&t);
44
void
writeDEF
(
TextStream
&t);
45
46
protected
:
47
QCString
getBaseName
()
const override
;
48
QCString
getMapLabel
()
const override
;
49
void
computeTheGraph
()
override
;
50
QCString
getImgAltText
()
const override
;
51
52
private
:
53
void
buildGraph
(
const
ClassDef
*cd,
DotNode
*n,
bool
base,
int
distance);
54
bool
determineVisibleNodes
(
DotNode
*rootNode,
int
maxNodes,
bool
includeParents);
55
void
determineTruncatedNodes
(
DotNodeDeque
&queue,
bool
includeParents);
56
void
addClass
(
const
ClassDef
*cd,
DotNode
*n,
EdgeInfo::Colors
color,
const
QCString
&label,
57
const
QCString
&usedName,
const
QCString
&templSpec,
58
bool
base,
int
distance);
59
60
DotNode
*
m_startNode
;
61
DotNodeMap
m_usedNodes
;
62
GraphType
m_graphType
;
63
QCString
m_collabFileName
;
64
QCString
m_inheritFileName
;
65
bool
m_lrRank
;
66
};
67
68
using
DotClassGraphPtr
= std::shared_ptr<DotClassGraph>;
69
70
#endif
ClassDef
A abstract class representing of a compound symbol.
Definition
classdef.h:104
DotClassGraph::writeGraph
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool TBRank=TRUE, bool imageMap=TRUE, int graphId=-1)
Definition
dotclassgraph.cpp:449
DotClassGraph::m_usedNodes
DotNodeMap m_usedNodes
Definition
dotclassgraph.h:61
DotClassGraph::writeDocbook
void writeDocbook(TextStream &t)
Definition
dotclassgraph.cpp:472
DotClassGraph::writeXML
void writeXML(TextStream &t)
Definition
dotclassgraph.cpp:464
DotClassGraph::getBaseName
QCString getBaseName() const override
Definition
dotclassgraph.cpp:382
DotClassGraph::isTooBig
bool isTooBig() const
Definition
dotclassgraph.cpp:361
DotClassGraph::DotClassGraph
DotClassGraph(const ClassDef *cd, GraphType t)
Definition
dotclassgraph.cpp:316
DotClassGraph::m_startNode
DotNode * m_startNode
Definition
dotclassgraph.h:60
DotClassGraph::m_graphType
GraphType m_graphType
Definition
dotclassgraph.h:62
DotClassGraph::determineVisibleNodes
bool determineVisibleNodes(DotNode *rootNode, int maxNodes, bool includeParents)
Definition
dotclassgraph.cpp:145
DotClassGraph::m_inheritFileName
QCString m_inheritFileName
Definition
dotclassgraph.h:64
DotClassGraph::getMapLabel
QCString getMapLabel() const override
Definition
dotclassgraph.cpp:413
DotClassGraph::~DotClassGraph
~DotClassGraph() override
Definition
dotclassgraph.cpp:377
DotClassGraph::isTrivial
bool isTrivial() const
Definition
dotclassgraph.cpp:353
DotClassGraph::m_lrRank
bool m_lrRank
Definition
dotclassgraph.h:65
DotClassGraph::computeTheGraph
void computeTheGraph() override
Definition
dotclassgraph.cpp:399
DotClassGraph::determineTruncatedNodes
void determineTruncatedNodes(DotNodeDeque &queue, bool includeParents)
Definition
dotclassgraph.cpp:114
DotClassGraph::numNodes
int numNodes() const
Definition
dotclassgraph.cpp:366
DotClassGraph::addClass
void addClass(const ClassDef *cd, DotNode *n, EdgeInfo::Colors color, const QCString &label, const QCString &usedName, const QCString &templSpec, bool base, int distance)
Definition
dotclassgraph.cpp:26
DotClassGraph::writeDEF
void writeDEF(TextStream &t)
Definition
dotclassgraph.cpp:480
DotClassGraph::buildGraph
void buildGraph(const ClassDef *cd, DotNode *n, bool base, int distance)
Definition
dotclassgraph.cpp:252
DotClassGraph::getImgAltText
QCString getImgAltText() const override
Definition
dotclassgraph.cpp:432
DotClassGraph::m_collabFileName
QCString m_collabFileName
Definition
dotclassgraph.h:63
DotGraph::DotGraph
DotGraph()
Definition
dotgraph.h:38
DotGraph::DotNode
friend class DotNode
Definition
dotgraph.h:36
DotNodeDeque
Definition
dotnode.h:154
DotNodeMap
Definition
dotnode.h:150
EdgeInfo::Colors
Colors
Definition
dotnode.h:35
QCString
This is an alternative implementation of QCString.
Definition
qcstring.h:101
TextStream
Text streaming class that buffers data.
Definition
textstream.h:36
classdef.h
NON_COPYABLE
#define NON_COPYABLE(cls)
Macro to help implementing the rule of 5 for a non-copyable & movable class.
Definition
construct.h:37
DotClassGraphPtr
std::shared_ptr< DotClassGraph > DotClassGraphPtr
Definition
dotclassgraph.h:68
dotgraph.h
GraphType
GraphType
Definition
dotgraph.h:31
EmbeddedOutputFormat
EmbeddedOutputFormat
Definition
dotgraph.h:30
GraphOutputFormat
GraphOutputFormat
Definition
dotgraph.h:29
dotnode.h
TRUE
#define TRUE
Definition
qcstring.h:37
src
dotclassgraph.h
Generated by
1.17.0