void GroupDef::writeDirs(OutputList &ol,const QCString &title) { // write list of directories if (dirList->count()>0) { ol.startMemberHeader("dirs"); ol.parseText(title); ol.endMemberHeader(); ol.startMemberList(); QListIterator<DirDef> it(*dirList); DirDef *dd; for (;(dd=it.current());++it) { if (!dd->hasDocumentation()) continue; ol.startMemberDeclaration(); ol.startMemberItem(dd->getOutputFileBase(),0); ol.parseText(theTranslator->trDir(FALSE,TRUE)); ol.insertMemberAlign(); ol.writeObjectLink(dd->getReference(),dd->getOutputFileBase(),0,dd->shortName()); ol.endMemberItem(); if (!dd->briefDescription().isEmpty() && Config_getBool(BRIEF_MEMBER_DESC)) { ol.startMemberDescription(dd->getOutputFileBase()); ol.generateDoc(briefFile(),briefLine(),dd,0,dd->briefDescription(),FALSE,FALSE,0,TRUE,FALSE); ol.endMemberDescription(); } ol.endMemberDeclaration(0,0); } ol.endMemberList(); } }
void GroupDef::writeDirs(OutputList &ol,const QCString &title) { // write list of directories if (dirList->count()>0) { ol.startMemberHeader("dirs"); ol.parseText(title); ol.endMemberHeader(); ol.startMemberList(); DirDef *dd=dirList->first(); while (dd) { ol.startMemberItem(dd->getOutputFileBase(),0); ol.parseText(theTranslator->trDir(FALSE,TRUE)); ol.insertMemberAlign(); ol.writeObjectLink(dd->getReference(),dd->getOutputFileBase(),0,dd->shortName()); ol.endMemberItem(); if (!Config_getString("GENERATE_TAGFILE").isEmpty()) { Doxygen::tagFile << " <dir>" << convertToXML(dd->displayName()) << "</dir>" << endl; } if (!dd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC")) { ol.startMemberDescription(dd->getOutputFileBase()); ol.parseDoc(briefFile(),briefLine(),dd,0,dd->briefDescription(),FALSE,FALSE,0,TRUE,FALSE); ol.endMemberDescription(); } dd=dirList->next(); } ol.endMemberList(); } }
void FileDef::writeDetailedDescription(OutputList &ol,const QCString &title) { if ((!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) || !documentation().isEmpty() || (Config_getBool("SOURCE_BROWSER") && getStartBodyLine()!=-1 && getBodyDef()) ) { ol.pushGeneratorState(); ol.disable(OutputGenerator::Html); ol.writeRuler(); ol.popGeneratorState(); ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Html); ol.writeAnchor(0,"details"); ol.popGeneratorState(); ol.startGroupHeader(); ol.parseText(title); ol.endGroupHeader(); ol.startTextBlock(); if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) { ol.parseDoc(briefFile(),briefLine(),this,0,briefDescription(),FALSE,FALSE); } if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF") && !documentation().isEmpty()) { ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); ol.disable(OutputGenerator::RTF); // ol.newParagraph(); // FIXME:PARA ol.enableAll(); ol.disableAllBut(OutputGenerator::Man); ol.writeString("\n\n"); ol.popGeneratorState(); } if (!documentation().isEmpty()) { ol.parseDoc(docFile(),docLine(),this,0,documentation()+"\n",TRUE,FALSE); } //printf("Writing source ref for file %s\n",name().data()); if (Config_getBool("SOURCE_BROWSER")) { ol.startParagraph(); QCString refText = theTranslator->trDefinedInSourceFile(); int fileMarkerPos = refText.find("@0"); if (fileMarkerPos!=-1) // should always pass this. { ol.parseText(refText.left(fileMarkerPos)); //text left from marker 1 ol.writeObjectLink(0,getSourceFileBase(), 0,name()); ol.parseText(refText.right( refText.length()-fileMarkerPos-2)); // text right from marker 2 } ol.endParagraph(); } ol.endTextBlock(); } }
void DirDef::writeFileList(OutputList &ol) { // write file list if (m_fileList->count()>0) { ol.startMemberHeader("files"); ol.parseText(theTranslator->trFile(TRUE,FALSE)); ol.endMemberHeader(); ol.startMemberList(); QListIterator<FileDef> it(*m_fileList); FileDef *fd; for (;(fd=it.current());++it) { if (!fd->hasDocumentation()) continue; ol.startMemberDeclaration(); ol.startMemberItem(fd->getOutputFileBase(),0); ol.docify(theTranslator->trFile(FALSE,TRUE)+" "); ol.insertMemberAlign(); if (fd->isLinkable()) { ol.writeObjectLink(fd->getReference(),fd->getOutputFileBase(),0,fd->name()); } else { ol.startBold(); ol.docify(fd->name()); ol.endBold(); } if (fd->generateSourceFile()) { ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Html); ol.docify(" "); ol.startTextLink(fd->includeName(),0); ol.docify("["); ol.parseText(theTranslator->trCode()); ol.docify("]"); ol.endTextLink(); ol.popGeneratorState(); } ol.endMemberItem(); if (!fd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC")) { ol.startMemberDescription(fd->getOutputFileBase()); ol.generateDoc(briefFile(),briefLine(),fd,0,fd->briefDescription(), FALSE, // indexWords FALSE, // isExample 0, // exampleName TRUE, // single line TRUE // link from index ); ol.endMemberDescription(); } ol.endMemberDeclaration(0,0); } ol.endMemberList(); } }
void MemberList::writeDeclarations(OutputList &ol, ClassDef *cd,NamespaceDef *nd,FileDef *fd,GroupDef *gd, const char *title,const char *subtitle, bool showEnumValues /*, bool inGroup,bool countSubGroups*/) { //printf("----- writeDeclaration() ----\n"); countDecMembers(showEnumValues); // count member not in group if (numDecMembers()==0) return; //printf("MemberList::writeDeclaration(title=`%s',subtitle=`%s')=%d\n",title,subtitle,numDecMembers()); if (title) { ol.startMemberHeader(); ol.parseText(title); ol.endMemberHeader(); } if (subtitle && subtitle[0]!=0) { //printf("subtitle=`%s'\n",subtitle); ol.startMemberSubtitle(); ol.parseDoc("[generated]",-1,0,0,subtitle,FALSE,FALSE); ol.endMemberSubtitle(); } writePlainDeclarations(ol,cd,nd,fd,gd); //printf("memberGroupList=%p\n",memberGroupList); if (memberGroupList) { MemberGroupListIterator mgli(*memberGroupList); MemberGroup *mg; while ((mg=mgli.current())) { bool hasHeader=mg->header()!="[NOHEADER]"; ol.startMemberGroupHeader(hasHeader); if (hasHeader) { ol.parseText(mg->header()); } ol.endMemberGroupHeader(); if (!mg->documentation().isEmpty()) { //printf("Member group has docs!\n"); ol.startMemberGroupDocs(); ol.parseDoc("[generated]",-1,0,0,mg->documentation()+"\n",FALSE,FALSE); ol.endMemberGroupDocs(); } ol.startMemberGroup(); //printf("--- mg->writePlainDeclarations ---\n"); mg->writePlainDeclarations(ol,cd,nd,fd,gd); ol.endMemberGroup(hasHeader); ++mgli; } } //printf("----- end writeDeclaration() ----\n"); }
void DirRelation::writeDocumentation(OutputList &ol) { static bool generateTreeView = Config_getBool(GENERATE_TREEVIEW); ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Html); QCString shortTitle=theTranslator->trDirRelation( m_src->shortName()+" → "+ m_dst->dir()->shortName()); QCString title=theTranslator->trDirRelation( m_src->displayName()+" -> "+ m_dst->dir()->shortName()); startFile(ol,getOutputFileBase(),getOutputFileBase(), title,HLI_None,!generateTreeView,m_src->getOutputFileBase()); if (!generateTreeView) { // write navigation path m_src->writeNavigationPath(ol); ol.endQuickIndices(); } ol.startContents(); ol.writeString("<h3>"+shortTitle+"</h3>"); ol.writeString("<table class=\"dirtab\">"); ol.writeString("<tr class=\"dirtab\">"); ol.writeString("<th class=\"dirtab\">"); ol.parseText(theTranslator->trFileIn(m_src->pathFragment())); ol.writeString("</th>"); ol.writeString("<th class=\"dirtab\">"); ol.parseText(theTranslator->trIncludesFileIn(m_dst->dir()->pathFragment())); ol.writeString("</th>"); ol.writeString("</tr>"); SDict<FilePair>::Iterator fpi(m_dst->filePairs()); FilePair *fp; for (fpi.toFirst();(fp=fpi.current());++fpi) { ol.writeString("<tr class=\"dirtab\">"); ol.writeString("<td class=\"dirtab\">"); writePartialFilePath(ol,m_src,fp->source()); ol.writeString("</td>"); ol.writeString("<td class=\"dirtab\">"); writePartialFilePath(ol,m_dst->dir(),fp->destination()); ol.writeString("</td>"); ol.writeString("</tr>"); } ol.writeString("</table>"); ol.endContents(); endFileWithNavPath(m_src,ol); ol.popGeneratorState(); }
void GroupDef::writeAuthorSection(OutputList &ol) { // write Author section (Man only) ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Man); ol.startGroupHeader(); ol.parseText(theTranslator->trAuthor(TRUE,TRUE)); ol.endGroupHeader(); ol.parseText(theTranslator->trGeneratedAutomatically(Config_getString("PROJECT_NAME"))); ol.popGeneratorState(); }
void DirDef::writeSubDirList(OutputList &ol) { int numSubdirs = 0; QListIterator<DirDef> it(m_subdirs); DirDef *dd; for (it.toFirst();(dd=it.current());++it) { if (dd->hasDocumentation() || dd->getFiles()->count()>0) { numSubdirs++; } } // write subdir list if (numSubdirs>0) { ol.startMemberHeader("subdirs"); ol.parseText(theTranslator->trDir(TRUE,FALSE)); ol.endMemberHeader(); ol.startMemberList(); for (it.toFirst();(dd=it.current());++it) { if (dd->hasDocumentation() || dd->getFiles()->count()==0) { ol.startMemberDeclaration(); ol.startMemberItem(dd->getOutputFileBase(),0); ol.parseText(theTranslator->trDir(FALSE,TRUE)+" "); ol.insertMemberAlign(); ol.writeObjectLink(dd->getReference(),dd->getOutputFileBase(),0,dd->shortName()); ol.endMemberItem(); if (!dd->briefDescription().isEmpty() && Config_getBool(BRIEF_MEMBER_DESC)) { ol.startMemberDescription(dd->getOutputFileBase()); ol.generateDoc(briefFile(),briefLine(),dd,0,dd->briefDescription(), FALSE, // indexWords FALSE, // isExample 0, // exampleName TRUE, // single line TRUE // link from index ); ol.endMemberDescription(); } ol.endMemberDeclaration(0,0); } } ol.endMemberList(); } }
void GroupDef::writeDetailedDocumentation(OutputList &ol) { if (!briefDescription().isEmpty() || !documentation().isEmpty()) { if (pageDict->count()!=countMembers()) // classical layout { ol.writeRuler(); ol.pushGeneratorState(); ol.disable(OutputGenerator::Latex); ol.disable(OutputGenerator::RTF); ol.writeAnchor(0,"_details"); ol.popGeneratorState(); ol.startGroupHeader(); ol.parseText(theTranslator->trDetailedDescription()); ol.endGroupHeader(); // repeat brief description if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) { ol.parseDoc(briefFile(),briefLine(),this,0,briefDescription(),FALSE,FALSE); ol.newParagraph(); } } // write documentation if (!documentation().isEmpty()) { ol.parseDoc(docFile(),docLine(),this,0,documentation()+"\n",TRUE,FALSE); } } }
void ClassSDict::writeDocumentation(OutputList &ol, QSharedPointer<Definition> container) { static bool fortranOpt = Config::getBool("optimize-fortran"); static bool inlineGroupedClasses = Config::getBool("inline-grouped-classes"); static bool inlineSimpleClasses = Config::getBool("inline-simple-struct"); if (! inlineGroupedClasses && !inlineSimpleClasses) { return; } if (count() > 0) { bool found = false; for (auto cd : *this) { if (cd->name().indexOf('@') == -1 && cd->isLinkableInProject() && cd->isEmbeddedInOuterScope() && (container == 0 || cd->partOfGroups() == 0) ) { if (! found) { ol.writeRuler(); ol.startGroupHeader(); ol.parseText(fortranOpt ? theTranslator->trTypeDocumentation() : theTranslator->trClassDocumentation()); ol.endGroupHeader(); found = true; } cd->writeInlineDocumentation(ol); } } } }
void GroupDef::writeFiles(OutputList &ol,const QCString &title) { // write list of files if (fileList->count()>0) { ol.startMemberHeader("files"); ol.parseText(title); ol.endMemberHeader(); ol.startMemberList(); FileDef *fd=fileList->first(); while (fd) { ol.startMemberItem(fd->getOutputFileBase(),0); ol.docify(theTranslator->trFile(FALSE,TRUE)+" "); ol.insertMemberAlign(); ol.writeObjectLink(fd->getReference(),fd->getOutputFileBase(),0,fd->name()); if (!Config_getString("GENERATE_TAGFILE").isEmpty()) { Doxygen::tagFile << " <file>" << convertToXML(fd->name()) << "</file>" << endl; } ol.endMemberItem(); if (!fd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC")) { ol.startMemberDescription(fd->getOutputFileBase()); ol.parseDoc(briefFile(),briefLine(),fd,0,fd->briefDescription(),FALSE,FALSE); ol.endMemberDescription(); } fd=fileList->next(); } ol.endMemberList(); } }
void GroupDef::writeBriefDescription(OutputList &ol) { if (!briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC")) { ol.startParagraph(); ol.parseDoc(briefFile(),briefLine(),this,0, briefDescription(),TRUE,FALSE,0,TRUE,FALSE); ol.pushGeneratorState(); ol.disable(OutputGenerator::RTF); ol.writeString(" \n"); ol.enable(OutputGenerator::RTF); if (Config_getBool("REPEAT_BRIEF") || !documentation().isEmpty() ) { ol.disableAllBut(OutputGenerator::Html); ol.startTextLink(0,"details"); ol.parseText(theTranslator->trMore()); ol.endTextLink(); } ol.popGeneratorState(); ol.endParagraph(); } }
void ClassSDict::writeDocumentation(OutputList &ol) { static bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN"); static bool inlineGroupedClasses = Config_getBool("INLINE_GROUPED_CLASSES"); if (!inlineGroupedClasses) return; if (count()>0) { ol.writeRuler(); ol.startGroupHeader(); ol.parseText(fortranOpt?theTranslator->trTypeDocumentation(): theTranslator->trClassDocumentation()); ol.endGroupHeader(); ClassSDict::Iterator sdi(*this); ClassDef *cd=0; for (sdi.toFirst();(cd=sdi.current());++sdi) { if (cd->name().find('@')==-1 && cd->partOfGroups()->count()==1 ) { cd->writeInlineDocumentation(ol); } } } }
void GroupDef::writeFiles(OutputList &ol,const QCString &title) { // write list of files if (fileList->count()>0) { ol.startMemberHeader("files"); ol.parseText(title); ol.endMemberHeader(); ol.startMemberList(); QListIterator<FileDef> it(*fileList); FileDef *fd; for (;(fd=it.current());++it) { if (!fd->hasDocumentation()) continue; ol.startMemberDeclaration(); ol.startMemberItem(fd->getOutputFileBase(),0); ol.docify(theTranslator->trFile(FALSE,TRUE)+" "); ol.insertMemberAlign(); ol.writeObjectLink(fd->getReference(),fd->getOutputFileBase(),0,fd->name()); ol.endMemberItem(); if (!fd->briefDescription().isEmpty() && Config_getBool(BRIEF_MEMBER_DESC)) { ol.startMemberDescription(fd->getOutputFileBase()); ol.generateDoc(briefFile(),briefLine(),fd,0,fd->briefDescription(),FALSE,FALSE,0,TRUE,FALSE); ol.endMemberDescription(); } ol.endMemberDeclaration(0,0); } ol.endMemberList(); } }
void GroupDef::writeNestedGroups(OutputList &ol,const QCString &title) { // write list of groups if (groupList->count()>0) { ol.startMemberHeader("groups"); ol.parseText(title); ol.endMemberHeader(); ol.startMemberList(); GroupDef *gd=groupList->first(); while (gd) { ol.startMemberItem(gd->getOutputFileBase(),0); //ol.docify(theTranslator->trGroup(FALSE,TRUE)); //ol.docify(" "); ol.insertMemberAlign(); ol.writeObjectLink(gd->getReference(),gd->getOutputFileBase(),0,gd->groupTitle()); if (!Config_getString("GENERATE_TAGFILE").isEmpty()) { Doxygen::tagFile << " <subgroup>" << convertToXML(gd->name()) << "</subgroup>" << endl; } ol.endMemberItem(); if (!gd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC")) { ol.startMemberDescription(gd->getOutputFileBase()); ol.parseDoc(briefFile(),briefLine(),gd,0,gd->briefDescription(),FALSE,FALSE); ol.endMemberDescription(); } gd=groupList->next(); } ol.endMemberList(); } }
void NamespaceDef::writeBriefDescription(OutputList &ol) { if (hasBriefDescription()) { DocRoot *rootNode = validatingParseDoc(briefFile(),briefLine(),this,0, briefDescription(),TRUE,FALSE,0,TRUE,FALSE); if (rootNode && !rootNode->isEmpty()) { ol.startParagraph(); ol.writeDoc(rootNode,this,0); ol.pushGeneratorState(); ol.disable(OutputGenerator::RTF); ol.writeString(" \n"); ol.enable(OutputGenerator::RTF); if (hasDetailedDescription()) { ol.disableAllBut(OutputGenerator::Html); ol.startTextLink(0,"details"); ol.parseText(theTranslator->trMore()); ol.endTextLink(); } ol.popGeneratorState(); ol.endParagraph(); } delete rootNode; // FIXME:PARA //ol.pushGeneratorState(); //ol.disable(OutputGenerator::RTF); //ol.newParagraph(); //ol.popGeneratorState(); } ol.writeSynopsis(); }
void PageDef::writePageDocumentation(OutputList &ol) { bool markdownEnabled = Doxygen::markdownSupport; if (getLanguage()==SrcLangExt_Markdown) { Doxygen::markdownSupport = TRUE; } ol.startTextBlock(); ol.generateDoc( docFile(), // fileName docLine(), // startLine this, // context 0, // memberdef documentation()+inbodyDocumentation(), // docStr TRUE, // index words FALSE // not an example ); ol.endTextBlock(); Doxygen::markdownSupport = markdownEnabled; if (hasSubPages()) { // for printed documentation we write subpages as section's of the // parent page. ol.pushGeneratorState(); ol.disableAll(); ol.enable(OutputGenerator::Latex); ol.enable(OutputGenerator::RTF); PageSDict::Iterator pdi(*m_subPageDict); PageDef *subPage=pdi.toFirst(); for (pdi.toFirst();(subPage=pdi.current());++pdi) { SectionInfo::SectionType sectionType = SectionInfo::Paragraph; switch (m_nestingLevel) { case 0: sectionType = SectionInfo::Page; break; case 1: sectionType = SectionInfo::Section; break; case 2: sectionType = SectionInfo::Subsection; break; case 3: sectionType = SectionInfo::Subsubsection; break; default: sectionType = SectionInfo::Paragraph; break; } QCString title = subPage->title(); if (title.isEmpty()) title = subPage->name(); ol.startSection(subPage->name(),title,sectionType); ol.parseText(title); ol.endSection(subPage->name(),sectionType); Doxygen::subpageNestingLevel++; subPage->writePageDocumentation(ol); Doxygen::subpageNestingLevel--; } ol.popGeneratorState(); } }
void GroupDef::writeDetailedDescription(OutputList &ol,const QCString &title) { if ((!briefDescription().isEmpty() && Config_getBool(REPEAT_BRIEF)) || !documentation().isEmpty() || !inbodyDocumentation().isEmpty() ) { if (pageDict->count()!=countMembers()) // not only pages -> classical layout { ol.pushGeneratorState(); ol.disable(OutputGenerator::Html); ol.writeRuler(); ol.popGeneratorState(); ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Html); ol.writeAnchor(0,"details"); ol.popGeneratorState(); ol.startGroupHeader(); ol.parseText(title); ol.endGroupHeader(); } // repeat brief description if (!briefDescription().isEmpty() && Config_getBool(REPEAT_BRIEF)) { ol.generateDoc(briefFile(),briefLine(),this,0,briefDescription(),FALSE,FALSE); } // write separator between brief and details if (!briefDescription().isEmpty() && Config_getBool(REPEAT_BRIEF) && !documentation().isEmpty()) { ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); ol.disable(OutputGenerator::RTF); // ol.newParagraph(); // FIXME:PARA ol.enableAll(); ol.disableAllBut(OutputGenerator::Man); ol.enable(OutputGenerator::Latex); ol.writeString("\n\n"); ol.popGeneratorState(); } // write detailed documentation if (!documentation().isEmpty()) { ol.generateDoc(docFile(),docLine(),this,0,documentation()+"\n",TRUE,FALSE); } // write inbody documentation if (!inbodyDocumentation().isEmpty()) { ol.generateDoc(inbodyFile(),inbodyLine(),this,0,inbodyDocumentation()+"\n",TRUE,FALSE); } } }
void DirDef::writeSubDirList(OutputList &ol) { // write subdir list if (m_subdirs.count()>0) { ol.startMemberHeader(); ol.parseText(theTranslator->trDir(TRUE,FALSE)); ol.endMemberHeader(); ol.startMemberList(); DirDef *dd=m_subdirs.first(); while (dd) { ol.startMemberItem(0); ol.parseText(theTranslator->trDir(FALSE,TRUE)+" "); ol.insertMemberAlign(); ol.writeObjectLink(dd->getReference(),dd->getOutputFileBase(),0,dd->shortName()); ol.endMemberItem(); if (!Config_getString("GENERATE_TAGFILE").isEmpty()) { Doxygen::tagFile << " <dir>" << convertToXML(dd->displayName()) << "</dir>" << endl; } if (!dd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC")) { ol.startParagraph(); ol.startMemberDescription(); ol.parseDoc(briefFile(),briefLine(),dd,0,dd->briefDescription(), FALSE, // indexWords FALSE, // isExample 0, // exampleName FALSE, // single line TRUE // link from index ); ol.endMemberDescription(); ol.endParagraph(); } dd=m_subdirs.next(); } ol.endMemberList(); } }
void GroupDef::writeNestedGroups(OutputList &ol,const QCString &title) { // write list of groups int count=0; if (groupList->count()>0) { QListIterator<GroupDef> it(*groupList); GroupDef *gd; for (;(gd=it.current());++it) { if (gd->isVisible()) count++; } } if (count>0) { ol.startMemberHeader("groups"); ol.parseText(title); ol.endMemberHeader(); ol.startMemberList(); if (Config_getBool("SORT_GROUP_NAMES")) { groupList->sort(); } QListIterator<GroupDef> it(*groupList); GroupDef *gd; for (;(gd=it.current());++it) { if (gd->isVisible()) { ol.startMemberDeclaration(); ol.startMemberItem(gd->getOutputFileBase(),0); //ol.docify(theTranslator->trGroup(FALSE,TRUE)); //ol.docify(" "); ol.insertMemberAlign(); ol.writeObjectLink(gd->getReference(),gd->getOutputFileBase(),0,gd->groupTitle()); if (!Config_getString("GENERATE_TAGFILE").isEmpty()) { Doxygen::tagFile << " <subgroup>" << convertToXML(gd->name()) << "</subgroup>" << endl; } ol.endMemberItem(); if (!gd->briefDescription().isEmpty() && Config_getBool("BRIEF_MEMBER_DESC")) { ol.startMemberDescription(gd->getOutputFileBase()); ol.generateDoc(briefFile(),briefLine(),gd,0,gd->briefDescription(),FALSE,FALSE,0,TRUE,FALSE); ol.endMemberDescription(); } ol.endMemberDeclaration(0,0); } } ol.endMemberList(); } }
void FileDef::writeSourceLink(OutputList &ol) { //printf("%s: generateSourceFile()=%d\n",name().data(),generateSourceFile()); if (generateSourceFile()) { ol.disableAllBut(OutputGenerator::Html); ol.startParagraph(); ol.startTextLink(includeName(),0); ol.parseText(theTranslator->trGotoSourceCode()); ol.endTextLink(); ol.endParagraph(); ol.enableAll(); } }
void ClassSDict::writeDocumentation(OutputList &ol,Definition * container) { static bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN"); static bool inlineGroupedClasses = Config_getBool("INLINE_GROUPED_CLASSES"); static bool inlineSimpleClasses = Config_getBool("INLINE_SIMPLE_STRUCTS"); if (!inlineGroupedClasses && !inlineSimpleClasses) return; if (count()>0) { bool found=FALSE; ClassSDict::Iterator sdi(*this); ClassDef *cd=0; for (sdi.toFirst();(cd=sdi.current());++sdi) { //printf("%s:writeDocumentation() %p embedded=%d container=%p\n", // cd->name().data(),cd->getOuterScope(),cd->isEmbeddedInOuterScope(), // container); if (cd->name().find('@')==-1 && cd->isLinkableInProject() && cd->isEmbeddedInOuterScope() && (container==0 || cd->partOfGroups()==0) // if container==0 -> show as part of the group docs, otherwise only show if not part of a group //&& //(container==0 || // no container -> used for groups // cd->getOuterScope()==container || // correct container -> used for namespaces and classes // (container->definitionType()==Definition::TypeFile && cd->getOuterScope()==Doxygen::globalScope && cd->partOfGroups()==0) // non grouped class with file scope -> used for files //) ) { if (!found) { ol.writeRuler(); ol.startGroupHeader(); ol.parseText(fortranOpt?theTranslator->trTypeDocumentation(): theTranslator->trClassDocumentation()); ol.endGroupHeader(); found=TRUE; } cd->writeInlineDocumentation(ol); } } } }
void DirDef::writeDetailedDescription(OutputList &ol,const QCString &title) { if ((!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) || !documentation().isEmpty()) { ol.pushGeneratorState(); ol.disable(OutputGenerator::Html); ol.writeRuler(); ol.popGeneratorState(); ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Html); ol.writeAnchor(0,"details"); ol.popGeneratorState(); ol.startGroupHeader(); ol.parseText(title); ol.endGroupHeader(); // repeat brief description if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) { ol.generateDoc(briefFile(),briefLine(),this,0,briefDescription(),FALSE,FALSE); } // separator between brief and details if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF") && !documentation().isEmpty()) { ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); ol.disable(OutputGenerator::RTF); // ol.newParagraph(); // FIXME:PARA ol.enableAll(); ol.disableAllBut(OutputGenerator::Man); ol.enable(OutputGenerator::Latex); ol.writeString("\n\n"); ol.popGeneratorState(); } // write documentation if (!documentation().isEmpty()) { ol.generateDoc(docFile(),docLine(),this,0,documentation()+"\n",TRUE,FALSE); } } }
void GroupDef::writeGroupGraph(OutputList &ol) { if (Config_getBool("HAVE_DOT") /*&& Config_getBool("GROUP_GRAPHS")*/ ) { DotGroupCollaboration graph(this); if (!graph.isTrivial()) { msg("Generating dependency graph for group %s\n",qualifiedName().data()); ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); //ol.startParagraph(); ol.startGroupCollaboration(); ol.parseText(theTranslator->trCollaborationDiagram(title)); ol.endGroupCollaboration(graph); //ol.endParagraph(); ol.popGeneratorState(); } } }
void FileDef::writeIncludedByGraph(OutputList &ol) { if (Config_getBool("HAVE_DOT") /*&& Config_getBool("INCLUDED_BY_GRAPH")*/) { //printf("Graph for file %s\n",name().data()); DotInclDepGraph incDepGraph(this,TRUE); if (!incDepGraph.isTrivial() && !incDepGraph.isTooBig()) { ol.startTextBlock(); ol.disable(OutputGenerator::Man); ol.startInclDepGraph(); ol.parseText(theTranslator->trInclByDepGraph()); ol.endInclDepGraph(incDepGraph); ol.enableAll(); ol.endTextBlock(TRUE); } //incDepGraph.writeGraph(Config_getString("HTML_OUTPUT"),fd->getOutputFileBase()); } }
void DirDef::writeDirectoryGraph(OutputList &ol) { // write graph dependency graph if (Config_getBool(DIRECTORY_GRAPH) && Config_getBool(HAVE_DOT)) { DotDirDeps dirDep(this); if (!dirDep.isTrivial()) { msg("Generating dependency graph for directory %s\n",displayName().data()); ol.disable(OutputGenerator::Man); //ol.startParagraph(); ol.startDirDepGraph(); ol.parseText(theTranslator->trDirDepGraph(shortName())); ol.endDirDepGraph(dirDep); //ol.endParagraph(); ol.enableAll(); } } }
void NamespaceDef::writeDetailedDescription(OutputList &ol,const QCString &title) { if (hasDetailedDescription()) { ol.pushGeneratorState(); ol.disable(OutputGenerator::Html); ol.writeRuler(); ol.popGeneratorState(); ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Html); ol.writeAnchor(0,"details"); ol.popGeneratorState(); ol.startGroupHeader(); ol.parseText(title); ol.endGroupHeader(); ol.startTextBlock(); if (!briefDescription().isEmpty() && Config_getBool(REPEAT_BRIEF)) { ol.generateDoc(briefFile(),briefLine(),this,0,briefDescription(),FALSE,FALSE); } if (!briefDescription().isEmpty() && Config_getBool(REPEAT_BRIEF) && !documentation().isEmpty()) { ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); ol.disable(OutputGenerator::RTF); //ol.newParagraph(); // FIXME:PARA ol.enableAll(); ol.disableAllBut(OutputGenerator::Man); ol.enable(OutputGenerator::Latex); ol.writeString("\n\n"); ol.popGeneratorState(); } if (!documentation().isEmpty()) { ol.generateDoc(docFile(),docLine(),this,0,documentation()+"\n",TRUE,FALSE); } ol.endTextBlock(); } }
void ClassSDict::writeDocumentation(OutputList &ol,Definition * container) { static bool fortranOpt = Config_getBool("OPTIMIZE_FOR_FORTRAN"); static bool inlineGroupedClasses = Config_getBool("INLINE_GROUPED_CLASSES"); static bool inlineSimpleClasses = Config_getBool("INLINE_SIMPLE_STRUCTS"); if (!inlineGroupedClasses && !inlineSimpleClasses) return; if (count()>0) { bool found=FALSE; ClassSDict::Iterator sdi(*this); ClassDef *cd=0; for (sdi.toFirst();(cd=sdi.current());++sdi) { //printf("%s:writeDocumentation() %p linkable=%d embedded=%d container=%p partOfGroups=%d\n", // cd->name().data(),cd->getOuterScope(),cd->isLinkableInProject(),cd->isEmbeddedInOuterScope(), // container,cd->partOfGroups() ? cd->partOfGroups()->count() : 0); if (cd->name().find('@')==-1 && cd->isLinkableInProject() && cd->isEmbeddedInOuterScope() && (container==0 || cd->partOfGroups()==0) // if container==0 -> show as part of the group docs, otherwise only show if not part of a group ) { //printf(" showing class %s\n",cd->name().data()); if (!found) { ol.writeRuler(); ol.startGroupHeader(); ol.parseText(fortranOpt?theTranslator->trTypeDocumentation(): theTranslator->trClassDocumentation()); ol.endGroupHeader(); found=TRUE; } cd->writeInlineDocumentation(ol); } } } }
void MemberList::writeDocumentation(OutputList &ol, const char *scopeName, Definition *container, const char *title,bool showEnumValues,bool showInline) { //printf("MemberList::writeDocumentation()\n"); countDocMembers(showEnumValues); if (numDocMembers()==0) return; if (title) { ol.pushGeneratorState(); ol.disable(OutputGenerator::Html); ol.writeRuler(); ol.popGeneratorState(); ol.startGroupHeader(showInline ? 2 : 0); ol.parseText(title); ol.endGroupHeader(showInline ? 2 : 0); } ol.startMemberDocList(); MemberListIterator mli(*this); MemberDef *md; for ( ; (md=mli.current()) ; ++mli) { md->writeDocumentation(this,ol,scopeName,container, m_inGroup,showEnumValues,showInline); } if (memberGroupList) { //printf("MemberList::writeDocumentation() -- member groups\n"); MemberGroupListIterator mgli(*memberGroupList); MemberGroup *mg; for (;(mg=mgli.current());++mgli) { mg->writeDocumentation(ol,scopeName,container,showEnumValues,showInline); } } ol.endMemberDocList(); }
void NamespaceDef::writeDetailedDocumentation(OutputList &ol) { if ((!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) || !documentation().isEmpty()) { ol.writeRuler(); ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Html); //bool latexOn = ol.isEnabled(OutputGenerator::Latex); //if (latexOn) ol.disable(OutputGenerator::Latex); ol.writeAnchor(0,"_details"); //if (latexOn) ol.enable(OutputGenerator::Latex); ol.popGeneratorState(); ol.startGroupHeader(); ol.parseText(theTranslator->trDetailedDescription()); ol.endGroupHeader(); ol.startTextBlock(); if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF")) { ol.parseDoc(briefFile(),briefLine(),this,0,briefDescription(),FALSE,FALSE); } if (!briefDescription().isEmpty() && Config_getBool("REPEAT_BRIEF") && !documentation().isEmpty()) { ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); ol.newParagraph(); ol.enableAll(); ol.disableAllBut(OutputGenerator::Man); ol.writeString("\n\n"); ol.popGeneratorState(); } if (!documentation().isEmpty()) { ol.parseDoc(docFile(),docLine(),this,0,documentation()+"\n",TRUE,FALSE); ol.newParagraph(); } ol.endTextBlock(); } }