26 if (def==
nullptr) def = md;
36 for (
const auto &rmd : refs)
38 if (rmd->isCallable())
54 name = rmd->getOuterScope()==
m_scope ?
55 rmd->name() : rmd->qualifiedName();
59 name = rmd->qualifiedName();
61 QCString tooltip = rmd->briefDescriptionAsTooltip();
82 while (!queue.empty() && maxNodes>0)
101 while (!queue.empty())
107 bool truncated =
FALSE;
108 for (
const auto &dn : n->
children())
110 if (!dn->isVisible())
150 openNodeQueue.clear();
189 const QCString &relPath,
bool generateImageMap,
194 return DotGraph::writeGraph(out, graphFormat, textFormat, path, fileName, relPath, generateImageMap, graphId);
209 return static_cast<int>(
m_startNode->children().size());
215 for (
const auto &rmd : refs)
217 if (rmd->isCallable())
virtual SrcLangExt getLanguage() const =0
Returns the programming language this definition was written in.
virtual QCString anchor() const =0
virtual QCString briefDescriptionAsTooltip() const =0
virtual QCString getReference() const =0
virtual QCString qualifiedName() const =0
virtual QCString getOutputFileBase() const =0
virtual Definition * getOuterScope() const =0
virtual const MemberVector & getReferencedByMembers() const =0
virtual const MemberVector & getReferencesMembers() const =0
virtual const QCString & name() const =0
DotCallGraph(const MemberDef *md, bool inverse)
void computeTheGraph() override
void buildGraph(DotNode *n, const MemberDef *md, int distance)
QCString getBaseName() const override
const Definition * m_scope
QCString getMapLabel() const override
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)
void determineTruncatedNodes(DotNodeDeque &queue)
void determineVisibleNodes(DotNodeDeque &queue, int &maxNodes)
static void computeGraph(DotNode *root, GraphType gt, GraphOutputFormat format, const QCString &rank, bool renderParents, bool backArrows, const QCString &title, QCString &graphStr)
GraphOutputFormat m_graphFormat
bool m_doNotAddImageToIndex
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)
void setDistance(int distance)
void markAsVisible(bool b=TRUE)
DotNode & markAsTruncated(bool b=TRUE)
static void deleteNodes(DotNode *node)
void addParent(DotNode *n)
void addChild(DotNode *n, EdgeInfo::Colors edgeColor=EdgeInfo::Purple, EdgeInfo::Styles edgeStyle=EdgeInfo::Solid, const QCString &edgeLab=QCString(), const QCString &edgeURL=QCString(), int edgeLabCol=-1)
const DotNodeRefVector & children() const
TruncState isTruncated() const
A model of a class/file/namespace member symbol.
virtual MemberDef * memberDefinition() const =0
This is an alternative implementation of QCString.
const std::string & str() const
Text streaming class that buffers data.
#define Config_getInt(name)
#define Config_getBool(name)
static QCString getUniqueId(const MemberDef *md)
QCString linkToText(SrcLangExt lang, const QCString &link, bool isFileName)
A bunch of utility functions.