📄 index.cpp
字号:
else { cname=cd->className(); } ol.writeObjectLink(cd->getReference(), cd->getOutputFileBase(),0,cname); if (!namesp.isEmpty()) { ol.docify(" ("); NamespaceDef *nd = getResolvedNamespace(namesp); if (nd && nd->isLinkable()) { ol.writeObjectLink(nd->getReference(), nd->getOutputFileBase(),0,namesp); } else { ol.docify(namesp); } ol.docify(")"); } ol.writeNonBreakableSpace(3); //printf("item ClassDef=%p %s\n",cd,cd ? cd->name().data() : "<none>"); ++(*colIterators[j]); } ol.endTableColumn(); if (j<colsInRow-1) ol.nextTableColumn(); } ol.endTableRow(); } ol.endAlphabeticalIndexList(); // release the temporary memory for (i=0;i<columns;i++) { delete colIterators[i]; } delete[] colIterators; delete[] colList;}//----------------------------------------------------------------------------void writeAlphabeticalIndex(OutputList &ol){ if (annotatedClasses==0) return; ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Html); startFile(ol,"classes.html",0,"Alphabetical index"); startTitle(ol,0); parseText(ol,Config_getString("PROJECT_NAME")+" "+theTranslator->trCompoundIndex()); endTitle(ol,0,0); writeAlphabeticalClassList(ol); endFile(ol); ol.popGeneratorState();}//----------------------------------------------------------------------------void writeAnnotatedIndex(OutputList &ol){ bool &generateHtml = Config_getBool("GENERATE_HTML") ; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP"); bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW"); if (annotatedClasses==0) return; ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); startFile(ol,"annotated",0,"Annotated Index"); startTitle(ol,0); QCString title = theTranslator->trCompoundList(); 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; if (hasHtmlHelp) { htmlHelp = HtmlHelp::getInstance(); htmlHelp->addContentsItem(TRUE,htmlHelpTitle,"annotated"); htmlHelp->incContentsDepth(); } if (hasFtvHelp) { ftvHelp = FTVHelp::getInstance(); ftvHelp->addContentsItem(TRUE,0,"annotated",0,ftvHelpTitle); ftvHelp->incContentsDepth(); } parseText(ol,theTranslator->trCompoundListDescription()); ol.endTextBlock(); writeAnnotatedClassList(ol); if (hasHtmlHelp) { htmlHelp->decContentsDepth(); } if (hasFtvHelp) { ftvHelp->decContentsDepth(); } endFile(ol); ol.popGeneratorState();}//----------------------------------------------------------------------------void writePackageIndex(OutputList &ol){ bool &generateHtml = Config_getBool("GENERATE_HTML") ; bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP"); bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW"); if (documentedPackages==0) return; ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); startFile(ol,"packages",0,"Package Index"); startTitle(ol,0); QCString title = theTranslator->trPackageList(); 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; if (hasHtmlHelp) { htmlHelp = HtmlHelp::getInstance(); htmlHelp->addContentsItem(TRUE,htmlHelpTitle,"packages"); htmlHelp->incContentsDepth(); } if (hasFtvHelp) { ftvHelp = FTVHelp::getInstance(); ftvHelp->addContentsItem(TRUE,0,"packages",0,ftvHelpTitle); ftvHelp->incContentsDepth(); } parseText(ol,theTranslator->trPackageListDescription()); ol.endTextBlock(); writePackageList(ol); if (hasHtmlHelp) { htmlHelp->decContentsDepth(); } if (hasFtvHelp) { ftvHelp->decContentsDepth(); } endFile(ol); ol.popGeneratorState();}//----------------------------------------------------------------------------void writeMemberList(OutputList &ol,bool useSections){ bool first = TRUE; char lastChar = 0; MemberNameSDict::Iterator mnli(Doxygen::memberNameSDict); MemberName *mn=0; for (mnli.toFirst();(mn=mnli.current());++mnli) { MemberDef *md=mn->first(); bool found=FALSE; bool isFunc=FALSE; while (md && !found) { ClassDef *cd; if ( md->isLinkableInProject() && (cd=md->getClassDef()) && cd->isLinkableInProject() && cd->templateMaster()==0 ) { found=TRUE; isFunc=md->isFunction(); } md=mn->next(); } if (found) { if (useSections) { 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) { first=FALSE; ol.startItemList(); } ol.writeListItem(); ol.docify(mn->memberName()); if (isFunc) ol.docify("()"); ol.writeString("\n"); int count=0; md=mn->last(); QCString prevName; while (md) { ClassDef *cd=md->getClassDef(); if ( md->isLinkableInProject() && prevName!=cd->displayName() && cd->isLinkableInProject() && cd->templateMaster()==0 ) { if (count==0) ol.docify(": "); else ol.docify(", "); ol.writeObjectLink(cd->getReference(),cd->getOutputFileBase(),md->anchor(), cd->displayName()); count++; prevName=cd->displayName(); } md=mn->prev(); } } } ol.endItemList();}//----------------------------------------------------------------------------int countClassMembers(){ int i=0;for (i=0;i<256;i++) g_memberIndexLetterUsed[i]=FALSE; int count=0; MemberNameSDict::Iterator mnli(Doxygen::memberNameSDict); MemberName *mn=0; for (mnli.toFirst();(mn=mnli.current());++mnli) { MemberDef *md=mn->first(); bool found=FALSE; ClassDef *cd; while (md && !found) { if ( md->isLinkableInProject() && (cd=md->getClassDef()) && cd->isLinkableInProject() ) { found=TRUE; } md=mn->next(); } if (found) { QCString n = mn->memberName(); if (!n.isEmpty()) g_memberIndexLetterUsed[tolower(n.at(0))]=TRUE; count++; } } return count;}//----------------------------------------------------------------------------void writeQuickMemberIndex(OutputList &ol,bool *charUsed){ bool first=TRUE; int i; ol.startCenter(); for (i=33;i<127;i++) { QCString anchor="index_"; char is[2];is[0]=(char)i;is[1]='\0'; if (charUsed[i]) { if (!first) { ol.writeString(" | "); } ol.startTextLink(0,anchor+is); ol.writeString(is); ol.endTextLink(); first=FALSE; } } ol.endCenter(); ol.newParagraph();}//----------------------------------------------------------------------------void writeMemberIndex(OutputList &ol){ if (documentedMembers==0) return; ol.pushGeneratorState(); ol.disableAllBut(OutputGenerator::Html); startFile(ol,"functions",0,"Compound Member Index"); QCString title = theTranslator->trCompoundMembers(); 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_memberIndexLetterUsed); } 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,"functions"); } if (hasFtvHelp) { FTVHelp *ftvHelp = FTVHelp::getInstance(); ftvHelp->addContentsItem(FALSE,0,"functions",0,ftvHelpTitle); } parseText(ol,theTranslator->trCompoundMembersDescription(Config_getBool("EXTRACT_ALL"))); writeMemberList(ol,quickIndex); endFile(ol); ol.popGeneratorState();}//----------------------------------------------------------------------------void writeFileMemberList(OutputList &ol,bool useSections){ char lastChar=0; bool first=TRUE; 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) { FileDef *fd=md->getFileDef(); bool hasDocs = md->getFileDef() && md->getFileDef()->isLinkableInProject(); if (fd && hasDocs && md->isLinkableInProject() ) found=TRUE; else md=mn->next(); } if (found) // function is documented { if (useSections) { 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) { first=FALSE; ol.startItemList(); } ol.writeListItem(); ol.docify(md->name()); if (md->isFunction()) ol.docify("()"); ol.writeString("\n"); int count=0; md=mn->last(); QCString prevName; while (md) { FileDef *fd=md->getFileDef(); bool hasDocs = md->getFileDef() && md->getFileDef()->isLinkableInProject(); if (fd && hasDocs && md->isLinkableInProject() && prevName!=fd->name()) { if (count==0) ol.docify(": "); else ol.docify(", "); QCString baseName=fd->name().copy(); ol.writeObjectLink(fd->getReference(), fd->getOutputFileBase(),md->anchor(), baseName); count++; prevName=fd->name(); } md=mn->prev(); } } } ol.endItemList();}//----------------------------------------------------------------------------void writeNamespaceMemberList(OutputList &ol,bool useSections){ char lastChar=0; bool first=TRUE; 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()) found=TRUE; else md=mn->next(); } if (found) // member is documented and in a documented namespace { if (useSections) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -