void DocbookDocVisitor::startDotFile(const QCString &fileName, const QCString &width, const QCString &height, bool hasCaption ) { QCString baseName=fileName; int i; if ((i=baseName.findRev('/'))!=-1) { baseName=baseName.right(baseName.length()-i-1); } if ((i=baseName.find('.'))!=-1) { baseName=baseName.left(i); } baseName.prepend("dot_"); QCString outDir = Config_getString("DOCBOOK_OUTPUT"); QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT"); writeDotGraphFromFile(fileName,outDir,baseName,GOF_BITMAP); m_t << "<para>" << endl; m_t << " <figure>" << endl; m_t << " <title></title>" << endl; m_t << " <mediaobject>" << endl; m_t << " <imageobject>" << endl; m_t << " <imagedata"; if (!width.isEmpty()) { m_t << " width=\""; m_t << width; m_t << "\""; } else { m_t << " width=\"50%\""; } if (!height.isEmpty()) { m_t << " depth=\""; m_t << height; m_t << "\""; } m_t << " align=\"center\" valign=\"middle\" scalefit=\"1\" fileref=\"" << baseName << "." << imgExt << "\">"; m_t << "</imagedata>" << endl; m_t << " </imageobject>" << endl; if (hasCaption) { m_t << " <caption>" << endl; } }
void Definition::_setBriefDescription(const char *b,const char *briefFile,int briefLine) { static QCString outputLanguage = Config_getEnum("OUTPUT_LANGUAGE"); static bool needsDot = outputLanguage!="Japanese" && outputLanguage!="Chinese" && outputLanguage!="Korean"; QCString brief = b; brief = brief.stripWhiteSpace(); if (brief.isEmpty()) return; int bl = brief.length(); if (bl>0 && needsDot) // add punctuation if needed { int c = brief.at(bl-1); switch(c) { case '.': case '!': case '?': case '>': case ':': case ')': break; default: if (uni_isupper(brief.at(0)) && !lastCharIsMultibyte(brief)) brief+='.'; break; } } if (m_impl->brief && !m_impl->brief->doc.isEmpty()) { //printf("adding to details\n"); _setDocumentation(brief,briefFile,briefLine,FALSE,TRUE); } else if (!_docsAlreadyAdded(brief)) { //fprintf(stderr,"Definition::setBriefDescription(%s,%s,%d)\n",b,briefFile,briefLine); if (m_impl->brief==0) { m_impl->brief = new BriefInfo; } m_impl->brief->doc=brief; if (briefLine!=-1) { m_impl->brief->file = briefFile; m_impl->brief->line = briefLine; } else { m_impl->brief->file = briefFile; m_impl->brief->line = 1; } } }
void DocbookDocVisitor::writeDotFile(const QCString &baseName) { QCString shortName = baseName; int i; if ((i=shortName.findRev('/'))!=-1) { shortName=shortName.right(shortName.length()-i-1); } QCString outDir = Config_getString("DOCBOOK_OUTPUT"); QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT"); writeDotGraphFromFile(baseName+".dot",outDir,shortName,GOF_BITMAP); m_t << " <imagedata"; //If no width is specified use default value for PDF rendering m_t << " width=\"50%\""; m_t << " align=\"center\" valign=\"middle\" scalefit=\"1\" fileref=\"" << shortName << "." << imgExt << "\">"; m_t << "</imagedata>" << endl; }
void writeDirDependencyGraph(const char *dirName) { QString path; DirDef *dir; DirSDict::Iterator sdi(*Doxygen::directories); QFile htmlPage(QCString(dirName)+"/dirdeps.html"); if (htmlPage.open(IO_WriteOnly)) { QTextStream out(&htmlPage); out << "<html><body>"; for (sdi.toFirst();(dir=sdi.current());++sdi) { path=dirName; path+="/"; path+=dir->getOutputFileBase(); path+="_dep.dot"; out << "<h4>" << dir->displayName() << "</h4>" << endl; out << "<img src=\"" << dir->getOutputFileBase() << "_dep.gif\">" << endl; QFile f(path); if (f.open(IO_WriteOnly)) { QTextStream t(&f); dir->writeDepGraph(t); } f.close(); QCString imgExt = Config_getEnum("DOT_IMAGE_FORMAT"); QCString outFile = QCString(dirName)+"/"+ dir->getOutputFileBase()+"_dep."+imgExt; DotRunner dotRun(path); dotRun.addJob(imgExt,outFile); dotRun.run(); //QCString dotArgs(4096); //dotArgs.sprintf("%s -Tgif -o %s",path.data(),outFile.data()); //if (portable_system(Config_getString("DOT_PATH")+"dot",dotArgs,FALSE)!=0) //{ // err("Problems running dot. Check your installation!\n"); //} } out << "</body></html>"; } htmlPage.close(); }
void RTFDocVisitor::writeDotFile(const QCString &fileName) { QCString baseName=fileName; int i; if ((i=baseName.findRev('/'))!=-1) { baseName=baseName.right(baseName.length()-i-1); } QCString outDir = Config_getString("RTF_OUTPUT"); writeDotGraphFromFile(fileName,outDir,baseName,BITMAP); if (!m_lastIsPara) m_t << "\\par" << endl; m_t << "{" << endl; m_t << rtf_Style_Reset; m_t << "\\pard \\qc {\\field\\flddirty {\\*\\fldinst INCLUDEPICTURE \""; m_t << baseName << "." << Config_getEnum("DOT_IMAGE_FORMAT"); m_t << "\" \\\\d \\\\*MERGEFORMAT}{\\fldrslt IMAGE}}\\par" << endl; m_t << "}" << endl; m_lastIsPara=TRUE; }