summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--INSTALL4
-rw-r--r--README4
-rw-r--r--VERSION2
-rw-r--r--addon/configgen/config_templ.l14
-rw-r--r--addon/configgen/configgen.cpp12
-rw-r--r--doc/commands.doc2
-rw-r--r--doc/faq.doc6
-rw-r--r--doc/history.doc2
-rw-r--r--doc/trouble.doc2
-rw-r--r--packages/rpm/doxygen.spec2
-rw-r--r--src/classdef.cpp8
-rw-r--r--src/code.l34
-rw-r--r--src/config.h3
-rw-r--r--src/config.l43
-rw-r--r--src/diagram.cpp4
-rw-r--r--src/diagram.h2
-rw-r--r--src/doc.l90
-rw-r--r--src/dot.cpp114
-rw-r--r--src/dot.h5
-rw-r--r--src/doxygen.cpp160
-rw-r--r--src/doxygen.h1
-rw-r--r--src/doxygen.pro.in2
-rw-r--r--src/htmlgen.cpp2
-rw-r--r--src/language.cpp5
-rw-r--r--src/latexgen.h2
-rw-r--r--src/memberdef.cpp9
-rw-r--r--src/rtfgen.cpp12
-rw-r--r--src/translator_hr.h559
-rw-r--r--src/translator_hu.h987
-rw-r--r--src/translator_it.h141
-rw-r--r--src/translator_pl.h88
-rw-r--r--src/util.cpp55
32 files changed, 1958 insertions, 418 deletions
diff --git a/INSTALL b/INSTALL
index 202b9ae..907ad31 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,6 +1,6 @@
-DOXYGEN Version 1.2.1
+DOXYGEN Version 1.2.1-20000829
Please read the installation section of the manual for instructions.
--------
-Dimitri van Heesch (13 August 2000)
+Dimitri van Heesch (29 August 2000)
diff --git a/README b/README
index e1d89eb..ee24629 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-DOXYGEN Version 1.2.1
+DOXYGEN Version 1.2.1-20000829
Please read INSTALL for compilation instructions.
@@ -7,4 +7,4 @@ The latest version of doxygen can be obtained at
Enjoy,
-Dimitri van Heesch (13 August 2000)
+Dimitri van Heesch (29 August 2000)
diff --git a/VERSION b/VERSION
index 6085e94..a63044a 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.2.1
+1.2.1-20000829
diff --git a/addon/configgen/config_templ.l b/addon/configgen/config_templ.l
index aab5755..98a688f 100644
--- a/addon/configgen/config_templ.l
+++ b/addon/configgen/config_templ.l
@@ -812,6 +812,20 @@ void checkConfig()
#endif
s=Config::includePath.next();
}
+
+ // check aliases
+ s=Config::aliasList.first();
+ while (s)
+ {
+ QRegExp re("[a-z_A-Z][a-z_A-Z0-9]*[ \t]*=");
+ QCString alias=s;
+ alias=alias.stripWhiteSpace();
+ if (alias.find(re)!=0)
+ {
+ err("Illegal alias format `%s'. Use \"name=value\"\n",alias.data());
+ }
+ s=Config::aliasList.next();
+ }
// check dot path
if (!Config::dotPath.isEmpty())
diff --git a/addon/configgen/configgen.cpp b/addon/configgen/configgen.cpp
index 4367f20..48146ee 100644
--- a/addon/configgen/configgen.cpp
+++ b/addon/configgen/configgen.cpp
@@ -1014,6 +1014,18 @@ void init()
"disable (NO) the test list. This list is created by putting \\test \n"
"commands in the documentation.\n"
);
+ ConfigList::add( "aliasList",
+ "ALIASES",
+ "",
+ "list of aliases",
+ "This tag can be used to specify a number of aliases that acts \n"
+ "as commands in the documentation. An alias has the form \"\\name=value\". \n"
+ "For example adding \"sideeffect=\\par Side Effects:\\n\" will allow you to \n"
+ "put the command \\sideeffect (or @sideeffect) in the documentation, which \n"
+ "will result in a user defined paragraph with heading \"Side Effects:\". \n"
+ "You can put \\n's in the value part of an alias to insert newlines. \n"
+ "Predefined commands cannot be overwritten using aliases. \n"
+ );
//-----------------------------------------------------------------------------------------------
ConfigInfo::add( "Messages","configuration options related to warning and progress messages");
//-----------------------------------------------------------------------------------------------
diff --git a/doc/commands.doc b/doc/commands.doc
index 80b032b..46f01f4 100644
--- a/doc/commands.doc
+++ b/doc/commands.doc
@@ -282,7 +282,7 @@ Doxygen. Unrecognized commands are treated as normal text.
(either global or as a member of a class). This command is needed if a
comment block is \e not located before the function declaration
or definition. A full function declaration should be specified after the
- \fn command. The argument ends at the end of the line.
+ \\fn command. The argument ends at the end of the line.
\par Example:
\verbinclude func.h
diff --git a/doc/faq.doc b/doc/faq.doc
index 0817742..4606a19 100644
--- a/doc/faq.doc
+++ b/doc/faq.doc
@@ -39,12 +39,12 @@ You should use the \\mainpage command inside a comment block like this:
In order for global functions, variables, enums, typedefs, and defines
to be documented you should document the file in which these commands are
-located using a comment block containing a \file (or @file)
+located using a comment block containing a \\file (or \@file)
command.
Alternatively, you can put all members in a group (or module)
-using the \ingroup command and then document the group using a comment
-block containing the \defgroup command.
+using the \\ingroup command and then document the group using a comment
+block containing the \\defgroup command.
<li><b>How can I avoid that some code fragment is parsed by Doxyen?</b>
<p>
diff --git a/doc/history.doc b/doc/history.doc
index beee457..ddded0a 100644
--- a/doc/history.doc
+++ b/doc/history.doc
@@ -111,7 +111,7 @@
special <code>//!</code> C++ line comments.
<li>Unrelated members can now be documented. A page containing a
list of these members is generated.
-<li>Added an <code>\include</code> command to insert blocks of source code
+<li>Added an <code>\\include</code> command to insert blocks of source code
into the documentation.
<li>Warnings are generated for members that are undocumented.
<li>You can now specify your own HTML headers and footers for the
diff --git a/doc/trouble.doc b/doc/trouble.doc
index 1f309bc..6e7be24 100644
--- a/doc/trouble.doc
+++ b/doc/trouble.doc
@@ -62,7 +62,7 @@
documentation, because of possible ambiguities or lack of
information about the context in which the code fragment is found.
<li>It is not possible to insert a non-member function f in a class A
- using the \relates command, if class A already has a member with name f
+ using the \\relates command, if class A already has a member with name f
and the same argument list.
<li>There is only very limited support for member specialization at the
moment. It only works if there is a specialized template class as
diff --git a/packages/rpm/doxygen.spec b/packages/rpm/doxygen.spec
index 0625b70..d27b856 100644
--- a/packages/rpm/doxygen.spec
+++ b/packages/rpm/doxygen.spec
@@ -1,5 +1,5 @@
Name: doxygen
-Version: 1.2.1
+Version: 1.2.1-20000829
Summary: documentation system for C, C++ and IDL
Release: 1
Source0: doxygen-%{version}.src.tar.gz
diff --git a/src/classdef.cpp b/src/classdef.cpp
index be5f1c2..84e047d 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -1200,9 +1200,11 @@ void ClassDef::writeMemberList(OutputList &ol)
ol.writeString(")");
memberWritten=TRUE;
}
- if ((protect!=Public || md->isStatic() || virt!=Normal ||
- md->isFriend() || md->isRelated() ||
- md->getMemberSpecifiers()!=0
+ if ((protect!=Public || virt!=Normal ||
+ md->isFriend() || md->isRelated() || md->isExplicit() ||
+ md->isMutable() || (md->isInline() && Config::inlineInfoFlag) ||
+ md->isSignal() || md->isSlot() ||
+ md->isStatic()
)
&& memberWritten)
{
diff --git a/src/code.l b/src/code.l
index 7825142..4086dd3 100644
--- a/src/code.l
+++ b/src/code.l
@@ -447,7 +447,9 @@ static bool getLink(const char *className,
{
md->addSourceReference(g_currentMemberDef);
}
- //printf("d->getOutputBase()=`%s' name=`%s'\n",d->getOutputFileBase().data(),md->name().data());
+ //printf("d->getOutputBase()=`%s' name=`%s' member name=`%s'\n",d->getOutputFileBase().data(),d->name().data(),md->name().data());
+ //printf("g_classVar=`%s' type=`%s'\n",g_classVar ? g_classVar->name().data() : "none",md->typeString());
+
writeMultiLineCodeLink(result,d->getReference(),d->getOutputFileBase(),
md->anchor(),text ? text : memberName);
return TRUE;
@@ -559,8 +561,36 @@ static void generateMemberLink(OutputList &ol,const char *varName,
ClassDef *vcd = getResolvedClass(g_classScope);
if (vcd && vcd->isLinkable())
{
- //printf("Found class for variable `%s'\n",varName);
+ //printf("Found class %s for variable `%s'\n",g_classScope.data(),varName);
MemberName *vmn=memberNameDict[varName];
+ if (vmn==0)
+ {
+ int vi;
+ QCString vn=varName;
+ QCString scope;
+ if ((vi=vn.findRev("::"))!=-1) // explicit scope A::b(), probably static member
+ {
+ ClassDef *jcd = getClass(vn.left(vi));
+ vn=vn.right(vn.length()-vi-2);
+ vmn=memberNameDict[vn];
+ //printf("Trying name `%s' scope=%s\n",vn.data(),scope.data());
+ MemberNameIterator vmni(*vmn);
+ MemberDef *vmd;
+ for (;(vmd=vmni.current());++vmni)
+ {
+ if ((vmd->isVariable() || vmd->isFunction()) &&
+ vmd->getClassDef()==jcd)
+ {
+ //printf("Found variable type=%s\n",vmd->typeString());
+ ClassDef *mcd=stripClassName(vmd->typeString());
+ if (mcd && mcd->isLinkable())
+ {
+ if (generateClassMemberLink(ol,mcd,memName)) return;
+ }
+ }
+ }
+ }
+ }
if (vmn)
{
//printf("There is a variable with name `%s'\n",varName);
diff --git a/src/config.h b/src/config.h
index 81e6a4e..7160451 100644
--- a/src/config.h
+++ b/src/config.h
@@ -1,4 +1,4 @@
-/* This file was generated by configgen on Sat Aug 12 16:16:35 2000
+/* This file was generated by configgen on Fri Aug 25 21:22:11 2000
* from config_templ.h
*
* DO NOT EDIT!
@@ -68,6 +68,7 @@ struct Config
static QStrList sectionFilterList; // list of section filters that are enabled
static bool generateTodoList; // do we want a todo list?
static bool generateTestList; // do we want a test list?
+ static QStrList aliasList; // list of aliases
static bool quietFlag; // generate progress messages flag
static bool warningFlag; // generate warnings flag
static bool warningUndocFlag; // generate undocumented warnings
diff --git a/src/config.l b/src/config.l
index 75a4223..1965934 100644
--- a/src/config.l
+++ b/src/config.l
@@ -1,4 +1,4 @@
-/* This file was generated by configgen on Sun Aug 13 14:05:26 2000
+/* This file was generated by configgen on Fri Aug 25 21:22:11 2000
* from config_templ.l
*
* DO NOT EDIT!
@@ -105,6 +105,7 @@ int Config::tabSize = 8;
QStrList Config::sectionFilterList;
bool Config::generateTodoList = TRUE;
bool Config::generateTestList = TRUE;
+QStrList Config::aliasList;
bool Config::quietFlag = FALSE;
bool Config::warningFlag = TRUE;
bool Config::warningUndocFlag = TRUE;
@@ -361,6 +362,8 @@ static void readIncludeFile(const char *incName)
<Start>"ENABLED_SECTIONS"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::sectionFilterList; elemStr=""; }
<Start>"GENERATE_TODOLIST"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateTodoList; }
<Start>"GENERATE_TESTLIST"[ \t]*"=" { BEGIN(GetBool); b=&Config::generateTestList; }
+<Start>"ALIASES"[ \t]*"=" { BEGIN(GetStrList); l=&Config::aliasList; l->clear(); elemStr=""; }
+<Start>"ALIASES"[ \t]*"+=" { BEGIN(GetStrList); l=&Config::aliasList; elemStr=""; }
<Start>"QUIET"[ \t]*"=" { BEGIN(GetBool); b=&Config::quietFlag; }
<Start>"WARNINGS"[ \t]*"=" { BEGIN(GetBool); b=&Config::warningFlag; }
<Start>"WARN_IF_UNDOCUMENTED"[ \t]*"=" { BEGIN(GetBool); b=&Config::warningUndocFlag; }
@@ -595,6 +598,14 @@ void dumpConfig()
}
printf("generateTodoList=`%d'\n",Config::generateTodoList);
printf("generateTestList=`%d'\n",Config::generateTestList);
+ {
+ char *is=Config::aliasList.first();
+ while (is)
+ {
+ printf("aliasList=`%s'\n",is);
+ is=Config::aliasList.next();
+ }
+ }
printf("# configuration options related to warning and progress messages\n");
printf("quietFlag=`%d'\n",Config::quietFlag);
printf("warningFlag=`%d'\n",Config::warningFlag);
@@ -817,6 +828,7 @@ void Config::init()
Config::sectionFilterList.clear();
Config::generateTodoList = TRUE;
Config::generateTestList = TRUE;
+ Config::aliasList.clear();
Config::quietFlag = FALSE;
Config::warningFlag = TRUE;
Config::warningUndocFlag = TRUE;
@@ -1310,6 +1322,20 @@ void writeTemplateConfig(QFile *f,bool sl)
if (!sl)
{
t << "\n";
+ t << "# This tag can be used to specify a number of aliases that acts \n";
+ t << "# as commands in the documentation. An alias has the form \"\\name=value\". \n";
+ t << "# For example adding \"sideeffect=\\par Side Effects:\\n\" will allow you to \n";
+ t << "# put the command \\sideeffect (or @sideeffect) in the documentation, which \n";
+ t << "# will result in a user defined paragraph with heading \"Side Effects:\". \n";
+ t << "# Predefined commands cannot be overwritten using aliases. \n";
+ t << "\n";
+ }
+ t << "ALIASES = ";
+ writeStringList(t,Config::aliasList);
+ t << "\n";
+ if (!sl)
+ {
+ t << "\n";
}
t << "#---------------------------------------------------------------------------\n";
t << "# configuration options related to warning and progress messages\n";
@@ -2374,6 +2400,7 @@ void substituteEnvironmentVars()
substEnvVarsInString( Config::outputLanguage );
substEnvVarsInStrList( Config::stripFromPath );
substEnvVarsInStrList( Config::sectionFilterList );
+ substEnvVarsInStrList( Config::aliasList );
substEnvVarsInString( Config::warnFormat );
substEnvVarsInStrList( Config::inputSources );
substEnvVarsInStrList( Config::filePatternList );
@@ -2635,6 +2662,20 @@ void checkConfig()
#endif
s=Config::includePath.next();
}
+
+ // check aliases
+ s=Config::aliasList.first();
+ while (s)
+ {
+ QRegExp re("[a-z_A-Z][a-z_A-Z0-9]*[ \t]*=");
+ QCString alias=s;
+ alias=alias.stripWhiteSpace();
+ if (alias.find(re)!=0)
+ {
+ err("Illegal alias format `%s'. Use \"name=value\"\n",alias.data());
+ }
+ s=Config::aliasList.next();
+ }
// check dot path
if (!Config::dotPath.isEmpty())
diff --git a/src/diagram.cpp b/src/diagram.cpp
index 2173f16..4808565 100644
--- a/src/diagram.cpp
+++ b/src/diagram.cpp
@@ -1246,8 +1246,8 @@ void ClassDiagram::writeFigure(QTextStream &output,const char *path,
}
-void ClassDiagram::writeImageMap(QTextStream &t,const char *path,
- const char *fileName, bool generateMap)
+void ClassDiagram::writeImage(QTextStream &t,const char *path,
+ const char *fileName, bool generateMap)
{
uint baseRows=base->computeRows();
uint superRows=super->computeRows();
diff --git a/src/diagram.h b/src/diagram.h
index 74495b8..4338772 100644
--- a/src/diagram.h
+++ b/src/diagram.h
@@ -123,7 +123,7 @@ class ClassDiagram
~ClassDiagram();
void writeFigure(QTextStream &t,const char *path,
const char *file);
- void writeImageMap(QTextStream &t,const char *path,
+ void writeImage(QTextStream &t,const char *path,
const char *file,bool generateMap=TRUE);
private:
TreeDiagram *base;
diff --git a/src/doc.l b/src/doc.l
index 935b531..695a07b 100644
--- a/src/doc.l
+++ b/src/doc.l
@@ -90,6 +90,7 @@ static bool inAttentionBlock;
static bool inParBlock;
static QCString sectionRef;
static bool insideVerbatim = FALSE;
+static bool insidePre = FALSE;
static int depthIf;
//static int currentListIndentLevel;
static QStack<char> currentListIndent;
@@ -486,10 +487,15 @@ static void addListItemMarker(const char *marker,int dashPos,bool enumerated)
int indent=0;
for (i=0;i<dashPos;i++)
{
+ //printf("Parsed[%d]=%d\n",i,marker[i]);
if (marker[i]=='\t')
{
indent+=Config::tabSize - (indent%Config::tabSize);
}
+ else if (marker[i]=='\n')
+ {
+ indent=0;
+ }
else
{
indent++;
@@ -599,6 +605,7 @@ static QCString findAndCopyImage(const char *fileName,ImageTypes type)
QCString result;
bool ambig;
FileDef *fd;
+ //printf("Search for %s\n",fileName);
if ((fd=findFileDef(imageNameDict,fileName,ambig)))
{
QFile inImage(QString(fd->absFilePath().data()));
@@ -944,7 +951,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
}
<DocScan>{CMD}"endlink"/[^a-z_A-Z0-9] { warn(yyFileName,yyLineNr,
"Warning: \\endlink without \\link "
- "in documentation."
+ "in documentation of this entity."
);
}
<DocScan>{CMD}"addindex"{B}+ {
@@ -1460,10 +1467,10 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
outDoc->writeObjectLink(0,internalRefFile,internalRefAnchor,text);
BEGIN(DocScan);
}
-<DocScan>{CMD}"ref" {
+<DocScan>{CMD}"ref"/{BN} {
BEGIN(DocRefName);
}
-<DocScan>{CMD}"refitem" {
+<DocScan>{CMD}"refitem"/{BN} {
BEGIN(DocRefItem);
}
<DocScan>{CMD}"if"/{BN} {
@@ -1476,7 +1483,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
{
warn(yyFileName,yyLineNr,
"Warning: documentation block contains \\endif without "
- "matching \\if found in documentation."
+ "matching \\if found in documentation of this entity."
);
}
else
@@ -1515,7 +1522,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
}
else if (!generateLink(*outDoc,className,yytext,TRUE,0))
{
- warn(yyFileName,yyLineNr,"Warning: reference to unknown section %s!",yytext);
+ warn(yyFileName,yyLineNr,"Warning: reference to unknown section %s in the documentation of this entity!",yytext);
//outDoc->writeBoldString(" unknown reference! ");
}
BEGIN(DocScan);
@@ -1548,7 +1555,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
}
else if (!generateLink(*outDoc,className,sectionRef,TRUE,text))
{
- warn(yyFileName,yyLineNr,"Warning: reference to unknown section %s!",sectionRef.data());
+ warn(yyFileName,yyLineNr,"Warning: reference to unknown section %s in the documentation of this entity!",sectionRef.data());
outDoc->writeBoldString(" unknown reference! ");
}
BEGIN(DocScan);
@@ -1566,7 +1573,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
}
else
{
- warn(yyFileName,yyLineNr,"Warning: reference to unknown section %s!",sectionRef.data());
+ warn(yyFileName,yyLineNr,"Warning: reference to unknown section %s in the documentation of this entity!",sectionRef.data());
outDoc->writeBoldString(" unknown reference! ");
}
BEGIN(DocScan);
@@ -1623,10 +1630,10 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
BEGIN(DocScan);
}
<DocImage>[a-z_A-Z0-9\.\-]+ {
- warn(yyFileName,yyLineNr,"Warning: %s is an unsupported output format for \\image",yytext);
+ warn(yyFileName,yyLineNr,"Warning: %s is an unsupported output format for \\image in the documentation of the entity",yytext);
}
<DocImage,DocHtmlImageName,DocLatexImageName>\n {
- warn(yyFileName,yyLineNr,"Warning: invalid \\image command found!");
+ warn(yyFileName,yyLineNr,"Warning: invalid \\image command found in the documentation of this entity!");
outDoc->enableAll();
BEGIN(DocScan);
}
@@ -1637,7 +1644,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
}
<DocScan>{CMD}"endcode"/[^a-z_A-Z0-9] {
warn(yyFileName,yyLineNr,"Warning: \\endcode without \\code "
- "in the documentation.");
+ "in the documentation of this entity.");
}
<DocScan,DocRefName>{ID}"<"[^>\ \t\n]*">"("::"{ID})+"("?[a-z_A-Z0-9,:\<\> \t\*\&]*")"? {
@@ -1775,8 +1782,18 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
/*restoreOutputListState();*/
outDoc->popGeneratorState();
}
-<DocScan>"<"{PRE}{ATTR}">" { outDoc->startPreFragment(); }
-<DocScan>"</"{PRE}{ATTR}">" { outDoc->endPreFragment(); }
+<DocScan>"<"{PRE}{ATTR}">" {
+ if (insidePre)
+ {
+ warn(yyFileName,yyLineNr,"Warning in the documentation of this entity:\nNested <pre> found in the documentation of this entity!");
+ }
+ outDoc->startPreFragment();
+ insidePre=TRUE;
+ }
+<DocScan>"</"{PRE}{ATTR}">" {
+ outDoc->endPreFragment();
+ insidePre=FALSE;
+ }
<DocScan>"<"{SUB}{ATTR}">" { outDoc->startSubscript(); }
<DocScan>"</"{SUB}{ATTR}">" { outDoc->endSubscript(); }
<DocScan>"<"{SUP}{ATTR}">" { outDoc->startSuperscript(); }
@@ -1792,13 +1809,13 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
if (currentListIndent.isEmpty())
{
warn(yyFileName,yyLineNr,
- "Warning: more </ol> tags than <ol> tags in the documentation."
+ "Warning in the documentation of this entity:\nMore </ol> tags than <ol> tags in the documentation of this entity."
);
}
else if (currentListIndent.top()!="O")
{
warn(yyFileName,yyLineNr,
- "Warning: </ol> tag does not end a <ol> tag in the documentation."
+ "Warning in the documentation of this entity:\nThe </ol> tag does not end a <ol> tag."
);
}
else
@@ -1814,13 +1831,13 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
if (currentListIndent.isEmpty())
{
warn(yyFileName,yyLineNr,
- "Warning: more </ul> tags than <ul> tags in the documentation."
+ "Warning in the documentation of this entity:\nMore </ul> tags than <ul> tags."
);
}
else if (currentListIndent.top()!="U")
{
warn(yyFileName,yyLineNr,
- "Warning: </ul> tag does not end a <ul> tag in the documentation."
+ "Warning in the documentation of this entity:\nThe </ul> tag does not end a <ul> tag."
);
}
else
@@ -1834,7 +1851,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
currentListIndent.top()=="D")
{
warn(yyFileName,yyLineNr,
- "Warning: The <li> tag can only be used inside a <ul> ... </ul> or a <ol> ... </ol> block."
+ "Warning in the documentation of this entity:\nThe <li> tag can only be used inside a <ul> ... </ul> or a <ol> ... </ol> block."
);
}
else
@@ -1855,13 +1872,13 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
if (currentListIndent.isEmpty())
{
warn(yyFileName,yyLineNr,
- "Warning: more </dl> tags than <dl> tags in the documentation."
+ "Warning in the documentation of this entity:\nMore </dl> tags than <dl> tags in the documentation."
);
}
else if (currentListIndent.top()!="D")
{
warn(yyFileName,yyLineNr,
- "Warning: </dl> tag does not end a <dl> tag in the documentation."
+ "Warning in the documentation of this entity:\nThe </dl> tag does not end a <dl> tag in the documentation."
);
}
else
@@ -1875,7 +1892,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
currentListIndent.top()!="D")
{
warn(yyFileName,yyLineNr,
- "Warning: The <dt> tag can only be used inside a <dl> ... </dl> block."
+ "Warning in the documentation of this entity:\nThe <dt> tag can only be used inside a <dl> ... </dl> block."
);
}
else
@@ -1889,7 +1906,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
currentListIndent.top()!="D")
{
warn(yyFileName,yyLineNr,
- "Warning: The <dd> tag can only be used inside a <dl> ... </dl> block."
+ "Warning in the documentation of this entity:\nThe <dd> tag can only be used inside a <dl> ... </dl> block."
);
}
else
@@ -1935,7 +1952,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
<DocScan>{CMD}("\\"|"@"|"<"|">"|"&"|"$"|"#"|"%") {
outDoc->docify(&yytext[1]);
}
-<DocScan>"%"[a-zA-Z_0-9\-]+ {
+<DocScan,DocEmphasis,DocBold,DocCode>"%"[a-zA-Z_0-9\-]+ {
outDoc->docify(yytext+1);
}
<DocEmphasis>[a-z_A-Z][a-z_A-Z:0-9<>&\-=^%~!\[\]()|\*/]*"("[a-z_A-Z0-9,:\<\> \t\*\&]*")" {
@@ -2012,7 +2029,7 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
outDoc->newParagraph();
}
if (inBlock()) endBlock();
- addListItemMarker(strrchr(yytext,'\n')+1,dashPos,isEnumerated);
+ addListItemMarker(yytext,dashPos+1,isEnumerated);
}
<DocScan>({B}*"\n"){2,}{B}* { // new paragraph
if (insideArgumentList)
@@ -2034,7 +2051,32 @@ DOCPARAM ([a-z_A-Z0-9:\<\>\=\.\-]+)|("\"".*"\"")
outDoc->writeChar(' ');
}
<DocScan>\n?{B}* {
- outDoc->writeChar(' ');
+ if (insidePre)
+ {
+ outDoc->docify(yytext);
+ }
+ else
+ {
+ outDoc->writeChar(' ');
+ }
+ }
+<DocScan>"\\"[a-z_A-Z][a-z_A-Z0-9]*[\\] { // directory type of text
+ outDoc->docify(yytext);
+ }
+<DocScan>{CMD}[a-z_A-Z][a-z_A-Z0-9]* {
+ QCString *pValue=aliasDict[yytext+1];
+ if (pValue)
+ {
+ int i,l=pValue->length();
+ for (i=l-1;i>=0;i--)
+ {
+ unput(pValue->at(i));
+ }
+ }
+ else
+ {
+ warn(yyFileName,yyLineNr,"Warning in the documentation of this entity:\nUnknown command `%s' found.",yytext);
+ }
}
<DocCode,DocEmphasis,DocBold,DocScan,Text>[a-z_A-Z0-9]+ {
outDoc->docify(yytext);
diff --git a/src/dot.cpp b/src/dot.cpp
index ccf991f..d81d09d 100644
--- a/src/dot.cpp
+++ b/src/dot.cpp
@@ -1043,13 +1043,27 @@ static void findMaximalDotGraph(DotNode *root,
QCString DotClassGraph::diskName() const
{
- return m_diskName + "_coll_graph";
+ QString result=m_diskName.copy();
+ switch (m_graphType)
+ {
+ case Implementation:
+ result+="_coll_graph";
+ break;
+ case Interface:
+ result+="_intf_graph";
+ break;
+ case Inheritance:
+ result+="_inherit_graph";
+ break;
+ }
+ return result;
}
void DotClassGraph::writeGraph(QTextStream &out,
GraphOutputFormat format,
const char *path,
- bool isTBRank)
+ bool isTBRank,
+ bool generateImageMap)
{
QDir d(path);
// store the original directory
@@ -1094,34 +1108,37 @@ void DotClassGraph::writeGraph(QTextStream &out,
QDir::setCurrent(oldDir);
return;
}
- // run dot again to create an image map
- dotCmd.sprintf("%sdot -Timap \"%s.dot\" -o \"%s.map\"",
- Config::dotPath.data(),baseName.data(),baseName.data());
- if (iSystem(dotCmd)!=0)
+ if (generateImageMap)
{
- err("Error: Problems running dot. Check your installation!\n");
- QDir::setCurrent(oldDir);
- return;
- }
- out << "<p><center><img src=\"" << baseName << ".gif\" border=\"0\" usemap=\"#"
+ // run dot again to create an image map
+ dotCmd.sprintf("%sdot -Timap \"%s.dot\" -o \"%s.map\"",
+ Config::dotPath.data(),baseName.data(),baseName.data());
+ if (iSystem(dotCmd)!=0)
+ {
+ err("Error: Problems running dot. Check your installation!\n");
+ QDir::setCurrent(oldDir);
+ return;
+ }
+ out << "<p><center><img src=\"" << baseName << ".gif\" border=\"0\" usemap=\"#"
<< m_startNode->m_label << "_" << mapName << "\" alt=\"";
- switch (m_graphType)
- {
- case Implementation:
- out << "Collaboration graph";
- break;
- case Interface:
- out << "Interface dependency graph";
- break;
- case Inheritance:
- out << "Inheritance graph";
- break;
+ switch (m_graphType)
+ {
+ case Implementation:
+ out << "Collaboration graph";
+ break;
+ case Interface:
+ out << "Interface dependency graph";
+ break;
+ case Inheritance:
+ out << "Inheritance graph";
+ break;
+ }
+ out << "\"></center>" << endl;
+ out << "<map name=\"" << m_startNode->m_label << "_" << mapName << "\">" << endl;
+ convertMapFile(out,baseName+".map");
+ out << "</map>" << endl;
+ thisDir.remove(baseName+".map");
}
- out << "\"></center>" << endl;
- out << "<map name=\"" << m_startNode->m_label << "_" << mapName << "\">" << endl;
- convertMapFile(out,baseName+".map");
- out << "</map><p>" << endl;
- thisDir.remove(baseName+".map");
}
else if (format==EPS) // run dot to create a .eps image
{
@@ -1251,12 +1268,16 @@ DotInclDepGraph::~DotInclDepGraph()
QCString DotInclDepGraph::diskName() const
{
- return m_diskName + "_incldep";
+ QCString result=m_diskName.copy();
+ if (m_inverse) result+="_dep";
+ result+="_incl";
+ return result;
}
void DotInclDepGraph::writeGraph(QTextStream &out,
GraphOutputFormat format,
- const char *path
+ const char *path,
+ bool generateImageMap
)
{
QDir d(path);
@@ -1292,25 +1313,28 @@ void DotInclDepGraph::writeGraph(QTextStream &out,
return;
}
- // run dot again to create an image map
- dotCmd.sprintf("%sdot -Timap \"%s.dot\" -o \"%s.map\"",
- Config::dotPath.data(),baseName.data(),baseName.data());
- if (iSystem(dotCmd)!=0)
+ if (generateImageMap)
{
- err("Problems running dot. Check your installation!\n");
- QDir::setCurrent(oldDir);
- return;
- }
+ // run dot again to create an image map
+ dotCmd.sprintf("%sdot -Timap \"%s.dot\" -o \"%s.map\"",
+ Config::dotPath.data(),baseName.data(),baseName.data());
+ if (iSystem(dotCmd)!=0)
+ {
+ err("Problems running dot. Check your installation!\n");
+ QDir::setCurrent(oldDir);
+ return;
+ }
- out << "<p><center><img src=\"" << baseName << ".gif\" border=\"0\" usemap=\"#"
+ out << "<p><center><img src=\"" << baseName << ".gif\" border=\"0\" usemap=\"#"
<< mapName << "_map\" alt=\"";
- if (m_inverse) out << "Included by dependency graph"; else out << "Include dependency graph";
- out << "\">";
- out << "</center>" << endl;
- out << "<map name=\"" << mapName << "_map\">" << endl;
- convertMapFile(out,baseName+".map");
- out << "</map><p>" << endl;
- thisDir.remove(baseName+".map");
+ if (m_inverse) out << "Included by dependency graph"; else out << "Include dependency graph";
+ out << "\">";
+ out << "</center>" << endl;
+ out << "<map name=\"" << mapName << "_map\">" << endl;
+ convertMapFile(out,baseName+".map");
+ out << "</map>" << endl;
+ thisDir.remove(baseName+".map");
+ }
}
else if (format==EPS)
{
diff --git a/src/dot.h b/src/dot.h
index b87059e..90a0df1 100644
--- a/src/dot.h
+++ b/src/dot.h
@@ -120,7 +120,7 @@ class DotClassGraph
~DotClassGraph();
bool isTrivial() const;
void writeGraph(QTextStream &t,GraphOutputFormat f,const char *path,
- bool TBRank=TRUE);
+ bool TBRank=TRUE,bool imageMap=TRUE);
QCString diskName() const;
private:
@@ -141,7 +141,8 @@ class DotInclDepGraph
public:
DotInclDepGraph(FileDef *fd,bool inverse=FALSE);
~DotInclDepGraph();
- void writeGraph(QTextStream &t, GraphOutputFormat f,const char *path);
+ void writeGraph(QTextStream &t, GraphOutputFormat f,const char *path,
+ bool writeImageMap=TRUE);
bool isTrivial() const;
QCString diskName() const;
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index c18ba20..981d7d6 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -81,9 +81,10 @@ ClassDict classDict(1009); // all documented classes
NamespaceDict namespaceDict(257); // all documented namespaces
MemberNameDict memberNameDict(10007); // all class member names
MemberNameDict functionNameDict(10007); // all functions
-//StringDict substituteDict(1009); // class name substitutes
+//StringDict substituteDict(1009); // class name substitutes
SectionDict sectionDict(257); // all page sections
StringDict excludeNameDict(1009); // sections
+StringDict aliasDict(257); // aliases
FileNameDict *inputNameDict; // sections
FileNameDict *includeNameDict; // include names
FileNameDict *exampleNameDict; // examples
@@ -1081,8 +1082,9 @@ static MemberDef *addVariableToClass(
MemberName *mn=memberNameDict[name];
if (mn)
{
- MemberDef *md=mn->first();
- while (md)
+ MemberNameIterator mni(*mn);
+ MemberDef *md;
+ for (mni.toFirst();(md=mni.current());++mni)
{
if (md->getClassDef()==cd && root->type==md->typeString())
// member already in the scope
@@ -1090,7 +1092,6 @@ static MemberDef *addVariableToClass(
addMemberDocs(root,md,def,0,FALSE);
return md;
}
- md=mn->next();
}
}
// new member variable, typedef or enum value
@@ -1212,8 +1213,9 @@ static MemberDef *addVariableToFile(
MemberName *mn=functionNameDict[name];
if (mn)
{
- MemberDef *md=mn->first();
- while (md)
+ MemberNameIterator mni(*mn);
+ MemberDef *md;
+ for (mni.toFirst();(md=mni.current());++mni)
{
QCString nscope=removeAnnonymousScopes(scope);
NamespaceDef *nd=0;
@@ -1228,7 +1230,6 @@ static MemberDef *addVariableToFile(
md->setRefItems(root->todoId,root->testId);
return md;
}
- md=mn->next();
}
}
// new global variable, enum value or typedef
@@ -1690,8 +1691,9 @@ static void buildMemberList(Entry *root)
if ((mn=functionNameDict[rname]))
{
//printf("--> function %s already found!\n",rname.data());
- MemberDef *md=mn->first();
- while (md && !found)
+ MemberNameIterator mni(*mn);
+ MemberDef *md;
+ for (mni.toFirst();((md=mni.current()) && !found);++mni)
{
NamespaceDef *nd = md->getNamespaceDef();
NamespaceDef *rnd = 0;
@@ -1709,7 +1711,7 @@ static void buildMemberList(Entry *root)
)
{
// see if we need to create a new member
- found=nsName==rnsName && // members are in the same namespace
+ found=nsName==rnsName || // members are in the same namespace
((fd!=0 && // no external reference
fd->absFilePath()==root->fileName // prototype in the same file
) ||
@@ -1735,7 +1737,6 @@ static void buildMemberList(Entry *root)
}
md->addSectionsToDefinition(root->anchors);
}
- md=mn->next();
}
}
if (!found) /* global function is unique with respect to the file */
@@ -2680,9 +2681,10 @@ static bool findUnrelatedFunction(Entry *root,
{
Debug::print(Debug::FindMembers,0,"3. Found function scope\n");
//int count=0;
- MemberDef *md=mn->first();
+ MemberNameIterator mni(*mn);
+ MemberDef *md;
bool found=FALSE;
- while (md)
+ for (mni.toFirst();(md=mni.current()) && !found;++mni)
{
bool ambig;
NamespaceDef *nd=md->getNamespaceDef();
@@ -2716,7 +2718,6 @@ static bool findUnrelatedFunction(Entry *root,
found=TRUE;
}
}
- md=mn->next();
}
if (!found) // no match
{
@@ -2727,11 +2728,9 @@ static bool findUnrelatedFunction(Entry *root,
if (mn->count()>0)
{
warn_cont("Possible candidates:\n");
- md=mn->first();
- while (md)
+ for (mni.toFirst();(md=mni.current());++mni)
{
warn_cont(" %s\n",md->declaration());
- md=mn->next();
}
}
}
@@ -3185,7 +3184,6 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
if (!className.isEmpty()) // class name is valid
{
int count=0;
- //MemberDef *md=mn->first(); // for each member with that name
MemberNameIterator mni(*mn);
MemberDef *md;
for (mni.toFirst();(md=mni.current());++mni)
@@ -3328,37 +3326,22 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
int candidates=0;
if (mn->count()>0)
{
- md=mn->first();
- while (md)
+ for (mni.toFirst();(md=mni.current());++mni)
{
ClassDef *cd=md->getClassDef();
if (cd!=0 && cd->name()==className) candidates++;
- md=mn->next();
}
}
if (candidates>0)
{
warn_cont("Possible candidates:\n");
- md=mn->first();
- while (md)
+ for (mni.toFirst();(md=mni.current());++mni)
{
ClassDef *cd=md->getClassDef();
if (cd!=0 && cd->name()==className)
{
- warn_cont(" %s",md->declaration());
-#if 0
- if (cd->name().at(0)!='@')
- {
- warn_cont(" in class %s",cd->name().data());
- }
- if (!md->getDefFileName().isEmpty() && md->getDefLine()!=-1)
- {
- warn_cont(" defined at line %d of file %s",md->getDefLine(),md->getDefFileName().data());
- }
-#endif
- warn_cont("\n");
+ warn_cont(" %s\n",md->declaration());
}
- md=mn->next();
}
}
}
@@ -3368,18 +3351,18 @@ static void findMember(Entry *root,QCString funcDecl,QCString related,bool overl
// for unique overloaded member we allow the class to be
// omitted, this is to be Qt compatable. Using this should
// however be avoided, because it is error prone
- MemberDef *md=mn->first();
+ MemberNameIterator mni(*mn);
+ MemberDef *md=mni.toFirst();
ASSERT(md);
ClassDef *cd=md->getClassDef();
ASSERT(cd);
QCString className=cd->name().copy();
- md=mn->next();
+ ++mni;
bool unique=TRUE;
- while (md)
+ for (;(md=mni.current());++mni)
{
ClassDef *cd=md->getClassDef();
if (className!=cd->name()) unique=FALSE;
- md=mn->next();
}
if (unique)
{
@@ -3812,8 +3795,12 @@ static void findEnums(Entry *root)
if (!e->name.isEmpty() && (fmn=(*mnd)[e->name]))
// get list of members with the same name as the field
{
- MemberDef *fmd=fmn->first();
- while (fmd) // search for the scope with the right name
+ MemberNameIterator fmni(*fmn);
+ MemberDef *fmd;
+ for (fmni.toFirst();
+ (fmd=fmni.current()) && fmd->isEnumValue();
+ ++fmni
+ ) // search for the scope with the right name
{
if (nd && !nd->name().isEmpty() && nd->name().at(0)!='@')
{
@@ -3842,7 +3829,6 @@ static void findEnums(Entry *root)
fmd->setEnumScope(md); // cross ref with enum name
}
}
- fmd=fmn->next();
}
}
}
@@ -3900,8 +3886,9 @@ static void findEnumDocumentation(Entry *root)
MemberName *mn=memberNameDict[name];
if (mn)
{
- MemberDef *md=mn->first();
- while (md && !found)
+ MemberNameIterator mni(*mn);
+ MemberDef *md;
+ for (mni.toFirst();(md=mni.current()) && !found;++mni)
{
ClassDef *cd=md->getClassDef();
if (cd && cd->name()==className)
@@ -3927,7 +3914,6 @@ static void findEnumDocumentation(Entry *root)
md->addSectionsToDefinition(root->anchors);
found=TRUE;
}
- md=mn->next();
}
}
else
@@ -3939,7 +3925,7 @@ static void findEnumDocumentation(Entry *root)
{
MemberDef *md;
MemberName *mn=functionNameDict[name];
- if (mn && (md=mn->first()))
+ if (mn && (md=mn->getFirst()))
{
md->setDocumentation(root->doc);
md->setBriefDescription(root->brief);
@@ -3981,16 +3967,16 @@ static void findDEV(const MemberNameList &mnl)
{
if (md->isEnumerate()) // member is an enum
{
- QList<MemberDef> *fmdl = md->enumFieldList();
+ MemberList *fmdl = md->enumFieldList();
int documentedEnumValues=0;
if (fmdl) // enum has values
{
- MemberDef *fmd=fmdl->first();
+ MemberListIterator fmni(*fmdl);
+ MemberDef *fmd;
// for each enum value
- while (fmd)
+ for (fmni.toFirst();(fmd=fmni.current());++fmni)
{
if (fmd->isLinkableInProject()) documentedEnumValues++;
- fmd=fmdl->next();
}
}
// at least one enum value is documented
@@ -4016,19 +4002,20 @@ static void findDocumentedEnumValues()
static void computeMemberRelations()
{
- MemberName *mn=memberNameList.first();
- while (mn) // for each member name
+ MemberNameListIterator mnli(memberNameList);
+ MemberName *mn;
+ for ( ; (mn=mnli.current()) ; ++mnli ) // for each member name
{
MemberNameIterator mdi(*mn);
- for ( ; mdi.current() ; ++mdi) // for each member with a specific arg list
+ MemberDef *md;
+ for ( ; (md=mdi.current()) ; ++mdi ) // for each member with a specific arg list
{
- MemberDef *md=mdi.current();
MemberNameIterator bmdi(*mn);
- for ( ; bmdi.current() ; ++bmdi) // for each other member with that signature
+ MemberDef *bmd;
+ for ( ; (bmd=bmdi.current()) ; ++bmdi ) // for each other member with that signature
{
- MemberDef *bmd=bmdi.current();
ClassDef *bmcd = bmd->getClassDef();
- ClassDef *mcd = md->getClassDef();
+ ClassDef *mcd = md->getClassDef();
//printf("Check relation between `%s'::`%s' and `%s'::`%s'\n",
// mcd->name().data(),md->name().data(),
// bmcd->name().data(),bmd->name().data()
@@ -4060,7 +4047,6 @@ static void computeMemberRelations()
}
}
}
- mn=memberNameList.next();
}
}
@@ -4108,11 +4094,13 @@ static void generateFileSources()
if (inputNameList.count()>0)
{
- FileName *fn=inputNameList.first();
- while (fn)
+ FileNameListIterator fnli(inputNameList);
+ FileName *fn;
+ for (;(fn=fnli.current());++fnli)
{
- FileDef *fd=fn->first();
- while (fd)
+ FileNameIterator fni(*fn);
+ FileDef *fd;
+ for (;(fd=fni.current());++fni)
{
bool src = !fd->isReference() &&
(fd->generateSource() || Config::sourceBrowseFlag);
@@ -4121,9 +4109,7 @@ static void generateFileSources()
msg("Generating code for file %s...\n",fd->name().data());
fd->writeSource(*outputList);
}
- fd=fn->next();
}
- fn=inputNameList.next();
}
}
}
@@ -4136,11 +4122,13 @@ static void generateFileDocs()
if (inputNameList.count()>0)
{
- FileName *fn=inputNameList.first();
- while (fn)
+ FileNameListIterator fnli(inputNameList);
+ FileName *fn;
+ for (fnli.toFirst();(fn=fnli.current());++fnli)
{
- FileDef *fd=fn->first();
- while (fd)
+ FileNameIterator fni(*fn);
+ FileDef *fd;
+ for (fni.toFirst();(fd=fni.current());++fni)
{
bool doc = fd->isLinkableInProject();
if (doc)
@@ -4149,9 +4137,7 @@ static void generateFileDocs()
fd->writeDocumentation(*outputList);
}
- fd=fn->next();
}
- fn=inputNameList.next();
}
}
}
@@ -5728,6 +5714,38 @@ int main(int argc,char **argv)
}
s=Config::expandAsDefinedList.next();
}
+
+ // add aliases to a dictionary
+ aliasDict.setAutoDelete(TRUE);
+ s=Config::aliasList.first();
+ while (s)
+ {
+ if (aliasDict[s]==0)
+ {
+ QCString alias=s;
+ int i=alias.find('=');
+ if (i>0)
+ {
+ QCString name=alias.left(i).stripWhiteSpace();
+ QCString value=alias.right(alias.length()-i-1);
+ value=substitute(value,"\\n","\n");
+ //printf("Alias: found name=`%s' value=`%s'\n",name.data(),value.data());
+ if (!name.isEmpty())
+ {
+ QCString *dn=aliasDict[name];
+ if (dn==0) // insert new alias
+ {
+ aliasDict.insert(name,new QCString(value));
+ }
+ else // overwrite previous alias
+ {
+ *dn=value;
+ }
+ }
+ }
+ }
+ s=Config::aliasList.next();
+ }
BufStr input(inputSize+1); // Add one byte extra for \0 termination
diff --git a/src/doxygen.h b/src/doxygen.h
index 6229ac5..7b41698 100644
--- a/src/doxygen.h
+++ b/src/doxygen.h
@@ -99,6 +99,7 @@ extern FormulaList formulaList;
extern FormulaDict formulaDict;
extern FormulaDict formulaNameDict;
extern StringDict tagDestinationDict;
+extern StringDict aliasDict;
extern QIntDict<QCString> memberHeaderDict; // dictionary of the member groups heading
extern QIntDict<QCString> memberDocDict; // dictionary of the member groups heading
extern QDict<void> expandAsDefinedDict;
diff --git a/src/doxygen.pro.in b/src/doxygen.pro.in
index 417dea8..6de8edd 100644
--- a/src/doxygen.pro.in
+++ b/src/doxygen.pro.in
@@ -26,7 +26,7 @@ HEADERS = doxygen.h scanner.h doc.h classdef.h classlist.h memberdef.h \
translator_nl.h translator_se.h translator_cz.h translator_fr.h \
translator_it.h formula.h debug.h membergroup.h htmlhelp.h \
translator_ru.h translator_pl.h dot.h rtfgen.h xml.h xml_dtd.h \
- reflist.h page.h sortdict.h
+ reflist.h page.h sortdict.h translator_hu.h
SOURCES = doxygen.cpp scanner.cpp doc.cpp classdef.cpp classlist.cpp \
memberdef.cpp membername.cpp index.cpp memberlist.cpp \
entry.cpp logos.cpp instdox.cpp message.cpp code.cpp \
diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp
index 4667631..e8cdc15 100644
--- a/src/htmlgen.cpp
+++ b/src/htmlgen.cpp
@@ -577,7 +577,7 @@ void HtmlGenerator::endClassDiagram(ClassDiagram &d,
<< " border=\"0\"></center>" << endl
<< "<map name=\"" << name << "_map\">" << endl;
- d.writeImageMap(t,dir,fileName);
+ d.writeImage(t,dir,fileName);
}
void HtmlGenerator::startColorFont(uchar red,uchar green,uchar blue)
diff --git a/src/language.cpp b/src/language.cpp
index 186edae..31928a4 100644
--- a/src/language.cpp
+++ b/src/language.cpp
@@ -31,6 +31,7 @@
#include "translator_hr.h"
#include "translator_pl.h"
#include "translator_pt.h"
+#include "translator_hu.h"
#endif
#define L_EQUAL(a) !stricmp(langName,a)
@@ -100,6 +101,10 @@ bool setTranslator(const char *langName)
{
theTranslator=new TranslatorPortuguese;
}
+ else if (L_EQUAL("hungarian"))
+ {
+ theTranslator=new TranslatorHungarian;
+ }
#endif
else // use the default language (i.e. english)
{
diff --git a/src/latexgen.h b/src/latexgen.h
index b102f76..8a3a341 100644
--- a/src/latexgen.h
+++ b/src/latexgen.h
@@ -108,7 +108,7 @@ class LatexGenerator : public OutputGenerator
void writeRuler() { t << endl << endl; /*t << "\\vspace{0.4cm}\\hrule\\vspace{0.2cm}" << endl; */ }
void writeAnchor(const char *fileName,const char *name);
- void startCodeFragment() { t << "\\small\\begin{verbatim}"; }
+ void startCodeFragment() { t << "\\footnotesize\\begin{verbatim}"; }
void endCodeFragment() { t << "\\end{verbatim}\\normalsize " << endl; }
void startPreFragment() { t << "\\small\\begin{alltt}"; }
void endPreFragment() { t << "\\end{alltt}\\normalsize " << endl; }
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 266c45c..80c5ce6 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -972,10 +972,11 @@ void MemberDef::writeDocumentation(MemberList *ml,OutputList &ol,
rmd = rmd->reimplements();
}
- if (isStatic() || protection()!=Public ||
- lvirt!=Normal || isSignal() || isFriend() ||
- isRelated() || isSlot() ||
- getMemberSpecifiers()!=0
+ if (protection()!=Public || lvirt!=Normal ||
+ isFriend() || isRelated() || isExplicit() ||
+ isMutable() || (isInline() && Config::inlineInfoFlag) ||
+ isSignal() || isSlot() ||
+ isStatic()
)
{
// write the member specifier list
diff --git a/src/rtfgen.cpp b/src/rtfgen.cpp
index 8fef647..cb35eeb 100644
--- a/src/rtfgen.cpp
+++ b/src/rtfgen.cpp
@@ -1737,7 +1737,7 @@ void RTFGenerator::endClassDiagram(ClassDiagram &d,
newParagraph();
// create a gif file
- d.writeImageMap(t,dir,fileName,FALSE);
+ d.writeImage(t,dir,fileName,FALSE);
// display the file
t << "{" << endl;
@@ -2160,11 +2160,8 @@ void RTFGenerator::startDotGraph()
void RTFGenerator::endDotGraph(DotClassGraph &g)
{
newParagraph();
- DBG_RTF(t <<"{\\comment This would be an image map..." << endl)
- g.writeGraph(t,GIF,Config::rtfOutputDir);
-
- t << "}" << endl;
+ g.writeGraph(t,GIF,Config::rtfOutputDir,TRUE,FALSE);
// display the file
t << "{" << endl;
@@ -2182,11 +2179,8 @@ void RTFGenerator::startInclDepGraph()
void RTFGenerator::endInclDepGraph(DotInclDepGraph &g)
{
newParagraph();
- DBG_RTF(t <<"{\\comment This would be an image map..." << endl)
- g.writeGraph(t,GIF,Config::rtfOutputDir);
-
- t << "}" << endl;
+ g.writeGraph(t,GIF,Config::rtfOutputDir,FALSE);
//QCString diskName = g.diskName();
diff --git a/src/translator_hr.h b/src/translator_hr.h
index 593b7ca..8b619e3 100644
--- a/src/translator_hr.h
+++ b/src/translator_hr.h
@@ -13,10 +13,16 @@
* Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license.
*
- */
-
+*/
// translation by Boris Bralo <boris.bralo@zg.tel.hr>
-
+// Updates:
+// --------
+// 2000/08/20
+// - Better handling of ISO-8859-2/ WIN 1250 stuff based on (actualy stolen from :-)) Czech translations
+// implemented by Petr Prikryl (prikrylp@skil.cz).
+// As opposed to Czech translation this one assumes that Doxygen strings are written in Linux ( it's true,
+// I don't have QT pro licence ) , and uses ISOToWin function when built in WIN32
+//
#ifndef TRANSLATOR_HR_H
#define TRANSLATOR_HR_H
@@ -24,249 +30,333 @@
class TranslatorCroatian : public Translator
{
+ private:
+ /*! to avoid macro redefinition from translator_cz.h */
+ /* Speed loss is actualy less than in Czech version due to
+ fewer QCString copying.
+ */
+ inline QCString& decode(const QCString& sInput)
+ {
+#ifdef _WIN32
+ return ISOToWin(sInput);
+#else
+ return const_cast<QCString&>(sInput);
+#endif
+ }
+ /*! returns the string converted from windows-1250 to iso-8859-2 */
+ QCString WinToISO(const QCString& sInput)
+ {
+ // The conversion table for characters >127
+ //
+ static const char WinToISOTab[] = {
+ '\x80', '\x81', '\x82', '\x83', '\x84', '\x85', '\x86', '\x87',
+ '\x88', '\x89', '\xA9', '\x8B', '\xA6', '\xAB', '\xAE', '\xAC',
+ '\x90', '\x91', '\x92', '\x93', '\x94', '\x2E', '\x96', '\x97',
+ '\x98', '\x99', '\xB9', '\x9B', '\xB6', '\xBB', '\xBE', '\xBC',
+ '\xA0', '\x20', '\x20', '\xA3', '\xA4', '\xA1', '\xA6', '\xA7',
+ '\x22', '\xA9', '\xAA', '\x3C', '\xAC', '\x2D', '\xAE', '\xAF',
+ '\x2E', '\x2B', '\x20', '\xB3', '\x27', '\x75', '\xB6', '\xB7',
+ '\x20', '\xB1', '\xBA', '\x3E', '\xA5', '\x22', '\xB5', '\xBF',
+ '\xC0', '\xC1', '\xC2', '\xC3', '\xC4', '\xC5', '\xC6', '\xC7',
+ '\xC8', '\xC9', '\xCA', '\xCB', '\xCC', '\xCD', '\xCE', '\xCF',
+ '\xD0', '\xD1', '\xD2', '\xD3', '\xD4', '\xD5', '\xD6', '\xD7',
+ '\xD8', '\xD9', '\xDA', '\xDB', '\xDC', '\xDD', '\xDE', '\xDF',
+ '\xE0', '\xE1', '\xE2', '\xE3', '\xE4', '\xE5', '\xE6', '\xE7',
+ '\xE8', '\xE9', '\xEA', '\xEB', '\xEC', '\xED', '\xEE', '\xEF',
+ '\xF0', '\xF1', '\xF2', '\xF3', '\xF4', '\xF5', '\xF6', '\x2D',
+ '\xF8', '\xF9', '\xFA', '\xFB', '\xFC', '\xFD', '\xFE', '\xFF',
+ '\0'
+ };
+
+ QCString result;
+ int len = sInput.length();
+
+ for (int i = 0; i < len; ++i)
+ {
+ unsigned int c = sInput[i];
+ result += (c > 127) ? WinToISOTab[c & 0x7F] : c;
+ }
+ return result;
+ }
+
+ /*! returns the string converted from iso-8859-2 to windows-1250 */
+ QCString ISOToWin(const QCString& sInput)
+ {
+ // The conversion table for characters >127
+ //
+ static const char ISOToWinTab[] = {
+ '\x80', '\x81', '\x82', '\x83', '\x84', '\x85', '\x86', '\x87',
+ '\x88', '\x89', '\x8A', '\x8B', '\x8C', '\x8D', '\x8E', '\x8F',
+ '\x90', '\x91', '\x92', '\x93', '\x94', '\x95', '\x96', '\x97',
+ '\x98', '\x99', '\x9A', '\x9B', '\x9C', '\x9D', '\x9E', '\x9F',
+ '\xA0', '\xA5', '\xA2', '\xA3', '\xA4', '\xBC', '\x8C', '\xA7',
+ '\xA8', '\x8A', '\xAA', '\x8D', '\x8F', '\xAD', '\x8E', '\xAF',
+ '\xB0', '\xB9', '\xB2', '\xB3', '\xB4', '\xBE', '\x9C', '\xB7',
+ '\xB8', '\x9A', '\xBA', '\x9D', '\x9F', '\xBD', '\x9E', '\xBF',
+ '\xC0', '\xC1', '\xC2', '\xC3', '\xC4', '\xC5', '\xC6', '\xC7',
+ '\xC8', '\xC9', '\xCA', '\xCB', '\xCC', '\xCD', '\xCE', '\xCF',
+ '\xD0', '\xD1', '\xD2', '\xD3', '\xD4', '\xD5', '\xD6', '\xD7',
+ '\xD8', '\xD9', '\xDA', '\xDB', '\xDC', '\xDD', '\xDE', '\xDF',
+ '\xE0', '\xE1', '\xE2', '\xE3', '\xE4', '\xE5', '\xE6', '\xE7',
+ '\xE8', '\xE9', '\xEA', '\xEB', '\xEC', '\xED', '\xEE', '\xEF',
+ '\xF0', '\xF1', '\xF2', '\xF3', '\xF4', '\xF5', '\xF6', '\xF7',
+ '\xF8', '\xF9', '\xFA', '\xFB', '\xFC', '\xFD', '\xFE', '\xFF',
+ '\0'
+ };
+ QCString result;
+ int len = sInput.length();
+
+ for (int i = 0; i < len; ++i)
+ {
+ unsigned int c = sInput[i];
+ result += (c > 127) ? ISOToWinTab[c & 0x7F] : c;
+ }
+ return result;
+ }
public:
QCString idLanguage()
{ return "croatian"; }
- QCString latexBabelPackage()
- { return "croatian"; }
QCString idLanguageCharset()
- {
#ifdef _WIN32
- return "windows-1250";
+ { return "windows-1250"; }
#else
- return "iso-8859-2";
+ { return "iso-8859-2"; }
#endif
- }
+ QCString latexBabelPackage()
+ { return "croatian"; }
QCString trRelatedFunctions()
- { return "Povezane funkcije"; }
+ { return decode("Povezane funkcije"); }
QCString trRelatedSubscript()
- { return "(To nisu member funkcije.)"; }
+ { return decode("(To nisu member funkcije.)"); }
QCString trDetailedDescription()
- { return "Detaljno objaąnjenje"; }
+ { return decode("Detaljno objaąnjenje"); }
QCString trMemberTypedefDocumentation()
- { return "Dokumentacija <code> typedef </code> članova"; }
+ { return decode("Dokumentacija typedef članova"); }
QCString trMemberEnumerationDocumentation()
- { return "Dokumentacija <code> enum </code> članova"; }
+ { return decode("Dokumentacija enum članova"); }
QCString trEnumerationValueDocumentation()
- { return "Dokumentacija <code> enum </code> vrijednosti"; }
+ { return decode("Dokumentacija enum vrijednosti"); }
QCString trMemberFunctionDocumentation()
- { return "Dokumentacija funkcija"; }
+ { return decode("Dokumentacija funkcija"); }
QCString trMemberDataDocumentation()
- { return "Documentacija varijabli"; }
+ { return decode("Documentacija varijabli"); }
QCString trGeneratedFrom(const char *s,bool single)
{
- QCString result=(QCString)"Dokumentacija za "+s+
- "je generirana iz ";
- if (single) result+="datoteke :"; else result+="slijedećih datoteka:";
+ QCString result= decode("Dokumentacija za ")+s+
+ decode("je generirana iz ");
+ if (single)
+ result+= decode("datoteke :");
+ else
+ result+= decode("slijedećih datoteka:");
return result;
}
QCString trMore()
- { return "Opąirnije..."; }
+ { return decode("Opąirnije..."); }
QCString trListOfAllMembers()
- { return "Popis svih članova."; }
+ { return decode("Popis svih članova."); }
QCString trMemberList()
- { return "Popis članova."; }
+ { return decode("Popis članova."); }
QCString trThisIsTheListOfAllMembers()
- { return "Ovo je popis svih članova"; }
+ { return decode("Ovo je popis svih članova"); }
QCString trIncludingInheritedMembers()
- { return ", uključujući naslijeđene članove."; }
+ { return decode(", uključujući naslijeđene članove."); }
QCString trGeneratedAutomatically(const char *s)
- { QCString result="generirano automatski Doxygen-om";
- if (s) result+=(QCString)" za "+s;
- result+=" iz programskog koda.";
+ { QCString result=decode("generirano automatski Doxygen-om");
+ if (s) result+=(QCString)decode(" za ")+s;
+ result+=decode(" iz programskog koda.");
return result;
}
QCString trEnumName()
- { return "enum ime"; }
+ { return decode("enum ime"); }
QCString trEnumValue()
- { return "enum vrijednost"; }
+ { return decode("enum vrijednost"); }
QCString trDefinedIn()
- { return "definirano u"; }
+ { return decode("definirano u"); }
QCString trVerbatimText(const char *f)
- { return (QCString)"Ovo je citirani tekst iz include datoteke "+f+"."; }
+ { return (QCString)decode("Ovo je citirani tekst iz include datoteke ")+f+"."; }
QCString trModules()
- { return "Moduli"; }
+ { return decode("Moduli"); }
QCString trClassHierarchy()
- { return "Stablo klasa"; }
+ { return decode("Stablo klasa"); }
QCString trCompoundList()
- { return "Sve klase"; }
+ { return decode("Sve klase"); }
QCString trFileList()
- { return "Popis datoteka"; }
+ { return decode("Popis datoteka"); }
QCString trHeaderFiles()
- { return "Header datoteke"; }
+ { return decode("Header datoteke"); }
QCString trCompoundMembers()
- { return "Svi članovi"; }
+ { return decode("Svi članovi"); }
QCString trFileMembers()
- { return "Članovi(memberi) u datoteci"; }
+ { return decode("Članovi(memberi) u datoteci"); }
QCString trRelatedPages()
- { return "Povezane stranice"; }
+ { return decode("Povezane stranice"); }
QCString trExamples()
- { return "Primjeri"; }
+ { return decode("Primjeri"); }
QCString trSearch()
- { return "Traľi"; }
+ { return decode("Traľi"); }
QCString trClassHierarchyDescription()
- { return "Stablo naslijeđivanja je posloľeno "
- "pribliľno po abecedi:";
+ { return decode("Stablo naslijeđivanja je posloľeno "
+ "pribliľno po abecedi:");
}
QCString trFileListDescription(bool extractAll)
{
- QCString result="Popis svih ";
- if (!extractAll) result+="dokumentiranih ";
- result+="datoteka, s kratkim opisom:";
+ QCString result=decode("Popis svih ");
+ if (!extractAll) result+=decode("dokumentiranih ");
+ result+=decode("datoteka, s kratkim opisom:");
return result;
}
QCString trCompoundListDescription()
- { return "Popis svih klasa, unija i struktura "
- "s kratkim opisom :";
+ { return decode("Popis svih klasa, unija i struktura "
+ "s kratkim opisom :");
}
QCString trCompoundMembersDescription(bool extractAll)
{
- QCString result="Popis svih ";
- if (!extractAll) result+="dokumentiranih ";
- result+="članova klasa s linkovima na ";
- if (extractAll) result+="dokumentaciju svakog člana:";
- else result+="dokumentaciju klase :";
+ QCString result=decode("Popis svih ");
+ if (!extractAll) result+=decode("dokumentiranih ");
+ result+=decode("članova klasa s linkovima na ");
+ if (extractAll) result+=decode("dokumentaciju svakog člana:");
+ else result+=decode("dokumentaciju klase :");
return result;
}
QCString trFileMembersDescription(bool extractAll)
{
- QCString result="Popis svih ";
- if (!extractAll) result+="dokumentiranih ";
- result+="članova s linkovima na ";
- if (extractAll) result+="dokumentaciju datoteke u kojima se nalaze:";
- else result+="datoteke u kojima se nalaze:";
+ QCString result=decode("Popis svih ");
+ if (!extractAll) result+=decode("dokumentiranih ");
+ result+=decode("članova s linkovima na ");
+ if (extractAll) result+=decode("dokumentaciju datoteke u kojima se nalaze:");
+ else result+=decode("datoteke u kojima se nalaze:");
return result;
}
QCString trHeaderFilesDescription()
- { return "Popis header datoteka koje čine API :"; }
+ { return decode("Popis header datoteka koje čine API :"); }
QCString trExamplesDescription()
- { return "Popis primjera :"; }
+ { return decode("Popis primjera :"); }
QCString trRelatedPagesDescription()
- { return "Popis povezanih stranica:"; }
+ { return decode("Popis povezanih stranica:"); }
QCString trModulesDescription()
- { return "Popis svih modula:"; }
+ { return decode("Popis svih modula:"); }
QCString trNoDescriptionAvailable()
- { return "Opis nije dostupan"; }
+ { return decode("Opis nije dostupan"); }
QCString trDocumentation()
- { return "Dokumentacija"; }
+ { return decode("Dokumentacija"); }
QCString trModuleIndex()
- { return "Indeks modula"; }
+ { return decode("Indeks modula"); }
QCString trHierarchicalIndex()
- { return "Hijerarhijski indeks"; }
+ { return decode("Hijerarhijski indeks"); }
QCString trCompoundIndex()
- { return "Skupni indeks"; }
+ { return decode("Skupni indeks"); }
QCString trFileIndex()
- { return "Indeks datoteka"; }
+ { return decode("Indeks datoteka"); }
QCString trModuleDocumentation()
- { return "Dokumentacija modula"; }
+ { return decode("Dokumentacija modula"); }
QCString trClassDocumentation()
- { return "Dokumentacija klasa"; }
+ { return decode("Dokumentacija klasa"); }
QCString trFileDocumentation()
- { return "Dokumentacija datoteka"; }
+ { return decode("Dokumentacija datoteka"); }
QCString trExampleDocumentation()
- { return "Dokumentacija primjera"; }
+ { return decode("Dokumentacija primjera"); }
QCString trPageDocumentation()
- { return "Dokumentacija za povezane stranice"; }
+ { return decode("Dokumentacija za povezane stranice"); }
QCString trReferenceManual()
- { return "Priručnik"; }
+ { return decode("Priručnik"); }
QCString trDefines()
- { return "Define-ovi"; }
+ { return decode("Define-ovi"); }
QCString trFuncProtos()
- { return "Prototipi funkcija"; }
+ { return decode("Prototipi funkcija"); }
QCString trTypedefs()
- { return "Typedef-ovi"; }
+ { return decode("Typedef-ovi"); }
QCString trEnumerations()
- { return "Enumeracije"; }
+ { return decode("Enumeracije"); }
QCString trFunctions()
- { return "Funkcije"; }
+ { return decode("Funkcije"); }
QCString trVariables()
- { return "Varijable"; }
+ { return decode("Varijable"); }
QCString trEnumerationValues()
- { return "Vrijednosti enum-ova"; }
+ { return decode("Vrijednosti enum-ova"); }
QCString trAuthor()
- { return "autor"; }
+ { return decode("autor"); }
QCString trDefineDocumentation()
- { return "Dokumentacija define-a"; }
+ { return decode("Dokumentacija define-a"); }
QCString trFunctionPrototypeDocumentation()
- { return "Dokumentacija prototipa funkcije"; }
+ { return decode("Dokumentacija prototipa funkcije"); }
QCString trTypedefDocumentation()
- { return "Dokumentacija typedef-a"; }
+ { return decode("Dokumentacija typedef-a"); }
QCString trEnumerationTypeDocumentation()
- { return "Dokumentacija enum tipa"; }
+ { return decode("Dokumentacija enum tipa"); }
QCString trFunctionDocumentation()
- { return "Dokumentacije funkcijs"; }
+ { return decode("Dokumentacije funkcijs"); }
QCString trVariableDocumentation()
- { return "Dokumentacija varijable"; }
+ { return decode("Dokumentacija varijable"); }
QCString trCompounds()
- { return "Strukture"; }
+ { return decode("Strukture"); }
QCString trFiles()
- { return "Datoteke"; }
+ { return decode("Datoteke"); }
QCString trGeneratedAt(const char *date,const char *projName)
{
- QCString result=(QCString)"Generirano "+date;
- if (projName) result+=(QCString)" projekt: "+projName;
- result+=(QCString)" generator: ";
+ QCString result=(QCString)decode("Generirano ")+date;
+ if (projName) result+=(QCString)decode(" projekt: ")+projName;
+ result+=(QCString)decode(" generator: ");
return result;
}
QCString trWrittenBy()
{
- return "napisao ";
+ return decode("napisao ");
}
QCString trClassDiagram(const char *clName)
{
- return (QCString)"Dijagram klasa za "+clName;
+ return decode("Dijagram klasa za ")+clName;
}
QCString trForInternalUseOnly()
- { return "Isključivo za internu uporabu."; }
+ { return decode("Isključivo za internu uporabu."); }
QCString trReimplementedForInternalReasons()
- { return "Reimplementirano zbog internih razloga; "
- "Nema utjecaja na API.";
+ { return decode("Reimplementirano zbog internih razloga; "
+ "Nema utjecaja na API.");
}
QCString trWarning()
- { return "Upozorenje"; }
+ { return decode("Upozorenje"); }
QCString trBugsAndLimitations()
- { return "Greąke i ograničenja"; }
+ { return decode("Greąke i ograničenja"); }
QCString trVersion()
- { return "Verzija"; }
+ { return decode("Verzija"); }
QCString trDate()
- { return "Datum"; }
+ { return decode("Datum"); }
QCString trAuthors()
- { return "Autor(i)"; }
+ { return decode("Autor(i)"); }
QCString trReturns()
- { return "Povratne vrijednosti"; }
+ { return decode("Povratne vrijednosti"); }
QCString trSeeAlso()
- { return "Vidi također"; }
+ { return decode("Vidi također"); }
QCString trParameters()
- { return "Parametri"; }
+ { return decode("Parametri"); }
QCString trExceptions()
- { return "Iznimke"; }
+ { return decode("Iznimke"); }
QCString trGeneratedBy()
- { return "Generirao"; }
+ { return decode("Generirao"); }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990307
//////////////////////////////////////////////////////////////////////////
QCString trNamespaceList()
- { return "Popis namespace-ova"; }
+ { return decode("Popis namespace-ova"); }
QCString trNamespaceListDescription(bool extractAll)
{
- QCString result="Popis svih ";
- if (!extractAll) result+="dokumentiranih ";
- result+="namespace-ova s kratkim opisom:";
+ QCString result=decode("Popis svih ");
+ if (!extractAll) result+=decode("dokumentiranih ");
+ result+=decode("namespace-ova s kratkim opisom:");
return result;
}
QCString trFriends()
- { return "Friend-ovi "; }
+ { return decode("Friend-ovi "); }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
//////////////////////////////////////////////////////////////////////////
QCString trRelatedFunctionDocumentation()
- { return "Dokumentacija povezanih funkcija"; }
+ { return decode("Dokumentacija povezanih funkcija"); }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
@@ -277,14 +367,14 @@ class TranslatorCroatian : public Translator
bool /*isTemplate*/)
// used as the title of the HTML page of a class/struct/union
{
- QCString result="Opis ";
+ QCString result=decode("Opis ");
switch(compType)
{
- case ClassDef::Class: result+=" klase "; break;
- case ClassDef::Struct: result+=" strukture "; break;
- case ClassDef::Union: result+=" unije "; break;
- case ClassDef::Interface: result+=" sučelja (interface) "; break;
- case ClassDef::Exception: result+=" iznimke (exception) "; break;
+ case ClassDef::Class: result+=decode(" klase "); break;
+ case ClassDef::Struct: result+=decode(" strukture "); break;
+ case ClassDef::Union: result+=decode(" unije "); break;
+ case ClassDef::Interface: result+=decode(" sučelja (interface) "); break;
+ case ClassDef::Exception: result+=decode(" iznimke (exception) "); break;
}
result += (QCString)clName;
@@ -293,14 +383,14 @@ class TranslatorCroatian : public Translator
QCString trFileReference(const char *fileName)
// used as the title of the HTML page of a file
{
- QCString result="Opis datoteke ";
+ QCString result=decode("Opis datoteke ");
result+=fileName;
return result;
}
QCString trNamespaceReference(const char *namespaceName)
// used as the title of the HTML page of a namespace
{
- QCString result ="Opis namespace-a ";
+ QCString result =decode("Opis namespace-a ");
result+=namespaceName;
return result;
@@ -308,25 +398,25 @@ class TranslatorCroatian : public Translator
// these are for the member sections of a class, struct or union
QCString trPublicMembers()
- { return "Public članovi"; }
+ { return decode("Public članovi"); }
QCString trPublicSlots()
- { return "Public slotovi"; }
+ { return decode("Public slotovi"); }
QCString trSignals()
- { return "Signali"; }
+ { return decode("Signali"); }
QCString trStaticPublicMembers()
- { return "Static public članovi"; }
+ { return decode("Static public članovi"); }
QCString trProtectedMembers()
- { return "Protected članovi"; }
+ { return decode("Protected članovi"); }
QCString trProtectedSlots()
- { return "Protected slotovi"; }
+ { return decode("Protected slotovi"); }
QCString trStaticProtectedMembers()
- { return "Static protected članovi"; }
+ { return decode("Static protected članovi"); }
QCString trPrivateMembers()
- { return "Private članovi"; }
+ { return decode("Private članovi"); }
QCString trPrivateSlots()
- { return "Private slotovi"; }
+ { return decode("Private slotovi"); }
QCString trStaticPrivateMembers()
- { return "Static private članovi"; }
+ { return decode("Static private članovi"); }
// end of member sections
QCString trWriteList(int numEntries)
@@ -357,50 +447,50 @@ class TranslatorCroatian : public Translator
// used in class documentation to produce a list of base classes,
// if class diagrams are disabled.
{
- return "Naslijeđuje od "+trWriteList(numEntries)+".";
+ return decode("Naslijeđuje od "+trWriteList(numEntries)+".");
}
QCString trInheritedByList(int numEntries)
// used in class documentation to produce a list of super classes,
// if class diagrams are disabled.
{
- return "Naslijeđena u "+trWriteList(numEntries)+".";
+ return decode("Naslijeđena u "+trWriteList(numEntries)+".");
}
QCString trReimplementedFromList(int numEntries)
// used in member documentation blocks to produce a list of
// members that are hidden by this one.
{
- return "Reimplementirano od "+trWriteList(numEntries)+".";
+ return decode("Reimplementirano od "+trWriteList(numEntries)+".");
}
QCString trReimplementedInList(int numEntries)
{
// used in member documentation blocks to produce a list of
// all member that overwrite the implementation of this member.
- return "Reimplementacija u "+trWriteList(numEntries)+".";
+ return decode("Reimplementacija u "+trWriteList(numEntries)+".");
}
QCString trNamespaceMembers()
// This is put above each page as a link to all members of namespaces.
- { return "Namespace članovi"; }
+ { return decode("Namespace članovi"); }
QCString trNamespaceMemberDescription(bool extractAll)
// This is an introduction to the page with all namespace members
{
- QCString result="Lista svih ";
- if (!extractAll) result+="dokumentiranih ";
- result+="namespace članova s linkovima na ";
+ QCString result=decode("Lista svih ");
+ if (!extractAll) result+=decode("dokumentiranih ");
+ result+=decode("namespace članova s linkovima na ");
if (extractAll)
- result+="namespace dokumentaciju svakog člana:";
+ result+=decode("namespace dokumentaciju svakog člana:");
else
- result+="namespace kojima pripadaju:";
+ result+=decode("namespace kojima pripadaju:");
return result;
}
QCString trNamespaceIndex()
// This is used in LaTeX as the title of the chapter with the
// index of all namespaces.
- { return "Indeks namespace-a"; }
+ { return decode("Indeks namespace-a"); }
QCString trNamespaceDocumentation()
// This is used in LaTeX as the title of the chapter containing
// the documentation of all namespaces.
- { return "Dokumentacija namespace-a"; }
+ { return decode("Dokumentacija namespace-a"); }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990728
@@ -413,16 +503,16 @@ class TranslatorCroatian : public Translator
bool single)
{ // here s is one of " Class", " Struct" or " Union"
// single is true implies a single file
- QCString result=(QCString)"Dokumentacija ove ";
+ QCString result=(QCString)decode("Dokumentacija ove ");
switch(compType)
{
- case ClassDef::Class: result+="klase"; break;
- case ClassDef::Struct: result+="strukture"; break;
- case ClassDef::Union: result+="unije"; break;
- case ClassDef::Interface: result+="sučelja (interface)"; break;
- case ClassDef::Exception: result+="iznimke (exception)"; break;
+ case ClassDef::Class: result+=decode("klase"); break;
+ case ClassDef::Struct: result+=decode("strukture"); break;
+ case ClassDef::Union: result+=decode("unije"); break;
+ case ClassDef::Interface: result+=decode("sučelja (interface)"); break;
+ case ClassDef::Exception: result+=decode("iznimke (exception)"); break;
}
- result+=" je generirana iz datotek";
+ result+=decode(" je generirana iz datotek");
if (single) result+="e :"; else result+="a :";
return result;
}
@@ -431,7 +521,7 @@ class TranslatorCroatian : public Translator
* list.
*/
QCString trAlphabeticalList()
- { return "Abecedni popis"; }
+ { return decode("Abecedni popis"); }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990901
@@ -439,18 +529,18 @@ class TranslatorCroatian : public Translator
/*! This is used as the heading text for the retval command. */
QCString trReturnValues()
- { return "Povratna vrijednost"; }
+ { return decode("Povratna vrijednost"); }
/*! This is in the (quick) index as a link to the main page (index.html)
*/
QCString trMainPage()
- { return "Glavna stranica"; }
+ { return decode("Glavna stranica"); }
/*! This is used in references to page that are put in the LaTeX
* documentation. It should be an abbreviation of the word page.
*/
QCString trPageAbbreviation()
- { return "str."; }
+ { return decode("str."); }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-991106
@@ -458,15 +548,15 @@ class TranslatorCroatian : public Translator
QCString trSources()
{
- return "Izvorne datoteke";
+ return decode("Izvorne datoteke");
}
QCString trDefinedAtLineInSourceFile()
{
- return "Definirano u liniji @0 datoteke @1.";
+ return decode("Definirano u liniji @0 datoteke @1.");
}
QCString trDefinedInSourceFile()
{
- return "Definirano u datoteci @0.";
+ return decode("Definirano u datoteci @0.");
}
//////////////////////////////////////////////////////////////////////////
@@ -475,7 +565,7 @@ class TranslatorCroatian : public Translator
QCString trDeprecated()
{
- return "Zastarjelo";
+ return decode("Zastarjelo");
}
//////////////////////////////////////////////////////////////////////////
@@ -485,68 +575,68 @@ class TranslatorCroatian : public Translator
/*! this text is put before a collaboration diagram */
QCString trCollaborationDiagram(const char *clName)
{
- return (QCString)"Kolaboracijski dijagram za "+clName+":";
+ return decode( (QCString)"Kolaboracijski dijagram za "+clName+ ":");
}
/*! this text is put before an include dependency graph */
QCString trInclDepGraph(const char *fName)
{
- return (QCString)"Graf include međuovisnosti za "+fName+":";
+ return decode((QCString)"Graf include međuovisnosti za "+fName+":");
}
/*! header that is put before the list of constructor/destructors. */
QCString trConstructorDocumentation()
{
- return "Dokumentacija konstruktora i destruktora ";
+ return decode("Dokumentacija konstruktora i destruktora ");
}
/*! Used in the file documentation to point to the corresponding sources. */
QCString trGotoSourceCode()
{
- return "Izvorni kod";
+ return decode("Izvorni kod");
}
/*! Used in the file sources to point to the corresponding documentation. */
QCString trGotoDocumentation()
{
- return "Dokumenacija za ovu datoteku.";
+ return decode("Dokumenacija za ovu datoteku.");
}
/*! Text for the \pre command */
QCString trPrecondition()
{
- return "Preduvjeti";
+ return decode("Preduvjeti");
}
/*! Text for the \post command */
QCString trPostcondition()
{
- return "Postuvjeti";
+ return decode("Postuvjeti");
}
/*! Text for the \invariant command */
QCString trInvariant()
{
- return "Invarijanta";
+ return decode("Invarijanta");
}
/*! Text shown before a multi-line variable/enum initialization */
QCString trInitialValue()
{
- return "Početna vrijednost:";
+ return decode("Početna vrijednost:");
}
/*! Text used the source code in the file index */
QCString trCode()
{
- return "kod";
+ return decode("kod");
}
QCString trGraphicalHierarchy()
{
- return "Grafičko stablo klasa";
+ return decode("Grafičko stablo klasa");
}
QCString trGotoGraphicalHierarchy()
{
- return "Grafičko stablo klasa";
+ return decode("Grafičko stablo klasa");
}
QCString trGotoTextualHierarchy()
{
- return "Tekstualno stablo klasa";
+ return decode("Tekstualno stablo klasa");
}
QCString trPageIndex()
{
- return "Indeks stranice";
+ return decode("Indeks stranice");
}
//////////////////////////////////////////////////////////////////////////
@@ -555,43 +645,43 @@ class TranslatorCroatian : public Translator
QCString trNote()
{
- return "Primjedba";
+ return decode("Primjedba");
}
QCString trPublicTypes()
{
- return "Public tipovi";
+ return decode("Public tipovi");
}
QCString trPublicAttribs()
{
- return "Public atributi";
+ return decode("Public atributi");
}
QCString trStaticPublicAttribs()
{
- return "Static public atributi";
+ return decode("Static public atributi");
}
QCString trProtectedTypes()
{
- return "Protected tipovi";
+ return decode("Protected tipovi");
}
QCString trProtectedAttribs()
{
- return "Protected atributi";
+ return decode("Protected atributi");
}
QCString trStaticProtectedAttribs()
{
- return "Static protected atributi";
+ return decode("Static protected atributi");
}
QCString trPrivateTypes()
{
- return "Private tipovi";
+ return decode("Private tipovi");
}
QCString trPrivateAttribs()
{
- return "Private atributi";
+ return decode("Private atributi");
}
QCString trStaticPrivateAttribs()
{
- return "Static private atributi";
+ return decode("Static private atributi");
}
//////////////////////////////////////////////////////////////////////////
// new since 1.1.3
@@ -600,12 +690,12 @@ class TranslatorCroatian : public Translator
/*! Used as a marker that is put before a todo item */
virtual QCString trTodo()
{
- return "Za uraditi";
+ return decode("Za uraditi");
}
/*! Used as the header of the todo list */
virtual QCString trTodoList()
{
- return "Ostalo za uraditi";
+ return decode("Ostalo za uraditi");
}
//////////////////////////////////////////////////////////////////////////
@@ -614,31 +704,108 @@ class TranslatorCroatian : public Translator
virtual QCString trReferencedBy()
{
- return "Referencirano od";
+ return decode("Referencirano od");
}
virtual QCString trRemarks()
{
- return "Napomene";
+ return decode("Napomene");
}
virtual QCString trAttention()
{
-#ifdef _WIN32
- return "Pa?nja";
-#else
- return "Paľnja";
-#endif
+ return decode("Paľnja");
}
virtual QCString trInclByDepGraph()
{
- return "Ovaj graf pokazuje koje datoteke izravno "
- "ili neizravno uključuju ovu datoteku:";
+ return decode("Ovaj graf pokazuje koje datoteke izravno "
+ "ili neizravno uključuju ovu datoteku:");
}
virtual QCString trSince()
{
- return "Od";
+ return decode("Od");
}
+//////////////////////////////////////////////////////////////////////////
+// new since 1.1.5
+//////////////////////////////////////////////////////////////////////////
+ /*! title of the graph legend page */
+ virtual QCString trLegendTitle()
+ {
+ return decode("Legenda");
+ }
+ /*! page explaining how the dot graph's should be interpreted */
+ virtual QCString trLegendDocs()
+ {
+ return
+ decode( "Ova stranica objaąnjava kako interpretirati grafikone koje je generirao "
+ "doxygen.<p>\n"
+ "Na primjer:\n"
+ "\\code\n"
+ "/*! Nevidljiva klasa (neće stati na graf date visine) */\n"
+ "class Invisible { };\n\n"
+ "/*! Odrezana klasa, inheritance je skriven (klase se vidi na grafu, ali ne i sve bazne klase) */\n"
+ "class Truncated : public Invisible { };\n\n"
+ "/* Nedokumentirana klasa */\n"
+ "class Undocumented { };\n\n"
+ "/*! Klasa koja je naslijeđena public */\n"
+ "class PublicBase : public Truncated { };\n\n"
+ "/*! Klasa koje je naslijeđena protected */\n"
+ "class ProtectedBase { };\n\n"
+ "/*! Klasa koje je naslijeđena private */\n"
+ "class PrivateBase { };\n\n"
+ "/*! Klasa koja se koristi agregacijom */\n"
+ "class Used { };\n\n"
+ "/*! Super klasa koja naslijeđuje/koristi ostale */\n"
+ "class Inherited : public PublicBase,\n"
+ " protected ProtectedBase,\n"
+ " private PrivateBase,\n"
+ " public Undocumented\n"
+ "{\n"
+ " private:\n"
+ " Used *m_usedClass;\n"
+ "};\n"
+ "\\endcode\n"
+ "Ako je \\c MAX_DOT_GRAPH_HEIGHT tag u konfiguracijskoj datoteci "
+ "postavljen na 200 gornje veze će rezultirati grafikonom:"
+ "<p><center><img src=\"graph_legend.gif\"></center>\n"
+ "<p>\n"
+ "Pravokutnici imaju slijedeće značenje:\n"
+ "<ul>\n"
+ "<li>Puni crni predstavlja klasu za koji je generiran graf.\n"
+ "<li>Pravokutnik s crnim rubom predstavlja dokumentiranu klasu.\n"
+ "<li>Pravokutnik s sivim rubom predstavlja nedokumentiranu klasu.\n"
+ "<li>Pravokutnik s crvenim rubom predstavlja dokumentiranu klasu\n"
+ "Za koju nije prikazan graf naslijeđivanja. Graf je odrezan "
+ "ako ne stane unutar određenih granica."
+ "</ul>\n"
+ "Strelice imaju slijedeće značenje:\n"
+ "<ul>\n"
+ "<li>Tamnoplava strelica označava public naslijeđivanje.\n"
+ "<li>Tamnozelena strelica označava protected naslijeđivanje.\n"
+ "<li>Tamnocrvena strelica označava private naslijeđivanje.\n"
+ "<li>Ljubičasta isprekidana strelica se koristi za agregate vezu. "
+ "Strelica je označena imenom varijable.\n"
+ "</ul>\n");
+ }
+ /*! text for the link to the legend page */
+ virtual QCString trLegend()
+ {
+ return decode("legenda");
+ }
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.0
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a marker that is put before a test item */
+ virtual QCString trTest()
+ {
+ return "Test";
+ }
+ /*! Used as the header of the test list */
+ virtual QCString trTestList()
+ {
+ return "Test lista";
+ }
};
#endif
diff --git a/src/translator_hu.h b/src/translator_hu.h
new file mode 100644
index 0000000..7140242
--- /dev/null
+++ b/src/translator_hu.h
@@ -0,0 +1,987 @@
+/******************************************************************************
+ *
+ *
+ *
+ * Copyright (C) 1997-2000 by Dimitri van Heesch.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
+ * for any purpose. It is provided "as is" without express or implied warranty.
+ * See the GNU General Public License for more details.
+ *
+ * Documents produced by Doxygen are derivative works derived from the
+ * input used in their production; they are not affected by this license.
+ *
+ */
+
+#ifndef TRANSLATOR_HU_H
+#define TRANSLATOR_HU_H
+
+#include "translator.h"
+
+class TranslatorHungarian : public Translator
+{
+ public:
+
+ // --- Language contol methods -------------------
+ QCString idLanguage()
+ { return "hungarian"; }
+ /*! Used to get the command(s) for the language support. This method
+ * was designed for languages which do not prefer babel package.
+ * If this methods returns empty string, then the latexBabelPackage()
+ * method is used to generate the command for using the babel package.
+ */
+ QCString latexLanguageSupportCommand()
+ {
+ return "";
+ }
+ /*! returns the name of the package that is included by LaTeX */
+ QCString latexBabelPackage()
+ { return ""; }
+
+ /*! return the language charset. This will be used for the HTML output */
+ QCString idLanguageCharset()
+ {
+ return "iso-8859-2";
+ }
+
+ // --- Language translation methods -------------------
+
+ /*! used in the compound documentation before a list of related functions. */
+ QCString trRelatedFunctions()
+ { return "Kapcsolódó függvények"; }
+
+ /*! subscript for the related functions. */
+ QCString trRelatedSubscript()
+ { return "(Figyelem! Ezek a függvények nem tagjai az osztálynak!)"; }
+
+ /*! header that is put before the detailed description of files, classes and namespaces. */
+ QCString trDetailedDescription()
+ { return "Részletes leírás"; }
+
+ /*! header that is put before the list of typedefs. */
+ QCString trMemberTypedefDocumentation()
+ { return "Osztálytag típusdefiníciók dokumentációja"; }
+
+ /*! header that is put before the list of enumerations. */
+ QCString trMemberEnumerationDocumentation()
+ { return "Osztálytag enumerációk dokumentációja"; }
+
+ /*! header that is put before the list of member functions. */
+ QCString trMemberFunctionDocumentation()
+ { return "Osztálytag függvények (metódusok) dokumentációja"; }
+
+ /*! header that is put before the list of member attributes. */
+ QCString trMemberDataDocumentation()
+ { return "Osztálytag adatok dokumentációja"; }
+
+ /*! this is the text of a link put after brief descriptions. */
+ QCString trMore()
+ { return "Részletek..."; }
+
+ /*! put in the class documentation */
+ QCString trListOfAllMembers()
+ { return "Osztálytagok listája."; }
+
+ /*! used as the title of the "list of all members" page of a class */
+ QCString trMemberList()
+ { return "Osztálytagok listája"; }
+
+ /*! this is the first part of a sentence that is followed by a class name */
+ QCString trThisIsTheListOfAllMembers()
+ { return "A(z) "; }
+
+ /*! this is the remainder of the sentence after the class name */
+ QCString trIncludingInheritedMembers()
+ { return " osztály tagjainak teljes listája, az örökölt tagokkal együtt."; }
+
+ /*! this is put at the author sections at the bottom of man pages.
+ * parameter s is name of the project name.
+ */
+ QCString trGeneratedAutomatically(const char *s)
+ { QCString result="Ezt a dokumentációt a Doxygen készítette";
+ if (s) result+=(QCString)" a(z) "+s+(QCString)" projekthez";
+ result+=" a forráskódból.";
+ return result;
+ }
+
+ /*! put after an enum name in the list of all members */
+ QCString trEnumName()
+ { return "enumeráció neve"; }
+
+ /*! put after an enum value in the list of all members */
+ QCString trEnumValue()
+ { return "enumeráció értéke"; }
+
+ /*! put after an undocumented member in the list of all members */
+ QCString trDefinedIn()
+ { return "definiálva itt:"; }
+
+ /*! put as in introduction in the verbatim header file of a class.
+ * parameter f is the name of the include file.
+ */
+ QCString trVerbatimText(const char *f)
+ { return (QCString)"Ez a(z) "+f+" definíciós fájl pontos tartalma."; }
+
+ // quick reference sections
+
+ /*! This is put above each page as a link to the list of all groups of
+ * compounds or files (see the \group command).
+ */
+ QCString trModules()
+ { return "Modulok"; }
+
+ /*! This is put above each page as a link to the class hierarchy */
+ QCString trClassHierarchy()
+ { return "Osztályhierarchia"; }
+
+ /*! This is put above each page as a link to the list of annotated classes */
+ QCString trCompoundList()
+ { return "Összetevők listája"; }
+
+ /*! This is put above each page as a link to the list of documented files */
+ QCString trFileList()
+ { return "Fájlok listája"; }
+
+ /*! This is put above each page as a link to the list of all verbatim headers */
+ QCString trHeaderFiles()
+ { return "Definíciós fájlok"; }
+
+ /*! This is put above each page as a link to all members of compounds. */
+ QCString trCompoundMembers()
+ { return "Osztályok összetevői"; }
+
+ /*! This is put above each page as a link to all members of files. */
+ QCString trFileMembers()
+ { return "Fájlok elemei"; }
+
+ /*! This is put above each page as a link to all related pages. */
+ QCString trRelatedPages()
+ { return "Kapcsolódó lapok"; }
+
+ /*! This is put above each page as a link to all examples. */
+ QCString trExamples()
+ { return "Példák"; }
+
+ /*! This is put above each page as a link to the search engine. */
+ QCString trSearch()
+ { return "Keresés"; }
+
+ /*! This is an introduction to the class hierarchy. */
+ QCString trClassHierarchyDescription()
+ { return "Ez a leszármaztatási lista hozzávetőleg, "
+ "de nem szigorúan véve, ábécé sorrendbe rendezett:";
+ }
+
+ /*! This is an introduction to the list with all files. */
+ QCString trFileListDescription(bool extractAll)
+ {
+ QCString result="Ez az összes ";
+ if (!extractAll) result+="doumentált ";
+ result+="fájl listája rövid leírásokkal:";
+ return result;
+ }
+
+ /*! This is an introduction to the annotated compound list. */
+ QCString trCompoundListDescription()
+ { return "Ez az osztályok, struktúrák, uniók és interfészek "
+ "listája rövid leírásokkal:";
+ }
+
+ /*! This is an introduction to the page with all class members. */
+ QCString trCompoundMembersDescription(bool extractAll)
+ {
+ QCString result="Ez az összes ";
+ if (!extractAll) result+="dokumentált ";
+ result+="osztály összetevő listája ";
+ if (extractAll)
+ result+="hivatkozással a hozzájuk tartózó osztály dokumentációra:";
+ else
+ result+="az őket tartalmazó osztály megjelölésével:";
+ return result;
+ }
+
+ /*! This is an introduction to the page with all file members. */
+ QCString trFileMembersDescription(bool extractAll)
+ {
+ QCString result="Ez az összes ";
+ if (!extractAll) result+="dokumentált ";
+ result+="fájl elem listája ";
+ if (extractAll)
+ result+="hivatkozással a hozzájuk tartózó fájl dokumentációra:";
+ else
+ result+="az őket tartalmazó fájl megjelölésével:";
+ return result;
+ }
+
+ /*! This is an introduction to the page with the list of all header files. */
+ QCString trHeaderFilesDescription()
+ { return "Ezek a Programozói Interfészt (API) alkotó definíciós fájlok:"; }
+
+ /*! This is an introduction to the page with the list of all examples */
+ QCString trExamplesDescription()
+ { return "Ez a példák listája:"; }
+
+ /*! This is an introduction to the page with the list of related pages */
+ QCString trRelatedPagesDescription()
+ { return "Ez a kapcsolódó dokumentációk listája:"; }
+
+ /*! This is an introduction to the page with the list of class/file groups */
+ QCString trModulesDescription()
+ { return "Ez a modulok listája:"; }
+
+ /*! This sentences is used in the annotated class/file lists if no brief
+ * description is given.
+ */
+ QCString trNoDescriptionAvailable()
+ { return "Nincs hozzá leírás"; }
+
+ // index titles (the project name is prepended for these)
+
+
+ /*! This is used in HTML as the title of index.html. */
+ QCString trDocumentation()
+ { return "Dokumentáció"; }
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * index of all groups.
+ */
+ QCString trModuleIndex()
+ { return "Modul index"; }
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * class hierarchy.
+ */
+ QCString trHierarchicalIndex()
+ { return "Hierarchikus index"; }
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * annotated compound index.
+ */
+ QCString trCompoundIndex()
+ { return "Összetevők indexe"; }
+
+ /*! This is used in LaTeX as the title of the chapter with the
+ * list of all files.
+ */
+ QCString trFileIndex()
+ { return "Fájl index"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all groups.
+ */
+ QCString trModuleDocumentation()
+ { return "Modul documentáció"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all classes, structs and unions.
+ */
+ QCString trClassDocumentation()
+ { return "Osztály documentatáció"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all files.
+ */
+ QCString trFileDocumentation()
+ { return "Fájl documentatáció"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all examples.
+ */
+ QCString trExampleDocumentation()
+ { return "Példák documentatációja"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all related pages.
+ */
+ QCString trPageDocumentation()
+ { return "Kapcsolódó lapok documentációja"; }
+
+ /*! This is used in LaTeX as the title of the document */
+ QCString trReferenceManual()
+ { return "Referencia kézikönyv"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of defines
+ */
+ QCString trDefines()
+ { return "Definíciók"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of function prototypes
+ */
+ QCString trFuncProtos()
+ { return "Függvény prototípusok"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of typedefs
+ */
+ QCString trTypedefs()
+ { return "Típusdefiníciók"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of enumerations
+ */
+ QCString trEnumerations()
+ { return "Enumerációk"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of (global) functions
+ */
+ QCString trFunctions()
+ { return "Függvények"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of (global) variables
+ */
+ QCString trVariables()
+ { return "Változók"; }
+
+ /*! This is used in the documentation of a file as a header before the
+ * list of (global) variables
+ */
+ QCString trEnumerationValues()
+ { return "Enumeráció értékek"; }
+
+ /*! This is used in man pages as the author section. */
+ QCString trAuthor()
+ { return "Szerző"; }
+
+ /*! This is used in the documentation of a file before the list of
+ * documentation blocks for defines
+ */
+ QCString trDefineDocumentation()
+ { return "Definíciók dokumentációja"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for function prototypes
+ */
+ QCString trFunctionPrototypeDocumentation()
+ { return "Függvény prototípusok documentációja"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for typedefs
+ */
+ QCString trTypedefDocumentation()
+ { return "Típusdefiníciók documentációja"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for enumeration types
+ */
+ QCString trEnumerationTypeDocumentation()
+ { return "Enumerációk documentációja"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for enumeration values
+ */
+ QCString trEnumerationValueDocumentation()
+ { return "Enumeráció értékek documentációja"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for functions
+ */
+ QCString trFunctionDocumentation()
+ { return "Függvények dokumentációja"; }
+
+ /*! This is used in the documentation of a file/namespace before the list
+ * of documentation blocks for variables
+ */
+ QCString trVariableDocumentation()
+ { return "Változók documentációja"; }
+
+ /*! This is used in the documentation of a file/namespace/group before
+ * the list of links to documented compounds
+ */
+ QCString trCompounds()
+ { return "Összetevők"; }
+
+ /*! This is used in the documentation of a group before the list of
+ * links to documented files
+ */
+ QCString trFiles()
+ { return "Fájlok"; }
+
+ /*! This is used in the standard footer of each page and indicates when
+ * the page was generated
+ */
+ QCString trGeneratedAt(const char *date,const char *projName)
+ {
+ QCString result=(QCString)"";
+ if (projName) result+=(QCString)"Projekt: "+projName;
+ result+=(QCString)" Készült: "+date+" Készítette: ";
+ return result;
+ }
+ /*! This is part of the sentence used in the standard footer of each page.
+ */
+ QCString trWrittenBy()
+ {
+ return " melyet írt ";
+ }
+
+ /*! this text is put before a class diagram */
+ QCString trClassDiagram(const char *clName)
+ {
+ return clName+(QCString)" osztály származtatási diagramja";
+ }
+
+ /*! this text is generated when the \internal command is used. */
+ QCString trForInternalUseOnly()
+ { return "CSAK BELSŐ HASZNÁLATRA!"; }
+
+ /*! this text is generated when the \reimp command is used. */
+ QCString trReimplementedForInternalReasons()
+ { return "Belső okok miatt újraimplementálva, az API-t nem érinti."; }
+
+ /*! this text is generated when the \warning command is used. */
+ QCString trWarning()
+ { return "Figyelmeztetés"; }
+
+ /*! this text is generated when the \bug command is used. */
+ QCString trBugsAndLimitations()
+ { return "Hibák és korlátozások"; }
+
+ /*! this text is generated when the \version command is used. */
+ QCString trVersion()
+ { return "Verzió"; }
+
+ /*! this text is generated when the \date command is used. */
+ QCString trDate()
+ { return "Dátum"; }
+
+ /*! this text is generated when the \author command is used. */
+ QCString trAuthors()
+ { return "Szerző(k)"; }
+
+ /*! this text is generated when the \return command is used. */
+ QCString trReturns()
+ { return "Visszaadott érték"; }
+
+ /*! this text is generated when the \sa command is used. */
+ QCString trSeeAlso()
+ { return "Lásd még"; }
+
+ /*! this text is generated when the \param command is used. */
+ QCString trParameters()
+ { return "Paraméterek"; }
+
+ /*! this text is generated when the \exception command is used. */
+ QCString trExceptions()
+ { return "Kivételek"; }
+
+ /*! this text is used in the title page of a LaTeX document. */
+ QCString trGeneratedBy()
+ { return "Készítette"; }
+
+ // new since 0.49-990307
+
+ /*! used as the title of page containing all the index of all namespaces. */
+ QCString trNamespaceList()
+ { return "Névtér lista"; }
+
+ /*! used as an introduction to the namespace list */
+ QCString trNamespaceListDescription(bool extractAll)
+ {
+ QCString result="Ez az összes ";
+ if (!extractAll) result+="dokumentált ";
+ result+="névtér listája rövid leírásokkal:";
+ return result;
+ }
+
+ /*! used in the class documentation as a header before the list of all
+ * friends of a class
+ */
+ QCString trFriends()
+ { return "Barátok"; }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-990405
+//////////////////////////////////////////////////////////////////////////
+
+ /*! used in the class documentation as a header before the list of all
+ * related classes
+ */
+ QCString trRelatedFunctionDocumentation()
+ { return "Barát és kapcsolódó függvények dokumentációja"; }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-990425
+//////////////////////////////////////////////////////////////////////////
+
+ /*! used as the title of the HTML page of a class/struct/union */
+ QCString trCompoundReference(const char *clName,
+ ClassDef::CompoundType compType,
+ bool isTemplate)
+ {
+ QCString result=(QCString)clName;
+ switch(compType)
+ {
+ case ClassDef::Class: result+=" osztály"; break;
+ case ClassDef::Struct: result+=" struktúra"; break;
+ case ClassDef::Union: result+=" unió"; break;
+ case ClassDef::Interface: result+=" interfész"; break;
+ case ClassDef::Exception: result+=" kivétel"; break;
+ }
+ if (isTemplate) result+=" sablon";
+ result+=" referencia";
+ return result;
+ }
+
+ /*! used as the title of the HTML page of a file */
+ QCString trFileReference(const char *fileName)
+ {
+ QCString result=fileName;
+ result+=" fájl referencia";
+ return result;
+ }
+
+ /*! used as the title of the HTML page of a namespace */
+ QCString trNamespaceReference(const char *namespaceName)
+ {
+ QCString result=namespaceName;
+ result+=" névtér reference";
+ return result;
+ }
+
+ /*! \mgroup Class sections
+ * these are for the member sections of a class, struct or union
+ */
+ QCString trPublicMembers()
+ { return "Publikus metódusok"; }
+ QCString trPublicSlots()
+ { return "Publikus adatok"; }
+ QCString trSignals()
+ { return "Szignálok"; }
+ QCString trStaticPublicMembers()
+ { return "Statikus publikus metódusok"; }
+ QCString trProtectedMembers()
+ { return "Védett metódusok"; }
+ QCString trProtectedSlots()
+ { return "Védett adatok"; }
+ QCString trStaticProtectedMembers()
+ { return "Statikus védett metódusok"; }
+ QCString trPrivateMembers()
+ { return "Privát metódusok"; }
+ QCString trPrivateSlots()
+ { return "Privát adatok"; }
+ QCString trStaticPrivateMembers()
+ { return "Statikus privát metódusok"; }
+ /*! \endmgroup */
+
+ /*! this function is used to produce a comma-separated list of items.
+ * use generateMarker(i) to indicate where item i should be put.
+ */
+ QCString trWriteList(int numEntries)
+ {
+ QCString result;
+ int i;
+ // the inherits list contain `numEntries' classes
+ for (i=0;i<numEntries;i++)
+ {
+ // use generateMarker to generate placeholders for the class links!
+ result+=generateMarker(i); // generate marker for entry i in the list
+ // (order is left to right)
+
+ if (i!=numEntries-1) // not the last entry, so we need a separator
+ {
+ if (i<numEntries-2) // not the fore last entry
+ result+=", ";
+ else // the fore last entry
+ result+=" és ";
+ }
+ }
+ return result;
+ }
+
+ /*! used in class documentation to produce a list of base classes,
+ * if class diagrams are disabled.
+ */
+ QCString trInheritsList(int numEntries)
+ {
+ return "Szülők osztályok: "+trWriteList(numEntries)+".";
+ }
+
+ /*! used in class documentation to produce a list of super classes,
+ * if class diagrams are disabled.
+ */
+ QCString trInheritedByList(int numEntries)
+ {
+ return "Származtatott osztályok: "+trWriteList(numEntries)+".";
+ }
+
+ /*! used in member documentation blocks to produce a list of
+ * members that are hidden by this one.
+ */
+ QCString trReimplementedFromList(int numEntries)
+ {
+ return "Újra implementálva ebből az osztályból: "+trWriteList(numEntries)+".";
+ }
+
+ /*! used in member documentation blocks to produce a list of
+ * all member that overwrite the implementation of this member.
+ */
+ QCString trReimplementedInList(int numEntries)
+ {
+ return "Újra implementálva ebben az osztályban: "+trWriteList(numEntries)+".";
+ }
+
+ /*! This is put above each page as a link to all members of namespaces. */
+ QCString trNamespaceMembers()
+ { return "Névtér tagjai"; }
+
+ /*! This is an introduction to the page with all namespace members */
+ QCString trNamespaceMemberDescription(bool extractAll)
+ {
+ QCString result="Ez az összes ";
+ if (!extractAll) result+="dokumentált ";
+ result+="névtér tagjainak listája ";
+ if (extractAll)
+ result+="a hozzájuk tartozó dokumentációra való hivatkozással:";
+ else
+ result+="az öket tartalmazó névtérrel:";
+ return result;
+ }
+ /*! This is used in LaTeX as the title of the chapter with the
+ * index of all namespaces.
+ */
+ QCString trNamespaceIndex()
+ { return "Névtér index"; }
+
+ /*! This is used in LaTeX as the title of the chapter containing
+ * the documentation of all namespaces.
+ */
+ QCString trNamespaceDocumentation()
+ { return "Névtér documentáció"; }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-990522
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This is used in the documentation before the list of all
+ * namespaces in a file.
+ */
+ QCString trNamespaces()
+ { return "Névterek"; }
+
+//////////////////////////////////////////////////////////////////////////
+// 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.
+ */
+ 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)"Ez a dokumentáció ";
+ switch(compType)
+ {
+ case ClassDef::Class: result+="az osztályról"; break;
+ case ClassDef::Struct: result+="a struktúráról"; break;
+ case ClassDef::Union: result+="az unióról"; break;
+ case ClassDef::Interface: result+="az interfészről"; break;
+ case ClassDef::Exception: result+="a kivételről"; break;
+ }
+ result+=" a következő fájl";
+ if (!single) result+="ok";
+ result+=" alapján készült:";
+ return result;
+ }
+
+ /*! This is in the (quick) index as a link to the alphabetical compound
+ * list.
+ */
+ QCString trAlphabeticalList()
+ { return "Ábécé rendes lista"; }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-990901
+//////////////////////////////////////////////////////////////////////////
+
+ /*! This is used as the heading text for the retval command. */
+ QCString trReturnValues()
+ { return "Visszaadott értékek"; }
+
+ /*! This is in the (quick) index as a link to the main page (index.html)
+ */
+ QCString trMainPage()
+ { return "Kezdő lap"; }
+
+ /*! This is used in references to page that are put in the LaTeX
+ * documentation. It should be an abbreviation of the word page.
+ */
+ QCString trPageAbbreviation()
+ { return "o."; }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-991003
+//////////////////////////////////////////////////////////////////////////
+
+ QCString trSources()
+ {
+ return "Források";
+ }
+ QCString trDefinedAtLineInSourceFile()
+ {
+ return "Definíció a(z) @1 fájl @0. sorában.";
+ }
+ QCString trDefinedInSourceFile()
+ {
+ return "Definíció a(z) @0 fájlban.";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 0.49-991205
+//////////////////////////////////////////////////////////////////////////
+
+ QCString trDeprecated()
+ {
+ return "Ellenjavallt";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.0.0
+//////////////////////////////////////////////////////////////////////////
+
+ /*! this text is put before a collaboration diagram */
+ QCString trCollaborationDiagram(const char *clName)
+ {
+ return (QCString)"Együttműködési diagram "+clName+" osztályhoz:";
+ }
+ /*! this text is put before an include dependency graph */
+ QCString trInclDepGraph(const char *fName)
+ {
+ return (QCString)"Definíciós fájl függési ábra "+fName+" fájlhoz:";
+ }
+ /*! header that is put before the list of constructor/destructors. */
+ QCString trConstructorDocumentation()
+ {
+ return "Konstruktor és destruktor dokumentáció";
+ }
+ /*! Used in the file documentation to point to the corresponding sources. */
+ QCString trGotoSourceCode()
+ {
+ return "Ugrás a fájl forrásához.";
+ }
+ /*! Used in the file sources to point to the corresponding documentation. */
+ QCString trGotoDocumentation()
+ {
+ return "Ugrás a fájl dokumentációjához.";
+ }
+ /*! Text for the \pre command */
+ QCString trPrecondition()
+ {
+ return "Előfeltétel";
+ }
+ /*! Text for the \post command */
+ QCString trPostcondition()
+ {
+ return "Utófeltétel";
+ }
+ /*! Text for the \invariant command */
+ QCString trInvariant()
+ {
+ return "Invariáns";
+ }
+ /*! Text shown before a multi-line variable/enum initialization */
+ QCString trInitialValue()
+ {
+ return "Kezdő érték:";
+ }
+ /*! Text used the source code in the file index */
+ QCString trCode()
+ {
+ return "forráskód";
+ }
+ QCString trGraphicalHierarchy()
+ {
+ return "Osztály-hierarchia grafikon";
+ }
+ QCString trGotoGraphicalHierarchy()
+ {
+ return "Ugrás az osztály-hierarchia grafikonhoz";
+ }
+ QCString trGotoTextualHierarchy()
+ {
+ return "Ugrás az osztály-hierarchia leíráshoz";
+ }
+ QCString trPageIndex()
+ {
+ return "Oldal index";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.1.0
+//////////////////////////////////////////////////////////////////////////
+
+ QCString trNote()
+ {
+ return "Megjegyzés";
+ }
+ QCString trPublicTypes()
+ {
+ return "Publikus típusok";
+ }
+ QCString trPublicAttribs()
+ {
+ return "Publikus attribútumok";
+ }
+ QCString trStaticPublicAttribs()
+ {
+ return "Statikus publikus attribútumok";
+ }
+ QCString trProtectedTypes()
+ {
+ return "Védett típusok";
+ }
+ QCString trProtectedAttribs()
+ {
+ return "Védett attribútumok";
+ }
+ QCString trStaticProtectedAttribs()
+ {
+ return "Statikus védett attribútumok";
+ }
+ QCString trPrivateTypes()
+ {
+ return "Privát típusok";
+ }
+ QCString trPrivateAttribs()
+ {
+ return "Privát attribútumok";
+ }
+ QCString trStaticPrivateAttribs()
+ {
+ return "Statikus privát attribútumok";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.1.3
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a marker that is put before a todo item */
+ QCString trTodo()
+ {
+ return "Tennivaló";
+ }
+ /*! Used as the header of the todo list */
+ QCString trTodoList()
+ {
+ return "Tennivalók listája";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.1.4
+//////////////////////////////////////////////////////////////////////////
+
+ QCString trReferencedBy()
+ {
+ return "hivatkozás innen:";
+ }
+ QCString trRemarks()
+ {
+ return "Megjegyzések";
+ }
+ QCString trAttention()
+ {
+ return "Figyelem";
+ }
+ QCString trInclByDepGraph()
+ {
+ return "Ez az ábra azt mutatja, hogy mely fájlok ágyazzák be "
+ "közvetve vagy közvetlenül ezt a fájlt:";
+ }
+ QCString trSince()
+ {
+ return "Először bevezetve";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.1.5
+//////////////////////////////////////////////////////////////////////////
+
+ /*! title of the graph legend page */
+ QCString trLegendTitle()
+ {
+ return "Jelmagyarázat";
+ }
+ /*! page explaining how the dot graph's should be interpreted */
+ QCString trLegendDocs()
+ {
+ return
+ "Hogyan értelmezzük a DopxyGen által készített ábrákat?<p>\n"
+ "Vegyük a következő példát:\n"
+ "\\code\n"
+ "/*! Nem látható osztály, nem fér ki, vágásra kerül */\n"
+ "class Invisible { };\n\n"
+ "/*! Származtatás rejtett */\n"
+ "class Truncated : public Invisible { };\n\n"
+ "/* Nem dokumentált osztály */\n"
+ "class Undocumented { };\n\n"
+ "/*! Publikus származtatásal levezetett osztály */\n"
+ "class PublicBase : public Truncated { };\n\n"
+ "/*! Védett származtatásal levezetett osztály */\n"
+ "class ProtectedBase { };\n\n"
+ "/*! Privát származtatásal levezetett osztály */\n"
+ "class PrivateBase { };\n\n"
+ "/*! Osztály, melyet a származtatott osztály használ */\n"
+ "class Used { };\n\n"
+ "/*! Osztály, mely több másiknak leszármazottja */\n"
+ "class Inherited : public PublicBase,\n"
+ " protected ProtectedBase,\n"
+ " private PrivateBase,\n"
+ " public Undocumented\n"
+ "{\n"
+ " private:\n"
+ " Used *m_usedClass;\n"
+ "};\n"
+ "\\endcode\n"
+ "Ha a konfigurációs fájl \\c MAX_DOT_GRAPH_HEIGHT elemének értékét "
+ "200-ra állítjuk, az eredmény a következő ábra lesz:"
+ "<p><center><img src=\"graph_legend.gif\"></center>\n"
+ "<p>\n"
+ "Az ábrán levő dobozok jelentése:\n"
+ "<ul>\n"
+ "<li>Kitöltött fekete doboz jelzi azt az osztályt vagy struktúrát,"
+ "amelyről az ábra szól.\n"
+ "<li>Fekete keret jelszi a dokumentált osztályokat vagy struktúrákat.\n"
+ "<li>Szürke keret jelzi a nem dokumentált osztályokat vagy struktúrákat.\n"
+ "<li>Piros keret jelzi azokat az osztályokat vagy struktúrákat, amelyeknél vágás miatt nem látható "
+ "az összes leszármaztatási kapcsolat. Egy ábra vágásra kerül, ha nem fér bele "
+ "a megadott tartományba."
+ "</ul>\n"
+ "A nyilak jelentése:\n"
+ "<ul>\n"
+ "<li>Sötétkék nyíl jelzi a publikus származtatást.\n"
+ "<li>Sötétzöld nyíl jelzi a védett származtatást.\n"
+ "<li>Sötétvörös nyíl jelzi a privát származtatást.\n"
+ "<li>Lila szaggatott nyíl jelzi, ha az osztály egy másikat használ vagy tartalmaz. "
+ "A nyíl felirata jelzi a változók nevét, amelyeken keresztül a másik osztály kapcsolódik.\n"
+ "</ul>\n";
+
+ }
+ /*! text for the link to the legend page */
+ QCString trLegend()
+ {
+ return "Jelmagyarázat";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.0
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a marker that is put before a test item */
+ QCString trTest()
+ {
+ return "Teszt";
+ }
+ /*! Used as the header of the test list */
+ QCString trTestList()
+ {
+ return "Teszt lista";
+ }
+
+};
+
+#endif
diff --git a/src/translator_it.h b/src/translator_it.h
index 23e7ce1..71fe2bb 100644
--- a/src/translator_it.h
+++ b/src/translator_it.h
@@ -1,12 +1,11 @@
/******************************************************************************
*
- *
- *
* Copyright (C) 1997-2000 by Dimitri van Heesch.
*
* Initial Italian Translation by Ahmed Aldo Faisal
* Revised and completed by Alessandro Falappa (June 1999)
* Updates:
+ * 2000/08: translated new items used since version 1.1.3, 1.1.4, 1.1.5 and 1.2.0
* 2000/03: translated new items used since version 1.0 and 1.1.0
* 1999/19: entirely rewritten the translation to correct small variations due
* to feature additions and to conform to the layout of the latest
@@ -179,8 +178,7 @@ class TranslatorItalian : public Translator
/*! This is an introduction to the annotated compound list. */
QCString trCompoundListDescription()
- { return "Queste sono le classi, structs, "
- "unions e interfacce con una loro breve descrizione:";
+ { return "Queste sono le classi, structs, unions e interfacce con una loro breve descrizione:";
}
/*! This is an introduction to the page with all class members. */
@@ -427,7 +425,7 @@ class TranslatorItalian : public Translator
/*! this text is generated when the \warning command is used. */
QCString trWarning()
- { return "Attenzione"; }
+ { return "Avvertimento"; }
/*! this text is generated when the \bug command is used. */
QCString trBugsAndLimitations()
@@ -728,7 +726,7 @@ class TranslatorItalian : public Translator
}
//////////////////////////////////////////////////////////////////////////
-// new since 1.0.0
+// new since 0.49-991205
//////////////////////////////////////////////////////////////////////////
QCString trDeprecated()
@@ -737,7 +735,7 @@ class TranslatorItalian : public Translator
}
//////////////////////////////////////////////////////////////////////////
-// new since 1.1.0
+// new since 1.0.0
//////////////////////////////////////////////////////////////////////////
/*! this text is put before a collaboration diagram */
@@ -753,7 +751,7 @@ class TranslatorItalian : public Translator
/*! header that is put before the list of constructor/destructors. */
QCString trConstructorDocumentation()
{
- return "Documentazione dei costruttori e dei distruttori";
+ return "Documentazione dei costruttori e dei distruttori";
}
/*! Used in the file documentation to point to the corresponding sources. */
QCString trGotoSourceCode()
@@ -806,11 +804,15 @@ class TranslatorItalian : public Translator
{
return "Indice delle pagine";
}
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.1.0
+//////////////////////////////////////////////////////////////////////////
+
QCString trNote()
{
return "Nota";
}
-
QCString trPublicTypes()
{
return "Tipi pubblici";
@@ -847,6 +849,127 @@ class TranslatorItalian : public Translator
{
return "Attributi privati statici";
}
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.1.3
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a marker that is put before a todo item */
+ virtual QCString trTodo()
+ {
+ return "Da Fare";
+ }
+ /*! Used as the header of the todo list */
+ virtual QCString trTodoList()
+ {
+ return "Lista di cose da fare";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.1.4
+//////////////////////////////////////////////////////////////////////////
+
+ virtual QCString trReferencedBy()
+ {
+ return "Referenziato da";
+ }
+ virtual QCString trRemarks()
+ {
+ return "Osservazioni";
+ }
+ virtual QCString trAttention()
+ {
+ return "Attenzione";
+ }
+ virtual QCString trInclByDepGraph()
+ {
+ return "Queato grafo mostra quali files includono direttamente o indirettamente questo file:";
+ }
+ virtual QCString trSince()
+ {
+ return "A partire da";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.1.5
+//////////////////////////////////////////////////////////////////////////
+
+ /*! title of the graph legend page */
+ virtual QCString trLegendTitle()
+ {
+ return "Legenda del grafo";
+ }
+ /*! page explaining how the dot graph's should be interpreted */
+ virtual QCString trLegendDocs()
+ {
+ return
+ "Questa pagina spiega come interpretare i grafi generati da doxygen.<p>\n"
+ "Considerate l'esempio seguente:\n"
+ "\\code\n"
+ "/*! Invisible class because of truncation */\n"
+ "class Invisible { };\n\n"
+ "/*! Truncated class, inheritance relation is hidden */\n"
+ "class Truncated : public Invisible { };\n\n"
+ "/* Class not documented with doxygen comments */\n"
+ "class Undocumented { };\n\n"
+ "/*! Class that is inherited using public inheritance */\n"
+ "class PublicBase : public Truncated { };\n\n"
+ "/*! Class that is inherited using protected inheritance */\n"
+ "class ProtectedBase { };\n\n"
+ "/*! Class that is inherited using private inheritance */\n"
+ "class PrivateBase { };\n\n"
+ "/*! Class that is used by the Inherited class */\n"
+ "class Used { };\n\n"
+ "/*! Super class that inherits a number of other classes */\n"
+ "class Inherited : public PublicBase,\n"
+ " protected ProtectedBase,\n"
+ " private PrivateBase,\n"
+ " public Undocumented\n"
+ "{\n"
+ " private:\n"
+ " Used *m_usedClass;\n"
+ "};\n"
+ "\\endcode\n"
+ "Se il tag \\c MAX_DOT_GRAPH_HEIGHT nel file di configurazione "
+ "č impostato a 200 verrŕ prodotto il grafo seguente:"
+ "<p><center><img src=\"graph_legend.gif\"></center>\n"
+ "<p>\n"
+ "I riquadri nel grafo qui sopra hanno il seguente significato:\n"
+ "<ul>\n"
+ "<li>Il riquadro nero pieno rappresenta la struct o la classe per la quale il grafo č stato generato.\n"
+ "<li>Un riquadro con un bordo nero denota una struct o una classe documentata.\n"
+ "<li>Un riquadro con un bordo grigio indica una struct o una classe non documentata.\n"
+ "<li>Un riquadro con un bordo rosso indica una struct o una classe per la quale non sono mostrate tutte le relazioni di ereditarietŕ/contenimento (un grafo viene troncato se non rientra nei limiti prestabiliti)."
+ "</ul>\n"
+ "Le frecce hanno il seguente significato:\n"
+ "<ul>\n"
+ "<li>Una freccia blu scuro indica una relazione di ereditarietŕ pubblica tra due classi.\n"
+ "<li>Una freccia verde indica un'ereditarietŕ protetta.\n"
+ "<li>Una freccia rossa indica un'ereditarietŕ privata.\n"
+ "<li>Una freccia viola tratteggiata indica che una classe č contenuta o usata da un'altra classe."
+ " La freccia viene etichettata con la o le variabili attraverso cui la struct o la classe puntata dalla freccia č accessibile.\n"
+ "</ul>\n";
+ }
+ /*! text for the link to the legend page */
+ virtual QCString trLegend()
+ {
+ return "legenda";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.0
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a marker that is put before a test item */
+ virtual QCString trTest()
+ {
+ return "Test";
+ }
+ /*! Used as the header of the test list */
+ virtual QCString trTestList()
+ {
+ return "Lista dei test";
+ }
};
#endif
diff --git a/src/translator_pl.h b/src/translator_pl.h
index 13978fa..ce9b532 100644
--- a/src/translator_pl.h
+++ b/src/translator_pl.h
@@ -897,6 +897,94 @@ class TranslatorPolish : public Translator
{
return "Od";
}
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.1.5
+//////////////////////////////////////////////////////////////////////////
+
+ /*! title of the graph legend page */
+ QCString trLegendTitle()
+ {
+ return "Legenda Wykresu";
+ }
+ /*! page explaining how the dot graph's should be interpreted */
+ QCString trLegendDocs()
+ {
+ return
+ "Ta strona wyja¶nia jak interpretować wykresy, które s± wygenerowane "
+ "przez doxygen.<p>\n"
+ "Rozważ następuj±cy przykład:\n"
+ "\\code\n"
+ "/*! Klasa Niewidzialna z powodu okrojenia */\n"
+ "class Niewidzialna { };\n\n"
+ "/*! Klasa Okrojona, relacja dziedziczenia jest ukryta */\n"
+ "class Okrojona : public Niewidzialna { };\n\n"
+ "/* Klasa nie udokumentowana komentarzami doxygen */\n"
+ "class Nieudokumentowana { };\n\n"
+ "/*! Klasa, która jest dziedziczona publicznie */\n"
+ "class PublicznaBaza : public Okrojona { };\n\n"
+ "/*! Klasa, która jest dziedziczona przy użyciu dziedziczenia chronionego */\n"
+ "class ChronionaBaza { };\n\n"
+ "/*! Klasa, która jest dziedziczona prywatnie */\n"
+ "class PrywatnaBaza { };\n\n"
+ "/*! Klasa, która jest użyta przez klasę Dziedziczona */\n"
+ "class Uzyta { };\n\n"
+ "/*! Superklasa, która dziedziczy kilka innych klas */\n"
+ "class Dziedziczona : public PublicznaBaza,\n"
+ " protected ChronionaBaza,\n"
+ " private PrywatnaBaza,\n"
+ " public Nieudokumentowana\n"
+ "{\n"
+ " private:\n"
+ " Uzyta *m_usedClass;\n"
+ "};\n"
+ "\\endcode\n"
+ "Je¶li znacznik \\c MAX_DOT_GRAPH_HEIGHT w pliku konfiguracji "
+ "jest ustawiony na 200, odniesie to rezultat w następuj±cym wykresie:"
+ "<p><center><img src=\"graph_legend.gif\"></center>\n"
+ "<p>\n"
+ "Pudełka w powyższym wykresie maj± następuj±ce znaczenie:\n"
+ "<ul>\n"
+ "<li>Wypełnione czarne pudełko reprezentuje strukturę lub klasę dla "
+ "której został wygenerowany wykres.\n"
+ "<li>Pudełko z czarn± obwolut± oznacza udokumentowan± strukturę lub klasę.\n"
+ "<li>Pudełko z szar± obwolut± oznacza nieudokumentowan± strukturę lub klasę.\n"
+ "<li>Pudełko z czerwon± obwolut± oznacza udokumentowan± strukturę lub klasę dla\n"
+ "której nie s± pokazane wszystkie relacje dziedziczenia/zawierania. Wykres jest "
+ "okrojony, je¶li nie mie¶ci się w okre¶lonych brzegach."
+ "</ul>\n"
+ "Strzałki maj± następuj±ce znaczenie:\n"
+ "<ul>\n"
+ "<li>Ciemno niebieska strzałka jest używana do wizualizacji relacji "
+ "dziedziczenia publicznego pomiędzy dwiema klasami.\n"
+ "<li>Ciemno zielona strzałka jest używana dla dziedziczenia chronionego.\n"
+ "<li>Ciemno czerwona strzałka jest używana dla dziedziczenia prywatnego.\n"
+ "<li>Fioletowa przerywana strzałka jest używana je¶li klasa jest zawarta "
+ "lub użyta przez inn± klasę. Strzałka jest podpisana zmienn±(ymi) "
+ "przez które wskazywana klasa lub struktura jest dostępna. \n"
+ "</ul>\n";
+ }
+ /*! text for the link to the legend page */
+ QCString trLegend()
+ {
+ return "legenda";
+ }
+
+//////////////////////////////////////////////////////////////////////////
+// new since 1.2.0
+//////////////////////////////////////////////////////////////////////////
+
+ /*! Used as a marker that is put before a test item */
+ QCString trTest()
+ {
+ return "Test";
+ }
+ /*! Used as the header of the test list */
+ QCString trTestList()
+ {
+ return "Lista Testu";
+ }
+
};
#endif
diff --git a/src/util.cpp b/src/util.cpp
index 3d9972b..61770bc 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -871,8 +871,9 @@ void endFile(OutputList &ol,bool external)
void setAnchors(char id,MemberList *ml,int groupId)
{
int count=0;
- MemberDef *md=ml->first();
- while (md)
+ MemberListIterator mli(*ml);
+ MemberDef *md;
+ for (;(md=mli.current());++mli)
{
QCString anchor;
if (groupId==-1)
@@ -881,7 +882,6 @@ void setAnchors(char id,MemberList *ml,int groupId)
anchor.sprintf("%c%d_%d",id,groupId,count++);
//printf("Member %s anchor %s\n",md->name(),anchor.data());
md->setAnchor(anchor);
- md=ml->next();
}
}
@@ -1605,7 +1605,8 @@ bool getDefs(const QCString &scName,const QCString &memberName,
)
{
//printf(" Found fcd=%p\n",fcd);
- MemberDef *mmd=mn->first();
+ MemberListIterator mmli(*mn);
+ MemberDef *mmd;
int mdist=maxInheritanceDepth;
ArgumentList *argList=0;
if (args)
@@ -1613,7 +1614,7 @@ bool getDefs(const QCString &scName,const QCString &memberName,
argList=new ArgumentList;
stringToArgumentList(args,argList);
}
- while (mmd)
+ for (mmli.toFirst();(mmd=mmli.current());++mmli)
{
if (mmd->isLinkable())
{
@@ -1631,7 +1632,6 @@ bool getDefs(const QCString &scName,const QCString &memberName,
}
}
}
- mmd=mn->next();
}
if (argList)
{
@@ -1641,8 +1641,7 @@ bool getDefs(const QCString &scName,const QCString &memberName,
// no exact match found, but if args="()" an arbitrary member will do
{
//printf(" >Searching for arbitrary member\n");
- mmd=mn->first();
- while (mmd)
+ for (mmli.toFirst();(mmd=mmli.current());++mmli)
{
if (//(mmd->protection()!=Private || Config::extractPrivateFlag) &&
//(
@@ -1664,7 +1663,6 @@ bool getDefs(const QCString &scName,const QCString &memberName,
md=mmd;
}
}
- mmd=mn->next();
}
}
//printf(" >Succes=%d\n",mdist<maxInheritanceDepth);
@@ -1711,15 +1709,13 @@ bool getDefs(const QCString &scName,const QCString &memberName,
{
//printf("Function inside existing namespace `%s'\n",namespaceName.data());
bool found=FALSE;
- MemberDef *mmd=mn->first();
- while (mmd && !found)
+ MemberListIterator mmli(*mn);
+ MemberDef *mmd;
+ for (mmli.toFirst();((mmd=mmli.current()) && !found);++mmli)
{
//printf("mmd->getNamespaceDef()=%p fnd=%p\n",
// mmd->getNamespaceDef(),fnd);
- if (mmd->getNamespaceDef()==fnd &&
- //(mmd->isReference() || mmd->hasDocumentation())
- mmd->isLinkable()
- )
+ if (mmd->getNamespaceDef()==fnd && mmd->isLinkable())
{ // namespace is found
bool match=TRUE;
ArgumentList *argList=0;
@@ -1740,25 +1736,19 @@ bool getDefs(const QCString &scName,const QCString &memberName,
delete argList; argList=0;
}
}
- mmd=mn->next();
}
if (!found && !strcmp(args,"()"))
// no exact match found, but if args="()" an arbitrary
// member will do
{
- MemberDef *mmd=mn->first();
- while (mmd && !found)
+ for (mmli.toFirst();((mmd=mmli.current()) && !found);++mmli)
{
- if (mmd->getNamespaceDef()==fnd &&
- //(mmd->isReference() || mmd->hasDocumentation())
- mmd->isLinkable()
- )
+ if (mmd->getNamespaceDef()==fnd && mmd->isLinkable())
{
nd=fnd;
md=mmd;
found=TRUE;
}
- mmd=mn->next();
}
}
if (found) return TRUE;
@@ -1766,8 +1756,8 @@ bool getDefs(const QCString &scName,const QCString &memberName,
else // no scope => global function
{
//printf("Function with global scope `%s' args=`%s'\n",namespaceName.data(),args);
- md=mn->first();
- while (md)
+ MemberListIterator mli(*mn);
+ for (mli.toFirst();(md=mli.current());++mli)
{
if (md->isLinkable())
{
@@ -1798,7 +1788,6 @@ bool getDefs(const QCString &scName,const QCString &memberName,
}
}
}
- md=mn->next();
}
if (!strcmp(args,"()"))
{
@@ -2256,21 +2245,21 @@ FileDef *findFileDef(const FileNameDict *fnDict,const char *n,bool &ambig)
{
if (fn->count()==1)
{
- return fn->first();
+ return fn->getFirst();
}
else // file name alone is ambigious
{
int count=0;
- FileDef *fd=fn->first();
+ FileNameIterator fni(*fn);
+ FileDef *fd;
FileDef *lastMatch=0;
- while (fd)
+ for (fni.toFirst();(fd=fni.current());++fni)
{
if (path.isEmpty() || fd->getPath().right(path.length())==path)
{
count++;
lastMatch=fd;
}
- fd=fn->next();
}
ambig=(count>1);
return lastMatch;
@@ -2295,14 +2284,14 @@ QCString showFileDefMatches(const FileNameDict *fnDict,const char *n)
FileName *fn;
if ((fn=(*fnDict)[name]))
{
- FileDef *fd=fn->first();
- while (fd)
+ FileNameIterator fni(*fn);
+ FileDef *fd;
+ for (fni.toFirst();(fd=fni.current());++fni)
{
if (path.isEmpty() || fd->getPath().right(path.length())==path)
{
result+=" "+fd->absFilePath()+"\n";
}
- fd=fn->next();
}
}
return result;