summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2008-04-20 08:30:56 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2008-04-20 08:30:56 (GMT)
commit2f0a01b60fb0cb5f2fb42510039c22eabd86e786 (patch)
tree1ef12f6f2f4d51d8e4486b2d467e6f047ef9515a /src
parent238c63a16c820818ba71ae256f3f50eed2a94cf2 (diff)
downloadDoxygen-2f0a01b60fb0cb5f2fb42510039c22eabd86e786.zip
Doxygen-2f0a01b60fb0cb5f2fb42510039c22eabd86e786.tar.gz
Doxygen-2f0a01b60fb0cb5f2fb42510039c22eabd86e786.tar.bz2
Release-1.5.5-20080420
Diffstat (limited to 'src')
-rw-r--r--src/classdef.cpp22
-rw-r--r--src/classdef.h1
-rw-r--r--src/config.l88
-rw-r--r--src/defargs.l2
-rw-r--r--src/defgen.cpp2
-rw-r--r--src/diagram.cpp4
-rw-r--r--src/docparser.cpp7
-rw-r--r--src/dot.cpp1
-rw-r--r--src/doxygen.cpp24
-rw-r--r--src/filedef.cpp2
-rw-r--r--src/formula.cpp5
-rw-r--r--src/groupdef.cpp51
-rw-r--r--src/index.cpp1
-rw-r--r--src/language.cpp2
-rw-r--r--src/memberdef.cpp14
-rw-r--r--src/membergroup.cpp29
-rw-r--r--src/perlmodgen.cpp2
-rw-r--r--src/scanner.l36
-rw-r--r--src/translator_fi.h1959
-rw-r--r--src/translator_fr.h2
-rw-r--r--src/util.cpp4
-rw-r--r--src/vhdldocgen.cpp4
-rw-r--r--src/vhdlscanner.l24
-rw-r--r--src/xmlgen.cpp2
24 files changed, 1834 insertions, 454 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp
index f2edcda..5f4f391 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -1075,6 +1075,12 @@ void ClassDef::writeClassDiagrams(OutputList &ol)
if (ok && bcd)
{
ClassDef *cd=bcd->classDef;
+
+ // use the class name but with the template arguments as given
+ // in the inheritance relation
+ QCString displayName = insertTemplateSpecifierInScope(
+ cd->name(),bcd->templSpecifiers);
+
if (cd->isLinkable())
{
if (!Config_getString("GENERATE_TAGFILE").isEmpty())
@@ -1098,11 +1104,11 @@ void ClassDef::writeClassDiagrams(OutputList &ol)
ol.writeObjectLink(cd->getReference(),
cd->getOutputFileBase(),
0,
- cd->displayName()+bcd->templSpecifiers);
+ displayName);
}
else
{
- ol.docify(cd->displayName());
+ ol.docify(displayName);
}
}
else
@@ -3384,3 +3390,15 @@ bool ClassDef::isUsedOnly() const
return m_impl->usedOnly;
}
+void ClassDef::reclassifyMember(MemberDef *md,MemberDef::MemberType t)
+{
+ md->setMemberType(t);
+ MemberList *ml = m_impl->memberLists.first();
+ while (ml)
+ {
+ ml->remove(md);
+ ml = m_impl->memberLists.next();
+ }
+ insertMember(md);
+}
+
diff --git a/src/classdef.h b/src/classdef.h
index fbac227..69e7368 100644
--- a/src/classdef.h
+++ b/src/classdef.h
@@ -314,6 +314,7 @@ class ClassDef : public Definition
void writeDeclaration(OutputList &ol,MemberDef *md,bool inGroup);
void writeDetailedDescription(OutputList &ol,const QCString &pageType,bool exampleFlag);
void writeQuickMemberLinks(OutputList &ol,MemberDef *md) const;
+ void reclassifyMember(MemberDef *md,MemberDef::MemberType t);
bool visited;
diff --git a/src/config.l b/src/config.l
index 7f116c2..7d30e6f 100644
--- a/src/config.l
+++ b/src/config.l
@@ -961,7 +961,7 @@ void Config::check()
//}
QCString &warnFormat = Config_getString("WARN_FORMAT");
- if (warnFormat.isEmpty())
+ if (warnFormat.stripWhiteSpace().isEmpty())
{
warnFormat="$file:$line $text";
}
@@ -969,18 +969,15 @@ void Config::check()
{
if (warnFormat.find("$file")==-1)
{
- config_err("Error: warning format does not contain a $file tag!\n");
- exit(1);
+ config_err("Warning: warning format does not contain a $file tag!\n");
}
if (warnFormat.find("$line")==-1)
{
- config_err("Error: warning format does not contain a $line tag!\n");
- exit(1);
+ config_err("Warning: warning format does not contain a $line tag!\n");
}
if (warnFormat.find("$text")==-1)
{
- config_err("Error: wanring format foes not contain a $text tag!\n");
- exit(1);
+ config_err("Warning: warning format foes not contain a $text tag!\n");
}
}
@@ -1248,6 +1245,28 @@ void Config::check()
examplePatternList.append("*");
}
+ // if no output format is enabled, warn the user
+ if (!Config_getBool("GENERATE_HTML") &&
+ !Config_getBool("GENERATE_LATEX") &&
+ !Config_getBool("GENERATE_MAN") &&
+ !Config_getBool("GENERATE_RTF") &&
+ !Config_getBool("GENERATE_XML") &&
+ !Config_getBool("GENERATE_PERLMOD") &&
+ !Config_getBool("GENERATE_RTF") &&
+ !Config_getBool("GENERATE_AUTOGEN_DEF") &&
+ Config_getString("GENERATE_TAGFILE").isEmpty()
+ )
+ {
+ config_err("Warning: No output formats selected! Set at least one of the main GENERATE_* options to YES.\n");
+ }
+
+ // you can't generate HTMLHELP without HTML enabled!
+ if (!Config_getBool("GENERATE_HTML") &&
+ Config_getBool("GENERATE_HTMLHELP"))
+ {
+ config_err("Warning: GENERATE_HTMLHELP=YES requires GENERATE_HTML=YES.\n");
+ }
+
if (Config_getBool("HAVE_DOT"))
{
QCString curFontPath = Config_getString("DOT_FONTPATH");
@@ -1299,28 +1318,6 @@ void Config::check()
annotationFromBrief.append("the");
}
-#if 0
- if (Config_getBool("CALL_GRAPH") &&
- (!Config_getBool("SOURCE_BROWSER") || !Config_getBool("REFERENCES_RELATION"))
- )
- {
- config_err("Warning: turning on CALL_GRAPH requires turning "
- "SOURCE_BROWSER and\nREFERENCES_RELATION on as well!\n"
- "Assuming SOURCE_BROWSER=YES and REFERENCES_RELATION=YES\n");
- Config_getBool("SOURCE_BROWSER")=TRUE;
- Config_getBool("REFERENCES_RELATION")=TRUE;
- }
- if (Config_getBool("CALLER_GRAPH") &&
- (!Config_getBool("SOURCE_BROWSER") || !Config_getBool("REFERENCED_BY_RELATION"))
- )
- {
- config_err("Warning: turning on CALLER_GRAPH requires turning "
- "SOURCE_BROWSER and\nREFERENCEDBY_RELATION on as well!\n"
- "Assuming SOURCE_BROWSER=YES and REFERENCED_BY_RELATION=YES\n");
- Config_getBool("SOURCE_BROWSER")=TRUE;
- Config_getBool("REFERENCED_BY_RELATION")=TRUE;
- }
-#endif
// some default settings for vhdl
if (Config_getBool("OPTIMIZE_OUTPUT_VHDL") &&
(Config_getBool("INLINE_INHERITED_MEMB") ||
@@ -1743,6 +1740,15 @@ void Config::create()
"instead of private inheritance when no explicit protection keyword is present. \n",
FALSE
);
+ cb = addBool( "IDL_PROPERTY_SUPPORT",
+ "For Microsoft's IDL there are propget and propput attributes to indicate getter \n"
+ "and setter methods for a property. Setting this option to YES (the default) \n"
+ "will make doxygen to replace the get and set methods by a property in the \n"
+ "documentation. This will only work if the methods are indeed getting or \n"
+ "setting a simple type. If this is not the case, or you want to show the \n"
+ "methods anyway, you should set this option to NO. \n",
+ TRUE
+ );
cb = addBool(
"DISTRIBUTE_GROUP_DOC",
"If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC \n"
@@ -2209,13 +2215,13 @@ void Config::create()
TRUE
);
cb = addBool( "REFERENCED_BY_RELATION",
- "If the REFERENCED_BY_RELATION tag is set to YES (the default) \n"
+ "If the REFERENCED_BY_RELATION tag is set to YES \n"
"then for each documented function all documented \n"
"functions referencing it will be listed. \n",
FALSE
);
cb = addBool( "REFERENCES_RELATION",
- "If the REFERENCES_RELATION tag is set to YES (the default) \n"
+ "If the REFERENCES_RELATION tag is set to YES \n"
"then for each documented function all documented entities \n"
"called/used by that function will be listed. \n",
FALSE
@@ -2339,8 +2345,8 @@ void Config::create()
"of the generated HTML documentation. \n",
FALSE
);
- cb = addBool(
- "GENERATE_DOCSET",
+ cb->addDependency("GENERATE_HTML");
+ cb = addBool( "GENERATE_DOCSET",
"If the GENERATE_DOCSET tag is set to YES, additional index files \n"
"will be generated that can be used as input for Apple's Xcode 3 \n"
"integrated development environment, introduced with OSX 10.5 (Leopard). \n"
@@ -2360,7 +2366,7 @@ void Config::create()
"can be grouped. \n"
);
cs->setDefaultValue("Doxygen generated docs");
- cb->addDependency("GENERATE_DOCSET");
+ cs->addDependency("GENERATE_DOCSET");
cs = addString(
"DOCSET_BUNDLE_ID",
"When GENERATE_DOCSET tag is set to YES, this tag specifies a string that \n"
@@ -2369,7 +2375,7 @@ void Config::create()
"will append .docset to the name. \n"
);
cs->setDefaultValue("org.doxygen.Project");
- cb->addDependency("GENERATE_DOCSET");
+ cs->addDependency("GENERATE_DOCSET");
cb = addBool(
"HTML_DYNAMIC_SECTIONS",
@@ -2468,6 +2474,16 @@ void Config::create()
0,1500,250
);
ci->addDependency("GENERATE_HTML");
+ ci = addInt(
+ "FORMULA_FONTSIZE",
+ "Use this tag to change the font size of Latex formulas included \n"
+ "as images in the HTML documentation. The default is 10. Note that \n"
+ "when you change the font size after a successful doxygen run you need \n"
+ "to manually remove any form_*.png images from the HTML output directory \n"
+ "to force them to be regenerated. \n",
+ 8,50,10
+ );
+ ci->addDependency("GENERATE_HTML");
//-----------------------------------------------------------------------------------------------
addInfo( "LaTeX","configuration options related to the LaTeX output");
@@ -3080,7 +3096,7 @@ void Config::create()
cl->addDependency("HAVE_DOT");
ci = addInt(
"DOT_GRAPH_MAX_NODES",
- "The MAX_DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of \n"
+ "The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of \n"
"nodes that will be shown in the graph. If the number of nodes in a graph \n"
"becomes larger than this value, doxygen will truncate the graph, which is \n"
"visualized by representing a node as a red box. Note that doxygen if the \n"
diff --git a/src/defargs.l b/src/defargs.l
index 81832a9..9fe6372 100644
--- a/src/defargs.l
+++ b/src/defargs.l
@@ -317,7 +317,7 @@ ID [a-z_A-Z][a-z_A-Z0-9]*
a->array = a->array.mid(1,alen-2);
if (i>0 && a->name.isEmpty())
{
- a->name = a->array.left(i);
+ a->name = a->array.left(i).stripWhiteSpace();
a->array = a->array.mid(i);
}
}
diff --git a/src/defgen.cpp b/src/defgen.cpp
index 2fd358e..4c52150 100644
--- a/src/defgen.cpp
+++ b/src/defgen.cpp
@@ -479,7 +479,7 @@ void generateDEFSection(Definition *d,
MemberList *ml,
const char *kind)
{
- if (ml->count()>0)
+ if (ml && ml->count()>0)
{
t << " " << kind << " = {" << endl;
MemberListIterator mli(*ml);
diff --git a/src/diagram.cpp b/src/diagram.cpp
index 53c062b..7374622 100644
--- a/src/diagram.cpp
+++ b/src/diagram.cpp
@@ -208,7 +208,9 @@ QCString DiagramItem::label() const
QCString result;
if (!templSpec.isEmpty())
{
- result=insertTemplateSpecifierInScope(classDef->displayName(),templSpec);
+ // we use classDef->name() here and not diplayName() in order
+ // to get the name used in the inheritance relation.
+ result=insertTemplateSpecifierInScope(classDef->name(),templSpec);
}
else
{
diff --git a/src/docparser.cpp b/src/docparser.cpp
index 77def03..f24b916 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -339,6 +339,7 @@ static void checkArgumentName(const QString &name,bool isParam)
for (ali.toFirst();(a=ali.current());++ali)
{
QString argName = g_memberDef->isDefine() ? a->type : a->name;
+ argName=argName.stripWhiteSpace();
//printf("argName=`%s'\n",argName.data());
if (argName.right(3)=="...") argName=argName.left(argName.length()-3);
if (aName==argName)
@@ -368,7 +369,7 @@ static void checkArgumentName(const QString &name,bool isParam)
}
warn_doc_error(docFile,docLine,
- "Warning: argument `%s' of command @param "
+ "Warning: argument '%s' of command @param "
"is not found in the argument list of %s%s%s%s",
aName.data(),scope.data(),g_memberDef->name().data(),
argListToString(al.pointer()).data(),inheritedFrom.data());
@@ -397,6 +398,7 @@ static void checkUndocumentedParams()
for (ali.toFirst();(a=ali.current());++ali)
{
QString argName = g_memberDef->isDefine() ? a->type : a->name;
+ argName=argName.stripWhiteSpace();
if (argName.right(3)=="...") argName=argName.left(argName.length()-3);
if (!argName.isEmpty() && g_paramsFound.find(argName)==0 && a->docs.isEmpty())
{
@@ -415,6 +417,7 @@ static void checkUndocumentedParams()
for (ali.toFirst();(a=ali.current());++ali)
{
QString argName = g_memberDef->isDefine() ? a->type : a->name;
+ argName=argName.stripWhiteSpace();
if (!argName.isEmpty() && g_paramsFound.find(argName)==0)
{
if (!first)
@@ -425,7 +428,7 @@ static void checkUndocumentedParams()
{
first=FALSE;
}
- errMsg+=" parameter "+argName;
+ errMsg+=" parameter '"+argName+"'";
}
}
if (g_memberDef->inheritsDocsFrom())
diff --git a/src/dot.cpp b/src/dot.cpp
index 0b736b1..51a2506 100644
--- a/src/dot.cpp
+++ b/src/dot.cpp
@@ -617,6 +617,7 @@ void DotNode::writeBox(QTextStream &t,
t << "\\n|";
writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberList::pubAttribs),m_classDef);
writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberList::pubStaticAttribs),m_classDef);
+ writeBoxMemberList(t,'+',m_classDef->getMemberList(MemberList::properties),m_classDef);
writeBoxMemberList(t,'~',m_classDef->getMemberList(MemberList::pacAttribs),m_classDef);
writeBoxMemberList(t,'~',m_classDef->getMemberList(MemberList::pacStaticAttribs),m_classDef);
writeBoxMemberList(t,'#',m_classDef->getMemberList(MemberList::proAttribs),m_classDef);
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index f759c98..3c878b8 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -1938,15 +1938,27 @@ static MemberDef *addVariableToClass(
MemberDef *md;
for (mni.toFirst();(md=mni.current());++mni)
{
- if (md->getClassDef()==cd && root->type==md->typeString())
+ //printf("md->getClassDef()=%p cd=%p type=[%s] md->typeString()=[%s]\n",
+ // md->getClassDef(),cd,root->type.data(),md->typeString());
+ if (md->getClassDef()==cd &&
+ removeRedundantWhiteSpace(root->type)==md->typeString())
// member already in the scope
{
+
+ if (root->objc &&
+ root->mtype==Property &&
+ md->memberType()==MemberDef::Variable)
+ { // Objective-C 2.0 property
+ // turn variable into a property
+ cd->reclassifyMember(md,MemberDef::Property);
+ }
addMemberDocs(rootNav,md,def,0,FALSE);
//printf(" Member already found!\n");
return md;
}
}
}
+
// new member variable, typedef or enum value
MemberDef *md=new MemberDef(
root->fileName,root->startLine,
@@ -1985,7 +1997,7 @@ static MemberDef *addVariableToClass(
//
md->setBodyDef(rootNav->fileDef());
- //printf("Adding member=%s\n",md->name().data());
+ //printf(" Adding member=%s\n",md->name().data());
// add the member to the global list
if (mn)
{
@@ -2104,6 +2116,7 @@ static MemberDef *addVariableToFile(
|| (nd!=0 && md->getNamespaceDef()==nd) // both in same namespace
)
&& !md->isDefine() // function style #define's can be "overloaded" by typedefs or variables
+ && !md->isEnumerate() // in C# an enum value and enum can have the same name
)
// variable already in the scope
{
@@ -6510,7 +6523,7 @@ static void addEnumValuesToEnums(EntryNav *rootNav)
e->loadEntry(g_storage);
MemberDef *fmd = addVariableToFile(e,MemberDef::EnumValue,
md->getOuterScope() ? md->getOuterScope()->name() : QCString(),
- e->name(),TRUE,0);
+ e->name(),FALSE,0);
md->insertEnumField(fmd);
fmd->setEnumScope(md);
e->releaseEntry();
@@ -9832,6 +9845,7 @@ void parseInput()
//}
classEntries.clear();
+ msg("Add enum values to enums...\n");
addEnumValuesToEnums(rootNav);
findEnumDocumentation(rootNav);
@@ -10166,7 +10180,9 @@ void generateOutput()
msg("Generating Perl module output...\n");
generatePerlMod();
}
- if (Config_getBool("GENERATE_HTMLHELP") && !Config_getString("HHC_LOCATION").isEmpty())
+ if (Config_getBool("GENERATE_HTML") &&
+ Config_getBool("GENERATE_HTMLHELP") &&
+ !Config_getString("HHC_LOCATION").isEmpty())
{
msg("Running html help compiler...\n");
QString oldDir = QDir::currentDirPath();
diff --git a/src/filedef.cpp b/src/filedef.cpp
index 5ba3094..053c1a5 100644
--- a/src/filedef.cpp
+++ b/src/filedef.cpp
@@ -662,7 +662,7 @@ void FileDef::writeSource(OutputList &ol)
startFile(ol,getSourceFileBase(),0,pageTitle,HLI_FileVisible,TRUE);
getDirDef()->writeNavigationPath(ol);
ol.endQuickIndices();
- ol.endContents();
+ ol.startContents();
startTitle(ol,getOutputFileBase());
ol.parseText(name());
endTitle(ol,getOutputFileBase(),title);
diff --git a/src/formula.cpp b/src/formula.cpp
index 037ce9d..0599c5d 100644
--- a/src/formula.cpp
+++ b/src/formula.cpp
@@ -166,7 +166,10 @@ void FormulaList::generateBitmaps(const char *path)
}
// scale the image so that it is four times larger than needed.
// and the sizes are a multiple of four.
- const double scaleFactor = 16.0/3.0;
+ double scaleFactor = 16.0/3.0;
+ int zoomFactor = Config_getInt("FORMULA_FONTSIZE");
+ if (zoomFactor<8 || zoomFactor>50) zoomFactor=10;
+ scaleFactor *= zoomFactor/10.0;
int gx = (((int)((x2-x1)*scaleFactor))+3)&~2;
int gy = (((int)((y2-y1)*scaleFactor))+3)&~2;
// Then we run ghostscript to convert the postscript to a pixmap
diff --git a/src/groupdef.cpp b/src/groupdef.cpp
index af0e83b..e193a17 100644
--- a/src/groupdef.cpp
+++ b/src/groupdef.cpp
@@ -60,24 +60,6 @@ GroupDef::GroupDef(const char *df,int dl,const char *na,const char *t,
memberGroupSDict->setAutoDelete(TRUE);
allMemberList = new MemberList(MemberList::allMembersList);
-#if 0
-
- decDefineMembers.setInGroup(TRUE);
- decProtoMembers.setInGroup(TRUE);
- decTypedefMembers.setInGroup(TRUE);
- decEnumMembers.setInGroup(TRUE);
- decEnumValMembers.setInGroup(TRUE);
- decFuncMembers.setInGroup(TRUE);
- decVarMembers.setInGroup(TRUE);
-
- docDefineMembers.setInGroup(TRUE);
- docProtoMembers.setInGroup(TRUE);
- docTypedefMembers.setInGroup(TRUE);
- docEnumMembers.setInGroup(TRUE);
- docEnumValMembers.setInGroup(TRUE);
- docFuncMembers.setInGroup(TRUE);
- docVarMembers.setInGroup(TRUE);
-#endif
visited = 0;
groupScope = 0;
@@ -142,14 +124,6 @@ void GroupDef::findSectionsInDocumentation()
ml->findSectionsInDocumentation();
}
}
-#if 0
- decDefineMembers.findSectionsInDocumentation();
- decProtoMembers.findSectionsInDocumentation();
- decTypedefMembers.findSectionsInDocumentation();
- decEnumMembers.findSectionsInDocumentation();
- decFuncMembers.findSectionsInDocumentation();
- decVarMembers.findSectionsInDocumentation();
-#endif
}
void GroupDef::addFile(const FileDef *def)
@@ -224,15 +198,6 @@ void GroupDef::addMembersToMemberGroup()
::addMembersToMemberGroup(ml,&memberGroupSDict,this);
}
}
-#if 0
- ::addMembersToMemberGroup(&decDefineMembers,&memberGroupSDict,this);
- ::addMembersToMemberGroup(&decProtoMembers,&memberGroupSDict,this);
- ::addMembersToMemberGroup(&decTypedefMembers,&memberGroupSDict,this);
- ::addMembersToMemberGroup(&decEnumMembers,&memberGroupSDict,this);
- ::addMembersToMemberGroup(&decEnumValMembers,&memberGroupSDict,this);
- ::addMembersToMemberGroup(&decFuncMembers,&memberGroupSDict,this);
- ::addMembersToMemberGroup(&decVarMembers,&memberGroupSDict,this);
-#endif
//printf("GroupDef::addMembersToMemberGroup() memberGroupList=%d\n",memberGroupList->count());
MemberGroupSDict::Iterator mgli(*memberGroupSDict);
@@ -872,14 +837,6 @@ void GroupDef::writeMemberPages(OutputList &ol)
ml->writeDocumentationPage(ol,name(),this);
}
}
-#if 0
- docDefineMembers.writeDocumentationPage(ol,name(),this);
- docProtoMembers.writeDocumentationPage(ol,name(),this);
- docTypedefMembers.writeDocumentationPage(ol,name(),this);
- docEnumMembers.writeDocumentationPage(ol,name(),this);
- docFuncMembers.writeDocumentationPage(ol,name(),this);
- docVarMembers.writeDocumentationPage(ol,name(),this);
-#endif
ol.popGeneratorState();
}
@@ -1154,14 +1111,6 @@ void GroupDef::addListReferences()
ml->addListReferences(this);
}
}
-#if 0
- docDefineMembers.addListReferences(this);
- docProtoMembers.addListReferences(this);
- docTypedefMembers.addListReferences(this);
- docEnumMembers.addListReferences(this);
- docFuncMembers.addListReferences(this);
- docVarMembers.addListReferences(this);
-#endif
}
MemberList *GroupDef::createMemberList(MemberList::ListType lt)
diff --git a/src/index.cpp b/src/index.cpp
index e2b7750..2b4c895 100644
--- a/src/index.cpp
+++ b/src/index.cpp
@@ -1736,7 +1736,6 @@ void writeQuickMemberIndex(OutputList &ol,
}
}
endQuickIndexList(ol);
- ol.newParagraph();
}
//----------------------------------------------------------------------------
diff --git a/src/language.cpp b/src/language.cpp
index 727eea9..aa5de7b 100644
--- a/src/language.cpp
+++ b/src/language.cpp
@@ -54,7 +54,7 @@
#include "translator_es.h"
#endif
#ifdef LANG_FI
-//#include "translator_fi.h"
+#include "translator_fi.h"
#endif
#ifdef LANG_RU
#include "translator_ru.h"
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 8a5a887..2180bb9 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -533,8 +533,8 @@ void MemberDefImpl::init(Definition *def,
{
declArgList = new ArgumentList;
stringToArgumentList(args,declArgList,&extraTypeChars);
- //printf("setDeclArgList %s to %p const=%d\n",args.data(),
- // declArgList,declArgList->constSpecifier);
+ //printf("setDeclArgList %s to %s const=%d\n",args.data(),
+ // argListToString(declArgList).data(),declArgList->constSpecifier);
}
else
{
@@ -766,7 +766,10 @@ QCString MemberDef::anchor() const
QCString result=m_impl->anc;
if (m_impl->groupAlias) return m_impl->groupAlias->anchor();
if (m_impl->templateMaster) return m_impl->templateMaster->anchor();
- if (m_impl->enumScope) result.prepend(m_impl->enumScope->anchor());
+ if (m_impl->enumScope && m_impl->enumScope!=this) // avoid recursion for C#'s public enum E { E, F }
+ {
+ result.prepend(m_impl->enumScope->anchor());
+ }
if (m_impl->group)
{
if (m_impl->groupMember)
@@ -1047,9 +1050,10 @@ bool MemberDef::isBriefSectionVisible() const
//printf("visibleIfStatic=%d visibleIfDocumented=%d visibleIfEnabled=%d "
// "visibleIfPrivate=%d visibltIfNotDefaultCDTor=%d "
- // "visibleIfFriendCompound=%d\n",visibleIfStatic,visibleIfDocumented,
+ // "visibleIfFriendCompound=%d !annScope=%d\n",
+ // visibleIfStatic,visibleIfDocumented,
// visibleIfEnabled,visibleIfPrivate,visibleIfNotDefaultCDTor,
- // visibleIfFriendCompound);
+ // visibleIfFriendCompound,!m_impl->annScope);
bool visible = visibleIfStatic && visibleIfDocumented &&
visibleIfEnabled && visibleIfPrivate &&
diff --git a/src/membergroup.cpp b/src/membergroup.cpp
index 3b9eb89..f20ae0f 100644
--- a/src/membergroup.cpp
+++ b/src/membergroup.cpp
@@ -165,17 +165,30 @@ void MemberGroup::distributeMemberGroupDocumentation()
{
//printf("MemberGroup::distributeMemberGroupDocumentation() %s\n",grpHeader.data());
MemberDef *md=memberList->first();
- if (md && !(md->documentation().isEmpty() &&
- md->briefDescription().isEmpty() &&
- md->inbodyDocumentation().isEmpty()
- )
- )
+ while (md)
{
- //printf("First member %s has documentation!\n",md->name().data());
- MemberDef *omd=memberList->next();
+ //printf("checking md=%s\n",md->name().data());
+ // find the first member of the group with documentation
+ if (!md->documentation().isEmpty() ||
+ !md->briefDescription().isEmpty() ||
+ !md->inbodyDocumentation().isEmpty()
+ )
+ {
+ //printf("found it!\n");
+ break;
+ }
+ md=memberList->next();
+ }
+ if (md) // distribute docs of md to other members of the list
+ {
+ //printf("Member %s has documentation!\n",md->name().data());
+ MemberDef *omd=memberList->first();
while (omd)
{
- if (omd->documentation().isEmpty() && omd->briefDescription().isEmpty() && omd->inbodyDocumentation().isEmpty())
+ if (md!=omd && omd->documentation().isEmpty() &&
+ omd->briefDescription().isEmpty() &&
+ omd->inbodyDocumentation().isEmpty()
+ )
{
//printf("Copying documentation to member %s\n",omd->name().data());
omd->setBriefDescription(md->briefDescription(),md->briefFile(),md->briefLine());
diff --git a/src/perlmodgen.cpp b/src/perlmodgen.cpp
index 9c7f033..0c6d6c1 100644
--- a/src/perlmodgen.cpp
+++ b/src/perlmodgen.cpp
@@ -546,7 +546,7 @@ void PerlModDocVisitor::visit(DocSymbol *sy)
case DocSymbol::Rdquo: c = '"'; break;
case DocSymbol::Ndash: c = '-'; break;
case DocSymbol::Mdash: s = "--"; break;
- case DocSymbol::Nbsp: c = ' '; break;
+ case DocSymbol::Nbsp: c = ' '; break;
case DocSymbol::Uml: accent = "umlaut"; break;
case DocSymbol::Acute: accent = "acute"; break;
case DocSymbol::Grave: accent = "grave"; break;
diff --git a/src/scanner.l b/src/scanner.l
index 61e8d11..b42e115 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -644,6 +644,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
%x PackageName
%x JavaImport
%x CSAccessorDecl
+%x CSGeneric
%x PreLineCtrl
%x DefinePHP
%x DefinePHPEnd
@@ -2725,11 +2726,17 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
}
}
<IDLAttribute>"propput" {
- current->mtype = Property;
+ if (Config_getBool("IDL_PROPERTY_SUPPORT"))
+ {
+ current->mtype = Property;
+ }
current->spec |= Entry::Settable;
}
<IDLAttribute>"propget" {
- current->mtype = Property;
+ if (Config_getBool("IDL_PROPERTY_SUPPORT"))
+ {
+ current->mtype = Property;
+ }
current->spec |= Entry::Gettable;
}
<IDLAttribute>. {
@@ -2744,7 +2751,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
BEGIN( IDLProp );
}
<IDLProp>{BN}*"["[^\]]*"]"{BN}* { // attribute of a parameter
- idlAttr += yytext;
+ idlAttr = yytext;
+ idlAttr=idlAttr.stripWhiteSpace();
}
<IDLProp>{ID} { // property type
idlProp = yytext;
@@ -2781,7 +2789,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
BEGIN( FindMembers );
}
<IDLProp>. { // spaces, *, or other stuff
- idlProp+=yytext;
+ //idlProp+=yytext;
}
<Array>"]" { current->args += *yytext ;
if (--squareCount<=0)
@@ -4273,11 +4281,31 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
{
BEGIN( ObjCProtocolList );
}
+ else if (insideCS) // C# generic class
+ {
+ BEGIN( CSGeneric );
+ }
else // C++ template specialization
{
BEGIN( ClassTemplSpec );
}
}
+<CSGeneric>"<" {
+ if (current->tArgLists==0)
+ {
+ current->tArgLists = new QList<ArgumentList>;
+ current->tArgLists->setAutoDelete(TRUE);
+ }
+ ArgumentList *al = new ArgumentList;
+ current->spec |= Entry::Template;
+ current->tArgLists->append(al);
+ currentArgumentList = al;
+ templateStr="<";
+ fullArgString = templateStr;
+ copyArgString = &templateStr;
+ currentArgumentContext = CompoundName;
+ BEGIN( ReadTempArgs );
+ }
<ObjCProtocolList>"<" {
insideProtocolList=TRUE;
BEGIN( Bases );
diff --git a/src/translator_fi.h b/src/translator_fi.h
index 43813e6..eb4cf19 100644
--- a/src/translator_fi.h
+++ b/src/translator_fi.h
@@ -17,7 +17,8 @@
/*
==================================================================================
Suomenkielinen käännös:
-Olli Korhonen <olli.korhonen@ccc.fi>
+Olli Korhonen ( -> 0.49-990425) <olli.korhonen@ccc.fi>
+Antti Laine (0.49-990425 -> ) <antti.a.laine@tut.fi>
==================================================================================
1999/10/19
* Alustava käännös valmis.
@@ -26,28 +27,31 @@ Olli Korhonen <olli.korhonen@ccc.fi>
kaikissa tapauksissa hyvä ratkaisu, ja parempikin termi voi
olla vakiintuneessa käytössä.
+2008/04/08
+* Käännetty versioon 1.5.5 asti.
+
* Tehtävää:
- Termien kokoaminen listaksi ja suomennosten järkevyyden tarkastelu. (lista on jo melko kattava)
Author = Tekijä
Class = Luokka
- Compound = Kooste ?
+ Compound = Kooste
Data = Data
Documentation = Dokumentaatio
- Defines = Määrittelyt ?
+ Defines = Määrittelyt
Description = Selite
Detailed = Yksityiskohtainen
- diagram = kaavio
- Enum = Enumeraatio ?
+ Diagram = Kaavio
+ Enum = Enumeraatio / Luettelotyyppi
Exceptions = Poikkeukset
File = Tiedosto
- Friends = Ystävät ?
+ Friends = Ystävät
Functions = Funktiot
Hierarchical = Hierarkinen
Index = Indeksi
Inherits = Perii
Member = Jäsen
Module = Moduli
- Namespace = Nimiavaruus ?
+ Namespace = Nimiavaruus
Parameters = Parametrit
Private = Yksityinen
Protected = Suojattu
@@ -56,12 +60,12 @@ Olli Korhonen <olli.korhonen@ccc.fi>
Reference Manual= Käsikirja
Reimplemented = Uudelleen toteutettu
Related = Liittyvä
- Signals = Signaali
- Slots = ?
+ Signals = Signaalit
+ Slots = Vastineet
Static = Staattinen
- Struct = ?
+ Struct = Tietue
Typedef = Tyyppimäärittely
- Union = ?
+ Union = Yhdiste
Variables = Muuttujat
- Taivutusmuotojen virheettömyyden tarkastelu prepositioiden korvauskohdissa.
- Sanasta sanaan käännöskohtien mielekkyyden tarkastelu valmiista dokumentista.
@@ -74,443 +78,654 @@ positiiviset kommentit otetaan ilolla vastaan.
#ifndef TRANSLATOR_FI_H
#define TRANSLATOR_FI_H
-class TranslatorFinnish : public TranslatorEnglish
+class TranslatorFinnish : public Translator
{
public:
/*! This method is used to generate a warning message to signal
* the user that the translation of his/her language of choice
* needs updating.
*/
- virtual QCString updateNeededMessage()
+ /*virtual QCString updateNeededMessage()
{
return "Warning: The Finnish translator is really obsolete.\n"
"It was not updated since version 1.0.0. As a result,\n"
"some sentences may appear in English.\n\n";
+ }*/
+
+ // --- Language control methods -------------------
+
+ /*! Used for identification of the language. The identification
+ * should not be translated. It should be replaced by the name
+ * of the language in English using lower-case characters only
+ * (e.g. "czech", "japanese", "russian", etc.). It should be equal to
+ * the identification used in language.cpp.
+ */
+ virtual QCString idLanguage()
+ { return "finnish"; }
+
+ /*! 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[finnish]{babel}\n";
}
- QCString idLanguage()
- { return "finnish"; }
+ /*! return the language charset. This will be used for the HTML output */
+ virtual QCString idLanguageCharset()
+ {
+ return "iso-8859-1";
+ }
+
+ // --- Language translation methods -------------------
- QCString trRelatedFunctions()
- // used in the compound documentation before a list of related functions.
- { return "Liittyvät Funktiot"; } // "Related Functions";
+ /*! used in the compound documentation before a list of related functions. */
+ virtual QCString trRelatedFunctions()
+ { return "Liittyvät funktiot"; } // "Related Functions";
- QCString trRelatedSubscript()
- // subscript for the related functions.
+ /*! subscript for the related functions. */
+ virtual QCString trRelatedSubscript()
{ return "(Huomaa, että nämä eivät ole jäsenfunktioita.)"; } // "(Note that these are not member functions.)"
- QCString trDetailedDescription()
- // header that is put before the detailed description of files, classes and namespaces.
- { return "Yksityiskohtainen Selite"; } // "Detailed Description"
+ /*! header that is put before the detailed description of files, classes and namespaces. */
+ virtual QCString trDetailedDescription()
+ { return "Yksityiskohtainen selite"; } // "Detailed Description"
- QCString trMemberTypedefDocumentation()
+ /*! header that is put before the list of typedefs. */
+ virtual QCString trMemberTypedefDocumentation()
// header that is put before the list of typedefs.
- { return "Jäsen Tyyppimäärittelyiden Dokumentaatio"; } // "Member Typedef Documentation"
+ { return "Jäsentyyppimäärittelyiden dokumentaatio"; } // "Member Typedef Documentation"
- QCString trMemberEnumerationDocumentation()
- // header that is put before the list of enumerations.
- { return "Jäsen Enumeraatioiden Dokumentaatio"; } // "Member Enumeration Documentation"
+ /*! header that is put before the list of enumerations. */
+ virtual QCString trMemberEnumerationDocumentation()
+ { return "Jäsenenumeraatioiden dokumentaatio"; } // "Member Enumeration Documentation"
- QCString trEnumerationValueDocumentation()
- { return "Enumeraatioarvojen Dokumentaatio"; }
+ /*! header that is put before the list of member functions. */
+ virtual QCString trMemberFunctionDocumentation()
+ { return "Jäsenfunktioiden dokumentaatio"; } // "Member Function Documentation"
- QCString trMemberFunctionDocumentation()
- // header that is put before the list of member functions.
- { return "Jäsen Funktioiden Dokumentaatio"; } // "Member Function Documentation"
- QCString trMemberDataDocumentation()
- // header that is put before the list of member attributes.
- { return "Jäsen Datan Dokumentaatio"; } // "Member Data Documentation"
+ /*! header that is put before the list of member attributes. */
+ virtual QCString trMemberDataDocumentation()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Kenttien dokumentaatio"; // "Field Documentation";
+ }
+ else
+ {
+ return "Jäsendatan dokumentaatio"; // "Member Data Documentation"
+ }
+ }
- QCString trMore()
- // 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()
{ return "Lisää..."; } // "More..."
- QCString trListOfAllMembers()
- // put in the class documentation
+ /*! put in the class documentation */
+ virtual QCString trListOfAllMembers()
{ return "Lista kaikista jäsenistä."; } // "List of all members."
- QCString trMemberList()
+ virtual QCString trMemberList()
- // used as the title of the "list of all members" page of a class
- { return "Jäsen Lista"; } // "Member List"
+ /*! used as the title of the "list of all members" page of a class */
+ { return "Jäsenlista"; } // "Member List"
- QCString trThisIsTheListOfAllMembers()
- // this is the first part of a sentence that is followed by a class name
+ /*! this is the first part of a sentence that is followed by a class name */
+ virtual QCString trThisIsTheListOfAllMembers()
{ return "Tämä on lista kaikista jäsenistä"; } // "This is the complete list of members for "
- QCString trIncludingInheritedMembers()
- // this is the remainder of the sentence after the class name
- { return ", sisältää kaikki perityt jäsenet."; } // ", including all inherited members."
-
- QCString trGeneratedAutomatically(const char *s)
- // this is put at the author sections at the bottom of man pages.
- // parameter s is name of the project name.
- { QCString result="Automaattisesti generoitu Doxygen:lla "; // "Generated automatically by Doxygen"
+
+ /*! this is the remainder of the sentence after the class name */
+ virtual QCString trIncludingInheritedMembers()
+ { return ", sisältäen kaikki perityt jäsenet."; } // ", including all inherited members."
+
+ /*! this is put at the author sections at the bottom of man pages.
+ * parameter s is name of the project name.
+ */
+ virtual QCString trGeneratedAutomatically(const char *s)
+ { QCString result=(QCString)"Automaattisesti generoitu Doxygenilla "
+ "lähdekoodista projektille "+s; // "Generated automatically by Doxygen" ... "for" ... "from the sourcecode"
//if (s) result+=(QCString)" voor "+s;
// tässä on ongelma, kuinka taivuttaa parametria, esim. "Jcad"+"in"; "IFC2VRML konversio"+"n"
// mutta ratkaistaan ongelma kätevästi kaksoispisteellä -> "Jcad:n" / "IFC2VRML konversio:n"
// lopputulos on vähemmän kökkö ja täysin luettava, mutta ei kuitenkaan täydellinen.
- if (s) result+=(QCString)s+":n ";
- result+="lähdekoodista."; // " from the source code."
+ //
+ // kierretään ongelma taivuttamalla sanaa projekti :)
return result;
}
- QCString trEnumName()
- // put after an enum name in the list of all members
+ /*! put after an enum name in the list of all members */
+ virtual QCString trEnumName()
{ return "enumeraation nimi"; } // "enum name"
- QCString trEnumValue()
- // put after an enum value in the list of all members
+ /*! put after an enum value in the list of all members */
+ virtual QCString trEnumValue()
{ return "enumeraation arvo"; } // "enum value"
- QCString trDefinedIn()
- // put after an undocumented member in the list of all members
+ /*! put after an undocumented member in the list of all members */
+ virtual QCString trDefinedIn()
{ return "määritelty"; } // "defined in"
// quick reference sections
- QCString trModules()
- // This is put above each page as a link to the list of all groups of
- // compounds or files (see the \group command).
- { return "Modulit"; } // "Modules"
- QCString trClassHierarchy()
- // This is put above each page as a link to the class hierarchy
- { return "Luokka Hierarkia"; } // "Class Hierarchy"
- QCString trCompoundList()
- // This is put above each page as a link to the list of annotated classes
- { return "Kooste Lista"; } // "Compound List"
- QCString trFileList()
- // This is put above each page as a link to the list of documented files
- { return "Tiedosto Lista"; } // "File List"
- QCString trHeaderFiles()
- // This is put above each page as a link to the list of all verbatim headers
- { return "Header Tiedostot"; } // "Header Files"
- QCString trCompoundMembers()
- // This is put above each page as a link to all members of compounds.
- { return "Koosteen Jäsenet"; } // "Compound Members"
- QCString trFileMembers()
- // This is put above each page as a link to all members of files.
- { return "Tiedosto Jäsenet"; } // "File Members"
- QCString trRelatedPages()
- // This is put above each page as a link to all related pages.
- { return "Liittyvät Sivut"; } // "Related Pages"
- QCString trExamples()
- // This is put above each page as a link to all examples.
+
+ /*! This is put above each page as a link to the list of all groups of
+ * compounds or files (see the \\group command).
+ */
+ virtual QCString trModules()
+ { return "Moduulit"; } // "Modules"
+
+ /*! This is put above each page as a link to the class hierarchy */
+ virtual QCString trClassHierarchy()
+ { return "Luokkahierarkia"; } // "Class Hierarchy"
+
+ /*! This is put above each page as a link to the list of annotated classes */
+ virtual QCString trCompoundList()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Tietueet"; // "Data Structures"
+ }
+ else
+ {
+ return "Luokkalista"; // "Class List"
+ }
+ }
+
+ /*! This is put above each page as a link to the list of documented files */
+ virtual QCString trFileList()
+ { return "Tiedostolista"; } // "File List"
+
+ /*! This is put above each page as a link to all members of compounds. */
+ virtual QCString trCompoundMembers()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Tietueen kentät"; // "Data Fields"
+ }
+ else
+ {
+ return "Luokan jäsenet"; // "Class Members"
+ }
+ }
+
+ /*! This is put above each page as a link to all members of files. */
+ virtual QCString trFileMembers()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Globaalit"; // "Globals"
+ }
+ else
+ {
+ return "Tiedoston jäsenet"; // "File Members"
+ }
+ }
+
+ /*! This is put above each page as a link to all related pages. */
+ virtual QCString trRelatedPages()
+ { return "Liittyvät sivut"; } // "Related Pages"
+
+ /*! This is put above each page as a link to all examples. */
+ virtual QCString trExamples()
{ return "Esimerkit"; } // "Examples"
- QCString trSearch()
- // This is put above each page as a link to the search engine.
+
+ /*! This is put above each page as a link to the search engine. */
+ virtual QCString trSearch()
{ return "Etsi"; } // "Search"
- QCString trClassHierarchyDescription()
- // This is an introduction to the class hierarchy.
+
+ /*! This is an introduction to the class hierarchy. */
+ virtual QCString trClassHierarchyDescription()
{ return "Tämä periytymislista on päätasoltaan aakkostettu " // "This inheritance list is sorted roughly, "
"mutta alijäsenet on aakkostettu itsenäisesti:"; // "but not completely, alphabetically:";
}
- QCString trFileListDescription(bool extractAll)
- // 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)
{
- QCString result="Täällä on lista kaikista ";
+ QCString result="Tässä on lista kaikista ";
if (!extractAll) result+="dokumentoiduista "; // "documented "
result+="tiedostoista lyhyen selitteen kera:"; // "files with brief descriptions:"
return result;
}
- QCString trCompoundListDescription()
- // This is an introduction to the annotated compound list
- { return "Täällä on luokat, struktuurit ja " // "Here are the classes, structs and "
- "unionit lyhyen selitteen kera:"; // "unions with brief descriptions:"
+
+ /*! This is an introduction to the annotated compound list. */
+ virtual QCString trCompoundListDescription()
+ {
+
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Tällä ovat tietueet lyhyen selitteen kera:"; // "Here are the data structures with brief descriptions:"
+ }
+ else
+ {
+ return "Tässä ovat luokat, tietueet ja " // "Here are the classes, structs and "
+ "yhdisteet lyhyen selitteen kera:"; // "unions with brief descriptions:"
+ }
}
- QCString trCompoundMembersDescription(bool extractAll)
- // 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)
{
- QCString result="Täällä on lista kaikista "; // "Here is a list of all "
- if (!extractAll) result+="dokumentoiduista "; // "documented "
- result+="luokan jäsenistä linkitettynä "; // "class members with links to "
+ QCString result="Tässä on lista kaikista "; // "Here is a list of all "
+ if (!extractAll)
+ {
+ result+="dokumentoiduista "; // "documented "
+ }
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ result+="tietuiden ja yhdisteiden kentistä"; // "struct and union fields"
+ }
+ else
+ {
+ result+="luokkien jäsenistä"; // "class members"
+ }
+ result+=" linkitettyinä "; // " with links to "
if (!extractAll)
- result+="jokaisen jäsenen luokkadokumentaatioon:"; // "the class documentation for each member:"
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ result+="jokaisen kentän tietueen/yhdisteen dokumentaatioon:"; // "the struct/union documentation for each field:"
+ }
+ else
+ {
+ result+="jokaisen jäsenen luokkadokumentaatioon:"; // "the class documentation for each member:"
+ }
+ }
else
- result+="luokkaan johon ne kuuluvat:"; // "the classes they belong to:"
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ result+= "tietueisiin/yhdisteisiin, joihin ne kuuluvat:"; // "the structures/unions they belong to:"
+ }
+ else
+ {
+ result+="luokkiin, joihin ne kuuluvat"; //"the classes they belong to:"
+ }
+ }
return result;
}
- QCString trFileMembersDescription(bool extractAll)
- // 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)
{
- QCString result="Täällä on lista kaikista "; // "Here is a list of all "
- if (!extractAll) result+="dokumentoiduista "; // "documented ";
- result+="tiedosto jäsenistä linkitettynä "; // "file members with links to "
+ QCString result="Tässä on lista kaikista "; // "Here is a list of all "
+ if (!extractAll) result+="dokumentoiduista "; // "documented "
+
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ result+="funktioista, muuttujista, määrittelyistä, luetteloista ja tyyppimäärittelyistä"; // "functions, variables, defines, enums, and typedefs"
+ }
+ else
+ {
+ result+="tiedoston jäsenistä"; // "file members"
+ }
+ result+=" linkitettyinä "; // " with links to "
if (extractAll)
- result+="kunkin jäsenen tiedosto dokumentaatioon:"; // "the file documentation for each member:"
+ result+="tiedostoon, johon ne kuuluvat:"; // "the files they belong to:"
else
- result+="tiedostoon johon ne kuuluvat:"; // "the files they belong to:"
+ result+="dokumentaatioon:"; // "the documentation:"
return result;
}
- QCString trHeaderFilesDescription()
- // This is an introduction to the page with the list of all header files
- { return "Täällä on kaikki header tiedostot jotka muodostavat API:n:"; } // "Here are the header files that make up the API:"
- QCString trExamplesDescription()
- // This is an introduction to the page with the list of all examples
- { return "Täällä on lista kaikista esimerkeistä:"; } // "Here is a list of all examples:"
- QCString trRelatedPagesDescription()
- // This is an introduction to the page with the list of related pages
- { return "Täällä on lista kaikista liittyvistä dokumentaatiosivuista:"; } // "Here is a list of all related documentation pages:"
- QCString trModulesDescription()
- // This is an introduction to the page with the list of class/file groups
- { return "Täällä on lista kaikista moduleista:"; } // "Here is a list of all modules:"
- QCString trNoDescriptionAvailable()
- // This sentences is used in the annotated class/file lists if no brief
- // description is given.
- { return "Selitettä ei ole saatavilla"; } // "No description available"
-
+
+ /*! This is an introduction to the page with the list of all examples */
+ virtual QCString trExamplesDescription()
+ { return "Tässä on lista kaikista esimerkeistä:"; } // "Here is a list of all examples:"
+
+ /*! This is an introduction to the page with the list of related pages */
+ virtual QCString trRelatedPagesDescription()
+ { return "Tässä on lista kaikista liittyvistä dokumentaatiosivuista:"; } // "Here is a list of all related documentation pages:"
+
+ /*! This is an introduction to the page with the list of class/file groups */
+ virtual QCString trModulesDescription()
+ { return "Tässä on lista kaikista moduleista:"; } // "Here is a list of all modules:"
+
// index titles (the project name is prepended for these)
- QCString trDocumentation()
- // This is used in HTML as the title of index.html.
+
+ /*! This is used in HTML as the title of index.html. */
+ virtual QCString trDocumentation()
{ return "Dokumentaatio"; } // "Documentation"
- QCString trModuleIndex()
- // This is used in LaTeX as the title of the chapter with the
- // index of all groups.
- { return "Moduli Indeksi"; } // "Module Index"
- QCString trHierarchicalIndex()
- // This is used in LaTeX as the title of the chapter with the
- // class hierarchy.
- { return "Hierarkinen Indeksi"; } // "Hierarchical Index"
- QCString trCompoundIndex()
- // This is used in LaTeX as the title of the chapter with the
- // annotated compound index
- { return "Koosteiden Indeksi"; } // "Compound Index"
- QCString trFileIndex()
- // This is used in LaTeX as the title of the chapter with the
- // list of all files.
- { return "Tiedosto Indeksi"; } // "File Index"
- QCString trModuleDocumentation()
- // This is used in LaTeX as the title of the chapter containing
- // the documentation of all groups.
- { return "Moduli Dokumentaatio"; } // "Module Documentation"
- QCString trClassDocumentation()
- // This is used in LaTeX as the title of the chapter containing
- // the documentation of all classes, structs and unions.
- { return "Luokka Dokumentaatio"; } // "Class Documentation"
- QCString trFileDocumentation()
- // This is used in LaTeX as the title of the chapter containing
- // the documentation of all files.
- { return "Tiedosto Dokumentaatio"; } // "File Documentation"
- QCString trExampleDocumentation()
- // This is used in LaTeX as the title of the chapter containing
- // the documentation of all examples.
- { return "Esimerkkien Dokumentaatio"; } // "Example Documentation"
- QCString trPageDocumentation()
- // This is used in LaTeX as the title of the chapter containing
- // the documentation of all related pages.
- { return "Sivujen Dokumentaatio"; } // "Page Documentation"
- QCString trReferenceManual()
- // This is used in LaTeX as the title of the document
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * index of all groups.
+ */
+ virtual QCString trModuleIndex()
+ { return "Moduuliluettelo"; } // "Module Index"
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * class hierarchy.
+ */
+ virtual QCString trHierarchicalIndex()
+ { return "Hierarkinen luettelo"; } // "Hierarchical Index"
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * annotated compound index.
+ */
+ virtual QCString trCompoundIndex()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Tietueluettelo"; // "Data Structure Index"
+ }
+ else
+ {
+ return "Luokkaluettelo"; // "Class Index"
+ }
+ }
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * list of all files.
+ */
+ virtual QCString trFileIndex()
+ { return "Tiedostoluettelo"; } // "File Index"
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all groups.
+ */
+ virtual QCString trModuleDocumentation()
+ { return "Moduulien dokumentaatio"; } // "Module Documentation"
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all classes, structs and unions.
+ */
+ virtual QCString trClassDocumentation()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Tietueiden dokumentaatio"; // "Data Structure Documentation"
+ }
+ else
+ {
+ return "Luokkien dokumentaatio"; // "Class Documentation"
+ }
+ }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all files.
+ */
+ virtual QCString trFileDocumentation()
+ { return "Tiedostojen dokumentaatio"; } // "File Documentation"
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all examples.
+ */
+ virtual QCString trExampleDocumentation()
+ { return "Esimerkkien dokumentaatio"; } // "Example Documentation"
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all related pages.
+ */
+ virtual QCString trPageDocumentation()
+ { return "Sivujen dokumentaatio"; } // "Page Documentation"
+
+ /*! This is used in LaTeX as the title of the document */
+ virtual QCString trReferenceManual()
{ return "Käsikirja"; } // "Reference Manual"
- QCString trDefines()
- // This is used in the documentation of a file as a header before the
- // list of defines
+ /*! This is used in the documentation of a file as a header before the
+ * list of defines
+ */
+ virtual QCString trDefines()
{ return "Määrittelyt"; } // "Defines"
- QCString trFuncProtos()
- // This is used in the documentation of a file as a header before the
- // list of function prototypes
- { return "Funktioiden Prototyypit"; } // "Function Prototypes"
- QCString trTypedefs()
- // This is used in the documentation of a file as a header before the
- // list of typedefs
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of function prototypes
+ */
+ virtual QCString trFuncProtos()
+ { return "Funktioiden prototyypit"; } // "Function Prototypes"
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of typedefs
+ */
+ virtual QCString trTypedefs()
{ return "Tyyppimäärittelyt"; } // "Typedefs"
- QCString trEnumerations()
- // This is used in the documentation of a file as a header before the
- // list of enumerations
- { return "Enumeraatiot"; } // "Enumerations"
- QCString trFunctions()
- // This is used in the documentation of a file as a header before the
- // list of (global) functions
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of enumerations
+ */
+ virtual QCString trEnumerations()
+ { return "Luettelotyypit"; } // "Enumerations"
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of (global) functions
+ */
+ virtual QCString trFunctions()
{ return "Funktiot"; } // "Functions"
- QCString trVariables()
- // This is used in the documentation of a file as a header before the
- // list of (global) variables
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of (global) variables
+ */
+ virtual QCString trVariables()
{ return "Muuttujat"; } // "Variables"
- QCString trEnumerationValues()
- // This is used in the documentation of a file as a header before the
- // list of (global) variables
- { return "Enumeraation arvot"; } // "Enumeration values"
-
- QCString trDefineDocumentation()
- // This is used in the documentation of a file before the list of
- // documentation blocks for defines
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of (global) variables
+ */
+ virtual QCString trEnumerationValues()
+ { return "Luettelotyyppien arvot"; } // "Enumerator"
+
+ /*! This is used in the documentation of a file before the list of
+ * documentation blocks for defines
+ */
+ virtual QCString trDefineDocumentation()
{ return "Määritysten dokumentointi"; } // "Define Documentation"
- QCString trFunctionPrototypeDocumentation()
- // This is used in the documentation of a file/namespace before the list
- // of documentation blocks for function prototypes
- { return "Funktio Prototyyppien Dokumentaatio"; } // "Function Prototype Documentation"
- QCString trTypedefDocumentation()
- // This is used in the documentation of a file/namespace before the list
- // of documentation blocks for typedefs
- { return "Tyyppimääritysten Dokumentaatio"; } // "Typedef Documentation"
- QCString trEnumerationTypeDocumentation()
- // This is used in the documentation of a file/namespace before the list
- // of documentation blocks for enumeration types
- { return "Enumeraatio Tyyppien Dokumentaatio"; } // "Enumeration Type Documentation"
- QCString trFunctionDocumentation()
- // This is used in the documentation of a file/namespace before the list
- // of documentation blocks for functions
- { return "Funktioiden Dokumentaatio"; } // "Function Documentation"
- QCString trVariableDocumentation()
- // This is used in the documentation of a file/namespace before the list
- // of documentation blocks for variables
- { return "Muuttujien Dokumentaatio"; } // "Variable Documentation"
- QCString trCompounds()
- // This is used in the documentation of a file/namespace/group before
- // the list of links to documented compounds
- { return "Koosteet"; } // "Compounds"
- QCString trFiles()
- // This is used in the documentation of a group before the list of
- // links to documented files
- { return "Tiedostot"; } // "Files"
-
- QCString trGeneratedAt(const char *date,const char *projName)
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for function prototypes
+ */
+ virtual QCString trFunctionPrototypeDocumentation()
+ { return "Funktioprototyyppien dokumentaatio"; } // "Function Prototype Documentation"
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for typedefs
+ */
+ virtual QCString trTypedefDocumentation()
+ { return "Tyyppimääritysten dokumentaatio"; } // "Typedef Documentation"
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for enumeration types
+ */
+ virtual QCString trEnumerationTypeDocumentation()
+ { return "Luettelotyyppien dokumentaatio"; } // "Enumeration Type Documentation"
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for functions
+ */
+ virtual QCString trFunctionDocumentation()
+ { return "Funktioiden dokumentaatio"; } // "Function Documentation"
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for variables
+ */
+ virtual QCString trVariableDocumentation()
+ { return "Muuttujien dokumentaatio"; } // "Variable Documentation"
+
+ /*! This is used in the documentation of a file/namespace/group before
+ * the list of links to documented compounds
+ */
+ virtual QCString trCompounds()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Tietueet"; // "Data Structures"
+ }
+ else
+ {
+ return "Luokat"; // "Classes"
+ }
+ }
+
+ /*! 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)
{
// funktio on hiukan vaikea kääntää prepositioihin sidotun rakenteen vuoksi.
- QCString result=(QCString)"Generoitu "+date; // "Generated at "
- if (projName) result+=(QCString)" projektille "+projName; // " for "
- result+=(QCString)" tekijä: "; // " by"
+ // Muutetaan siis lauserakennetta suomalaisemmaksi
+ // Generated on $date for $project by:
+ // -> Generated for $project on $date by:
+ QCString result=(QCString)"Generoinut ";
+ if (projName) result+=(QCString)"projektille "+projName+" ";
+ result+=(QCString)date+" ";
return result;
}
- QCString trWrittenBy()
+ /*! This is part of the sentence used in the standard footer of each page.
+ */
+ virtual QCString trWrittenBy()
{
return "kirjoittanut"; // "written by"
}
- QCString trClassDiagram(const char *clName)
- // this text is put before a class diagram
+
+ /*! this text is put before a class diagram */
+ virtual QCString trClassDiagram(const char *clName)
{
- return (QCString)clName+":n Luokkakaavio"; // "Class diagram for "
+ return "Luokan "+(QCString)clName+" luokkakaavio"; // "Inheritance diagram for "
}
- QCString trForInternalUseOnly()
- // this text is generated when the \internal command is used.
+ /*! this text is generated when the \\internal command is used. */
+ virtual QCString trForInternalUseOnly()
{ return "Vain sisäiseen käyttöön."; } // "For internal use only."
- QCString trReimplementedForInternalReasons()
- // this text is generated when the \reimp command is used.
- { return "Uudelleen toteutettu sisäisistä syistä; API ei ole muuttunut."; } // "Reimplemented for internal reasons; the API is not affected."
- QCString trWarning()
- // this text is generated when the \warning command is used.
+
+ /*! this text is generated when the \\warning command is used. */
+ virtual QCString trWarning()
{ return "Varoitus"; } // "Warning"
- // this text is generated when the \bug command is used.
- QCString trBugsAndLimitations()
- { return "Virheet ja rajoitukset"; } // "Bugs and limitations"
- QCString trVersion()
- // this text is generated when the \version command is used.
+
+ /*! this text is generated when the \\version command is used. */
+ virtual QCString trVersion()
{ return "Versio"; } // "Version"
- QCString trDate()
- // this text is generated when the \date command is used.
+
+ /*! this text is generated when the \\date command is used. */
+ virtual QCString trDate()
{ return "Päiväys"; } // "Date"
- QCString trAuthors()
- // this text is generated when the \author command is used.
- { return "Tekijä(t)"; } // "Author(s)"
- QCString trReturns()
- // this text is generated when the \return command is used.
+
+ /*! this text is generated when the \\return command is used. */
+ virtual QCString trReturns()
{ return "Palauttaa"; } // "Returns"
- QCString trSeeAlso()
- // this text is generated when the \sa command is used.
+
+ /*! this text is generated when the \\sa command is used. */
+ virtual QCString trSeeAlso()
{ return "Katso myös"; } // "See also"
- QCString trParameters()
- // this text is generated when the \param command is used.
+
+ /*! this text is generated when the \\param command is used. */
+ virtual QCString trParameters()
{ return "Parametrit"; } // "Parameters"
- QCString trExceptions()
- // this text is generated when the \exception command is used.
+
+ /*! this text is generated when the \\exception command is used. */
+ virtual QCString trExceptions()
{ return "Poikkeukset"; } // "Exceptions"
- QCString trGeneratedBy()
- // this text is used in the title page of a LaTeX document.
+
+ /*! this text is used in the title page of a LaTeX document. */
+ virtual QCString trGeneratedBy()
{ return "Generoinut"; } // "Generated by"
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990307
//////////////////////////////////////////////////////////////////////////
- QCString trNamespaceList()
- // used as the title of page containing all the index of all namespaces.
+ /*! used as the title of page containing all the index of all namespaces. */
+ virtual QCString trNamespaceList()
{ return "Nimiavaruus Lista"; } // "Namespace List"
- QCString trNamespaceListDescription(bool extractAll)
- // used as an introduction to the namespace list
+
+ /*! used as an introduction to the namespace list */
+ virtual QCString trNamespaceListDescription(bool extractAll)
{
- QCString result="Täällä on lista kaikista "; // "Here is a list of all "
- if (!extractAll) result+="dokumentoiduista "; // "Here is a list of all "
+ QCString result="Tässä on lista kaikista "; // "Here is a list of all "
+ if (!extractAll) result+="dokumentoiduista "; // "documented "
result+="nimiavaruuksista lyhyen selitteen kera:"; // "namespaces with brief descriptions:"
return result;
}
- QCString trFriends()
- // used in the class documentation as a header before the list of all
- // friends of a class
+
+ /*! used in the class documentation as a header before the list of all
+ * friends of a class
+ */
+ virtual QCString trFriends()
{ return "Ystävät"; } // "Friends"
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
//////////////////////////////////////////////////////////////////////////
- QCString trRelatedFunctionDocumentation()
- // used in the class documentation as a header before the list of all
- // related classes
- { return "Ystävät ja niihin Liittyvien Funktioiden Dokumentaatio"; } // "Friends And Related Function Documentation"
+ /*! used in the class documentation as a header before the list of all
+ * related classes
+ */
+ virtual QCString trRelatedFunctionDocumentation()
+ { return "Ystävät ja niihin liittyvien funktioiden dokumentaatio"; } // "Friends And Related Function Documentation"
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
//////////////////////////////////////////////////////////////////////////
+ /*! used as the title of the HTML page of a class/struct/union */
virtual QCString trCompoundReference(const char *clName,
ClassDef::CompoundType compType,
- bool /*isTemplate*/)
- // used as the title of the HTML page of a class/struct/union
+ bool isTemplate)
{
- QCString result=(QCString)clName+" ";
+ QCString result=(QCString)clName;
switch(compType)
{
- case ClassDef::Class: result+=" Luokka"; break; // "Class"
- case ClassDef::Struct: result+=" Struct"; break; // "Struct"
- case ClassDef::Union: result+=" Union"; break; // "Union"
- case ClassDef::Interface: result+=" Interface"; break; // "Interface"
- case ClassDef::Protocol: result+=" Protocol"; break; // translate me!
- case ClassDef::Category: result+=" Category"; break; // translate me!
- case ClassDef::Exception: result+=" Exception"; break; // "Interface"
+ case ClassDef::Class: result+=" Luokka"; break; // " Class"
+ case ClassDef::Struct: result+=" Tietue"; break; // " Struct"
+ case ClassDef::Union: result+=" Yhdiste"; break; // " Union"
+ case ClassDef::Interface: result+=" Rajapinta"; break; // " Interface"
+ case ClassDef::Protocol: result+=" Protokolla"; break; // " Protocol"
+ case ClassDef::Category: result+=" Kategoria"; break; // " Category"
+ case ClassDef::Exception: result+=" Poikkeus"; break; // " Exception"
}
- result+=" Referenssi"; // " Reference"
+ if (isTemplate) result+="malli"; // " Template"
+ result+="referenssi"; // " Reference"
return result;
}
+
+ /*! used as the title of the HTML page of a file */
virtual QCString trFileReference(const char *fileName)
- // used as the title of the HTML page of a file
{
QCString result=fileName;
- result+=" Tiedosto Referenssi"; // " File Reference"
+ result+=" Tiedostoreferenssi"; // " File Reference"
return result;
}
+
+ /*! used as the title of the HTML page of a namespace */
virtual QCString trNamespaceReference(const char *namespaceName)
- // used as the title of the HTML page of a namespace
{
QCString result=namespaceName;
- result+=" Nimiavaruus Referenssi"; // " Namespace Reference"
+ result+=" Nimiavaruusreferenssi"; // " Namespace Reference"
return result;
}
- // these are for the member sections of a class, struct or union
virtual QCString trPublicMembers()
- { return "Julkiset Jäsenet"; } // "Public Members"
+ { return "Julkiset jäsenfunktiot"; } // "Public Member Functions"
virtual QCString trPublicSlots()
- { return "Julkiset Slotit"; } // "Public Slots"
+ { return "Julkiset vastineet"; } // "Public Slots"
virtual QCString trSignals()
{ return "Signaalit"; } // "Signals"
virtual QCString trStaticPublicMembers()
- { return "Staattiset Julkiset Jäsenet"; } // "Static Public Members"
+ { return "Staattiset julkiset jäsenfunktiot"; } // "Static Public Member Functions"
virtual QCString trProtectedMembers()
- { return "Suojatut Jäsenet"; } // "Protected Members"
+ { return "Suojatut jäsenfunktiot"; } // "Protected Member Functions"
virtual QCString trProtectedSlots()
- { return "Suojatut Slotit"; } // "Protected Slots"
+ { return "Suojatut vastineet"; } // "Protected Slots"
virtual QCString trStaticProtectedMembers()
- { return "Staattiset Suojatut Jäsenet"; } // "Static Protected Members"
+ { return "Staattiset suojatut jäsenfunktiot"; } // "Static Protected Member Functions"
virtual QCString trPrivateMembers()
- { return "Yksityiset Jäsenet"; } // "Private Members"
+ { return "Yksityiset jäsenfunktiot"; } // "Private Member Functions"
virtual QCString trPrivateSlots()
- { return "Yksityiset Slotit"; } // "Private Slots"
+ { return "Yksityiset vastineet"; } // "Private Slots"
virtual QCString trStaticPrivateMembers()
- { return "Staattiset Yksityiset Jäsenet"; } // "Static Private Members"
- // end of member sections
-
+ { return "Staattiset yksityiset jäsenfunktiot"; } // "Static Private Member Functions"
+
+ /*! this function is used to produce a comma-separated list of items.
+ * use generateMarker(i) to indicate where item i should be put.
+ */
virtual QCString trWriteList(int numEntries)
{
- // this function is used to produce a comma-separated list of items.
- // use generateMarker(i) to indicate where item i should be put.
QCString result;
int i;
// the inherits list contain `numEntries' classes
@@ -531,54 +746,1152 @@ class TranslatorFinnish : public TranslatorEnglish
return result;
}
+ /*! used in class documentation to produce a list of base classes,
+ * if class diagrams are disabled.
+ */
virtual QCString trInheritsList(int numEntries)
- // used in class documentation to produce a list of base classes,
- // if class diagrams are disabled.
{
return "Perijät "+trWriteList(numEntries)+"."; // "Inherits "
}
+
+ /*! used in class documentation to produce a list of super classes,
+ * if class diagrams are disabled.
+ */
virtual QCString trInheritedByList(int numEntries)
- // used in class documentation to produce a list of super classes,
- // if class diagrams are disabled.
{
return "Periytyy "+trWriteList(numEntries)+"."; // "Inherited by "
}
+
+ /*! used in member documentation blocks to produce a list of
+ * members that are hidden by this one.
+ */
virtual QCString trReimplementedFromList(int numEntries)
- // used in member documentation blocks to produce a list of
- // members that are hidden by this one.
{
- return "Uudelleen toteutettu "+trWriteList(numEntries)+"."; // "Reimplemented from "
+ return "Uudelleen toteutettaa "+trWriteList(numEntries)+"."; // "Reimplemented from "
}
+
+ /*! used in member documentation blocks to produce a list of
+ * all member that overwrite the implementation of this member.
+ */
virtual QCString trReimplementedInList(int numEntries)
{
- // used in member documentation blocks to produce a list of
- // all member that overwrite the implementation of this member.
return "Uudelleen toteutettu "+trWriteList(numEntries)+"."; // "Reimplemented in "
}
+ /*! This is put above each page as a link to all members of namespaces. */
virtual QCString trNamespaceMembers()
- // This is put above each page as a link to all members of namespaces.
{ return "Nimiavaruuden jäsenet"; } // "Namespace Members"
+
+ /*! This is an introduction to the page with all namespace members */
virtual QCString trNamespaceMemberDescription(bool extractAll)
- // This is an introduction to the page with all namespace members
{
- QCString result="Täällä on lista kaikista "; // "Here is a list of all "
+ QCString result="Tässä on lista kaikista "; // "Here is a list of all "
if (!extractAll) result+="dokumentoiduista "; // "documented "
result+="nimiavaruuden jäsenistä linkitettynä "; // "namespace members with links to "
if (extractAll)
result+="nimiavaruuden dokumentaatioon johon ne kuuluvat:"; // "the namespace documentation for each member:";
else
- result+="nimiavaruuteen johon ne kuuluvat:"; // "the namespaces they belong to:"
+ result+="nimiavaruuksiin joihin ne kuuluvat:"; // "the namespaces they belong to:"
return result;
}
+ /*! This is used in LaTeX as the title of the chapter with the
+ * index of all namespaces.
+ */
virtual QCString trNamespaceIndex()
- // This is used in LaTeX as the title of the chapter with the
- // index of all namespaces.
- { return "Nimiavaruuden Indeksi"; } // "Namespace Index"
+ { return "Nimiavaruuksien luettelo"; } // "Namespace Index"
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all namespaces.
+ */
virtual QCString trNamespaceDocumentation()
- // This is used in LaTeX as the title of the chapter containing
- // the documentation of all namespaces.
- { return "Nimiavaruuden Dokumentaatio"; } // "Namespace Documentation"
+ { return "Nimiavaruuden dokumentaatio"; } // "Namespace Documentation"
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-990522
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This is used in the documentation before the list of all
+ * namespaces in a file.
+ */
+ virtual QCString trNamespaces()
+ { return "Nimiavaruudet"; } // "Namespaces"; }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-990728
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This is put at the bottom of a class documentation page and is
+ * followed by a list of files that were used to generate the page.
+ */
+ virtual QCString trGeneratedFromFiles(ClassDef::CompoundType compType,
+ bool single)
+ { // here s is one of " Class", " Struct" or " Union"
+ // single is true implies a single file
+ QCString result=(QCString)"Dokumentaatio tälle "; // "The documentation for this "
+ switch(compType)
+ {
+ case ClassDef::Class: result+="luokalle"; break; // "class"
+ case ClassDef::Struct: result+="tietueelle"; break; // "struct"
+ case ClassDef::Union: result+="yhdisteelle"; break; // "union"
+ case ClassDef::Interface: result+="rajapinnalle"; break; // "interface"
+ case ClassDef::Protocol: result+="protokollalle"; break; // "protocol"
+ case ClassDef::Category: result+="kategorialle"; break; // "category"
+ case ClassDef::Exception: result+="poikkeukselle"; break; // "exception"
+ }
+ if (single) result+=" generoitiin seuraavasta tiedostosta:"; // " was generated from the following file"
+ else result+=" generoitiin seuraavista tiedostoista:"; // ":" or "s:"
+ return result;
+ }
+
+ /*! This is in the (quick) index as a link to the alphabetical compound
+ * list.
+ */
+ virtual QCString trAlphabeticalList()
+ { return "Aakkosellinen lista"; } // "Alphabetical List"
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-990901
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This is used as the heading text for the retval command. */
+ virtual QCString trReturnValues()
+ { return "Paluuarvot"; } // "Return values"
+
+ /*! This is in the (quick) index as a link to the main page (index.html)
+ */
+ virtual QCString trMainPage()
+ { return "Pääsivu"; } // "Main Page"
+
+ /*! This is used in references to page that are put in the LaTeX
+ * documentation. It should be an abbreviation of the word page.
+ */
+ virtual QCString trPageAbbreviation()
+ { return "s."; } // "p."
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-991003
+//////////////////////////////////////////////////////////////////////////
+
+ virtual QCString trDefinedAtLineInSourceFile()
+ {
+ return "Määrittely tiedoston @1 rivillä @0."; // "Definition at line @0 of file @1."
+ }
+ virtual QCString trDefinedInSourceFile()
+ {
+ return "Määrittely tiedostossa @0."; // "Definition in file @0."
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-991205
+//////////////////////////////////////////////////////////////////////////
+
+ virtual QCString trDeprecated()
+ {
+ return "Vanhentunut"; // "Deprecated"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.0.0
+//////////////////////////////////////////////////////////////////////////
+
+ /*! this text is put before a collaboration diagram */
+ virtual QCString trCollaborationDiagram(const char *clName)
+ {
+ return (QCString)"Yhteistyökaavio luokalle "+clName+":"; // "Collaboration diagram for "+clName+":"
+ }
+ /*! this text is put before an include dependency graph */
+ virtual QCString trInclDepGraph(const char *fName)
+ {
+ return (QCString)"Sisällytysriippuvuuskaavio tiedostolle "+fName+":"; // "Include dependency graph for "+fName+":"
+ }
+ /*! header that is put before the list of constructor/destructors. */
+ virtual QCString trConstructorDocumentation()
+ {
+ return "Rakentajien & purkajien dokumentaatio"; // "Constructor & Destructor Documentation";
+ }
+ /*! Used in the file documentation to point to the corresponding sources. */
+ virtual QCString trGotoSourceCode()
+ {
+ return "Siirry tämän tiedoston lähdekoodiin."; // "Go to the source code of this file."
+ }
+ /*! Used in the file sources to point to the corresponding documentation. */
+ virtual QCString trGotoDocumentation()
+ {
+ return "Mene tämän tiedoston dokumentaatioon."; // "Go to the documentation of this file."
+ }
+ /*! Text for the \\pre command */
+ virtual QCString trPrecondition()
+ {
+ return "Esiehto"; //"Precondition"
+ }
+ /*! Text for the \\post command */
+ virtual QCString trPostcondition()
+ {
+ return "Jälkiehto"; // "Postcondition"
+ }
+ /*! Text for the \\invariant command */
+ virtual QCString trInvariant()
+ {
+ return "Invariantti"; // vai "Pysyväisväittämä"? "Invariant"
+ }
+ /*! Text shown before a multi-line variable/enum initialization */
+ virtual QCString trInitialValue()
+ {
+ return "Alkuarvo:"; // "Initial value:"
+ }
+ /*! Text used the source code in the file index */
+ virtual QCString trCode()
+ {
+ return "koodi"; // "code"
+ }
+ virtual QCString trGraphicalHierarchy()
+ {
+ return "Graafinen luokkahierarkia"; // "Graphical Class Hierarchy"
+ }
+ virtual QCString trGotoGraphicalHierarchy()
+ {
+ return "Siirry graafiseen luokkahiearkiaan"; // "Go to the graphical class hierarchy"
+ }
+ virtual QCString trGotoTextualHierarchy()
+ {
+ return "Siirry tekstimuotoiseen luokkahierarkiaan"; // "Go to the textual class hierarchy"
+ }
+ virtual QCString trPageIndex()
+ {
+ return "Sivuhakemisto"; // "Page Index"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.1.0
+//////////////////////////////////////////////////////////////////////////
+
+ virtual QCString trNote()
+ {
+ // FIXME: Missähän merkityksessä tätä käytetään?
+ return "Huomautus"; // "Note"
+ }
+ virtual QCString trPublicTypes()
+ {
+ return "Julkiset tyypit"; // "Public Types"
+ }
+ virtual QCString trPublicAttribs()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Tietueen kentät"; // "Data Fields"
+ }
+ else
+ {
+ return "Julkiset attribuutit"; // "Public Attributes"
+ }
+ }
+ virtual QCString trStaticPublicAttribs()
+ {
+ return "Staattiset julkiset attribuutit"; // "Static Public Attributes"
+ }
+ virtual QCString trProtectedTypes()
+ {
+ return "Suojellut tyypit"; // "Protected Types"
+ }
+ virtual QCString trProtectedAttribs()
+ {
+ return "Suojellut attribuutit"; // "Protected Attributes"
+ }
+ virtual QCString trStaticProtectedAttribs()
+ {
+ return "Stattiset suojellut attribuutit"; // "Static Protected Attributes"
+ }
+ virtual QCString trPrivateTypes()
+ {
+ return "Yksityiset tyypit"; // "Private Types"
+ }
+ virtual QCString trPrivateAttribs()
+ {
+ return "Yksityiset attribuutit"; // "Private Attributes"
+ }
+ virtual QCString trStaticPrivateAttribs()
+ {
+ return "Staattiset yksityiset attribuutit"; // "Static Private Attributes"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.1.3
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a marker that is put before a \\todo item */
+ virtual QCString trTodo()
+ {
+ return "Vielä tehtävä"; // "Todo"
+ }
+ /*! Used as the header of the todo list */
+ virtual QCString trTodoList()
+ {
+ return "Tehtävälista"; // "Todo List"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.1.4
+//////////////////////////////////////////////////////////////////////////
+
+ virtual QCString trReferencedBy()
+ {
+ return "Viitattu"; // "Referenced by"
+ }
+ virtual QCString trRemarks()
+ {
+ return "Huomioita"; // "Remarks"
+ }
+ virtual QCString trAttention()
+ {
+ return "Huomio"; // "Attention"
+ }
+ virtual QCString trInclByDepGraph()
+ {
+ return "Tämä kaavio näyttää, mitkä tiedostot suorasti"
+ "tai epäsuorasti sisällyttävät tämän tiedoston";
+ // "This graph shows which files directly or "
+ // "indirectly include this file:"
+ }
+ virtual QCString trSince()
+ {
+ // FIXME: Missä merkityksessä tätä käytetään?
+ return "Lähtien"; // "Since"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.1.5
+//////////////////////////////////////////////////////////////////////////
+
+ /*! title of the graph legend page */
+ virtual QCString trLegendTitle()
+ {
+ return "Kaavion selite"; // "Graph Legend"
+ }
+ /*! page explaining how the dot graph's should be interpreted
+ * The %A in the text below are to prevent link to classes called "A".
+ */
+ virtual QCString trLegendDocs()
+ {
+ return
+ "Tämä sivu selittää, kuinka doxygenin generoimia kaavioita tulkitaan.<p>\n"
+ // "This page explains how to interpret the graphs that are generated "
+ // "by doxygen.<p>\n"
+ "Ajattele seuraavaa esimerkkiä:\n"
+ // "Consider the following example:\n"
+ "\\code\n"
+ "/*! Näkymätön luokka katkaisun vuoksi */\n"
+ // "/*! Invisible class because of truncation */\n"
+ "class Nakymaton { };\n\n"
+ // "class Invisible { };\n\n"
+ "/*! Katkaistu luokka, periytymissuhde on piilotettu */\n"
+ // "/*! Truncated class, inheritance relation is hidden */\n"
+ "class Katkaistu : public Nakymaton { };\n\n"
+ // "class Truncated : public Invisible { };\n\n"
+ "/* Luokkaa ei ole dokumentoitu doxygen-kommenteilla */\n"
+ // "/* Class not documented with doxygen comments */\n"
+ "class Dokumentoimaton { };\n\n"
+ // "class Undocumented { };\n\n"
+ "/*! Julkista periyttämistä käyttäen periytetty luokka */\n"
+ // "/*! Class that is inherited using public inheritance */\n"
+ "class JulkinenKanta : public Katkaistu { };\n\n"
+ // "class PublicBase : public Truncated { };\n\n"
+ "/*! Malliluokka */\n"
+ // "/*! A template class */\n"
+ "template<class T> class Malli { };\n\n"
+ // "template<class T> class Templ { };\n\n"
+ "/*! Suojeltua periytymistä käyttäen periytetty luokka */\n"
+ // "/*! Class that is inherited using protected inheritance */\n"
+ "class SuojeltuKanta { };\n\n"
+ // "class ProtectedBase { };\n\n"
+ "/*! Yksityistä periytymistä käyttäen periytetty luokka */\n"
+ // "/*! Class that is inherited using private inheritance */\n"
+ "class YksityisKanta { };\n\n"
+ // "class PrivateBase { };\n\n"
+ "/*! Luokka jota periytetty luokka käyttää */\n"
+ // "/*! Class that is used by the Inherited class */\n"
+ "class Kaytetty { };\n\n"
+ // "class Used { };\n\n"
+ "/*! Kantaluokka joka periytyy useasta muusta luokasta */\n"
+ // "/*! Super class that inherits a number of other classes */\n"
+ "class Periytetty : public JulkinenKanta,\n"
+ " : protected SuojeltuKanta,\n"
+ " : private YksityisKanta,\n"
+ " : public Dokumentoimaton,\n"
+ " : public Malli<int>\n"
+ "{\n"
+ " private:\n"
+ " Kaytetty *m_kaytettyLuokka;\n"
+ "}\n";
+ // "class Inherited : public PublicBase,\n"
+ // " protected ProtectedBase,\n"
+ // " private PrivateBase,\n"
+ // " public Undocumented,\n"
+ // " public Templ<int>\n"
+ // "{\n"
+ // " private:\n"
+ // " Used *m_usedClass;\n"
+ // "};\n"
+ "\\endcode\n"
+ "Jos \\c MAX_DOT_GRAPH_HEIGHT-kenttä asetustiedostossa "
+ // "If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
+ "on asetettu arvoon 240, on tuloksena seuraavanlainen kaavio:"
+ // "is set to 240 this will result in the following graph:"
+ "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
+ "<p>\n"
+ "Ylläolevassa kaaviossa laatikoilla on seuraavat merkitykset\n:"
+ // "The boxes in the above graph have the following meaning:\n"
+ "<ul>\n"
+ "<li>Täytetty harmaa laatikko esittää tietuetta tai luokkaa, jolle "
+ // "<li>%A filled gray box represents the struct or class for which the "
+ "kaavio on generoitu.\n"
+ // "graph is generated.\n"
+ "<li>Mustareunainen laatikko merkitsee dokumentoitua tietuetta tai luokkaa.\n"
+ // "<li>%A box with a black border denotes a documented struct or class.\n"
+ "<li>Harmaareunainen laatikko merkitsee dokumentoimatonta tietuetta tai luokkaa.\n"
+ // "<li>%A box with a grey border denotes an undocumented struct or class.\n"
+ "<li>Punareunainen laatikko merkistee dokumentoitua luokkaa tai structia "
+ // "<li>%A box with a red border denotes a documented struct or class for"
+ "jolle ei näytetä kaikkia periytymis-/sisällyssuhteita. Kaavio "
+ // "which not all inheritance/containment relations are shown. %A graph is "
+ "katkaistaan, jos se ei mahdu määriteltyjen rajojen sisään.\n"
+ // "truncated if it does not fit within the specified boundaries.\n"
+ "</ul>\n"
+ "Nuolilla on seuraavat merkitykset:\n"
+ // "The arrows have the following meaning:\n"
+ "<ul>\n"
+ "<li>Tummansinistä nuolta käytetään osoittamaan julkista periytymis"
+ // "<li>%A dark blue arrow is used to visualize a public inheritance "
+ "suhdetta kahden luokan välillä.\n"
+ // "relation between two classes.\n"
+ "<li>Tummanvihreää nuolta käytetään suojellussa periytymisessä.\n"
+ // "<li>%A dark green arrow is used for protected inheritance.\n"
+ "<li>Tummanpunaista nuolta käytetään yksityisessä periytymisessä.\n"
+ // "<li>%A dark red arrow is used for private inheritance.\n"
+ "<li>Purppuranväristä katkoviivaa käytetään, jos luokka sisältyy tai "
+ // "<li>%A purple dashed arrow is used if a class is contained or used "
+ "on toisen luokan käyttämä. Nuoli nimetään sillä muuttujalla/muuttujilla "
+ // "by another class. The arrow is labeled with the variable(s) "
+ "jonka läpi osoitettua luokkaa tai tietuetta käytetään.\n"
+ // "through which the pointed class or struct is accessible.\n"
+ "<li>Keltainen katkoviivalla piirretty nuoli merkitsee suhdetta mallin esiintymän ja "
+ // "<li>%A yellow dashed arrow denotes a relation between a template instance and "
+ "malliluokan välillä. Nuoli nimetään "
+ // "the template class it was instantiated from. The arrow is labeled with "
+ "mallin esiintymän malliparametrilla.\n"
+ // "the template parameters of the instance.\n"
+ "</ul>\n";
+ }
+ /*! text for the link to the legend page */
+ virtual QCString trLegend()
+ {
+ return "selite"; // "legend"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.0
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a marker that is put before a test item */
+ virtual QCString trTest()
+ {
+ return "Testi"; // "Test"
+ }
+ /*! Used as the header of the test list */
+ virtual QCString trTestList()
+ {
+ return "Testilista"; // "Test List"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.1
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a section header for KDE-2 IDL methods */
+ virtual QCString trDCOPMethods()
+ {
+ return "DCOP-jäsenfunktiot"; // "DCOP Member Functions"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.2
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a section header for IDL properties */
+ virtual QCString trProperties()
+ {
+ return "Ominaisuudet"; // "Properties"
+ }
+ /*! Used as a section header for IDL property documentation */
+ virtual QCString trPropertyDocumentation()
+ {
+ return "Ominaisuuksien dokumentaatio"; // "Property Documentation"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.4
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used for Java classes in the summary section of Java packages */
+ virtual QCString trClasses()
+ {
+ if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
+ {
+ return "Tietueet"; // "Data Structures"
+ }
+ else
+ {
+ return "Luokat"; // "Classes"
+ }
+ }
+ /*! Used as the title of a Java package */
+ virtual QCString trPackage(const char *name)
+ {
+ return (QCString)"Paketti "+name; // "Package "
+ }
+ /*! Title of the package index page */
+ virtual QCString trPackageList()
+ {
+ return "Pakettilista"; // "Package List"
+ }
+ /*! The description of the package index page */
+ virtual QCString trPackageListDescription()
+ {
+ return "Tässä ovat paketit lyhyiden selitysten kanssa (jos saatavilla):"; // "Here are the packages with brief descriptions (if available):"
+ }
+ /*! The link name in the Quick links header for each page */
+ virtual QCString trPackages()
+ {
+ return "Paketit"; // "Packages"
+ }
+ /*! Text shown before a multi-line define */
+ virtual QCString trDefineValue()
+ {
+ return "Arvo:"; // "Value:"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.5
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a marker that is put before a \\bug item */
+ virtual QCString trBug()
+ {
+ return "Bugi"; // "Bug"
+ }
+ /*! Used as the header of the bug list */
+ virtual QCString trBugList()
+ {
+ return "Bugilista"; // "Bug List"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// 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 "1252";
+ }
+
+
+ /*! Used as ansicpg for RTF fcharset
+ * \see trRTFansicp() for a table of possible values.
+ */
+ virtual QCString trRTFCharSet()
+ {
+ return "0";
+ }
+
+ /*! Used as header RTF general index */
+ virtual QCString trRTFGeneralIndex()
+ {
+ return "Hakemisto"; // "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 ? "Luokka" : "luokka")); // "Class" / "class"
+ if (!singular) result=(first_capital ? "Luokat" : "luokat"); // "+es" -> "Classes" / "classes"
+ 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 ? "Tiedosto" : "tiedosto")); // "File" / "file"
+ if (!singular) result+="t"; // "+s" -> "Files" / "files"
+ 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 ? "Nimiavaruus" : "nimiavaruus")); // "Namespace" / "namespace"
+ if (!singular) result=(first_capital ? "Nimiavaruudet" : "nimiavaruudet"); // "+s"
+ 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 ? "Ryhmä" : "ryhmä")); // "Group" / "group"
+ if (!singular) result+="t"; // "+s"
+ 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 ? "Sivu" : "sivu")); // "Page" / "page"
+ if (!singular) result+="t"; // "+s"
+ 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 ? "Jäsen" : "jäsen")); // "Member" / "member"
+ if (!singular) result+="et"; // "+s"
+ 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 ? "Globaali" : "globaali")); // "Global" / "global"
+ if (!singular) result+="t"; // "+s"
+ 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 ? "Tekijä" : "tekijä")); // "Author" / "author"
+ if (!singular) result+="t"; // "+s"
+ return result;
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.11
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This text is put before the list of members referenced by a member
+ */
+ virtual QCString trReferences()
+ {
+ return "Viittaukset"; // "References"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// 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 "Toteuttaa "+trWriteList(numEntries)+"."; // "Implements "
+ }
+
+ /*! used in member documentation blocks to produce a list of
+ * all members that implement this abstract member.
+ */
+ virtual QCString trImplementedInList(int numEntries)
+ {
+ return "Toteutettu "+trWriteList(numEntries)+"."; // "Implemented in "
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.16
+//////////////////////////////////////////////////////////////////////////
+
+ /*! used in RTF documentation as a heading for the Table
+ * of Contents.
+ */
+ virtual QCString trRTFTableOfContents()
+ {
+ return "Sisällysluettelo"; // "Table of Contents"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.17
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as the header of the list of item that have been
+ * flagged deprecated
+ */
+ virtual QCString trDeprecatedList()
+ {
+ return "Vanhentuneiden lista"; // "Deprecated List"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.18
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a header for declaration section of the events found in
+ * a C# program
+ */
+ virtual QCString trEvents()
+ {
+ return "Tapahtumat"; // "Events"
+ }
+ /*! Header used for the documentation section of a class' events. */
+ virtual QCString trEventDocumentation()
+ {
+ return "Tapahtumien dokumentaatio"; // "Event Documentation"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a heading for a list of Java class types with package scope.
+ */
+ virtual QCString trPackageTypes()
+ {
+ return "Paketin tyypit"; // "Package Types"
+ }
+ /*! Used as a heading for a list of Java class functions with package
+ * scope.
+ */
+ virtual QCString trPackageMembers()
+ {
+ return "Paketin funktiot"; // "Package Functions"
+ }
+ /*! Used as a heading for a list of static Java class functions with
+ * package scope.
+ */
+ virtual QCString trStaticPackageMembers()
+ {
+ return "Paketin staattiset funktiot"; // "Static Package Functions"
+ }
+ /*! Used as a heading for a list of Java class variables with package
+ * scope.
+ */
+ virtual QCString trPackageAttribs()
+ {
+ return "Paketin attribuutit"; // "Package Attributes"
+ }
+ /*! Used as a heading for a list of static Java class variables with
+ * package scope.
+ */
+ virtual QCString trStaticPackageAttribs()
+ {
+ return "Paketin staattiset attribuutit"; // "Static Package Attributes"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.1
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used in the quick index of a class/file/namespace member list page
+ * to link to the unfiltered list of all members.
+ */
+ virtual QCString trAll()
+ {
+ return "Kaikki"; // "All"
+ }
+ /*! Put in front of the call graph for a function. */
+ virtual QCString trCallGraph()
+ {
+ return "Tässä on kutsukaavio tälle funktiolle:"; // "Here is the call graph for this function:"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.3
+//////////////////////////////////////////////////////////////////////////
+
+ /*! When the search engine is enabled this text is put in the header
+ * of each page before the field where one can enter the text to search
+ * for.
+ */
+ virtual QCString trSearchForIndex()
+ {
+ return "Etsi"; // "Search for"
+ }
+ /*! This string is used as the title for the page listing the search
+ * results.
+ */
+ virtual QCString trSearchResultsTitle()
+ {
+ return "Hakutulokset"; // "Search Results"
+ }
+ /*! This string is put just before listing the search results. The
+ * text can be different depending on the number of documents found.
+ * Inside the text you can put the special marker $num to insert
+ * the number representing the actual number of search results.
+ * The @a numDocuments parameter can be either 0, 1 or 2, where the
+ * value 2 represents 2 or more matches. HTML markup is allowed inside
+ * the returned string.
+ */
+ virtual QCString trSearchResults(int numDocuments)
+ {
+ if (numDocuments==0)
+ {
+ return "Valitettavasti yksikään dokumentti ei vastannut hakuasi."; // "Sorry, no documents matching your query."
+ }
+ else if (numDocuments==1)
+ {
+ return "Löytyi <b>1</b> dokumentti, joka vastasi hakuasi."; // "Found <b>1</b> document matching your query.";
+ }
+ else
+ {
+ return "Löytyi <b>$num dokumenttia, jotka vastasivat hakuasi. " // "Found <b>$num</b> documents matching your query. "
+ "Parhaat tulokset näytetään ensin."; // "Showing best matches first."
+ }
+ }
+ /*! This string is put before the list of matched words, for each search
+ * result. What follows is the list of words that matched the query.
+ */
+ virtual QCString trSearchMatches()
+ {
+ return "Osumat:"; // "Matches:"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.8
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This is used in HTML as the title of page with source code for file filename
+ */
+ virtual QCString trSourceFile(QCString& filename)
+ {
+ return filename + " lähdekooditiedosto"; // " Source File"
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.3.9
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This is used as the name of the chapter containing the directory
+ * hierarchy.
+ */
+ virtual QCString trDirIndex()
+ { return "Hakemistohierarkia"; } // "Directory Hierarchy"
+
+ /*! This is used as the name of the chapter containing the documentation
+ * of the directories.
+ */
+ virtual QCString trDirDocumentation()
+ { return "Hakemistojen dokumentaatio"; } // "Directory Documentation"
+
+ /*! This is used as the title of the directory index and also in the
+ * Quick links of an HTML page, to link to the directory hierarchy.
+ */
+ virtual QCString trDirectories()
+ { return "Hakemistot"; } // "Directories"
+
+ /*! This returns a sentences that introduces the directory hierarchy.
+ * and the fact that it is sorted alphabetically per level
+ */
+ virtual QCString trDirDescription()
+ { return "Tämä hakemistohierarkia on järjestetty aakkosellisesti tasoittain:";
+ //This directory hierarchy is sorted roughly, "
+ // "but not completely, alphabetically:";
+ }
+
+ /*! This returns the title of a directory page. The name of the
+ * directory is passed via \a dirName.
+ */
+ virtual QCString trDirReference(const char *dirName)
+ { QCString result=dirName; result+=" Hakemistoreferenssi"; return result; }
+ // " Directory Reference"
+
+ /*! This returns the word directory with or without starting capital
+ * (\a first_capital) and in sigular or plural form (\a singular).
+ */
+ virtual QCString trDir(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Hakemisto" : "hakemisto")); // "Director" / "director"
+ if (singular) result+=""; else result+="t"; // "+y" / "+ies"
+ return result;
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.4.1
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This text is added to the documentation when the \\overload command
+ * is used for a overloaded function.
+ */
+ virtual QCString trOverloadText()
+ {
+ return "Tämä on ylikuormitettu jäsenfunktio, ja se tarjotaan "
+ "käytön helpottamiseksi. Se eroaa ylläolevasta "
+ "funktiosta ainoastaan hyväksymiltä parametreiltaan.";
+ // "This is an overloaded member function, "
+ // "provided for convenience. It differs from the above "
+ // "function only in what argument(s) it accepts."
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.4.6
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This is used to introduce a caller (or called-by) graph */
+ virtual QCString trCallerGraph()
+ {
+ return "Tässä on kutsukaavio tälle funktiolle:"; // "Here is the caller graph for this function:"
+ }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for enumeration values
+ */
+ virtual QCString trEnumerationValueDocumentation()
+ { return "Luettelotyypin dokumentaatio"; } // "Enumerator Documentation"
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.5.4 (mainly for Fortran)
+//////////////////////////////////////////////////////////////////////////
+
+ /*! header that is put before the list of member subprograms (Fortran). */
+ virtual QCString trMemberFunctionDocumentationFortran()
+ { return "Jäsenfunktioiden/aliohjelmien dokumentaatio"; } // "Member Function/Subroutine Documentation"
+
+ /*! This is put above each page as a link to the list of annotated data types (Fortran). */
+ virtual QCString trCompoundListFortran()
+ { return "Tietotyyppien lista"; } // "Data Types List"
+
+ /*! This is put above each page as a link to all members of compounds (Fortran). */
+ virtual QCString trCompoundMembersFortran()
+ { return "Kentät"; } // "Data Fields";
+
+ /*! This is an introduction to the annotated compound list (Fortran). */
+ virtual QCString trCompoundListDescriptionFortran()
+ { return "Tässä ovat tietotyypit lyhyillä selityksillä:"; } // "Here are the data types with brief descriptions:"
+
+ /*! This is an introduction to the page with all data types (Fortran). */
+ virtual QCString trCompoundMembersDescriptionFortran(bool extractAll)
+ {
+ QCString result="Tässä on lista kaikista "; // "Here is a list of all "
+ if (!extractAll)
+ {
+ result+="dokumentoiduista "; // "documented "
+ }
+ result+="tietotyyppien jäsenistä"; // "data types members"
+ result+=", sekä linkit "; // " with links to "
+ if (!extractAll)
+ {
+ result+="tietueen dokumentaatioon jokaiselle jäsenelle"; // "the data structure documentation for each member"
+ }
+ else
+ {
+ result+="tietotyyppeihin, joihin ne kuuluvat:"; // "the data types they belong to:"
+ }
+ return result;
+ }
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * annotated compound index (Fortran).
+ */
+ virtual QCString trCompoundIndexFortran()
+ { return "Tietotyyppien hakemisto"; } // "Data Type Index"
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all data types (Fortran).
+ */
+ virtual QCString trTypeDocumentation()
+ { return "Tietotyyppien dokumentaatio"; } // "Data Type Documentation"
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of (global) subprograms (Fortran).
+ */
+ virtual QCString trSubprograms()
+ { return "Funktiot/aliohjelmat"; } // "Functions/Subroutines"
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for subprograms (Fortran)
+ */
+ virtual QCString trSubprogramDocumentation()
+ { return "Funktioiden/aliohjelmien dokumentaatio"; } // "Function/Subroutine Documentation"
+
+ /*! This is used in the documentation of a file/namespace/group before
+ * the list of links to documented compounds (Fortran)
+ */
+ virtual QCString trDataTypes()
+ { return "Tietotyypit"; } // "Data Types"
+
+ /*! used as the title of page containing all the index of all modules (Fortran). */
+ virtual QCString trModulesList()
+ { return "Moduulilista"; } // "Modules List"
+
+ /*! used as an introduction to the modules list (Fortran) */
+ virtual QCString trModulesListDescription(bool extractAll)
+ {
+ QCString result="Tässä on lista kaikista "; // "Here is a list of all "
+ if (!extractAll) result+="dokumentoiduista "; // "documented "
+ result+="moduuleista lyhillä selityksillä:"; // "modules with brief descriptions:"
+ return result;
+ }
+
+ /*! used as the title of the HTML page of a module/type (Fortran) */
+ virtual QCString trCompoundReferenceFortran(const char *clName,
+ ClassDef::CompoundType compType,
+ bool isTemplate)
+ {
+ QCString result=(QCString)clName;
+ switch(compType)
+ {
+ case ClassDef::Class: result+=" Moduuli"; break; // " Module"
+ case ClassDef::Struct: result+=" Tyyppi"; break; // " Type"
+ case ClassDef::Union: result+=" Yhdiste"; break; // " Union"
+ case ClassDef::Interface: result+=" Rajapinta"; break; // " Interface"
+ case ClassDef::Protocol: result+=" Protokolla"; break; // " Protocol"
+ case ClassDef::Category: result+=" Kategoria"; break; // " Category"
+ case ClassDef::Exception: result+=" Poikkeus"; break; // " Exception"
+ }
+ if (isTemplate) result+="malli"; // " Template"
+ result+="referenssi"; // " Reference"
+ return result;
+ }
+ /*! used as the title of the HTML page of a module (Fortran) */
+ virtual QCString trModuleReference(const char *namespaceName)
+ {
+ QCString result=namespaceName;
+ result+=" Moduulin referenssi"; // " Module Reference"
+ return result;
+ }
+
+ /*! This is put above each page as a link to all members of modules. (Fortran) */
+ virtual QCString trModulesMembers()
+ { return "Moduulin jäsenet"; } // "Module Members"
+
+ /*! This is an introduction to the page with all modules members (Fortran) */
+ virtual QCString trModulesMemberDescription(bool extractAll)
+ {
+ QCString result="Tässä on lista moduulin kaikista "; // "Here is a list of all "
+ if (!extractAll) result+="dokumentoiduista"; // "documented "
+ result+="jäsenistä, sekä linkit "; // "module members with links to "
+ if (extractAll)
+ {
+ result+="moduulin dokumentaatioon jokaiselle jäsenelle:"; // "the module documentation for each member:"
+ }
+ else
+ {
+ result+="moduuleihin, joihin ne kuuluvat:"; // "the modules they belong to:"
+ }
+ return result;
+ }
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * index of all modules (Fortran).
+ */
+ virtual QCString trModulesIndex()
+ { return "Moduulien hakemisto"; } // "Modules 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 trModule(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Moduuli" : "moduuli")); // "Module" / "module"
+ if (!singular) result+="t"; // "+s"
+ return result;
+ }
+ /*! This is put at the bottom of a module documentation page and is
+ * followed by a list of files that were used to generate the page.
+ */
+ virtual QCString trGeneratedFromFilesFortran(ClassDef::CompoundType compType,
+ bool single)
+ { // here s is one of " Module", " Struct" or " Union"
+ // single is true implies a single file
+ QCString result=(QCString)"Dokumentaatio tälle "; // "The documentation for this "
+ switch(compType)
+ {
+ case ClassDef::Class: result+="moduulille"; break; // "module"
+ case ClassDef::Struct: result+="tyypille"; break; // "type"
+ case ClassDef::Union: result+="yhdisteelle"; break; // "union"
+ case ClassDef::Interface: result+="rajapinnalle"; break; // "interface"
+ case ClassDef::Protocol: result+="protokollalle"; break; // "protocol"
+ case ClassDef::Category: result+="kategorialle"; break; // "category"
+ case ClassDef::Exception: result+="poikkeukselle"; break; // "exception"
+ }
+ result+=" generoitiin "; // " was generated from the following file"
+ if (single) result+="seuraavasta tiedostosta:"; else result+="seuraavista tiedostoista:"; // ":" / "s:"
+ 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 trType(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Tyyppi" : "tyyppi")); // "Type" / "type"
+ if (!singular) result=(first_capital ? "Tyypit" : "tyypit"); // "+s"
+ 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 trSubprogram(bool first_capital, bool singular)
+ {
+ QCString result((first_capital ? "Aliohjelma" : "aliohjelma")); // "Subprogram" / "subprogram"
+ if (!singular) result+="t"; // "+s"
+ return result;
+ }
+
+ /*! C# Type Constraint list */
+ virtual QCString trTypeConstraints()
+ {
+ return "Tyyppien rajoitteet"; // "Type Constraints"
+ }
+
};
#endif
diff --git a/src/translator_fr.h b/src/translator_fr.h
index 45fec16..e7b66c8 100644
--- a/src/translator_fr.h
+++ b/src/translator_fr.h
@@ -158,7 +158,7 @@ class TranslatorFrench : public TranslatorAdapter_1_5_4
/*! header that is put before the list of typedefs. */
virtual QCString trMemberTypedefDocumentation()
{
- return "Documentation des définition de type membres"; }
+ return "Documentation des définitions de type membres"; }
/*! header that is put before the list of enumerations. */
virtual QCString trMemberEnumerationDocumentation()
diff --git a/src/util.cpp b/src/util.cpp
index a1281f9..113105e 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1909,6 +1909,10 @@ QCString tempArgListToString(ArgumentList *al)
{
result+=a->type.right(a->type.length()-i-1);
}
+ else // nothing found -> take whole name
+ {
+ result+=a->type;
+ }
}
a=al->next();
if (a) result+=", ";
diff --git a/src/vhdldocgen.cpp b/src/vhdldocgen.cpp
index 0fbd1b4..40f9af0 100644
--- a/src/vhdldocgen.cpp
+++ b/src/vhdldocgen.cpp
@@ -1153,7 +1153,7 @@ void VhdlDocGen::getFuncParams(QList<Argument>& ql, const char* str)
arg->attrib=s1.stripWhiteSpace();
arg->name=(tt.last()).stripWhiteSpace();
- // printf("--proto \n [%s] [%s] [%s] [%s] [%s]",ttype.data(),arg->type.data(),arg->attrib.data(),arg->name.data(),s1.data());
+ // printf("--proto \n [%s] [%s] [%s] [%s] [%s]",ttype.data(),arg->type.data(),arg->attrib.data(),arg->name.data(),s1.data());
ql.append(arg);
}
kk--;
@@ -1438,7 +1438,7 @@ void VhdlDocGen::writeProcedureProto(OutputList& ol,const ArgumentList* al,const
ol.docify(" )");
-}// writePorcedure
+}
/*!
* writes a function prototype to the output
diff --git a/src/vhdlscanner.l b/src/vhdlscanner.l
index 8fbd21b..784d395 100644
--- a/src/vhdlscanner.l
+++ b/src/vhdlscanner.l
@@ -83,6 +83,7 @@ static int scantype = 0;
static int g_lastCommentContext = 0;
static bool docBlockAutoBrief;
static char docBlockTerm;
+static int iDocLine = -1;
//#define YY_A_INTERACTIVE 1
#define YY_NEVER_INTERACTIVE 1
@@ -122,8 +123,7 @@ static void addText (char *word, int llen)
{
while (llen>0)
{
- g_buf[iCounter]=*word;
- *word++;
+ g_buf[iCounter]=*word++;
iCounter++;
llen--;
}
@@ -384,7 +384,7 @@ static void parseFunctionProto()
{
current->args+=",";
}
- Argument *arg=new Argument();
+ Argument *arg=new Argument;
Argument *hh=(Argument*)ql.at(k);
arg->name=hh->name;
arg->type=hh->type;
@@ -437,6 +437,7 @@ void parserInit()
lastEntity=0;
bropen=0;
openGroups=0;
+ iDocLine=-1;
//isPrevDoc=FALSE;
//prevDocEntry.reset();
qrl.clear();
@@ -446,10 +447,9 @@ void parserInit()
VhdlDocGen::init();
}
-
uint SSIZE=inputFile.size()+1024;
- if (g_buf==0)
- g_buf=(char*)(calloc(SSIZE,sizeof(char)));
+ if (g_buf==0) free(g_buf);
+ g_buf=(char*)(calloc(SSIZE,sizeof(char)));
if (g_buf==0)
{
@@ -1367,6 +1367,7 @@ ALLID [^;()\t ]
*/
<*>{BR}*"--!"[^{}\n][^\n]*\n/{B}*"--!" { // multi line comment
+ if (iDocLine==-1) iDocLine=yyLineNr;
if (YY_START!=Comment) // Start of the comment block
{
iTextCounter=iCounter;
@@ -1379,6 +1380,7 @@ ALLID [^;()\t ]
}
<Comment>^{B}*"--!"[^\n]* {
+ if (iDocLine==-1) iDocLine=yyLineNr;
addText(vhdlscanYYtext,vhdlscanYYleng);
lineCount();
}
@@ -1395,6 +1397,7 @@ ALLID [^;()\t ]
}
<*>^{B}*"--!"[^\n]* { // one line comment
+ if (iDocLine==-1) iDocLine=yyLineNr;
QCString qcs(yytext);
int j=qcs.find("--!");
qcs=qcs.right(qcs.length()-3-j);
@@ -1451,13 +1454,18 @@ static void handleCommentBlock(const QCString &doc,bool brief)
int position=0;
bool needsEntry=FALSE;
Protection protection=Public;
+ if (brief)
+ current->briefLine = iDocLine;
+ else
+ current->docLine = iDocLine;
+
//printf("parseCommentBlock %p [%s]\n",current,doc.data());
while (parseCommentBlock(
g_thisParser,
current,
doc, // text
yyFileName, // file
- brief ? current->briefLine : current->docLine, // line of block start
+ iDocLine, // line of block start
brief,
docBlockAutoBrief,
FALSE,
@@ -1480,6 +1488,7 @@ static void handleCommentBlock(const QCString &doc,bool brief)
unput(docBlockTerm);
docBlockTerm=0;
}
+ iDocLine=-1;
}
#if 0
@@ -1668,6 +1677,7 @@ void VHDLLanguageScanner::parseInput(const char *fileName,const char *fileBuf,En
current=0;
groupLeaveFile(yyFileName,yyLineNr);
+ inputFile.close();
//mergeBrief(current_root);
//mergeGrouping(current_root,0);
diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp
index cb32b68..2906799 100644
--- a/src/xmlgen.cpp
+++ b/src/xmlgen.cpp
@@ -1238,7 +1238,7 @@ static void generateXMLForClass(ClassDef *cd,QTextStream &ti)
{
t << convertToXML(
insertTemplateSpecifierInScope(
- bcd->classDef->displayName(),bcd->templSpecifiers)
+ bcd->classDef->name(),bcd->templSpecifiers)
);
}
else