From 143b39e71a45892c2b8e8bf22f5d448b441bf36a Mon Sep 17 00:00:00 2001 From: Dimitri van Heesch Date: Fri, 16 Sep 2005 18:34:41 +0000 Subject: Release-1.4.4-20050817 --- INSTALL | 4 +- README | 5 +- VERSION | 2 +- src/doxygen.cpp | 161 +++----- src/doxygen.css | 310 +++++++++++++++ src/doxygen_css.h | 310 +++++++++++++++ src/filedef.cpp | 4 +- src/ftvhelp.cpp | 40 -- src/htmlgen.cpp | 1050 +++++++++++++++++++++++++++++++------------------ src/index.cpp | 116 ++++-- src/index.h | 6 +- src/libdoxygen.pro.in | 1 + src/libdoxygen.t | 11 +- src/memberdef.cpp | 3 +- src/namespacedef.cpp | 2 +- src/namespacedef.h | 2 +- src/pre.l | 33 +- src/pycode.h | 8 +- src/pycode.l | 8 +- src/pyscanner.h | 8 +- src/pyscanner.l | 26 +- src/scanner.l | 4 + src/search.php | 7 +- src/search_php.h | 7 +- src/util.cpp | 124 +++--- src/util.h | 3 +- 26 files changed, 1586 insertions(+), 669 deletions(-) create mode 100644 src/doxygen.css create mode 100644 src/doxygen_css.h diff --git a/INSTALL b/INSTALL index b3d972c..1aa5eac 100644 --- a/INSTALL +++ b/INSTALL @@ -1,7 +1,7 @@ -DOXYGEN Version 1.4.4-20050815 +DOXYGEN Version 1.4.4-20050817 Please read the installation section of the manual (http://www.doxygen.org/install.html) for instructions. -------- -Dimitri van Heesch (15 August 2005) +Dimitri van Heesch (17 August 2005) diff --git a/README b/README index f49e7a4..9949e09 100644 --- a/README +++ b/README @@ -1,4 +1,4 @@ -DOXYGEN Version 1.4.4_20050815 +DOXYGEN Version 1.4.4_20050817 Please read INSTALL for compilation instructions. @@ -17,5 +17,4 @@ to subscribe to the lists or to visit the archives. Enjoy, -Dimitri van Heesch (dimitri@stack.nl) (15 August 2005) - +Dimitri van Heesch (dimitri@stack.nl) (17 August 2005) diff --git a/VERSION b/VERSION index f356179..0cb25ea 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.4.4-20050815 +1.4.4-20050817 diff --git a/src/doxygen.cpp b/src/doxygen.cpp index 2c9b6ca..1f064bd 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -268,6 +268,21 @@ static STLInfo g_stlinfo[] = { "priority_queue", 0, 0, "T", "elements", 0, 0, FALSE, FALSE }, { "stack", 0, 0, "T", "elements", 0, 0, FALSE, FALSE }, { "valarray", 0, 0, "T", "elements", 0, 0, FALSE, FALSE }, + { "exception", 0, 0, 0, 0, 0, 0, FALSE, FALSE }, + { "bad_alloc", "exception", 0, 0, 0, 0, 0, FALSE, FALSE }, + { "bad_cast", "exception", 0, 0, 0, 0, 0, FALSE, FALSE }, + { "bad_typeid", "exception", 0, 0, 0, 0, 0, FALSE, FALSE }, + { "logic_error", "exception", 0, 0, 0, 0, 0, FALSE, FALSE }, + { "ios_base::failure", "exception", 0, 0, 0, 0, 0, FALSE, FALSE }, + { "runtime_error", "exception", 0, 0, 0, 0, 0, FALSE, FALSE }, + { "bad_exception", "exception", 0, 0, 0, 0, 0, FALSE, FALSE }, + { "domain_error", "logic_error", 0, 0, 0, 0, 0, FALSE, FALSE }, + { "invalid_argument", "logic_error", 0, 0, 0, 0, 0, FALSE, FALSE }, + { "length_error", "logic_error", 0, 0, 0, 0, 0, FALSE, FALSE }, + { "out_of_range", "logic_error", 0, 0, 0, 0, 0, FALSE, FALSE }, + { "range_error", "runtime_error", 0, 0, 0, 0, 0, FALSE, FALSE }, + { "overflow_error", "runtime_error", 0, 0, 0, 0, 0, FALSE, FALSE }, + { "underflow_error", "runtime_error", 0, 0, 0, 0, 0, FALSE, FALSE }, { 0, 0, 0, 0, 0, 0, 0, FALSE, FALSE } }; @@ -3162,119 +3177,22 @@ static QDict *getTemplateArgumentsInName(ArgumentList *templateArguments,co */ static ClassDef *findClassWithinClassContext(Definition *context,ClassDef *cd,const QCString &name) { - -#if 0 - ClassDef *result=0; - - FileDef *fd=cd->getFileDef(); - // try using of namespaces in namespace scope - NamespaceDef *nd=cd->getNamespaceDef(); - if (nd) // class is inside a namespace - { - QCString fName = nd->name()+"::"+name; - result = getResolvedClass(cd,fd,fName); - if (result && result!=cd) - { - return result; - } - NamespaceSDict *nl = nd->getUsedNamespaces(); - if (nl) // try to prepend any of the using namespace scopes. - { - NamespaceSDict::Iterator nli(*nl); - NamespaceDef *nd; - for (nli.toFirst() ; (nd=nli.current()) ; ++nli) - { - fName = nd->name()+"::"+name; - result = getResolvedClass(cd,fd,fName); - if (result && result!=cd) return result; - } - } - SDict *cl = nd->getUsedClasses(); - if (cl) - { - SDict::Iterator cli(*cl); - Definition *ucd; - for (cli.toFirst(); (ucd=cli.current()) ; ++cli) - { - if (ucd->definitionType()==Definition::TypeClass && - rightScopeMatch(ucd->name(),name)) - { - return (ClassDef *)ucd; - } - } - } - // TODO: check any inbetween namespaces as well! - if (fd) // and in the global namespace - { - SDict *cl = fd->getUsedClasses(); - if (cl) - { - SDict::Iterator cli(*cl); - Definition *ucd; - for (cli.toFirst(); (ucd=cli.current()); ++cli) - { - if (ucd->definitionType()==Definition::TypeClass && - rightScopeMatch(ucd->name(),name)) - { - return (ClassDef *)ucd; - } - } - } - } - } - - // try using of namespaces in file scope - if (fd) - { - // look for the using statement in this file in which the - // class was found - NamespaceSDict *nl = fd->getUsedNamespaces(); - if (nl) // try to prepend any of the using namespace scopes. - { - NamespaceSDict::Iterator nli(*nl); - NamespaceDef *nd; - for (nli.toFirst() ; (nd=nli.current()) ; ++nli) - { - QCString fName = nd->name()+"::"+name; - result=getResolvedClass(cd,fd,fName); - if (result && result!=cd) - { - return result; - } - } - } - SDict *cl = fd->getUsedClasses(); - if (cl) - { - SDict::Iterator cli(*cl); - Definition *ucd; - for (cli.toFirst(); (ucd=cli.current()) ; ++cli) - { - if (ucd->definitionType()==Definition::TypeClass && - rightScopeMatch(ucd->name(),name)) - { - return (ClassDef *)ucd; - } - } - } - } -#endif - FileDef *fd=cd->getFileDef(); ClassDef *result=0; if (context && cd!=context) { - result = getResolvedClass(context,0,name); + result = getResolvedClass(context,0,name,0,0,FALSE,TRUE); } if (result==0) { - result = getResolvedClass(cd,fd,name); + result = getResolvedClass(cd,fd,name,0,0,FALSE,TRUE); } - //printf("** Trying to find %s within context %s class %s result=%s\n", + //printf("** Trying to find %s within context %s class %s result=%s lookup=%p\n", // name.data(), // context ? context->name().data() : "", // cd ? cd->name().data() : "", - // result ? result->name().data() : "" + // result ? result->name().data() : "", + // Doxygen::classSDict.find(name) // ); return result; } @@ -3320,7 +3238,7 @@ static void findUsedClassesForClass(Entry *root, MemberDef *md=mi->memberDef; if (md->isVariable()) // for each member variable in this class { - //printf("Found variable %s in class %s\n",md->name().data(),masterCd->name().data()); + //printf(" Found variable %s in class %s\n",md->name().data(),masterCd->name().data()); QCString type=removeRedundantWhiteSpace(md->typeString()); int pos=0; QCString usedClassName; @@ -3332,11 +3250,16 @@ static void findUsedClassesForClass(Entry *root, type = substituteTemplateArgumentsInString(type,formalArgs,actualArgs); } - //printf(" template substitution gives=%s\n",type.data()); + //printf(" template substitution gives=%s\n",type.data()); while (!found && extractClassNameFromType(type,pos,usedClassName,templSpec)!=-1) { // find the type (if any) that matches usedClassName - ClassDef *typeCd = getResolvedClass(masterCd,masterCd->getFileDef(),usedClassName); + ClassDef *typeCd = getResolvedClass(masterCd, + masterCd->getFileDef(), + usedClassName, + 0,0, + FALSE,TRUE + ); //printf("====> usedClassName=%s -> typeCd=%s\n", // usedClassName.data(),typeCd?typeCd->name().data():""); if (typeCd) @@ -3383,6 +3306,7 @@ static void findUsedClassesForClass(Entry *root, usedCd = new ClassDef( masterCd->getDefFileName(),masterCd->getDefLine(), usedName,ClassDef::Class); + usedCd->makeTemplateArgument(); Doxygen::hiddenClasses.append(usedName,usedCd); } if (usedCd) @@ -3536,7 +3460,7 @@ static bool findTemplateInstanceRelation(Entry *root, if (freshInstance) { - Debug::print(Debug::Classes,0," found fresh instance!\n"); + Debug::print(Debug::Classes,0," found fresh instance '%s'!\n",instanceClass->name().data()); Doxygen::classSDict.append(instanceClass->name(),instanceClass); instanceClass->setTemplateBaseClassNames(templateNames); @@ -3638,11 +3562,12 @@ static bool findClassRelation( MemberDef *baseClassTypeDef=0; QCString templSpec; ClassDef *baseClass=getResolvedClass(explicitGlobalScope ? 0 : cd, - cd->getFileDef(), // todo: is this ok? + cd->getFileDef(), baseClassName, &baseClassTypeDef, &templSpec, - mode==Undocumented + mode==Undocumented, + TRUE ); //printf("baseClassName=%s baseClass=%p cd=%p explicitGlobalScope=%d\n", // baseClassName.data(),baseClass,cd,explicitGlobalScope); @@ -3695,7 +3620,14 @@ static bool findClassRelation( { templSpec=baseClassName.mid(i,e-i); baseClassName=baseClassName.left(i)+baseClassName.right(baseClassName.length()-e); - baseClass=getResolvedClass(cd,cd->getFileDef(),baseClassName); + baseClass=getResolvedClass(cd, + cd->getFileDef(), + baseClassName, + &baseClassTypeDef, + 0, //&templSpec, + mode==Undocumented, + TRUE + ); //printf("baseClass=%p -> baseClass=%s templSpec=%s\n", // baseClass,baseClassName.data(),templSpec.data()); } @@ -3707,7 +3639,14 @@ static bool findClassRelation( { // replace any namespace aliases replaceNamespaceAliases(baseClassName,si); - baseClass=getResolvedClass(cd,cd->getFileDef(),baseClassName); + baseClass=getResolvedClass(cd, + cd->getFileDef(), + baseClassName, + &baseClassTypeDef, + &templSpec, + mode==Undocumented, + TRUE + ); found=baseClass!=0 && baseClass!=cd; } @@ -4305,7 +4244,7 @@ static void addMemberDocs(Entry *root, static ClassDef *findClassDefinition(FileDef *fd,NamespaceDef *nd, const char *scopeName) { - ClassDef *tcd = getResolvedClass(nd,fd,scopeName,0,0,TRUE); + ClassDef *tcd = getResolvedClass(nd,fd,scopeName,0,0,TRUE,TRUE); return tcd; } diff --git a/src/doxygen.css b/src/doxygen.css new file mode 100644 index 0000000..05615b2 --- /dev/null +++ b/src/doxygen.css @@ -0,0 +1,310 @@ +BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { + font-family: Geneva, Arial, Helvetica, sans-serif; +} +BODY,TD { + font-size: 90%; +} +H1 { + text-align: center; + font-size: 160%; +} +H2 { + font-size: 120%; +} +H3 { + font-size: 100%; +} +CAPTION { font-weight: bold } +DIV.qindex { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.nav { + width: 100%; + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + padding: 2px; + line-height: 140%; +} +DIV.navtab { + background-color: #e8eef2; + border: 1px solid #84b0c7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} +TD.navtab { + font-size: 70%; +} +A.qindex { + text-decoration: none; + font-weight: bold; + color: #1A419D; +} +A.qindex:visited { + text-decoration: none; + font-weight: bold; + color: #1A419D +} +A.qindex:hover { + text-decoration: none; + background-color: #ddddff; +} +A.qindexHL { + text-decoration: none; + font-weight: bold; + background-color: #6666cc; + color: #ffffff; + border: 1px double #9295C2; +} +A.qindexHL:hover { + text-decoration: none; + background-color: #6666cc; + color: #ffffff; +} +A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } +A.el { text-decoration: none; font-weight: bold } +A.elRef { font-weight: bold } +A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} +A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} +A.codeRef:link { font-weight: normal; color: #0000FF} +A.codeRef:visited { font-weight: normal; color: #0000FF} +A:hover { text-decoration: none; background-color: #f2f2ff } +DL.el { margin-left: -1cm } +.fragment { + font-family: Fixed, monospace; + font-size: 95%; +} +PRE.fragment { + border: 1px solid #CCCCCC; + background-color: #f5f5f5; + margin-top: 4px; + margin-bottom: 4px; + margin-left: 2px; + margin-right: 8px; + padding-left: 6px; + padding-right: 6px; + padding-top: 4px; + padding-bottom: 4px; +} +DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } +TD.md { background-color: #F4F4FB; font-weight: bold; } +TD.mdPrefix { + background-color: #F4F4FB; + color: #606060; + font-size: 80%; +} +TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; } +TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; } +DIV.groupHeader { + margin-left: 16px; + margin-top: 12px; + margin-bottom: 6px; + font-weight: bold; +} +DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% } +BODY { + background: white; + color: black; + margin-right: 20px; + margin-left: 20px; +} +TD.indexkey { + background-color: #e8eef2; + font-weight: bold; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TD.indexvalue { + background-color: #e8eef2; + font-style: italic; + padding-right : 10px; + padding-top : 2px; + padding-left : 10px; + padding-bottom : 2px; + margin-left : 0px; + margin-right : 0px; + margin-top : 2px; + margin-bottom : 2px; + border: 1px solid #CCCCCC; +} +TR.memlist { + background-color: #f0f0f0; +} +P.formulaDsp { text-align: center; } +IMG.formulaDsp { } +IMG.formulaInl { vertical-align: middle; } +SPAN.keyword { color: #008000 } +SPAN.keywordtype { color: #604020 } +SPAN.keywordflow { color: #e08000 } +SPAN.comment { color: #800000 } +SPAN.preprocessor { color: #806020 } +SPAN.stringliteral { color: #002080 } +SPAN.charliteral { color: #008080 } +.mdTable { + border: 1px solid #868686; + background-color: #F4F4FB; +} +.mdRow { + padding: 8px 10px; +} +.mdescLeft { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.mdescRight { + padding: 0px 8px 4px 8px; + font-size: 80%; + font-style: italic; + background-color: #FAFAFA; + border-top: 1px none #E0E0E0; + border-right: 1px none #E0E0E0; + border-bottom: 1px none #E0E0E0; + border-left: 1px none #E0E0E0; + margin: 0px; +} +.memItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemLeft { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplItemRight { + padding: 1px 8px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: none; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + background-color: #FAFAFA; + font-size: 80%; +} +.memTemplParams { + padding: 1px 0px 0px 8px; + margin: 4px; + border-top-width: 1px; + border-right-width: 1px; + border-bottom-width: 1px; + border-left-width: 1px; + border-top-color: #E0E0E0; + border-right-color: #E0E0E0; + border-bottom-color: #E0E0E0; + border-left-color: #E0E0E0; + border-top-style: solid; + border-right-style: none; + border-bottom-style: none; + border-left-style: none; + color: #606060; + background-color: #FAFAFA; + font-size: 80%; +} +.search { color: #003399; + font-weight: bold; +} +FORM.search { + margin-bottom: 0px; + margin-top: 0px; +} +INPUT.search { font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +TD.tiny { font-size: 75%; +} +a { + color: #1A41A8; +} +a:visited { + color: #2A3798; +} +.dirtab { padding: 4px; + border-collapse: collapse; + border: 1px solid #84b0c7; +} +TH.dirtab { background: #e8eef2; + font-weight: bold; +} +HR { height: 1px; + border: none; + border-top: 1px solid black; +} + diff --git a/src/doxygen_css.h b/src/doxygen_css.h new file mode 100644 index 0000000..acb7fa6 --- /dev/null +++ b/src/doxygen_css.h @@ -0,0 +1,310 @@ +"BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {\n" +" font-family: Geneva, Arial, Helvetica, sans-serif;\n" +"}\n" +"BODY,TD {\n" +" font-size: 90%;\n" +"}\n" +"H1 {\n" +" text-align: center;\n" +" font-size: 160%;\n" +"}\n" +"H2 {\n" +" font-size: 120%;\n" +"}\n" +"H3 {\n" +" font-size: 100%;\n" +"}\n" +"CAPTION { font-weight: bold }\n" +"DIV.qindex {\n" +" width: 100%;\n" +" background-color: #e8eef2;\n" +" border: 1px solid #84b0c7;\n" +" text-align: center;\n" +" margin: 2px;\n" +" padding: 2px;\n" +" line-height: 140%;\n" +"}\n" +"DIV.nav {\n" +" width: 100%;\n" +" background-color: #e8eef2;\n" +" border: 1px solid #84b0c7;\n" +" text-align: center;\n" +" margin: 2px;\n" +" padding: 2px;\n" +" line-height: 140%;\n" +"}\n" +"DIV.navtab {\n" +" background-color: #e8eef2;\n" +" border: 1px solid #84b0c7;\n" +" text-align: center;\n" +" margin: 2px;\n" +" margin-right: 15px;\n" +" padding: 2px;\n" +"}\n" +"TD.navtab {\n" +" font-size: 70%;\n" +"}\n" +"A.qindex {\n" +" text-decoration: none;\n" +" font-weight: bold;\n" +" color: #1A419D;\n" +"}\n" +"A.qindex:visited {\n" +" text-decoration: none;\n" +" font-weight: bold;\n" +" color: #1A419D\n" +"}\n" +"A.qindex:hover {\n" +" text-decoration: none;\n" +" background-color: #ddddff;\n" +"}\n" +"A.qindexHL {\n" +" text-decoration: none;\n" +" font-weight: bold;\n" +" background-color: #6666cc;\n" +" color: #ffffff;\n" +" border: 1px double #9295C2;\n" +"}\n" +"A.qindexHL:hover {\n" +" text-decoration: none;\n" +" background-color: #6666cc;\n" +" color: #ffffff;\n" +"}\n" +"A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff }\n" +"A.el { text-decoration: none; font-weight: bold }\n" +"A.elRef { font-weight: bold }\n" +"A.code:link { text-decoration: none; font-weight: normal; color: #0000FF}\n" +"A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF}\n" +"A.codeRef:link { font-weight: normal; color: #0000FF}\n" +"A.codeRef:visited { font-weight: normal; color: #0000FF}\n" +"A:hover { text-decoration: none; background-color: #f2f2ff }\n" +"DL.el { margin-left: -1cm }\n" +".fragment {\n" +" font-family: Fixed, monospace;\n" +" font-size: 95%;\n" +"}\n" +"PRE.fragment {\n" +" border: 1px solid #CCCCCC;\n" +" background-color: #f5f5f5;\n" +" margin-top: 4px;\n" +" margin-bottom: 4px;\n" +" margin-left: 2px;\n" +" margin-right: 8px;\n" +" padding-left: 6px;\n" +" padding-right: 6px;\n" +" padding-top: 4px;\n" +" padding-bottom: 4px;\n" +"}\n" +"DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }\n" +"TD.md { background-color: #F4F4FB; font-weight: bold; }\n" +"TD.mdPrefix {\n" +" background-color: #F4F4FB;\n" +" color: #606060;\n" +" font-size: 80%;\n" +"}\n" +"TD.mdname1 { background-color: #F4F4FB; font-weight: bold; color: #602020; }\n" +"TD.mdname { background-color: #F4F4FB; font-weight: bold; color: #602020; width: 600px; }\n" +"DIV.groupHeader {\n" +" margin-left: 16px;\n" +" margin-top: 12px;\n" +" margin-bottom: 6px;\n" +" font-weight: bold;\n" +"}\n" +"DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% }\n" +"BODY {\n" +" background: white;\n" +" color: black;\n" +" margin-right: 20px;\n" +" margin-left: 20px;\n" +"}\n" +"TD.indexkey {\n" +" background-color: #e8eef2;\n" +" font-weight: bold;\n" +" padding-right : 10px;\n" +" padding-top : 2px;\n" +" padding-left : 10px;\n" +" padding-bottom : 2px;\n" +" margin-left : 0px;\n" +" margin-right : 0px;\n" +" margin-top : 2px;\n" +" margin-bottom : 2px;\n" +" border: 1px solid #CCCCCC;\n" +"}\n" +"TD.indexvalue {\n" +" background-color: #e8eef2;\n" +" font-style: italic;\n" +" padding-right : 10px;\n" +" padding-top : 2px;\n" +" padding-left : 10px;\n" +" padding-bottom : 2px;\n" +" margin-left : 0px;\n" +" margin-right : 0px;\n" +" margin-top : 2px;\n" +" margin-bottom : 2px;\n" +" border: 1px solid #CCCCCC;\n" +"}\n" +"TR.memlist {\n" +" background-color: #f0f0f0; \n" +"}\n" +"P.formulaDsp { text-align: center; }\n" +"IMG.formulaDsp { }\n" +"IMG.formulaInl { vertical-align: middle; }\n" +"SPAN.keyword { color: #008000 }\n" +"SPAN.keywordtype { color: #604020 }\n" +"SPAN.keywordflow { color: #e08000 }\n" +"SPAN.comment { color: #800000 }\n" +"SPAN.preprocessor { color: #806020 }\n" +"SPAN.stringliteral { color: #002080 }\n" +"SPAN.charliteral { color: #008080 }\n" +".mdTable {\n" +" border: 1px solid #868686;\n" +" background-color: #F4F4FB;\n" +"}\n" +".mdRow {\n" +" padding: 8px 10px;\n" +"}\n" +".mdescLeft {\n" +" padding: 0px 8px 4px 8px;\n" +" font-size: 80%;\n" +" font-style: italic;\n" +" background-color: #FAFAFA;\n" +" border-top: 1px none #E0E0E0;\n" +" border-right: 1px none #E0E0E0;\n" +" border-bottom: 1px none #E0E0E0;\n" +" border-left: 1px none #E0E0E0;\n" +" margin: 0px;\n" +"}\n" +".mdescRight {\n" +" padding: 0px 8px 4px 8px;\n" +" font-size: 80%;\n" +" font-style: italic;\n" +" background-color: #FAFAFA;\n" +" border-top: 1px none #E0E0E0;\n" +" border-right: 1px none #E0E0E0;\n" +" border-bottom: 1px none #E0E0E0;\n" +" border-left: 1px none #E0E0E0;\n" +" margin: 0px;\n" +"}\n" +".memItemLeft {\n" +" padding: 1px 0px 0px 8px;\n" +" margin: 4px;\n" +" border-top-width: 1px;\n" +" border-right-width: 1px;\n" +" border-bottom-width: 1px;\n" +" border-left-width: 1px;\n" +" border-top-color: #E0E0E0;\n" +" border-right-color: #E0E0E0;\n" +" border-bottom-color: #E0E0E0;\n" +" border-left-color: #E0E0E0;\n" +" border-top-style: solid;\n" +" border-right-style: none;\n" +" border-bottom-style: none;\n" +" border-left-style: none;\n" +" background-color: #FAFAFA;\n" +" font-size: 80%;\n" +"}\n" +".memItemRight {\n" +" padding: 1px 8px 0px 8px;\n" +" margin: 4px;\n" +" border-top-width: 1px;\n" +" border-right-width: 1px;\n" +" border-bottom-width: 1px;\n" +" border-left-width: 1px;\n" +" border-top-color: #E0E0E0;\n" +" border-right-color: #E0E0E0;\n" +" border-bottom-color: #E0E0E0;\n" +" border-left-color: #E0E0E0;\n" +" border-top-style: solid;\n" +" border-right-style: none;\n" +" border-bottom-style: none;\n" +" border-left-style: none;\n" +" background-color: #FAFAFA;\n" +" font-size: 80%;\n" +"}\n" +".memTemplItemLeft {\n" +" padding: 1px 0px 0px 8px;\n" +" margin: 4px;\n" +" border-top-width: 1px;\n" +" border-right-width: 1px;\n" +" border-bottom-width: 1px;\n" +" border-left-width: 1px;\n" +" border-top-color: #E0E0E0;\n" +" border-right-color: #E0E0E0;\n" +" border-bottom-color: #E0E0E0;\n" +" border-left-color: #E0E0E0;\n" +" border-top-style: none;\n" +" border-right-style: none;\n" +" border-bottom-style: none;\n" +" border-left-style: none;\n" +" background-color: #FAFAFA;\n" +" font-size: 80%;\n" +"}\n" +".memTemplItemRight {\n" +" padding: 1px 8px 0px 8px;\n" +" margin: 4px;\n" +" border-top-width: 1px;\n" +" border-right-width: 1px;\n" +" border-bottom-width: 1px;\n" +" border-left-width: 1px;\n" +" border-top-color: #E0E0E0;\n" +" border-right-color: #E0E0E0;\n" +" border-bottom-color: #E0E0E0;\n" +" border-left-color: #E0E0E0;\n" +" border-top-style: none;\n" +" border-right-style: none;\n" +" border-bottom-style: none;\n" +" border-left-style: none;\n" +" background-color: #FAFAFA;\n" +" font-size: 80%;\n" +"}\n" +".memTemplParams {\n" +" padding: 1px 0px 0px 8px;\n" +" margin: 4px;\n" +" border-top-width: 1px;\n" +" border-right-width: 1px;\n" +" border-bottom-width: 1px;\n" +" border-left-width: 1px;\n" +" border-top-color: #E0E0E0;\n" +" border-right-color: #E0E0E0;\n" +" border-bottom-color: #E0E0E0;\n" +" border-left-color: #E0E0E0;\n" +" border-top-style: solid;\n" +" border-right-style: none;\n" +" border-bottom-style: none;\n" +" border-left-style: none;\n" +" color: #606060;\n" +" background-color: #FAFAFA;\n" +" font-size: 80%;\n" +"}\n" +".search { color: #003399;\n" +" font-weight: bold;\n" +"}\n" +"FORM.search {\n" +" margin-bottom: 0px;\n" +" margin-top: 0px;\n" +"}\n" +"INPUT.search { font-size: 75%;\n" +" color: #000080;\n" +" font-weight: normal;\n" +" background-color: #e8eef2;\n" +"}\n" +"TD.tiny { font-size: 75%;\n" +"}\n" +"a {\n" +" color: #1A41A8;\n" +"}\n" +"a:visited {\n" +" color: #2A3798;\n" +"}\n" +".dirtab { padding: 4px;\n" +" border-collapse: collapse;\n" +" border: 1px solid #84b0c7;\n" +"}\n" +"TH.dirtab { background: #e8eef2;\n" +" font-weight: bold;\n" +"}\n" +"HR { height: 1px;\n" +" border: none;\n" +" border-top: 1px solid black;\n" +"}\n" +"\n" diff --git a/src/filedef.cpp b/src/filedef.cpp index 46e0b6b..688d641 100644 --- a/src/filedef.cpp +++ b/src/filedef.cpp @@ -234,7 +234,7 @@ void FileDef::writeDocumentation(OutputList &ol) } QCString title = docname+versionTitle; QCString pageTitle=theTranslator->trFileReference(docname); - startFile(ol,getOutputFileBase(),name(),pageTitle); + startFile(ol,getOutputFileBase(),name(),pageTitle,HLI_FileVisible); if (Config_getBool("SHOW_DIRECTORIES") && getDirDef()) { @@ -630,7 +630,7 @@ void FileDef::writeSource(OutputList &ol) } QCString pageTitle = theTranslator->trSourceFile(title); ol.disableAllBut(OutputGenerator::Html); - startFile(ol,getSourceFileBase(),0,pageTitle); + startFile(ol,getSourceFileBase(),0,pageTitle,HLI_FileVisible); if (Config_getBool("SHOW_DIRECTORIES") && getDirDef()) { diff --git a/src/ftvhelp.cpp b/src/ftvhelp.cpp index 27310ca..49c9c20 100644 --- a/src/ftvhelp.cpp +++ b/src/ftvhelp.cpp @@ -663,30 +663,6 @@ void FTVHelp::generateTreeView() t << "