diff options
Diffstat (limited to 'src/index.cpp')
-rw-r--r-- | src/index.cpp | 116 |
1 files changed, 88 insertions, 28 deletions
diff --git a/src/index.cpp b/src/index.cpp index bad0cc2..e4120ae 100644 --- a/src/index.cpp +++ b/src/index.cpp @@ -175,28 +175,69 @@ QCString abbreviate(const char *s,const char *name) //---------------------------------------------------------------------------- +static void startQuickIndexList(OutputList &ol) +{ + bool fancyTabs = TRUE; + if (fancyTabs) + { + ol.writeString("<div class=\"tabs\">\n"); + ol.writeString(" <ul>\n"); + } + else + { + ol.writeString("<div class=\"qindex\">"); + } +} + +static void endQuickIndexList(OutputList &ol) +{ + bool fancyTabs = TRUE; + if (fancyTabs) + { + ol.writeString(" </ul>\n"); + } + ol.writeString("</div>\n"); +} + static void startQuickIndexItem(OutputList &ol,const char *l, bool hl,bool compact,bool &first) { - if (!first && compact) ol.writeString(" | "); + bool fancyTabs = TRUE; + if (!first && compact && !fancyTabs) ol.writeString(" | "); first=FALSE; - if (!compact) ol.writeString("<li>"); - if (hl && compact) + if (fancyTabs) { - ol.writeString("<a class=\"qindexHL\" "); + ol.writeString(" <li"); + if (hl) ol.writeString(" id=\"current\""); + ol.writeString("><a "); } else { - ol.writeString("<a class=\"qindex\" "); + if (!compact) ol.writeString("<li>"); + if (hl && compact) + { + ol.writeString("<a class=\"qindexHL\" "); + } + else + { + ol.writeString("<a class=\"qindex\" "); + } } ol.writeString("href=\""); ol.writeString(l); ol.writeString("\">"); + if (fancyTabs) + { + ol.writeString("<span>"); + } } static void endQuickIndexItem(OutputList &ol) { + bool fancyTabs=TRUE; + if (fancyTabs) ol.writeString("</span>"); ol.writeString("</a>"); + if (fancyTabs) ol.writeString("</li>\n"); } @@ -284,7 +325,7 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper,int level) //printf("Passed...\n"); bool hasChildren = !cd->visited && !hideSuper && classHasVisibleChildren(cd); //printf("tree4: Has children %s: %d\n",cd->name().data(),hasChildren); - if (cd->isLinkable() && !cd->isHidden()) + if (cd->isLinkable()) { //printf("Writing class %s\n",cd->displayName().data()); ol.writeIndexItem(cd->getReference(),cd->getOutputFileBase(),cd->displayName()); @@ -367,7 +408,7 @@ void writeClassTree(BaseClassList *cl,int level) } bool hasChildren = !cd->visited && classHasVisibleChildren(cd); //printf("tree2: Has children %s: %d\n",cd->name().data(),hasChildren); - if (cd->isLinkable() && !cd->isHidden()) + if (cd->isLinkable()) { if (hasHtmlHelp) { @@ -406,7 +447,7 @@ void writeClassTreeNode(ClassDef *cd,bool hasHtmlHelp,bool hasFtvHelp,bool &star } bool hasChildren = classHasVisibleChildren(cd); //printf("node: Has children %s: %d\n",cd->name().data(),hasChildren); - if (cd->isLinkable() && !cd->isHidden()) + if (cd->isLinkable()) { if (hasHtmlHelp) { @@ -499,7 +540,7 @@ static void writeClassTreeForList(OutputList &ol,ClassSDict *cl,bool &started) } bool hasChildren = !cd->visited && classHasVisibleChildren(cd); //printf("list: Has children %s: %d\n",cd->name().data(),hasChildren); - if (cd->isLinkable() && !cd->isHidden()) + if (cd->isLinkable()) { //printf("Writing class %s isLinkable()=%d isLinkableInProject()=%d cd->templateMaster()=%p\n", // cd->displayName().data(),cd->isLinkable(),cd->isLinkableInProject(),cd->templateMaster()); @@ -594,7 +635,8 @@ void writeHierarchicalIndex(OutputList &ol) if (hierarchyClasses==0) return; ol.pushGeneratorState(); ol.disable(OutputGenerator::Man); - startFile(ol,"hierarchy",0, theTranslator->trHierarchicalIndex().data(), HLI_Hierarchy); + startFile(ol,"hierarchy",0, theTranslator->trHierarchicalIndex().data(), + HLI_Hierarchy); startTitle(ol,0); QCString title = theTranslator->trClassHierarchy(); QCString htmlHelpTitle = title; @@ -646,7 +688,7 @@ void writeGraphicalClassHierarchy(OutputList &ol) if (hierarchyClasses==0) return; ol.disableAllBut(OutputGenerator::Html); QCString title = theTranslator->trGraphicalHierarchy(); - startFile(ol,"inherits",0,title.data()); + startFile(ol,"inherits",0,title.data(),HLI_Hierarchy); startTitle(ol,0); QCString htmlHelpTitle = title; QCString ftvHelpTitle = title; @@ -914,7 +956,7 @@ int countNamespaces() NamespaceDef *nd; for (;(nd=nli.current());++nli) { - if (nd->isLinkableInProject() && !nd->isHidden()) count++; + if (nd->isLinkableInProject()) count++; } return count; } @@ -979,7 +1021,7 @@ void writeNamespaceIndex(OutputList &ol) NamespaceDef *nd; for (nli.toFirst();(nd=nli.current());++nli) { - if (nd->isLinkableInProject() && !nd->isHidden()) + if (nd->isLinkableInProject()) { if (first) { @@ -1042,7 +1084,7 @@ int countAnnotatedClasses() ClassDef *cd; for (;(cd=cli.current());++cli) { - if (cd->isLinkableInProject() && cd->templateMaster()==0 && !cd->isHidden()) + if (cd->isLinkableInProject() && cd->templateMaster()==0) { //printf("Annotated class %s\n",cd->name().data()); count++; @@ -1074,7 +1116,7 @@ void writeAnnotatedClassList(OutputList &ol) // see which elements are in use for (cli.toFirst();(cd=cli.current());++cli) { - if (cd->isLinkableInProject() && cd->templateMaster()==0 && !cd->isHidden()) + if (cd->isLinkableInProject() && cd->templateMaster()==0) { int c = cd->displayName().at(0); g_classIndexLetterUsed[CHL_All][c]=TRUE; @@ -1108,7 +1150,7 @@ void writeAnnotatedClassList(OutputList &ol) for (cli.toFirst();(cd=cli.current());++cli) { - if (cd->isLinkableInProject() && cd->templateMaster()==0 && !cd->isHidden()) + if (cd->isLinkableInProject() && cd->templateMaster()==0) { QCString type=cd->compoundTypeString(); ol.startIndexKey(); @@ -1159,7 +1201,7 @@ void writeAlphabeticalClassList(OutputList &ol) QCString alphaLinks = "<p><div class=\"qindex\">"; for (;(cd=cli.current());++cli) { - if (cd->isLinkableInProject() && cd->templateMaster()==0 && !cd->isHidden()) + if (cd->isLinkableInProject() && cd->templateMaster()==0) { int index = getPrefixIndex(cd->className()); //printf("name=%s index=%d\n",cd->className().data(),index); @@ -1201,7 +1243,7 @@ void writeAlphabeticalClassList(OutputList &ol) startLetter=0; for (cli.toFirst();(cd=cli.current());++cli) { - if (cd->isLinkableInProject() && cd->templateMaster()==0 && !cd->isHidden()) + if (cd->isLinkableInProject() && cd->templateMaster()==0) { int index = getPrefixIndex(cd->className()); if (toupper(cd->className().at(index))!=startLetter) @@ -1424,7 +1466,7 @@ void writeMemberList(OutputList &ol,bool useSections, if ( md->isLinkableInProject() && (cd=md->getClassDef()) && - cd->isLinkableInProject() && cd->templateMaster()==0 && !cd->isHidden() && + cd->isLinkableInProject() && cd->templateMaster()==0 && ( (filter==CMHL_All && !(md->isFriend() && isFriendToHide)) || (filter==CMHL_Functions && (md->isFunction() || md->isSlot() || md->isSignal())) || (filter==CMHL_Variables && md->isVariable()) || @@ -1481,7 +1523,7 @@ void writeMemberList(OutputList &ol,bool useSections, if ( md->isLinkableInProject() && prevName!=cd->displayName() && - cd->templateMaster()==0 && !cd->isHidden() + cd->templateMaster()==0 ) { if (count==0) @@ -1558,7 +1600,7 @@ void writeQuickMemberIndex(OutputList &ol,bool *charUsed,int page, { bool first=TRUE; int i; - ol.writeString("<div class=\"qindex\">"); + startQuickIndexList(ol); for (i=33;i<127;i++) { char is[2];is[0]=(char)i;is[1]='\0'; @@ -1578,7 +1620,7 @@ void writeQuickMemberIndex(OutputList &ol,bool *charUsed,int page, first=FALSE; } } - ol.writeString("</div>\n"); + endQuickIndexList(ol); ol.newParagraph(); } @@ -1635,7 +1677,7 @@ static void writeClassMemberIndexFiltered(OutputList &ol, ClassMemberHighlight h startFile(ol,fileName+extension,0,title,HLI_Functions); - ol.writeString("<div class=\"qindex\">"); + startQuickIndexList(ol); // index item for global member list startQuickIndexItem(ol, @@ -1657,7 +1699,7 @@ static void writeClassMemberIndexFiltered(OutputList &ol, ClassMemberHighlight h } } - ol.writeString("</div>\n"); + endQuickIndexList(ol); // quick alphabetical index bool quickIndex = documentedClassMembers[hl]>maxItemsBeforeQuickIndex; @@ -1670,6 +1712,12 @@ static void writeClassMemberIndexFiltered(OutputList &ol, ClassMemberHighlight h { ol.parseText(theTranslator->trCompoundMembersDescription(Config_getBool("EXTRACT_ALL"))); } + else + { + // hack to work around a mozilla bug, which refuses to switch to + // normal lists otherwise + ol.writeString(" "); + } ol.newParagraph(); writeMemberList(ol,quickIndex,hl,page); endFile(ol); @@ -2032,7 +2080,7 @@ static void writeFileMemberIndexFiltered(OutputList &ol, FileMemberHighlight hl) startFile(ol,fileName+extension,0,title.data(),HLI_Globals); - ol.writeString("<div class=\"qindex\">"); + startQuickIndexList(ol); // index item for all member lists startQuickIndexItem(ol, @@ -2053,7 +2101,7 @@ static void writeFileMemberIndexFiltered(OutputList &ol, FileMemberHighlight hl) } } - ol.writeString("</div>\n"); + endQuickIndexList(ol); bool quickIndex = documentedFileMembers[hl]>maxItemsBeforeQuickIndex; if (quickIndex) @@ -2066,6 +2114,12 @@ static void writeFileMemberIndexFiltered(OutputList &ol, FileMemberHighlight hl) { ol.parseText(theTranslator->trFileMembersDescription(Config_getBool("EXTRACT_ALL"))); } + else + { + // hack to work around a mozilla bug, which refuses to switch to + // normal lists otherwise + ol.writeString(" "); + } ol.newParagraph(); writeFileMemberList(ol,quickIndex,hl,page); endFile(ol); @@ -2155,7 +2209,7 @@ static void writeNamespaceMemberIndexFiltered(OutputList &ol, startFile(ol,fileName+extension,0,title,HLI_NamespaceMembers); - ol.writeString("<div class=\"qindex\">"); + startQuickIndexList(ol); startQuickIndexItem(ol, nmhlInfo[0].fname+Doxygen::htmlFileExtension,hl==NMHL_All,TRUE,first); @@ -2174,7 +2228,7 @@ static void writeNamespaceMemberIndexFiltered(OutputList &ol, } } - ol.writeString("</div>\n"); + endQuickIndexList(ol); bool quickIndex = documentedNamespaceMembers[hl]>maxItemsBeforeQuickIndex; if (quickIndex) @@ -2186,6 +2240,12 @@ static void writeNamespaceMemberIndexFiltered(OutputList &ol, { ol.parseText(theTranslator->trNamespaceMemberDescription(Config_getBool("EXTRACT_ALL"))); } + else + { + // hack to work around a mozilla bug, which refuses to switch to + // normal lists otherwise + ol.writeString(" "); + } ol.newParagraph(); writeNamespaceMemberList(ol,quickIndex,hl,page); |