72 QCString tooltip = d->briefDescriptionAsTooltip();
73 nnode =
new DotNode(
this, d->groupTitle(), tooltip, url );
93 QCString tooltip = def->briefDescriptionAsTooltip();
94 nnode =
new DotNode(
this, def->groupTitle(), tooltip, url );
127 for (
const auto &def : gd->
getFiles())
134 for (
const auto &def : gd->
getPages())
143 for(
const auto def : gd->
getDirs())
154 if ( ml==
nullptr || ml->
empty() )
return;
155 for (
const auto &def : *ml)
168 [&_pNStart,&_pNEnd,&_eType](
const auto &edge)
169 { return edge->pNStart==_pNStart && edge->pNEnd==_pNEnd && edge->eType==_eType; });
173 m_edges.emplace_back(std::make_unique<Edge>(_pNStart,_pNEnd,_eType));
179 (*it)->links.emplace_back(_label,_url);
197 if ( nnode==
nullptr )
199 tmp_str = d->getReference()+
"$"+d->getOutputFileBase();
200 QCString tooltip = d->briefDescriptionAsTooltip();
201 nnode =
new DotNode(
this, d->groupTitle(), tooltip, tmp_str );
218 TextStream md5stream;
224 node->clearWriteFlag();
234 for (
const auto &edge :
m_edges)
236 edge->write( md5stream );
252 bool generateImageMap,
int graphId)
256 return DotGraph::writeGraph(t, graphFormat, textFormat, path, fileName, relPath, generateImageMap, graphId);
261 const char* linkTypeColor[] = {
270 QCString arrowStyle =
"dir=\"none\", style=\"dashed\"";
271 t <<
" Node" <<
pNStart->number();
273 t <<
"Node" <<
pNEnd->number();
275 t <<
" [shape=plaintext";
295 const int maxLabels = 10;
296 for (
const auto &link :
links)
298 if (first) first=
FALSE;
else t <<
"\\n";
302 if (count==maxLabels) t <<
"\\n...";
309 arrowStyle =
"dir=\"back\", style=\"solid\"";
312 t <<
", color=\"" << linkTypeColor[
static_cast<int>(
eType)] <<
"\"";
315 t <<
", " << arrowStyle;
337 t <<
" rankdir=LR;\n";
The common base class of all entity definitions found in the sources.
virtual QCString anchor() const =0
virtual QCString briefDescriptionAsTooltip() const =0
virtual QCString getReference() const =0
virtual const GroupList & partOfGroups() const =0
virtual QCString qualifiedName() const =0
virtual QCString getOutputFileBase() const =0
virtual const QCString & name() const =0
static void writeGraphFooter(TextStream &t)
GraphOutputFormat m_graphFormat
static void writeGraphHeader(TextStream &t, const QCString &title=QCString())
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)
std::vector< std::unique_ptr< Edge > > m_edges
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)
DotGroupCollaboration(const GroupDef *gd)
QCString getMapLabel() const override
void addMemberList(class MemberList *ml)
void computeTheGraph() override
void writeGraphHeader(TextStream &t, const QCString &title) const
~DotGroupCollaboration() override
void addCollaborationMember(const Definition *def, QCString &url, EdgeType eType)
Edge * addEdge(DotNode *_pNStart, DotNode *_pNEnd, EdgeType _eType, const QCString &_label, const QCString &_url)
QCString getBaseName() const override
void buildGraph(const GroupDef *gd)
void markAsVisible(bool b=TRUE)
static QCString convertLabel(const QCString &, bool htmlLike=false)
A model of a group of symbols.
virtual const DirList & getDirs() const =0
virtual const GroupList & getSubGroups() const =0
virtual QCString groupTitle() const =0
virtual const FileList & getFiles() const =0
virtual const PageLinkedRefMap & getPages() const =0
virtual const NamespaceLinkedRefMap & getNamespaces() const =0
virtual const ClassLinkedRefMap & getClasses() const =0
virtual MemberList * getMemberList(MemberListType lt) const =0
A list of MemberDef objects as shown in documentation sections.
bool empty() const noexcept
This is an alternative implementation of QCString.
bool isEmpty() const
Returns TRUE iff the string is empty.
const std::string & str() const
Text streaming class that buffers data.
std::string str() const
Return the contents of the buffer as a std::string object.
#define Config_getInt(name)
static void makeURL(const Definition *def, QCString &url)
void write(TextStream &t) const
std::vector< Link > links
QCString escapeCharsInString(const QCString &name, bool allowDots, bool allowUnderscore)
void addHtmlExtensionIfMissing(QCString &fName)
A bunch of utility functions.