summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doxyfile1
-rw-r--r--INSTALL4
-rw-r--r--README4
-rw-r--r--VERSION2
-rw-r--r--doc/config.doc4
-rw-r--r--doc/external.doc6
-rw-r--r--doc/faq.doc10
-rw-r--r--doc/language.doc22
-rw-r--r--packages/rpm/doxygen.spec2
-rw-r--r--src/code.l25
-rw-r--r--src/config.l4
-rw-r--r--src/docparser.cpp43
-rw-r--r--src/docparser.h1
-rw-r--r--src/htmlgen.cpp8
-rw-r--r--src/index.cpp94
-rw-r--r--src/scanner.l4
-rw-r--r--src/translator_cz.h44
-rw-r--r--src/translator_fr.h33
-rw-r--r--src/translator_it.h20
-rw-r--r--src/translator_pt.h95
-rw-r--r--src/util.cpp73
21 files changed, 306 insertions, 193 deletions
diff --git a/Doxyfile b/Doxyfile
index 8ac0802..ba591a7 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -72,6 +72,7 @@ EXCLUDE = src/code.cpp \
src/suffixtree.h \
src/searchindex.cpp \
src/searchindex.h \
+ src/commentcnv.cpp
EXCLUDE_PATTERNS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
diff --git a/INSTALL b/INSTALL
index c36d7f4..fe5f44d 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,7 @@
-DOXYGEN Version 1.3.1-20030609
+DOXYGEN Version 1.3.2
Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions.
--------
-Dimitri van Heesch (09 June 2003)
+Dimitri van Heesch (15 June 2003)
diff --git a/README b/README
index 02b4378..883f692 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-DOXYGEN Version 1.3.1_20030609
+DOXYGEN Version 1.3.2
Please read INSTALL for compilation instructions.
@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy,
-Dimitri van Heesch (dimitri@stack.nl) (09 June 2003)
+Dimitri van Heesch (dimitri@stack.nl) (15 June 2003)
diff --git a/VERSION b/VERSION
index 8d76dc2..1892b92 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.3.1-20030609
+1.3.2
diff --git a/doc/config.doc b/doc/config.doc
index b86d145..5087d35 100644
--- a/doc/config.doc
+++ b/doc/config.doc
@@ -1411,9 +1411,9 @@ TAGFILES = file1=loc1 "file2 = loc2" ... </pre>
If the \c CLASS_DIAGRAMS tag is set to \c YES (the default) doxygen will
generate a class diagram (in HTML and \f$\mbox{\LaTeX}\f$) for classes with base or
super classes. Setting the tag to \c NO turns the diagrams off.
- Note that this option is superseded by the HAVE_DOT option below.
+ Note that this option is superceded by the HAVE_DOT option below.
This is only a fallback. It is recommended to install and use dot,
- since it yield more powerful graphs.
+ since it yields more powerful graphs.
\anchor cfg_have_dot
<dt>\c HAVE_DOT <dd>
diff --git a/doc/external.doc b/doc/external.doc
index 6e92d2d..9f21593 100644
--- a/doc/external.doc
+++ b/doc/external.doc
@@ -41,7 +41,7 @@ reasons to not include all sources for these with every run of doxygen:
copy of it with your project's documentation. When the author forbids
redistribution, this is necessary. If the author requires compliance
with some license condition as a precondition of redistribution, and
- you do now want to be bound by those conditions, referring to their
+ you do not want to be bound by those conditions, referring to their
copy of their documentation is preferable to including a copy.
</dl>
@@ -126,8 +126,8 @@ if you want to create a tag file for the Qt documentation.
The tool \c doxytag depends on the particular structure
of the generated output and on some special markers that are generated by
-doxygen. Since this type of extraction is brittle and error prone I
-suggest you to only use this approach if there is no alternative. The
+doxygen. Since this type of extraction is brittle and error-prone I
+suggest you only use this approach if there is no alternative. The
doxytag tool may even become obsolete in the future.
\htmlonly
diff --git a/doc/faq.doc b/doc/faq.doc
index 74dc805..d9f3f6d 100644
--- a/doc/faq.doc
+++ b/doc/faq.doc
@@ -195,15 +195,15 @@ remove the % and keep the word unlinked.
No, not as such; doxygen needs to understand the structure of what it reads.
If you don't mind spending some time on it, there are several options:
-- If the grammer of X is close to C or C++, then it is probably not too hard to
+- If the grammar of X is close to C or C++, then it is probably not too hard to
tweak src/scanner.l a bit so the language is supported. This is done
for all other languages directly supported by doxygen
(i.e. Java, IDL, C#, PHP).
-- If the grammer of X is somewhat different than you can write an input
+- If the grammar of X is somewhat different than you can write an input
filter that translates X into something similar enough to C/C++ for
doxygen to understand (this approach is taken for VB, Object Pascal, and
Javascript, see http://www.stack.nl/~dimitri/doxygen/download.html#helpers).
-- If the grammer is completely different one could write a parser for X and
+- If the grammar is completely different one could write a parser for X and
write a backend that produces a similar syntax tree as is done by
src/scanner.l (and also by src/tagreader.cpp while reading tag files).
@@ -218,8 +218,8 @@ where this might happen is if you have lines in your code with more than
16K characters.
If you have run into such a case and want me to fix it, you
-should send me a code fragment that triggers the message. The workaround
-the problem put some line-breaks into your file, split it up into smaller
+should send me a code fragment that triggers the message. To work around
+the problem, put some line-breaks into your file, split it up into smaller
parts, or exclude it from the input using EXCLUDE.
<li><b>When running make in the latex dir I get "TeX capacity exceeded". Now what?</b>
diff --git a/doc/language.doc b/doc/language.doc
index bb6cc00..69bf6eb 100644
--- a/doc/language.doc
+++ b/doc/language.doc
@@ -25,7 +25,7 @@ Doxygen has built-in support for multiple languages. This means
that the text fragments that doxygen generates can be produced in
languages other than English (the default) at configuration time.
-Currently (version 1.3-20030430), 28 languages
+Currently (version 1.3.1-20030609), 28 languages
are supported (sorted alphabetically):
Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian,
Czech, Danish, Dutch, English, Finnish,
@@ -55,7 +55,7 @@ when the translator was updated.
<TD>Brazilian Portuguese</TD>
<TD>Fabio "FJTC" Jun Takada Chino</TD>
<TD>chino@NOSPAM.icmc.sc.usp.br</TD>
- <TD>up-to-date</TD>
+ <TD>1.3.1</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Catalan</TD>
@@ -79,7 +79,7 @@ when the translator was updated.
<TD>Croatian</TD>
<TD>Boris Bralo</TD>
<TD>boris.bralo@NOSPAM.zg.tel.hr</TD>
- <TD>up-to-date</TD>
+ <TD>1.3.1</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Czech</TD>
@@ -115,13 +115,13 @@ when the translator was updated.
<TD>French</TD>
<TD>Xavier Outhier</TD>
<TD>xouthier@NOSPAM.yahoo.fr</TD>
- <TD>up-to-date</TD>
+ <TD>1.3.1</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>German</TD>
<TD>Jens Seidel</TD>
<TD>jensseidel@NOSPAM.users.sf.net</TD>
- <TD>up-to-date</TD>
+ <TD>1.3.1</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Greek</TD>
@@ -169,7 +169,7 @@ when the translator was updated.
<TD>Portuguese</TD>
<TD>Rui Godinho Lopes</TD>
<TD>ruiglopes@NOSPAM.yahoo.com</TD>
- <TD>1.2.18</TD>
+ <TD>1.3.1</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Romanian</TD>
@@ -230,7 +230,7 @@ when the translator was updated.
{\bf Language} & {\bf Maintainer} & {\bf Contact address} & {\bf Status} \\
\hline
\hline
- Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt chino@icmc.sc.usp.br} & up-to-date \\
+ Brazilian Portuguese & Fabio "FJTC" Jun Takada Chino & {\tt chino@icmc.sc.usp.br} & 1.3.1 \\
\hline
Catalan & Albert Mora & {\tt amora@iua.upf.es} & 1.2.17 \\
\hline
@@ -239,7 +239,7 @@ when the translator was updated.
\hline
Chinese Traditional & Gary Lee & {\tt garylee@ecosine.com.tw} & 1.2.16 \\
\hline
- Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} & up-to-date \\
+ Croatian & Boris Bralo & {\tt boris.bralo@zg.tel.hr} & 1.3.1 \\
\hline
Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} & up-to-date \\
\hline
@@ -251,9 +251,9 @@ when the translator was updated.
\hline
Finnish & Olli Korhonen & {\tt Olli.Korhonen@ccc.fi} & obsolete \\
\hline
- French & Xavier Outhier & {\tt xouthier@yahoo.fr} & up-to-date \\
+ French & Xavier Outhier & {\tt xouthier@yahoo.fr} & 1.3.1 \\
\hline
- German & Jens Seidel & {\tt jensseidel@users.sf.net} & up-to-date \\
+ German & Jens Seidel & {\tt jensseidel@users.sf.net} & 1.3.1 \\
\hline
Greek & Harry Kalogirou & {\tt harkal@rainbow.cs.unipi.gr} & 1.2.11 \\
\hline
@@ -272,7 +272,7 @@ when the translator was updated.
Polish & Piotr Kaminski & {\tt Piotr.Kaminski@ctm.gdynia.pl} & strange \\
& Grzegorz Kowal & {\tt g\_kowal@poczta.onet.pl} & \\
\hline
- Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} & 1.2.18 \\
+ Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} & 1.3.1 \\
\hline
Romanian & Alexandru Iosup & {\tt aiosup@yahoo.com} & 1.2.16 \\
\hline
diff --git a/packages/rpm/doxygen.spec b/packages/rpm/doxygen.spec
index 471f071..4e87265 100644
--- a/packages/rpm/doxygen.spec
+++ b/packages/rpm/doxygen.spec
@@ -1,6 +1,6 @@
Summary: A documentation system for C/C++.
Name: doxygen
-Version: 1.3.1_20030609
+Version: 1.3.2
Release: 1
Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
diff --git a/src/code.l b/src/code.l
index 09fe71b..f2732ee 100644
--- a/src/code.l
+++ b/src/code.l
@@ -41,8 +41,9 @@
//#define DBG_CTX(x) fprintf x
#define DBG_CTX(x) do { } while(0)
-#define SCOPEBLOCK (int *)4
-#define INNERBLOCK (int *)8
+#define CLASSBLOCK (int *)4
+#define SCOPEBLOCK (int *)8
+#define INNERBLOCK (int *)12
/* -----------------------------------------------------------------
* statics
@@ -525,7 +526,7 @@ static ClassDef *stripClassName(const char *s)
static MemberDef *setCallContextForVar(const QCString &name)
{
if (name.isEmpty()) return 0;
- //printf("setCallContextForVar(%s)\n",name.data());
+ //printf("setCallContextForVar(%s) g_classScope=%s\n",name.data(),g_classScope.data());
int scopeEnd = name.findRev("::");
if (scopeEnd!=-1) // name with explicit scope
@@ -550,6 +551,7 @@ static MemberDef *setCallContextForVar(const QCString &name)
ClassDef *mcd = g_theVarContext.findVariable(name);
if (mcd) // local variable
{
+ //printf("local variable\n");
if (mcd!=VariableContext::dummyContext)
{
//printf("local var `%s' mcd=%s\n",name.data(),mcd->name().data());
@@ -565,7 +567,11 @@ static MemberDef *setCallContextForVar(const QCString &name)
MemberDef *md=mcd->getMemberByName(name);
if (md)
{
- g_theCallContext.setClass(stripClassName(md->typeString()));
+ if (g_scopeStack.top()!=CLASSBLOCK)
+ {
+ //printf("class member `%s' mcd=%s\n",name.data(),mcd->name().data());
+ g_theCallContext.setClass(stripClassName(md->typeString()));
+ }
return md;
}
}
@@ -1146,7 +1152,8 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
<Body,MemberCall,MemberCall2>"}" {
g_theVarContext.popScope();
- if (g_scopeStack.pop()==SCOPEBLOCK)
+ int *scope = g_scopeStack.pop();
+ if (scope==SCOPEBLOCK || scope==CLASSBLOCK)
{
popScope();
}
@@ -1221,7 +1228,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
if (g_insideBody) g_bodyCurlyCount++;
if (!g_curClassName.isEmpty()) // valid class name
{
- g_scopeStack.push(SCOPEBLOCK);
+ g_scopeStack.push(CLASSBLOCK);
pushScope(g_curClassName);
//printf("***** g_curClassName=%s\n",g_curClassName.data());
if (getResolvedClass(g_currentDefinition,g_curClassName)==0)
@@ -1509,7 +1516,10 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
g_saveType = g_type.copy();
if (!g_type.isEmpty())
{
- g_theVarContext.addVariable(g_type,g_name);
+ if (g_scopeStack.top()!=CLASSBLOCK)
+ {
+ g_theVarContext.addVariable(g_type,g_name);
+ }
g_name.resize(0);
}
if (*yytext==';')
@@ -1903,6 +1913,7 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
}
}
<*>"//"[!/][^\n]*\n { // strip special one-line comment
+ if (YY_START==SkipComment) REJECT;
if (Config_getBool("STRIP_CODE_COMMENTS"))
{
char c[2]; c[0]='\n'; c[1]=0;
diff --git a/src/config.l b/src/config.l
index 03119c0..8a57707 100644
--- a/src/config.l
+++ b/src/config.l
@@ -2433,8 +2433,8 @@ void Config::create()
"If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will \n"
"generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base or \n"
"super classes. Setting the tag to NO turns the diagrams off. Note that this \n"
- "option is superseded by the HAVE_DOT option below. This is only a fallback. It is \n"
- "recommended to install and use dot, since it yield more powerful graphs. \n",
+ "option is superceded by the HAVE_DOT option below. This is only a fallback. It is \n"
+ "recommended to install and use dot, since it yields more powerful graphs. \n",
TRUE
);
cb = addBool(
diff --git a/src/docparser.cpp b/src/docparser.cpp
index f69a0c9..7d26e04 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -3435,6 +3435,13 @@ void DocPara::handleSection(const QString &cmdName)
doctokenizerYYsetStatePara();
}
+int DocPara::handleHtmlHeader(const HtmlAttribList &tagHtmlAttribs,int level)
+{
+ DocHtmlHeader *header = new DocHtmlHeader(this,tagHtmlAttribs,level);
+ m_children.append(header);
+ int retval = header->parse();
+ return (retval==RetVal_OK) ? TK_NEWPARA : retval;
+}
int DocPara::handleCommand(const QString &cmdName)
{
@@ -3930,46 +3937,22 @@ int DocPara::handleHtmlStartTag(const QString &tagName,const HtmlAttribList &tag
}
break;
case HTML_H1:
- {
- DocHtmlHeader *header = new DocHtmlHeader(this,tagHtmlAttribs,1);
- m_children.append(header);
- retval = header->parse();
- }
+ retval=handleHtmlHeader(tagHtmlAttribs,1);
break;
case HTML_H2:
- {
- DocHtmlHeader *header = new DocHtmlHeader(this,tagHtmlAttribs,2);
- m_children.append(header);
- retval = header->parse();
- }
+ retval=handleHtmlHeader(tagHtmlAttribs,2);
break;
case HTML_H3:
- {
- DocHtmlHeader *header = new DocHtmlHeader(this,tagHtmlAttribs,3);
- m_children.append(header);
- retval = header->parse();
- }
+ retval=handleHtmlHeader(tagHtmlAttribs,3);
break;
case HTML_H4:
- {
- DocHtmlHeader *header = new DocHtmlHeader(this,tagHtmlAttribs,4);
- m_children.append(header);
- retval = header->parse();
- }
+ retval=handleHtmlHeader(tagHtmlAttribs,4);
break;
case HTML_H5:
- {
- DocHtmlHeader *header = new DocHtmlHeader(this,tagHtmlAttribs,5);
- m_children.append(header);
- retval = header->parse();
- }
+ retval=handleHtmlHeader(tagHtmlAttribs,5);
break;
case HTML_H6:
- {
- DocHtmlHeader *header = new DocHtmlHeader(this,tagHtmlAttribs,6);
- m_children.append(header);
- retval = header->parse();
- }
+ retval=handleHtmlHeader(tagHtmlAttribs,6);
break;
case HTML_IMG:
{
diff --git a/src/docparser.h b/src/docparser.h
index 0c5a599..895043d 100644
--- a/src/docparser.h
+++ b/src/docparser.h
@@ -940,6 +940,7 @@ class DocPara : public CompAccept<DocPara>, public DocNode
void handleLink(const QString &cmdName,bool isJavaLink);
void handleRef(const QString &cmdName);
void handleSection(const QString &cmdName);
+ int handleHtmlHeader(const HtmlAttribList &tagHtmlAttribs,int level);
int handleLanguageSwitch();
private:
diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp
index 1471638..7e79ca8 100644
--- a/src/htmlgen.cpp
+++ b/src/htmlgen.cpp
@@ -48,20 +48,20 @@ static const char *defaultStyleSheet =
"}\n"
"CAPTION { font-weight: bold }\n"
"DIV.qindex { width: 100%;\n"
-" background-color: #ddddee;\n"
-" border: 4px solid #ddddee;\n"
+" background-color: #eeeeff;\n"
+" border: 4px solid #eeeeff;\n"
" text-align: center;\n"
" margin-bottom: 2px\n"
"}\n"
"A.qindex { text-decoration: none; font-weight: bold; }\n"
-"A.qindex:hover { text-decoration: none; background-color: #ccccee }\n"
+"A.qindex:hover { text-decoration: none; background-color: #ddddff }\n"
"A.qindexHL { text-decoration: none; font-weight: bold;\n"
" background-color: #6666cc;\n"
" color: #ffffff\n"
" }\n"
"A.qindexHL:hover { text-decoration: none; background-color: #6666cc }\n"
"A.qindexRef { text-decoration: none; font-weight: bold; }\n"
-"A.qindexRef:hover { text-decoration: none; background-color: #ccccee }\n"
+"A.qindexRef:hover { text-decoration: none; background-color: #ddddff }\n"
"A.qindexRefHL { text-decoration: none; font-weight: bold;\n"
" background-color: #6666cc;\n"
" color: #ffffff\n"
diff --git a/src/index.cpp b/src/index.cpp
index af8f119..d24f2fe 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -358,7 +358,7 @@ void writeQuickLinks(OutputList &ol,bool compact,HighlightedItem hli,bool ext=FA
ol.parseText(fixSpaces(theTranslator->trNamespaceMembers()));
endQuickIndexItem(ol);
}
- if (documentedClassMembers>0)
+ if (documentedClassMembers[CMHL_All]>0)
{
if (!compact) ol.writeListItem();
startQuickIndexItem(ol,extLink,"functions"+Doxygen::htmlFileExtension,
@@ -1900,29 +1900,31 @@ static void writeMemberIndexFiltered(OutputList &ol,
ol.writeString(fixSpaces(theTranslator->trRelatedFunctions()));
endQuickIndexItem(ol);
}
- ol.writeString("</div><p>\n");
-
-
+ ol.writeString("</div>\n");
bool quickIndex = documentedClassMembers[hl]>maxItemsBeforeQuickIndex;
if (quickIndex)
{
writeQuickMemberIndex(ol,g_memberIndexLetterUsed[hl]);
}
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- HtmlHelp *htmlHelp = HtmlHelp::getInstance();
- htmlHelp->addContentsItem(FALSE,htmlHelpTitle,"functions");
- }
- if (hasFtvHelp)
+ ol.newParagraph();
+ if (hl==CMHL_All)
{
- FTVHelp *ftvHelp = FTVHelp::getInstance();
- ftvHelp->addContentsItem(FALSE,0,"functions",0,ftvHelpTitle);
+ bool &generateHtml = Config_getBool("GENERATE_HTML") ;
+ bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
+ bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
+ if (hasHtmlHelp)
+ {
+ HtmlHelp *htmlHelp = HtmlHelp::getInstance();
+ htmlHelp->addContentsItem(FALSE,htmlHelpTitle,"functions");
+ }
+ if (hasFtvHelp)
+ {
+ FTVHelp *ftvHelp = FTVHelp::getInstance();
+ ftvHelp->addContentsItem(FALSE,0,"functions",0,ftvHelpTitle);
+ }
+ ol.parseText(theTranslator->trCompoundMembersDescription(Config_getBool("EXTRACT_ALL")));
}
- if (hl==CMHL_All) ol.parseText(theTranslator->trCompoundMembersDescription(Config_getBool("EXTRACT_ALL")));
writeMemberList(ol,quickIndex,hl);
endFile(ol);
ol.popGeneratorState();
@@ -2262,7 +2264,7 @@ static void writeFileMemberIndexFiltered(OutputList &ol,
ol.writeString(fixSpaces(theTranslator->trDefines()));
endQuickIndexItem(ol);
}
- ol.writeString("</div><p>\n");
+ ol.writeString("</div>\n");
bool quickIndex = documentedFileMembers[hl]>maxItemsBeforeQuickIndex;
@@ -2270,20 +2272,24 @@ static void writeFileMemberIndexFiltered(OutputList &ol,
{
writeQuickMemberIndex(ol,g_fileIndexLetterUsed[hl]);
}
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- HtmlHelp *htmlHelp = HtmlHelp::getInstance();
- htmlHelp->addContentsItem(FALSE,htmlHelpTitle,"globals");
- }
- if (hasFtvHelp)
+ ol.newParagraph();
+ if (hl==FMHL_All)
{
- FTVHelp *ftvHelp = FTVHelp::getInstance();
- ftvHelp->addContentsItem(FALSE,0,"globals",0,ftvHelpTitle);
+ bool &generateHtml = Config_getBool("GENERATE_HTML") ;
+ bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
+ bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
+ if (hasHtmlHelp)
+ {
+ HtmlHelp *htmlHelp = HtmlHelp::getInstance();
+ htmlHelp->addContentsItem(FALSE,htmlHelpTitle,"globals");
+ }
+ if (hasFtvHelp)
+ {
+ FTVHelp *ftvHelp = FTVHelp::getInstance();
+ ftvHelp->addContentsItem(FALSE,0,"globals",0,ftvHelpTitle);
+ }
+ ol.parseText(theTranslator->trFileMembersDescription(Config_getBool("EXTRACT_ALL")));
}
- if (hl==FMHL_All) ol.parseText(theTranslator->trFileMembersDescription(Config_getBool("EXTRACT_ALL")));
writeFileMemberList(ol,quickIndex,hl);
endFile(ol);
ol.popGeneratorState();
@@ -2363,27 +2369,31 @@ static void writeNamespaceMemberIndexFiltered(OutputList &ol,
ol.writeString(fixSpaces(theTranslator->trEnumerationValues()));
endQuickIndexItem(ol);
}
- ol.writeString("</div><p>\n");
+ ol.writeString("</div>\n");
bool quickIndex = documentedNamespaceMembers[hl]>maxItemsBeforeQuickIndex;
if (quickIndex)
{
writeQuickMemberIndex(ol,g_namespaceIndexLetterUsed[hl]);
}
- bool &generateHtml = Config_getBool("GENERATE_HTML") ;
- bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
- bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
- if (hasHtmlHelp)
- {
- HtmlHelp *htmlHelp = HtmlHelp::getInstance();
- htmlHelp->addContentsItem(FALSE,htmlHelpTitle,"namespacemembers");
- }
- if (hasFtvHelp)
+ ol.newParagraph();
+ if (hl==NMHL_All)
{
- FTVHelp *ftvHelp = FTVHelp::getInstance();
- ftvHelp->addContentsItem(FALSE,0,"namespacemembers",0,ftvHelpTitle);
+ bool &generateHtml = Config_getBool("GENERATE_HTML") ;
+ bool hasHtmlHelp = generateHtml && Config_getBool("GENERATE_HTMLHELP");
+ bool hasFtvHelp = generateHtml && Config_getBool("GENERATE_TREEVIEW");
+ if (hasHtmlHelp)
+ {
+ HtmlHelp *htmlHelp = HtmlHelp::getInstance();
+ htmlHelp->addContentsItem(FALSE,htmlHelpTitle,"namespacemembers");
+ }
+ if (hasFtvHelp)
+ {
+ FTVHelp *ftvHelp = FTVHelp::getInstance();
+ ftvHelp->addContentsItem(FALSE,0,"namespacemembers",0,ftvHelpTitle);
+ }
+ ol.parseText(theTranslator->trNamespaceMemberDescription(Config_getBool("EXTRACT_ALL")));
}
- if (hl==NMHL_All) ol.parseText(theTranslator->trNamespaceMemberDescription(Config_getBool("EXTRACT_ALL")));
writeNamespaceMemberList(ol,quickIndex,hl);
endFile(ol);
ol.popGeneratorState();
diff --git a/src/scanner.l b/src/scanner.l
index 4cf55d0..5c87275 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -3367,14 +3367,14 @@ PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
current->groupDocType = Entry::GROUPDOC_NORMAL;
BEGIN( GroupDocArg1 );
}
-<Doc,JavaDoc>{B}*{CMD}"addtogroup"{B}+ {
+<Doc,PageDoc,ExampleDoc,JavaDoc>{B}*{CMD}"addtogroup"{B}+ {
current->section = Entry::GROUPDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
current->groupDocType = Entry::GROUPDOC_ADD;
BEGIN( GroupDocArg1 );
}
-<Doc,JavaDoc>{B}*{CMD}"weakgroup"{B}+ {
+<Doc,PageDoc,ExampleDoc,JavaDoc>{B}*{CMD}"weakgroup"{B}+ {
current->section = Entry::GROUPDOC_SEC;
current->fileName = yyFileName;
current->startLine = yyLineNr;
diff --git a/src/translator_cz.h b/src/translator_cz.h
index a0db49b..f826808 100644
--- a/src/translator_cz.h
+++ b/src/translator_cz.h
@@ -20,18 +20,9 @@
// The first translation from English to Czech was started by
-// Vlastimil Havran. He wrote:
-//
-// "In the cases where are more translations possible I hope
-// that I have selected the most reasonable text. If not, please,
-// mail the comments and text proposals to
-//
-// havran@fel.cvut.cz, 1999/04/11"
-//
-// The prototype version of Czech strings with diacritics was
-// implemented by Petr Prikryl (prikrylp@skil.cz), 2000/06/20. As
-// Vlastimil was quite busy at the time, he agreed that Petr be the
-// maintainer for a while (from 2000/06/20).
+// Vlastimil Havran (1999--2000). The prototype version of Czech strings
+// with diacritics was implemented by Petr Prikryl (prikrylp@skil.cz),
+// 2000/06/20. Vlastimil agreed that Petr be the new maintainer.
//
// Updates:
// --------
@@ -144,12 +135,10 @@
// 2002/07/29
// - The new trDeprecatedList() implemented.
//
-// 2002/10/15
-// - The new trEvents() and trEventDocumentation() implemented.
-//
-// 2003/04/28
-// - The five new methods "since 1.3" implemented.
-//
+// 2002/10/15 - The new trEvents() and trEventDocumentation() implemented.
+// 2003/04/28 - Five new methods "since 1.3" implemented.
+// 2003/06/10 - Two new methods "since 1.3.1" implemented.
+
// Todo
// ----
// - The trReimplementedFromList() should pass the kind of the
@@ -168,7 +157,7 @@
// Windows version. The version which does not call the function is
// probably slightly faster.
-class TranslatorCzech : public TranslatorAdapter_1_3_1
+class TranslatorCzech : public Translator
{
private:
/*! The decode() inline assumes the source written in the
@@ -1602,6 +1591,23 @@ class TranslatorCzech : public TranslatorAdapter_1_3_1
return decode("Statické atributy balíku");
}
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.1
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used in the quick index of a class/file/namespace member list page
+ * to link to the unfiltered list of all members.
+ */
+ virtual QCString trAll()
+ {
+ return decode("Vše");
+ }
+ /*! Put in front of the call graph for a function. */
+ virtual QCString trCallGraph()
+ {
+ return decode("Graf volání této funkce:");
+ }
+
};
#endif // TRANSLATOR_CZ_H
diff --git a/src/translator_fr.h b/src/translator_fr.h
index 82b22b2..ce136a0 100644
--- a/src/translator_fr.h
+++ b/src/translator_fr.h
@@ -16,8 +16,7 @@
* The translation into French was provided by
* Christophe Bordeux (bordeux@lig.di.epfl.ch)
* and after version 1.2.0 by Xavier Outhier (xouthier@yahoo.fr)
- * member of the non for profit association D2SET (http://www.d2set.org,
- * d2set@d2set.org).
+ * member of the non for profit association D2SET (http://d2set.free.fr)
*/
/******************************************************************************
@@ -45,11 +44,17 @@
* -------------+------------------------------------------------------------
* 2003-03-29 | Update for new since 1.3
* -------------+------------------------------------------------------------
+ * 2003-03-29 | Changed fonction into méthode.
+ * -------------+------------------------------------------------------------
+ * 2003-06-06 | Fixed code page problem appeared between 1.42 and 1.43 in CVS
+ * -------------+------------------------------------------------------------
+ * 2003-06-10 | Update for new since 1.3.1
+ * -------------+------------------------------------------------------------
*/
#ifndef TRANSLATOR_FR_H
#define TRANSLATOR_FR_H
-class TranslatorFrench : public TranslatorAdapter_1_3_1
+class TranslatorFrench : public Translator
{
public:
QCString idLanguage()
@@ -1320,14 +1325,14 @@ class TranslatorFrench : public TranslatorAdapter_1_3_1
*/
virtual QCString trPackageMembers()
{
- return "Fonctions de paquetage";
+ return "Méthodes de paquetage";
}
/*! Used as a heading for a list of static Java class functions with
* package scope.
*/
virtual QCString trStaticPackageMembers()
{
- return "Fonctions statiques de paquetage";
+ return "Méthodes statiques de paquetage";
}
/*! Used as a heading for a list of Java class variables with package
* scope.
@@ -1343,7 +1348,23 @@ class TranslatorFrench : public TranslatorAdapter_1_3_1
{
return "Attributs statiques de paquetage";
}
-
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.1
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used in the quick index of a class/file/namespace member list page
+ * to link to the unfiltered list of all members.
+ */
+ virtual QCString trAll()
+ {
+ return "Tout";
+ }
+ /*! Put in front of the call graph for a function. */
+ virtual QCString trCallGraph()
+ {
+ return "Voici le graphique d'appel pour cette fonction:";
+ }
};
diff --git a/src/translator_it.h b/src/translator_it.h
index 406ce4b..cebfd3d 100644
--- a/src/translator_it.h
+++ b/src/translator_it.h
@@ -19,6 +19,7 @@
*
* Revision history
*
+ * 2003/06: translated new items used since version 1.3.1
* 2003/04: translated new items used since version 1.3
* 2002/11: translated new items used since version 1.2.18
* 2002/08: translated new items used since version 1.2.17
@@ -68,7 +69,7 @@
#ifndef TRANSLATOR_IT_H
#define TRANSLATOR_IT_H
-class TranslatorItalian : public TranslatorAdapter_1_3_1
+class TranslatorItalian : public Translator
{
public:
@@ -1430,6 +1431,23 @@ class TranslatorItalian : public TranslatorAdapter_1_3_1
return "Attributi statici con visibilità di package";
}
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.1
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used in the quick index of a class/file/namespace member list page
+ * to link to the unfiltered list of all members.
+ */
+ virtual QCString trAll()
+ {
+ return "Tutto";
+ }
+ /*! Put in front of the call graph for a function. */
+ virtual QCString trCallGraph()
+ {
+ return "Questo è il grafo delle chiamate per questa funzione:";
+ }
+
};
#endif
diff --git a/src/translator_pt.h b/src/translator_pt.h
index 47733b2..7444a10 100644
--- a/src/translator_pt.h
+++ b/src/translator_pt.h
@@ -19,6 +19,8 @@
*
* VERSION HISTORY
* ---------------
+ * 007 09 june 2003
+ * ! Updated for doxygen v1.3.1
* 006 30 july 2002
* ! Updated for doxygen v1.2.17
* 005 10 july 2002
@@ -38,7 +40,7 @@
#ifndef TRANSLATOR_PT_H
#define TRANSLATOR_PT_H
-class TranslatorPortuguese : public TranslatorAdapter_1_2_18
+class TranslatorPortuguese : public TranslatorAdapter_1_3_1
{
public:
@@ -127,7 +129,7 @@ class TranslatorPortuguese : public TranslatorAdapter_1_2_18
/*! this is the first part of a sentence that is followed by a class name */
QCString trThisIsTheListOfAllMembers()
- { return "Esta é a lista completa dos membros de "; }
+ { return "Lista completa de todos os membros de "; }
/*! this is the remainder of the sentence after the class name */
QCString trIncludingInheritedMembers()
@@ -268,7 +270,7 @@ class TranslatorPortuguese : public TranslatorAdapter_1_2_18
{
result+=" documentadas";
}
- result+=" com links para ";
+ result+=" com referência para ";
if (!extractAll)
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
@@ -297,20 +299,20 @@ class TranslatorPortuguese : public TranslatorAdapter_1_2_18
/*! This is an introduction to the page with all file members. */
QCString trFileMembersDescription(bool extractAll)
{
- QCString result="Lista de todas as ";
+ QCString result="Lista de ";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- result+="funções, variáveis, definições, enumerações e definições de tipo ";
+ result+="todas as funções, variáveis, definições, enumerações e definições de tipo ";
if (!extractAll) result+="documentadas ";
}
else
{
- result+="ficheiros membro";
+ result+="todos os ficheiros membro ";
if (!extractAll) result+="documentados ";
}
- result+="com links para ";
+ result+="com referência para ";
if (extractAll)
- result+="os ficheiro a que pertecem:";
+ result+="o ficheiro a que pertecem:";
else
result+="a respectiva documentação:";
return result;
@@ -416,7 +418,7 @@ class TranslatorPortuguese : public TranslatorAdapter_1_2_18
* list of defines
*/
QCString trDefines()
- { return "Definição de macros"; }
+ { return "Macros"; }
/*! This is used in the documentation of a file as a header before the
* list of function prototypes
@@ -740,7 +742,7 @@ class TranslatorPortuguese : public TranslatorAdapter_1_2_18
QCString result="Lista ";
if (extractAll) result+="de todos os ";
else result+="de toda a documentação dos ";
- result+="membros do namespace com links para ";
+ result+="membros do namespace com referência para ";
if (extractAll)
result+="a documentação de cada membro:";
else
@@ -1396,6 +1398,79 @@ class TranslatorPortuguese : public TranslatorAdapter_1_2_18
return "Lista de Deprecados";
}
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.18
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a header for declaration section of the events found in
+ * a C# program
+ */
+ virtual QCString trEvents()
+ {
+ return "Eventos";
+ }
+ /*! Header used for the documentation section of a class' events. */
+ virtual QCString trEventDocumentation()
+ {
+ return "Documentação dos eventos";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a heading for a list of Java class types with package scope.
+ */
+ virtual QCString trPackageTypes()
+ {
+ return "Tipos do Pacote";
+ }
+ /*! Used as a heading for a list of Java class functions with package
+ * scope.
+ */
+ virtual QCString trPackageMembers()
+ {
+ return "Funções do Pacote";
+ }
+ /*! Used as a heading for a list of static Java class functions with
+ * package scope.
+ */
+ virtual QCString trStaticPackageMembers()
+ {
+ return "Funções Estáticas do Pacote";
+ }
+ /*! Used as a heading for a list of Java class variables with package
+ * scope.
+ */
+ virtual QCString trPackageAttribs()
+ {
+ return "Atributos do Pacote";
+ }
+ /*! Used as a heading for a list of static Java class variables with
+ * package scope.
+ */
+ virtual QCString trStaticPackageAttribs()
+ {
+ return "Atributos Estáticos do Pacote";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.1
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used in the quick index of a class/file/namespace member list page
+ * to link to the unfiltered list of all members.
+ */
+ virtual QCString trAll()
+ {
+ return "Tudo";
+ }
+ /*! Put in front of the call graph for a function. */
+ virtual QCString trCallGraph()
+ {
+ return "Grafo de chamadas desta função:";
+ }
+
};
#endif
diff --git a/src/util.cpp b/src/util.cpp
index c654cb7..e43e7c1 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -757,7 +757,7 @@ bool leftScopeMatch(const QCString &scope, const QCString &name)
void linkifyText(const TextGeneratorIntf &out,Definition *scope,const char * /*name*/,const char *text,bool autoBreak,bool external)
{
- //printf("scope=`%s' name=`%s' Text: `%s'\n",scName,name,text);
+ //printf("`%s'\n",text);
static QRegExp regExp("[a-z_A-Z][a-z_A-Z0-9:]*");
QCString txtStr=text;
QCString scopeName;
@@ -774,6 +774,13 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,const char * /*n
{
// add non-word part to the result
floatingIndex+=newIndex-skipIndex;
+ bool insideString=FALSE;
+ int i;
+ for (i=index;i<newIndex;i++)
+ {
+ if (txtStr.at(i)=='"') insideString=!insideString;
+ }
+
if (strLen>30 && floatingIndex>25 && autoBreak) // try to insert a split point
{
QCString splitText = txtStr.mid(skipIndex,newIndex-skipIndex);
@@ -800,41 +807,35 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,const char * /*n
}
// get word from string
QCString word=txtStr.mid(newIndex,matchLen);
- ClassDef *cd=0;
- FileDef *fd=0;
- MemberDef *md=0;
- NamespaceDef *nd=0;
- GroupDef *gd=0;
-
- //QCString searchName=name;
- //printf("word=`%s' scope=`%s'\n",
- // word.data(),scope ? scope->name().data() : "<none>"
- // );
- Definition *curScope = scope;
- // check if `word' is a documented class name
- if (
- 1
- /* !rightScopeMatch(word,searchName) &&
- !rightScopeMatch(scopeName,word) */
- )
+ bool found=FALSE;
+ if (!insideString)
{
+ ClassDef *cd=0;
+ FileDef *fd=0;
+ MemberDef *md=0;
+ NamespaceDef *nd=0;
+ GroupDef *gd=0;
+
+ //QCString searchName=name;
+ //printf("word=`%s' scope=`%s'\n",
+ // word.data(),scope ? scope->name().data() : "<none>"
+ // );
+ Definition *curScope = scope;
+ // check if `word' is a documented class name
//printf("Searching...\n");
//int scopeOffset=scopeName.length();
- bool found=FALSE;
do // for each scope (starting with full scope and going to empty scope)
{
QCString fullName = word;
QCString prefix;
replaceNamespaceAliases(fullName,fullName.length());
//if (scopeOffset>0)
- if (curScope)
+ if (curScope && curScope!=Doxygen::globalScope)
{
- //prefix = scopeName.left(scopeOffset);
prefix = curScope->name();
replaceNamespaceAliases(prefix,prefix.length());
fullName.prepend(prefix+"::");
}
- //printf("Trying class %s\n",fullName.data());
bool isTypeDef=FALSE;
if ((cd=getResolvedClass(scope,fullName,&isTypeDef)))
@@ -842,7 +843,6 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,const char * /*n
// add link to the result
if (external ? cd->isLinkable() : cd->isLinkableInProject())
{
- //ol.writeObjectLink(cd->getReference(),cd->getOutputFileBase(),0,word);
out.writeLink(cd->getReference(),cd->getOutputFileBase(),0,word);
found=TRUE;
}
@@ -851,24 +851,16 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,const char * /*n
{
goto endloop;
}
-
- //if (scopeOffset==0)
- //{
- // scopeOffset=-1;
- //}
- //else if ((scopeOffset=scopeName.findRev("::",scopeOffset-1))==-1)
- //{
- // scopeOffset=0;
- //}
+
if (curScope) curScope = curScope->getOuterScope();
} //while (!found && scopeOffset>=0);
while (!found && curScope);
endloop:
if (scope &&
- (scope->definitionType()==Definition::TypeClass ||
- scope->definitionType()==Definition::TypeNamespace
- )
+ (scope->definitionType()==Definition::TypeClass ||
+ scope->definitionType()==Definition::TypeNamespace
+ )
)
{
scopeName=scope->name();
@@ -890,18 +882,13 @@ endloop:
//ol.writeObjectLink(d->getReference(),d->getOutputFileBase(),
// md->anchor(),word);
out.writeLink(d->getReference(),d->getOutputFileBase(),
- md->anchor(),word);
+ md->anchor(),word);
found=TRUE;
}
}
-
- if (!found) // add word to the result
- {
- //ol.docify(word);
- out.writeString(word);
- }
}
- else
+
+ if (!found) // add word to the result
{
//ol.docify(word);
out.writeString(word);