My Project
|
#include <stdlib.h>
#include <qdir.h>
#include <qfile.h>
#include <qqueue.h>
#include <qthread.h>
#include <qmutex.h>
#include <qwaitcondition.h>
#include "dot.h"
#include "doxygen.h"
#include "message.h"
#include "util.h"
#include "config.h"
#include "language.h"
#include "defargs.h"
#include "docparser.h"
#include "debug.h"
#include "pagedef.h"
#include "portable.h"
#include "dirdef.h"
#include "vhdldocgen.h"
#include "ftextstream.h"
#include "md5.h"
#include "memberlist.h"
#include "groupdef.h"
#include "classlist.h"
#include "filename.h"
#include "namespacedef.h"
#include "memberdef.h"
#include "membergroup.h"
Go to the source code of this file.
Classes | |
struct | EdgeProperties |
Macros | |
#define | MAP_CMD "cmapx" |
#define | FONTNAME getDotFontName() |
#define | FONTSIZE getDotFontSize() |
Functions | |
static QCString | getDotFontName () |
static int | getDotFontSize () |
static void | writeGraphHeader (FTextStream &t, const QCString &title=QCString()) |
static void | writeGraphFooter (FTextStream &t) |
static QCString | replaceRef (const QCString &buf, const QCString relPath, bool urlOnly, const QCString &context, const QCString &target=QCString()) |
static bool | convertMapFile (FTextStream &t, const char *mapName, const QCString relPath, bool urlOnly=FALSE, const QCString &context=QCString()) |
static void | setDotFontPath (const char *path) |
static void | unsetDotFontPath () |
static bool | readBoundingBox (const char *fileName, int *width, int *height, bool isEps) |
static bool | writeVecGfxFigure (FTextStream &out, const QCString &baseName, const QCString &figureName) |
static bool | readSVGSize (const QCString &fileName, int *width, int *height) |
static void | writeSVGNotSupported (FTextStream &out) |
static bool | writeSVGFigureLink (FTextStream &out, const QCString &relPath, const QCString &baseName, const QCString &absImgName) |
static void | checkDotResult (const char *imgExt, const char *imgName) |
static bool | insertMapFile (FTextStream &out, const QCString &mapFile, const QCString &relPath, const QCString &mapLabel) |
static void | removeDotGraph (const QCString &dotName) |
static bool | checkAndUpdateMd5Signature (const QCString &baseName, const QCString &md5) |
static bool | checkDeliverables (const QCString &file1, const QCString &file2=QCString()) |
static void | deleteNodes (DotNode *node, SDict< DotNode > *skipNodes=0) |
static QCString | convertLabel (const QCString &l) |
static QCString | escapeTooltip (const QCString &tooltip) |
static void | writeBoxMemberList (FTextStream &t, char prot, MemberList *ml, ClassDef *scope, bool isStatic=FALSE, const QDict< void > *skipNames=0) |
static QCString | stripProtectionPrefix (const QCString &s) |
QCString | computeMd5Signature (DotNode *root, DotNode::GraphType gt, GraphOutputFormat format, bool lrRank, bool renderParents, bool backArrows, const QCString &title, QCString &graphStr) |
static bool | updateDotGraph (DotNode *root, DotNode::GraphType gt, const QCString &baseName, GraphOutputFormat format, bool lrRank, bool renderParents, bool backArrows, const QCString &title=QCString()) |
static void | writeDotDirDepGraph (FTextStream &t, DirDef *dd, bool linkRelations) |
void | generateGraphLegend (const char *path) |
void | writeDotGraphFromFile (const char *inFile, const char *outDir, const char *outFile, GraphOutputFormat format) |
void | writeDotImageMapFromFile (FTextStream &t, const QCString &inFile, const QCString &outDir, const QCString &relPath, const QCString &baseName, const QCString &context, int graphId) |
void | resetDotNodeNumbering () |
Variables | |
static const char | svgZoomHeader [] |
static const char | svgZoomFooter [] |
static const char * | normalEdgeColorMap [] |
static const char * | normalArrowStyleMap [] |
static const char * | normalEdgeStyleMap [] |
static const char * | umlEdgeColorMap [] |
static const char * | umlArrowStyleMap [] |
static const char * | umlEdgeStyleMap [] |
static EdgeProperties | normalEdgeProps |
static EdgeProperties | umlEdgeProps |
static QCString | g_dotFontPath |
#define FONTNAME getDotFontName() |
Definition at line 54 of file dot.cpp.
Referenced by generateGraphLegend(), DotNode::writeArrow(), writeDotDirDepGraph(), writeGraphHeader(), and DotGroupCollaboration::writeGraphHeader().
#define FONTSIZE getDotFontSize() |
Definition at line 55 of file dot.cpp.
Referenced by generateGraphLegend(), DotNode::writeArrow(), writeDotDirDepGraph(), writeGraphHeader(), and DotGroupCollaboration::writeGraphHeader().
#define MAP_CMD "cmapx" |
Definition at line 51 of file dot.cpp.
Referenced by DotGfxHierarchyTable::createGraph(), writeDotImageMapFromFile(), DotClassGraph::writeGraph(), DotInclDepGraph::writeGraph(), DotCallGraph::writeGraph(), DotDirDeps::writeGraph(), and DotGroupCollaboration::writeGraph().
|
static |
Checks if a file "baseName".md5 exists. If so the contents are compared with md5. If equal FALSE is returned. If the .md5 file does not exist or its contents are not equal to md5, a new .md5 is generated with the md5 string as contents.
Definition at line 689 of file dot.cpp.
Referenced by DotGfxHierarchyTable::createGraph(), generateGraphLegend(), updateDotGraph(), DotDirDeps::writeGraph(), and DotGroupCollaboration::writeGraph().
|
static |
Definition at line 716 of file dot.cpp.
Referenced by DotGfxHierarchyTable::createGraph(), generateGraphLegend(), DotClassGraph::writeGraph(), DotInclDepGraph::writeGraph(), DotCallGraph::writeGraph(), DotDirDeps::writeGraph(), and DotGroupCollaboration::writeGraph().
|
static |
Definition at line 620 of file dot.cpp.
References err(), and portable_fopen().
Referenced by DotRunner::run(), and writeDotGraphFromFile().
QCString computeMd5Signature | ( | DotNode * | root, |
DotNode::GraphType | gt, | ||
GraphOutputFormat | format, | ||
bool | lrRank, | ||
bool | renderParents, | ||
bool | backArrows, | ||
const QCString & | title, | ||
QCString & | graphStr | ||
) |
Computes a 16 byte md5 checksum for a given dot graph. The md5 checksum is returned as a 32 character ASCII string.
Definition at line 2990 of file dot.cpp.
References DotNode::CallGraph, DotNode::clearWriteFlag(), DotNode::Dependency, endl(), DotNode::isVisible(), DotNode::m_children, DotNode::m_edgeInfo, DotNode::m_parents, DotNode::write(), DotNode::writeArrow(), writeGraphFooter(), and writeGraphHeader().
Referenced by updateDotGraph().
|
static |
Definition at line 1522 of file dot.cpp.
Referenced by DotGroupCollaboration::Edge::write(), DotNode::writeArrow(), DotNode::writeBox(), and writeBoxMemberList().
|
static |
converts the rectangles in a client site image map into a stream
t | the stream to which the result is written. |
mapName | the name of the map file. |
relPath | the relative path to the root of the output directory (used in case CREATE_SUBDIRS is enabled). |
urlOnly | if FALSE the url field in the map contains an external references followed by a $ and then the URL. |
context | the context (file, class, or namespace) in which the map file was found |
Definition at line 370 of file dot.cpp.
References err(), and replaceRef().
Referenced by insertMapFile(), DotFilePatcher::run(), and writeDotImageMapFromFile().
helper function that deletes all nodes in a connected graph, given one of the graph's nodes
Definition at line 1401 of file dot.cpp.
References DotNode::deleteNode().
Referenced by DotCallGraph::~DotCallGraph(), DotClassGraph::~DotClassGraph(), and DotInclDepGraph::~DotInclDepGraph().
|
static |
Definition at line 1592 of file dot.cpp.
Referenced by DotNode::writeBox().
void generateGraphLegend | ( | const char * | path | ) |
Generated a graphs legend page
Definition at line 4072 of file dot.cpp.
References IndexList::addImageFile(), DotRunner::addJob(), DotManager::addRun(), DotManager::addSVGObject(), checkAndUpdateMd5Signature(), checkDeliverables(), Config_getEnum, Config_getString, err(), FONTNAME, FONTSIZE, getDotImageExtension(), Doxygen::htmlFileExtension, Doxygen::indexList, DotManager::instance(), removeDotGraph(), theTranslator, Translator::trLegendTitle(), writeGraphFooter(), and writeGraphHeader().
Referenced by writeGraphInfo().
|
static |
Definition at line 233 of file dot.cpp.
References Config_getString.
|
static |
Definition at line 244 of file dot.cpp.
References Config_getInt.
|
static |
Definition at line 652 of file dot.cpp.
References convertMapFile(), and endl().
Referenced by DotGfxHierarchyTable::createGraph(), DotClassGraph::writeGraph(), DotInclDepGraph::writeGraph(), DotCallGraph::writeGraph(), DotDirDeps::writeGraph(), and DotGroupCollaboration::writeGraph().
|
static |
Definition at line 437 of file dot.cpp.
References err().
Referenced by writeVecGfxFigure().
|
static |
Definition at line 530 of file dot.cpp.
Referenced by writeSVGFigureLink().
|
static |
Definition at line 672 of file dot.cpp.
References Config_getBool.
Referenced by DotGfxHierarchyTable::createGraph(), generateGraphLegend(), DotClassGraph::writeGraph(), DotInclDepGraph::writeGraph(), DotCallGraph::writeGraph(), DotDirDeps::writeGraph(), and DotGroupCollaboration::writeGraph().
|
static |
Definition at line 286 of file dot.cpp.
References DocRef::anchor(), externalLinkTarget(), externalRef(), DocRef::file(), Doxygen::htmlFileExtension, and DocRef::ref().
Referenced by convertMapFile(), and DotFilePatcher::run().
void resetDotNodeNumbering | ( | ) |
Definition at line 4866 of file dot.cpp.
References DotClassGraph::resetNumbering(), DotInclDepGraph::resetNumbering(), DotCallGraph::resetNumbering(), and DotGroupCollaboration::resetNumbering().
Referenced by startFile().
|
static |
Definition at line 402 of file dot.cpp.
References Config_getString, portable_getenv(), portable_pathListSeparator(), portable_setenv(), and portable_unsetenv().
Referenced by DotManager::run().
|
static |
Definition at line 1668 of file dot.cpp.
Referenced by DotNode::writeBox().
|
static |
Definition at line 424 of file dot.cpp.
References portable_setenv(), and portable_unsetenv().
Referenced by DotManager::run().
|
static |
Definition at line 3051 of file dot.cpp.
References checkAndUpdateMd5Signature(), and computeMd5Signature().
Referenced by DotClassGraph::writeGraph(), DotInclDepGraph::writeGraph(), and DotCallGraph::writeGraph().
|
static |
Definition at line 1609 of file dot.cpp.
References Config_getInt, convertLabel(), MemberDef::getClassDef(), MemberList::getMemberGroupList(), MemberDef::isFunction(), MemberDef::isObjCMethod(), MemberDef::isSignal(), MemberDef::isSlot(), MemberGroup::members(), Definition::name(), theTranslator, and Translator::trAndMore().
Referenced by DotNode::writeBox().
|
static |
Definition at line 4719 of file dot.cpp.
References SDict< T >::append(), Config_getBool, DirDef::dirCount(), Doxygen::dirRelations, DirDef::displayName(), FONTNAME, FONTSIZE, DirDef::getOutputFileBase(), Doxygen::htmlFileExtension, DirDef::isCluster(), DirDef::isParentOf(), DirDef::parent(), DirDef::shortName(), DirDef::subDirs(), and DirDef::usedDirs().
Referenced by DotDirDeps::writeGraph().
void writeDotGraphFromFile | ( | const char * | inFile, |
const char * | outDir, | ||
const char * | outFile, | ||
GraphOutputFormat | format | ||
) |
Definition at line 4148 of file dot.cpp.
References IndexList::addImageFile(), DotRunner::addJob(), checkDotResult(), Config_getBool, Config_getEnum, err(), getDotImageExtension(), GOF_BITMAP, and Doxygen::indexList.
Referenced by DocbookDocVisitor::startDotFile(), LatexDocVisitor::startDotFile(), HtmlDocVisitor::writeDotFile(), RTFDocVisitor::writeDotFile(), and DocbookDocVisitor::writeDotFile().
void writeDotImageMapFromFile | ( | FTextStream & | t, |
const QCString & | inFile, | ||
const QCString & | outDir, | ||
const QCString & | relPath, | ||
const QCString & | baseName, | ||
const QCString & | context, | ||
int | graphId | ||
) |
Writes user defined image map to the output.
t | text stream to write to |
inFile | just the basename part of the filename |
outDir | output directory |
relPath | relative path the to root of the output dir |
baseName | the base name of the output files |
context | the scope in which this graph is found (for resolving links) |
graphId | a unique id for this graph, use for dynamic sections |
Definition at line 4200 of file dot.cpp.
References DotRunner::addJob(), DotFilePatcher::addSVGConversion(), Config_getEnum, convertMapFile(), endl(), err(), getDotImageExtension(), MAP_CMD, DotFilePatcher::run(), and writeSVGFigureLink().
Referenced by HtmlDocVisitor::writeDotFile().
|
static |
Definition at line 281 of file dot.cpp.
References endl().
Referenced by computeMd5Signature(), DotGfxHierarchyTable::createGraph(), generateGraphLegend(), and DotGroupCollaboration::writeGraph().
|
static |
Definition at line 251 of file dot.cpp.
References Config_getBool, convertToXML(), endl(), FONTNAME, and FONTSIZE.
Referenced by computeMd5Signature(), DotGfxHierarchyTable::createGraph(), and generateGraphLegend().
|
static |
Definition at line 576 of file dot.cpp.
References readSVGSize(), and writeSVGNotSupported().
Referenced by DotGfxHierarchyTable::createGraph(), DotFilePatcher::run(), writeDotImageMapFromFile(), DotClassGraph::writeGraph(), DotInclDepGraph::writeGraph(), DotCallGraph::writeGraph(), DotDirDeps::writeGraph(), and DotGroupCollaboration::writeGraph().
|
static |
Definition at line 569 of file dot.cpp.
Referenced by writeSVGFigureLink().
|
static |
Definition at line 476 of file dot.cpp.
References Config_getBool, and readBoundingBox().
Referenced by DotFilePatcher::run(), DotClassGraph::writeGraph(), DotInclDepGraph::writeGraph(), DotCallGraph::writeGraph(), DotDirDeps::writeGraph(), and DotGroupCollaboration::writeGraph().
|
static |
|
static |
|
static |
Definition at line 222 of file dot.cpp.
Referenced by DotNode::writeArrow().
|
static |
|
static |
Definition at line 103 of file dot.cpp.
Referenced by DotFilePatcher::run().
|
static |
Definition at line 59 of file dot.cpp.
Referenced by DotFilePatcher::run().
|
static |
|
static |
|
static |