The dia.h
File Reference
Enumerations Index
enum class | DiaOutputFormat { ... } |
Functions Index
void | writeDiaGraphFromFile (const QCString &inFile, const QCString &outDir, const QCString &outFile, DiaOutputFormat format, const QCString &srcFile, int srcLine) |
Enumerations
DiaOutputFormat
| strong |
Definition at line 23 of file dia.h.
23enum class DiaOutputFormat { BITMAP , EPS };
Functions
writeDiaGraphFromFile()
|
Declaration at line 26 of file dia.h, 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());
39 QCString diaExe = Config_getString(DIA_PATH)+"dia"+Portable::commandExtension();
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 {
71 QCString epstopdfArgs(maxCmdLine, QCString::ExplicitSize);
72 epstopdfArgs.sprintf("\"%s.eps\" --outfile=\"%s.pdf\"",
74 if (Portable::system("epstopdf",epstopdfArgs)!=0)
75 {
76 err("Problems running epstopdf. Check your TeX installation!\n");
77 }
78 else
79 {
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.
Generated via doxygen2docusaurus by Doxygen 1.14.0.