summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2002-03-17 20:13:31 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2002-03-17 20:13:31 (GMT)
commit40c0613db241b9015265b2b9f3673e0c7869d3c2 (patch)
treef846ab2e854c959c8e76153065efd17e01d7a02b
parent7ad88d9c5044be1e85a1cccbde20ec2fbfc3caf3 (diff)
downloadDoxygen-40c0613db241b9015265b2b9f3673e0c7869d3c2.zip
Doxygen-40c0613db241b9015265b2b9f3673e0c7869d3c2.tar.gz
Doxygen-40c0613db241b9015265b2b9f3673e0c7869d3c2.tar.bz2
Release-1.2.14-20020317
-rw-r--r--INSTALL4
-rw-r--r--README4
-rw-r--r--VERSION2
-rw-r--r--addon/doxmlparser/test/main.cpp32
-rw-r--r--doc/config.doc15
-rw-r--r--doc/language.doc6
-rw-r--r--packages/rpm/doxygen.spec2
-rw-r--r--src/code.l56
-rw-r--r--src/config.l17
-rw-r--r--src/doxygen.cpp30
-rw-r--r--src/groupdef.cpp57
-rw-r--r--src/index.cpp44
-rw-r--r--src/latexgen.cpp12
-rw-r--r--src/memberdef.cpp21
-rw-r--r--src/memberdef.h4
-rw-r--r--src/pre.l4
-rw-r--r--src/translator_br.h2
-rw-r--r--src/translator_cn.h2
-rw-r--r--src/translator_cz.h2
-rw-r--r--src/translator_de.h2
-rw-r--r--src/translator_dk.h2
-rw-r--r--src/translator_en.h2
-rw-r--r--src/translator_es.h2
-rw-r--r--src/translator_fr.h2
-rw-r--r--src/translator_gr.h2
-rw-r--r--src/translator_hr.h2
-rw-r--r--src/translator_hu.h2
-rw-r--r--src/translator_it.h2
-rw-r--r--src/translator_jp.h2
-rw-r--r--src/translator_kr.h2
-rw-r--r--src/translator_nl.h2
-rw-r--r--src/translator_no.h2
-rw-r--r--src/translator_pl.h2
-rw-r--r--src/translator_pt.h2
-rw-r--r--src/translator_ro.h517
-rw-r--r--src/translator_ru.h2
-rw-r--r--src/translator_si.h2
-rw-r--r--src/translator_sk.h2
-rw-r--r--src/translator_ua.h2
-rw-r--r--src/xmlgen.cpp41
40 files changed, 686 insertions, 226 deletions
diff --git a/INSTALL b/INSTALL
index 7c2d118..83f9df6 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,6 +1,6 @@
-DOXYGEN Version 1.2.14-20020310
+DOXYGEN Version 1.2.14-20020317
Please read the installation section of the manual for instructions.
--------
-Dimitri van Heesch (10 March 2002)
+Dimitri van Heesch (17 March 2002)
diff --git a/README b/README
index ba73328..b29c29b 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-DOXYGEN Version 1.2.14_20020310
+DOXYGEN Version 1.2.14_20020317
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) (10 March 2002)
+Dimitri van Heesch (dimitri@stack.nl) (17 March 2002)
diff --git a/VERSION b/VERSION
index 417bc95..aec6593 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.2.14-20020310
+1.2.14-20020317
diff --git a/addon/doxmlparser/test/main.cpp b/addon/doxmlparser/test/main.cpp
index 4359ba5..9c97db9 100644
--- a/addon/doxmlparser/test/main.cpp
+++ b/addon/doxmlparser/test/main.cpp
@@ -138,7 +138,7 @@ void DumpDoc(IDoc *doc)
break;
case IDoc::SimpleSect:
{
- IDocSimpleSect *ss = dynamic_cast<IDocSimpleSect*>(ss);
+ IDocSimpleSect *ss = dynamic_cast<IDocSimpleSect*>(doc);
ASSERT(ss!=0);
}
break;
@@ -188,91 +188,91 @@ void DumpDoc(IDoc *doc)
break;
case IDoc::HRuler:
{
- IDocHRuler *hr = dynamic_cast<IDocHRuler*>(hr);
+ IDocHRuler *hr = dynamic_cast<IDocHRuler*>(doc);
ASSERT(hr!=0);
}
break;
case IDoc::LineBreak:
{
- IDocLineBreak *lb = dynamic_cast<IDocLineBreak*>(lb);
+ IDocLineBreak *lb = dynamic_cast<IDocLineBreak*>(doc);
ASSERT(lb!=0);
}
break;
case IDoc::ULink:
{
- IDocULink *ul = dynamic_cast<IDocULink*>(ul);
+ IDocULink *ul = dynamic_cast<IDocULink*>(doc);
ASSERT(ul!=0);
}
break;
case IDoc::EMail:
{
- IDocEMail *em = dynamic_cast<IDocEMail*>(em);
+ IDocEMail *em = dynamic_cast<IDocEMail*>(doc);
ASSERT(em!=0);
}
break;
case IDoc::Link:
{
- IDocLink *lk = dynamic_cast<IDocLink*>(lk);
+ IDocLink *lk = dynamic_cast<IDocLink*>(doc);
ASSERT(lk!=0);
}
break;
case IDoc::ProgramListing:
{
- IDocProgramListing *pl = dynamic_cast<IDocProgramListing*>(pl);
+ IDocProgramListing *pl = dynamic_cast<IDocProgramListing*>(doc);
ASSERT(pl!=0);
}
break;
case IDoc::CodeLine:
{
- IDocCodeLine *cl = dynamic_cast<IDocCodeLine*>(cl);
+ IDocCodeLine *cl = dynamic_cast<IDocCodeLine*>(doc);
ASSERT(cl!=0);
}
break;
case IDoc::Highlight:
{
- IDocHighlight *hl = dynamic_cast<IDocHighlight*>(hl);
+ IDocHighlight *hl = dynamic_cast<IDocHighlight*>(doc);
ASSERT(hl!=0);
}
break;
case IDoc::Formula:
{
- IDocFormula *fm = dynamic_cast<IDocFormula*>(fm);
+ IDocFormula *fm = dynamic_cast<IDocFormula*>(doc);
ASSERT(fm!=0);
}
break;
case IDoc::Image:
{
- IDocImage *img = dynamic_cast<IDocImage*>(img);
+ IDocImage *img = dynamic_cast<IDocImage*>(doc);
ASSERT(img!=0);
}
break;
case IDoc::DotFile:
{
- IDocDotFile *df = dynamic_cast<IDocDotFile*>(df);
+ IDocDotFile *df = dynamic_cast<IDocDotFile*>(doc);
ASSERT(df!=0);
}
break;
case IDoc::IndexEntry:
{
- IDocIndexEntry *ie = dynamic_cast<IDocIndexEntry*>(ie);
+ IDocIndexEntry *ie = dynamic_cast<IDocIndexEntry*>(doc);
ASSERT(ie!=0);
}
break;
case IDoc::Table:
{
- IDocTable *tbl = dynamic_cast<IDocTable*>(tbl);
+ IDocTable *tbl = dynamic_cast<IDocTable*>(doc);
ASSERT(tbl!=0);
}
break;
case IDoc::Row:
{
- IDocRow *row = dynamic_cast<IDocRow*>(row);
+ IDocRow *row = dynamic_cast<IDocRow*>(doc);
ASSERT(row!=0);
}
break;
case IDoc::Entry:
{
- IDocEntry *ent = dynamic_cast<IDocEntry*>(ent);
+ IDocEntry *ent = dynamic_cast<IDocEntry*>(doc);
ASSERT(ent!=0);
}
break;
diff --git a/doc/config.doc b/doc/config.doc
index d36dfc5..3b36cd5 100644
--- a/doc/config.doc
+++ b/doc/config.doc
@@ -143,9 +143,11 @@ followed by the descriptions of the tags grouped by category.
<li> \refitem cfg_internal_docs INTERNAL_DOCS
<li> \refitem cfg_javadoc_autobrief JAVADOC_AUTOBRIEF
<li> \refitem cfg_latex_batchmode LATEX_BATCHMODE
+<li> \refitem cfg_latex_cmd_name LATEX_CMD_NAME
<li> \refitem cfg_latex_header LATEX_HEADER
<li> \refitem cfg_latex_output LATEX_OUTPUT
<li> \refitem cfg_macro_expansion MACRO_EXPANSION
+<li> \refitem cfg_makeindex_cmd_name MAKEINDEX_CMD_NAME
<li> \refitem cfg_man_extension MAN_EXTENSION
<li> \refitem cfg_man_links MAN_LINKS
<li> \refitem cfg_man_output MAN_OUTPUT
@@ -904,6 +906,19 @@ followed by the descriptions of the tags grouped by category.
If a relative path is entered the value of \c OUTPUT_DIRECTORY will be
put in front of it. If left blank `latex' will be used as the default path.
+\anchor cfg_latex_cmd_name
+<dt>\c LATEX_CMD_NAME <dd>
+ \addindex LATEX_CMD_NAME
+ The \c LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be invoked.
+ If left blank `latex' will be used as the default command name.
+
+\anchor cfg_makeindex_cmd_name
+<dt>\c MAKEINDEX_CMD_NAME <dd>
+ \addindex MAKEINDEX_CMD_NAME
+ The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+ generate index for LaTeX. If left blank `makeindex' will be used as the
+ default command name.
+
\anchor cfg_compact_latex
<dt>\c COMPACT_LATEX <dd>
\addindex COMPACT_LATEX
diff --git a/doc/language.doc b/doc/language.doc
index 4b3bcca..f028fdb 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.2.14-20020224), 25 languages
+Currently (version 1.2.14-20020310), 25 languages
are supported (sorted alphabetically):
Brazilian Portuguese, Chinese, Croatian, Czech, Danish,
Dutch, English, Finnish, French, German,
@@ -162,7 +162,7 @@ when the translator was updated.
<TD>Romanian</TD>
<TD>Alexandru Iosup</TD>
<TD>aiosup@NOSPAM.yahoo.com</TD>
- <TD>1.2.1</TD>
+ <TD>up-to-date</TD>
</TR>
<TR BGCOLOR="#ffffff">
<TD>Russian</TD>
@@ -251,7 +251,7 @@ when the translator was updated.
\hline
Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} & up-to-date \\
\hline
- Romanian & Alexandru Iosup & {\tt aiosup@yahoo.com} & 1.2.1 \\
+ Romanian & Alexandru Iosup & {\tt aiosup@yahoo.com} & up-to-date \\
\hline
Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} & up-to-date \\
\hline
diff --git a/packages/rpm/doxygen.spec b/packages/rpm/doxygen.spec
index eedb104..1ad7285 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.2.14_20020310
+Version: 1.2.14_20020317
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 ae1168f..adabd5a 100644
--- a/src/code.l
+++ b/src/code.l
@@ -335,6 +335,7 @@ static void startCodeLine()
//lineAnchor.sprintf("l%05d",g_yyLineNr);
Definition *d = g_sourceFileDef->getSourceDefinition(g_yyLineNr);
+ //printf("startCodeLine %d d=%p\n",g_yyLineNr,d);
//g_code->startLineNumber();
if (!g_includeCodeFragment && d && d->isLinkableInProject())
{
@@ -590,6 +591,23 @@ static MemberDef *setCallContextForVar(const QCString &name)
return 0;
}
+static void addDocCrossReference(MemberDef *src,MemberDef *dst)
+{
+ //printf("addDocCrossReference src=%s,dst=%s\n",src->name().data(),dst->name().data());
+ if (Config_getBool("REFERENCED_BY_RELATION") &&
+ (src->isFunction() || src->isSlot())
+ )
+ {
+ dst->addSourceReferencedBy(src);
+ }
+ if (Config_getBool("REFERENCES_RELATION") &&
+ (src->isFunction() || src->isSlot())
+ )
+ {
+ src->addSourceReferences(dst);
+ }
+}
+
static void generateClassOrGlobalLink(OutputDocInterface &ol,char *clName,int *clNameLen=0)
{
int i=0;
@@ -646,18 +664,7 @@ static void generateClassOrGlobalLink(OutputDocInterface &ol,char *clName,int *c
writeMultiLineCodeLink(ol,d->getReference(),d->getOutputFileBase(),md->getBodyAnchor(),clName);
if (g_currentMemberDef)
{
- if (Config_getBool("REFERENCED_BY_RELATION") &&
- (g_currentMemberDef->isFunction() || g_currentMemberDef->isSlot())
- )
- {
- md->addSourceReferencedBy(g_currentMemberDef);
- }
- if (Config_getBool("REFERENCES_RELATION") &&
- (g_currentMemberDef->isFunction() || g_currentMemberDef->isSlot())
- )
- {
- g_currentMemberDef->addSourceReferences(md);
- }
+ addDocCrossReference(g_currentMemberDef,md);
}
return;
}
@@ -711,21 +718,13 @@ static bool getLink(const char *className,
if (d && d->isLinkable())
{
g_theCallContext.setClass(stripClassName(md->typeString()));
+ //printf("g_currentDefinition=%p g_currentMemberDef=%p g_insideBody=%d\n",
+ // g_currentDefinition,g_currentMemberDef,g_insideBody);
+
if (g_currentDefinition && g_currentMemberDef &&
md!=g_currentMemberDef && g_insideBody)
{
- if (Config_getBool("REFERENCED_BY_RELATION") &&
- (g_currentMemberDef->isFunction() || g_currentMemberDef->isSlot())
- )
- {
- md->addSourceReferencedBy(g_currentMemberDef);
- }
- if (Config_getBool("REFERENCES_RELATION") &&
- (g_currentMemberDef->isFunction() || g_currentMemberDef->isSlot())
- )
- {
- g_currentMemberDef->addSourceReferences(md);
- }
+ addDocCrossReference(g_currentMemberDef,md);
}
//printf("d->getOutputBase()=`%s' name=`%s' member name=`%s'\n",d->getOutputFileBase().data(),d->name().data(),md->name().data());
@@ -763,14 +762,7 @@ static bool generateClassMemberLink(OutputDocInterface &ol,ClassDef *mcd,const c
if (g_currentDefinition && g_currentMemberDef &&
xmd!=g_currentMemberDef && g_insideBody)
{
- if (Config_getBool("REFERENCED_BY_RELATION") && g_currentMemberDef->isFunction())
- {
- xmd->addSourceReferencedBy(g_currentMemberDef);
- }
- if (Config_getBool("REFERENCES_RELATION") && g_currentMemberDef->isFunction())
- {
- g_currentMemberDef->addSourceReferences(xmd);
- }
+ addDocCrossReference(g_currentMemberDef,xmd);
}
// write the actual link
diff --git a/src/config.l b/src/config.l
index fe32174..62f2382 100644
--- a/src/config.l
+++ b/src/config.l
@@ -1900,6 +1900,23 @@ void Config::create()
cs->setDefaultValue("latex");
cs->setWidgetType(ConfigString::Dir);
cs->addDependency("GENERATE_LATEX");
+ cs = addString(
+ "LATEX_CMD_NAME",
+ "The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be "
+ "invoked. If left blank `latex' will be used as the default command name. \n"
+ );
+ cs->setDefaultValue("latex");
+ cs->setWidgetType(ConfigString::File);
+ cs->addDependency("GENERATE_LATEX");
+ cs = addString(
+ "MAKEINDEX_CMD_NAME",
+ "The MAKEINDEX_CMD_NAME tag can be used to specify the command name to \n"
+ "generate index for LaTeX. If left blank `makeindex' will be used as the \n"
+ "default command name. \n"
+ );
+ cs->setDefaultValue("makeindex");
+ cs->setWidgetType(ConfigString::File);
+ cs->addDependency("GENERATE_LATEX");
cb = addBool(
"COMPACT_LATEX",
"If the COMPACT_LATEX tag is set to YES Doxygen generates more compact \n"
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index f420437..dc688b1 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -910,7 +910,7 @@ static void findUsingDirectives(Entry *root)
// the global file scope.
if (root->parent->section == Entry::NAMESPACE_SEC)
{
- nsName=root->parent->name.copy();
+ nsName=stripAnonymousNamespaceScope(root->parent->name);
if (!nsName.isEmpty())
{
nd = getResolvedNamespace(nsName);
@@ -926,8 +926,8 @@ static void findUsingDirectives(Entry *root)
{
QCString scope=scopeOffset>0 ?
nsName.left(scopeOffset)+"::" : QCString();
- //printf("Trying with scope=`%s'\n",scope.data());
usingNd = getResolvedNamespace(scope+root->name);
+ //printf("Trying with scope=`%s' usingNd=%p\n",(scope+root->name).data(),usingNd);
if (scopeOffset==0)
{
scopeOffset=-1;
@@ -943,6 +943,7 @@ static void findUsingDirectives(Entry *root)
// add the namespace the correct scope
if (usingNd)
{
+ //printf("using fd=%p nd=%p\n",fd,nd);
if (nd)
{
//printf("Inside namespace %s\n",nd->name().data());
@@ -1315,7 +1316,7 @@ static MemberDef *addVariableToFile(
if (md->getGroupDef()==0 && root->groups->first())
{
GroupDef *gd=Doxygen::groupSDict[root->groups->first()->groupname.data()];
- md->setGroupDef(gd, root->groups->first()->pri, root->fileName, root->startLine, root->doc.length() != 0);
+ md->setGroupDef(gd, root->groups->first()->pri, root->fileName, root->startLine, !root->doc.isEmpty());
}
else if (md->getGroupDef()!=0 && root->groups->count()==0)
{
@@ -1900,8 +1901,9 @@ static void buildFunctionList(Entry *root)
// merge ingroup specifiers
if (md->getGroupDef()==0 && root->groups->first())
{
+ addMemberToGroups(root,md);
GroupDef *gd=Doxygen::groupSDict[root->groups->first()->groupname.data()];
- md->setGroupDef(gd, root->groups->first()->pri, root->fileName, root->startLine, root->doc.length() != 0);
+ md->setGroupDef(gd, root->groups->first()->pri, root->fileName, root->startLine, !root->doc.isEmpty());
}
else if (md->getGroupDef()!=0 && root->groups->count()==0)
{
@@ -2212,6 +2214,17 @@ static void transferFunctionDocumentation()
mdec->mergeMemberSpecifiers(mdef->getMemberSpecifiers());
mdef->mergeMemberSpecifiers(mdec->getMemberSpecifiers());
+ // copy group info.
+ //if (mdec->getGroupDef()==0 && mdef->getGroupDef()!=0)
+ //{
+ // mdef->setGroupDef(mdec->getGroupDef(),mdec->getGroupPri(),mdec->docFile(),mdec->docLine(),mdec->hasDocumentation());
+ //}
+ //else if (mdef->getGroupDef()==0 && mdec->getGroupDef()!=0)
+ //{
+ // mdec->setGroupDef(mdef->getGroupDef(),mdef->getGroupPri(),mdef->docFile(),mdef->docLine(),mdef->hasDocumentation());
+ //}
+
+
int todoId = QMAX(mdec->todoId(),mdef->todoId());
int testId = QMAX(mdec->testId(),mdef->testId());
int bugId = QMAX(mdec->bugId() ,mdef->bugId() );
@@ -3064,7 +3077,7 @@ static void computeClassRelations()
{
findBaseClassesForClass(root,cd,cd,DocumentedOnly,FALSE);
}
- else if (bName.right(2)!="::")
+ if ((cd==0 || !cd->hasDocumentation()) && bName.right(2)!="::")
{
if (!root->name.isEmpty() && root->name[0]!='@')
warn_undoc(
@@ -4930,6 +4943,9 @@ static void computeMemberRelations()
//printf("setting (new) reimplements member\n");
md->setReimplements(bmd);
}
+ //printf("%s: add reimplements member %s\n",mcd->name().data(),bmcd->name().data());
+ //md->setImplements(bmd);
+ //printf("%s: add reimplementedBy member %s\n",bmcd->name().data(),mcd->name().data());
bmd->insertReimplementedBy(md);
}
}
@@ -5090,6 +5106,7 @@ static void addSourceReferences()
MemberDef *md=0;
for (mni.toFirst();(md=mni.current());++mni)
{
+ //printf("class member %s\n",md->name().data());
ClassDef *cd=md->getClassDef();
FileDef *fd=md->getBodyDef();
if (fd && cd && cd->isLinkableInProject() && md->getStartBodyLine()!=-1 &&
@@ -5110,8 +5127,9 @@ static void addSourceReferences()
for (mni.toFirst();(md=mni.current());++mni)
{
NamespaceDef *nd=md->getNamespaceDef();
- FileDef *fd=md->getFileDef();
+ FileDef *fd=md->getBodyDef();
GroupDef *gd=md->getGroupDef();
+ //printf("member %s fd=%p nd=%p gd=%p\n",md->name().data(),fd,nd,gd);
if (fd && md->getStartBodyLine()!=-1 && md->isLinkableInProject() &&
((nd && nd->isLinkableInProject()) ||
(fd->isLinkableInProject()) ||
diff --git a/src/groupdef.cpp b/src/groupdef.cpp
index b508c1c..fdb12b0 100644
--- a/src/groupdef.cpp
+++ b/src/groupdef.cpp
@@ -163,7 +163,7 @@ void GroupDef::addMembersToMemberGroup()
void GroupDef::insertMember(MemberDef *md,bool docOnly)
{
- //fprintf(stderr, "GroupDef(%s)::insertMember(%s)\n", title.data(), md->name().data());
+ //printf("GroupDef(%s)::insertMember(%s)\n", title.data(), md->name().data());
MemberNameInfo *mni=0;
if ((mni=(*allMemberNameInfoSDict)[md->name()]))
{ // member with this name already found
@@ -630,7 +630,7 @@ void addGroupToGroups(Entry *root,GroupDef *subGroup)
/*! Add a member to the group with the highest priority */
void addMemberToGroups(Entry *root,MemberDef *md)
{
- //printf(" Root 0x%p = %s, md 0x%p %s\n", root, root->name.data(), md, md->name().data() );
+ //printf(" Root %p = %s, md %p=%s groups=%d\n", root, root->name.data(), md, md->name().data(), root->groups->count() );
QListIterator<Grouping> gli(*root->groups);
Grouping *g;
@@ -644,7 +644,8 @@ void addMemberToGroups(Entry *root,MemberDef *md)
(gd=Doxygen::groupSDict[g->groupname]) &&
g->pri >= pri)
{
- if( fgd && g->pri == pri ) {
+ if (fgd && g->pri==pri)
+ {
warn(root->fileName.data(), root->startLine,
"Warning: Member %s found in multiple %s groups! "
"The member will be put in group %s, and not in group %s",
@@ -657,14 +658,18 @@ void addMemberToGroups(Entry *root,MemberDef *md)
pri = g->pri;
}
}
+ //printf("fgd=%p\n",fgd);
// put member into group defined by this entry?
- if( fgd )
+ if (fgd)
{
GroupDef *mgd = md->getGroupDef();
+ //printf("mgd=%p\n",mgd);
bool insertit = FALSE;
if (mgd==0)
+ {
insertit = TRUE;
+ }
else if (mgd!=fgd)
{
bool moveit = FALSE;
@@ -672,40 +677,42 @@ void addMemberToGroups(Entry *root,MemberDef *md)
// move member from one group to another if
// - the new one has a higher priority
// - the new entry has the same priority, but with docs where the old one had no docs
- if( md->getGroupPri() < pri )
+ if (md->getGroupPri()<pri)
{
- moveit = TRUE;
+ moveit = TRUE;
}
else
{
- if( md->getGroupPri() == pri )
- {
-
- if( root->doc.length() != 0 && !md->getGroupHasDocs() )
- moveit = TRUE;
- else if( root->doc.length() != 0 && md->getGroupHasDocs() )
- {
- warn(md->getGroupFileName(),md->getGroupStartLine(),
- "Warning: Member documentation for %s found several times in %s groups!\n"
- "%s:%d: The member will remain in group %s, and won't be put into group %s",
- md->name().data(), Grouping::getGroupPriName( pri ),
- root->fileName.data(), root->startLine,
- mgd->name().data(),
- fgd->name().data()
- );
- }
- }
+ if (md->getGroupPri()==pri)
+ {
+ if (!root->doc.isEmpty() && !md->getGroupHasDocs())
+ {
+ moveit = TRUE;
+ }
+ else if (!root->doc.isEmpty() && md->getGroupHasDocs())
+ {
+ warn(md->getGroupFileName(),md->getGroupStartLine(),
+ "Warning: Member documentation for %s found several times in %s groups!\n"
+ "%s:%d: The member will remain in group %s, and won't be put into group %s",
+ md->name().data(), Grouping::getGroupPriName( pri ),
+ root->fileName.data(), root->startLine,
+ mgd->name().data(),
+ fgd->name().data()
+ );
+ }
+ }
}
- if( moveit )
+ if (moveit)
{
mgd->removeMember(md);
insertit = TRUE;
}
}
- if( insertit )
+ if (insertit)
{
+ //printf("insertMember\n");
fgd->insertMember(md);
md->setGroupDef(fgd,pri,root->fileName,root->startLine,root->doc.length() != 0);
ClassDef *cd = md->getClassDefOfAnonymousType();
diff --git a/src/index.cpp b/src/index.cpp
index 47bdaab..b07200d 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -351,6 +351,21 @@ void endFile(OutputList &ol,bool external)
//----------------------------------------------------------------------------
+static bool classHasVisibleChildren(ClassDef *cd)
+{
+ if (cd->subClasses()->count()==0) return FALSE;
+ BaseClassList *bcl=cd->subClasses();
+ BaseClassListIterator bcli(*bcl);
+ for ( ; bcli.current() ; ++bcli)
+ {
+ if (bcli.current()->classDef->isVisibleInHierarchy())
+ {
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper,int level)
{
HtmlHelp *htmlHelp=0;
@@ -381,7 +396,8 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper,int level)
started=TRUE;
}
//printf("Passed...\n");
- bool hasChildren = !cd->visited && !hideSuper && cd->subClasses()->count()>0;
+ bool hasChildren = !cd->visited && !hideSuper && classHasVisibleChildren(cd);
+ //printf("tree4: Has children %s: %d\n",cd->name().data(),hasChildren);
if (cd->isLinkable())
{
//printf("Writing class %s\n",cd->displayName().data());
@@ -454,7 +470,8 @@ void writeClassTree(BaseClassList *cl,int level)
for ( ; cli.current() ; ++cli)
{
ClassDef *cd=cli.current()->classDef;
- if (cd->isVisibleInHierarchy() && !cd->visited)
+ if (cd->isVisibleInHierarchy() && hasVisibleRoot(cd->baseClasses()))
+ //if (cd->isVisibleInHierarchy() && !cd->visited)
{
if (!started)
{
@@ -462,7 +479,8 @@ void writeClassTree(BaseClassList *cl,int level)
if (hasFtvHelp) ftvHelp->incContentsDepth();
started=TRUE;
}
- bool hasChildren = cd->subClasses()->count()>0;
+ bool hasChildren = !cd->visited && classHasVisibleChildren(cd);
+ //printf("tree2: Has children %s: %d\n",cd->name().data(),hasChildren);
if (cd->isLinkable())
{
if (hasHtmlHelp)
@@ -499,7 +517,8 @@ void writeClassTreeNode(ClassDef *cd,bool hasHtmlHelp,bool hasFtvHelp,bool &star
{
started=TRUE;
}
- bool hasChildren = cd->subClasses()->count()>0;
+ bool hasChildren = classHasVisibleChildren(cd);
+ //printf("node: Has children %s: %d\n",cd->name().data(),hasChildren);
if (cd->isLinkable())
{
if (hasHtmlHelp)
@@ -583,7 +602,8 @@ static void writeClassTreeForList(OutputList &ol,ClassSDict *cl,bool &started)
if (hasFtvHelp) ftvHelp->incContentsDepth();
started=TRUE;
}
- bool hasChildren = !cd->visited && cd->subClasses()->count()>0;
+ bool hasChildren = !cd->visited && classHasVisibleChildren(cd);
+ //printf("list: Has children %s: %d\n",cd->name().data(),hasChildren);
if (cd->isLinkable())
{
//printf("Writing class %s isLinkable()=%d isLinkableInProject()=%d cd->templateMaster()=%p\n",
@@ -2412,7 +2432,7 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,int level)
}
// write classes
- if(gd->classSDict->count()>0)
+ if (gd->classSDict->count()>0)
{
if(htmlHelp)
{
@@ -2616,19 +2636,11 @@ void writeGroupIndex(OutputList &ol)
writeGroupHierarchy(ol);
if (hasHtmlHelp)
{
- //writeGroupTree(ol); // KPW - modified to write hierarchial HMTL Help
- //if(!Config::instance()->get(""))
- //{
- htmlHelp->decContentsDepth();
- //}
+ htmlHelp->decContentsDepth();
}
if (hasFtvHelp)
{
- //writeGroupTree(ol); // KPW - modified to write hierarchial FTV Help
- //if(!Config::instance()->get(""))
- //{
- ftvHelp->decContentsDepth();
- //}
+ ftvHelp->decContentsDepth();
}
endFile(ol);
ol.popGeneratorState();
diff --git a/src/latexgen.cpp b/src/latexgen.cpp
index c02428c..f851e19 100644
--- a/src/latexgen.cpp
+++ b/src/latexgen.cpp
@@ -147,6 +147,10 @@ void LatexGenerator::init()
err("Could not open file %s for writing\n",fileName.data());
exit(1);
}
+ // inserted by KONNO Akihisa <konno@researchers.jp> 2002-03-05
+ QCString latex_command = Config_getString("LATEX_CMD_NAME");
+ QCString mkidx_command = Config_getString("MAKEINDEX_CMD_NAME");
+ // end insertion by KONNO Akihisa <konno@researchers.jp> 2002-03-05
QTextStream t(&file);
t << "all: refman.dvi" << endl
<< endl
@@ -194,16 +198,16 @@ void LatexGenerator::init()
<< endl
<< "refman.dvi: refman.tex doxygen.sty" << endl
<< "\techo \"Running latex...\"" << endl
- << "\tlatex refman.tex" << endl
+ << "\t" << latex_command << " refman.tex" << endl
<< "\techo \"Running makeindex...\"" << endl
- << "\tmakeindex refman.idx" << endl
+ << "\t" << mkidx_command << " refman.idx" << endl
<< "\techo \"Rerunning latex....\"" << endl
- << "\tlatex refman.tex" << endl
+ << "\t" << latex_command << " refman.tex" << endl
<< "\tlatex_count=5 ; \\" << endl
<< "\twhile egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\\" << endl
<< "\t do \\" << endl
<< "\t echo \"Rerunning latex....\" ;\\" << endl
- << "\t latex refman.tex ;\\" << endl
+ << "\t " << latex_command << " refman.tex ;\\" << endl
<< "\t latex_count=`expr $$latex_count - 1` ;\\" << endl
<< "\t done" << endl << endl
<< "clean:" << endl
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 69bcf9f..dfcea4a 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -380,11 +380,10 @@ MemberDef::~MemberDef()
void MemberDef::setReimplements(MemberDef *md)
{
- //if (m_templateMaster)
- //{
- // m_templateMaster->setReimplements(md);
- //}
- redefines=md;
+ //if (redefines==0) redefines = new MemberList;
+ //if (redefines->find(md)==-1) redefines->inSort(md);
+
+ redefines = md;
}
void MemberDef::insertReimplementedBy(MemberDef *md)
@@ -394,10 +393,13 @@ void MemberDef::insertReimplementedBy(MemberDef *md)
m_templateMaster->insertReimplementedBy(md);
}
if (redefinedBy==0) redefinedBy = new MemberList;
- if (redefinedBy->find(md)==-1) redefinedBy->inSort(md);
+ if (redefinedBy->findRef(md)==-1)
+ {
+ redefinedBy->inSort(md);
+ }
}
-MemberDef *MemberDef::reimplements() const
+MemberDef *MemberDef::reimplements() const
{
return redefines;
}
@@ -1315,7 +1317,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
}
MemberDef *bmd=reimplements();
- ClassDef *bcd=0;
+ ClassDef *bcd=0;
if (bmd && (bcd=bmd->getClassDef()))
{
// write class that contains a member that is reimplemented by this one
@@ -1342,7 +1344,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
if (bd==0) bd=bcd;
ol.writeObjectLink(bd->getReference(),bd->getOutputFileBase(),
bmd->anchor(),bcd->name());
-
+
//ol.writeObjectLink(bcd->getReference(),bcd->getOutputFileBase(),
// bmd->anchor(),bcd->name());
if ( bd->isLinkableInProject() )
@@ -1374,6 +1376,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
//ol.writeString(".");
}
+
MemberList *bml=reimplementedBy();
if (bml)
{
diff --git a/src/memberdef.h b/src/memberdef.h
index 78818b9..51c0f7c 100644
--- a/src/memberdef.h
+++ b/src/memberdef.h
@@ -164,7 +164,7 @@ class MemberDef : public Definition
// relation to other members
void setReimplements(MemberDef *md);
void insertReimplementedBy(MemberDef *md);
- MemberDef *reimplements() const;
+ MemberDef *reimplements() const;
MemberList *reimplementedBy() const;
// enumeration specific members
@@ -249,9 +249,9 @@ class MemberDef : public Definition
private:
ClassDef *classDef; // member of or related to
FileDef *fileDef; // member of file definition
- MemberDef *redefines; // the member that is redefined by this one
MemberDef *enumScope; // the enclosing scope, if this is an enum field
MemberDef *annEnumType; // the annonymous enum that is the type of this member
+ MemberDef *redefines; // the members that this member redefines
MemberList *redefinedBy; // the list of members that redefine this one
MemberDef *memDef; // member definition for this declaration
MemberDef *memDec; // member declaration for this definition
diff --git a/src/pre.l b/src/pre.l
index 6b8b20d..1878f14 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -1001,6 +1001,7 @@ static int yyread(char *buf,int max_size)
ID [a-z_A-Z][a-z_A-Z0-9]*
B [ \t]
BN [ \t\r\n]
+CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
%option noyywrap
@@ -1213,6 +1214,9 @@ BN [ \t\r\n]
g_defArgsStr+=yytext;
}
*/
+<FindDefineArgs>{CHARLIT} {
+ g_defArgsStr+=yytext;
+ }
<FindDefineArgs>\" {
g_defArgsStr+=*yytext;
BEGIN(ReadString);
diff --git a/src/translator_br.h b/src/translator_br.h
index 4959f89..e81ef2b 100644
--- a/src/translator_br.h
+++ b/src/translator_br.h
@@ -1009,7 +1009,7 @@ class TranslatorBrazilian: public Translator
"Se a tag \\c MAX_DOT_GRAPH_HEIGHT no arquivo de configuração tem o valor"
"200, o seguinte gráfo será gerado:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"As caixas no grafo acima tem as seguintes interpretações:\n"
"<ul>\n"
diff --git a/src/translator_cn.h b/src/translator_cn.h
index e0131d8..2e5d54f 100644
--- a/src/translator_cn.h
+++ b/src/translator_cn.h
@@ -951,7 +951,7 @@ class TranslatorChinese : public TranslatorAdapter_1_2_13
"\\endcode\n"
"Èç¹ûÔÚÅäÖÃÎļþÖÐÖ¸¶¨ÁË"CN_SPC"MAX_DOT_GRAPH_HEIGHT"CN_SPC"µÄֵΪ200£¬"
"ÔòDoxygen½«Éú³ÉÈçϵÄͼÐΣº"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"ÒÔÉÏͼÐÎÖеľØÐÎÓÐÈçϵĺ¬Ò壺\n"
"<ul>\n"
diff --git a/src/translator_cz.h b/src/translator_cz.h
index 07941bb..a0001ca 100644
--- a/src/translator_cz.h
+++ b/src/translator_cz.h
@@ -1211,7 +1211,7 @@ class TranslatorCzech : public Translator
"\\endcode\n"
"Pokud je položka \\c MAX_DOT_GRAPH_HEIGHT konfiguraèního souboru "
"nastavena na hodnotu 200, bude vygenerován následující graf:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"Bloky (tj. uzly) v uvedeném grafu mají následující význam:\n"
"<ul>\n"
diff --git a/src/translator_de.h b/src/translator_de.h
index 3426f46..db3427e 100644
--- a/src/translator_de.h
+++ b/src/translator_de.h
@@ -1082,7 +1082,7 @@ class TranslatorGerman : public Translator
"\\endcode\n\n"
"Setzen des Tags \\c MAX_DOT_GRAPH_HEIGHT in der Konfigurationsdatei "
"auf 240 liefert den folgenden Graphen:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"Die Rechtecke in obigem Graphen bedeuten:\n"
"<ul>\n"
diff --git a/src/translator_dk.h b/src/translator_dk.h
index 9e72516..55ee6bd 100644
--- a/src/translator_dk.h
+++ b/src/translator_dk.h
@@ -1055,7 +1055,7 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
"\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 200 this will result in the following graph:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"The boxes in the above graph have the following meaning:\n"
"<ul>\n"
diff --git a/src/translator_en.h b/src/translator_en.h
index 35ee638..258f6a1 100644
--- a/src/translator_en.h
+++ b/src/translator_en.h
@@ -1072,7 +1072,7 @@ class TranslatorEnglish : public Translator
"\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 240 this will result in the following graph:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"The boxes in the above graph have the following meaning:\n"
"<ul>\n"
diff --git a/src/translator_es.h b/src/translator_es.h
index fa35a76..49e47e7 100644
--- a/src/translator_es.h
+++ b/src/translator_es.h
@@ -947,7 +947,7 @@ class TranslatorSpanish : public TranslatorAdapter_1_2_7
"\\endcode\n"
"Si la etiqueta \\c MAX_DOT_GRAPH_HEIGHT en el archivo de configuración "
"tiene valor 200 resultará en el siguiente gráfico:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"Las cajas en el gráfico arriba tienen el significado que sigue:\n"
"<ul>\n"
diff --git a/src/translator_fr.h b/src/translator_fr.h
index 3c6f5a3..4611501 100644
--- a/src/translator_fr.h
+++ b/src/translator_fr.h
@@ -939,7 +939,7 @@ class TranslatorFrench : public Translator
"\\endcode\n"
"Si la valeur 200 est attribuée au tag \\c MAX_DOT_GRAPH_HEIGHT "
"du fichier de configuration, cela génèrera le graphe suivant:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"Les rectangles du graphe ci-dessus ont la signification suivante:\n"
"<ul>\n"
diff --git a/src/translator_gr.h b/src/translator_gr.h
index ce71bfd..35988b3 100644
--- a/src/translator_gr.h
+++ b/src/translator_gr.h
@@ -1043,7 +1043,7 @@ class TranslatorGreek : public TranslatorAdapter_1_2_11
"\\endcode\n"
"Áí ç åôéêÝôá \\c MAX_DOT_GRAPH_HEIGHT óôï áñ÷åßï ñõèìßóåùí "
"ôåèåß óôï 200 èá Ý÷ïõìå óáí áðïôÝëåóìá ôï áêüëïõèï äéÜãñáììá:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"Ôá êïõôéÜ óôï ðáñáðÜíù äéÜãñáììá Ý÷ïõí ôçí áêüëïõèç óçìáóßá:\n"
"<ul>\n"
diff --git a/src/translator_hr.h b/src/translator_hr.h
index dbf26a7..100d53c 100644
--- a/src/translator_hr.h
+++ b/src/translator_hr.h
@@ -760,7 +760,7 @@ class TranslatorCroatian : public Translator
"\\endcode\n"
"Ako je \\c MAX_DOT_GRAPH_HEIGHT tag u konfiguracijskoj datoteci "
"postavljen na 200 gornje veze æe rezultirati grafikonom:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"Pravokutnici imaju slijedeæe znaèenje:\n"
"<ul>\n"
diff --git a/src/translator_hu.h b/src/translator_hu.h
index d477b1e..7f1ea5c 100644
--- a/src/translator_hu.h
+++ b/src/translator_hu.h
@@ -936,7 +936,7 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
"\\endcode\n"
"Ha a konfigurációs fájl \\c MAX_DOT_GRAPH_HEIGHT elemének értékét "
"200-ra állítjuk, az eredmény a következõ ábra lesz:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"Az ábrán levõ dobozok jelentése:\n"
"<ul>\n"
diff --git a/src/translator_it.h b/src/translator_it.h
index f3ed770..3d49e6a 100644
--- a/src/translator_it.h
+++ b/src/translator_it.h
@@ -1060,7 +1060,7 @@ class TranslatorItalian : public Translator
"\\endcode\n"
"Se il tag \\c MAX_DOT_GRAPH_HEIGHT nel file di configurazione "
"è impostato a 200 verrà prodotto il grafo seguente:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"I riquadri nel grafo qui sopra hanno il seguente significato:\n"
"<ul>\n"
diff --git a/src/translator_jp.h b/src/translator_jp.h
index f3f028b..8f8df91 100644
--- a/src/translator_jp.h
+++ b/src/translator_jp.h
@@ -1010,7 +1010,7 @@ class TranslatorJapanese : public Translator
"\\endcode\n"
"ÀßÄê¥Õ¥¡¥¤¥ëÃæ¤Ç¡¢¥¿¥° \\c MAX_DOT_GRAPH_HEIGHT ¤¬ 200 ¤Ë¥»¥Ã¥È¤µ¤ì¤¿"
"¾ì¹ç¡¢¼¡¤Î¤è¤¦¤Ê¥°¥é¥Õ¤È¤Ê¤ê¤Þ¤¹¡£"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"¾å¤Î¥°¥é¥ÕÆâ¤Î¥Ü¥Ã¥¯¥¹¤Ë¤Ï¼¡¤Î¤è¤¦¤Ê°ÕÌ£¤¬¤¢¤ê¤Þ¤¹¡£\n"
"<ul>\n"
diff --git a/src/translator_kr.h b/src/translator_kr.h
index 98317d7..5d6d9eb 100644
--- a/src/translator_kr.h
+++ b/src/translator_kr.h
@@ -1010,7 +1010,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
"\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 240 this will result in the following graph:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"The boxes in the above graph have the following meaning:\n"
"<ul>\n"
diff --git a/src/translator_nl.h b/src/translator_nl.h
index 147664c..631ed08 100644
--- a/src/translator_nl.h
+++ b/src/translator_nl.h
@@ -685,7 +685,7 @@ class TranslatorDutch : public Translator
"\\endcode\n"
"Als de \\c MAX_DOT_GRAPH_HEIGHT tag in the configuratie file "
"op 200 gezet is, zal het bestaande voorbeeld resulteren in de volgende graaf:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"De rechthoeken in the bovenstaande graaf hebben de volgende betekenis:\n"
"<ul>\n"
diff --git a/src/translator_no.h b/src/translator_no.h
index f888517..65a829c 100644
--- a/src/translator_no.h
+++ b/src/translator_no.h
@@ -742,7 +742,7 @@ class TranslatorNorwegian : public TranslatorAdapter_1_2_2
"\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 200 this will result in the following graph:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"The boxes in the above graph have the following meaning:\n"
"<ul>\n"
diff --git a/src/translator_pl.h b/src/translator_pl.h
index ba2fa49..bee4553 100644
--- a/src/translator_pl.h
+++ b/src/translator_pl.h
@@ -938,7 +938,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_1
"\\endcode\n"
"Je¶li znacznik \\c MAX_DOT_GRAPH_HEIGHT w pliku konfiguracji "
"jest ustawiony na 200, odniesie to rezultat w nastêpuj±cym wykresie:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"Pude³ka w powy¿szym wykresie maj± nastêpuj±ce znaczenie:\n"
"<ul>\n"
diff --git a/src/translator_pt.h b/src/translator_pt.h
index 6d73bbd..bc32c8a 100644
--- a/src/translator_pt.h
+++ b/src/translator_pt.h
@@ -1051,7 +1051,7 @@ class TranslatorPortuguese : public Translator
"\\endcode\n"
"Se no ficheiro de configuração estiver a tag \\c MAX_DOT_GRAPH_HEIGHT "
"com o valor de 200 então o seguinte grafo será gerado:"
- "<p><center><img src=\"graph_legend.gif\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"As caixas no grafo anterior têm as seguintes interpretações:\n"
"<ul>\n"
diff --git a/src/translator_ro.h b/src/translator_ro.h
index 818cda9..3383e0d 100644
--- a/src/translator_ro.h
+++ b/src/translator_ro.h
@@ -24,17 +24,25 @@
*
* If you have suggestions, please mail the comments and text proposals to the address
* shown aprox.10 lines above
+ *
+ * -------------------------------------------
+ * Project start : 20.Sep.2k
+ * Last Doxygen version covered : 1.2.14
+ * Last revision : 07.Mar.2k2
+ * -------------------------------------------
+ *
+ * Revision history
+ * ----------------
+ * 20.Sep.2k First version, covering Doxygen 1.2.1
*
- * Project start:
- * --------------
- * 20.Sep.2k
+ * 07.Mar.2k2 Second revision, covering Doxygen 1.2.14
+ * - fixed some bugs
*/
#ifndef TRANSLATOR_RO_H
#define TRANSLATOR_RO_H
-#include "translator_adapter.h"
-class TranslatorRomanian: public TranslatorAdapter_1_2_1
+class TranslatorRomanian: public Translator
{
public:
@@ -49,18 +57,24 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
*/
virtual QCString idLanguage()
{ return "romanian"; }
- /*! Used to get the command(s) for the language support. This method
- * was designed for languages which do not prefer babel package.
- * If this methods returns empty string, then the latexBabelPackage()
- * method is used to generate the command for using the babel package.
+ /*! Used to get the LaTeX command(s) for the language support.
+ * This method should return string with commands that switch
+ * LaTeX to the desired language. For example
+ * <pre>"\\usepackage[german]{babel}\n"
+ * </pre>
+ * or
+ * <pre>"\\usepackage{polski}\n"
+ * "\\usepackage[latin2]{inputenc}\n"
+ * "\\usepackage[T1]{fontenc}\n"
+ * </pre>
+ *
+ * The English LaTeX does not use such commands. Because of this
+ * the empty string is returned in this implementation.
*/
virtual QCString latexLanguageSupportCommand()
{
return "\\usepackage{romanian}\n";
}
- /*! returns the name of the package that is included by LaTeX */
- virtual QCString latexBabelPackage()
- { return "romanian"; }
/*! return the language charset. This will be used for the HTML output */
virtual QCString idLanguageCharset()
@@ -96,7 +110,17 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
/*! header that is put before the list of member attributes. */
virtual QCString trMemberDataDocumentation()
- { return "Documentaþia Datelor membre"; }
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Documentaþia Câmpurilor";
+ }
+ else
+ {
+ return "Documentaþia Datelor membre";
+ }
+
+ }
/*! this is the text of a link put after brief descriptions. */
virtual QCString trMore()
@@ -140,12 +164,6 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
virtual QCString trDefinedIn()
{ return "definit în"; }
- /*! put as in introduction in the verbatim header file of a class.
- * parameter f is the name of the include file.
- */
- virtual QCString trVerbatimText(const char *f)
- { return (QCString)"Acesta este textul original al fiºierului inclus "+f; }
-
// quick reference sections
/*! This is put above each page as a link to the list of all groups of
@@ -160,7 +178,17 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
/*! This is put above each page as a link to the list of annotated classes */
virtual QCString trCompoundList()
- { return "Lista Componenþilor"; }
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Structuri de Date";
+ }
+ else
+ {
+ return "Lista Membrilor Componenþi";
+ }
+
+ }
/*! This is put above each page as a link to the list of documented files */
virtual QCString trFileList()
@@ -172,11 +200,31 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
/*! This is put above each page as a link to all members of compounds. */
virtual QCString trCompoundMembers()
- { return "Membrii Componenþi"; }//cu articol hotarat
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Câmpurile de Date";
+ }
+ else
+ {
+ return "Membrii Componenþi"; //cu articol hotarat
+ }
+
+ }
/*! This is put above each page as a link to all members of files. */
virtual QCString trFileMembers()
- { return "Membrii din Fiºier"; }//cu articol hotarat
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Globale";
+ }
+ else
+ {
+ return "Membrii din Fiºier"; //cu articol hotarat
+ }
+
+ }
/*! This is put above each page as a link to all related pages. */
virtual QCString trRelatedPages()
@@ -192,14 +240,14 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
/*! This is an introduction to the class hierarchy. */
virtual QCString trClassHierarchyDescription()
- { return "Aceastã listã de legãturi este sortatã în mare, "
+ { return "Aceastã listã de legãturi este sortatã în general, "
"dar nu complet, în ordine alfabeticã:";
}
/*! This is an introduction to the list with all files. */
virtual QCString trFileListDescription(bool extractAll)
{
- QCString result="Aici este lista tuturor ";
+ QCString result="Aceasta este lista tuturor ";
result+="fiºierelor";
if (!extractAll) result+=" documentate";
result+=", cu scurte descrieri:";
@@ -208,54 +256,102 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
/*! This is an introduction to the annotated compound list. */
virtual QCString trCompoundListDescription()
- { return "Aici sunt clasele, structurile, uniunile ºi interfeþele"
- ", cu scurte descrieri";
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Acestea sunt structurile de date, cu scurte descrieri:";
+ }
+ else
+ {
+ return "Acestea sunt clasele, structurile, uniunile ºi interfeþele"
+ ", cu scurte descrieri:";
+ }
+
}
/*! This is an introduction to the page with all class members. */
virtual QCString trCompoundMembersDescription(bool extractAll)
{
- QCString result="Aici este lista tuturor ";
- result+="membrilor ";
+ QCString result="Aceasta este lista tuturor ";
+
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ result+="câmpurilor ";
+ if (!extractAll) result+=" documentate ";
+ result+="din structuri si uniuni ";
+ }
+ else
+ {
+ result+="membrilor ";
if (!extractAll) result+="documentaþi ";
- result+="din toate clasele, cu legãturi cãtre ";
-
+ result+="din toate clasele ";
+ }
+ result+=", cu legãturi cãtre ";
if (extractAll)
- result+="documentaþia clasei pentru fiecare membru în parte:";
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ result+="documentaþia structurii/uniunii pentru fiecare câmp în parte:";
+ }
+ else
+ {
+ result+="documentaþia clasei pentru fiecare membru în parte:";
+ }
+ }
else
- result+="clasele de care aparþin:";
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ result+="structurile/uniunile de care aparþin:";
+ }
+ else
+ {
+ result+="clasele de care aparþin:";
+ }
+ }
+
return result;
}
/*! This is an introduction to the page with all file members. */
virtual QCString trFileMembersDescription(bool extractAll)
{
- QCString result="Aici este lista tuturor ";
- result+="membrilor ";
+ QCString result="Aceasta este lista tuturor ";
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ result+="funcþiilor, variabilelor, define-urilor, enum-urilor ºi typedef-urilor";
+ if (!extractAll) result+=" documentate";
+ }
+ else
+ {
+ result+="membrilor ";
if (!extractAll) result+="documentaþi ";
- result+="din toate fiºierele, cu legãturi cãtre ";
+ result+="din toate fiºierele";
+ }
+ result+=", cu legãturi cãtre ";
if (extractAll)
- result+="documentaþia fiºierului pentru fiecare membru în parte:";
- else
result+="fiºierele de care aparþin:";
+ else
+ result+="documentaþia aferentã:";
+
return result;
}
/*! This is an introduction to the page with the list of all header files. */
virtual QCString trHeaderFilesDescription()
- { return "Aici sunt fiºierele Header care fac parte din API:"; }
+ { return "Aceastea sunt fiºierele Header care fac parte din API:"; }
/*! This is an introduction to the page with the list of all examples */
virtual QCString trExamplesDescription()
- { return "Aici este lista tuturor exemplelor:"; }
+ { return "Aceasta este lista tuturor exemplelor:"; }
/*! This is an introduction to the page with the list of related pages */
virtual QCString trRelatedPagesDescription()
- { return "Aici este lista tuturor documentaþiilor înrudite:"; }
+ { return "Aceasta este lista tuturor documentaþiilor înrudite:"; }
/*! This is an introduction to the page with the list of class/file groups */
virtual QCString trModulesDescription()
- { return "Aici este lista tuturor modulelor:"; }
+ { return "Aceasta este lista tuturor modulelor:"; }
/*! This sentences is used in the annotated class/file lists if no brief
* description is given.
@@ -286,7 +382,17 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
* annotated compound index.
*/
virtual QCString trCompoundIndex()
- { return "Indexul Componenþilor"; }
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Indexul Structurilor de Date";
+ }
+ else
+ {
+ return "Indexul Componenþilor";
+ }
+
+ }
/*! This is used in LaTeX as the title of the chapter with the
* list of all files.
@@ -304,7 +410,17 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
* the documentation of all classes, structs and unions.
*/
virtual QCString trClassDocumentation()
- { return "Documentaþia Claselor"; }
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Documentaþia Structurilor de Date";
+ }
+ else
+ {
+ return "Documentaþia Claselor";
+ }
+
+ }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all files.
@@ -370,10 +486,6 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
virtual QCString trEnumerationValues()
{ return "Valori enum"; }
- /*! This is used in man pages as the author section. */
- virtual QCString trAuthor()
- { return "Autor"; }
-
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
*/
@@ -420,20 +532,24 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
* the list of links to documented compounds
*/
virtual QCString trCompounds()
- { return "Membri"; }
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Structuri de Date";
+ }
+ else
+ {
+ return "Membri";
+ }
- /*! This is used in the documentation of a group before the list of
- * links to documented files
- */
- virtual QCString trFiles()
- { return "Fiºiere"; }
+ }
/*! This is used in the standard footer of each page and indicates when
* the page was generated
*/
virtual QCString trGeneratedAt(const char *date,const char *projName)
{
- QCString result=(QCString)"Generat la "+date;
+ QCString result=(QCString)"Generat "+date;
if (projName) result+=(QCString)" pentru "+projName;
result+=(QCString)" de cãtre";
return result;
@@ -475,10 +591,6 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
virtual QCString trDate()
{ return "Data"; }
- /*! this text is generated when the \\author command is used. */
- virtual QCString trAuthors()
- { return "Autorul/Autorii"; }
-
/*! this text is generated when the \\return command is used. */
virtual QCString trReturns()
{ return "Întoarce"; }
@@ -508,7 +620,7 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
/*! used as an introduction to the namespace list */
virtual QCString trNamespaceListDescription(bool extractAll)
{
- QCString result="Aici este lista tuturor ";
+ QCString result="Aceasta este lista tuturor ";
result+="namespace-urilor ";
if (!extractAll) result+="documentate ";
result+=", cu scurte descrieri:";
@@ -657,7 +769,7 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
/*! This is an introduction to the page with all namespace members */
virtual QCString trNamespaceMemberDescription(bool extractAll)
{
- QCString result="Aici este lista tuturor membrilor ";
+ QCString result="Aceasta este lista tuturor membrilor ";
if (!extractAll) result+="documentaþi ";
result+="din toate namespace-urile, cu legãturi cãtre ";
@@ -850,7 +962,15 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
}
virtual QCString trPublicAttribs()
{
- return "Atribute Publice";
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Câmpuri de Date";
+ }
+ else
+ {
+ return "Atribute Publice";
+ }
+
}
virtual QCString trStaticPublicAttribs()
{
@@ -965,7 +1085,7 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
"\\endcode\n"
"Dacã tagul \\c MAX_DOT_GRAPH_HEIGHT din fiºierul de configuraþie "
"Este setat la 200 acesta este graful rezultat:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"Cãsuþele din partea de sus au urmãtoarea semnificaþie:\n"
"<ul>\n"
@@ -1009,6 +1129,279 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
return "Listã de teste";
}
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.1
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a section header for KDE-2 IDL methods */
+ virtual QCString trDCOPMethods()
+ {
+ return "Metode DCOP";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.2
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a section header for IDL properties */
+ virtual QCString trProperties()
+ {
+ return "Proprietãþi";
+ }
+ /*! Used as a section header for IDL property documentation */
+ virtual QCString trPropertyDocumentation()
+ {
+ return "Documentaþia Proprietãþilor";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.4
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used for Java interfaces in the summary section of Java packages */
+ virtual QCString trInterfaces()
+ {
+ return "Interfeþe";
+ }
+ /*! Used for Java classes in the summary section of Java packages */
+ virtual QCString trClasses()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Structuri de Date";
+ }
+ else
+ {
+ return "Clase";
+ }
+ }
+ /*! Used as the title of a Java package */
+ virtual QCString trPackage(const char *name)
+ {
+ return (QCString)"Pachet "+name;
+ }
+ /*! Title of the package index page */
+ virtual QCString trPackageList()
+ {
+ return "Lista Pachetelor";
+ }
+ /*! The description of the package index page */
+ virtual QCString trPackageListDescription()
+ {
+ return "Acestea sunt pachetele, însoþite, acolo unde este cazul, de scurte descrieri:";
+ }
+ /*! The link name in the Quick links header for each page */
+ virtual QCString trPackages()
+ {
+ return "Pachete";
+ }
+ /*! Used as a chapter title for Latex & RTF output */
+ virtual QCString trPackageDocumentation()
+ {
+ return "Documentaþia Pachetelor";
+ }
+ /*! Text shown before a multi-line define */
+ virtual QCString trDefineValue()
+ {
+ return "Valoare:";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.5
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a marker that is put before a \\bug item */
+ virtual QCString trBug()
+ {
+ return "Bug";
+ }
+ /*! Used as the header of the bug list */
+ virtual QCString trBugList()
+ {
+ return "Lista de Buguri";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.6
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as ansicpg for RTF file
+ *
+ * The following table shows the correlation of Charset name, Charset Value and
+ * <pre>
+ * Codepage number:
+ * Charset Name Charset Value(hex) Codepage number
+ * ------------------------------------------------------
+ * DEFAULT_CHARSET 1 (x01)
+ * SYMBOL_CHARSET 2 (x02)
+ * OEM_CHARSET 255 (xFF)
+ * ANSI_CHARSET 0 (x00) 1252
+ * RUSSIAN_CHARSET 204 (xCC) 1251
+ * EE_CHARSET 238 (xEE) 1250
+ * GREEK_CHARSET 161 (xA1) 1253
+ * TURKISH_CHARSET 162 (xA2) 1254
+ * BALTIC_CHARSET 186 (xBA) 1257
+ * HEBREW_CHARSET 177 (xB1) 1255
+ * ARABIC _CHARSET 178 (xB2) 1256
+ * SHIFTJIS_CHARSET 128 (x80) 932
+ * HANGEUL_CHARSET 129 (x81) 949
+ * GB2313_CHARSET 134 (x86) 936
+ * CHINESEBIG5_CHARSET 136 (x88) 950
+ * </pre>
+ *
+ */
+ virtual QCString trRTFansicp()
+ {
+ return "1250"; //EASTEUROPE_CHARSET [don't know if this is correct:Ro has a 0x418 index in that file]
+ }
+
+
+ /*! Used as ansicpg for RTF fcharset
+ * \see trRTFansicp() for a table of possible values.
+ */
+ virtual QCString trRTFCharSet()
+ {
+ return "0x418"; // well, I could not find a decent doc about this one - I think Ro code is 0x418
+ }
+
+ /*! Used as header RTF general index */
+ virtual QCString trRTFGeneralIndex()
+ {
+ return "Index";
+ }
+
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trClass(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Clas" : "clas"));
+ result+= singular ? "a":"ele";
+ return result;
+ }
+
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trFile(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Fiºier" : "fiºier"));
+ result+= singular ? "ul":"ele";
+ return result;
+ }
+
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trNamespace(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Namespace" : "namespace"));
+ result+= singular ? "-ul":"-urile";
+ return result;
+ }
+
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trGroup(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Grupu" : "grupu"));
+ result+= singular ? "l":"rile";
+ return result;
+ }
+
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trPage(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Pagin" : "pagin"));
+ result+= singular ? "a":"ile";
+ return result;
+ }
+
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trMember(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Membr" : "membr"));
+ result+= singular ? "ul":"ii";
+ return result;
+ }
+
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trField(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Câmp" : "câmp"));
+ result+= singular ? "ul":"urile";
+ return result;
+ }
+
+ /*! This is used for translation of the word that will possibly
+ * be followed by a single name or by a list of names
+ * of the category.
+ */
+ virtual QCString trGlobal(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Global" : "global"));
+ if (!singular) result+="e";
+ return result;
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.7
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This text is generated when the \\author command is used and
+ * for the author section in man pages. */
+ virtual QCString trAuthor(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Autor" : "autor"));
+ result+= singular ? "ul":"ii";
+ return result;
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.11
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This text is put before the list of members referenced by a member
+ */
+ virtual QCString trReferences()
+ {
+ return "Referinþe";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.13
+//////////////////////////////////////////////////////////////////////////
+
+ /*! used in member documentation blocks to produce a list of
+ * members that are implemented by this one.
+ */
+ virtual QCString trImplementedFromList(int numEntries)
+ {
+ return "Implementeazã "+trWriteList(numEntries)+".";
+ }
+
+ /*! used in member documentation blocks to produce a list of
+ * all members that implement this abstract member.
+ */
+ virtual QCString trImplementedInList(int numEntries)
+ {
+ return "Implementat în "+trWriteList(numEntries)+".";
+ }
+
};
#endif
diff --git a/src/translator_ru.h b/src/translator_ru.h
index 61b3fbc..e9f330a 100644
--- a/src/translator_ru.h
+++ b/src/translator_ru.h
@@ -1095,7 +1095,7 @@ class TranslatorRussian : public Translator
"\\endcode\n"
"åÓÌÉ \\c MAX_DOT_GRAPH_HEIGHT × ËÏÎÆÉÇÕÒÁÃÉÏÎÎÏÍ ÆÁÊÌÅ "
"ÕÓÔÁÎÏ×ÌÅÎ × 240, ÐÏÌÕÞÉÔÓÑ ÓÌÅÄÕÀÝÉÊ ÇÒÁÆ:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"ðÒÑÍÏÕÇÏÌØÎÉËÉ × ÜÔÏÍ ÇÒÁÆÅ ÉÍÅÀÔ ÓÌÅÄÕÀÝÅÅ ÚÎÁÞÅÎÉÅ:\n"
"<ul>\n"
diff --git a/src/translator_si.h b/src/translator_si.h
index 0193266..9e7ccdf 100644
--- a/src/translator_si.h
+++ b/src/translator_si.h
@@ -694,7 +694,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_13
"\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 200 this will result in the following graph:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"The boxes in the above graph have the following meaning:\n"
"<ul>\n"
diff --git a/src/translator_sk.h b/src/translator_sk.h
index 6b5e949..3092514 100644
--- a/src/translator_sk.h
+++ b/src/translator_sk.h
@@ -1069,7 +1069,7 @@ class TranslatorSlovak : public TranslatorAdapter_1_2_13
"\\endcode\n"
"Pokia¾ je položka \\c MAX_DOT_GRAPH_HEIGHT konfiguraèného súboru "
"nastavená na hodnotu 200, bude vygenerovaný nasledujúci graf:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"Bloky (tj. uzly) v uvedenom grafe majú nasledujúci význam:\n"
"<ul>\n"
diff --git a/src/translator_ua.h b/src/translator_ua.h
index 58009ae..77421eb 100644
--- a/src/translator_ua.h
+++ b/src/translator_ua.h
@@ -1060,7 +1060,7 @@ class TranslatorUkrainian : public TranslatorAdapter_1_2_11
"\\endcode\n"
"ñËÝÏ \\c MAX_DOT_GRAPH_HEIGHT × ËÏÎƦÇÕÒÁæÊÎÏÍÕ ÆÁÊ̦ "
"ÕÓÔÁÎÏ×ÌÅÎÅ ÎÁ 200, ÏÔÒÉÍÁ¤ÍÏ ÎÁÓÔÕÐÎÉÊ ÇÒÁÆ:"
- "<p><center><img src=\"graph_legend.png\"></center>\n"
+ "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
"ðÒÑÍÏËÕÔÎÉËÉ × ÃØÏÍÕ ÇÒÁƦ ÍÁÀÔØ ÎÁÓÔÕÐÎÉÊ ÚͦÓÔ:\n"
"<ul>\n"
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index c5b1fb0..ad3cd72 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -119,13 +119,13 @@ template<class T> class ValStack
public:
ValStack() : m_values(10), m_sp(0), m_size(10) {}
virtual ~ValStack() {}
- ValStack(const ValStack &s)
+ ValStack(const ValStack<T> &s)
{
m_values=s.m_values.copy();
m_sp=s.m_sp;
m_size=s.m_size;
}
- ValStack &operator=(const ValStack &s)
+ ValStack &operator=(const ValStack<T> &s)
{
m_values=s.m_values.copy();
m_sp=s.m_sp;
@@ -981,9 +981,8 @@ static void writeMemberReference(QTextStream &t,Definition *def,MemberDef *rmd,c
t << rmd->getBodyDef()->getOutputFileBase()
<< "_1" // encoded `:' character (see util.cpp:convertNameToFile)
<< rmd->anchor()
- << "\">";
- writeXMLString(t,name);
- t << "</" << tagName << ">" << endl;
+ << "\">" << convertToXML(name) << "</"
+ << tagName << ">" << endl;
}
else if (rmd->isLinkable() && d && d->isLinkable())
// link to declaration in documentation (in absense of a definition)
@@ -992,9 +991,8 @@ static void writeMemberReference(QTextStream &t,Definition *def,MemberDef *rmd,c
t << d->getOutputFileBase()
<< "_1" // encoded `:' character (see util.cpp:convertNameToFile)
<< rmd->anchor()
- << "\">";
- writeXMLString(t,name);
- t << "</" << tagName << ">" << endl;
+ << "\">" << convertToXML(name)
+ << "</" << tagName << ">" << endl;
}
}
@@ -1017,7 +1015,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
if (md->memberType()==MemberDef::EnumValue) return;
ti << " <member id=\"" << md->getOutputFileBase()
- << "_1" << md->anchor() << "\">" << md->name() << "</member>" << endl;
+ << "_1" << md->anchor() << "\">" << convertToXML(md->name()) << "</member>" << endl;
QCString scopeName;
if (md->getClassDef())
@@ -1087,16 +1085,13 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
t << "</type>" << endl;
}
- t << " <name>";
- writeXMLString(t,md->name());
-
- t << "</name>" << endl;
+ t << " <name>" << convertToXML(md->name()) << "</name>" << endl;
MemberDef *rmd = md->reimplements();
if (rmd)
{
t << " <reimplements id=\""
<< rmd->getOutputFileBase() << "_1" << rmd->anchor() << "\">"
- << rmd->name() << "</reimplements>";
+ << convertToXML(rmd->name()) << "</reimplements>";
}
MemberList *rbml = md->reimplementedBy();
if (rbml)
@@ -1106,7 +1101,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
{
t << " <reimplementedby id=\""
<< rmd->getOutputFileBase() << "_1" << rmd->anchor() << "\">"
- << rmd->name() << "</reimplementedby>";
+ << convertToXML(rmd->name()) << "</reimplementedby>";
}
}
@@ -1346,8 +1341,8 @@ static void writeListOfAllMembers(ClassDef *cd,QTextStream &t)
{
t << " ambiguityscope=\"" << mi->ambiguityResolutionScope << "\"";
}
- t << "><scope>" << cd->name() << "</scope><name>" <<
- md->name() << "</name></member>" << endl;
+ t << "><scope>" << convertToXML(cd->name()) << "</scope><name>" <<
+ convertToXML(md->name()) << "</name></member>" << endl;
}
}
t << " </listofallmembers>" << endl;
@@ -1376,7 +1371,7 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
if (cd->templateMaster()!=0) return; // skip generated template instances.
ti << " <compound id=\"" << cd->getOutputFileBase()
- << "\"><name>" << cd->name() << "</name>" << endl;
+ << "\"><name>" << convertToXML(cd->name()) << "</name>" << endl;
QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY");
QCString fileName=outputDirectory+"/xml/"+cd->getOutputFileBase()+".xml";
@@ -1540,7 +1535,7 @@ static void generateXMLForNamespace(NamespaceDef *nd,QTextStream &ti)
if (nd->isReference()) return; // skip external references
ti << " <compound id=\"" << nd->getOutputFileBase()
- << "\"><name>" << nd->name() << "</name>" << endl;
+ << "\"><name>" << convertToXML(nd->name()) << "</name>" << endl;
QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY");
QCString fileName=outputDirectory+"/xml/"+nd->getOutputFileBase()+".xml";
@@ -1630,7 +1625,7 @@ static void generateXMLForFile(FileDef *fd,QTextStream &ti)
if (fd->isReference()) return; // skip external references
ti << " <compound id=\"" << fd->getOutputFileBase()
- << "\"><name>" << fd->name() << "</name>" << endl;
+ << "\"><name>" << convertToXML(fd->name()) << "</name>" << endl;
QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY");
QCString fileName=outputDirectory+"/xml/"+fd->getOutputFileBase()+".xml";
@@ -1763,7 +1758,7 @@ static void generateXMLForGroup(GroupDef *gd,QTextStream &ti)
if (gd->isReference()) return; // skip external references
ti << " <compound id=\"" << gd->getOutputFileBase()
- << "\"><name>" << gd->name() << "</name>" << endl;
+ << "\"><name>" << convertToXML(gd->name()) << "</name>" << endl;
QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY");
QCString fileName=outputDirectory+"/xml/"+gd->getOutputFileBase()+".xml";
@@ -1862,7 +1857,7 @@ static void generateXMLForPage(PageInfo *pi,QTextStream &ti)
if (pi->isReference()) return;
ti << " <compound id=\"" << pi->getOutputFileBase()
- << "\"><name>" << pi->name << "</name>" << endl;
+ << "\"><name>" << convertToXML(pi->name) << "</name>" << endl;
QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY");
QCString fileName=outputDirectory+"/xml/"+pi->getOutputFileBase()+".xml";
@@ -1879,7 +1874,7 @@ static void generateXMLForPage(PageInfo *pi,QTextStream &ti)
t << " <compounddef id=\"";
if (Config_getBool("CASE_SENSE_NAMES")) t << pi->name; else t << pi->name.lower();
t << "\" kind=\"page\">" << endl;
- t << " <compoundname>" << pi->name << "</compoundname>" << endl;
+ t << " <compoundname>" << convertToXML(pi->name) << "</compoundname>" << endl;
SectionInfo *si = Doxygen::sectionDict.find(pi->name);
if (si)
{