diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2003-03-08 14:22:15 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2003-03-08 14:22:15 (GMT) |
commit | 91ac89e271d81507ce5d8bf5b821d80aedd6ec3e (patch) | |
tree | eb0cd4bd519397a852945fb3acf64c0b65edcb2f /src | |
parent | 6ac75f5093a2ac447626579cfbda2d1a8af6d86e (diff) | |
download | Doxygen-91ac89e271d81507ce5d8bf5b821d80aedd6ec3e.zip Doxygen-91ac89e271d81507ce5d8bf5b821d80aedd6ec3e.tar.gz Doxygen-91ac89e271d81507ce5d8bf5b821d80aedd6ec3e.tar.bz2 |
Release-1.3-rc3-20030308
Diffstat (limited to 'src')
-rw-r--r-- | src/config.l | 25 | ||||
-rw-r--r-- | src/docparser.cpp | 18 | ||||
-rw-r--r-- | src/doctokenizer.l | 5 | ||||
-rw-r--r-- | src/doxygen.cpp | 118 | ||||
-rw-r--r-- | src/ftvhelp.cpp | 24 | ||||
-rw-r--r-- | src/ftvhelp.h | 4 | ||||
-rw-r--r-- | src/htmldocvisitor.cpp | 2 | ||||
-rw-r--r-- | src/index.cpp | 2 | ||||
-rw-r--r-- | src/latexgen.cpp | 95 | ||||
-rw-r--r-- | src/memberdef.cpp | 2 | ||||
-rw-r--r-- | src/pre.l | 23 | ||||
-rw-r--r-- | src/scanner.l | 5 | ||||
-rw-r--r-- | src/translator_cz.h | 22 | ||||
-rw-r--r-- | src/translator_hr.h | 49 | ||||
-rw-r--r-- | src/translator_jp.h | 35 | ||||
-rw-r--r-- | src/translator_pl.h | 332 | ||||
-rw-r--r-- | src/translator_ru.h | 43 | ||||
-rw-r--r-- | src/util.cpp | 46 | ||||
-rw-r--r-- | src/util.h | 1 |
19 files changed, 516 insertions, 335 deletions
diff --git a/src/config.l b/src/config.l index dfc763f..67b1f62 100644 --- a/src/config.l +++ b/src/config.l @@ -1362,6 +1362,21 @@ void Config::create() ce->addValue("Ukrainian"); #endif cb = addBool( + "USE_WINDOWS_ENCODING", + "This tag can be used to specify the encoding used in the generated output. \n" + "The encoding is not always determined by the language that is chosen, \n" + "but also whether or not the output is meant for Windows or non-Windows users. \n" + "In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES \n" + "forces the Windows enconding, (this is the default for the Windows binary), \n" + "whereas setting the tag to NO uses a Unix-style encoding (the default for the \n" + "all platforms other than Windows).\n", +#if defined(_WIN32) || defined(__CYGWIN__) + TRUE +#else + FALSE +#endif + ); + cb = addBool( "EXTRACT_ALL", "If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in \n" "documentation are documented, even if no documentation was available. \n" @@ -1975,7 +1990,7 @@ void Config::create() "If the GENERATE_TREEVIEW tag is set to YES, a side panel will be\n" "generated containing a tree-like index structure (just like the one that \n" "is generated for HTML Help). For this to work a browser that supports \n" - "JavaScript, DHTML, CSS and frames is required (for instance Mozilla, \n" + "JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, \n" "Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are \n" "probably better off using the HTML help feature. \n", FALSE @@ -2087,6 +2102,14 @@ void Config::create() FALSE ); cb->addDependency("GENERATE_LATEX"); + cb = addBool( + "LATEX_HIDE_INDICES", + "If LATEX_HIDE_INDICES is set to YES then doxygen will not \n" + "include the index chapters (such as File Index, Compound Index, etc.) \n" + "in the output. \n", + FALSE + ); + cb->addDependency("GENERATE_LATEX"); //----------------------------------------------------------------------------------------------- addInfo( "RTF","configuration options related to the RTF output"); //----------------------------------------------------------------------------------------------- diff --git a/src/docparser.cpp b/src/docparser.cpp index 4657ae5..846d19c 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -562,11 +562,11 @@ static int handleStyleArgument(DocNode *parent,QList<DocNode> &children, { case TK_COMMAND: warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Illegal command \\%s as the argument of a \\%s command", - tokenName.data(),cmdName.data()); + g_token->name.data(),cmdName.data()); break; case TK_SYMBOL: warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Unsupported symbol %s found", - tokenName.data()); + g_token->name.data()); break; default: warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Unexpected token %s", @@ -688,8 +688,7 @@ static void handleLinkedWord(DocNode *parent,QList<DocNode> &children) { Definition *compound=0; MemberDef *member=0; - QString name = g_token->name; - if (name.at(0)=='#') name=name.right(name.length()-1); + QString name = linkToText(g_token->name); if (resolveRef(g_context,g_token->name,g_inSeeBlock,&compound,&member)) { if (member) // member link @@ -1615,7 +1614,7 @@ DocRef::DocRef(DocNode *parent,const QString &target) : } else if (resolveLink(g_context,target,TRUE,&compound,&pageInfo,anchor)) { - m_text = target; + m_text = linkToText(target); m_anchor = anchor; if (pageInfo) // ref to page { @@ -3526,7 +3525,14 @@ int DocPara::handleCommand(const QString &cmdName) { doctokenizerYYsetStateCode(); retval = doctokenizerYYlex(); - m_children.append(new DocVerbatim(this,g_context,g_token->verb,DocVerbatim::Code,g_isExample,g_fileName)); + // search for the first non-whitespace line, index is stored in li + int i=0,li=0,l=g_token->verb.length(); + while (i<l && g_token->verb.at(i)==' ' || g_token->verb.at(i)=='\n') + { + if (g_token->verb.at(i)=='\n') li=i+1; + i++; + } + m_children.append(new DocVerbatim(this,g_context,g_token->verb.mid(li),DocVerbatim::Code,g_isExample,g_fileName)); if (retval==0) warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: code section ended without end marker"); doctokenizerYYsetStatePara(); } diff --git a/src/doctokenizer.l b/src/doctokenizer.l index 70a66f5..f8f363a 100644 --- a/src/doctokenizer.l +++ b/src/doctokenizer.l @@ -487,7 +487,7 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]* return TK_NEWPARA; } } -<St_Code>{CMD}"endcode" { +<St_Code>{WS}*{CMD}"endcode" { return RetVal_OK; } <St_Code>[^\\@\n]+ | @@ -603,11 +603,12 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]* return 0; } -<St_Ref>({ID}[.-])*{ID} { +<St_Ref>("#"|"::")?({ID}[.#:-])*{ID} { g_token->name=yytext; return TK_WORD; } <St_Ref>{BLANK}+ { + unput(' '); return 0; } <St_Ref>{BLANK}+"\"" { diff --git a/src/doxygen.cpp b/src/doxygen.cpp index ebd8182..f25adf4 100644 --- a/src/doxygen.cpp +++ b/src/doxygen.cpp @@ -235,83 +235,110 @@ static void addRelatedPage(Entry *root) } -static void buildGroupList(Entry *root) +static void buildGroupListFiltered(Entry *root,bool additional) { if (root->section==Entry::GROUPDOC_SEC && !root->name.isEmpty()) { - //printf("Found group %s title=`%s'\n",root->name.data(),root->type.data()); - - GroupDef *gd; + //printf("Found group %s title=`%s type=%d'\n", + // root->name.data(),root->type.data(),root->groupDocType); - if ((gd=Doxygen::groupSDict[root->name])) + if ((root->groupDocType==Entry::GROUPDOC_NORMAL && !additional) || + (root->groupDocType!=Entry::GROUPDOC_NORMAL && additional)) { - if ( root->groupDocType==Entry::GROUPDOC_NORMAL ) + GroupDef *gd; + + if ((gd=Doxygen::groupSDict[root->name])) { - warn(root->fileName,root->startLine, - "Warning: group %s already documented. " - "Skipping documentation.", - root->name.data()); + if ( root->groupDocType==Entry::GROUPDOC_NORMAL ) + { + warn(root->fileName,root->startLine, + "Warning: group %s already documented. " + "Skipping documentation.", + root->name.data()); + } + else + { + if ( !gd->hasGroupTitle() ) + gd->setGroupTitle( root->type ); + else if ( root->type.length() > 0 && root->name != root->type && gd->groupTitle() != root->type ) + warn( root->fileName,root->startLine, + "group %s: ignoring title \"%s\" that does not match old title \"%s\"\n", + root->name.data(), root->type.data(), gd->groupTitle() ); + if ( gd->briefDescription().isEmpty() ) + gd->setBriefDescription(root->brief,root->briefFile,root->briefLine); + if ( !root->doc.stripWhiteSpace().isEmpty() ) + gd->setDocumentation( gd->documentation().isEmpty() ? root->doc : + gd->documentation() + "\n\n" + root->doc, + root->docFile, root->docLine ); + gd->addSectionsToDefinition(root->anchors); + gd->setRefItems(root->sli); + //addGroupToGroups(root,gd); + } } else { - if ( !gd->hasGroupTitle() ) - gd->setGroupTitle( root->type ); - else if ( root->type.length() > 0 && root->name != root->type && gd->groupTitle() != root->type ) - warn( root->fileName,root->startLine, - "group %s: ignoring title \"%s\" that does not match old title \"%s\"\n", - root->name.data(), root->type.data(), gd->groupTitle() ); - if ( gd->briefDescription().isEmpty() ) - gd->setBriefDescription(root->brief,root->briefFile,root->briefLine); - if ( !root->doc.stripWhiteSpace().isEmpty() ) - gd->setDocumentation( gd->documentation().isEmpty() ? root->doc : - gd->documentation() + "\n\n" + root->doc, - root->docFile, root->docLine ); + gd = new GroupDef(root->fileName,root->startLine,root->name,root->type); + if (root->tagInfo) + { + gd->setReference(root->tagInfo->tagName); + } + gd->setBriefDescription(root->brief,root->briefFile,root->briefLine); + gd->setDocumentation(root->doc,root->docFile,root->docLine); gd->addSectionsToDefinition(root->anchors); + Doxygen::groupSDict.append(root->name,gd); gd->setRefItems(root->sli); - addGroupToGroups(root,gd); - } - } - else - { - gd = new GroupDef(root->fileName,root->startLine,root->name,root->type); - if (root->tagInfo) - { - gd->setReference(root->tagInfo->tagName); } - gd->setBriefDescription(root->brief,root->briefFile,root->briefLine); - gd->setDocumentation(root->doc,root->docFile,root->docLine); - gd->addSectionsToDefinition(root->anchors); - Doxygen::groupSDict.append(root->name,gd); - gd->setRefItems(root->sli); } } EntryListIterator eli(*root->sublist); Entry *e; for (;(e=eli.current());++eli) { - buildGroupList(e); + buildGroupListFiltered(e,additional); } } -static void organizeSubGroups(Entry *root) +static void buildGroupList(Entry *root) +{ + // first process the @defgroups blocks + buildGroupListFiltered(root,FALSE); + // then process the @addtogroup, @weakgroup blocks + buildGroupListFiltered(root,TRUE); +} + +static void organizeSubGroupsFiltered(Entry *root,bool additional) { if (root->section==Entry::GROUPDOC_SEC && !root->name.isEmpty()) { - GroupDef *gd; - - if ((gd=Doxygen::groupSDict[root->name])) + if ((root->groupDocType==Entry::GROUPDOC_NORMAL && !additional) || + (root->groupDocType!=Entry::GROUPDOC_NORMAL && additional)) { - addGroupToGroups(root,gd); + GroupDef *gd; + if ((gd=Doxygen::groupSDict[root->name])) + { + //printf("adding %s to group %s\n",root->name.data(),gd->name().data()); + addGroupToGroups(root,gd); + } } } EntryListIterator eli(*root->sublist); Entry *e; for (;(e=eli.current());++eli) { - organizeSubGroups(e); + organizeSubGroupsFiltered(e,additional); } } +static void organizeSubGroups(Entry *root) +{ + //printf("Defining groups\n"); + // first process the @defgroups blocks + organizeSubGroupsFiltered(root,FALSE); + //printf("Additional groups\n"); + // then process the @addtogroup, @weakgroup blocks + organizeSubGroupsFiltered(root,TRUE); +} + //---------------------------------------------------------------------- static void buildFileList(Entry *root) @@ -1599,6 +1626,7 @@ static bool isVarWithConstructor(Entry *root) static QRegExp idChars("[a-z_A-Z][a-z_A-Z0-9]*"); bool result=FALSE; bool typeIsClass; + QCString type; Definition *ctx = 0; FileDef *fd = 0; bool ambig; @@ -1620,7 +1648,9 @@ static bool isVarWithConstructor(Entry *root) goto done; } if (root->parent->name) ctx=Doxygen::namespaceSDict.find(root->parent->name); - typeIsClass=getResolvedClass(ctx,root->type)!=0; + type = root->type; + if (type.left(6)=="const ") type=type.right(type.length()-6); + typeIsClass=getResolvedClass(ctx,type)!=0; if (typeIsClass) // now we still have to check if the arguments are // types or values. Since we do not have complete type info // we need to rely on heuristics :-( diff --git a/src/ftvhelp.cpp b/src/ftvhelp.cpp index 0ed9565..c010692 100644 --- a/src/ftvhelp.cpp +++ b/src/ftvhelp.cpp @@ -471,7 +471,7 @@ FTVHelp::FTVHelp() { /* initial depth */ //m_dc = 0; - m_cf = 0; + //m_cf = 0; m_indentNodes = new QList<FTVNode>[MAX_INDENT]; m_indentNodes[0].setAutoDelete(TRUE); m_indent=0; @@ -495,6 +495,7 @@ FTVHelp *FTVHelp::getInstance() */ void FTVHelp::initialize() { +#if 0 /* open the contents file */ QCString fName = Config_getString("HTML_OUTPUT") + "/tree.js"; m_cf = new QFile(fName); @@ -519,6 +520,7 @@ void FTVHelp::initialize() m_cts << Config_getString("PROJECT_NAME"); } m_cts << "</b>\", \"\", \"\")\n"; +#endif } /*! Finalizes the FTV help. This will finish and close the @@ -527,9 +529,9 @@ void FTVHelp::initialize() */ void FTVHelp::finalize() { - m_cts.unsetDevice(); - m_cf->close(); - delete m_cf; + //m_cts.unsetDevice(); + //m_cf->close(); + //delete m_cf; generateTreeView(); //generateFolderTreeViewData(); } @@ -690,6 +692,8 @@ void FTVHelp::generateIndent(QTextStream &t, FTVNode *n,int level) void FTVHelp::generateLink(QTextStream &t,FTVNode *n) { QCString *dest; + //printf("FTVHelp::generateLink(ref=%s,file=%s,anchor=%s\n", + // n->ref.data(),n->file.data(),n->anchor.data()); if (!n->ref.isEmpty()) // link to entity imported via tag file { t << "<a class=\"elRef\" "; @@ -920,7 +924,17 @@ void FTVHelp::generateTreeView() t << "\n"; t << " <body bgcolor=\"#ffffff\">\n"; t << " <div class=\"directory\">\n"; - t << " <h3>Root</h3>\n"; + t << " <h3>"; + QCString &projName = Config_getString("PROJECT_NAME"); + if (projName.isEmpty()) + { + t << "Root"; + } + else + { + t << projName; + } + t << "</h3>\n"; t << " <div style=\"display: block;\">\n"; generateTree(t,m_indentNodes[0],0); diff --git a/src/ftvhelp.h b/src/ftvhelp.h index 57a18be..3bcd7b9 100644 --- a/src/ftvhelp.h +++ b/src/ftvhelp.h @@ -46,8 +46,8 @@ class FTVHelp void generateLink(QTextStream &t,FTVNode *n); FTVHelp(); ~FTVHelp(); - QFile *m_cf; - QTextStream m_cts; + //QFile *m_cf; + //QTextStream m_cts; //int m_dc; static FTVHelp *m_theInstance; QList<FTVNode> *m_indentNodes; diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp index d58d4d2..5193586 100644 --- a/src/htmldocvisitor.cpp +++ b/src/htmldocvisitor.cpp @@ -753,7 +753,7 @@ void HtmlDocVisitor::visitPost(DocRef *) { if (m_hide) return; endLink(); - m_t << " "; + //m_t << " "; } void HtmlDocVisitor::visitPre(DocSecRefItem *ref) diff --git a/src/index.cpp b/src/index.cpp index f039e1d..eac41e1 100644 --- a/src/index.cpp +++ b/src/index.cpp @@ -2208,7 +2208,7 @@ void writePageIndex(OutputList &ol) } ol.writeString("\n"); if (hasHtmlHelp) htmlHelp->addContentsItem(FALSE,pageTitle,pageName); - if (hasFtvHelp) ftvHelp->addContentsItem(FALSE,0,pageName,0,pageTitle); + if (hasFtvHelp) ftvHelp->addContentsItem(FALSE,pi->getReference(),pi->getOutputFileBase(),0,pageTitle); } } endIndexHierarchy(ol,0); diff --git a/src/latexgen.cpp b/src/latexgen.cpp index 7a348d8..5bb5784 100644 --- a/src/latexgen.cpp +++ b/src/latexgen.cpp @@ -460,6 +460,7 @@ void LatexGenerator::startProjectNumber() void LatexGenerator::startIndexSection(IndexSections is) { bool &compactLatex = Config_getBool("COMPACT_LATEX"); + bool &hideIndex = Config_getBool("LATEX_HIDE_INDICES"); QCString &latexHeader = Config_getString("LATEX_HEADER"); switch (is) { @@ -491,44 +492,47 @@ void LatexGenerator::startIndexSection(IndexSections is) // t << "{"; //Package Index}\n" // break; case isModuleIndex: - if (compactLatex) t << "\\section"; else t << "\\chapter"; - t << "{"; //Module Index}\n" + if (!hideIndex) + { + if (compactLatex) t << "\\section"; else t << "\\chapter"; + t << "{"; //Module Index}\n" + } break; case isNamespaceIndex: - if (compactLatex) t << "\\section"; else t << "\\chapter"; - t << "{"; //Namespace Index}\" + if (!hideIndex) + { + if (compactLatex) t << "\\section"; else t << "\\chapter"; + t << "{"; //Namespace Index}\" + } break; case isClassHierarchyIndex: - if (compactLatex) t << "\\section"; else t << "\\chapter"; - t << "{"; //Hierarchical Index}\n" + if (!hideIndex) + { + if (compactLatex) t << "\\section"; else t << "\\chapter"; + t << "{"; //Hierarchical Index}\n" + } break; case isCompoundIndex: - if (compactLatex) t << "\\section"; else t << "\\chapter"; - t << "{"; //Annotated Compound Index}\n" + if (!hideIndex) + { + if (compactLatex) t << "\\section"; else t << "\\chapter"; + t << "{"; //Annotated Compound Index}\n" + } break; case isFileIndex: - if (compactLatex) t << "\\section"; else t << "\\chapter"; - t << "{"; //Annotated File Index}\n" + if (!hideIndex) + { + if (compactLatex) t << "\\section"; else t << "\\chapter"; + t << "{"; //Annotated File Index}\n" + } break; case isPageIndex: - if (compactLatex) t << "\\section"; else t << "\\chapter"; - t << "{"; //Annotated Page Index}\n" + if (!hideIndex) + { + if (compactLatex) t << "\\section"; else t << "\\chapter"; + t << "{"; //Annotated Page Index}\n" + } break; -// case isPackageDocumentation: -// { -// PackageSDict::Iterator pdi(Doxygen::packageDict); -// PackageDef *pd=pdi.toFirst(); -// bool found=FALSE; -// while (pd && !found) -// { -// if (compactLatex) t << "\\section"; else t << "\\chapter"; -// t << "{"; -// found=TRUE; -// ++pdi; -// pd=pdi.current(); -// } -// } -// break; case isModuleDocumentation: { GroupSDict::Iterator gli(Doxygen::groupSDict); @@ -622,6 +626,7 @@ void LatexGenerator::startIndexSection(IndexSections is) void LatexGenerator::endIndexSection(IndexSections is) { bool &compactLatex = Config_getBool("COMPACT_LATEX"); + bool &hideIndex = Config_getBool("LATEX_HIDE_INDICES"); QCString &latexHeader = Config_getString("LATEX_HEADER"); switch (is) { @@ -642,48 +647,24 @@ void LatexGenerator::endIndexSection(IndexSections is) t << "\\input{" << indexName << "}\n"; } break; - //case isPackageIndex: - // t << "}\n\\input{packages}\n"; - // break; case isModuleIndex: - t << "}\n\\input{modules}\n"; + if (!hideIndex) t << "}\n\\input{modules}\n"; break; case isNamespaceIndex: - t << "}\n\\input{namespaces}\n"; + if (!hideIndex) t << "}\n\\input{namespaces}\n"; break; case isClassHierarchyIndex: - t << "}\n\\input{hierarchy}\n"; + if (!hideIndex) t << "}\n\\input{hierarchy}\n"; break; case isCompoundIndex: - t << "}\n\\input{annotated}\n"; + if (!hideIndex) t << "}\n\\input{annotated}\n"; break; case isFileIndex: - t << "}\n\\input{files}\n"; + if (!hideIndex) t << "}\n\\input{files}\n"; break; case isPageIndex: - t << "}\n\\input{pages}\n"; + if (!hideIndex) t << "}\n\\input{pages}\n"; break; - //case isPackageDocumentation: - // { - // PackageSDict::Iterator pdi(Doxygen::packageDict); - // PackageDef *pd=pdi.toFirst(); - // bool found=FALSE; - // while (pd && !found) - // { - // t << "}\n\\input{" << pd->getOutputFileBase() << "}\n"; - // found=TRUE; - // ++pdi; - // pd=pdi.current(); - // } - // while (pd) - // { - // if (compactLatex) t << "\\input"; else t << "\\include"; - // t << "{" << pd->getOutputFileBase() << "}\n"; - // ++pdi; - // pd=pdi.current(); - // } - // } - // break; case isModuleDocumentation: { GroupSDict::Iterator gli(Doxygen::groupSDict); diff --git a/src/memberdef.cpp b/src/memberdef.cpp index 3479db0..6cb6e71 100644 --- a/src/memberdef.cpp +++ b/src/memberdef.cpp @@ -981,7 +981,7 @@ bool MemberDef::isDetailedSectionLinkable() const ) || // has a multi-line initialization block //(initLines>0 && initLines<maxInitLines) || - hasMultiLineInitializer() || + (hasMultiLineInitializer() && !Config_getBool("HIDE_UNDOC_MEMBERS")) || // has one or more documented arguments (defArgList!=0 && defArgList->hasDocumentation()); @@ -99,6 +99,7 @@ static bool g_nospaces; // add extra spaces during macro expansion static bool g_macroExpansion; // from the configuration static bool g_expandOnlyPredef; // from the configuration static int g_commentCount; +static bool g_insideComment; static void setFileName(const char *name) @@ -1534,6 +1535,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) QCString tmp=(QCString)"#define "+g_defName+g_defArgsStr; outputArray(tmp.data(),tmp.length()); g_quoteArg=FALSE; + g_insideComment=FALSE; BEGIN(DefineText); } <DefName>{ID}/{B}*"\n" { @@ -1549,6 +1551,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) QCString tmp=(QCString)"#define "+g_defName; outputArray(tmp.data(),tmp.length()); g_quoteArg=FALSE; + g_insideComment=FALSE; BEGIN(DefineText); } else // define is a guard => hide @@ -1590,6 +1593,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) QCString tmp=(QCString)"#define "+g_defName+g_defArgsStr; outputArray(tmp.data(),tmp.length()); g_quoteArg=FALSE; + g_insideComment=FALSE; BEGIN(DefineText); } <DefineArg>{ID}{B}*("..."?) { @@ -1608,6 +1612,12 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) <DefineText>"/**"|"/*!" { g_defText+=yytext; g_defLitText+=yytext; + g_insideComment=TRUE; + } +<DefineText>"*/" { + g_defText+=yytext; + g_defLitText+=yytext; + g_insideComment=FALSE; } <DefineText>"/*"|"/**<"|"/*!<" { outputArray(yytext,yyleng); @@ -1757,13 +1767,20 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) <DefineText>{B}* { g_defText += ' '; g_defLitText+=yytext; } <DefineText>{B}*"##"{B}* { g_defText += "##"; g_defLitText+=yytext; } <DefineText>"@" { g_defText += "@@"; g_defLitText+=yytext; } -<DefineText>\" { g_defText += *yytext; +<DefineText>\" { + g_defText += *yytext; g_defLitText+=yytext; - BEGIN(SkipDoubleQuote); + if (!g_insideComment) + { + BEGIN(SkipDoubleQuote); + } } <DefineText>\' { g_defText += *yytext; g_defLitText+=yytext; - BEGIN(SkipSingleQuote); + if (!g_insideComment) + { + BEGIN(SkipSingleQuote); + } } <SkipDoubleQuote>"//" { g_defText += yytext; g_defLitText+=yytext; } <SkipDoubleQuote>"/*" { g_defText += yytext; g_defLitText+=yytext; } diff --git a/src/scanner.l b/src/scanner.l index a82597d..d829cfd 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -194,6 +194,7 @@ static void initEntry() current->inside = memberGroupInside.copy(); if (!autoGroupStack.isEmpty()) { + //printf("Appending group %s\n",autoGroupStack.top()->groupname.data()); current->groups->append(new Grouping(*autoGroupStack.top())); } } @@ -534,7 +535,7 @@ UL [uU][lL] OL [oO][lL] DL [dD][lL] TITLE [tT][iI][tT][lL][eE] -CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) +CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^' \\\n]{1,4}"'")) PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;] %option noyywrap @@ -2594,7 +2595,7 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;] BEGIN(SkipCPP); } <Function>":" { - BEGIN(SkipInits); + if (!insidePHP) BEGIN(SkipInits); } <Function>[;{,] { current->name=current->name.simplifyWhiteSpace(); diff --git a/src/translator_cz.h b/src/translator_cz.h index 7d8f88a..d843e84 100644 --- a/src/translator_cz.h +++ b/src/translator_cz.h @@ -174,11 +174,14 @@ class TranslatorCzech : public Translator */ inline QCString decode(const QCString & sInput) { -#ifdef _WIN32 - return sInput; -#else - return Win1250ToISO88592(sInput); -#endif + if (Config_getBool("USE_WINDOWS_ENCONDING")) + { + return sInput; + } + else + { + return Win1250ToISO88592(sInput); + } } public: @@ -193,11 +196,14 @@ class TranslatorCzech : public Translator /*! return the language charset. This will be used for the HTML output */ virtual QCString idLanguageCharset() { -#ifdef _WIN32 + if (Config_getBool("USE_WINDOWS_ENCONDING")) + { return "windows-1250"; -#else + } + else + { return "iso-8859-2"; -#endif + } } // --- Language translation methods ------------------- diff --git a/src/translator_hr.h b/src/translator_hr.h index b512626..25e483e 100644 --- a/src/translator_hr.h +++ b/src/translator_hr.h @@ -46,32 +46,43 @@ // // 2001/11/13 // - Added strings for 1.2.13 +// +// 2003/02/26 +// - Added strings for 1.2.18 #ifndef TRANSLATOR_HR_H #define TRANSLATOR_HR_H -class TranslatorCroatian : public TranslatorAdapter_1_2_18 +class TranslatorCroatian : public Translator { private: /*! to avoid macro redefinition from translator_cz.h */ inline QCString decode(const QCString& sInput) { -#ifdef _WIN32 - return ISO88592ToWin1250(sInput); -#else - return sInput; -#endif + if (Config_getBool("USE_WINDOWS_ENCODING")) + { + return ISO88592ToWin1250(sInput); + } + else + { + return sInput; + } } public: QCString idLanguage() { return "croatian"; } QCString idLanguageCharset() -#ifdef _WIN32 - { return "windows-1250"; } -#else - { return "iso-8859-2"; } -#endif + { + if (Config_getBool("USE_WINDOWS_ENCODING")) + { + return "windows-1250"; + } + else + { + return "iso-8859-2"; + } + } QCString latexLanguageSupportCommand() { return "\\usepackage[croatian]{babel}\n"; } QCString trRelatedFunctions() @@ -1062,6 +1073,22 @@ class TranslatorCroatian : public TranslatorAdapter_1_2_18 { return "Popis zastarjelih metoda"; } +////////////////////////////////////////////////////////////////////////// +// new since 1.2.18 +////////////////////////////////////////////////////////////////////////// + + /*! Used as a header for declaration section of the events found in + * a C# program + */ + virtual QCString trEvents() + { + return decode("Događaji"); + } + /*! Header used for the documentation section of a class' events. */ + virtual QCString trEventDocumentation() + { + return decode("Dokumentacija događaja"); + } }; #endif diff --git a/src/translator_jp.h b/src/translator_jp.h index e4b6445..33b4a60 100644 --- a/src/translator_jp.h +++ b/src/translator_jp.h @@ -41,11 +41,14 @@ class TranslatorJapaneseEn : public TranslatorEnglish /*! returns the name of the package that is included by LaTeX */ virtual QCString idLanguageCharset() { -#ifdef __CYGWIN__ - return "Shift_JIS"; -#else - return "euc-jp"; -#endif + if (Config_getBool("USE_WINDOWS_ENCONDING")) + { + return "Shift_JIS"; + } + else + { + return "euc-jp"; + } } virtual QCString trRTFansicp() { @@ -66,13 +69,16 @@ class TranslatorJapanese : public Translator private: /*! The decode() can change euc into sjis */ inline QCString decode(const QCString & sInput) + { + if (Config_getBool("USE_WINDOWS_ENCONDING")) { -#ifdef __CYGWIN__ return JapaneseEucToSjis(sInput); -#else + } + else + { return sInput; -#endif } + } public: virtual QCString idLanguage() { return "japanese"; } @@ -83,11 +89,14 @@ class TranslatorJapanese : public Translator /*! returns the name of the package that is included by LaTeX */ virtual QCString idLanguageCharset() { -#ifdef __CYGWIN__ - return "Shift_JIS"; -#else - return "euc-jp"; -#endif + if (Config_getBool("USE_WINDOWS_ENCONDING")) + { + return "Shift_JIS"; + } + else + { + return "euc-jp"; + } } /*! used in the compound documentation before a list of related functions. */ diff --git a/src/translator_pl.h b/src/translator_pl.h index e21a2f1..501b16b 100644 --- a/src/translator_pl.h +++ b/src/translator_pl.h @@ -13,17 +13,28 @@ * Documents produced by Doxygen are derivative works derived from the * input used in their production; they are not affected by this license. * - * Polish translation was updated to version 1.2.17 by + * Polish translation was updated to version 1.3 by * Piotr Kaminski (Piotr.Kaminski@ctm.gdynia.pl) */ #ifndef TRANSLATOR_PL_H #define TRANSLATOR_PL_H -#include "translator_adapter.h" - -class TranslatorPolish : public TranslatorAdapter_1_2_17 +class TranslatorPolish : public Translator { + private: + /*! to avoid macro redefinition from translator_pl.h */ + inline QCString decode(const QCString& sInput) + { + if (Config_getBool("USE_WINDOWS_ENCODING")) + { + return ISO88592ToWin1250(sInput); + } + else + { + return sInput; + } + } public: // --- Language control methods ------------------- @@ -52,58 +63,67 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! return the language charset. This will be used for the HTML output */ virtual QCString idLanguageCharset() - { return "iso-8859-2"; } - + { + if (Config_getBool("USE_WINDOWS_ENCODING")) + { + return "windows-1250"; + } + else + { + return "iso-8859-2"; + } + } + // --- Language translation methods ------------------- /*! used in the compound documentation before a list of related functions. */ QCString trRelatedFunctions() - { return "Funkcje Powiązane"; } + { return decode("Funkcje powiązane"); } /*! subscript for the related functions. */ QCString trRelatedSubscript() - { return "(Zauważ, że to nie są metody klas.)"; } + { return decode("(Zauważ, że to nie są metody klas.)"); } /*! header that is put before the detailed description of files, classes and namespaces. */ QCString trDetailedDescription() - { return "Opis Szczegółowy"; } + { return decode("Opis szczegółowy"); } /*! header that is put before the list of typedefs. */ QCString trMemberTypedefDocumentation() - { return "Dokumentacja Składowych Definicji Typu"; } + { return decode("Dokumentacja składowych definicji typu"); } /*! header that is put before the list of enumerations. */ QCString trMemberEnumerationDocumentation() - { return "Dokumentacja Składowych Wyliczanych"; } + { return decode("Dokumentacja składowych wyliczanych"); } /*! header that is put before the list of member functions. */ QCString trMemberFunctionDocumentation() - { return "Dokumentacja Funkcji Składowych"; } + { return decode("Dokumentacja funkcji składowych"); } /*! header that is put before the list of member attributes. */ QCString trMemberDataDocumentation() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "Dokumentacja Pól"; + return decode("Dokumentacja pól"); } else { - return "Dokumentacja Atrybutów Składowych"; + return decode("Dokumentacja atrybutów składowych"); } } /*! this is the text of a link put after brief descriptions. */ QCString trMore() - { return "Więcej..."; } + { return decode("Więcej..."); } /*! put in the class documentation */ QCString trListOfAllMembers() - { return "Lista wszystkich składowych."; } + { return decode("Lista wszystkich składowych."); } /*! used as the title of the "list of all members" page of a class */ QCString trMemberList() - { return "Lista Składowych"; } + { return decode("Lista składowych"); } /*! this is the first part of a sentence that is followed by a class name */ QCString trThisIsTheListOfAllMembers() @@ -111,13 +131,13 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! this is the remainder of the sentence after the class name */ QCString trIncludingInheritedMembers() - { return ", uwzględniająca wszystkie dziedziczone składowe."; } + { return decode(", uwzględniająca wszystkie dziedziczone składowe."); } /*! this is put at the author sections at the bottom of man pages. * parameter s is name of the project name. */ QCString trGeneratedAutomatically(const char *s) - { QCString result="Wygenerowano automatycznie z kodu źródłowego programem Doxygen"; + { QCString result=decode("Wygenerowano automatycznie z kodu źródłowego programem Doxygen"); if (s) result+=(QCString)" dla "+s; result+="."; return result; @@ -129,7 +149,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! put after an enum value in the list of all members */ QCString trEnumValue() - { return "wartość wyliczenia"; } + { return decode("wartość wyliczenia"); } /*! put after an undocumented member in the list of all members */ QCString trDefinedIn() @@ -139,7 +159,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 * parameter f is the name of the include file. */ QCString trVerbatimText(const char *f) - { return (QCString)"Tutaj znajduje się zawartość pliku nagłówkowego "+f+"."; } + { return (QCString)decode("Tutaj znajduje się zawartość pliku nagłówkowego ")+f+"."; } // quick reference sections @@ -147,43 +167,43 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 * compounds or files (see the \\group command). */ QCString trModules() - { return "Moduły"; } + { return decode("Moduły"); } /*! This is put above each page as a link to the class hierarchy */ QCString trClassHierarchy() - { return "Hierarchia Klas"; } + { return "Hierarchia klas"; } /*! This is put above each page as a link to the list of annotated classes */ QCString trCompoundList() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "Struktury Danych"; + return "Struktury danych"; } else { - return "Lista Klas"; + return "Lista klas"; } } /*! This is put above each page as a link to the list of documented files */ QCString trFileList() - { return "Lista Plików"; } + { return decode("Lista plików"); } /*! This is put above each page as a link to the list of all verbatim headers */ QCString trHeaderFiles() - { return "Pliki Nagłówkowe"; } + { return decode("Pliki nagłówkowe"); } /*! This is put above each page as a link to all members of compounds. */ QCString trCompoundMembers() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "Pola Danych"; + return "Pola danych"; } else { - return "Składowe Klas"; + return decode("Składowe klas"); } } @@ -196,17 +216,17 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 } else { - return "Składowe Plików"; + return decode("Składowe plików"); } } /*! This is put above each page as a link to all related pages. */ QCString trRelatedPages() - { return "Dodatkowe Strony"; } + { return "Dodatkowe strony"; } /*! This is put above each page as a link to all examples. */ QCString trExamples() - { return "Przykłady"; } + { return decode("Przykłady"); } /*! This is put above each page as a link to the search engine. */ QCString trSearch() @@ -214,8 +234,8 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! This is an introduction to the class hierarchy. */ QCString trClassHierarchyDescription() - { return "Ta lista dziedziczenia posortowana jest z grubsza, " - "choć nie całkowicie, alfabetycznie:"; + { return decode("Ta lista dziedziczenia posortowana jest z grubsza, " + "choć nie całkowicie, alfabetycznie:"); } /*! This is an introduction to the list with all files. */ @@ -224,7 +244,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 QCString result="Tutaj znajduje się lista wszystkich "; if (!extractAll) result+="udokumentowanych "; result+="plików z ich krótkimi opisami:"; - return result; + return decode(result); } /*! This is an introduction to the annotated compound list. */ @@ -233,12 +253,12 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "Tutaj znajdują się struktury danych wraz z ich krótkimi opisami:"; + return decode("Tutaj znajdują się struktury danych wraz z ich krótkimi opisami:"); } else { - return "Tutaj znajdują się klasy, struktury, " - "unie i interfejsy wraz z ich krótkimi opisami:"; + return decode("Tutaj znajdują się klasy, struktury, " + "unie i interfejsy wraz z ich krótkimi opisami:"); } } @@ -281,7 +301,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 result+="klas, do których dana składowa należy:"; } } - return result; + return decode(result); } /*! This is an introduction to the page with all file members. */ @@ -302,24 +322,24 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 result+="plików, do których one należą:"; else result+="dokumentacji:"; - return result; + return decode(result); } /*! This is an introduction to the page with the list of all header files. */ QCString trHeaderFilesDescription() - { return "Tutaj znajdują się pliki nagłówkowe tworzące API:"; } + { return decode("Tutaj znajdują się pliki nagłówkowe tworzące API:"); } /*! This is an introduction to the page with the list of all examples */ QCString trExamplesDescription() - { return "Tutaj znajduje się lista wszystkich przykładów:"; } + { return decode("Tutaj znajduje się lista wszystkich przykładów:"); } /*! This is an introduction to the page with the list of related pages */ QCString trRelatedPagesDescription() - { return "Tutaj znajduje się lista wszystkich stron dokumentacji:"; } + { return decode("Tutaj znajduje się lista wszystkich stron dokumentacji:"); } /*! This is an introduction to the page with the list of class/file groups */ QCString trModulesDescription() - { return "Tutaj znajduje się lista wszystkich grup:"; } + { return decode("Tutaj znajduje się lista wszystkich grup:"); } /*! This sentences is used in the annotated class/file lists if no brief * description is given. @@ -338,13 +358,13 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 * index of all groups. */ QCString trModuleIndex() - { return "Indeks Grup"; } + { return "Indeks grup"; } /*! This is used in LaTeX as the title of the chapter with the * class hierarchy. */ QCString trHierarchicalIndex() - { return "Indeks Hierarchiczny"; } + { return "Indeks hierarchiczny"; } /*! This is used in LaTeX as the title of the chapter with the * annotated compound index. @@ -353,11 +373,11 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "Indeks Struktur Danych"; + return "Indeks struktur danych"; } else { - return "Indeks Klas"; + return "Indeks klas"; } } @@ -365,13 +385,13 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 * list of all files. */ QCString trFileIndex() - { return "Indeks Plików"; } + { return decode("Indeks plików"); } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all groups. */ QCString trModuleDocumentation() - { return "Dokumentacja Grup"; } + { return "Dokumentacja grup"; } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all classes, structs and unions. @@ -380,11 +400,11 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "Dokumentacja Struktur Danych"; + return "Dokumentacja struktur danych"; } else { - return "Dokumentacja Klas"; + return "Dokumentacja klas"; } } @@ -392,23 +412,23 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 * the documentation of all files. */ QCString trFileDocumentation() - { return "Dokumentacja Plików"; } + { return decode("Dokumentacja plików"); } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all examples. */ QCString trExampleDocumentation() - { return "Dokumentacja Przykładów"; } + { return decode("Dokumentacja przykładów"); } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all related pages. */ QCString trPageDocumentation() - { return "Dokumentacja Stron"; } + { return "Dokumentacja stron"; } /*! This is used in LaTeX as the title of the document */ QCString trReferenceManual() - { return "Podręcznik Referencji"; } + { return decode("Podręcznik"); } /*! This is used in the documentation of a file as a header before the * list of defines @@ -420,13 +440,13 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 * list of function prototypes */ QCString trFuncProtos() - { return "Prototypy Funkcji"; } + { return "Prototypy funkcji"; } /*! This is used in the documentation of a file as a header before the * list of typedefs */ QCString trTypedefs() - { return "Definicje Typów"; } + { return decode("Definicje typów"); } /*! This is used in the documentation of a file as a header before the * list of enumerations @@ -450,7 +470,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 * list of (global) variables */ QCString trEnumerationValues() - { return "Wartości Wyliczeń"; } + { return decode("Wartości wyliczeń"); } /*! This is used in man pages as the author section. */ QCString trAuthor() @@ -460,43 +480,43 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 * documentation blocks for defines */ QCString trDefineDocumentation() - { return "Dokumentacja Definicji"; } + { return "Dokumentacja definicji"; } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for function prototypes */ QCString trFunctionPrototypeDocumentation() - { return "Dokumentacja Prototypów Funkcji"; } + { return decode("Dokumentacja prototypów funkcji"); } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for typedefs */ QCString trTypedefDocumentation() - { return "Dokumentacja Definicji Typów"; } + { return decode("Dokumentacja definicji typów"); } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for enumeration types */ QCString trEnumerationTypeDocumentation() - { return "Dokumentacja Typów Wyliczanych"; } + { return decode("Dokumentacja typów wyliczanych"); } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for enumeration values */ QCString trEnumerationValueDocumentation() - { return "Dokumentacja Wartości Wyliczanych"; } + { return decode("Dokumentacja wartości wyliczanych"); } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for functions */ QCString trFunctionDocumentation() - { return "Dokumentacja Funkcji"; } + { return "Dokumentacja funkcji"; } /*! This is used in the documentation of a file/namespace before the list * of documentation blocks for variables */ QCString trVariableDocumentation() - { return "Dokumentacja Zmiennych"; } + { return "Dokumentacja zmiennych"; } /*! This is used in the documentation of a file/namespace/group before * the list of links to documented compounds @@ -505,7 +525,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "Struktury Danych"; + return "Struktury danych"; } else { @@ -544,19 +564,19 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! this text is generated when the \\internal command is used. */ QCString trForInternalUseOnly() - { return "Tylko do użytku wewnętrznego."; } + { return decode("Tylko do użytku wewnętrznego."); } /*! this text is generated when the \\reimp command is used. */ QCString trReimplementedForInternalReasons() - { return "Reimplementowana z wewnętrzych przyczyn; nie dotyczy API."; } + { return decode("Reimplementowana z wewnętrzych przyczyn; nie dotyczy API."); } /*! this text is generated when the \\warning command is used. */ QCString trWarning() - { return "Ostrzeżenie"; } + { return decode("Ostrzeżenie"); } /*! this text is generated when the \\bug command is used. */ QCString trBugsAndLimitations() - { return "Błędy i ograniczenia"; } + { return decode("Błędy i ograniczenia"); } /*! this text is generated when the \\version command is used. */ QCString trVersion() @@ -576,7 +596,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! this text is generated when the \\sa command is used. */ QCString trSeeAlso() - { return "Zobacz również"; } + { return decode("Zobacz również"); } /*! this text is generated when the \\param command is used. */ QCString trParameters() @@ -584,7 +604,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! this text is generated when the \\exception command is used. */ QCString trExceptions() - { return "Wyjątki"; } + { return decode("Wyjątki"); } /*! this text is used in the title page of a LaTeX document. */ QCString trGeneratedBy() @@ -594,7 +614,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! used as the title of page containing all the index of all namespaces. */ QCString trNamespaceList() - { return "Lista Przestrzeni Nazw"; } + { return "Lista przestrzeni nazw"; } /*! used as an introduction to the namespace list */ QCString trNamespaceListDescription(bool extractAll) @@ -602,7 +622,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 QCString result="Tutaj znajdują się wszystkie "; if (!extractAll) result+="udokumentowane "; result+="przestrzenie nazw wraz z ich krótkimi opisami:"; - return result; + return decode(result); } /*! used in the class documentation as a header before the list of all @@ -619,7 +639,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 * related classes */ QCString trRelatedFunctionDocumentation() - { return "Dokumentacja Przyjaciół i Funkcji Związanych"; } + { return decode("Dokumentacja przyjaciół i funkcji związanych"); } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990425 @@ -631,14 +651,14 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 bool isTemplate) { QCString result="Dokumentacja"; - if (isTemplate) result+=" Szablonu"; + if (isTemplate) result+=" szablonu"; switch(compType) { - case ClassDef::Class: result+=" Klasy "; break; - case ClassDef::Struct: result+=" Struktury "; break; - case ClassDef::Union: result+=" Unii "; break; - case ClassDef::Interface: result+=" Interfejsu "; break; - case ClassDef::Exception: result+=" Wyjątku "; break; + case ClassDef::Class: result+=" klasy "; break; + case ClassDef::Struct: result+=" struktury "; break; + case ClassDef::Union: result+=" unii "; break; + case ClassDef::Interface: result+=" interfejsu "; break; + case ClassDef::Exception: result+=decode(" wyjątku "); break; } result+=(QCString)clName; return result; @@ -647,7 +667,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! used as the title of the HTML page of a file */ QCString trFileReference(const char *fileName) { - QCString result="Dokumentacja Pliku "; + QCString result="Dokumentacja pliku "; result+=fileName; return result; } @@ -655,32 +675,32 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! used as the title of the HTML page of a namespace */ QCString trNamespaceReference(const char *namespaceName) { - QCString result="Dokumentacja Przestrzeni Nazw "; + QCString result="Dokumentacja przestrzeni nazw "; result+=namespaceName; return result; } /* these are for the member sections of a class, struct or union */ QCString trPublicMembers() - { return "Metody Publiczne"; } + { return "Metody publiczne"; } QCString trPublicSlots() - { return "Sloty Publiczne"; } + { return "Sloty publiczne"; } QCString trSignals() - { return "Sygnały"; } + { return decode("Sygnały"); } QCString trStaticPublicMembers() - { return "Statyczne Metody Publiczne"; } + { return "Statyczne metody publiczne"; } QCString trProtectedMembers() - { return "Metody Chronione"; } + { return "Metody chronione"; } QCString trProtectedSlots() - { return "Sloty Chronione"; } + { return "Sloty chronione"; } QCString trStaticProtectedMembers() - { return "Statyczne Metody Chronione"; } + { return "Statyczne metody chronione"; } QCString trPrivateMembers() - { return "Metody Prywatne"; } + { return "Metody prywatne"; } QCString trPrivateSlots() - { return "Sloty Prywatne"; } + { return "Sloty prywatne"; } QCString trStaticPrivateMembers() - { return "Statyczne Metody Prywatne"; } + { return "Statyczne metody prywatne"; } /*! this function is used to produce a comma-separated list of items. * use generateMarker(i) to indicate where item i should be put. @@ -741,7 +761,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! This is put above each page as a link to all members of namespaces. */ QCString trNamespaceMembers() - { return "Składowe Przestrzeni Nazw"; } + { return decode("Składowe przestrzeni nazw"); } /*! This is an introduction to the page with all namespace members */ QCString trNamespaceMemberDescription(bool extractAll) @@ -753,19 +773,19 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 result+="dokumentacji przestrzeni nazw dla każdej składowej:"; else result+="przestrzeni nazw do których składowe te należą:"; - return result; + return decode(result); } /*! This is used in LaTeX as the title of the chapter with the * index of all namespaces. */ QCString trNamespaceIndex() - { return "Indeks Przestrzeni Nazw"; } + { return "Indeks przestrzeni nazw"; } /*! This is used in LaTeX as the title of the chapter containing * the documentation of all namespaces. */ QCString trNamespaceDocumentation() - { return "Dokumentacja Przestrzeni Nazw"; } + { return "Dokumentacja przestrzeni nazw"; } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990522 @@ -775,7 +795,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 * namespaces in a file. */ QCString trNamespaces() - { return "Przestrzenie Nazw"; } + { return "Przestrzenie nazw"; } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990728 @@ -799,14 +819,14 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 } result+=" została wygenerowana z plik"; if (single) result+="u:"; else result+="ów:"; - return result; + return decode(result); } /*! This is in the (quick) index as a link to the alphabetical compound * list. */ QCString trAlphabeticalList() - { return "Lista Alfabetyczna"; } + { return "Lista alfabetyczna"; } ////////////////////////////////////////////////////////////////////////// // new since 0.49-990901 @@ -814,12 +834,12 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! This is used as the heading text for the retval command. */ QCString trReturnValues() - { return "Zwracane wartości"; } + { return decode("Zwracane wartości"); } /*! This is in the (quick) index as a link to the main page (index.html) */ QCString trMainPage() - { return "Strona Główna"; } + { return decode("Strona główna"); } /*! This is used in references to page that are put in the LaTeX * documentation. It should be an abbreviation of the word page. @@ -833,7 +853,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 QCString trSources() { - return "Źródła"; + return decode("Źródła"); } QCString trDefinedAtLineInSourceFile() { @@ -860,68 +880,68 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! this text is put before a collaboration diagram */ QCString trCollaborationDiagram(const char *clName) { - return (QCString)"Diagram współpracy dla "+clName+":"; + return (QCString)decode("Diagram współpracy dla ")+clName+":"; } /*! this text is put before an include dependency graph */ QCString trInclDepGraph(const char *fName) { - return (QCString)"Wykres zależności załączania dla "+fName+":"; + return (QCString)decode("Wykres zależności załączania dla ")+fName+":"; } /*! header that is put before the list of constructor/destructors. */ QCString trConstructorDocumentation() { - return "Dokumentacja Konstruktora i Destruktora"; + return "Dokumentacja konstruktora i destruktora"; } /*! Used in the file documentation to point to the corresponding sources. */ QCString trGotoSourceCode() { - return "Idź do kodu źródłowego tego pliku."; + return decode("Idź do kodu źródłowego tego pliku."); } /*! Used in the file sources to point to the corresponding documentation. */ QCString trGotoDocumentation() { - return "Idź do dokumentacji tego pliku."; + return decode("Idź do dokumentacji tego pliku."); } /*! Text for the \\pre command */ QCString trPrecondition() { - return "Warunek wstępny"; + return decode("Warunek wstępny"); } /*! Text for the \\post command */ QCString trPostcondition() { - return "Warunek końcowy"; + return decode("Warunek końcowy"); } /*! Text for the \\invariant command */ QCString trInvariant() { - return "Inwariant"; + return "Niezmiennik"; } /*! Text shown before a multi-line variable/enum initialization */ QCString trInitialValue() { - return "Inicjalizator:"; + return decode("Wartość początkowa:"); } /*! Text used the source code in the file index */ QCString trCode() { - return "kod źródłowy"; + return decode("kod źródłowy"); } QCString trGraphicalHierarchy() { - return "Graficzna Hierarchia Klas"; + return "Graficzna hierarchia klas"; } QCString trGotoGraphicalHierarchy() { - return "Idź do graficznej hierarchi klas"; + return decode("Idź do graficznej hierarchi klas"); } QCString trGotoTextualHierarchy() { - return "Idź do tekstowej hierarchi klas"; + return decode("Idź do tekstowej hierarchi klas"); } QCString trPageIndex() { - return "Indeks Stron"; + return "Indeks stron"; } ////////////////////////////////////////////////////////////////////////// @@ -934,46 +954,46 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 } QCString trPublicTypes() { - return "Typy Publiczne"; + return "Typy publiczne"; } QCString trPublicAttribs() { if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) { - return "Pola Danych"; + return "Pola danych"; } else { - return "Atrybuty Publiczne"; + return "Atrybuty publiczne"; } } QCString trStaticPublicAttribs() { - return "Statyczne Atrybuty Publiczne"; + return "Statyczne atrybuty publiczne"; } QCString trProtectedTypes() { - return "Typy Chronione"; + return "Typy chronione"; } QCString trProtectedAttribs() { - return "Atrybuty Chronione"; + return "Atrybuty chronione"; } QCString trStaticProtectedAttribs() { - return "Statyczne Atrybuty Chronione"; + return "Statyczne atrybuty chronione"; } QCString trPrivateTypes() { - return "Typy Prywatne"; + return "Typy prywatne"; } QCString trPrivateAttribs() { - return "Atrybuty Prywatne"; + return "Atrybuty prywatne"; } QCString trStaticPrivateAttribs() { - return "Statyczne Atrybuty Prywatne"; + return "Statyczne atrybuty prywatne"; } ////////////////////////////////////////////////////////////////////////// @@ -983,12 +1003,12 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! Used as a marker that is put before a todo item */ QCString trTodo() { - return "Do Zrobienia"; + return "Do zrobienia"; } /*! Used as the header of the todo list */ QCString trTodoList() { - return "Lista Do Zrobienia"; + return "Lista rzeczy do zrobienia"; } ////////////////////////////////////////////////////////////////////////// @@ -997,11 +1017,11 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 QCString trReferencedBy() { - return "Odwołania w"; + return decode("Odwołania w"); } QCString trRemarks() { - return "Spostrzeżenia"; + return decode("Spostrzeżenia"); } QCString trAttention() { @@ -1009,8 +1029,8 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 } QCString trInclByDepGraph() { - return "Ten wykres pokazuje, które pliki bezpośrednio lub " - "pośrednio załączają ten plik:"; + return decode("Ten wykres pokazuje, które pliki bezpośrednio lub " + "pośrednio załączają ten plik:"); } QCString trSince() { @@ -1024,12 +1044,12 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! title of the graph legend page */ QCString trLegendTitle() { - return "Legenda Wykresu"; + return "Legenda wykresu"; } /*! page explaining how the dot graph's should be interpreted */ QCString trLegendDocs() { - return + return decode( "Ta strona wyjaśnia jak interpretować wykresy, które są wygenerowane " "przez doxygen.<p>\n" "Rozważ następujący przykład:\n" @@ -1081,7 +1101,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 "<li>Fioletowa przerywana strzałka jest używana jeśli klasa jest zawarta " "lub użyta przez inną klasę. Strzałka jest podpisana zmienną(ymi) " "przez które wskazywana klasa lub struktura jest dostępna. \n" - "</ul>\n"; + "</ul>\n"); } /*! text for the link to the legend page */ QCString trLegend() @@ -1101,7 +1121,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! Used as the header of the test list */ QCString trTestList() { - return "Lista Testu"; + return "Lista testu"; } ////////////////////////////////////////////////////////////////////////// // new since 1.2.1 @@ -1120,12 +1140,12 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 /*! Used as a section header for IDL properties */ virtual QCString trProperties() { - return "Właściwości"; + return decode("Właściwości"); } /*! Used as a section header for IDL property documentation */ virtual QCString trPropertyDocumentation() { - return "Dokumentacja Właściwości"; + return decode("Dokumentacja właściwości"); } ////////////////////////////////////////////////////////////////////////// // new since 1.2.4 @@ -1354,9 +1374,39 @@ class TranslatorPolish : public TranslatorAdapter_1_2_17 */ virtual QCString trRTFTableOfContents() { - return "Spis Treści"; + return "Spis treści"; } +////////////////////////////////////////////////////////////////////////// +// new since 1.2.17 +////////////////////////////////////////////////////////////////////////// + + /*! Used as the header of the list of item that have been + * flagged deprecated + */ + virtual QCString trDeprecatedList() + { + return "Lista elementów do wycofania"; + } + +////////////////////////////////////////////////////////////////////////// +// new since 1.2.18 +////////////////////////////////////////////////////////////////////////// + + /*! Used as a header for declaration section of the events found in + * a C# program + */ + virtual QCString trEvents() + { + return "Zdarzenia"; + } + /*! Header used for the documentation section of a class' events. */ + virtual QCString trEventDocumentation() + { + return "Dokumentacja zdarzeń"; + } + + }; #endif diff --git a/src/translator_ru.h b/src/translator_ru.h index 2dbbaed..1329d88 100644 --- a/src/translator_ru.h +++ b/src/translator_ru.h @@ -56,11 +56,14 @@ class TranslatorRussian : public Translator */ inline QCString decode(const QCString & sInput) { -#ifdef _WIN32 - return Koi8RToWindows1251(sInput); -#else - return sInput; -#endif + if (Config_getBool("USE_WINDOWS_ENCODING")) + { + return Koi8RToWindows1251(sInput); + } + else + { + return sInput; + } } public: @@ -70,19 +73,29 @@ class TranslatorRussian : public Translator /* Used to get the command(s) for the language support. */ virtual QCString latexLanguageSupportCommand() -#ifdef _WIN32 - { return "\\usepackage[cp1251]{inputenc}\n\\usepackage[russian]{babel}\n"; } -#else - { return "\\usepackage[koi8-r]{inputenc}\n\\usepackage[russian]{babel}\n"; } -#endif + { + if (Config_getBool("USE_WINDOWS_ENCODING")) + { + return "\\usepackage[cp1251]{inputenc}\n\\usepackage[russian]{babel}\n"; + } + else + { + return "\\usepackage[koi8-r]{inputenc}\n\\usepackage[russian]{babel}\n"; + } + } /*! return the language charset. This will be used for the HTML output */ virtual QCString idLanguageCharset() -#ifdef _WIN32 - { return "Windows-1251"; } -#else - { return "koi8-r"; } -#endif + { + if (Config_getBool("USE_WINDOWS_ENCODING")) + { + return "Windows-1251"; + } + else + { + return "koi8-r"; + } + } // --- Language translation methods ------------------- diff --git a/src/util.cpp b/src/util.cpp index 98657a8..de34491 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -2535,6 +2535,28 @@ bool resolveRef(/* in */ const char *scName, return FALSE; } +QCString linkToText(const char *link) +{ + QCString result=link; + if (!result.isEmpty()) + { + // replace # by :: + result=substitute(result,"#","::"); + // replace . by :: + result=substitute(result,".","::"); + // strip :: prefix if present + if (result.at(0)==':' && result.at(1)==':') + { + result=result.right(result.length()-2); + } + if (Config_getBool("OPTIMIZE_OUTPUT_JAVA")) + { + result=substitute(result,"::","."); + } + } + return result; +} + /*! * generate a reference to a class, namespace or member. * `scName' is the name of the scope that contains the documentation @@ -2563,17 +2585,7 @@ bool generateRef(OutputDocInterface &od,const char *scName, MemberDef *md; // create default link text - QCString linkText = rt; - if (linkText.isEmpty()) - { - linkText=substitute(name,"#","::"); - linkText=substitute(linkText,".","::"); - // strip :: prefix if present - if (linkText.at(0)==':' && linkText.at(1)==':') - { - linkText=linkText.right(linkText.length()-2); - } - } + QCString linkText = linkToText(rt); if (resolveRef(scName,name,inSeeBlock,&compound,&md)) { @@ -2699,17 +2711,7 @@ bool generateLink(OutputDocInterface &od,const char *clName, //printf("generateLink(clName=%s,lr=%s,lr=%s)\n",clName,lr,lt); Definition *compound; PageInfo *pageInfo; - QCString anchor,linkText=lt; - if (linkText.isEmpty()) - { - linkText=substitute(lr,"#","::"); - linkText=substitute(linkText,".","::"); - // strip :: prefix if present - if (linkText.at(0)==':' && linkText.at(1)==':') - { - linkText=linkText.right(linkText.length()-2); - } - } + QCString anchor,linkText=linkToText(lt); //printf("generateLink linkText=%s\n",linkText.data()); if (resolveLink(clName,lr,inSeeBlock,&compound,&pageInfo,anchor)) { @@ -203,6 +203,7 @@ void filterLatexString(QTextStream &t,const char *str, bool insideTabbing=FALSE,bool insidePre=FALSE, bool insideItem=FALSE); QCString rtfFormatBmkStr(const char *name); +QCString linkToText(const char *link); #endif |