Commit 40c0613d authored by Dimitri van Heesch's avatar Dimitri van Heesch

Release-1.2.14-20020317

parent 7ad88d9c
DOXYGEN Version 1.2.14-20020310 DOXYGEN Version 1.2.14-20020317
Please read the installation section of the manual for instructions. Please read the installation section of the manual for instructions.
-------- --------
Dimitri van Heesch (10 March 2002) Dimitri van Heesch (17 March 2002)
DOXYGEN Version 1.2.14_20020310 DOXYGEN Version 1.2.14_20020317
Please read INSTALL for compilation instructions. Please read INSTALL for compilation instructions.
...@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives. ...@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy, Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (10 March 2002) Dimitri van Heesch (dimitri@stack.nl) (17 March 2002)
1.2.14-20020310 1.2.14-20020317
...@@ -138,7 +138,7 @@ void DumpDoc(IDoc *doc) ...@@ -138,7 +138,7 @@ void DumpDoc(IDoc *doc)
break; break;
case IDoc::SimpleSect: case IDoc::SimpleSect:
{ {
IDocSimpleSect *ss = dynamic_cast<IDocSimpleSect*>(ss); IDocSimpleSect *ss = dynamic_cast<IDocSimpleSect*>(doc);
ASSERT(ss!=0); ASSERT(ss!=0);
} }
break; break;
...@@ -188,91 +188,91 @@ void DumpDoc(IDoc *doc) ...@@ -188,91 +188,91 @@ void DumpDoc(IDoc *doc)
break; break;
case IDoc::HRuler: case IDoc::HRuler:
{ {
IDocHRuler *hr = dynamic_cast<IDocHRuler*>(hr); IDocHRuler *hr = dynamic_cast<IDocHRuler*>(doc);
ASSERT(hr!=0); ASSERT(hr!=0);
} }
break; break;
case IDoc::LineBreak: case IDoc::LineBreak:
{ {
IDocLineBreak *lb = dynamic_cast<IDocLineBreak*>(lb); IDocLineBreak *lb = dynamic_cast<IDocLineBreak*>(doc);
ASSERT(lb!=0); ASSERT(lb!=0);
} }
break; break;
case IDoc::ULink: case IDoc::ULink:
{ {
IDocULink *ul = dynamic_cast<IDocULink*>(ul); IDocULink *ul = dynamic_cast<IDocULink*>(doc);
ASSERT(ul!=0); ASSERT(ul!=0);
} }
break; break;
case IDoc::EMail: case IDoc::EMail:
{ {
IDocEMail *em = dynamic_cast<IDocEMail*>(em); IDocEMail *em = dynamic_cast<IDocEMail*>(doc);
ASSERT(em!=0); ASSERT(em!=0);
} }
break; break;
case IDoc::Link: case IDoc::Link:
{ {
IDocLink *lk = dynamic_cast<IDocLink*>(lk); IDocLink *lk = dynamic_cast<IDocLink*>(doc);
ASSERT(lk!=0); ASSERT(lk!=0);
} }
break; break;
case IDoc::ProgramListing: case IDoc::ProgramListing:
{ {
IDocProgramListing *pl = dynamic_cast<IDocProgramListing*>(pl); IDocProgramListing *pl = dynamic_cast<IDocProgramListing*>(doc);
ASSERT(pl!=0); ASSERT(pl!=0);
} }
break; break;
case IDoc::CodeLine: case IDoc::CodeLine:
{ {
IDocCodeLine *cl = dynamic_cast<IDocCodeLine*>(cl); IDocCodeLine *cl = dynamic_cast<IDocCodeLine*>(doc);
ASSERT(cl!=0); ASSERT(cl!=0);
} }
break; break;
case IDoc::Highlight: case IDoc::Highlight:
{ {
IDocHighlight *hl = dynamic_cast<IDocHighlight*>(hl); IDocHighlight *hl = dynamic_cast<IDocHighlight*>(doc);
ASSERT(hl!=0); ASSERT(hl!=0);
} }
break; break;
case IDoc::Formula: case IDoc::Formula:
{ {
IDocFormula *fm = dynamic_cast<IDocFormula*>(fm); IDocFormula *fm = dynamic_cast<IDocFormula*>(doc);
ASSERT(fm!=0); ASSERT(fm!=0);
} }
break; break;
case IDoc::Image: case IDoc::Image:
{ {
IDocImage *img = dynamic_cast<IDocImage*>(img); IDocImage *img = dynamic_cast<IDocImage*>(doc);
ASSERT(img!=0); ASSERT(img!=0);
} }
break; break;
case IDoc::DotFile: case IDoc::DotFile:
{ {
IDocDotFile *df = dynamic_cast<IDocDotFile*>(df); IDocDotFile *df = dynamic_cast<IDocDotFile*>(doc);
ASSERT(df!=0); ASSERT(df!=0);
} }
break; break;
case IDoc::IndexEntry: case IDoc::IndexEntry:
{ {
IDocIndexEntry *ie = dynamic_cast<IDocIndexEntry*>(ie); IDocIndexEntry *ie = dynamic_cast<IDocIndexEntry*>(doc);
ASSERT(ie!=0); ASSERT(ie!=0);
} }
break; break;
case IDoc::Table: case IDoc::Table:
{ {
IDocTable *tbl = dynamic_cast<IDocTable*>(tbl); IDocTable *tbl = dynamic_cast<IDocTable*>(doc);
ASSERT(tbl!=0); ASSERT(tbl!=0);
} }
break; break;
case IDoc::Row: case IDoc::Row:
{ {
IDocRow *row = dynamic_cast<IDocRow*>(row); IDocRow *row = dynamic_cast<IDocRow*>(doc);
ASSERT(row!=0); ASSERT(row!=0);
} }
break; break;
case IDoc::Entry: case IDoc::Entry:
{ {
IDocEntry *ent = dynamic_cast<IDocEntry*>(ent); IDocEntry *ent = dynamic_cast<IDocEntry*>(doc);
ASSERT(ent!=0); ASSERT(ent!=0);
} }
break; break;
......
...@@ -143,9 +143,11 @@ followed by the descriptions of the tags grouped by category. ...@@ -143,9 +143,11 @@ followed by the descriptions of the tags grouped by category.
<li> \refitem cfg_internal_docs INTERNAL_DOCS <li> \refitem cfg_internal_docs INTERNAL_DOCS
<li> \refitem cfg_javadoc_autobrief JAVADOC_AUTOBRIEF <li> \refitem cfg_javadoc_autobrief JAVADOC_AUTOBRIEF
<li> \refitem cfg_latex_batchmode LATEX_BATCHMODE <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_header LATEX_HEADER
<li> \refitem cfg_latex_output LATEX_OUTPUT <li> \refitem cfg_latex_output LATEX_OUTPUT
<li> \refitem cfg_macro_expansion MACRO_EXPANSION <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_extension MAN_EXTENSION
<li> \refitem cfg_man_links MAN_LINKS <li> \refitem cfg_man_links MAN_LINKS
<li> \refitem cfg_man_output MAN_OUTPUT <li> \refitem cfg_man_output MAN_OUTPUT
...@@ -904,6 +906,19 @@ followed by the descriptions of the tags grouped by category. ...@@ -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 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. 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 \anchor cfg_compact_latex
<dt>\c COMPACT_LATEX <dd> <dt>\c COMPACT_LATEX <dd>
\addindex COMPACT_LATEX \addindex COMPACT_LATEX
......
...@@ -25,7 +25,7 @@ Doxygen has built-in support for multiple languages. This means ...@@ -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 that the text fragments that doxygen generates can be produced in
languages other than English (the default) at configuration time. 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): are supported (sorted alphabetically):
Brazilian Portuguese, Chinese, Croatian, Czech, Danish, Brazilian Portuguese, Chinese, Croatian, Czech, Danish,
Dutch, English, Finnish, French, German, Dutch, English, Finnish, French, German,
...@@ -162,7 +162,7 @@ when the translator was updated. ...@@ -162,7 +162,7 @@ when the translator was updated.
<TD>Romanian</TD> <TD>Romanian</TD>
<TD>Alexandru Iosup</TD> <TD>Alexandru Iosup</TD>
<TD>aiosup@NOSPAM.yahoo.com</TD> <TD>aiosup@NOSPAM.yahoo.com</TD>
<TD>1.2.1</TD> <TD>up-to-date</TD>
</TR> </TR>
<TR BGCOLOR="#ffffff"> <TR BGCOLOR="#ffffff">
<TD>Russian</TD> <TD>Russian</TD>
...@@ -251,7 +251,7 @@ when the translator was updated. ...@@ -251,7 +251,7 @@ when the translator was updated.
\hline \hline
Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} & up-to-date \\ Portuguese & Rui Godinho Lopes & {\tt ruiglopes@yahoo.com} & up-to-date \\
\hline \hline
Romanian & Alexandru Iosup & {\tt aiosup@yahoo.com} & 1.2.1 \\ Romanian & Alexandru Iosup & {\tt aiosup@yahoo.com} & up-to-date \\
\hline \hline
Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} & up-to-date \\ Russian & Alexandr Chelpanov & {\tt cav@cryptopro.ru} & up-to-date \\
\hline \hline
......
Summary: A documentation system for C/C++. Summary: A documentation system for C/C++.
Name: doxygen Name: doxygen
Version: 1.2.14_20020310 Version: 1.2.14_20020317
Release: 1 Release: 1
Epoch: 1 Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
......
...@@ -335,6 +335,7 @@ static void startCodeLine() ...@@ -335,6 +335,7 @@ static void startCodeLine()
//lineAnchor.sprintf("l%05d",g_yyLineNr); //lineAnchor.sprintf("l%05d",g_yyLineNr);
Definition *d = g_sourceFileDef->getSourceDefinition(g_yyLineNr); Definition *d = g_sourceFileDef->getSourceDefinition(g_yyLineNr);
//printf("startCodeLine %d d=%p\n",g_yyLineNr,d);
//g_code->startLineNumber(); //g_code->startLineNumber();
if (!g_includeCodeFragment && d && d->isLinkableInProject()) if (!g_includeCodeFragment && d && d->isLinkableInProject())
{ {
...@@ -590,6 +591,23 @@ static MemberDef *setCallContextForVar(const QCString &name) ...@@ -590,6 +591,23 @@ static MemberDef *setCallContextForVar(const QCString &name)
return 0; 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) static void generateClassOrGlobalLink(OutputDocInterface &ol,char *clName,int *clNameLen=0)
{ {
int i=0; int i=0;
...@@ -646,18 +664,7 @@ static void generateClassOrGlobalLink(OutputDocInterface &ol,char *clName,int *c ...@@ -646,18 +664,7 @@ static void generateClassOrGlobalLink(OutputDocInterface &ol,char *clName,int *c
writeMultiLineCodeLink(ol,d->getReference(),d->getOutputFileBase(),md->getBodyAnchor(),clName); writeMultiLineCodeLink(ol,d->getReference(),d->getOutputFileBase(),md->getBodyAnchor(),clName);
if (g_currentMemberDef) if (g_currentMemberDef)
{ {
if (Config_getBool("REFERENCED_BY_RELATION") && addDocCrossReference(g_currentMemberDef,md);
(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);
}
} }
return; return;
} }
...@@ -711,21 +718,13 @@ static bool getLink(const char *className, ...@@ -711,21 +718,13 @@ static bool getLink(const char *className,
if (d && d->isLinkable()) if (d && d->isLinkable())
{ {
g_theCallContext.setClass(stripClassName(md->typeString())); 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 && if (g_currentDefinition && g_currentMemberDef &&
md!=g_currentMemberDef && g_insideBody) md!=g_currentMemberDef && g_insideBody)
{ {
if (Config_getBool("REFERENCED_BY_RELATION") && addDocCrossReference(g_currentMemberDef,md);
(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);
}
} }
//printf("d->getOutputBase()=`%s' name=`%s' member name=`%s'\n",d->getOutputFileBase().data(),d->name().data(),md->name().data()); //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 ...@@ -763,14 +762,7 @@ static bool generateClassMemberLink(OutputDocInterface &ol,ClassDef *mcd,const c
if (g_currentDefinition && g_currentMemberDef && if (g_currentDefinition && g_currentMemberDef &&
xmd!=g_currentMemberDef && g_insideBody) xmd!=g_currentMemberDef && g_insideBody)
{ {
if (Config_getBool("REFERENCED_BY_RELATION") && g_currentMemberDef->isFunction()) addDocCrossReference(g_currentMemberDef,xmd);
{
xmd->addSourceReferencedBy(g_currentMemberDef);
}
if (Config_getBool("REFERENCES_RELATION") && g_currentMemberDef->isFunction())
{
g_currentMemberDef->addSourceReferences(xmd);
}
} }
// write the actual link // write the actual link
......
...@@ -1900,6 +1900,23 @@ void Config::create() ...@@ -1900,6 +1900,23 @@ void Config::create()
cs->setDefaultValue("latex"); cs->setDefaultValue("latex");
cs->setWidgetType(ConfigString::Dir); cs->setWidgetType(ConfigString::Dir);
cs->addDependency("GENERATE_LATEX"); 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( cb = addBool(
"COMPACT_LATEX", "COMPACT_LATEX",
"If the COMPACT_LATEX tag is set to YES Doxygen generates more compact \n" "If the COMPACT_LATEX tag is set to YES Doxygen generates more compact \n"
......
...@@ -910,7 +910,7 @@ static void findUsingDirectives(Entry *root) ...@@ -910,7 +910,7 @@ static void findUsingDirectives(Entry *root)
// the global file scope. // the global file scope.
if (root->parent->section == Entry::NAMESPACE_SEC) if (root->parent->section == Entry::NAMESPACE_SEC)
{ {
nsName=root->parent->name.copy(); nsName=stripAnonymousNamespaceScope(root->parent->name);
if (!nsName.isEmpty()) if (!nsName.isEmpty())
{ {
nd = getResolvedNamespace(nsName); nd = getResolvedNamespace(nsName);
...@@ -926,8 +926,8 @@ static void findUsingDirectives(Entry *root) ...@@ -926,8 +926,8 @@ static void findUsingDirectives(Entry *root)
{ {
QCString scope=scopeOffset>0 ? QCString scope=scopeOffset>0 ?
nsName.left(scopeOffset)+"::" : QCString(); nsName.left(scopeOffset)+"::" : QCString();
//printf("Trying with scope=`%s'\n",scope.data());
usingNd = getResolvedNamespace(scope+root->name); usingNd = getResolvedNamespace(scope+root->name);
//printf("Trying with scope=`%s' usingNd=%p\n",(scope+root->name).data(),usingNd);
if (scopeOffset==0) if (scopeOffset==0)
{ {
scopeOffset=-1; scopeOffset=-1;
...@@ -943,6 +943,7 @@ static void findUsingDirectives(Entry *root) ...@@ -943,6 +943,7 @@ static void findUsingDirectives(Entry *root)
// add the namespace the correct scope // add the namespace the correct scope
if (usingNd) if (usingNd)
{ {
//printf("using fd=%p nd=%p\n",fd,nd);
if (nd) if (nd)
{ {
//printf("Inside namespace %s\n",nd->name().data()); //printf("Inside namespace %s\n",nd->name().data());
...@@ -1315,7 +1316,7 @@ static MemberDef *addVariableToFile( ...@@ -1315,7 +1316,7 @@ static MemberDef *addVariableToFile(
if (md->getGroupDef()==0 && root->groups->first()) if (md->getGroupDef()==0 && root->groups->first())
{ {
GroupDef *gd=Doxygen::groupSDict[root->groups->first()->groupname.data()]; 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) else if (md->getGroupDef()!=0 && root->groups->count()==0)
{ {
...@@ -1900,8 +1901,9 @@ static void buildFunctionList(Entry *root) ...@@ -1900,8 +1901,9 @@ static void buildFunctionList(Entry *root)
// merge ingroup specifiers // merge ingroup specifiers
if (md->getGroupDef()==0 && root->groups->first()) if (md->getGroupDef()==0 && root->groups->first())
{ {
addMemberToGroups(root,md);
GroupDef *gd=Doxygen::groupSDict[root->groups->first()->groupname.data()]; 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) else if (md->getGroupDef()!=0 && root->groups->count()==0)
{ {
...@@ -2212,6 +2214,17 @@ static void transferFunctionDocumentation() ...@@ -2212,6 +2214,17 @@ static void transferFunctionDocumentation()
mdec->mergeMemberSpecifiers(mdef->getMemberSpecifiers()); mdec->mergeMemberSpecifiers(mdef->getMemberSpecifiers());
mdef->mergeMemberSpecifiers(mdec->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 todoId = QMAX(mdec->todoId(),mdef->todoId());
int testId = QMAX(mdec->testId(),mdef->testId()); int testId = QMAX(mdec->testId(),mdef->testId());
int bugId = QMAX(mdec->bugId() ,mdef->bugId() ); int bugId = QMAX(mdec->bugId() ,mdef->bugId() );
...@@ -3064,7 +3077,7 @@ static void computeClassRelations() ...@@ -3064,7 +3077,7 @@ static void computeClassRelations()
{ {
findBaseClassesForClass(root,cd,cd,DocumentedOnly,FALSE); 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]!='@') if (!root->name.isEmpty() && root->name[0]!='@')
warn_undoc( warn_undoc(
...@@ -4930,6 +4943,9 @@ static void computeMemberRelations() ...@@ -4930,6 +4943,9 @@ static void computeMemberRelations()
//printf("setting (new) reimplements member\n"); //printf("setting (new) reimplements member\n");
md->setReimplements(bmd); 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); bmd->insertReimplementedBy(md);
} }
} }
...@@ -5090,6 +5106,7 @@ static void addSourceReferences() ...@@ -5090,6 +5106,7 @@ static void addSourceReferences()
MemberDef *md=0; MemberDef *md=0;
for (mni.toFirst();(md=mni.current());++mni) for (mni.toFirst();(md=mni.current());++mni)
{ {
//printf("class member %s\n",md->name().data());
ClassDef *cd=md->getClassDef(); ClassDef *cd=md->getClassDef();
FileDef *fd=md->getBodyDef(); FileDef *fd=md->getBodyDef();
if (fd && cd && cd->isLinkableInProject() && md->getStartBodyLine()!=-1 && if (fd && cd && cd->isLinkableInProject() && md->getStartBodyLine()!=-1 &&
...@@ -5110,8 +5127,9 @@ static void addSourceReferences() ...@@ -5110,8 +5127,9 @@ static void addSourceReferences()
for (mni.toFirst();(md=mni.current());++mni) for (mni.toFirst();(md=mni.current());++mni)
{ {
NamespaceDef *nd=md->getNamespaceDef(); NamespaceDef *nd=md->getNamespaceDef();
FileDef *fd=md->getFileDef(); FileDef *fd=md->getBodyDef();
GroupDef *gd=md->getGroupDef(); 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() && if (fd && md->getStartBodyLine()!=-1 && md->isLinkableInProject() &&
((nd && nd->isLinkableInProject()) || ((nd && nd->isLinkableInProject()) ||
(fd->isLinkableInProject()) || (fd->isLinkableInProject()) ||
......
...@@ -163,7 +163,7 @@ void GroupDef::addMembersToMemberGroup() ...@@ -163,7 +163,7 @@ void GroupDef::addMembersToMemberGroup()
void GroupDef::insertMember(MemberDef *md,bool docOnly) 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; MemberNameInfo *mni=0;
if ((mni=(*allMemberNameInfoSDict)[md->name()])) if ((mni=(*allMemberNameInfoSDict)[md->name()]))
{ // member with this name already found { // member with this name already found
...@@ -630,7 +630,7 @@ void addGroupToGroups(Entry *root,GroupDef *subGroup) ...@@ -630,7 +630,7 @@ void addGroupToGroups(Entry *root,GroupDef *subGroup)
/*! Add a member to the group with the highest priority */ /*! Add a member to the group with the highest priority */
void addMemberToGroups(Entry *root,MemberDef *md) 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); QListIterator<Grouping> gli(*root->groups);
Grouping *g; Grouping *g;
...@@ -644,7 +644,8 @@ void addMemberToGroups(Entry *root,MemberDef *md) ...@@ -644,7 +644,8 @@ void addMemberToGroups(Entry *root,MemberDef *md)
(gd=Doxygen::groupSDict[g->groupname]) && (gd=Doxygen::groupSDict[g->groupname]) &&
g->pri >= pri) g->pri >= pri)
{ {
if( fgd && g->pri == pri ) { if (fgd && g->pri==pri)
{
warn(root->fileName.data(), root->startLine, warn(root->fileName.data(), root->startLine,
"Warning: Member %s found in multiple %s groups! " "Warning: Member %s found in multiple %s groups! "
"The member will be put in group %s, and not in group %s", "The member will be put in group %s, and not in group %s",
...@@ -657,14 +658,18 @@ void addMemberToGroups(Entry *root,MemberDef *md) ...@@ -657,14 +658,18 @@ void addMemberToGroups(Entry *root,MemberDef *md)
pri = g->pri; pri = g->pri;
} }
} }
//printf("fgd=%p\n",fgd);
// put member into group defined by this entry? // put member into group defined by this entry?
if( fgd ) if (fgd)
{ {
GroupDef *mgd = md->getGroupDef(); GroupDef *mgd = md->getGroupDef();
//printf("mgd=%p\n",mgd);
bool insertit = FALSE; bool insertit = FALSE;
if (mgd==0) if (mgd==0)
{
insertit = TRUE; insertit = TRUE;
}
else if (mgd!=fgd) else if (mgd!=fgd)
{ {
bool moveit = FALSE; bool moveit = FALSE;
...@@ -672,40 +677,42 @@ void addMemberToGroups(Entry *root,MemberDef *md) ...@@ -672,40 +677,42 @@ void addMemberToGroups(Entry *root,MemberDef *md)
// move member from one group to another if // move member from one group to another if
// - the new one has a higher priority // - the new one has a higher priority
// - the new entry has the same priority, but with docs where the old one had no docs // - 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 else
{ {
if( md->getGroupPri() == pri ) if (md->getGroupPri()==pri)
{ {
if (!root->doc.isEmpty() && !md->getGroupHasDocs())
if( root->doc.length() != 0 && !md->getGroupHasDocs() ) {
moveit = TRUE; moveit = TRUE;
else if( root->doc.length() != 0 && md->getGroupHasDocs() ) }
{ else if (!root->doc.isEmpty() && md->getGroupHasDocs())
warn(md->getGroupFileName(),md->getGroupStartLine(), {
"Warning: Member documentation for %s found several times in %s groups!\n" warn(md->getGroupFileName(),md->getGroupStartLine(),
"%s:%d: The member will remain in group %s, and won't be put into group %s", "Warning: Member documentation for %s found several times in %s groups!\n"
md->name().data(), Grouping::getGroupPriName( pri ), "%s:%d: The member will remain in group %s, and won't be put into group %s",
root->fileName.data(), root->startLine, md->name().data(), Grouping::getGroupPriName( pri ),
mgd->name().data(), root->fileName.data(), root->startLine,
fgd->name().data() mgd->name().data(),
); fgd->name().data()
} );
} }
}
} }
if( moveit ) if (moveit)
{ {
mgd->removeMember(md); mgd->removeMember(md);
insertit = TRUE; insertit = TRUE;
} }
} }
if( insertit ) if (insertit)
{ {
//printf("insertMember\n");
fgd->insertMember(md); fgd->insertMember(md);
md->setGroupDef(fgd,pri,root->fileName,root->startLine,root->doc.length() != 0); md->setGroupDef(fgd,pri,root->fileName,root->startLine,root->doc.length() != 0);
ClassDef *cd = md->getClassDefOfAnonymousType(); ClassDef *cd = md->getClassDefOfAnonymousType();
......
...@@ -351,6 +351,21 @@ void endFile(OutputList &ol,bool external) ...@@ -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) void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper,int level)
{ {
HtmlHelp *htmlHelp=0; HtmlHelp *htmlHelp=0;
...@@ -381,7 +396,8 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper,int level) ...@@ -381,7 +396,8 @@ void writeClassTree(OutputList &ol,BaseClassList *bcl,bool hideSuper,int level)
started=TRUE; started=TRUE;
} }
//printf("Passed...\n"); //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()) if (cd->isLinkable())
{ {
//printf("Writing class %s\n",cd->displayName().data()); //printf("Writing class %s\n",cd->displayName().data());
...@@ -454,7 +470,8 @@ void writeClassTree(BaseClassList *cl,int level) ...@@ -454,7 +470,8 @@ void writeClassTree(BaseClassList *cl,int level)
for ( ; cli.current() ; ++cli) for ( ; cli.current() ; ++cli)
{ {
ClassDef *cd=cli.current()->classDef; ClassDef *cd=cli.current()->classDef;
if (cd->isVisibleInHierarchy() && !cd->visited) if (cd->isVisibleInHierarchy() && hasVisibleRoot(cd->baseClasses()))
//if (cd->isVisibleInHierarchy() && !cd->visited)
{ {
if (!started) if (!started)
{ {
...@@ -462,7 +479,8 @@ void writeClassTree(BaseClassList *cl,int level) ...@@ -462,7 +479,8 @@ void writeClassTree(BaseClassList *cl,int level)
if (hasFtvHelp) ftvHelp->incContentsDepth(); if (hasFtvHelp) ftvHelp->incContentsDepth();
started=TRUE; 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 (cd->isLinkable())
{ {
if (hasHtmlHelp) if (hasHtmlHelp)
...@@ -499,7 +517,8 @@ void writeClassTreeNode(ClassDef *cd,bool hasHtmlHelp,bool hasFtvHelp,bool &star ...@@ -499,7 +517,8 @@ void writeClassTreeNode(ClassDef *cd,bool hasHtmlHelp,bool hasFtvHelp,bool &star
{ {
started=TRUE; 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 (cd->isLinkable())
{ {
if (hasHtmlHelp) if (hasHtmlHelp)
...@@ -583,7 +602,8 @@ static void writeClassTreeForList(OutputList &ol,ClassSDict *cl,bool &started) ...@@ -583,7 +602,8 @@ static void writeClassTreeForList(OutputList &ol,ClassSDict *cl,bool &started)
if (hasFtvHelp) ftvHelp->incContentsDepth(); if (hasFtvHelp) ftvHelp->incContentsDepth();
started=TRUE; 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()) if (cd->isLinkable())
{ {
//printf("Writing class %s isLinkable()=%d isLinkableInProject()=%d cd->templateMaster()=%p\n", //printf("Writing class %s isLinkable()=%d isLinkableInProject()=%d cd->templateMaster()=%p\n",
...@@ -2412,7 +2432,7 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,int level) ...@@ -2412,7 +2432,7 @@ void writeGroupTreeNode(OutputList &ol, GroupDef *gd,int level)
} }
// write classes // write classes
if(gd->classSDict->count()>0) if (gd->classSDict->count()>0)
{ {
if(htmlHelp) if(htmlHelp)
{ {
...@@ -2616,19 +2636,11 @@ void writeGroupIndex(OutputList &ol) ...@@ -2616,19 +2636,11 @@ void writeGroupIndex(OutputList &ol)
writeGroupHierarchy(ol); writeGroupHierarchy(ol);
if (hasHtmlHelp) if (hasHtmlHelp)
{ {
//writeGroupTree(ol); // KPW - modified to write hierarchial HMTL Help htmlHelp->decContentsDepth();
//if(!Config::instance()->get(""))
//{
htmlHelp->decContentsDepth();
//}
} }
if (hasFtvHelp) if (hasFtvHelp)
{ {
//writeGroupTree(ol); // KPW - modified to write hierarchial FTV Help ftvHelp->decContentsDepth();
//if(!Config::instance()->get(""))
//{
ftvHelp->decContentsDepth();
//}
} }
endFile(ol); endFile(ol);
ol.popGeneratorState(); ol.popGeneratorState();
......
...@@ -147,6 +147,10 @@ void LatexGenerator::init() ...@@ -147,6 +147,10 @@ void LatexGenerator::init()
err("Could not open file %s for writing\n",fileName.data()); err("Could not open file %s for writing\n",fileName.data());
exit(1); 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); QTextStream t(&file);
t << "all: refman.dvi" << endl t << "all: refman.dvi" << endl
<< endl << endl
...@@ -194,16 +198,16 @@ void LatexGenerator::init() ...@@ -194,16 +198,16 @@ void LatexGenerator::init()
<< endl << endl
<< "refman.dvi: refman.tex doxygen.sty" << endl << "refman.dvi: refman.tex doxygen.sty" << endl
<< "\techo \"Running latex...\"" << endl << "\techo \"Running latex...\"" << endl
<< "\tlatex refman.tex" << endl << "\t" << latex_command << " refman.tex" << endl
<< "\techo \"Running makeindex...\"" << endl << "\techo \"Running makeindex...\"" << endl
<< "\tmakeindex refman.idx" << endl << "\t" << mkidx_command << " refman.idx" << endl
<< "\techo \"Rerunning latex....\"" << endl << "\techo \"Rerunning latex....\"" << endl
<< "\tlatex refman.tex" << endl << "\t" << latex_command << " refman.tex" << endl
<< "\tlatex_count=5 ; \\" << endl << "\tlatex_count=5 ; \\" << endl
<< "\twhile egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\\" << endl << "\twhile egrep -s 'Rerun (LaTeX|to get cross-references right)' refman.log && [ $$latex_count -gt 0 ] ;\\" << endl
<< "\t do \\" << endl << "\t do \\" << endl
<< "\t echo \"Rerunning latex....\" ;\\" << 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 latex_count=`expr $$latex_count - 1` ;\\" << endl
<< "\t done" << endl << endl << "\t done" << endl << endl
<< "clean:" << endl << "clean:" << endl
......
...@@ -380,11 +380,10 @@ MemberDef::~MemberDef() ...@@ -380,11 +380,10 @@ MemberDef::~MemberDef()
void MemberDef::setReimplements(MemberDef *md) void MemberDef::setReimplements(MemberDef *md)
{ {
//if (m_templateMaster) //if (redefines==0) redefines = new MemberList;
//{ //if (redefines->find(md)==-1) redefines->inSort(md);
// m_templateMaster->setReimplements(md);
//} redefines = md;
redefines=md;
} }
void MemberDef::insertReimplementedBy(MemberDef *md) void MemberDef::insertReimplementedBy(MemberDef *md)
...@@ -394,10 +393,13 @@ void MemberDef::insertReimplementedBy(MemberDef *md) ...@@ -394,10 +393,13 @@ void MemberDef::insertReimplementedBy(MemberDef *md)
m_templateMaster->insertReimplementedBy(md); m_templateMaster->insertReimplementedBy(md);
} }
if (redefinedBy==0) redefinedBy = new MemberList; 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; return redefines;
} }
...@@ -1315,7 +1317,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, ...@@ -1315,7 +1317,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
} }
MemberDef *bmd=reimplements(); MemberDef *bmd=reimplements();
ClassDef *bcd=0; ClassDef *bcd=0;
if (bmd && (bcd=bmd->getClassDef())) if (bmd && (bcd=bmd->getClassDef()))
{ {
// write class that contains a member that is reimplemented by this one // write class that contains a member that is reimplemented by this one
...@@ -1342,7 +1344,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, ...@@ -1342,7 +1344,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
if (bd==0) bd=bcd; if (bd==0) bd=bcd;
ol.writeObjectLink(bd->getReference(),bd->getOutputFileBase(), ol.writeObjectLink(bd->getReference(),bd->getOutputFileBase(),
bmd->anchor(),bcd->name()); bmd->anchor(),bcd->name());
//ol.writeObjectLink(bcd->getReference(),bcd->getOutputFileBase(), //ol.writeObjectLink(bcd->getReference(),bcd->getOutputFileBase(),
// bmd->anchor(),bcd->name()); // bmd->anchor(),bcd->name());
if ( bd->isLinkableInProject() ) if ( bd->isLinkableInProject() )
...@@ -1374,6 +1376,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol, ...@@ -1374,6 +1376,7 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
//ol.writeString("."); //ol.writeString(".");
} }
MemberList *bml=reimplementedBy(); MemberList *bml=reimplementedBy();
if (bml) if (bml)
{ {
......
...@@ -164,7 +164,7 @@ class MemberDef : public Definition ...@@ -164,7 +164,7 @@ class MemberDef : public Definition
// relation to other members // relation to other members
void setReimplements(MemberDef *md); void setReimplements(MemberDef *md);
void insertReimplementedBy(MemberDef *md); void insertReimplementedBy(MemberDef *md);
MemberDef *reimplements() const; MemberDef *reimplements() const;
MemberList *reimplementedBy() const; MemberList *reimplementedBy() const;
// enumeration specific members // enumeration specific members
...@@ -249,9 +249,9 @@ class MemberDef : public Definition ...@@ -249,9 +249,9 @@ class MemberDef : public Definition
private: private:
ClassDef *classDef; // member of or related to ClassDef *classDef; // member of or related to
FileDef *fileDef; // member of file definition 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 *enumScope; // the enclosing scope, if this is an enum field
MemberDef *annEnumType; // the annonymous enum that is the type of this member 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 MemberList *redefinedBy; // the list of members that redefine this one
MemberDef *memDef; // member definition for this declaration MemberDef *memDef; // member definition for this declaration
MemberDef *memDec; // member declaration for this definition MemberDef *memDec; // member declaration for this definition
......
...@@ -1001,6 +1001,7 @@ static int yyread(char *buf,int max_size) ...@@ -1001,6 +1001,7 @@ static int yyread(char *buf,int max_size)
ID [a-z_A-Z][a-z_A-Z0-9]* ID [a-z_A-Z][a-z_A-Z0-9]*
B [ \t] B [ \t]
BN [ \t\r\n] BN [ \t\r\n]
CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
%option noyywrap %option noyywrap
...@@ -1213,6 +1214,9 @@ BN [ \t\r\n] ...@@ -1213,6 +1214,9 @@ BN [ \t\r\n]
g_defArgsStr+=yytext; g_defArgsStr+=yytext;
} }
*/ */
<FindDefineArgs>{CHARLIT} {
g_defArgsStr+=yytext;
}
<FindDefineArgs>\" { <FindDefineArgs>\" {
g_defArgsStr+=*yytext; g_defArgsStr+=*yytext;
BEGIN(ReadString); BEGIN(ReadString);
......
...@@ -1009,7 +1009,7 @@ class TranslatorBrazilian: public Translator ...@@ -1009,7 +1009,7 @@ class TranslatorBrazilian: public Translator
"Se a tag \\c MAX_DOT_GRAPH_HEIGHT no arquivo de configuração tem o valor" "Se a tag \\c MAX_DOT_GRAPH_HEIGHT no arquivo de configuração tem o valor"
"200, o seguinte gráfo será gerado:" "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" "<p>\n"
"As caixas no grafo acima tem as seguintes interpretações:\n" "As caixas no grafo acima tem as seguintes interpretações:\n"
"<ul>\n" "<ul>\n"
......
...@@ -951,7 +951,7 @@ class TranslatorChinese : public TranslatorAdapter_1_2_13 ...@@ -951,7 +951,7 @@ class TranslatorChinese : public TranslatorAdapter_1_2_13
"\\endcode\n" "\\endcode\n"
"如果在配置文件中指定了"CN_SPC"MAX_DOT_GRAPH_HEIGHT"CN_SPC"的值为200," "如果在配置文件中指定了"CN_SPC"MAX_DOT_GRAPH_HEIGHT"CN_SPC"的值为200,"
"则Doxygen将生成如下的图形:" "则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" "<p>\n"
"以上图形中的矩形有如下的含义:\n" "以上图形中的矩形有如下的含义:\n"
"<ul>\n" "<ul>\n"
......
...@@ -1211,7 +1211,7 @@ class TranslatorCzech : public Translator ...@@ -1211,7 +1211,7 @@ class TranslatorCzech : public Translator
"\\endcode\n" "\\endcode\n"
"Pokud je položka \\c MAX_DOT_GRAPH_HEIGHT konfiguraèního souboru " "Pokud je položka \\c MAX_DOT_GRAPH_HEIGHT konfiguraèního souboru "
"nastavena na hodnotu 200, bude vygenerován následující graf:" "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" "<p>\n"
"Bloky (tj. uzly) v uvedeném grafu mají následující význam:\n" "Bloky (tj. uzly) v uvedeném grafu mají následující význam:\n"
"<ul>\n" "<ul>\n"
......
...@@ -1082,7 +1082,7 @@ class TranslatorGerman : public Translator ...@@ -1082,7 +1082,7 @@ class TranslatorGerman : public Translator
"\\endcode\n\n" "\\endcode\n\n"
"Setzen des Tags \\c MAX_DOT_GRAPH_HEIGHT in der Konfigurationsdatei " "Setzen des Tags \\c MAX_DOT_GRAPH_HEIGHT in der Konfigurationsdatei "
"auf 240 liefert den folgenden Graphen:" "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" "<p>\n"
"Die Rechtecke in obigem Graphen bedeuten:\n" "Die Rechtecke in obigem Graphen bedeuten:\n"
"<ul>\n" "<ul>\n"
......
...@@ -1055,7 +1055,7 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7 ...@@ -1055,7 +1055,7 @@ class TranslatorDanish : public TranslatorAdapter_1_2_7
"\\endcode\n" "\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file " "If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 200 this will result in the following graph:" "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" "<p>\n"
"The boxes in the above graph have the following meaning:\n" "The boxes in the above graph have the following meaning:\n"
"<ul>\n" "<ul>\n"
......
...@@ -1072,7 +1072,7 @@ class TranslatorEnglish : public Translator ...@@ -1072,7 +1072,7 @@ class TranslatorEnglish : public Translator
"\\endcode\n" "\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file " "If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 240 this will result in the following graph:" "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" "<p>\n"
"The boxes in the above graph have the following meaning:\n" "The boxes in the above graph have the following meaning:\n"
"<ul>\n" "<ul>\n"
......
...@@ -947,7 +947,7 @@ class TranslatorSpanish : public TranslatorAdapter_1_2_7 ...@@ -947,7 +947,7 @@ class TranslatorSpanish : public TranslatorAdapter_1_2_7
"\\endcode\n" "\\endcode\n"
"Si la etiqueta \\c MAX_DOT_GRAPH_HEIGHT en el archivo de configuración " "Si la etiqueta \\c MAX_DOT_GRAPH_HEIGHT en el archivo de configuración "
"tiene valor 200 resultará en el siguiente gráfico:" "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" "<p>\n"
"Las cajas en el gráfico arriba tienen el significado que sigue:\n" "Las cajas en el gráfico arriba tienen el significado que sigue:\n"
"<ul>\n" "<ul>\n"
......
...@@ -939,7 +939,7 @@ class TranslatorFrench : public Translator ...@@ -939,7 +939,7 @@ class TranslatorFrench : public Translator
"\\endcode\n" "\\endcode\n"
"Si la valeur 200 est attribuée au tag \\c MAX_DOT_GRAPH_HEIGHT " "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:" "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" "<p>\n"
"Les rectangles du graphe ci-dessus ont la signification suivante:\n" "Les rectangles du graphe ci-dessus ont la signification suivante:\n"
"<ul>\n" "<ul>\n"
......
...@@ -1043,7 +1043,7 @@ class TranslatorGreek : public TranslatorAdapter_1_2_11 ...@@ -1043,7 +1043,7 @@ class TranslatorGreek : public TranslatorAdapter_1_2_11
"\\endcode\n" "\\endcode\n"
" \\c MAX_DOT_GRAPH_HEIGHT " " \\c MAX_DOT_GRAPH_HEIGHT "
" 200 :" " 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" "<p>\n"
" :\n" " :\n"
"<ul>\n" "<ul>\n"
......
...@@ -760,7 +760,7 @@ class TranslatorCroatian : public Translator ...@@ -760,7 +760,7 @@ class TranslatorCroatian : public Translator
"\\endcode\n" "\\endcode\n"
"Ako je \\c MAX_DOT_GRAPH_HEIGHT tag u konfiguracijskoj datoteci " "Ako je \\c MAX_DOT_GRAPH_HEIGHT tag u konfiguracijskoj datoteci "
"postavljen na 200 gornje veze e rezultirati grafikonom:" "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" "<p>\n"
"Pravokutnici imaju slijedee znaenje:\n" "Pravokutnici imaju slijedee znaenje:\n"
"<ul>\n" "<ul>\n"
......
...@@ -936,7 +936,7 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1 ...@@ -936,7 +936,7 @@ class TranslatorHungarian : public TranslatorAdapter_1_2_1
"\\endcode\n" "\\endcode\n"
"Ha a konfigurációs fájl \\c MAX_DOT_GRAPH_HEIGHT elemének értékét " "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:" "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" "<p>\n"
"Az ábrán levõ dobozok jelentése:\n" "Az ábrán levõ dobozok jelentése:\n"
"<ul>\n" "<ul>\n"
......
...@@ -1060,7 +1060,7 @@ class TranslatorItalian : public Translator ...@@ -1060,7 +1060,7 @@ class TranslatorItalian : public Translator
"\\endcode\n" "\\endcode\n"
"Se il tag \\c MAX_DOT_GRAPH_HEIGHT nel file di configurazione " "Se il tag \\c MAX_DOT_GRAPH_HEIGHT nel file di configurazione "
"è impostato a 200 verrà prodotto il grafo seguente:" "è 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" "<p>\n"
"I riquadri nel grafo qui sopra hanno il seguente significato:\n" "I riquadri nel grafo qui sopra hanno il seguente significato:\n"
"<ul>\n" "<ul>\n"
......
...@@ -1010,7 +1010,7 @@ class TranslatorJapanese : public Translator ...@@ -1010,7 +1010,7 @@ class TranslatorJapanese : public Translator
"\\endcode\n" "\\endcode\n"
"設定ファイル中で、タグ \\c MAX_DOT_GRAPH_HEIGHT が 200 にセットされた" "設定ファイル中で、タグ \\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" "<p>\n"
"上のグラフ内のボックスには次のような意味があります。\n" "上のグラフ内のボックスには次のような意味があります。\n"
"<ul>\n" "<ul>\n"
......
...@@ -1010,7 +1010,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -1010,7 +1010,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
"\\endcode\n" "\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file " "If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 240 this will result in the following graph:" "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" "<p>\n"
"The boxes in the above graph have the following meaning:\n" "The boxes in the above graph have the following meaning:\n"
"<ul>\n" "<ul>\n"
......
...@@ -685,7 +685,7 @@ class TranslatorDutch : public Translator ...@@ -685,7 +685,7 @@ class TranslatorDutch : public Translator
"\\endcode\n" "\\endcode\n"
"Als de \\c MAX_DOT_GRAPH_HEIGHT tag in the configuratie file " "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:" "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" "<p>\n"
"De rechthoeken in the bovenstaande graaf hebben de volgende betekenis:\n" "De rechthoeken in the bovenstaande graaf hebben de volgende betekenis:\n"
"<ul>\n" "<ul>\n"
......
...@@ -742,7 +742,7 @@ class TranslatorNorwegian : public TranslatorAdapter_1_2_2 ...@@ -742,7 +742,7 @@ class TranslatorNorwegian : public TranslatorAdapter_1_2_2
"\\endcode\n" "\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file " "If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 200 this will result in the following graph:" "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" "<p>\n"
"The boxes in the above graph have the following meaning:\n" "The boxes in the above graph have the following meaning:\n"
"<ul>\n" "<ul>\n"
......
...@@ -938,7 +938,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_1 ...@@ -938,7 +938,7 @@ class TranslatorPolish : public TranslatorAdapter_1_2_1
"\\endcode\n" "\\endcode\n"
"Je¶li znacznik \\c MAX_DOT_GRAPH_HEIGHT w pliku konfiguracji " "Je¶li znacznik \\c MAX_DOT_GRAPH_HEIGHT w pliku konfiguracji "
"jest ustawiony na 200, odniesie to rezultat w nastêpuj±cym wykresie:" "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" "<p>\n"
"Pude³ka w powy¿szym wykresie maj± nastêpuj±ce znaczenie:\n" "Pude³ka w powy¿szym wykresie maj± nastêpuj±ce znaczenie:\n"
"<ul>\n" "<ul>\n"
......
...@@ -1051,7 +1051,7 @@ class TranslatorPortuguese : public Translator ...@@ -1051,7 +1051,7 @@ class TranslatorPortuguese : public Translator
"\\endcode\n" "\\endcode\n"
"Se no ficheiro de configuração estiver a tag \\c MAX_DOT_GRAPH_HEIGHT " "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:" "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" "<p>\n"
"As caixas no grafo anterior têm as seguintes interpretações:\n" "As caixas no grafo anterior têm as seguintes interpretações:\n"
"<ul>\n" "<ul>\n"
......
...@@ -24,17 +24,25 @@ ...@@ -24,17 +24,25 @@
* *
* If you have suggestions, please mail the comments and text proposals to the address * If you have suggestions, please mail the comments and text proposals to the address
* shown aprox.10 lines above * 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: * 07.Mar.2k2 Second revision, covering Doxygen 1.2.14
* -------------- * - fixed some bugs
* 20.Sep.2k
*/ */
#ifndef TRANSLATOR_RO_H #ifndef TRANSLATOR_RO_H
#define TRANSLATOR_RO_H #define TRANSLATOR_RO_H
#include "translator_adapter.h"
class TranslatorRomanian: public TranslatorAdapter_1_2_1 class TranslatorRomanian: public Translator
{ {
public: public:
...@@ -49,18 +57,24 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1 ...@@ -49,18 +57,24 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
*/ */
virtual QCString idLanguage() virtual QCString idLanguage()
{ return "romanian"; } { return "romanian"; }
/*! Used to get the command(s) for the language support. This method /*! Used to get the LaTeX command(s) for the language support.
* was designed for languages which do not prefer babel package. * This method should return string with commands that switch
* If this methods returns empty string, then the latexBabelPackage() * LaTeX to the desired language. For example
* method is used to generate the command for using the babel package. * <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() virtual QCString latexLanguageSupportCommand()
{ {
return "\\usepackage{romanian}\n"; 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 */ /*! return the language charset. This will be used for the HTML output */
virtual QCString idLanguageCharset() virtual QCString idLanguageCharset()
...@@ -96,7 +110,17 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1 ...@@ -96,7 +110,17 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
/*! header that is put before the list of member attributes. */ /*! header that is put before the list of member attributes. */
virtual QCString trMemberDataDocumentation() 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. */ /*! this is the text of a link put after brief descriptions. */
virtual QCString trMore() virtual QCString trMore()
...@@ -140,12 +164,6 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1 ...@@ -140,12 +164,6 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
virtual QCString trDefinedIn() virtual QCString trDefinedIn()
{ return "definit în"; } { 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 // quick reference sections
/*! This is put above each page as a link to the list of all groups of /*! 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 ...@@ -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 */ /*! This is put above each page as a link to the list of annotated classes */
virtual QCString trCompoundList() 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 */ /*! This is put above each page as a link to the list of documented files */
virtual QCString trFileList() virtual QCString trFileList()
...@@ -172,11 +200,31 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1 ...@@ -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. */ /*! This is put above each page as a link to all members of compounds. */
virtual QCString trCompoundMembers() 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. */ /*! This is put above each page as a link to all members of files. */
virtual QCString trFileMembers() 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. */ /*! This is put above each page as a link to all related pages. */
virtual QCString trRelatedPages() virtual QCString trRelatedPages()
...@@ -192,14 +240,14 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1 ...@@ -192,14 +240,14 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
/*! This is an introduction to the class hierarchy. */ /*! This is an introduction to the class hierarchy. */
virtual QCString trClassHierarchyDescription() 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ã:"; "dar nu complet, în ordine alfabeticã:";
} }
/*! This is an introduction to the list with all files. */ /*! This is an introduction to the list with all files. */
virtual QCString trFileListDescription(bool extractAll) virtual QCString trFileListDescription(bool extractAll)
{ {
QCString result="Aici este lista tuturor "; QCString result="Aceasta este lista tuturor ";
result+="fiºierelor"; result+="fiºierelor";
if (!extractAll) result+=" documentate"; if (!extractAll) result+=" documentate";
result+=", cu scurte descrieri:"; result+=", cu scurte descrieri:";
...@@ -208,54 +256,102 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1 ...@@ -208,54 +256,102 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
/*! This is an introduction to the annotated compound list. */ /*! This is an introduction to the annotated compound list. */
virtual QCString trCompoundListDescription() 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. */ /*! This is an introduction to the page with all class members. */
virtual QCString trCompoundMembersDescription(bool extractAll) virtual QCString trCompoundMembersDescription(bool extractAll)
{ {
QCString result="Aici este lista tuturor "; QCString result="Aceasta este lista tuturor ";
result+="membrilor ";
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 "; 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) 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 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; return result;
} }
/*! This is an introduction to the page with all file members. */ /*! This is an introduction to the page with all file members. */
virtual QCString trFileMembersDescription(bool extractAll) virtual QCString trFileMembersDescription(bool extractAll)
{ {
QCString result="Aici este lista tuturor "; QCString result="Aceasta este lista tuturor ";
result+="membrilor "; 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 "; 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) if (extractAll)
result+="documentaþia fiºierului pentru fiecare membru în parte:";
else
result+="fiºierele de care aparþin:"; result+="fiºierele de care aparþin:";
else
result+="documentaþia aferentã:";
return result; return result;
} }
/*! This is an introduction to the page with the list of all header files. */ /*! This is an introduction to the page with the list of all header files. */
virtual QCString trHeaderFilesDescription() 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 */ /*! This is an introduction to the page with the list of all examples */
virtual QCString trExamplesDescription() 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 */ /*! This is an introduction to the page with the list of related pages */
virtual QCString trRelatedPagesDescription() 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 */ /*! This is an introduction to the page with the list of class/file groups */
virtual QCString trModulesDescription() 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 /*! This sentences is used in the annotated class/file lists if no brief
* description is given. * description is given.
...@@ -286,7 +382,17 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1 ...@@ -286,7 +382,17 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
* annotated compound index. * annotated compound index.
*/ */
virtual QCString trCompoundIndex() 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 /*! This is used in LaTeX as the title of the chapter with the
* list of all files. * list of all files.
...@@ -304,7 +410,17 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1 ...@@ -304,7 +410,17 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
* the documentation of all classes, structs and unions. * the documentation of all classes, structs and unions.
*/ */
virtual QCString trClassDocumentation() 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 /*! This is used in LaTeX as the title of the chapter containing
* the documentation of all files. * the documentation of all files.
...@@ -370,10 +486,6 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1 ...@@ -370,10 +486,6 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
virtual QCString trEnumerationValues() virtual QCString trEnumerationValues()
{ return "Valori enum"; } { 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 /*! This is used in the documentation of a file before the list of
* documentation blocks for defines * documentation blocks for defines
*/ */
...@@ -420,20 +532,24 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1 ...@@ -420,20 +532,24 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
* the list of links to documented compounds * the list of links to documented compounds
*/ */
virtual QCString trCompounds() 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 /*! This is used in the standard footer of each page and indicates when
* the page was generated * the page was generated
*/ */
virtual QCString trGeneratedAt(const char *date,const char *projName) 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; if (projName) result+=(QCString)" pentru "+projName;
result+=(QCString)" de cãtre"; result+=(QCString)" de cãtre";
return result; return result;
...@@ -475,10 +591,6 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1 ...@@ -475,10 +591,6 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
virtual QCString trDate() virtual QCString trDate()
{ return "Data"; } { 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. */ /*! this text is generated when the \\return command is used. */
virtual QCString trReturns() virtual QCString trReturns()
{ return "Întoarce"; } { return "Întoarce"; }
...@@ -508,7 +620,7 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1 ...@@ -508,7 +620,7 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
/*! used as an introduction to the namespace list */ /*! used as an introduction to the namespace list */
virtual QCString trNamespaceListDescription(bool extractAll) virtual QCString trNamespaceListDescription(bool extractAll)
{ {
QCString result="Aici este lista tuturor "; QCString result="Aceasta este lista tuturor ";
result+="namespace-urilor "; result+="namespace-urilor ";
if (!extractAll) result+="documentate "; if (!extractAll) result+="documentate ";
result+=", cu scurte descrieri:"; result+=", cu scurte descrieri:";
...@@ -657,7 +769,7 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1 ...@@ -657,7 +769,7 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
/*! This is an introduction to the page with all namespace members */ /*! This is an introduction to the page with all namespace members */
virtual QCString trNamespaceMemberDescription(bool extractAll) virtual QCString trNamespaceMemberDescription(bool extractAll)
{ {
QCString result="Aici este lista tuturor membrilor "; QCString result="Aceasta este lista tuturor membrilor ";
if (!extractAll) result+="documentaþi "; if (!extractAll) result+="documentaþi ";
result+="din toate namespace-urile, cu legãturi cãtre "; result+="din toate namespace-urile, cu legãturi cãtre ";
...@@ -850,7 +962,15 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1 ...@@ -850,7 +962,15 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
} }
virtual QCString trPublicAttribs() 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() virtual QCString trStaticPublicAttribs()
{ {
...@@ -965,7 +1085,7 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1 ...@@ -965,7 +1085,7 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
"\\endcode\n" "\\endcode\n"
"Dacã tagul \\c MAX_DOT_GRAPH_HEIGHT din fiºierul de configuraþie " "Dacã tagul \\c MAX_DOT_GRAPH_HEIGHT din fiºierul de configuraþie "
"Este setat la 200 acesta este graful rezultat:" "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" "<p>\n"
"Cãsuþele din partea de sus au urmãtoarea semnificaþie:\n" "Cãsuþele din partea de sus au urmãtoarea semnificaþie:\n"
"<ul>\n" "<ul>\n"
...@@ -1009,6 +1129,279 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1 ...@@ -1009,6 +1129,279 @@ class TranslatorRomanian: public TranslatorAdapter_1_2_1
return "Listã de teste"; 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 #endif
...@@ -1095,7 +1095,7 @@ class TranslatorRussian : public Translator ...@@ -1095,7 +1095,7 @@ class TranslatorRussian : public Translator
"\\endcode\n" "\\endcode\n"
" \\c MAX_DOT_GRAPH_HEIGHT " " \\c MAX_DOT_GRAPH_HEIGHT "
" 240, :" " 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" "<p>\n"
" :\n" " :\n"
"<ul>\n" "<ul>\n"
......
...@@ -694,7 +694,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_13 ...@@ -694,7 +694,7 @@ class TranslatorSlovene : public TranslatorAdapter_1_2_13
"\\endcode\n" "\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file " "If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
"is set to 200 this will result in the following graph:" "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" "<p>\n"
"The boxes in the above graph have the following meaning:\n" "The boxes in the above graph have the following meaning:\n"
"<ul>\n" "<ul>\n"
......
...@@ -1069,7 +1069,7 @@ class TranslatorSlovak : public TranslatorAdapter_1_2_13 ...@@ -1069,7 +1069,7 @@ class TranslatorSlovak : public TranslatorAdapter_1_2_13
"\\endcode\n" "\\endcode\n"
"Pokia je poloka \\c MAX_DOT_GRAPH_HEIGHT konfiguranho sboru " "Pokia je poloka \\c MAX_DOT_GRAPH_HEIGHT konfiguranho sboru "
"nastaven na hodnotu 200, bude vygenerovan nasledujci graf:" "nastaven na hodnotu 200, bude vygenerovan nasledujci 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" "<p>\n"
"Bloky (tj. uzly) v uvedenom grafe maj nasledujci vznam:\n" "Bloky (tj. uzly) v uvedenom grafe maj nasledujci vznam:\n"
"<ul>\n" "<ul>\n"
......
...@@ -1060,7 +1060,7 @@ class TranslatorUkrainian : public TranslatorAdapter_1_2_11 ...@@ -1060,7 +1060,7 @@ class TranslatorUkrainian : public TranslatorAdapter_1_2_11
"\\endcode\n" "\\endcode\n"
"ñËÝÏ \\c MAX_DOT_GRAPH_HEIGHT × ËÏÎƦÇÕÒÁæÊÎÏÍÕ ÆÁÊ̦ " "ñËÝÏ \\c MAX_DOT_GRAPH_HEIGHT × ËÏÎƦÇÕÒÁæÊÎÏÍÕ ÆÁÊ̦ "
"ÕÓÔÁÎÏ×ÌÅÎÅ ÎÁ 200, ÏÔÒÉÍÁ¤ÍÏ ÎÁÓÔÕÐÎÉÊ ÇÒÁÆ:" "ÕÓÔÁÎÏ×ÌÅÎÅ ÎÁ 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" "<p>\n"
"ðÒÑÍÏËÕÔÎÉËÉ × ÃØÏÍÕ ÇÒÁƦ ÍÁÀÔØ ÎÁÓÔÕÐÎÉÊ ÚͦÓÔ:\n" "ðÒÑÍÏËÕÔÎÉËÉ × ÃØÏÍÕ ÇÒÁƦ ÍÁÀÔØ ÎÁÓÔÕÐÎÉÊ ÚͦÓÔ:\n"
"<ul>\n" "<ul>\n"
......
...@@ -119,13 +119,13 @@ template<class T> class ValStack ...@@ -119,13 +119,13 @@ template<class T> class ValStack
public: public:
ValStack() : m_values(10), m_sp(0), m_size(10) {} ValStack() : m_values(10), m_sp(0), m_size(10) {}
virtual ~ValStack() {} virtual ~ValStack() {}
ValStack(const ValStack &s) ValStack(const ValStack<T> &s)
{ {
m_values=s.m_values.copy(); m_values=s.m_values.copy();
m_sp=s.m_sp; m_sp=s.m_sp;
m_size=s.m_size; m_size=s.m_size;
} }
ValStack &operator=(const ValStack &s) ValStack &operator=(const ValStack<T> &s)
{ {
m_values=s.m_values.copy(); m_values=s.m_values.copy();
m_sp=s.m_sp; m_sp=s.m_sp;
...@@ -981,9 +981,8 @@ static void writeMemberReference(QTextStream &t,Definition *def,MemberDef *rmd,c ...@@ -981,9 +981,8 @@ static void writeMemberReference(QTextStream &t,Definition *def,MemberDef *rmd,c
t << rmd->getBodyDef()->getOutputFileBase() t << rmd->getBodyDef()->getOutputFileBase()
<< "_1" // encoded `:' character (see util.cpp:convertNameToFile) << "_1" // encoded `:' character (see util.cpp:convertNameToFile)
<< rmd->anchor() << rmd->anchor()
<< "\">"; << "\">" << convertToXML(name) << "</"
writeXMLString(t,name); << tagName << ">" << endl;
t << "</" << tagName << ">" << endl;
} }
else if (rmd->isLinkable() && d && d->isLinkable()) else if (rmd->isLinkable() && d && d->isLinkable())
// link to declaration in documentation (in absense of a definition) // link to declaration in documentation (in absense of a definition)
...@@ -992,9 +991,8 @@ static void writeMemberReference(QTextStream &t,Definition *def,MemberDef *rmd,c ...@@ -992,9 +991,8 @@ static void writeMemberReference(QTextStream &t,Definition *def,MemberDef *rmd,c
t << d->getOutputFileBase() t << d->getOutputFileBase()
<< "_1" // encoded `:' character (see util.cpp:convertNameToFile) << "_1" // encoded `:' character (see util.cpp:convertNameToFile)
<< rmd->anchor() << rmd->anchor()
<< "\">"; << "\">" << convertToXML(name)
writeXMLString(t,name); << "</" << tagName << ">" << endl;
t << "</" << tagName << ">" << endl;
} }
} }
...@@ -1017,7 +1015,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De ...@@ -1017,7 +1015,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
if (md->memberType()==MemberDef::EnumValue) return; if (md->memberType()==MemberDef::EnumValue) return;
ti << " <member id=\"" << md->getOutputFileBase() ti << " <member id=\"" << md->getOutputFileBase()
<< "_1" << md->anchor() << "\">" << md->name() << "</member>" << endl; << "_1" << md->anchor() << "\">" << convertToXML(md->name()) << "</member>" << endl;
QCString scopeName; QCString scopeName;
if (md->getClassDef()) if (md->getClassDef())
...@@ -1087,16 +1085,13 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De ...@@ -1087,16 +1085,13 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
t << "</type>" << endl; t << "</type>" << endl;
} }
t << " <name>"; t << " <name>" << convertToXML(md->name()) << "</name>" << endl;
writeXMLString(t,md->name());
t << "</name>" << endl;
MemberDef *rmd = md->reimplements(); MemberDef *rmd = md->reimplements();
if (rmd) if (rmd)
{ {
t << " <reimplements id=\"" t << " <reimplements id=\""
<< rmd->getOutputFileBase() << "_1" << rmd->anchor() << "\">" << rmd->getOutputFileBase() << "_1" << rmd->anchor() << "\">"
<< rmd->name() << "</reimplements>"; << convertToXML(rmd->name()) << "</reimplements>";
} }
MemberList *rbml = md->reimplementedBy(); MemberList *rbml = md->reimplementedBy();
if (rbml) if (rbml)
...@@ -1106,7 +1101,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De ...@@ -1106,7 +1101,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
{ {
t << " <reimplementedby id=\"" t << " <reimplementedby id=\""
<< rmd->getOutputFileBase() << "_1" << rmd->anchor() << "\">" << rmd->getOutputFileBase() << "_1" << rmd->anchor() << "\">"
<< rmd->name() << "</reimplementedby>"; << convertToXML(rmd->name()) << "</reimplementedby>";
} }
} }
...@@ -1346,8 +1341,8 @@ static void writeListOfAllMembers(ClassDef *cd,QTextStream &t) ...@@ -1346,8 +1341,8 @@ static void writeListOfAllMembers(ClassDef *cd,QTextStream &t)
{ {
t << " ambiguityscope=\"" << mi->ambiguityResolutionScope << "\""; t << " ambiguityscope=\"" << mi->ambiguityResolutionScope << "\"";
} }
t << "><scope>" << cd->name() << "</scope><name>" << t << "><scope>" << convertToXML(cd->name()) << "</scope><name>" <<
md->name() << "</name></member>" << endl; convertToXML(md->name()) << "</name></member>" << endl;
} }
} }
t << " </listofallmembers>" << endl; t << " </listofallmembers>" << endl;
...@@ -1376,7 +1371,7 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti) ...@@ -1376,7 +1371,7 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
if (cd->templateMaster()!=0) return; // skip generated template instances. if (cd->templateMaster()!=0) return; // skip generated template instances.
ti << " <compound id=\"" << cd->getOutputFileBase() ti << " <compound id=\"" << cd->getOutputFileBase()
<< "\"><name>" << cd->name() << "</name>" << endl; << "\"><name>" << convertToXML(cd->name()) << "</name>" << endl;
QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY"); QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY");
QCString fileName=outputDirectory+"/xml/"+cd->getOutputFileBase()+".xml"; QCString fileName=outputDirectory+"/xml/"+cd->getOutputFileBase()+".xml";
...@@ -1540,7 +1535,7 @@ static void generateXMLForNamespace(NamespaceDef *nd,QTextStream &ti) ...@@ -1540,7 +1535,7 @@ static void generateXMLForNamespace(NamespaceDef *nd,QTextStream &ti)
if (nd->isReference()) return; // skip external references if (nd->isReference()) return; // skip external references
ti << " <compound id=\"" << nd->getOutputFileBase() ti << " <compound id=\"" << nd->getOutputFileBase()
<< "\"><name>" << nd->name() << "</name>" << endl; << "\"><name>" << convertToXML(nd->name()) << "</name>" << endl;
QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY"); QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY");
QCString fileName=outputDirectory+"/xml/"+nd->getOutputFileBase()+".xml"; QCString fileName=outputDirectory+"/xml/"+nd->getOutputFileBase()+".xml";
...@@ -1630,7 +1625,7 @@ static void generateXMLForFile(FileDef *fd,QTextStream &ti) ...@@ -1630,7 +1625,7 @@ static void generateXMLForFile(FileDef *fd,QTextStream &ti)
if (fd->isReference()) return; // skip external references if (fd->isReference()) return; // skip external references
ti << " <compound id=\"" << fd->getOutputFileBase() ti << " <compound id=\"" << fd->getOutputFileBase()
<< "\"><name>" << fd->name() << "</name>" << endl; << "\"><name>" << convertToXML(fd->name()) << "</name>" << endl;
QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY"); QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY");
QCString fileName=outputDirectory+"/xml/"+fd->getOutputFileBase()+".xml"; QCString fileName=outputDirectory+"/xml/"+fd->getOutputFileBase()+".xml";
...@@ -1763,7 +1758,7 @@ static void generateXMLForGroup(GroupDef *gd,QTextStream &ti) ...@@ -1763,7 +1758,7 @@ static void generateXMLForGroup(GroupDef *gd,QTextStream &ti)
if (gd->isReference()) return; // skip external references if (gd->isReference()) return; // skip external references
ti << " <compound id=\"" << gd->getOutputFileBase() ti << " <compound id=\"" << gd->getOutputFileBase()
<< "\"><name>" << gd->name() << "</name>" << endl; << "\"><name>" << convertToXML(gd->name()) << "</name>" << endl;
QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY"); QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY");
QCString fileName=outputDirectory+"/xml/"+gd->getOutputFileBase()+".xml"; QCString fileName=outputDirectory+"/xml/"+gd->getOutputFileBase()+".xml";
...@@ -1862,7 +1857,7 @@ static void generateXMLForPage(PageInfo *pi,QTextStream &ti) ...@@ -1862,7 +1857,7 @@ static void generateXMLForPage(PageInfo *pi,QTextStream &ti)
if (pi->isReference()) return; if (pi->isReference()) return;
ti << " <compound id=\"" << pi->getOutputFileBase() ti << " <compound id=\"" << pi->getOutputFileBase()
<< "\"><name>" << pi->name << "</name>" << endl; << "\"><name>" << convertToXML(pi->name) << "</name>" << endl;
QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY"); QCString outputDirectory = Config_getString("OUTPUT_DIRECTORY");
QCString fileName=outputDirectory+"/xml/"+pi->getOutputFileBase()+".xml"; QCString fileName=outputDirectory+"/xml/"+pi->getOutputFileBase()+".xml";
...@@ -1879,7 +1874,7 @@ static void generateXMLForPage(PageInfo *pi,QTextStream &ti) ...@@ -1879,7 +1874,7 @@ static void generateXMLForPage(PageInfo *pi,QTextStream &ti)
t << " <compounddef id=\""; t << " <compounddef id=\"";
if (Config_getBool("CASE_SENSE_NAMES")) t << pi->name; else t << pi->name.lower(); if (Config_getBool("CASE_SENSE_NAMES")) t << pi->name; else t << pi->name.lower();
t << "\" kind=\"page\">" << endl; t << "\" kind=\"page\">" << endl;
t << " <compoundname>" << pi->name << "</compoundname>" << endl; t << " <compoundname>" << convertToXML(pi->name) << "</compoundname>" << endl;
SectionInfo *si = Doxygen::sectionDict.find(pi->name); SectionInfo *si = Doxygen::sectionDict.find(pi->name);
if (si) if (si)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment