47 case Protection::Public:
return Blue;
48 case Protection::Protected:
return Green;
49 case Protection::Private:
return Red;
50 case Protection::Package:
return Purple;
74 bool rootNode=
false,
const ClassDef *cd=
nullptr);
91 bool topDown,
bool toChildren,
bool backArrows);
98 bool hasNonReachableChildren)
const;
100 const EdgeInfo *ei,
bool topDown,
bool pointBack=
true)
const;
148class DotNodeMap final :
public std::map<std::string,DotNode*>
A abstract class representing of a compound symbol.
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
void writeDEF(TextStream &t) const
int findParent(DotNode *n)
static DString convertLabel(const DString &, LabelStyle=LabelStyle::Plain)
void writeUrl(TextStream &t) const
void setDistance(int distance)
void writeArrow(TextStream &t, GraphType gt, GraphOutputFormat f, const DotNode *cn, const EdgeInfo *ei, bool topDown, bool pointBack=true) const
void write(TextStream &t, GraphType gt, GraphOutputFormat f, bool topDown, bool toChildren, bool backArrows)
bool m_isRoot
indicates if this is a root node
void removeParent(DotNode *n)
void markAsVisible(bool b=true)
const EdgeInfoVector & edgeInfo() const
bool m_hasDoc
used to mark a node as documented
void writeBox(TextStream &t, GraphType gt, GraphOutputFormat f, bool hasNonReachableChildren) const
TruncState m_truncated
does the node have non-visible children/parents
void writeDocbook(TextStream &t, bool isClassGraph) const
void renumberNodes(int &number)
bool m_written
used to mark a node as written
void setSubgraphId(int id)
void removeChild(DotNode *n)
static void deleteNodes(DotNode *node)
EdgeInfoVector m_edgeInfo
edge info for each child
bool isRenumbered() const
int m_distance
shortest path to the root node
bool m_renumbered
indicates if the node has been renumbered (to prevent endless loops)
DotNode & markHasDocumentation()
void addParent(DotNode *n)
DotNode(DotGraph *graph, const DString &lab, const DString &tip, const DString &url, bool rootNode=false, const ClassDef *cd=nullptr)
DotNodeRefVector m_parents
list of parent nodes (incoming arrows)
bool m_visible
is the node visible in the output
void addChild(DotNode *n, EdgeInfo::Colors edgeColor=EdgeInfo::Purple, EdgeInfo::Styles edgeStyle=EdgeInfo::Solid, const DString &edgeLab=DString(), const DString &edgeURL=DString(), int edgeLabColor=-1)
DString m_tooltip
node's tooltip
void colorConnectedNodes(int curColor)
DotNodeRefVector m_children
list of child nodes (outgoing arrows)
bool hasDocumentation() const
DString m_label
label text
DotNode & markAsTruncated(bool b=true)
const DotNodeRefVector & parents() const
const ClassDef * m_classDef
class representing this node (can be 0)
static constexpr auto placeholderUrl
const DotNodeRefVector & children() const
TruncState isTruncated() const
bool m_deleted
used to mark a node as deleted
DotNode & setNodeId(int number)
void deleteNode(DotNodeRefVector &deletedList)
void writeLabel(TextStream &t, GraphType gt) const
void writeXML(TextStream &t, bool isClassGraph) const
DString m_url
url of the node (format: remote$local)
Attributes of an edge of a dot graph.
EdgeInfo(Colors color, Styles style, const DString &lab, const DString &url, int labColor)
static constexpr Colors protectionToColor(Protection prot)
Text streaming class that buffers data.
std::vector< DotNode * > DotNodeRefVector
std::vector< EdgeInfo > EdgeInfoVector
DString escapeTooltip(const DString &tooltip)
This file contains a number of basic enums and types.