summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2003-03-08 14:22:15 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2003-03-08 14:22:15 (GMT)
commitb05064427c02bd5ae998856a0d708c440f610bde (patch)
treeeb0cd4bd519397a852945fb3acf64c0b65edcb2f /src
parent448b28836eb910f95e2f1903b4dea5eb8548e424 (diff)
downloadDoxygen-b05064427c02bd5ae998856a0d708c440f610bde.zip
Doxygen-b05064427c02bd5ae998856a0d708c440f610bde.tar.gz
Doxygen-b05064427c02bd5ae998856a0d708c440f610bde.tar.bz2
Release-1.3-rc3-20030308
Diffstat (limited to 'src')
-rw-r--r--src/config.l25
-rw-r--r--src/docparser.cpp18
-rw-r--r--src/doctokenizer.l5
-rw-r--r--src/doxygen.cpp118
-rw-r--r--src/ftvhelp.cpp24
-rw-r--r--src/ftvhelp.h4
-rw-r--r--src/htmldocvisitor.cpp2
-rw-r--r--src/index.cpp2
-rw-r--r--src/latexgen.cpp95
-rw-r--r--src/memberdef.cpp2
-rw-r--r--src/pre.l23
-rw-r--r--src/scanner.l5
-rw-r--r--src/translator_cz.h22
-rw-r--r--src/translator_hr.h49
-rw-r--r--src/translator_jp.h35
-rw-r--r--src/translator_pl.h332
-rw-r--r--src/translator_ru.h43
-rw-r--r--src/util.cpp46
-rw-r--r--src/util.h1
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());
diff --git a/src/pre.l b/src/pre.l
index 94ca9ef..7c85873 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -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))
{
diff --git a/src/util.h b/src/util.h
index c35d437..81b512a 100644
--- a/src/util.h
+++ b/src/util.h
@@ -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