📄 index.cpp
字号:
QCString name = mn->memberName(); if (tolower(name.at(0))!=lastChar) { if (!first) ol.endItemList(); char cs[2]; lastChar=cs[0]=tolower(name.at(0));cs[1]='\0'; QCString anchor=(QCString)"index_"+cs; QCString title=(QCString)"- "+cs+" -"; ol.startSection(anchor,title,TRUE); ol.docify(title); ol.endSection(anchor,TRUE); ol.startItemList(); first=FALSE; } } else if (first) { ol.startItemList(); first=FALSE; } ol.writeListItem(); ol.docify(md->name()); if (md->isFunction()) ol.docify("()"); ol.writeString("\n"); int count=0; md=mn->last(); QCString prevName; while (md) { NamespaceDef *nd=md->getNamespaceDef(); if (nd && nd->isLinkableInProject() && md->isLinkableInProject() && prevName!=nd->name() ) { if (count==0) ol.docify(": "); else ol.docify(", "); ol.writeObjectLink(nd->getReference(),nd->getOutputFileBase(), md->anchor(),nd->name()); count++; prevName=nd->name(); } md=mn->prev(); } } } if (!first) ol.endItemList();}//----------------------------------------------------------------------------int countNamespaceMembers(){ int i=0;for (i=0;i<256;i++) g_namespaceIndexLetterUsed[i]=FALSE; int count=0; MemberNameSDict::Iterator mnli(Doxygen::functionNameSDict); MemberName *mn=0; for (mnli.toFirst();(mn=mnli.current());++mnli) { MemberDef *md=mn->first(); bool found=FALSE; while (md && !found) { NamespaceDef *nd=md->getNamespaceDef(); if (nd && nd->isLinkableInProject() && md->isLinkableInProject()) { QCString n = mn->memberName(); if (!n.isEmpty()) g_namespaceIndexLetterUsed[tolower(n.at(0))]=TRUE; found=TRUE; } else md=mn->next(); } if (found) count++; } return count;}//----------------------------------------------------------------------------int countFileMembers(){ int i=0;for (i=0;i<256;i++) g_fileIndexLetterUsed[i]=FALSE; int count=0; MemberNameSDict::Iterator mnli(Doxygen::functionNameSDict); MemberName *mn=0; for (mnli.toFirst();(mn=mnli.current());++mnli) { MemberDef *md=mn->first(); FileDef *fd; bool found=FALSE; while (md && !found) { if (md->isLinkableInProject() && (fd=md->getFileDef()) && fd->isLinkableInProject() ) { QCString n = mn->memberName(); if (!n.isEmpty()) g_fileIndexLetterUsed[tolower(n.at(0))]=TRUE; found=TRUE; } else md=mn->next(); } if (found) count++; } return count;}//----------------------------------------------------------------------------void writeFileMemberIndex(OutputList &ol){ if (documentedFunctions==0) return; ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Html); startFile(ol,"globals",0,"File Member Index"); QCString title = theTranslator->trFileMembers(); QCString htmlHelpTitle = title; QCString ftvHelpTitle = title; if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" "); startTitle(ol,0); parseText(ol,title); endTitle(ol,0,0); bool quickIndex = documentedMembers>maxItemsBeforeQuickIndex; if (quickIndex) { writeQuickMemberIndex(ol,g_fileIndexLetterUsed); } bool &generateHtml = Config_getBool("GENERATE_HTML") ; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP"); bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW"); if (hasHtmlHelp) { HtmlHelp *htmlHelp = HtmlHelp::getInstance(); htmlHelp->addContentsItem(FALSE,htmlHelpTitle,"globals"); } if (hasFtvHelp) { FTVHelp *ftvHelp = FTVHelp::getInstance(); ftvHelp->addContentsItem(FALSE,0,"globals",0,ftvHelpTitle); } parseText(ol,theTranslator->trFileMembersDescription(Config_getBool("EXTRACT_ALL"))); writeFileMemberList(ol,quickIndex); endFile(ol); ol.popGeneratorState();}//----------------------------------------------------------------------------void writeNamespaceMemberIndex(OutputList &ol){ if (documentedNamespaceMembers==0) return; ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Html); startFile(ol,"namespacemembers",0,"Namespace Member Index"); QCString title = theTranslator->trNamespaceMembers(); QCString htmlHelpTitle = title; QCString ftvHelpTitle = title; if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" "); startTitle(ol,0); parseText(ol,title); endTitle(ol,0,0); bool quickIndex = documentedMembers>maxItemsBeforeQuickIndex; if (quickIndex) { writeQuickMemberIndex(ol,g_namespaceIndexLetterUsed); } bool &generateHtml = Config_getBool("GENERATE_HTML") ; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP"); bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW"); if (hasHtmlHelp) { HtmlHelp *htmlHelp = HtmlHelp::getInstance(); htmlHelp->addContentsItem(FALSE,htmlHelpTitle,"namespacemembers"); } if (hasFtvHelp) { FTVHelp *ftvHelp = FTVHelp::getInstance(); ftvHelp->addContentsItem(FALSE,0,"namespacemembers",0,ftvHelpTitle); } parseText(ol,theTranslator->trNamespaceMemberDescription(Config_getBool("EXTRACT_ALL"))); writeNamespaceMemberList(ol,quickIndex); endFile(ol); ol.popGeneratorState();}//----------------------------------------------------------------------------void writeExampleIndex(OutputList &ol){ if (Doxygen::exampleSDict->count()==0) return; ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); startFile(ol,"examples",0,"Example Index"); startTitle(ol,0); QCString title = theTranslator->trExamples(); QCString htmlHelpTitle = title; QCString ftvHelpTitle = title; if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" "); parseText(ol,title); endTitle(ol,0,0); ol.startTextBlock(); HtmlHelp *htmlHelp = 0; FTVHelp *ftvHelp = 0; bool &generateHtml = Config_getBool("GENERATE_HTML") ; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP"); bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW"); if (hasHtmlHelp) { htmlHelp = HtmlHelp::getInstance(); htmlHelp->addContentsItem(TRUE,htmlHelpTitle,"examples"); htmlHelp->incContentsDepth(); } if (hasFtvHelp) { ftvHelp = FTVHelp::getInstance(); ftvHelp->addContentsItem(TRUE,0,"examples",0,ftvHelpTitle); ftvHelp->incContentsDepth(); } parseText(ol,theTranslator->trExamplesDescription()); //ol.newParagraph(); ol.endTextBlock(); ol.startItemList(); PageSDict::Iterator pdi(*Doxygen::exampleSDict); PageInfo *pi=0; for (pdi.toFirst();(pi=pdi.current());++pdi) { ol.writeListItem(); QCString n=convertNameToFile(pi->name+"-example"); if (!pi->title.isEmpty()) { ol.writeObjectLink(0,n,0,pi->title); if (hasHtmlHelp) htmlHelp->addContentsItem(FALSE,pi->title,n); if (hasFtvHelp) ftvHelp->addContentsItem(FALSE,pi->getReference(),n,0,pi->title); } else { ol.writeObjectLink(0,n,0,pi->name); if (hasHtmlHelp) htmlHelp->addContentsItem(FALSE,pi->name,n); if (hasFtvHelp) ftvHelp->addContentsItem(FALSE,pi->getReference(),n,0,pi->name); } ol.writeString("\n"); } ol.endItemList(); if (hasHtmlHelp) { htmlHelp->decContentsDepth(); } if (hasFtvHelp) { ftvHelp->decContentsDepth(); } endFile(ol); ol.popGeneratorState();}//----------------------------------------------------------------------------void countRelatedPages(int &docPages,int &indexPages){ docPages=indexPages=0; PageSDict::Iterator pdi(*Doxygen::pageSDict); PageInfo *pi=0; for (pdi.toFirst();(pi=pdi.current());++pdi) { if (!pi->inGroup && (!pi->isReference() || Config_getBool("ALLEXTERNALS"))) { indexPages++; if (!pi->isReference()) docPages++; } }}//----------------------------------------------------------------------------int countPackages(){ int count=0; PackageSDict::Iterator pdi(Doxygen::packageDict); PackageDef *pd=0; for (pdi.toFirst();(pd=pdi.current());++pdi) { if (!pd->isReference()) { count++; } } return count;}//----------------------------------------------------------------------------void writePageIndex(OutputList &ol){ if (indexedPages==0) return; ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); startFile(ol,"pages",0,"Page Index"); startTitle(ol,0); QCString title = theTranslator->trRelatedPages(); QCString htmlHelpTitle = title; QCString ftvHelpTitle = title; if (!Config_getString("PROJECT_NAME").isEmpty()) title.prepend(Config_getString("PROJECT_NAME")+" "); parseText(ol,title); endTitle(ol,0,0); ol.startTextBlock(); HtmlHelp *htmlHelp = 0; FTVHelp *ftvHelp = 0; bool &generateHtml = Config_getBool("GENERATE_HTML") ; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP"); bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW"); if (hasHtmlHelp) { htmlHelp = HtmlHelp::getInstance(); htmlHelp->addContentsItem(TRUE,htmlHelpTitle,"pages"); htmlHelp->incContentsDepth(); } if (hasFtvHelp) { ftvHelp = FTVHelp::getInstance(); ftvHelp->addContentsItem(TRUE,0,"pages",0,ftvHelpTitle); ftvHelp->incContentsDepth(); } parseText(ol,theTranslator->trRelatedPagesDescription()); ol.endTextBlock(); { // UGLY HACK! ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); ol.disable(OutputGenerator::Html); ol.startIndexList(); ol.enableAll(); ol.disable(OutputGenerator::Latex); ol.disable(OutputGenerator::RTF); ol.startItemList(); ol.popGeneratorState(); } PageSDict::Iterator pdi(*Doxygen::pageSDict); PageInfo *pi=0; for (pdi.toFirst();(pi=pdi.current());++pdi) { if (!pi->inGroup && (!pi->isReference() || Config_getBool("ALLEXTERNALS"))) { QCString pageName,pageTitle; if (Config_getBool("CASE_SENSE_NAMES")) pageName=pi->name.copy(); else pageName=pi->name.lower(); if (pi->title.isEmpty()) pageTitle=pi->name; else pageTitle=pi->title; ol.writeIndexItem(pi->getReference(),pi->getOutputFileBase(),pageTitle); if (pi->isReference()) { ol.startTypewriter(); ol.docify(" [external]"); ol.endTypewriter(); } ol.writeString("\n"); if (hasHtmlHelp) htmlHelp->addContentsItem(FALSE,pageTitle,pageName); if (hasFtvHelp) ftvHelp->addContentsItem(FALSE,0,pageName,0,pageTitle); } } { // UGLY HACK! ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); ol.disable(OutputGenerator::Html); ol.endIndexList(); ol.enableAll(); ol.disable(OutputGenerator::Latex); ol.disable(OutputGenerator::RTF); ol.endItemList(); ol.popGeneratorState(); } if (hasHtmlHelp) { htmlHelp->decContentsDepth(); } if (hasFtvHelp) { ftvHelp->decContentsDepth(); } endFile(ol); ol.popGeneratorState();}//----------------------------------------------------------------------------int countGroups(){ int count=0; GroupSDict::Iterator gli(Doxygen::groupSDict); GroupDef *gd; for (gli.toFirst();(gd=gli.current());++gli) { if (!gd->isReference()) { gd->visited=FALSE; count++; } } return count;}//----------------------------------------------------------------------------void writeGraphInfo(OutputList &ol){ if (!Config_getBool("HAVE_DOT") || !Config_getBool("GENERATE_HTML")) return; ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Html); generateGraphLegend(Config_getString("HTML_OUTPUT")); startFile(ol,"graph_legend",0,"Graph Legend"); startTitle(ol,0); parseText(ol,theTranslator->trLegendTitle()); endTitle(ol,0,0); bool oldStripCommentsState = Config_getBool("STRIP_CODE_COMMENTS"); // temporarily disable the stripping of comments for our own code example! Config_getBool("STRIP_CODE_COMMENTS") = FALSE; parseDoc(ol,"graph_legend",1,0,0,theTranslator->trLegendDocs()); Config_getBool("STRIP_CODE_COMMENTS") = oldStripCommentsState; endFile(ol); ol.popGeneratorState();}//----------------------------------------------------------------------------/*! * write groups as hierarchial trees * \author KPW */void writeGroupTreeNode(OutputList &ol, GroupDef *gd,bool subLevel){ HtmlHelp *htmlHelp=0; FTVHelp *ftvHelp = 0; bool &generateHtml = Config_getBool("GENERATE_HTML") ; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP"); bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW"); if (hasHtmlHelp
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -