3991 err(
"Output dir %s does not exist!\n",path); exit(1);
4001 QCString absDotName = absBaseName+
".dot";
4002 QCString absMapName = absBaseName+
".map";
4003 QCString absPdfName = absBaseName+
".pdf";
4004 QCString absEpsName = absBaseName+
".eps";
4005 QCString absImgName = absBaseName+
"."+imgExt;
4016 bool regenerate=
FALSE;
4019 usePDFLatex ? absPdfName : absEpsName,
4028 err(
"Cannot create file %s.dot for writing!\n",baseName.
data());
4031 t << theGraph.
data();
4038 dotRun->
addJob(imgFmt,absImgName);
4042 else if (graphFormat==
GOF_EPS)
4047 dotRun->
addJob(
"pdf",absPdfName);
4051 dotRun->
addJob(
"ps",absEpsName);
4060 out <<
"<para>" <<
endl;
4061 out <<
" <figure>" <<
endl;
4062 out <<
" <title>Directory Dependency diagram";
4063 out <<
"</title>" <<
endl;
4064 out <<
" <mediaobject>" <<
endl;
4065 out <<
" <imageobject>" <<
endl;
4066 out <<
" <imagedata";
4067 out <<
" width=\"50%\" align=\"center\" valign=\"middle\" scalefit=\"1\" fileref=\"" << relPath << baseName <<
"." << imgExt <<
"\">";
4068 out <<
"</imagedata>" <<
endl;
4069 out <<
" </imageobject>" <<
endl;
4070 out <<
" </mediaobject>" <<
endl;
4071 out <<
" </figure>" <<
endl;
4072 out <<
"</para>" <<
endl;
4074 else if (graphFormat==
GOF_BITMAP && generateImageMap)
4078 out <<
"<div class=\"center\">";
4086 out <<
"<!-- SVG " << mapId <<
" -->" <<
endl;
4088 out <<
"</div>" <<
endl;
4092 out <<
"<div class=\"center\"><img src=\"" << relPath << baseName <<
"." 4093 << imgExt <<
"\" border=\"0\" usemap=\"#" 4094 << mapName <<
"\" alt=\"";
4097 out <<
"</div>" <<
endl;
4099 if (regenerate || !
insertMapFile(out,absMapName,relPath,mapName))
4103 out <<
"<!-- MAP " << mapId <<
" -->" <<
endl;
4107 else if (graphFormat==
GOF_EPS)
4112 out << endl <<
"% FIG " << figId <<
endl;
Traverses directory structures and contents in a platform-independent way.
QCString convertToXML(const char *s)
int addSVGConversion(const QCString &file, const QCString &relPath, bool urlOnly, const QCString &context, bool zoomable, int graphId)
QCString escapeCharsInString(const char *name, bool allowDots, bool allowUnderscore)
static bool insertMapFile(FTextStream &out, const QCString &mapFile, const QCString &relPath, const QCString &mapLabel)
static bool checkAndUpdateMd5Signature(const QCString &baseName, const QCString &md5)
static bool checkDeliverables(const QCString &file1, const QCString &file2=QCString())
static DotManager * instance()
Simplified and optimized version of QTextStream.
int addMap(const QCString &file, const QCString &mapFile, const QCString &relPath, bool urlOnly, const QCString &context, const QCString &label)
QCString displayName(bool=TRUE) const
#define Config_getEnum(val)
static void removeDotGraph(const QCString &dotName)
static void writeDotDirDepGraph(FTextStream &t, DirDef *dd, bool linkRelations)
void MD5Buffer(const unsigned char *buf, unsigned int len, unsigned char sig[16])
static bool writeVecGfxFigure(FTextStream &out, const QCString &baseName, const QCString &figureName)
int addFigure(const QCString &file, const QCString &baseName, const QCString &figureName, bool heightCheck)
const char * data() const
void addImageFile(const char *name)
#define Config_getBool(val)
QCString getDotImageExtension(void)
void err(const char *fmt,...)
The QFile class is an I/O device that operates on files.
int addSVGObject(const QCString &file, const QCString &baseName, const QCString &figureNAme, const QCString &relPath)
QCString getOutputFileBase() const
void addJob(const char *format, const char *output)
void MD5SigToString(unsigned char signature[16], char *str, int len)
static bool writeSVGFigureLink(FTextStream &out, const QCString &relPath, const QCString &baseName, const QCString &absImgName)
void addRun(DotRunner *run)
static IndexList * indexList
QTextStream & endl(QTextStream &s)