Skip to main content

The dia.cpp File Reference

Included Headers

#include "dia.h" #include "portable.h" #include "config.h" #include "message.h" #include "util.h" #include "dir.h"

Functions Index

voidwriteDiaGraphFromFile (const QCString &inFile, const QCString &outDir, const QCString &outFile, DiaOutputFormat format, const QCString &srcFile, int srcLine)

Variables Index

static const intmaxCmdLine = 40960

Functions

writeDiaGraphFromFile()

void writeDiaGraphFromFile (const QCString & inFile, const QCString & outDir, const QCString & outFile, DiaOutputFormat format, const QCString & srcFile, int srcLine)

Definition at line 26 of file dia.cpp.

26void writeDiaGraphFromFile(const QCString &inFile,const QCString &outDir,
27 const QCString &outFile,DiaOutputFormat format,
28 const QCString &srcFile,int srcLine)
29{
30 QCString absOutFile = outDir;
31 absOutFile+=Portable::pathSeparator();
32 absOutFile+=outFile;
33
34 // chdir to the output dir, so dot can find the font file.
35 std::string oldDir = Dir::currentDirPath();
36 // go to the html output directory (i.e. path)
37 Dir::setCurrent(outDir.str());
38 //printf("Going to dir %s\n",Dir::currentDirPath().c_str());
40 QCString diaArgs;
41 QCString extension;
42 diaArgs+="-n ";
43 if (format==DiaOutputFormat::BITMAP)
44 {
45 diaArgs+="-t png-libart";
46 extension=".png";
47 }
48 else if (format==DiaOutputFormat::EPS)
49 {
50 diaArgs+="-t eps";
51 extension=".eps";
52 }
53
54 diaArgs+=" -e \"";
55 diaArgs+=outFile;
56 diaArgs+=extension+"\"";
57
58 diaArgs+=" \"";
59 diaArgs+=inFile;
60 diaArgs+="\"";
61
62 //printf("*** running: %s %s outDir:%s %s\n",qPrint(diaExe),qPrint(diaArgs),outDir,outFile);
63 if (Portable::system(diaExe,diaArgs,FALSE)!=0)
64 {
65 err_full(srcFile,srcLine,"Problems running {}. Check your installation or look typos in you dia file {}",
66 diaExe,inFile);
67 goto error;
68 }
69 if ( (format==DiaOutputFormat::EPS) && (Config_getBool(USE_PDFLATEX)) )
70 {
72 epstopdfArgs.sprintf("\"%s.eps\" --outfile=\"%s.pdf\"",
73 qPrint(outFile),qPrint(outFile));
74 if (Portable::system("epstopdf",epstopdfArgs)!=0)
75 {
76 err("Problems running epstopdf. Check your TeX installation!\n");
77 }
78 else
79 {
80 Dir().remove(outFile.str()+".eps");
81 }
82 }
83
84error:
85 Dir::setCurrent(oldDir);
86}

References BITMAP, Portable::commandExtension, Config_getBool, Config_getString, Dir::currentDirPath, EPS, err, err_full, QCString::ExplicitSize, FALSE, maxCmdLine, Portable::pathSeparator, qPrint, Dir::remove, Dir::setCurrent, QCString::sprintf, QCString::str and Portable::system.

Referenced by DocbookDocVisitor::startDiaFile, LatexDocVisitor::startDiaFile, DocbookDocVisitor::writeDiaFile, HtmlDocVisitor::writeDiaFile, LatexDocVisitor::writeDiaFile and RTFDocVisitor::writeDiaFile.

Variables

maxCmdLine

const int maxCmdLine = 40960
static

Definition at line 24 of file dia.cpp.

24static const int maxCmdLine = 40960;

Referenced by runPlantumlContent, writeDiaGraphFromFile and writeMscGraphFromFile.


Generated via doxygen2docusaurus by Doxygen 1.14.0.