Commit f57b7d97 authored by Dimitri van Heesch's avatar Dimitri van Heesch

Release-1.5.3-20070925

parent 8e4a092e
DOXYGEN Version 1.5.3-20070902 DOXYGEN Version 1.5.3-20070925
Please read the installation section of the manual Please read the installation section of the manual
(http://www.doxygen.org/install.html) for instructions. (http://www.doxygen.org/install.html) for instructions.
-------- --------
Dimitri van Heesch (02 September 2007) Dimitri van Heesch (25 September 2007)
DOXYGEN Version 1.5.3_20070902 DOXYGEN Version 1.5.3_20070925
Please read INSTALL for compilation instructions. Please read INSTALL for compilation instructions.
...@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives. ...@@ -17,4 +17,4 @@ to subscribe to the lists or to visit the archives.
Enjoy, Enjoy,
Dimitri van Heesch (dimitri@stack.nl) (02 September 2007) Dimitri van Heesch (dimitri@stack.nl) (25 September 2007)
...@@ -20,7 +20,7 @@ doxygen_version_minor=5 ...@@ -20,7 +20,7 @@ doxygen_version_minor=5
doxygen_version_revision=3 doxygen_version_revision=3
#NOTE: Setting version_mmn to "NO" will omit mmn info from the package. #NOTE: Setting version_mmn to "NO" will omit mmn info from the package.
doxygen_version_mmn=20070902 doxygen_version_mmn=20070925
bin_dirs=`echo $PATH | sed -e "s/:/ /g"` bin_dirs=`echo $PATH | sed -e "s/:/ /g"`
......
...@@ -732,9 +732,9 @@ See section \ref memgroup for an example. ...@@ -732,9 +732,9 @@ See section \ref memgroup for an example.
The paragraph will be indented. The paragraph will be indented.
The text of the paragraph has no special internal structure. All visual The text of the paragraph has no special internal structure. All visual
enhancement commands may be used inside the paragraph. enhancement commands may be used inside the paragraph.
Multiple adjacent \\author commands will be joined into a single paragraph Multiple adjacent \\author commands will be joined into a single paragraph.
and separated by commas. Alternatively, one \\author command may mention Each author description will start a new line. Alternatively, one \\author command
several authors. The \\author command ends when a blank line or some other may mention several authors. The \\author command ends when a blank line or some other
sectioning command is encountered. sectioning command is encountered.
\par Example: \par Example:
......
...@@ -200,6 +200,7 @@ followed by the descriptions of the tags grouped by category. ...@@ -200,6 +200,7 @@ followed by the descriptions of the tags grouped by category.
\refitem cfg_show_dirs SHOW_DIRECTORIES \refitem cfg_show_dirs SHOW_DIRECTORIES
\refitem cfg_show_include_files SHOW_INCLUDE_FILES \refitem cfg_show_include_files SHOW_INCLUDE_FILES
\refitem cfg_show_used_files SHOW_USED_FILES \refitem cfg_show_used_files SHOW_USED_FILES
\refitem cfg_sip_support SIP_SUPPORT
\refitem cfg_skip_function_macros SKIP_FUNCTION_MACROS \refitem cfg_skip_function_macros SKIP_FUNCTION_MACROS
\refitem cfg_sort_brief_docs SORT_BRIEF_DOCS \refitem cfg_sort_brief_docs SORT_BRIEF_DOCS
\refitem cfg_sort_member_docs SORT_MEMBER_DOCS \refitem cfg_sort_member_docs SORT_MEMBER_DOCS
...@@ -424,6 +425,14 @@ followed by the descriptions of the tags grouped by category. ...@@ -424,6 +425,14 @@ followed by the descriptions of the tags grouped by category.
If you use Microsoft's C++/CLI language, you should set this option to YES to If you use Microsoft's C++/CLI language, you should set this option to YES to
enable parsing support. enable parsing support.
\anchor cfg_sip_support
<dt>\c SIP_SUPPORT <dd>
\addindex OPTIMIZE_OUTPUT_SIP
Set the SIP_SUPPORT tag to YES if your project consists
of <a href="http://www.riverbankcomputing.co.uk/sip/">sip</a> sources only.
Doxygen will parse them like normal C++ but will assume all classes use public
instead of private inheritance when no explicit protection keyword is present.
\anchor cfg_distribute_group_doc \anchor cfg_distribute_group_doc
<dt>\c DISTRIBUTE_GROUP_DOC <dd> <dt>\c DISTRIBUTE_GROUP_DOC <dd>
\addindex DISTRIBUTE_GROUP_DOC \addindex DISTRIBUTE_GROUP_DOC
......
...@@ -23,7 +23,7 @@ text fragments, generated by doxygen, can be produced in languages other ...@@ -23,7 +23,7 @@ text fragments, generated by doxygen, can be produced in languages other
than English (the default). The output language is chosen through the than English (the default). The output language is chosen through the
configuration file (with default name and known as Doxyfile). configuration file (with default name and known as Doxyfile).
Currently (version 1.5.2), 33 languages Currently (version 1.5.3), 33 languages
are supported (sorted alphabetically): are supported (sorted alphabetically):
Afrikaans, Arabic, Brazilian Portuguese, Catalan, Chinese, Chinese Afrikaans, Arabic, Brazilian Portuguese, Catalan, Chinese, Chinese
Traditional, Croatian, Czech, Danish, Dutch, English, Finnish, French, Traditional, Croatian, Czech, Danish, Dutch, English, Finnish, French,
......
...@@ -74,6 +74,7 @@ Kenji Nagamatsu: naga@joyful.club.ne.jp ...@@ -74,6 +74,7 @@ Kenji Nagamatsu: naga@joyful.club.ne.jp
Iwasa Kazmi: iwasa@cosmo-system.jp Iwasa Kazmi: iwasa@cosmo-system.jp
TranslatorKorean TranslatorKorean
Kim Taedong: fly1004@gmail.com
SooYoung Jung: jung5000@gmail.com SooYoung Jung: jung5000@gmail.com
Richard Kim: ryk@dspwiz.com Richard Kim: ryk@dspwiz.com
......
(1.5.2) (1.5.3)
Doxygen supports the following 33 languages (sorted alphabetically): Doxygen supports the following 33 languages (sorted alphabetically):
...@@ -19,7 +19,7 @@ still may be some details listed even for them: ...@@ -19,7 +19,7 @@ still may be some details listed even for them:
TranslatorBrazilian -- The "translate me!" found in a comment. TranslatorBrazilian -- The "translate me!" found in a comment.
TranslatorCatalan TranslatorCatalan
TranslatorChinese -- The "translate me!" found in a comment. TranslatorChinese
TranslatorCroatian -- The "translate me!" found in a comment. TranslatorCroatian -- The "translate me!" found in a comment.
TranslatorCzech TranslatorCzech
TranslatorDanish -- The "translate me!" found in a comment. TranslatorDanish -- The "translate me!" found in a comment.
...@@ -111,12 +111,6 @@ TranslatorBrazilian (Translator) ...@@ -111,12 +111,6 @@ TranslatorBrazilian (Translator)
Implements 194 of the required methods. Implements 194 of the required methods.
TranslatorChinese (Translator)
-----------------
Implements 194 of the required methods.
TranslatorChinesetraditional (TranslatorAdapter_1_4_6) 1 method to implement TranslatorChinesetraditional (TranslatorAdapter_1_4_6) 1 method to implement
---------------------------- ----------------------------
......
...@@ -78,6 +78,7 @@ static QStack<int> g_scopeStack; //!< 1 if bracket starts a scope, ...@@ -78,6 +78,7 @@ static QStack<int> g_scopeStack; //!< 1 if bracket starts a scope,
// 2 for internal blocks // 2 for internal blocks
static int g_anchorCount; static int g_anchorCount;
static FileDef * g_sourceFileDef; static FileDef * g_sourceFileDef;
static bool g_lineNumbers;
static Definition * g_currentDefinition; static Definition * g_currentDefinition;
static MemberDef * g_currentMemberDef; static MemberDef * g_currentMemberDef;
static bool g_includeCodeFragment; static bool g_includeCodeFragment;
...@@ -449,14 +450,13 @@ static void setClassScope(const QCString &name) ...@@ -449,14 +450,13 @@ static void setClassScope(const QCString &name)
static void startCodeLine() static void startCodeLine()
{ {
//if (g_currentFontClass) { g_code->endFontClass(); } //if (g_currentFontClass) { g_code->endFontClass(); }
if (g_sourceFileDef) if (g_sourceFileDef && g_lineNumbers)
{ {
//QCString lineNumber,lineAnchor; //QCString lineNumber,lineAnchor;
//lineNumber.sprintf("%05d",g_yyLineNr); //lineNumber.sprintf("%05d",g_yyLineNr);
//lineAnchor.sprintf("l%05d",g_yyLineNr); //lineAnchor.sprintf("l%05d",g_yyLineNr);
Definition *d = g_sourceFileDef->getSourceDefinition(g_yyLineNr); Definition *d = g_sourceFileDef->getSourceDefinition(g_yyLineNr);
//printf("startCodeLine %d d=%s\n", g_yyLineNr,d ? d->name().data() : "<null>");
if (!g_includeCodeFragment && d) if (!g_includeCodeFragment && d)
{ {
g_currentDefinition = d; g_currentDefinition = d;
...@@ -1120,7 +1120,7 @@ static void generateMemberLink(CodeOutputInterface &ol,const QCString &varName, ...@@ -1120,7 +1120,7 @@ static void generateMemberLink(CodeOutputInterface &ol,const QCString &varName,
int vi; int vi;
QCString vn=varName; QCString vn=varName;
QCString scope; QCString scope;
if ((vi=vn.findRev("::"))!=-1) // explicit scope A::b(), probably static member if ((vi=vn.findRev("::"))!=-1 || (vi=vn.findRev('.'))!=-1) // explicit scope A::b(), probably static member
{ {
ClassDef *jcd = getClass(vn.left(vi)); ClassDef *jcd = getClass(vn.left(vi));
vn=vn.right(vn.length()-vi-2); vn=vn.right(vn.length()-vi-2);
...@@ -1182,11 +1182,13 @@ static void generateFunctionLink(CodeOutputInterface &ol,char *funcName) ...@@ -1182,11 +1182,13 @@ static void generateFunctionLink(CodeOutputInterface &ol,char *funcName)
QCString locScope=g_classScope.copy(); QCString locScope=g_classScope.copy();
QCString locFunc=removeRedundantWhiteSpace(funcName); QCString locFunc=removeRedundantWhiteSpace(funcName);
//fprintf(stdout,"*** locScope=%s locFunc=%s\n",locScope.data(),locFunc.data()); //fprintf(stdout,"*** locScope=%s locFunc=%s\n",locScope.data(),locFunc.data());
int len=2;
int i=locFunc.findRev("::"); int i=locFunc.findRev("::");
if (i==-1) i=locFunc.findRev("."),len=1;
if (i>0) if (i>0)
{ {
locScope=locFunc.left(i); locScope=locFunc.left(i);
locFunc=locFunc.right(locFunc.length()-i-2).stripWhiteSpace(); locFunc=locFunc.right(locFunc.length()-i-len).stripWhiteSpace();
int ts=locScope.find('<'); // start of template int ts=locScope.find('<'); // start of template
int te=locScope.findRev('>'); // end of template int te=locScope.findRev('>'); // end of template
//printf("ts=%d te=%d\n",ts,te); //printf("ts=%d te=%d\n",ts,te);
...@@ -3285,6 +3287,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s, ...@@ -3285,6 +3287,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s,
g_exampleBlock = exBlock; g_exampleBlock = exBlock;
g_exampleName = exName; g_exampleName = exName;
g_sourceFileDef = fd; g_sourceFileDef = fd;
g_lineNumbers = fd!=0;
if (exBlock && fd==0) if (exBlock && fd==0)
{ {
// create a dummy filedef for the example // create a dummy filedef for the example
...@@ -3306,6 +3309,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s, ...@@ -3306,6 +3309,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s,
g_exampleFile = convertNameToFile(g_exampleName+"-example"); g_exampleFile = convertNameToFile(g_exampleName+"-example");
} }
g_includeCodeFragment = inlineFragment; g_includeCodeFragment = inlineFragment;
//printf("** exBlock=%d exName=%s include=%d\n",exBlock,exName,inlineFragment);
startCodeLine(); startCodeLine();
g_type.resize(0); g_type.resize(0);
g_name.resize(0); g_name.resize(0);
...@@ -3322,7 +3326,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s, ...@@ -3322,7 +3326,7 @@ void parseCCode(CodeOutputInterface &od,const char *className,const QCString &s,
endFontClass(); endFontClass();
g_code->endCodeLine(); g_code->endCodeLine();
} }
if (exBlock && g_sourceFileDef) if (exBlock && fd==0)
{ {
// delete the temporary file definition used for this example // delete the temporary file definition used for this example
delete g_sourceFileDef; delete g_sourceFileDef;
......
...@@ -1668,6 +1668,13 @@ void Config::create() ...@@ -1668,6 +1668,13 @@ void Config::create()
"enable parsing support.\n", "enable parsing support.\n",
FALSE FALSE
); );
cb = addBool(
"SIP_SUPPORT",
"Set the SIP_SUPPORT tag to YES if your project consists of sip sources only. \n"
"Doxygen will parse them like normal C++ but will assume all classes use public \n"
"instead of private inheritance when no explicit protection keyword is present. \n",
FALSE
);
cb = addBool( cb = addBool(
"DISTRIBUTE_GROUP_DOC", "DISTRIBUTE_GROUP_DOC",
"If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC \n" "If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC \n"
......
...@@ -1387,6 +1387,7 @@ DocSymbol::SymType DocSymbol::decodeSymbol(const QString &symName,char *letter) ...@@ -1387,6 +1387,7 @@ DocSymbol::SymType DocSymbol::decodeSymbol(const QString &symName,char *letter)
DBG(("decodeSymbol(%s) l=%d\n",symName.data(),l)); DBG(("decodeSymbol(%s) l=%d\n",symName.data(),l));
if (symName=="&copy;") return DocSymbol::Copy; if (symName=="&copy;") return DocSymbol::Copy;
else if (symName=="&trade;") return DocSymbol::Tm; else if (symName=="&trade;") return DocSymbol::Tm;
else if (symName=="&tm;") return DocSymbol::Tm; // alias for &trace;
else if (symName=="&reg;") return DocSymbol::Reg; else if (symName=="&reg;") return DocSymbol::Reg;
else if (symName=="&lt;") return DocSymbol::Less; else if (symName=="&lt;") return DocSymbol::Less;
else if (symName=="&gt;") return DocSymbol::Greater; else if (symName=="&gt;") return DocSymbol::Greater;
...@@ -2049,7 +2050,7 @@ void DocInternalRef::parse() ...@@ -2049,7 +2050,7 @@ void DocInternalRef::parse()
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
DocRef::DocRef(DocNode *parent,const QString &target) : DocRef::DocRef(DocNode *parent,const QString &target,const QString &context) :
m_parent(parent), m_refToSection(FALSE), m_refToAnchor(FALSE) m_parent(parent), m_refToSection(FALSE), m_refToAnchor(FALSE)
{ {
Definition *compound = 0; Definition *compound = 0;
...@@ -2071,7 +2072,7 @@ DocRef::DocRef(DocNode *parent,const QString &target) : ...@@ -2071,7 +2072,7 @@ DocRef::DocRef(DocNode *parent,const QString &target) :
// m_text.data(),m_ref.data(),m_file.data(),m_refToAnchor); // m_text.data(),m_ref.data(),m_file.data(),m_refToAnchor);
return; return;
} }
else if (resolveLink(g_context,target,TRUE,&compound,anchor)) else if (resolveLink(context,target,TRUE,&compound,anchor))
{ {
bool isFile = compound ? bool isFile = compound ?
(compound->definitionType()==Definition::TypeFile ? TRUE : FALSE) : (compound->definitionType()==Definition::TypeFile ? TRUE : FALSE) :
...@@ -2318,8 +2319,8 @@ endlink: ...@@ -2318,8 +2319,8 @@ endlink:
//--------------------------------------------------------------------------- //---------------------------------------------------------------------------
DocDotFile::DocDotFile(DocNode *parent,const QString &name) : DocDotFile::DocDotFile(DocNode *parent,const QString &name,const QString &context) :
m_parent(parent), m_name(name), m_relPath(g_relPath) m_parent(parent), m_name(name), m_relPath(g_relPath), m_context(context)
{ {
} }
...@@ -3235,7 +3236,7 @@ int DocHtmlDescTitle::parse() ...@@ -3235,7 +3236,7 @@ int DocHtmlDescTitle::parse()
} }
else else
{ {
DocRef *ref = new DocRef(this,g_token->name); DocRef *ref = new DocRef(this,g_token->name,g_context);
m_children.append(ref); m_children.append(ref);
ref->parse(); ref->parse();
} }
...@@ -4247,7 +4248,7 @@ void DocPara::handleDotFile(const QString &cmdName) ...@@ -4247,7 +4248,7 @@ void DocPara::handleDotFile(const QString &cmdName)
return; return;
} }
QString name = g_token->name; QString name = g_token->name;
DocDotFile *df = new DocDotFile(this,name); DocDotFile *df = new DocDotFile(this,name,g_context);
m_children.append(df); m_children.append(df);
df->parse(); df->parse();
} }
...@@ -4298,7 +4299,7 @@ void DocPara::handleRef(const QString &cmdName) ...@@ -4298,7 +4299,7 @@ void DocPara::handleRef(const QString &cmdName)
tokToString(tok),cmdName.data()); tokToString(tok),cmdName.data());
goto endref; goto endref;
} }
ref = new DocRef(this,g_token->name); ref = new DocRef(this,g_token->name,g_context);
m_children.append(ref); m_children.append(ref);
ref->parse(); ref->parse();
endref: endref:
......
...@@ -614,7 +614,7 @@ class DocImage : public CompAccept<DocImage>, public DocNode ...@@ -614,7 +614,7 @@ class DocImage : public CompAccept<DocImage>, public DocNode
class DocDotFile : public CompAccept<DocDotFile>, public DocNode class DocDotFile : public CompAccept<DocDotFile>, public DocNode
{ {
public: public:
DocDotFile(DocNode *parent,const QString &name); DocDotFile(DocNode *parent,const QString &name,const QString &context);
void parse(); void parse();
Kind kind() const { return Kind_DotFile; } Kind kind() const { return Kind_DotFile; }
QString name() const { return m_name; } QString name() const { return m_name; }
...@@ -624,6 +624,7 @@ class DocDotFile : public CompAccept<DocDotFile>, public DocNode ...@@ -624,6 +624,7 @@ class DocDotFile : public CompAccept<DocDotFile>, public DocNode
QString width() const { return m_width; } QString width() const { return m_width; }
QString height() const { return m_height; } QString height() const { return m_height; }
DocNode *parent() const { return m_parent; } DocNode *parent() const { return m_parent; }
QString context() const { return m_context; }
void accept(DocVisitor *v) { CompAccept<DocDotFile>::accept(this,v); } void accept(DocVisitor *v) { CompAccept<DocDotFile>::accept(this,v); }
private: private:
DocNode *m_parent; DocNode *m_parent;
...@@ -632,6 +633,7 @@ class DocDotFile : public CompAccept<DocDotFile>, public DocNode ...@@ -632,6 +633,7 @@ class DocDotFile : public CompAccept<DocDotFile>, public DocNode
QString m_relPath; QString m_relPath;
QString m_width; QString m_width;
QString m_height; QString m_height;
QString m_context;
}; };
/*! @brief Node representing a link to some item */ /*! @brief Node representing a link to some item */
...@@ -661,7 +663,7 @@ class DocLink : public CompAccept<DocLink>, public DocNode ...@@ -661,7 +663,7 @@ class DocLink : public CompAccept<DocLink>, public DocNode
class DocRef : public CompAccept<DocRef>, public DocNode class DocRef : public CompAccept<DocRef>, public DocNode
{ {
public: public:
DocRef(DocNode *parent,const QString &target); DocRef(DocNode *parent,const QString &target,const QString &context);
void parse(); void parse();
Kind kind() const { return Kind_Ref; } Kind kind() const { return Kind_Ref; }
QString file() const { return m_file; } QString file() const { return m_file; }
......
...@@ -317,7 +317,7 @@ SCOPEKEYS ":"({ID}":")* ...@@ -317,7 +317,7 @@ SCOPEKEYS ":"({ID}":")*
SCOPECPP {SCOPEPRE}*(~)?{ID}("<"{TEMPCHAR}*">")? SCOPECPP {SCOPEPRE}*(~)?{ID}("<"{TEMPCHAR}*">")?
SCOPEOBJC {SCOPEPRE}?{ID}{SCOPEKEYS}? SCOPEOBJC {SCOPEPRE}?{ID}{SCOPEKEYS}?
SCOPEMASK {SCOPECPP}|{SCOPEOBJC} SCOPEMASK {SCOPECPP}|{SCOPEOBJC}
FUNCARG "("{FUNCCHAR}*")"({BLANK}*("volatile"|"const"))? FUNCARG "("{FUNCCHAR}*")"({BLANK}*("volatile"|"const"){BLANK})?
OPNEW {BLANK}+"new"({BLANK}*"[]")? OPNEW {BLANK}+"new"({BLANK}*"[]")?
OPDEL {BLANK}+"delete"({BLANK}*"[]")? OPDEL {BLANK}+"delete"({BLANK}*"[]")?
OPNORM {OPNEW}|{OPDEL}|"+"|"-"|"*"|"/"|"%"|"^"|"&"|"|"|"~"|"!"|"="|"<"|">"|"+="|"-="|"*="|"/="|"%="|"^="|"&="|"|="|"<<"|">>"|"<<="|">>="|"=="|"!="|"<="|">="|"&&"|"||"|"++"|"--"|","|"->*"|"->"|"[]"|"()" OPNORM {OPNEW}|{OPDEL}|"+"|"-"|"*"|"/"|"%"|"^"|"&"|"|"|"~"|"!"|"="|"<"|">"|"+="|"-="|"*="|"/="|"%="|"^="|"&="|"|="|"<<"|">>"|"<<="|">>="|"=="|"!="|"<="|">="|"&&"|"||"|"++"|"--"|","|"->*"|"->"|"[]"|"()"
......
...@@ -98,10 +98,13 @@ static void writeGraphFooter(QTextStream &t) ...@@ -98,10 +98,13 @@ static void writeGraphFooter(QTextStream &t)
* (used in case CREATE_SUBDIRS is enabled). * (used in case CREATE_SUBDIRS is enabled).
* \param urlOnly if FALSE the url field in the map contains an external * \param urlOnly if FALSE the url field in the map contains an external
* references followed by a $ and then the URL. * references followed by a $ and then the URL.
* \param context the context (file, class, or namespace) in which the
* map file was found
* \returns TRUE if succesful. * \returns TRUE if succesful.
*/ */
static bool convertMapFile(QTextStream &t,const char *mapName, static bool convertMapFile(QTextStream &t,const char *mapName,
const QCString relPath, bool urlOnly=FALSE) const QCString relPath, bool urlOnly=FALSE,
const QString &context=QString())
{ {
QFile f(mapName); QFile f(mapName);
if (!f.open(IO_ReadOnly)) if (!f.open(IO_ReadOnly))
...@@ -129,7 +132,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName, ...@@ -129,7 +132,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName,
{ {
result="href=\""; result="href=\"";
// fake ref node to resolve the url // fake ref node to resolve the url
DocRef *df = new DocRef( (DocNode*) 0, link.mid(5) ); DocRef *df = new DocRef( (DocNode*) 0, link.mid(5), context );
if (!df->ref().isEmpty()) if (!df->ref().isEmpty())
{ {
if ((dest=Doxygen::tagDestinationDict[df->ref()])) if ((dest=Doxygen::tagDestinationDict[df->ref()]))
...@@ -1047,6 +1050,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path) ...@@ -1047,6 +1050,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
// compute md5 checksum of the graph were are about to generate // compute md5 checksum of the graph were are about to generate
QString theGraph; QString theGraph;
QTextStream md5stream(&theGraph,IO_WriteOnly); QTextStream md5stream(&theGraph,IO_WriteOnly);
md5stream.setEncoding(md5stream.UnicodeUTF8);
writeGraphHeader(md5stream); writeGraphHeader(md5stream);
md5stream << " rankdir=LR;" << endl; md5stream << " rankdir=LR;" << endl;
for (dnli2.toFirst();(node=dnli2.current());++dnli2) for (dnli2.toFirst();(node=dnli2.current());++dnli2)
...@@ -1077,6 +1081,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path) ...@@ -1077,6 +1081,7 @@ void DotGfxHierarchyTable::writeGraph(QTextStream &out,const char *path)
QFile f(dotName); QFile f(dotName);
if (!f.open(IO_WriteOnly)) return; if (!f.open(IO_WriteOnly)) return;
QTextStream t(&f); QTextStream t(&f);
t.setEncoding(t.UnicodeUTF8);
t << theGraph; t << theGraph;
f.close(); f.close();
resetReNumbering(); resetReNumbering();
...@@ -1677,6 +1682,7 @@ QCString computeMd5Signature(DotNode *root, ...@@ -1677,6 +1682,7 @@ QCString computeMd5Signature(DotNode *root,
//printf("computeMd5Signature\n"); //printf("computeMd5Signature\n");
QString buf; QString buf;
QTextStream md5stream(&buf,IO_WriteOnly); QTextStream md5stream(&buf,IO_WriteOnly);
md5stream.setEncoding(md5stream.UnicodeUTF8);
writeGraphHeader(md5stream); writeGraphHeader(md5stream);
if (lrRank) if (lrRank)
{ {
...@@ -1753,6 +1759,7 @@ static bool updateDotGraph(DotNode *root, ...@@ -1753,6 +1759,7 @@ static bool updateDotGraph(DotNode *root,
if (f.open(IO_WriteOnly)) if (f.open(IO_WriteOnly))
{ {
QTextStream t(&f); QTextStream t(&f);
t.setEncoding(t.UnicodeUTF8);
t << theGraph; t << theGraph;
} }
return TRUE; return TRUE;
...@@ -1894,6 +1901,7 @@ QCString DotClassGraph::writeGraph(QTextStream &out, ...@@ -1894,6 +1901,7 @@ QCString DotClassGraph::writeGraph(QTextStream &out,
out << "\"></center>" << endl; out << "\"></center>" << endl;
QString tmpstr; QString tmpstr;
QTextOStream tmpout(&tmpstr); QTextOStream tmpout(&tmpstr);
tmpout.setEncoding(tmpout.UnicodeUTF8);
convertMapFile(tmpout,baseName+".map",relPath); convertMapFile(tmpout,baseName+".map",relPath);
if (!tmpstr.isEmpty()) if (!tmpstr.isEmpty())
{ {
...@@ -2207,6 +2215,7 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out, ...@@ -2207,6 +2215,7 @@ QCString DotInclDepGraph::writeGraph(QTextStream &out,
out << "</center>" << endl; out << "</center>" << endl;
QString tmpstr; QString tmpstr;
QTextOStream tmpout(&tmpstr); QTextOStream tmpout(&tmpstr);
tmpout.setEncoding(tmpout.UnicodeUTF8);
convertMapFile(tmpout,baseName+".map",relPath); convertMapFile(tmpout,baseName+".map",relPath);
if (!tmpstr.isEmpty()) if (!tmpstr.isEmpty())
{ {
...@@ -2499,6 +2508,7 @@ QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format, ...@@ -2499,6 +2508,7 @@ QCString DotCallGraph::writeGraph(QTextStream &out, GraphOutputFormat format,
out << "</center>" << endl; out << "</center>" << endl;
QString tmpstr; QString tmpstr;
QTextOStream tmpout(&tmpstr); QTextOStream tmpout(&tmpstr);
tmpout.setEncoding(tmpout.UnicodeUTF8);
convertMapFile(tmpout,baseName+".map",relPath); convertMapFile(tmpout,baseName+".map",relPath);
if (!tmpstr.isEmpty()) if (!tmpstr.isEmpty())
{ {
...@@ -2586,6 +2596,7 @@ QCString DotDirDeps::writeGraph(QTextStream &out, ...@@ -2586,6 +2596,7 @@ QCString DotDirDeps::writeGraph(QTextStream &out,
err("Cannot create file %s.dot for writing!\n",baseName.data()); err("Cannot create file %s.dot for writing!\n",baseName.data());
} }
QTextStream t(&f); QTextStream t(&f);
t.setEncoding(t.UnicodeUTF8);
m_dir->writeDepGraph(t); m_dir->writeDepGraph(t);
f.close(); f.close();
...@@ -2639,6 +2650,7 @@ QCString DotDirDeps::writeGraph(QTextStream &out, ...@@ -2639,6 +2650,7 @@ QCString DotDirDeps::writeGraph(QTextStream &out,
out << "</center>" << endl; out << "</center>" << endl;
QString tmpstr; QString tmpstr;
QTextOStream tmpout(&tmpstr); QTextOStream tmpout(&tmpstr);
tmpout.setEncoding(tmpout.UnicodeUTF8);
convertMapFile(tmpout,baseName+".map",relPath,TRUE); convertMapFile(tmpout,baseName+".map",relPath,TRUE);
if (!tmpstr.isEmpty()) if (!tmpstr.isEmpty())
{ {
...@@ -2811,7 +2823,7 @@ error: ...@@ -2811,7 +2823,7 @@ error:
* \returns a string which is the HTML image map (without the \<map\>\</map\>) * \returns a string which is the HTML image map (without the \<map\>\</map\>)
*/ */
QString getDotImageMapFromFile(const QString& inFile, const QString& outDir, QString getDotImageMapFromFile(const QString& inFile, const QString& outDir,
const QCString &relPath) const QCString &relPath,const QString &context)
{ {
QString outFile = inFile + ".map"; QString outFile = inFile + ".map";
...@@ -2831,7 +2843,8 @@ QString getDotImageMapFromFile(const QString& inFile, const QString& outDir, ...@@ -2831,7 +2843,8 @@ QString getDotImageMapFromFile(const QString& inFile, const QString& outDir,
QString result; QString result;
QTextOStream tmpout(&result); QTextOStream tmpout(&result);
convertMapFile(tmpout, outFile, relPath ,TRUE); tmpout.setEncoding(tmpout.UnicodeUTF8);
convertMapFile(tmpout, outFile, relPath ,TRUE, context);
QDir().remove(outFile); QDir().remove(outFile);
// printf("result=%s\n",result.data()); // printf("result=%s\n",result.data());
...@@ -3072,6 +3085,7 @@ QCString DotGroupCollaboration::writeGraph( QTextStream &t, GraphOutputFormat fo ...@@ -3072,6 +3085,7 @@ QCString DotGroupCollaboration::writeGraph( QTextStream &t, GraphOutputFormat fo
if (dotfile.open(IO_WriteOnly)) if (dotfile.open(IO_WriteOnly))
{ {
QTextStream tdot(&dotfile); QTextStream tdot(&dotfile);
tdot.setEncoding(tdot.UnicodeUTF8);
writeGraphHeader(tdot); writeGraphHeader(tdot);
// clean write flags // clean write flags
......
...@@ -335,7 +335,7 @@ void generateGraphLegend(const char *path); ...@@ -335,7 +335,7 @@ void generateGraphLegend(const char *path);
void writeDotGraphFromFile(const char *inFile,const char *outDir, void writeDotGraphFromFile(const char *inFile,const char *outDir,
const char *outFile,GraphOutputFormat format); const char *outFile,GraphOutputFormat format);
QString getDotImageMapFromFile(const QString& inFile, const QString& outDir, QString getDotImageMapFromFile(const QString& inFile, const QString& outDir,
const QCString& relPath); const QCString& relPath,const QString &context);
#endif #endif
...@@ -2605,7 +2605,7 @@ static void addMethodToClass(EntryNav *rootNav,ClassDef *cd, ...@@ -2605,7 +2605,7 @@ static void addMethodToClass(EntryNav *rootNav,ClassDef *cd,
FileDef *fd=rootNav->fileDef(); FileDef *fd=rootNav->fileDef();
int l,i; int l,i;
static QRegExp re("([a-z_A-Z0-9: ]*[ &*]*[ ]*"); static QRegExp re("([a-z_A-Z0-9: ]*[ &*]+[ ]*");
if (!root->type.isEmpty() && (i=re.match(root->type,0,&l))!=-1) // function variable if (!root->type.isEmpty() && (i=re.match(root->type,0,&l))!=-1) // function variable
{ {
...@@ -2827,7 +2827,7 @@ static void buildFunctionList(EntryNav *rootNav) ...@@ -2827,7 +2827,7 @@ static void buildFunctionList(EntryNav *rootNav)
} }
static QRegExp re("([a-z_A-Z0-9: ]*[ &*]*[ ]*"); static QRegExp re("([a-z_A-Z0-9: ]*[ &*]+[ ]*");
if (!rootNav->parent()->name().isEmpty() && if (!rootNav->parent()->name().isEmpty() &&
(rootNav->parent()->section() & Entry::COMPOUND_MASK) && (rootNav->parent()->section() & Entry::COMPOUND_MASK) &&
cd && cd &&
...@@ -4210,6 +4210,7 @@ static bool findClassRelation( ...@@ -4210,6 +4210,7 @@ static bool findClassRelation(
usedName=biName; usedName=biName;
//printf("***** usedName=%s templSpec=%s\n",usedName.data(),templSpec.data()); //printf("***** usedName=%s templSpec=%s\n",usedName.data(),templSpec.data());
} }
if (Config_getBool("SIP_SUPPORT")) bi->prot=Public;
cd->insertBaseClass(baseClass,usedName,bi->prot,bi->virt,templSpec); cd->insertBaseClass(baseClass,usedName,bi->prot,bi->virt,templSpec);
// add this class as super class to the base class // add this class as super class to the base class
baseClass->insertSubClass(cd,bi->prot,bi->virt,templSpec); baseClass->insertSubClass(cd,bi->prot,bi->virt,templSpec);
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
*/ */
/** /**
@TODO - continutation lines not always recognized @todo - continutation lines not always recognized
- merging of use-statements with same module name and different only-names - merging of use-statements with same module name and different only-names
- rename part of use-statement - rename part of use-statement
- links to interface functions - links to interface functions
...@@ -414,7 +414,7 @@ static bool getFortranDefs(const QCString &memberName, const QCString &moduleNam ...@@ -414,7 +414,7 @@ static bool getFortranDefs(const QCString &memberName, const QCString &moduleNam
/** /**
gets the link to a generic procedure which depends not on the name, but on the parameter list gets the link to a generic procedure which depends not on the name, but on the parameter list
@TODO implementation @todo implementation
*/ */
static bool getGenericProcedureLink(const ClassDef *cd, static bool getGenericProcedureLink(const ClassDef *cd,
const char *memberText, const char *memberText,
...@@ -618,7 +618,7 @@ IGNORE (IMPLICIT{BS}NONE|CONTAINS|WRITE|READ|ALLOCATE|DEALLOCATE|SIZE) ...@@ -618,7 +618,7 @@ IGNORE (IMPLICIT{BS}NONE|CONTAINS|WRITE|READ|ALLOCATE|DEALLOCATE|SIZE)
/*-------- ignore ------------------------------------------------------------*/ /*-------- ignore ------------------------------------------------------------*/
<Start>{IGNORE}/{BS}"("? { // do not search keywords, intrinsics... @TODO: complete list <Start>{IGNORE}/{BS}"("? { // do not search keywords, intrinsics... TODO: complete list
codifyLines(yytext); codifyLines(yytext);
} }
/*-------- inner construct ---------------------------------------------------*/ /*-------- inner construct ---------------------------------------------------*/
......
...@@ -594,7 +594,7 @@ void FTVHelp::generateTreeView() ...@@ -594,7 +594,7 @@ void FTVHelp::generateTreeView()
#if QT_VERSION >= 200 #if QT_VERSION >= 200
t.setEncoding(QTextStream::Latin1); t.setEncoding(QTextStream::Latin1);
#endif #endif
t << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n"; t << "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\">\n";
t << "<html><head>"; t << "<html><head>";
t << "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\">\n"; t << "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=UTF-8\">\n";
t << "<title>"; t << "<title>";
......
...@@ -243,7 +243,7 @@ void HtmlDocVisitor::visit(DocVerbatim *s) ...@@ -243,7 +243,7 @@ void HtmlDocVisitor::visit(DocVerbatim *s)
file.close(); file.close();
m_t << "<div align=\"center\">" << endl; m_t << "<div align=\"center\">" << endl;
writeDotFile(fileName,s->relPath()); writeDotFile(fileName,s->relPath(),s->context());
m_t << "</div>" << endl; m_t << "</div>" << endl;
if (Config_getBool("DOT_CLEANUP")) file.remove(); if (Config_getBool("DOT_CLEANUP")) file.remove();
...@@ -270,7 +270,7 @@ void HtmlDocVisitor::visit(DocVerbatim *s) ...@@ -270,7 +270,7 @@ void HtmlDocVisitor::visit(DocVerbatim *s)
file.close(); file.close();
m_t << "<div align=\"center\">" << endl; m_t << "<div align=\"center\">" << endl;
writeMscFile(baseName,s->relPath()); writeMscFile(baseName,s->relPath(),s->context());
m_t << "</div>" << endl; m_t << "</div>" << endl;
if (Config_getBool("DOT_CLEANUP")) file.remove(); if (Config_getBool("DOT_CLEANUP")) file.remove();
...@@ -293,8 +293,16 @@ void HtmlDocVisitor::visit(DocInclude *inc) ...@@ -293,8 +293,16 @@ void HtmlDocVisitor::visit(DocInclude *inc)
case DocInclude::Include: case DocInclude::Include:
m_t << PREFRAG_START; m_t << PREFRAG_START;
Doxygen::parserManager->getParser(inc->extension()) Doxygen::parserManager->getParser(inc->extension())
->parseCode(m_ci,inc->context(),inc->text().latin1(), ->parseCode(m_ci,
inc->isExample(),inc->exampleFile()); inc->context(),
inc->text().latin1(),
inc->isExample(),
inc->exampleFile(),
0, // fd
-1, // startLine
-1, // endLine
TRUE // inlineFragment
);
m_t << PREFRAG_END; m_t << PREFRAG_END;
break; break;
case DocInclude::IncWithLines: case DocInclude::IncWithLines:
...@@ -303,7 +311,8 @@ void HtmlDocVisitor::visit(DocInclude *inc) ...@@ -303,7 +311,8 @@ void HtmlDocVisitor::visit(DocInclude *inc)
QFileInfo cfi( inc->file() ); QFileInfo cfi( inc->file() );
FileDef fd( cfi.dirPath(), cfi.fileName() ); FileDef fd( cfi.dirPath(), cfi.fileName() );
Doxygen::parserManager->getParser(inc->extension()) Doxygen::parserManager->getParser(inc->extension())
->parseCode(m_ci,inc->context(), ->parseCode(m_ci,
inc->context(),
inc->text().latin1(), inc->text().latin1(),
inc->isExample(), inc->isExample(),
inc->exampleFile(), &fd); inc->exampleFile(), &fd);
...@@ -814,7 +823,7 @@ void HtmlDocVisitor::visitPost(DocImage *img) ...@@ -814,7 +823,7 @@ void HtmlDocVisitor::visitPost(DocImage *img)
void HtmlDocVisitor::visitPre(DocDotFile *df) void HtmlDocVisitor::visitPre(DocDotFile *df)
{ {
if (m_hide) return; if (m_hide) return;
writeDotFile(df->file(),df->relPath()); writeDotFile(df->file(),df->relPath(),df->context());
m_t << "<div align=\"center\">" << endl; m_t << "<div align=\"center\">" << endl;
if (df->hasCaption()) if (df->hasCaption())
{ {
...@@ -1148,7 +1157,8 @@ void HtmlDocVisitor::popEnabled() ...@@ -1148,7 +1157,8 @@ void HtmlDocVisitor::popEnabled()
delete v; delete v;
} }
void HtmlDocVisitor::writeDotFile(const QString &fileName,const QString &relPath) void HtmlDocVisitor::writeDotFile(const QString &fileName,const QString &relPath,
const QString &context)
{ {
QString baseName=fileName; QString baseName=fileName;
int i; int i;
...@@ -1163,11 +1173,12 @@ void HtmlDocVisitor::writeDotFile(const QString &fileName,const QString &relPath ...@@ -1163,11 +1173,12 @@ void HtmlDocVisitor::writeDotFile(const QString &fileName,const QString &relPath
m_t << "<img src=\"" << relPath << baseName << "." m_t << "<img src=\"" << relPath << baseName << "."
<< Config_getEnum("DOT_IMAGE_FORMAT") << "\" alt=\"" << Config_getEnum("DOT_IMAGE_FORMAT") << "\" alt=\""
<< baseName << "\" border=\"0\" usemap=\"#" << mapName << "\">" << endl; << baseName << "\" border=\"0\" usemap=\"#" << mapName << "\">" << endl;
QString imap = getDotImageMapFromFile(fileName,outDir,relPath.data()); QString imap = getDotImageMapFromFile(fileName,outDir,relPath.data(),context);
m_t << "<map name=\"" << mapName << "\">" << imap << "</map>" << endl; m_t << "<map name=\"" << mapName << "\">" << imap << "</map>" << endl;
} }
void HtmlDocVisitor::writeMscFile(const QString &fileName,const QString &relPath) void HtmlDocVisitor::writeMscFile(const QString &fileName,const QString &relPath,
const QString &context)
{ {
QString baseName=fileName; QString baseName=fileName;
int i; int i;
...@@ -1181,7 +1192,7 @@ void HtmlDocVisitor::writeMscFile(const QString &fileName,const QString &relPath ...@@ -1181,7 +1192,7 @@ void HtmlDocVisitor::writeMscFile(const QString &fileName,const QString &relPath
QString mapFile = fileName+".map"; QString mapFile = fileName+".map";
m_t << "<img src=\"" << relPath << baseName << ".png\" alt=\"" m_t << "<img src=\"" << relPath << baseName << ".png\" alt=\""
<< baseName << "\" border=\"0\" usemap=\"#" << mapName << "\">" << endl; << baseName << "\" border=\"0\" usemap=\"#" << mapName << "\">" << endl;
QString imap = getMscImageMapFromFile(fileName,outDir,relPath.data()); QString imap = getMscImageMapFromFile(fileName,outDir,relPath.data(),context);
m_t << "<map name=\"" << mapName << "\">" << imap << "</map>" << endl; m_t << "<map name=\"" << mapName << "\">" << imap << "</map>" << endl;
} }
...@@ -135,8 +135,8 @@ class HtmlDocVisitor : public DocVisitor ...@@ -135,8 +135,8 @@ class HtmlDocVisitor : public DocVisitor
const QString &relPath,const QString &anchor, const QString &relPath,const QString &anchor,
const QString &tooltip = QString::null); const QString &tooltip = QString::null);
void endLink(); void endLink();
void writeDotFile(const QString &fileName,const QString &relPath); void writeDotFile(const QString &fileName,const QString &relPath,const QString &context);
void writeMscFile(const QString &fileName,const QString &relPath); void writeMscFile(const QString &fileName,const QString &relPath,const QString &context);
void pushEnabled(); void pushEnabled();
void popEnabled(); void popEnabled();
......
...@@ -53,49 +53,6 @@ ...@@ -53,49 +53,6 @@
//} //}
static QCString escapeLabelName(LatexGenerator *g,const char *s)
{
QCString result;
const char *p=s;
char str[2];
str[1]=0;
char c;
while ((c=*p++))
{
switch (c)
{
case '%': result+="\\%"; break;
case '|': result+="\\tt{\"|}"; break;
case '!': result+="\"!"; break;
default: str[0]=c; g->docify(str); break;
}
}
return result;
}
static QCString escapeMakeIndexChars(LatexGenerator *g,QTextStream &t,const char *s)
{
QCString result;
const char *p=s;
char str[2];
str[1]=0;
char c;
while ((c=*p++))
{
switch (c)
{
case '!': t << "\"!"; break;
case '"': t << "\"\""; break;
case '@': t << "\"@"; break;
case '|': t << "\\tt{\"|}"; break;
case '[': t << "["; break;
case ']': t << "]"; break;
default: str[0]=c; g->docify(str); break;
}
}
return result;
}
LatexGenerator::LatexGenerator() : OutputGenerator() LatexGenerator::LatexGenerator() : OutputGenerator()
{ {
...@@ -1070,9 +1027,10 @@ void LatexGenerator::endTitleHead(const char *fileName,const char *name) ...@@ -1070,9 +1027,10 @@ void LatexGenerator::endTitleHead(const char *fileName,const char *name)
t << "}" << endl; t << "}" << endl;
if (name) if (name)
{ {
t << "\\label{" << fileName << "}\\index{" t << "\\label{" << fileName << "}\\index{";
<< escapeLabelName(this,name) << "@{"; escapeLabelName(name);
escapeMakeIndexChars(this,t,name); t << "@{";
escapeMakeIndexChars(name);
t << "}}" << endl; t << "}}" << endl;
} }
if (Config_getBool("PDF_HYPERLINKS") && fileName) if (Config_getBool("PDF_HYPERLINKS") && fileName)
...@@ -1141,16 +1099,20 @@ void LatexGenerator::startMemberDoc(const char *clname, ...@@ -1141,16 +1099,20 @@ void LatexGenerator::startMemberDoc(const char *clname,
t << "\\index{"; t << "\\index{";
if (clname) if (clname)
{ {
t << escapeLabelName(this,clname) << "@{"; escapeLabelName(clname);
escapeMakeIndexChars(this,t,clname); t << "@{";
escapeMakeIndexChars(clname);
t << "}!"; t << "}!";
} }
t << escapeLabelName(this,memname) << "@{"; escapeLabelName(memname);
escapeMakeIndexChars(this,t,memname); t << "@{";
escapeMakeIndexChars(memname);
t << "}}" << endl; t << "}}" << endl;
t << "\\index{" << escapeLabelName(this,memname) << "@{"; t << "\\index{";
escapeMakeIndexChars(this,t,memname); escapeLabelName(memname);
t << "@{";
escapeMakeIndexChars(memname);
t << "}"; t << "}";
if (clname) if (clname)
{ {
...@@ -1223,13 +1185,17 @@ void LatexGenerator::addIndexItem(const char *s1,const char *s2) ...@@ -1223,13 +1185,17 @@ void LatexGenerator::addIndexItem(const char *s1,const char *s2)
{ {
if (s1) if (s1)
{ {
t << "\\index{" << escapeLabelName(this,s1) << "@{"; t << "\\index{";
escapeMakeIndexChars(this,t,s1); escapeLabelName(s1);
t << "@{";
escapeMakeIndexChars(s1);
t << "}"; t << "}";
if (s2) if (s2)
{ {
t << "!" << escapeLabelName(this,s2) << "@{"; t << "!";
escapeMakeIndexChars(this,t,s2); escapeLabelName(s2);
t << "@{";
escapeMakeIndexChars(s2);
t << "}"; t << "}";
} }
t << "}"; t << "}";
...@@ -1651,5 +1617,43 @@ void LatexGenerator::endConstraintList() ...@@ -1651,5 +1617,43 @@ void LatexGenerator::endConstraintList()
t << "\\end{Desc}" << endl; t << "\\end{Desc}" << endl;
} }
void LatexGenerator::escapeLabelName(const char *s)
{
const char *p=s;
char str[2];
str[1]=0;
char c;
while ((c=*p++))
{
switch (c)
{
case '%': t << "\\%"; break;
case '|': t << "\\tt{\"|}"; break;
case '!': t << "\"!"; break;
default: str[0]=c; docify(str); break;
}
}
}
void LatexGenerator::escapeMakeIndexChars(const char *s)
{
const char *p=s;
char str[2];
str[1]=0;
char c;
while ((c=*p++))
{
switch (c)
{
case '!': t << "\"!"; break;
case '"': t << "\"\""; break;
case '@': t << "\"@"; break;
case '|': t << "\\tt{\"|}"; break;
case '[': t << "["; break;
case ']': t << "]"; break;
default: str[0]=c; docify(str); break;
}
}
}
...@@ -230,6 +230,8 @@ class LatexGenerator : public OutputGenerator ...@@ -230,6 +230,8 @@ class LatexGenerator : public OutputGenerator
private: private:
LatexGenerator(const LatexGenerator &); LatexGenerator(const LatexGenerator &);
LatexGenerator &operator=(const LatexGenerator &); LatexGenerator &operator=(const LatexGenerator &);
void escapeLabelName(const char *s);
void escapeMakeIndexChars(const char *s);
int col; int col;
bool insideTabbing; bool insideTabbing;
bool firstDescItem; bool firstDescItem;
......
...@@ -85,10 +85,10 @@ static QCString addTemplateNames(const QCString &s,const QCString &n,const QCStr ...@@ -85,10 +85,10 @@ static QCString addTemplateNames(const QCString &s,const QCString &n,const QCStr
static bool writeDefArgumentList(OutputList &ol,ClassDef *cd, static bool writeDefArgumentList(OutputList &ol,ClassDef *cd,
const QCString & /*scopeName*/,MemberDef *md) const QCString & /*scopeName*/,MemberDef *md)
{ {
LockingPtr<ArgumentList> defArgList=(md->isDocsForDefinition() && !md->isProperty()) ? LockingPtr<ArgumentList> defArgList=(md->isDocsForDefinition()) ?
md->argumentList() : md->declArgumentList(); md->argumentList() : md->declArgumentList();
//printf("writeDefArgumentList `%s' isDocsForDefinition()=%d\n",md->name().data(),md->isDocsForDefinition()); //printf("writeDefArgumentList `%s' isDocsForDefinition()=%d\n",md->name().data(),md->isDocsForDefinition());
if (defArgList==0) if (defArgList==0 || md->isProperty())
{ {
return FALSE; // member has no function like argument list return FALSE; // member has no function like argument list
} }
...@@ -771,7 +771,7 @@ QCString MemberDef::anchor() const ...@@ -771,7 +771,7 @@ QCString MemberDef::anchor() const
{ {
result=m_impl->groupMember->anchor(); result=m_impl->groupMember->anchor();
} }
else else if (getReference().isEmpty())
{ {
result.prepend("g"); result.prepend("g");
} }
...@@ -2693,6 +2693,7 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl, ...@@ -2693,6 +2693,7 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl,
{ {
Doxygen::tagFile << " <member kind=\"enumeration\">" << endl; Doxygen::tagFile << " <member kind=\"enumeration\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl; Doxygen::tagFile << " <name>" << convertToXML(name()) << "</name>" << endl;
Doxygen::tagFile << " <anchorfile>" << convertToXML(getOutputFileBase()+Doxygen::htmlFileExtension) << "</anchorfile>" << endl;
Doxygen::tagFile << " <anchor>" << convertToXML(anchor()) << "</anchor>" << endl; Doxygen::tagFile << " <anchor>" << convertToXML(anchor()) << "</anchor>" << endl;
Doxygen::tagFile << " <arglist>" << convertToXML(argsString()) << "</arglist>" << endl; Doxygen::tagFile << " <arglist>" << convertToXML(argsString()) << "</arglist>" << endl;
Doxygen::tagFile << " </member>" << endl; Doxygen::tagFile << " </member>" << endl;
...@@ -2741,6 +2742,7 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl, ...@@ -2741,6 +2742,7 @@ void MemberDef::writeEnumDeclaration(OutputList &typeDecl,
{ {
Doxygen::tagFile << " <member kind=\"enumvalue\">" << endl; Doxygen::tagFile << " <member kind=\"enumvalue\">" << endl;
Doxygen::tagFile << " <name>" << convertToXML(fmd->name()) << "</name>" << endl; Doxygen::tagFile << " <name>" << convertToXML(fmd->name()) << "</name>" << endl;
Doxygen::tagFile << " <anchorfile>" << convertToXML(getOutputFileBase()+Doxygen::htmlFileExtension) << "</anchorfile>" << endl;
Doxygen::tagFile << " <anchor>" << convertToXML(fmd->anchor()) << "</anchor>" << endl; Doxygen::tagFile << " <anchor>" << convertToXML(fmd->anchor()) << "</anchor>" << endl;
Doxygen::tagFile << " <arglist>" << convertToXML(fmd->argsString()) << "</arglist>" << endl; Doxygen::tagFile << " <arglist>" << convertToXML(fmd->argsString()) << "</arglist>" << endl;
Doxygen::tagFile << " </member>" << endl; Doxygen::tagFile << " </member>" << endl;
......
...@@ -26,7 +26,8 @@ ...@@ -26,7 +26,8 @@
static const int maxCmdLine = 40960; static const int maxCmdLine = 40960;
static bool convertMapFile(QTextStream &t,const char *mapName,const QCString relPath) static bool convertMapFile(QTextStream &t,const char *mapName,const QCString relPath,
const QString &context)
{ {
QFile f(mapName); QFile f(mapName);
if (!f.open(IO_ReadOnly)) if (!f.open(IO_ReadOnly))
...@@ -66,7 +67,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName,const QCString rel ...@@ -66,7 +67,7 @@ static bool convertMapFile(QTextStream &t,const char *mapName,const QCString rel
{ {
// handle doxygen \ref tag URL reference // handle doxygen \ref tag URL reference
QCString *dest; QCString *dest;
DocRef *df = new DocRef( (DocNode*) 0, url ); DocRef *df = new DocRef( (DocNode*) 0, url, context );
if (!df->ref().isEmpty()) if (!df->ref().isEmpty())
{ {
if ((dest=Doxygen::tagDestinationDict[df->ref()])) t << *dest << "/"; if ((dest=Doxygen::tagDestinationDict[df->ref()])) t << *dest << "/";
...@@ -138,7 +139,7 @@ error: ...@@ -138,7 +139,7 @@ error:
} }
QString getMscImageMapFromFile(const QString& inFile, const QString& outDir, QString getMscImageMapFromFile(const QString& inFile, const QString& outDir,
const QCString& relPath) const QCString& relPath,const QString& context)
{ {
QString outFile = inFile + ".map"; QString outFile = inFile + ".map";
...@@ -162,7 +163,7 @@ QString getMscImageMapFromFile(const QString& inFile, const QString& outDir, ...@@ -162,7 +163,7 @@ QString getMscImageMapFromFile(const QString& inFile, const QString& outDir,
QString result; QString result;
QTextOStream tmpout(&result); QTextOStream tmpout(&result);
convertMapFile(tmpout, outFile, relPath); convertMapFile(tmpout, outFile, relPath, context);
QDir().remove(outFile); QDir().remove(outFile);
QDir::setCurrent(oldDir); QDir::setCurrent(oldDir);
......
...@@ -26,7 +26,7 @@ void writeMscGraphFromFile(const char *inFile,const char *outDir, ...@@ -26,7 +26,7 @@ void writeMscGraphFromFile(const char *inFile,const char *outDir,
const char *outFile,MscOutputFormat format); const char *outFile,MscOutputFormat format);
QString getMscImageMapFromFile(const QString& inFile, const QString& outDir, QString getMscImageMapFromFile(const QString& inFile, const QString& outDir,
const QCString& relPath); const QCString& relPath,const QString& context);
#endif #endif
...@@ -924,6 +924,9 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?) ...@@ -924,6 +924,9 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
addType( current ); addType( current );
current->name = yytext; current->name = yytext;
} }
<CliPropertyType>"["{ID}"]" { // C++/CLI indexed property
current->args = yytext;
}
<CliPropertyType>"{" { <CliPropertyType>"{" {
curlyCount=0; curlyCount=0;
//printf("event: '%s' '%s'\n",current->type.data(),current->name.data()); //printf("event: '%s' '%s'\n",current->type.data(),current->name.data());
......
...@@ -10,31 +10,20 @@ ...@@ -10,31 +10,20 @@
* Documents produced by Doxygen are derivative works derived from the * Documents produced by Doxygen are derivative works derived from the
* input used in their production; they are not affected by this license. * input used in their production; they are not affected by this license.
* *
* Brazilian Portuguese version by * Brazilian Portuguese translation version 20070914
* Fabio "FJTC" Jun Takada Chino <jun-chino at uol.com.br> * Maintainer: Fabio "FJTC" Jun Takada Chino <jun-chino at uol.com.br>
* Version: 1.4.6 (2006/06/26) * Thanks to Jorge Ramos and others
* *
* History: * History:
* 20070914
* - "Translate me" fixed
* - Revision number changed from doxygen version to a date string.
* - History cleanup
* - Latex babel package fixed.
* 1.4.6 * 1.4.6
* - trCallerGraph() added. * - trCallerGraph() added.
* - trEnumerationValueDocumentation() added. * - trEnumerationValueDocumentation() added.
* 1.4.1 * Previous history removed from this version.
* - Method trOverloadText() added.
* 1.3.9
* - Updated to Doxygen 1.3.9
* 1.3.8
* - Updated to Doxygen 1.3.8
* 1.3.3:
* - Updated to Doxygen 1.3.3
* 1.3.2:
* - Updated to Doxygen 1.3.2
* 1.3:
* - Updated to Doxygen 1.3.x.
* 1.2.19:
* - Updated to Doxygen 1.2.19
* - Translation Review (Thanks to Jorge Ramos and others)
* - Small fixes in C output.
* - Latex generation support fixed (invalid package name).
*/ */
#ifndef TRANSLATOR_BR_H #ifndef TRANSLATOR_BR_H
#define TRANSLATOR_BR_H #define TRANSLATOR_BR_H
...@@ -64,7 +53,7 @@ class TranslatorBrazilian : public Translator ...@@ -64,7 +53,7 @@ class TranslatorBrazilian : public Translator
*/ */
virtual QCString latexLanguageSupportCommand() virtual QCString latexLanguageSupportCommand()
{ {
return "\\usepackage[spanish]{babel}"; return "\\usepackage[brazil]{babel}";
} }
/*! return the language charset. This will be used for the HTML output */ /*! return the language charset. This will be used for the HTML output */
...@@ -611,8 +600,8 @@ class TranslatorBrazilian : public Translator ...@@ -611,8 +600,8 @@ class TranslatorBrazilian : public Translator
case ClassDef::Struct: result+=" Estrutura "; break; case ClassDef::Struct: result+=" Estrutura "; break;
case ClassDef::Union: result+=" União "; break; case ClassDef::Union: result+=" União "; break;
case ClassDef::Interface: result+=" Interface "; break; case ClassDef::Interface: result+=" Interface "; break;
case ClassDef::Protocol: result+=" Protocol "; break; // translate me! case ClassDef::Protocol: result+=" Protocolo "; break;
case ClassDef::Category: result+=" Category "; break; // translate me! case ClassDef::Category: result+=" Categoria "; break;
case ClassDef::Exception: result+=" Exceção "; break; case ClassDef::Exception: result+=" Exceção "; break;
} }
result+=(QCString)clName; result+=(QCString)clName;
...@@ -769,8 +758,8 @@ class TranslatorBrazilian : public Translator ...@@ -769,8 +758,8 @@ class TranslatorBrazilian : public Translator
case ClassDef::Struct: result+="estrutura "; break; case ClassDef::Struct: result+="estrutura "; break;
case ClassDef::Union: result+="união "; break; case ClassDef::Union: result+="união "; break;
case ClassDef::Interface: result+="interface "; break; case ClassDef::Interface: result+="interface "; break;
case ClassDef::Protocol: result+="protocol "; break; // translate me! case ClassDef::Protocol: result+="protocolo "; break;
case ClassDef::Category: result+="category "; break; // translate me! case ClassDef::Category: result+="categoria "; break;
case ClassDef::Exception: result+="exceção "; break; case ClassDef::Exception: result+="exceção "; break;
} }
result+=" foi gerada a partir "; result+=" foi gerada a partir ";
......
...@@ -475,8 +475,8 @@ class TranslatorChinese : public Translator ...@@ -475,8 +475,8 @@ class TranslatorChinese : public Translator
case ClassDef::Struct: result+="结构"; break; case ClassDef::Struct: result+="结构"; break;
case ClassDef::Union: result+="联合"; break; case ClassDef::Union: result+="联合"; break;
case ClassDef::Interface: result+="接口"; break; case ClassDef::Interface: result+="接口"; break;
case ClassDef::Protocol: result+="协议"; break; // translate me! case ClassDef::Protocol: result+="协议"; break;
case ClassDef::Category: result+="分类"; break; // translate me! case ClassDef::Category: result+="分类"; break;
case ClassDef::Exception: result+="异常"; break; case ClassDef::Exception: result+="异常"; break;
} }
result+="参考"; result+="参考";
...@@ -642,8 +642,8 @@ class TranslatorChinese : public Translator ...@@ -642,8 +642,8 @@ class TranslatorChinese : public Translator
case ClassDef::Struct: result+="结构"; break; case ClassDef::Struct: result+="结构"; break;
case ClassDef::Union: result+="联合"; break; case ClassDef::Union: result+="联合"; break;
case ClassDef::Interface: result+="接口"; break; case ClassDef::Interface: result+="接口"; break;
case ClassDef::Protocol: result+="协议"; break; // translate me! case ClassDef::Protocol: result+="协议"; break;
case ClassDef::Category: result+="分类"; break; // translate me! case ClassDef::Category: result+="分类"; break;
case ClassDef::Exception: result+="异常"; break; case ClassDef::Exception: result+="异常"; break;
} }
result+="的文档由以下文件生成:"; result+="的文档由以下文件生成:";
......
...@@ -18,6 +18,16 @@ ...@@ -18,6 +18,16 @@
#ifndef TRANSLATOR_KR_H #ifndef TRANSLATOR_KR_H
#define TRANSLATOR_KR_H #define TRANSLATOR_KR_H
/* Korean translators
* doxygen-cvs
* * fly1004
* doxygen-1.5.3
* * Astromaker(http://ngps.net/)
* * gpgiki(http://www.gpgstudy.com/gpgiki/)
* doxygen-1.2.11
* * ryk */
/*! /*!
When defining a translator class for the new language, follow When defining a translator class for the new language, follow
the description in the documentation. One of the steps says the description in the documentation. One of the steps says
...@@ -40,49 +50,11 @@ ...@@ -40,49 +50,11 @@
Translator class (by the local maintainer) when the localized Translator class (by the local maintainer) when the localized
translator is made up-to-date again. translator is made up-to-date again.
*/ */
class TranslatorKorean : public Translator
/*
초기 작업자: ryk
TODO 주석을 보면 11/22/01, doxygen 버전 1.2.11까지 수고해 주신 것 같습니다.
최근 갱신자: Astromaker(http://ngps.net/)
gpgiki(http://www.gpgstudy.com/gpgiki/)
*/
//
// Update:
//
// 2004.12.22 (SooYoung Jung: jung5000 at gmail.com)
// - LaTex and RTF were not generated correctly.
// Corrected trRTFansicp and trRTFCharSet.
// It was wrong.
// - Adapting 1.3.9 and added "new since 1.3.9"
// - 해석이 잘못된 부분이 꾀나 있어 보임..
//
// 2005.02.11 (SooYoung Jung: jung5000 at gmail.com)
// - 실수로 추가되었던 decode 함수 삭제
//
// 2005.03.11 (SooYoung Jung: jung5000 at gmail.com)
// - Adapting 1.4.1 and checked using translator.py
// - 일부 번역안된 부분 수정 (Translated little bit of untranslated part)
// - Removed following
// Obsolete methods (should be removed, never used):
// virtual QCString trHeaderFilesDescription()
// virtual QCString trField(bool first_capital, bool singular)
// virtual QCString trPackageDocumentation()
// virtual QCString trSources()
// virtual QCString trReimplementedForInternalReasons()
// virtual QCString trInterfaces()
// virtual QCString trHeaderFiles()
// virtual QCString trBugsAndLimitations()
// virtual QCString trEnumerationValueDocumentation()
// virtual QCString trNoDescriptionAvailable()
// - Changed the base class to Translator from Translator_1_4_1
//
class TranslatorKorean : public TranslatorAdapter_1_4_6
{ {
private: protected:
friend class TranslatorAdapterBase;
virtual ~TranslatorKorean() {}
public: public:
...@@ -115,10 +87,8 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -115,10 +87,8 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
{ {
// I'm not sure what this should be. // I'm not sure what this should be.
// When I figure it out, I'll update this. // When I figure it out, I'll update this.
//see http://www.ktug.or.kr/jsboard/read.php?table=operate&no=4422&page=1 // see http://www.ktug.or.kr/jsboard/read.php?table=operate&no=4422&page=1
return "\\usepackage{hfont}\n" return "\\usepackage{hfont}\n";
"\\usepackage{ucs}\n"
"\\usepackage[encapsulation]{CJK}\n";
} }
/*! return the language charset. This will be used for the HTML output */ /*! return the language charset. This will be used for the HTML output */
...@@ -131,15 +101,15 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -131,15 +101,15 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! used in the compound documentation before a list of related functions. */ /*! used in the compound documentation before a list of related functions. */
virtual QCString trRelatedFunctions() virtual QCString trRelatedFunctions()
{ return "관련된 함수"; } { return "관련된 함수"; }
/*! subscript for the related functions. */ /*! subscript for the related functions. */
virtual QCString trRelatedSubscript() virtual QCString trRelatedSubscript()
{ return "관련주석"; } { return "(다음은 멤버 함수들이 아닙니다. 주의하십시오.)"; }
/*! header that is put before the detailed description of files, classes and namespaces. */ /*! header that is put before the detailed description of files, classes and namespaces. */
virtual QCString trDetailedDescription() virtual QCString trDetailedDescription()
{ return "세부 사항"; } { return "상세한 설명"; }
/*! header that is put before the list of typedefs. */ /*! header that is put before the list of typedefs. */
virtual QCString trMemberTypedefDocumentation() virtual QCString trMemberTypedefDocumentation()
...@@ -158,41 +128,41 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -158,41 +128,41 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
{ {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return "멤버 변수 문서화"; return "필드 문서화";
} }
else else
{ {
return "멤버 변수 문서화"; return "멤버 데이타 문서화";
} }
} }
/*! this is the text of a link put after brief descriptions. */ /*! this is the text of a link put after brief descriptions. */
virtual QCString trMore() virtual QCString trMore()
{ return "세부 사항 보기"; } { return "더 자세히 ..."; }
/*! put in the class documentation */ /*! put in the class documentation */
virtual QCString trListOfAllMembers() virtual QCString trListOfAllMembers()
{ return "전체 멤버 목록 보기"; } { return "모든 멤버 목록"; }
/*! used as the title of the "list of all members" page of a class */ /*! used as the title of the "list of all members" page of a class */
virtual QCString trMemberList() virtual QCString trMemberList()
{ return "멤버(멤버함수, 멤버변수 등) 목록"; } { return "멤버 목록"; }
/*! this is the first part of a sentence that is followed by a class name */ /*! this is the first part of a sentence that is followed by a class name */
virtual QCString trThisIsTheListOfAllMembers() virtual QCString trThisIsTheListOfAllMembers()
{ return "모든 멤버(멤버함수, 멤버변수 등) 목록 " ; } { return "다음에 대한 모든 멤버의 목록입니다 : "; }
/*! this is the remainder of the sentence after the class name */ /*! this is the remainder of the sentence after the class name */
virtual QCString trIncludingInheritedMembers() virtual QCString trIncludingInheritedMembers()
{ return ", 상속받은 모든 멤버도 포함"; } { return " (모든 상속된 멤버들도 포함합니다.)"; }
/*! this is put at the author sections at the bottom of man pages. /*! this is put at the author sections at the bottom of man pages.
* parameter s is name of the project name. * parameter s is name of the project name.
*/ */
virtual QCString trGeneratedAutomatically(const char *s) virtual QCString trGeneratedAutomatically(const char *s)
{ QCString result=""; { QCString result="소스 코드로부터 ";
if (s) result+=(QCString)s+"에 "; if (s) result+=s+(QCString)"를 위해 ";
result += "소스 코드로 부터 Doxygen에 의해 자동으로 생성"; result+="Doxygen에 의해 자동으로 생성됨.";
return result; return result;
} }
...@@ -206,7 +176,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -206,7 +176,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! put after an undocumented member in the list of all members */ /*! put after an undocumented member in the list of all members */
virtual QCString trDefinedIn() virtual QCString trDefinedIn()
{ return "에서 정의"; } { return "다음에서 정의됨 :"; }
// quick reference sections // quick reference sections
...@@ -218,31 +188,50 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -218,31 +188,50 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! This is put above each page as a link to the class hierarchy */ /*! This is put above each page as a link to the class hierarchy */
virtual QCString trClassHierarchy() virtual QCString trClassHierarchy()
{ return "클래스 계통도"; } // "클래스 조직" or "클래스 분류체계" { return "클래스 계통도"; }
/*! This is put above each page as a link to the list of annotated classes */ /*! This is put above each page as a link to the list of annotated classes */
virtual QCString trCompoundList() virtual QCString trCompoundList()
{ {
//Alternate text: "혼합 목록", "합성(집합) 명단(리스트)" if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
return "복합구조(클래스, 구조체, 공용체)"; {
return "데이타 구조";
}
else
{
return "클래스 목록";
}
} }
/*! This is put above each page as a link to the list of documented files */ /*! This is put above each page as a link to the list of documented files */
virtual QCString trFileList() virtual QCString trFileList()
{ return "파일 목록"; } //"파일 목록", "파일 리스트" { return "파일 목록"; }
/*! This is put above each page as a link to all members of compounds. */ /*! This is put above each page as a link to all members of compounds. */
virtual QCString trCompoundMembers() virtual QCString trCompoundMembers()
{ {
// Alternate text: "합성(집합) 명단(멤버들)" if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
return "복합구조(클래스, 구조체, 공용체) 멤버"; {
return "데이타 필드";
}
else
{
return "클래스 멤버";
}
} }
/*! This is put above each page as a link to all members of files. */ /*! This is put above each page as a link to all members of files. */
virtual QCString trFileMembers() virtual QCString trFileMembers()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "전역";
}
else
{ {
return "파일 멤버"; return "파일 멤버";
} }
}
/*! This is put above each page as a link to all related pages. */ /*! This is put above each page as a link to all related pages. */
virtual QCString trRelatedPages() virtual QCString trRelatedPages()
...@@ -258,66 +247,115 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -258,66 +247,115 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! This is an introduction to the class hierarchy. */ /*! This is an introduction to the class hierarchy. */
virtual QCString trClassHierarchyDescription() virtual QCString trClassHierarchyDescription()
{ return "이 상속 목록은 알파벳 순으로 정렬되어있습니다. (완전하지는 않음)";} { return "이 상속 목록은 완전하진 않지만 알파벳순으로 대략적으로 정렬되어있습니다.:";
}
/*! This is an introduction to the list with all files. */ /*! This is an introduction to the list with all files. */
virtual QCString trFileListDescription(bool extractAll) virtual QCString trFileListDescription(bool extractAll)
{ {
QCString result="다음은 간략한 설명을 가진 "; QCString result="다음은 ";
if (!extractAll) result+="문서화된 "; if (!extractAll) result+="문서화된 ";
result+="모든 파일에 대한 목록입니다."; result+="모든 파일에 대한 목록입니다. (간략한 설명만을 보여줍니다) :";
return result; return result;
} }
/*! This is an introduction to the annotated compound list. */ /*! This is an introduction to the annotated compound list. */
virtual QCString trCompoundListDescription() virtual QCString trCompoundListDescription()
{ {
return "다음은 간략한 설명을 가진 클래스, "
"구조체, 공용체, 인터페이스의 목록입니다."; if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "다음은 데이타 구조들입니다. (간략한 설명만을 보여줍니다) :";
}
else
{
return "다음은 클래스, 구조체, 공용체 그리고 인터페이스들입니다. "
"(간략한 설명만을 보여줍니다) :";
}
} }
/*! This is an introduction to the page with all class members. */ /*! This is an introduction to the page with all class members. */
virtual QCString trCompoundMembersDescription(bool extractAll) virtual QCString trCompoundMembersDescription(bool extractAll)
{ {
QCString result="다음은 문서화된 모든 클래스, 구조체, 공용체 멤버에 대한 목록입니다. "; QCString result="다음은 ";
if (!extractAll) if (!extractAll)
{ {
result+="문서화된 "; result+="문서화된 ";
} }
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="모든 구조체와 공용체의 필드들";
}
else
{
result+="모든 클래스 멤버들";
}
result+="의 목록입니다. ";
result+="링크 된 클래스 멤버는 "; if (!extractAll)
{
if (extractAll) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
result+="그 멤버에 대한 클래스 문서화로 갑니다."; {
result+="각 필드들은 해당 필드에 대한 구조체와 공용체의 "
"문서화 페이지의 링크를 가지고 있습니다. :";
}
else
{
result+="각 멤버들은 해당 멤버에 대한 클래스의 문서화 페이지의 "
"링크를 가지고 있습니다. :";
}
}
else
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="각 필드들은 해당 필드가 속해 있는 구조체와 공용체에 "
"대한 링크를 가지고 있습니다. :";
}
else else
result+="이하로 속한 클래스:"; {
result+="각 멤버들은 해당 멤버가 속해 있는 클래스에 대한 "
"링크를 가지고 있습니다. :";
}
}
return result; return result;
} }
/*! This is an introduction to the page with all file members. */ /*! This is an introduction to the page with all file members. */
virtual QCString trFileMembersDescription(bool extractAll) virtual QCString trFileMembersDescription(bool extractAll)
{ {
QCString result="다음은 문서화된 모든 파일에 대한 목록입니다. "; QCString result="다음은 ";
if (!extractAll) result+="문서화된 "; if (!extractAll) result+="문서화된 ";
result+="링크 된 파일 멤버는 ";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
result+="모든 함수, 변수, 매크로, 열거형, 타입정의들";
}
else
{
result+="파일 멤버들";
}
result+="의 목록입니다. ";
result+="각 항목은 ";
if (extractAll) if (extractAll)
result+="그 멤버에 대한 파일 문서화로 갑니다."; result+="그들이 속한 파일 페이지의 링크를 가지고 있습니다. :";
else else
result+="그들이 속해있는 파일로 갑니다."; result+="그들에 대한 문서화 페이지의 링크를 가지고 있습니다. :";
return result; return result;
} }
/*! This is an introduction to the page with the list of all examples */ /*! This is an introduction to the page with the list of all examples */
virtual QCString trExamplesDescription() virtual QCString trExamplesDescription()
{ return "다음은 모든 예제의 목록입니다."; } { return "다음은 모든 예제들의 목록입니다.:"; }
/*! This is an introduction to the page with the list of related pages */ /*! This is an introduction to the page with the list of related pages */
virtual QCString trRelatedPagesDescription() virtual QCString trRelatedPagesDescription()
{ return "다음은 모든 관련된 문서화 페이지의 목록입니다."; } { return "다음은 관련된 모든 문서화 페이지들의 목록입니다.:"; }
/*! This is an introduction to the page with the list of class/file groups */ /*! This is an introduction to the page with the list of class/file groups */
virtual QCString trModulesDescription() virtual QCString trModulesDescription()
{ return "다음은 모든 모듈의 목록입니다."; } { return "다음은 모든 모듈들의 목록입니다.:"; }
// index titles (the project name is prepended for these) // index titles (the project name is prepended for these)
...@@ -335,13 +373,22 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -335,13 +373,22 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
* class hierarchy. * class hierarchy.
*/ */
virtual QCString trHierarchicalIndex() virtual QCString trHierarchicalIndex()
{ return "분류체계 색인"; } { return "계통도 색인"; }
/*! This is used in LaTeX as the title of the chapter with the /*! This is used in LaTeX as the title of the chapter with the
* annotated compound index. * annotated compound index.
*/ */
virtual QCString trCompoundIndex() virtual QCString trCompoundIndex()
{ return "복합구조(클래스, 구조체, 공용체) 색인"; } {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "데이타 구조 색인";
}
else
{
return "클래스 색인";
}
}
/*! This is used in LaTeX as the title of the chapter with the /*! This is used in LaTeX as the title of the chapter with the
* list of all files. * list of all files.
...@@ -359,7 +406,16 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -359,7 +406,16 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
* the documentation of all classes, structs and unions. * the documentation of all classes, structs and unions.
*/ */
virtual QCString trClassDocumentation() virtual QCString trClassDocumentation()
{ return "클래스 문서화"; } {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
return "데이타 구조 문서화";
}
else
{
return "클래스 문서화";
}
}
/*! This is used in LaTeX as the title of the chapter containing /*! This is used in LaTeX as the title of the chapter containing
* the documentation of all files. * the documentation of all files.
...@@ -381,13 +437,13 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -381,13 +437,13 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! This is used in LaTeX as the title of the document */ /*! This is used in LaTeX as the title of the document */
virtual QCString trReferenceManual() virtual QCString trReferenceManual()
{ return "참고서"; } { return "참조 매뉴얼"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of defines * list of defines
*/ */
virtual QCString trDefines() virtual QCString trDefines()
{ return "매크로, #define"; } { return "매크로"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of function prototypes * list of function prototypes
...@@ -399,13 +455,13 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -399,13 +455,13 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
* list of typedefs * list of typedefs
*/ */
virtual QCString trTypedefs() virtual QCString trTypedefs()
{ return "타입 정의"; } { return "타입정의"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of enumerations * list of enumerations
*/ */
virtual QCString trEnumerations() virtual QCString trEnumerations()
{ return "열거형"; } { return "열거형 타입"; }
/*! This is used in the documentation of a file as a header before the /*! This is used in the documentation of a file as a header before the
* list of (global) functions * list of (global) functions
...@@ -423,13 +479,13 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -423,13 +479,13 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
* list of (global) variables * list of (global) variables
*/ */
virtual QCString trEnumerationValues() virtual QCString trEnumerationValues()
{ return "열거형 "; } { return "열거형 멤버"; }
/*! This is used in the documentation of a file before the list of /*! This is used in the documentation of a file before the list of
* documentation blocks for defines * documentation blocks for defines
*/ */
virtual QCString trDefineDocumentation() virtual QCString trDefineDocumentation()
{ return "#define 문서화"; } { return "매크로 문서화"; }
/*! This is used in the documentation of a file/namespace before the list /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for function prototypes * of documentation blocks for function prototypes
...@@ -441,7 +497,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -441,7 +497,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
* of documentation blocks for typedefs * of documentation blocks for typedefs
*/ */
virtual QCString trTypedefDocumentation() virtual QCString trTypedefDocumentation()
{ return "타입 정의 문서화"; } { return "타입정의 문서화"; }
/*! This is used in the documentation of a file/namespace before the list /*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration types * of documentation blocks for enumeration types
...@@ -468,7 +524,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -468,7 +524,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
{ {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return "데이 구조"; return "데이 구조";
} }
else else
{ {
...@@ -481,27 +537,27 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -481,27 +537,27 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
*/ */
virtual QCString trGeneratedAt(const char *date,const char *projName) virtual QCString trGeneratedAt(const char *date,const char *projName)
{ {
QCString result=""; QCString result=(QCString)"생성시간 : "+date;
if (projName) result+=(QCString)projName+" 문서화. "; if (projName) result+=(QCString)", 프로젝트명 : "+projName;
result += "생성일시 : " +(QCString)date; result+=(QCString)", 생성자 : ";
return result; return result;
} }
/*! This is part of the sentence used in the standard footer of each page. /*! This is part of the sentence used in the standard footer of each page.
*/ */
virtual QCString trWrittenBy() virtual QCString trWrittenBy()
{ {
return "작성자: "; return "작성자 : ";
} }
/*! this text is put before a class diagram */ /*! this text is put before a class diagram */
virtual QCString trClassDiagram(const char *clName) virtual QCString trClassDiagram(const char *clName)
{ {
return (QCString)clName+"에 대한 상속 도표"; return (QCString)clName+"에 대한 상속 다이어그램 : ";
} }
/*! this text is generated when the \\internal command is used. */ /*! this text is generated when the \\internal command is used. */
virtual QCString trForInternalUseOnly() virtual QCString trForInternalUseOnly()
{ return "내부 사용만을 위해"; } { return "내부적적으로만 사용하기 위해."; }
/*! this text is generated when the \\warning command is used. */ /*! this text is generated when the \\warning command is used. */
virtual QCString trWarning() virtual QCString trWarning()
...@@ -521,7 +577,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -521,7 +577,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! this text is generated when the \\sa command is used. */ /*! this text is generated when the \\sa command is used. */
virtual QCString trSeeAlso() virtual QCString trSeeAlso()
{ return "참"; } { return "참"; }
/*! this text is generated when the \\param command is used. */ /*! this text is generated when the \\param command is used. */
virtual QCString trParameters() virtual QCString trParameters()
...@@ -533,7 +589,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -533,7 +589,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! this text is used in the title page of a LaTeX document. */ /*! this text is used in the title page of a LaTeX document. */
virtual QCString trGeneratedBy() virtual QCString trGeneratedBy()
{ return "에 의해 생성된"; } { return "다음에 의해 생성됨 : "; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990307 // new since 0.49-990307
...@@ -541,14 +597,14 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -541,14 +597,14 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! used as the title of page containing all the index of all namespaces. */ /*! used as the title of page containing all the index of all namespaces. */
virtual QCString trNamespaceList() virtual QCString trNamespaceList()
{ return "namespace 목록"; } { return "네임스페이스 목록"; }
/*! used as an introduction to the namespace list */ /*! used as an introduction to the namespace list */
virtual QCString trNamespaceListDescription(bool extractAll) virtual QCString trNamespaceListDescription(bool extractAll)
{ {
QCString result="다음은 간략한 설명을 가진 "; QCString result="다음은 ";
if (!extractAll) result+="문서화된 "; if (!extractAll) result+="문서화된 ";
result+="namespace의 목록입니다."; result+="모든 네임스페이스에 대한 목록입니다. (간략한 설명만을 보여줍니다) :";
return result; return result;
} }
...@@ -566,7 +622,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -566,7 +622,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
* related classes * related classes
*/ */
virtual QCString trRelatedFunctionDocumentation() virtual QCString trRelatedFunctionDocumentation()
{ return "friend, 그리고 관련된 함수 문서화"; } { return "Friend, 그리고 관련된 함수 문서화"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990425 // new since 0.49-990425
...@@ -577,8 +633,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -577,8 +633,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
ClassDef::CompoundType compType, ClassDef::CompoundType compType,
bool isTemplate) bool isTemplate)
{ {
QCString result=(QCString)clName+" "; QCString result=(QCString)clName;
if (isTemplate) result+=" 템플릿";
switch(compType) switch(compType)
{ {
case ClassDef::Class: result+=" 클래스"; break; case ClassDef::Class: result+=" 클래스"; break;
...@@ -606,30 +661,30 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -606,30 +661,30 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
virtual QCString trNamespaceReference(const char *namespaceName) virtual QCString trNamespaceReference(const char *namespaceName)
{ {
QCString result=namespaceName; QCString result=namespaceName;
result+=" namespace 참조"; result+=" 네임스페이스 참조";
return result; return result;
} }
virtual QCString trPublicMembers() virtual QCString trPublicMembers()
{ return "public 메소드"; } { return "Public 멤버 함수"; }
virtual QCString trPublicSlots() virtual QCString trPublicSlots()
{ return "public slots"; } { return "Public Slots"; }
virtual QCString trSignals() virtual QCString trSignals()
{ return "신호"; } { return "Signals"; }
virtual QCString trStaticPublicMembers() virtual QCString trStaticPublicMembers()
{ return "static public 메소드"; } { return "정적 Public 멤버 함수"; }
virtual QCString trProtectedMembers() virtual QCString trProtectedMembers()
{ return "protected 메소드"; } { return "Protected 멤버 함수"; }
virtual QCString trProtectedSlots() virtual QCString trProtectedSlots()
{ return "protected slots"; } { return "Protected Slots"; }
virtual QCString trStaticProtectedMembers() virtual QCString trStaticProtectedMembers()
{ return "static protected 메소드"; } { return "정적 Protected 멤버 함수"; }
virtual QCString trPrivateMembers() virtual QCString trPrivateMembers()
{ return "private 메소드"; } { return "Private 멤버 함수"; }
virtual QCString trPrivateSlots() virtual QCString trPrivateSlots()
{ return "private slots"; } { return "Private Slots"; }
virtual QCString trStaticPrivateMembers() virtual QCString trStaticPrivateMembers()
{ return "static private 메소드"; } { return "정적 Private 멤버 함수"; }
/*! this function is used to produce a comma-separated list of items. /*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put. * use generateMarker(i) to indicate where item i should be put.
...@@ -650,7 +705,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -650,7 +705,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
if (i<numEntries-2) // not the fore last entry if (i<numEntries-2) // not the fore last entry
result+=", "; result+=", ";
else // the fore last entry else // the fore last entry
result+=", "; result+=", ";
} }
} }
return result; return result;
...@@ -661,7 +716,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -661,7 +716,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
*/ */
virtual QCString trInheritsList(int numEntries) virtual QCString trInheritsList(int numEntries)
{ {
return trWriteList(numEntries)+" 들을 상속하다."; return trWriteList(numEntries)+"를(을) 상속했습니다.";
} }
/*! used in class documentation to produce a list of super classes, /*! used in class documentation to produce a list of super classes,
...@@ -677,7 +732,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -677,7 +732,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
*/ */
virtual QCString trReimplementedFromList(int numEntries) virtual QCString trReimplementedFromList(int numEntries)
{ {
return trWriteList(numEntries)+"로부터 재구현되었습니다."; return trWriteList(numEntries)+"(으)로부터 재구현되었습니다.";
} }
/*! used in member documentation blocks to produce a list of /*! used in member documentation blocks to produce a list of
...@@ -690,32 +745,31 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -690,32 +745,31 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! This is put above each page as a link to all members of namespaces. */ /*! This is put above each page as a link to all members of namespaces. */
virtual QCString trNamespaceMembers() virtual QCString trNamespaceMembers()
{ return "namespace 멤버"; } { return "네임스페이스 멤버"; }
/*! This is an introduction to the page with all namespace members */ /*! This is an introduction to the page with all namespace members */
virtual QCString trNamespaceMemberDescription(bool extractAll) virtual QCString trNamespaceMemberDescription(bool extractAll)
{ {
QCString result="다음은 모든 "; QCString result="다음은 ";
if (!extractAll) result+="문서화된 "; if (!extractAll) result+="문서화된 ";
result+="namespace 멤버의 목록입니다. "; result+="모든 네임스페이스 멤버들의 목록입니다. ";
if (extractAll) if (extractAll)
result+="각 멤버에 대한 문서화의 "; result+="각 멤버들은 해당 멤버의 네임스페이스 문서화 페이지의 링크를 가지고 있습니다. :";
else else
result+="속해있는 namespace의 "; result+="각 멤버들은 해당 멤버가 속한 네임스페이스 페이지의 링크를 가지고 있습니다. :";
result+="링크도 있습니다.";
return result; return result;
} }
/*! This is used in LaTeX as the title of the chapter with the /*! This is used in LaTeX as the title of the chapter with the
* index of all namespaces. * index of all namespaces.
*/ */
virtual QCString trNamespaceIndex() virtual QCString trNamespaceIndex()
{ return "namespace 색인"; } { return "네임스페이스 색인"; }
/*! This is used in LaTeX as the title of the chapter containing /*! This is used in LaTeX as the title of the chapter containing
* the documentation of all namespaces. * the documentation of all namespaces.
*/ */
virtual QCString trNamespaceDocumentation() virtual QCString trNamespaceDocumentation()
{ return "namespace 문서화"; } { return "네임스페이스 문서화"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990522 // new since 0.49-990522
...@@ -725,7 +779,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -725,7 +779,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
* namespaces in a file. * namespaces in a file.
*/ */
virtual QCString trNamespaces() virtual QCString trNamespaces()
{ return "Namespaces"; } { return "네임스페이스"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990728 // new since 0.49-990728
...@@ -749,9 +803,9 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -749,9 +803,9 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
case ClassDef::Category: result+="카테고리"; break; case ClassDef::Category: result+="카테고리"; break;
case ClassDef::Exception: result+="예외"; break; case ClassDef::Exception: result+="예외"; break;
} }
result+="을 위한 문서화는 다음의 파일"; result+="에 대한 문서화 페이지는 다음의 파일";
if (!single) result+="들"; if (!single) result+="들";
result+="로부터 생성되었습니다."; result+="로부터 생성되었습니다.:";
return result; return result;
} }
...@@ -786,11 +840,11 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -786,11 +840,11 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
virtual QCString trDefinedAtLineInSourceFile() virtual QCString trDefinedAtLineInSourceFile()
{ {
return "@1 파일의 @0 번째 라인에서 정의"; return "@1 파일의 @0 번째 라인에서 정의되었습니다.";
} }
virtual QCString trDefinedInSourceFile() virtual QCString trDefinedInSourceFile()
{ {
return "@0 파일에서 정의"; return "@0 파일에서 정의되었습니다.";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -799,7 +853,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -799,7 +853,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
virtual QCString trDeprecated() virtual QCString trDeprecated()
{ {
return "Deprecated"; return "잘못된 코드";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -809,7 +863,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -809,7 +863,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! this text is put before a collaboration diagram */ /*! this text is put before a collaboration diagram */
virtual QCString trCollaborationDiagram(const char *clName) virtual QCString trCollaborationDiagram(const char *clName)
{ {
return (QCString)clName+"에 대한 협력 도표:"; return (QCString)clName+"에 대한 협력 다이어그램:";
} }
/*! this text is put before an include dependency graph */ /*! this text is put before an include dependency graph */
virtual QCString trInclDepGraph(const char *fName) virtual QCString trInclDepGraph(const char *fName)
...@@ -824,22 +878,22 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -824,22 +878,22 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! Used in the file documentation to point to the corresponding sources. */ /*! Used in the file documentation to point to the corresponding sources. */
virtual QCString trGotoSourceCode() virtual QCString trGotoSourceCode()
{ {
return "이 파일에 대한 소스 코드 보기"; return "이 파일의 소스 코드 페이지로 가기";
} }
/*! Used in the file sources to point to the corresponding documentation. */ /*! Used in the file sources to point to the corresponding documentation. */
virtual QCString trGotoDocumentation() virtual QCString trGotoDocumentation()
{ {
return "이 파일의 문서화 기"; return "이 파일의 문서화 페이지로 가기";
} }
/*! Text for the \\pre command */ /*! Text for the \\pre command */
virtual QCString trPrecondition() virtual QCString trPrecondition()
{ {
return "전제 조건"; return "전제조건";
} }
/*! Text for the \\post command */ /*! Text for the \\post command */
virtual QCString trPostcondition() virtual QCString trPostcondition()
{ {
return "후미 조건"; //Alternate: "후치조건" return "후미조건";
} }
/*! Text for the \\invariant command */ /*! Text for the \\invariant command */
virtual QCString trInvariant() virtual QCString trInvariant()
...@@ -849,7 +903,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -849,7 +903,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! Text shown before a multi-line variable/enum initialization */ /*! Text shown before a multi-line variable/enum initialization */
virtual QCString trInitialValue() virtual QCString trInitialValue()
{ {
return "초기값"; return "초기값:";
} }
/*! Text used the source code in the file index */ /*! Text used the source code in the file index */
virtual QCString trCode() virtual QCString trCode()
...@@ -858,15 +912,15 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -858,15 +912,15 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
} }
virtual QCString trGraphicalHierarchy() virtual QCString trGraphicalHierarchy()
{ {
return "도표로된 클래스 분류체계"; // "도표의 클래스 조직" return "그래픽컬한 클래스 계통도";
} }
virtual QCString trGotoGraphicalHierarchy() virtual QCString trGotoGraphicalHierarchy()
{ {
return "도표로된 클래스 분류체계 보기"; // "도표의 클래스 조직으로 가시오" return "그래픽컬한 클래스 계통도 페이지로 가기";
} }
virtual QCString trGotoTextualHierarchy() virtual QCString trGotoTextualHierarchy()
{ {
return "문자로된 클래스 분류체계 보기"; // "문자의 클래스 조직으로 가시오" return "텍스트 형식의 클래스 계통도 페이지로 가기";
} }
virtual QCString trPageIndex() virtual QCString trPageIndex()
{ {
...@@ -879,11 +933,11 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -879,11 +933,11 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
virtual QCString trNote() virtual QCString trNote()
{ {
return "노트"; return "주의";
} }
virtual QCString trPublicTypes() virtual QCString trPublicTypes()
{ {
return "public 타입"; return "Public 타입";
} }
virtual QCString trPublicAttribs() virtual QCString trPublicAttribs()
{ {
...@@ -893,36 +947,36 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -893,36 +947,36 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
} }
else else
{ {
return "public 속성"; return "Public 속성";
} }
} }
virtual QCString trStaticPublicAttribs() virtual QCString trStaticPublicAttribs()
{ {
return "static public 속성"; return "정적 Public 속성";
} }
virtual QCString trProtectedTypes() virtual QCString trProtectedTypes()
{ {
return "protected 타입"; return "Protected 타입";
} }
virtual QCString trProtectedAttribs() virtual QCString trProtectedAttribs()
{ {
return "protected 속성"; return "Protected 속성";
} }
virtual QCString trStaticProtectedAttribs() virtual QCString trStaticProtectedAttribs()
{ {
return "static protected 속성"; return "정적 Protected 속성";
} }
virtual QCString trPrivateTypes() virtual QCString trPrivateTypes()
{ {
return "private 타입"; return "Private 타입";
} }
virtual QCString trPrivateAttribs() virtual QCString trPrivateAttribs()
{ {
return "private 속성"; return "Private 속성";
} }
virtual QCString trStaticPrivateAttribs() virtual QCString trStaticPrivateAttribs()
{ {
return "static private 속성"; return "정적 Private 속성";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -932,12 +986,12 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -932,12 +986,12 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! Used as a marker that is put before a \\todo item */ /*! Used as a marker that is put before a \\todo item */
virtual QCString trTodo() virtual QCString trTodo()
{ {
return "Todo"; return "할일";
} }
/*! Used as the header of the todo list */ /*! Used as the header of the todo list */
virtual QCString trTodoList() virtual QCString trTodoList()
{ {
return "Todo 목록"; return "할일 목록";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -946,11 +1000,11 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -946,11 +1000,11 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
virtual QCString trReferencedBy() virtual QCString trReferencedBy()
{ {
return "참조하는 곳"; return "다음에 의해서 참조됨 : ";
} }
virtual QCString trRemarks() virtual QCString trRemarks()
{ {
return "설명"; return "Remarks";
} }
virtual QCString trAttention() virtual QCString trAttention()
{ {
...@@ -958,12 +1012,11 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -958,12 +1012,11 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
} }
virtual QCString trInclByDepGraph() virtual QCString trInclByDepGraph()
{ {
return " 이 그래프는 이 파일을 직접 또는 간접적으로" return "이 그래프는 이 파일을 직/간접적으로 include 하는 파일들을 보여줍니다.:";
"포함(include)함을 나타낸다:";
} }
virtual QCString trSince() virtual QCString trSince()
{ {
return "언제부터: "; // TODO: Need to be translated. -ryk11/22/01. return "Since";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -973,38 +1026,34 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -973,38 +1026,34 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! title of the graph legend page */ /*! title of the graph legend page */
virtual QCString trLegendTitle() virtual QCString trLegendTitle()
{ {
return "범례"; return "그래프 범례";
} }
/*! page explaining how the dot graph's should be interpreted /*! page explaining how the dot graph's should be interpreted
* The %A in the text below are to prevent link to classes called "A". * The %A in the text below are to prevent link to classes called "A".
*/ */
virtual QCString trLegendDocs() virtual QCString trLegendDocs()
{ {
// TODO: Need to be translated. -ryk11/22/01.
return return
"Doxygen에 의해 생성된 도표를 보기위한 설명입니다.<p>\n" "이 페이지는 doxygen에 의해 생성된 그래프들을 이해하는 방법을 설명합니다.<p>\n"
//"This page explains how to interpret the graphs that are generated " "다음의 예제를 참고하십시오.:\n"
//"by doxygen.<p>\n"
"다음의 예제를 참고하세요.\n"
//"Consider the following example:\n"
"\\code\n" "\\code\n"
"/*! Invisible class because of truncation */\n" "/*! 생략되었기 때문에 보이지 않는 클래스 */\n"
"class Invisible { };\n\n" "class Invisible { };\n\n"
"/*! Truncated class, inheritance relation is hidden */\n" "/*! Truncated 클래스, 상속관계가 숨겨짐 */\n"
"class Truncated : public Invisible { };\n\n" "class Truncated : public Invisible { };\n\n"
"/* Class not documented with doxygen comments */\n" "/* doxygen 주석에 의해서 문서화되지 않는 클래스 */\n"
"class Undocumented { };\n\n" "class Undocumented { };\n\n"
"/*! Class that is inherited using public inheritance */\n" "/*! public 상속을 통해서 상속된 클래스 */\n"
"class PublicBase : public Truncated { };\n\n" "class PublicBase : public Truncated { };\n\n"
"/*! A template class */\n" "/*! 템플릿 클래스 */\n"
"template<class T> class Templ { };\n\n" "template<class T> class Templ { };\n\n"
"/*! Class that is inherited using protected inheritance */\n" "/*! protected 상속을 통해서 상속된 클래스 */\n"
"class ProtectedBase { };\n\n" "class ProtectedBase { };\n\n"
"/*! Class that is inherited using private inheritance */\n" "/*! private 상속을 통해서 상속된 클래스 */\n"
"class PrivateBase { };\n\n" "class PrivateBase { };\n\n"
"/*! Class that is used by the Inherited class */\n" "/*! 상속되어진 클래스에 의해 (멤버로) 사용되어지는 클래스 */\n"
"class Used { };\n\n" "class Used { };\n\n"
"/*! Super class that inherits a number of other classes */\n" "/*! 다른 클래스들을 상속하는 슈퍼 클래스 */\n"
"class Inherited : public PublicBase,\n" "class Inherited : public PublicBase,\n"
" protected ProtectedBase,\n" " protected ProtectedBase,\n"
" private PrivateBase,\n" " private PrivateBase,\n"
...@@ -1015,47 +1064,28 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1015,47 +1064,28 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
" Used *m_usedClass;\n" " Used *m_usedClass;\n"
"};\n" "};\n"
"\\endcode\n" "\\endcode\n"
"설정 파일의 MAX_DOT_GRAPH_HEIGHT 플래그가 240으로 설정되었다면 다음의 그래프가 나올 것이다." "만약 설정파일에서 \\c MAX_DOT_GRAPH_HEIGHT 태그가 "
//"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file " "240으로 설정되었다면, 다음과 같은 그래프가 출력될 것입니다. :"
//"is set to 240 this will result in the following graph:" "<p><center><img alt=\"\" src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n" "<p>\n"
"상자들은 다음을 뜻한다.\n" "위 그래프의 박스들은 다음과 같은 의미를 가집니다. :\n"
//"The boxes in the above graph have the following meaning:\n"
"<ul>\n" "<ul>\n"
"<li>%검은 상자는 그래프를 산출한 구조체나 클래스를 말한다.\n" "<li>%A 회색으로 채워진 박스는 이 그래프를 생성해 낸 구조체나 클래스를 의미합니다.\n"
//"<li>%A filled black box represents the struct or class for which the " "<li>%A 검은색 테두리의 박스는 문서화된 구조체나 클래스를 의미합니다.\n"
//"graph is generated.\n" "<li>%A 회색 테두리의 박스는 문서화되지 않은 구조체나 클래스를 의미합니다.\n"
"<li>%검은선으로된 상자는 문서화된 구조체나 클래스를 표시한다.\n" "<li>%A 빨간색 테두리의 박스는 모든 상속이나 포함관계가 보여지지 않는 "
//"<li>%A box with a black border denotes a documented struct or class.\n" "구조체나 클래스를 의미합니다."
"<li>%회색선으로된 상자는 문서화되지 않은 구조체나 클래스를 표시한다.\n" "%A 만약 그래프가 지정된 경계내에 맞지 않으면, 그래프가 잘려집니다.\n"
//"<li>%A box with a grey border denotes an undocumented struct or class.\n"
"<li>%빨간선으로된 상자는 모든 상속/containment 관계를 보이지 않은 문서화된 구조체나 클래스를 나타낸다. "
"지정된 경계안에 들어가지 않으면 그래프는 짤려진다.\n"
//"<li>%A box with a red border denotes a documented struct or class for"
//"which not all inheritance/containment relations are shown. %A graph is "
//"truncated if it does not fit within the specified boundaries.\n"
"</ul>\n" "</ul>\n"
"화살표는 다음을 뜻한다.\n" "화살표들은 다음과 같은 의미를 가집니다. :\n"
//"The arrows have the following meaning:\n"
"<ul>\n" "<ul>\n"
"<li>%어두운 파란 화살표는 두 클래스간의 public 상속관계를 나타낸다.\n" "<li>%A 어두운 파랑색 화살표는 두 클래스들 간에 public 상속이 있음을 의미합니다.\n"
//"<li>%A dark blue arrow is used to visualize a public inheritance " "<li>%A 어두운 연두색 화살표는 protected 상속이 있음을 의미합니다.\n"
//"relation between two classes.\n" "<li>%A 어두운 빨간색 화살표는 private 상속이 있음을 의미합니다.\n"
"<li>%어두운 녹색 화살표는 protected 상속관계를 나타낸다.\n" "<li>%A 보라색 점선 화살표는 다른 클래스에 의해 포함되거나 사용되어짐을 의미합니다. "
//"<li>%A dark green arrow is used for protected inheritance.\n" "화살표의 라벨은 화살표가 가리키는 클래스나 구조체로 접근하는 변수명(들)으로 붙습니다.\n"
"<li>%어두운 빨강 화살표는 private 상속관계를 나타낸다.\n" "<li>%A 노란색 점선 화살표는 템플릿 인스턴스와 템프릿 클래스에 대한 관계를 의미합니다. "
//"<li>%A dark red arrow is used for private inheritance.\n" "화살표의 라벨은 인스턴스의 템플릿 파라메터로 붙습니다.\n"
"<li>%밝은 자주색 화살표는 클래스에 의해 포함되더나 사용된 클래스를 나타낸다. "
"이 화살표의 라벨은 접근 가능한 변수명을 나타낸다.\n"
//"<li>%A purple dashed arrow is used if a class is contained or used "
//"by another class. The arrow is labeled with the variable(s) "
//"through which the pointed class or struct is accessible.\n"
"<li>%밝은 노랑색 화살표는 템플릿 인스턴스와 템플릿 클래스를 나타낸다. "
"이 화살표의 라벨은 그 인스턴스의 템플릿 매개변수를 나타낸다.\n"
//"<li>%A yellow dashed arrow denotes a relation between a template instance and "
//"the template class it was instantiated from. The arrow is labeled with "
//"the template parameters of the instance.\n"
"</ul>\n"; "</ul>\n";
} }
/*! text for the link to the legend page */ /*! text for the link to the legend page */
...@@ -1086,7 +1116,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1086,7 +1116,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! Used as a section header for KDE-2 IDL methods */ /*! Used as a section header for KDE-2 IDL methods */
virtual QCString trDCOPMethods() virtual QCString trDCOPMethods()
{ {
return "DCOP 메소드"; // TODO: Need to be translated. -ryk11/22/01. return "DCOP 멤버 함수";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1113,7 +1143,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1113,7 +1143,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
{ {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return "데이터 구조"; return "데이타 구조";
} }
else else
{ {
...@@ -1123,7 +1153,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1123,7 +1153,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! Used as the title of a Java package */ /*! Used as the title of a Java package */
virtual QCString trPackage(const char *name) virtual QCString trPackage(const char *name)
{ {
return (QCString)"패키지 "+name; return name+(QCString)" 패키지";
} }
/*! Title of the package index page */ /*! Title of the package index page */
virtual QCString trPackageList() virtual QCString trPackageList()
...@@ -1133,7 +1163,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1133,7 +1163,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! The description of the package index page */ /*! The description of the package index page */
virtual QCString trPackageListDescription() virtual QCString trPackageListDescription()
{ {
return "다음은 간략한 설명을 가진 패키지이다."; return "다음은 패키지들입니다. (가능한한 간략한 설명만을 보여줍니다) :";
} }
/*! The link name in the Quick links header for each page */ /*! The link name in the Quick links header for each page */
virtual QCString trPackages() virtual QCString trPackages()
...@@ -1207,16 +1237,16 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1207,16 +1237,16 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! Used as header RTF general index */ /*! Used as header RTF general index */
virtual QCString trRTFGeneralIndex() virtual QCString trRTFGeneralIndex()
{ {
return "인덱스"; return "색인";
} }
/*! This is used for translation of the word that will possibly /*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names * be followed by a single name or by a list of names
* of the category. * of the category.
*/ */
virtual QCString trClass(bool, bool singular) virtual QCString trClass(bool first_capital, bool singular)
{ {
QCString result("클래스"); QCString result((first_capital ? "클래스" : "클래스"));
if (!singular) result+="들"; if (!singular) result+="들";
return result; return result;
} }
...@@ -1225,9 +1255,9 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1225,9 +1255,9 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
* be followed by a single name or by a list of names * be followed by a single name or by a list of names
* of the category. * of the category.
*/ */
virtual QCString trFile(bool, bool singular) virtual QCString trFile(bool first_capital, bool singular)
{ {
QCString result("파일"); QCString result((first_capital ? "파일" : "파일"));
if (!singular) result+="들"; if (!singular) result+="들";
return result; return result;
} }
...@@ -1238,18 +1268,18 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1238,18 +1268,18 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
*/ */
virtual QCString trNamespace(bool first_capital, bool singular) virtual QCString trNamespace(bool first_capital, bool singular)
{ {
QCString result((first_capital ? "Namespace" : "namespace")); QCString result((first_capital ? "네임스페이스" : "네임스페이스"));
if (!singular) result+="s"; if (!singular) result+="";
return result; // TODO: Need to be translated. -ryk11/22/01. return result;
} }
/*! This is used for translation of the word that will possibly /*! This is used for translation of the word that will possibly
* be followed by a single name or by a list of names * be followed by a single name or by a list of names
* of the category. * of the category.
*/ */
virtual QCString trGroup(bool, bool singular) virtual QCString trGroup(bool first_capital, bool singular)
{ {
QCString result("그룹"); QCString result((first_capital ? "그룹" : "그룹"));
if (!singular) result+="들"; if (!singular) result+="들";
return result; return result;
} }
...@@ -1258,9 +1288,9 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1258,9 +1288,9 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
* be followed by a single name or by a list of names * be followed by a single name or by a list of names
* of the category. * of the category.
*/ */
virtual QCString trPage(bool, bool singular) virtual QCString trPage(bool first_capital, bool singular)
{ {
QCString result("페이지"); QCString result((first_capital ? "페이지" : "페이지"));
if (!singular) result+="들"; if (!singular) result+="들";
return result; return result;
} }
...@@ -1282,8 +1312,8 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1282,8 +1312,8 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
*/ */
virtual QCString trGlobal(bool first_capital, bool singular) virtual QCString trGlobal(bool first_capital, bool singular)
{ {
QCString result((first_capital ? "Global" : "global")); QCString result((first_capital ? "전역" : "전역"));
if (!singular) result+="s"; if (!singular) result+="";
return result; return result;
} }
...@@ -1293,9 +1323,9 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1293,9 +1323,9 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! This text is generated when the \\author command is used and /*! This text is generated when the \\author command is used and
* for the author section in man pages. */ * for the author section in man pages. */
virtual QCString trAuthor(bool, bool singular) virtual QCString trAuthor(bool first_capital, bool singular)
{ {
QCString result("작성자"); QCString result((first_capital ? "작성자" : "작성자"));
if (!singular) result+="들"; if (!singular) result+="들";
return result; return result;
} }
...@@ -1308,7 +1338,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1308,7 +1338,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
*/ */
virtual QCString trReferences() virtual QCString trReferences()
{ {
return "참조"; return "다음을 참조함 : ";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1320,7 +1350,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1320,7 +1350,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
*/ */
virtual QCString trImplementedFromList(int numEntries) virtual QCString trImplementedFromList(int numEntries)
{ {
return trWriteList(numEntries)+" 구현."; return trWriteList(numEntries)+" 구현.";
} }
/*! used in member documentation blocks to produce a list of /*! used in member documentation blocks to produce a list of
...@@ -1328,7 +1358,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1328,7 +1358,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
*/ */
virtual QCString trImplementedInList(int numEntries) virtual QCString trImplementedInList(int numEntries)
{ {
return trWriteList(numEntries)+"에 구현되었다."; return trWriteList(numEntries)+"에서 구현되었습니다.";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1352,7 +1382,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1352,7 +1382,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
*/ */
virtual QCString trDeprecatedList() virtual QCString trDeprecatedList()
{ {
return "Deprecated 목록"; return "잘못된 코드 목록";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1380,35 +1410,35 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1380,35 +1410,35 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
*/ */
virtual QCString trPackageTypes() virtual QCString trPackageTypes()
{ {
return "패키지 타입"; return "패키지 타입";
} }
/*! Used as a heading for a list of Java class functions with package /*! Used as a heading for a list of Java class functions with package
* scope. * scope.
*/ */
virtual QCString trPackageMembers() virtual QCString trPackageMembers()
{ {
return "패키지 함수"; return "패키지 함수";
} }
/*! Used as a heading for a list of static Java class functions with /*! Used as a heading for a list of static Java class functions with
* package scope. * package scope.
*/ */
virtual QCString trStaticPackageMembers() virtual QCString trStaticPackageMembers()
{ {
return "정적 패키지 함수"; return "정적 패키지 함수";
} }
/*! Used as a heading for a list of Java class variables with package /*! Used as a heading for a list of Java class variables with package
* scope. * scope.
*/ */
virtual QCString trPackageAttribs() virtual QCString trPackageAttribs()
{ {
return "패키지 속성"; return "패키지 속성";
} }
/*! Used as a heading for a list of static Java class variables with /*! Used as a heading for a list of static Java class variables with
* package scope. * package scope.
*/ */
virtual QCString trStaticPackageAttribs() virtual QCString trStaticPackageAttribs()
{ {
return "정적 패키지 속성"; return "정적 패키지 속성";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1425,7 +1455,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1425,7 +1455,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! Put in front of the call graph for a function. */ /*! Put in front of the call graph for a function. */
virtual QCString trCallGraph() virtual QCString trCallGraph()
{ {
return "다음은 이 함수에 대한 호출 그래프입니다:"; return "이 함수 내부에서 호출하는 함수들에 대한 그래프입니다.:";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1438,14 +1468,14 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1438,14 +1468,14 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
*/ */
virtual QCString trSearchForIndex() virtual QCString trSearchForIndex()
{ {
return "검색: "; //"Search for"; return "검색";
} }
/*! This string is used as the title for the page listing the search /*! This string is used as the title for the page listing the search
* results. * results.
*/ */
virtual QCString trSearchResultsTitle() virtual QCString trSearchResultsTitle()
{ {
return "검색 결과";//"Search Results"; return "검색 결과";
} }
/*! This string is put just before listing the search results. The /*! This string is put just before listing the search results. The
* text can be different depending on the number of documents found. * text can be different depending on the number of documents found.
...@@ -1459,20 +1489,16 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1459,20 +1489,16 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
{ {
if (numDocuments==0) if (numDocuments==0)
{ {
//return "Sorry, no documents matching your query."; return "죄송합니다. 질의에 일치하는 문서가 없습니다.";
return "죄송합니다. 질의와 일치하는 문서가 없습니다.";
} }
else if (numDocuments==1) else if (numDocuments==1)
{ {
//return "Found <b>1</b> document matching your query."; return "질의에 일치하는 <b>1</b> 개의 문서를 찾았습니다.";
return "질의와 일치하는 <b>1</b>개의 문서를 찾았습니다.";
} }
else else
{ {
//return "Found <b>$num</b> documents matching your query. " return "질의에 일치하는 <b>$num</b> 개의 문서를 찾았습니다. "
// "Showing best matches first."; "가장 많이 일치하는 문서를 가장 먼저 보여줍니다.";
return "질의와 일치하는 <b>$num</b>개의 문서들을 찾았습니다. "
"처음에 나오는 것이 가장 일치하는 문서입니다.";
} }
} }
/*! This string is put before the list of matched words, for each search /*! This string is put before the list of matched words, for each search
...@@ -1502,16 +1528,16 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1502,16 +1528,16 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
* hierarchy. * hierarchy.
*/ */
virtual QCString trDirIndex() virtual QCString trDirIndex()
{ return "디렉토리 계도"; } { return "디렉토리 계도"; }
/*! This is used as the name of the chapter containing the documentation /*! This is used as the name of the chapter containing the documentation
* of the directories. * of the directories.
*/ */
virtual QCString trDirDocumentation() virtual QCString trDirDocumentation()
{ return "디렉토리 문서"; } { return "디렉토리 문서"; }
/*! This is used as the title of the directory index and also in the /*! This is used as the title of the directory index and also in the
* Quick links of a HTML page, to link to the directory hierarchy. * Quick links of an HTML page, to link to the directory hierarchy.
*/ */
virtual QCString trDirectories() virtual QCString trDirectories()
{ return "디렉토리"; } { return "디렉토리"; }
...@@ -1520,9 +1546,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1520,9 +1546,7 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
* and the fact that it is sorted alphabetically per level * and the fact that it is sorted alphabetically per level
*/ */
virtual QCString trDirDescription() virtual QCString trDirDescription()
{ return "이 디렉토리 계층은 알파벳 순으로 정렬되어있습니다. (완전하지는 않음)"; { return "이 디렉토리 목록은 완전하진 않지만, (대략적으로) 알파벳순으로 정렬되어있습니다.:";
} }
/*! This returns the title of a directory page. The name of the /*! This returns the title of a directory page. The name of the
...@@ -1534,12 +1558,13 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1534,12 +1558,13 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
/*! This returns the word directory with or without starting capital /*! This returns the word directory with or without starting capital
* (\a first_capital) and in sigular or plural form (\a singular). * (\a first_capital) and in sigular or plural form (\a singular).
*/ */
virtual QCString trDir(bool /*first_capital*/, bool /*singular*/) virtual QCString trDir(bool first_capital, bool singular)
{ {
return "디렉터"; QCString result((first_capital ? "디렉토리" : "디렉토리"));
if (singular) result+=""; else result+="들";
return result;
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 1.4.1 // new since 1.4.1
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1549,14 +1574,27 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6 ...@@ -1549,14 +1574,27 @@ class TranslatorKorean : public TranslatorAdapter_1_4_6
*/ */
virtual QCString trOverloadText() virtual QCString trOverloadText()
{ {
return "이것은 편리를 위해 제공되는 오버로드 멤버 함수이다, " return "이 함수는 편의 제공하기 위해 오버로드된 멤버 함수입니다. "
"어떤 아규먼트(argument)가 그것을 수용할때 위 함수는 다르다."; "위의 함수와 틀린 점은 단지 받아들이는 아규먼트(argument)가 다르다는 것입니다.";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.4.6
//////////////////////////////////////////////////////////////////////////
/*! This is used to introduce a caller (or called-by) graph */
virtual QCString trCallerGraph()
{
return "이 함수를 호출하는 함수들에 대한 그래프입니다.:";
} }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration values
*/
virtual QCString trEnumerationValueDocumentation()
{ return "열거형 문서화"; }
}; };
#endif #endif
...@@ -826,11 +826,17 @@ int isAccessibleFrom(Definition *scope,FileDef *fileScope,Definition *item) ...@@ -826,11 +826,17 @@ int isAccessibleFrom(Definition *scope,FileDef *fileScope,Definition *item)
Definition *itemScope=item->getOuterScope(); Definition *itemScope=item->getOuterScope();
if (itemScope==scope || if (
(item->definitionType()==Definition::TypeMember && itemScope==scope || // same thing
itemScope && itemScope->definitionType()==Definition::TypeClass && (item->definitionType()==Definition::TypeMember && // a member
scope->definitionType()==Definition::TypeClass && itemScope && itemScope->definitionType()==Definition::TypeClass && // of a class
((ClassDef*)scope)->isAccessibleMember((MemberDef *)item) scope->definitionType()==Definition::TypeClass && // accessible
((ClassDef*)scope)->isAccessibleMember((MemberDef *)item) // from scope
) ||
(item->definitionType()==Definition::TypeClass && // a nested class
itemScope && itemScope->definitionType()==Definition::TypeClass && // inside a base
scope->definitionType()==Definition::TypeClass && // class of scope
((ClassDef*)scope)->isBaseClass((ClassDef*)itemScope,TRUE)
) )
) )
{ {
...@@ -915,7 +921,11 @@ int isAccessibleFromWithExpScope(Definition *scope,FileDef *fileScope, ...@@ -915,7 +921,11 @@ int isAccessibleFromWithExpScope(Definition *scope,FileDef *fileScope,
QCString key(40+explicitScopePart.length()); QCString key(40+explicitScopePart.length());
key.sprintf("%p:%p:%p:%s",scope,fileScope,item,explicitScopePart.data()); key.sprintf("%p:%p:%p:%s",scope,fileScope,item,explicitScopePart.data());
static QDict<void> visitedDict; static QDict<void> visitedDict;
if (visitedDict.find(key)) return -1; // already looked at this if (visitedDict.find(key))
{
//printf("Already visited!\n");
return -1; // already looked at this
}
visitedDict.insert(key,(void *)0x8); visitedDict.insert(key,(void *)0x8);
//printf(" <isAccessibleFromWithExpScope(%s,%s,%s)\n",scope?scope->name().data():"<global>", //printf(" <isAccessibleFromWithExpScope(%s,%s,%s)\n",scope?scope->name().data():"<global>",
......
...@@ -875,7 +875,7 @@ void XmlDocVisitor::visitPost(DocInternalRef *) ...@@ -875,7 +875,7 @@ void XmlDocVisitor::visitPost(DocInternalRef *)
void XmlDocVisitor::visitPre(DocCopy *c) void XmlDocVisitor::visitPre(DocCopy *c)
{ {
if (m_hide) return; if (m_hide) return;
m_t << "<copydoc link=\"" << c->link() << "\">"; m_t << "<copydoc link=\"" << convertToXML(c->link()) << "\">";
} }
void XmlDocVisitor::visitPost(DocCopy *) void XmlDocVisitor::visitPost(DocCopy *)
......
...@@ -539,6 +539,7 @@ static void stripQualifiers(QCString &typeStr) ...@@ -539,6 +539,7 @@ static void stripQualifiers(QCString &typeStr)
if (typeStr.stripPrefix("static ")); if (typeStr.stripPrefix("static "));
else if (typeStr.stripPrefix("virtual ")); else if (typeStr.stripPrefix("virtual "));
else if (typeStr.stripPrefix("volatile ")); else if (typeStr.stripPrefix("volatile "));
else if (typeStr=="virtual") typeStr="";
else done=TRUE; else done=TRUE;
} }
} }
...@@ -563,6 +564,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De ...@@ -563,6 +564,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
// enum values are written as part of the enum // enum values are written as part of the enum
if (md->memberType()==MemberDef::EnumValue) return; if (md->memberType()==MemberDef::EnumValue) return;
if (md->isHidden()) return; if (md->isHidden()) return;
if (md->name().at(0)=='@') return; // anonymous member
// group members are only visible in their group // group members are only visible in their group
//if (def->definitionType()!=Definition::TypeGroup && md->getGroupDef()) return; //if (def->definitionType()!=Definition::TypeGroup && md->getGroupDef()) return;
...@@ -1012,6 +1014,8 @@ static void writeListOfAllMembers(ClassDef *cd,QTextStream &t) ...@@ -1012,6 +1014,8 @@ static void writeListOfAllMembers(ClassDef *cd,QTextStream &t)
for (mii.toFirst();(mi=mii.current());++mii) for (mii.toFirst();(mi=mii.current());++mii)
{ {
MemberDef *md=mi->memberDef; MemberDef *md=mi->memberDef;
if (md->name().at(0)!='@') // skip anonymous members
{
Protection prot = mi->prot; Protection prot = mi->prot;
Specifier virt=md->virtualness(); Specifier virt=md->virtualness();
t << " <member refid=\"" << md->getOutputFileBase() << "_1" << t << " <member refid=\"" << md->getOutputFileBase() << "_1" <<
...@@ -1040,6 +1044,7 @@ static void writeListOfAllMembers(ClassDef *cd,QTextStream &t) ...@@ -1040,6 +1044,7 @@ static void writeListOfAllMembers(ClassDef *cd,QTextStream &t)
} }
} }
} }
}
t << " </listofallmembers>" << endl; t << " </listofallmembers>" << endl;
} }
......
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
Optimization="0" Optimization="0"
AdditionalIncludeDirectories="$(QTDIR)\include;..\src;." AdditionalIncludeDirectories="$(QTDIR)\include;..\src;."
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;LIBICONV_STATIC" PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;LIBICONV_STATIC;NODEBUG"
MinimalRebuild="true" MinimalRebuild="true"
BasicRuntimeChecks="3" BasicRuntimeChecks="3"
RuntimeLibrary="1" RuntimeLibrary="1"
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="$(QTDIR)\lib\qt-mt336.lib $(QTDIR)\lib\qtmain.lib iconv.lib" AdditionalDependencies="$(QTDIR)\lib\qt-mt.lib $(QTDIR)\lib\qtmain.lib iconv.lib ws2_32.lib winmm.lib imm32.lib"
OutputFile="..\bin\Debug\doxywizard.exe" OutputFile="..\bin\Debug\doxywizard.exe"
LinkIncremental="2" LinkIncremental="2"
GenerateManifest="false" GenerateManifest="false"
...@@ -139,7 +139,7 @@ ...@@ -139,7 +139,7 @@
<Tool <Tool
Name="VCCLCompilerTool" Name="VCCLCompilerTool"
AdditionalIncludeDirectories="$(QTDIR)\include;..\src;." AdditionalIncludeDirectories="$(QTDIR)\include;..\src;."
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;LIBICONV_STATIC" PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;LIBICONV_STATIC;NODEBUG"
RuntimeLibrary="0" RuntimeLibrary="0"
UsePrecompiledHeader="0" UsePrecompiledHeader="0"
WarningLevel="3" WarningLevel="3"
...@@ -158,7 +158,7 @@ ...@@ -158,7 +158,7 @@
/> />
<Tool <Tool
Name="VCLinkerTool" Name="VCLinkerTool"
AdditionalDependencies="$(QTDIR)\lib\qt-mt336.lib $(QTDIR)\lib\qtmain.lib iconv.lib" AdditionalDependencies="$(QTDIR)\lib\qt-mt.lib $(QTDIR)\lib\qtmain.lib iconv.lib ws2_32.lib winmm.lib imm32.lib"
OutputFile="..\bin\doxywizard.exe" OutputFile="..\bin\doxywizard.exe"
LinkIncremental="1" LinkIncremental="1"
GenerateManifest="false" GenerateManifest="false"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment