浏览该文件的文档.
41 md5stream <<
" rankdir=\"LR\";\n";
46 node->clearWriteFlag();
87 term(
"Output dir %s does not exist!\n",
qPrint(path));
91 out <<
"<table border=\"0\" cellspacing=\"10\" cellpadding=\"0\">\n";
95 [](
auto n1,
auto n2) { return qstricmp(n1->label(),n2->label())<0; });
100 out <<
"</td></tr>\n";
120 const auto &bn = it->second;
122 const auto &children = n->
children();
123 auto child_it = std::find(children.begin(),children.end(),bn.get());
124 if (child_it==children.end())
148 tmp_url+=
"#"+bClass->
anchor();
169 if (visitedClasses.find(bClass)==visitedClasses.end() && !bClass->
subClasses().empty())
171 visitedClasses.insert(bClass);
181 for (
const auto &cd : cl)
195 cd->isVisibleInHierarchy()
199 if (cd->isLinkable() && !cd->isHidden())
201 tmp_url=cd->getReference()+
"$"+cd->getOutputFileBase();
202 if (!cd->anchor().isEmpty())
204 tmp_url+=
"#"+cd->anchor();
208 QCString tooltip = cd->briefDescriptionAsTooltip();
215 m_usedNodes.insert(std::make_pair(cd->name().str(),std::move(n)));
217 if (visitedClasses.find(cd.get())==visitedClasses.end() && !cd->subClasses().empty())
220 visitedClasses.insert(cd.get());
245 if (n->subgraphId()==-1)
249 n->setSubgraphId(curColor);
251 n->colorConnectedNodes(curColor);
266 n->renumberNodes(number);
void createGraph(DotNode *rootNode, TextStream &t, const QCString &path, const QCString &fileName, int id)
void addChild(DotNode *n, int edgeColor=EdgeInfo::Purple, int edgeStyle=EdgeInfo::Solid, const QCString &edgeLab=QCString(), const QCString &edgeURL=QCString(), int edgeLabCol=-1)
bool hasVisibleRoot(const BaseClassList &bcl)
void addClassList(const ClassLinkedMap &cl, ClassDefSet &visited)
std::vector< DotNode * > m_rootNodes
ClassDef::CompoundType m_classType
Class representing a directory in the file system
static ClassLinkedMap * hiddenClassLinkedMap
DotNode * m_rootSubgraphNode
bool isEmpty() const
Returns TRUE iff the string is empty
CompoundType
The various compound types
std::vector< DotNode * > m_rootSubgraphs
void writeGraph(TextStream &t, const QCString &path, const QCString &fileName)
static void writeGraphFooter(TextStream &t)
virtual bool isHidden() const =0
int getNextNodeNumber()
returns node numbers.
virtual QCString trGraphicalHierarchy()=0
virtual bool isVisibleInHierarchy() const =0
the class is visible in a class diagram, or class hierarchy
Text streaming class that buffers data.
static void writeGraphHeader(TextStream &t, const QCString &title=QCString())
void addHierarchy(DotNode *n, const ClassDef *cd, ClassDefSet &visited)
DotGfxHierarchyTable(const QCString &prefix="", ClassDef::CompoundType ct=ClassDef::Class)
A abstract class representing of a compound symbol.
virtual QCString getOutputFileBase() const =0
Returns the unique base name (without extension) of the class's file on disk
virtual void computeTheGraph()
virtual const BaseClassList & baseClasses() const =0
Returns the list of base classes from which this class directly inherits.
virtual QCString getMapLabel() const
Translator * theTranslator
virtual QCString name() const =0
std::string str() const
Return the contents of the buffer as a std::string object
virtual const BaseClassList & subClasses() const =0
Returns the list of sub classes that directly derive from this class
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)
#define Config_getBool(name)
virtual QCString getReference() const =0
If this class originated from a tagfile, this will return the tag file reference
QCString escapeCharsInString(const QCString &name, bool allowDots, bool allowUnderscore)
void term(const char *fmt,...)
const char * qPrint(const char *s)
virtual QCString displayName(bool includeScope=TRUE) const =0
Returns the name as it is appears in the documentation
virtual QCString briefDescriptionAsTooltip() const =0
virtual QCString getBaseName() const
static ClassLinkedMap * classLinkedMap
A bunch of utility functions.
virtual bool isLinkable() const =0
return TRUE iff a link to this class is possible (either within this project, or as a cross-reference...
QCString & sprintf(const char *format,...)
std::set< const ClassDef * > ClassDefSet
const DotNodeRefVector & children() const
virtual QCString anchor() const =0
void write(const char *buf, size_t len)
Adds a array of character to the stream
This is an alternative implementation of QCString.