55 if (!f.fail() && md5==md5stored)
82 return file1Ok && file2Ok;
95 out <<
"<map name=\"" << mapLabel <<
"\" id=\"" << mapLabel <<
"\">\n";
121 bool generateImageMap,
210 t <<
" <informalfigure>\n";
211 t <<
" <mediaobject>\n";
212 t <<
" <imageobject>\n";
214 t <<
" width=\"50%\" align=\"center\" valign=\"middle\" scalefit=\"0\" fileref=\"" <<
m_relPath <<
m_baseName <<
"." << imgExt <<
"\">";
215 t <<
"</imagedata>\n";
216 t <<
" </imageobject>\n";
217 t <<
" </mediaobject>\n";
218 t <<
" </informalfigure>\n";
225 if (!
m_noDivTag) t <<
"<div class=\"center\">";
237 t <<
"<!-- " <<
"SVG " << mapId <<
" -->";
243 if (!
m_noDivTag) t <<
"<div class=\"center\">";
244 t <<
"<img src=\"" <<
relImgName() <<
"\" border=\"0\" usemap=\"#"
253 t <<
"<!-- MAP " << mapId <<
" -->\n";
264 t <<
"\n% FIG " << figId <<
"\n";
274 t <<
"\"Dot Graph\"";
284 t <<
" // INTERACTIVE_SVG=YES\n";
286 t <<
" // LATEX_PDF_SIZE\n";
287 t <<
" bgcolor=\"transparent\";\n";
289 if (!c.
empty()) c +=
",";
313 md5stream <<
" rankdir=\"" << rank <<
"\";\n";
319 for (
const auto &pn : root->
parents())
323 const auto &children = pn->children();
324 auto child_it = std::find(children.begin(),children.end(),root);
325 size_t index = child_it - children.begin();
330 &pn->edgeInfo()[index],
346 graphStr=md5stream.
str();
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
std::string_view view() const
size_t size() const
Returns the length of the string, not counting the 0-terminator.
const std::string & str() const
Class representing a directory in the file system.
std::string absPath() const
static DString mapLabelToId(const DString &mapLabel)
static bool writeVecGfxFigure(TextStream &out, const DString &baseName, const DString &figureName)
static bool writeSVGFigureLink(TextStream &out, const DString &relPath, const DString &baseName, const DString &absImgName)
Check if a reference to a SVG figure can be written and do so if possible.
static bool convertMapFile(TextStream &t, const DString &mapName, const DString &relPath, bool urlOnly=false, const DString &context=DString())
static void computeGraph(DotNode *root, GraphType gt, GraphOutputFormat format, const DString &rank, bool renderParents, bool backArrows, const DString &title, DString &graphStr)
EmbeddedOutputFormat m_textFormat
static void writeGraphFooter(TextStream &t)
DString absDotName() const
GraphOutputFormat m_graphFormat
void generateCode(TextStream &t)
DString absImgName() const
virtual DString getImgAltText() const
virtual DString getBaseName() const =0
bool m_doNotAddImageToIndex
DString relImgName() const
virtual DString getMapLabel() const =0
virtual DString absMapName() const
DString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const DString &path, const DString &fileName, const DString &relPath, bool writeImageMap=true, int graphId=-1)
DString absBaseName() const
static void writeGraphHeader(TextStream &t, const DString &title=DString())
virtual void computeTheGraph()=0
void addJob(const DotJob &newJob)
static DotManager * instance()
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)
const DotNodeRefVector & parents() const
static IndexList * indexList
Minimal replacement for QFileInfo.
void addImageFile(const DString &name)
Text streaming class that buffers data.
bool empty() const
Returns true iff the buffer is empty.
std::string str() const
Return the contents of the buffer as a std::string object.
#define Config_getEnumAsString(name)
#define Config_getBool(name)
#define Config_getString(name)
static bool sameMd5Signature(const DString &baseName, const DString &md5)
std::mutex g_dotIndexListMutex
static bool deliverablesPresent(const DString &file1, const DString &file2)
static bool insertMapFile(TextStream &out, const DString &mapFile, const DString &relPath, const DString &mapLabel)
DString md5str(const std::string_view &str)
std::ifstream openInputStream(const DString &name, bool binary=false, bool openAtEnd=false)
std::ofstream openOutputStream(const DString &name, bool append=false)
Portable versions of functions that are platform dependent.
DString convertToXML(const DString &s, bool keepEntities, const bool citeEntry)
DString getDotImageExtension()
A bunch of utility functions.