Commit 6ac75f50 authored by Dimitri van Heesch's avatar Dimitri van Heesch

Doxygen-1.3-rc3-20030223

parent b0cbd597
DOXYGEN Version 1.3-rc3-20030215 DOXYGEN Version 1.3-rc3-20030223
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 (15 February 2003) Dimitri van Heesch (23 February 2003)
DOXYGEN Version 1.3_rc3_20030215 DOXYGEN Version 1.3_rc3_20030223
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) (15 February 2003) Dimitri van Heesch (dimitri@stack.nl) (23 February 2003)
1.3-rc3-20030215 1.3-rc3-20030223
...@@ -39,10 +39,10 @@ It can help you in three ways: ...@@ -39,10 +39,10 @@ It can help you in three ways:
The documentation is extracted directly from the sources, which The documentation is extracted directly from the sources, which
makes it much easier to keep the documentation consistent with the makes it much easier to keep the documentation consistent with the
source code. source code.
<li> Doxygen can be configured to extract the code structure <li> You can configure doxygen to extract the code structure
from undocumented source files. This can be very useful to quickly from undocumented source files. This is very useful to quickly
find your way in large source distributions. find your way in large source distributions.
The relations between the various elements are be visualized You can also visualize the relations between the various elements
by means of include dependency graphs, inheritance diagrams, by means of include dependency graphs, inheritance diagrams,
and collaboration diagrams, which are all generated automatically. and collaboration diagrams, which are all generated automatically.
<li> You can even `abuse' doxygen for creating normal documentation (as I did <li> You can even `abuse' doxygen for creating normal documentation (as I did
...@@ -183,7 +183,7 @@ Thanks go to: ...@@ -183,7 +183,7 @@ Thanks go to:
Roddy, Paul Schwartz, Charles Duffy, Vadym Voznyuk, Philip Walton, Roddy, Paul Schwartz, Charles Duffy, Vadym Voznyuk, Philip Walton,
Dwight Browne, Andreas Fredriksson, Karel Lindveld, Ivan Lee, Albert Dwight Browne, Andreas Fredriksson, Karel Lindveld, Ivan Lee, Albert
Vernon, Adam McKee, Vijapurapu Anatharac, Ben Hunsberger and Vernon, Adam McKee, Vijapurapu Anatharac, Ben Hunsberger and
Walter Wartenweiler for donating money. Walter Wartenweiler, Jeff Garbers and David Harris for donating money.
<li>The Comms group of <a href="http://www.symbian.com">Symbian</a> for donating <li>The Comms group of <a href="http://www.symbian.com">Symbian</a> for donating
an ultra cool <a href="http://www.psion.com/revoplus">Revo plus</a> an ultra cool <a href="http://www.psion.com/revoplus">Revo plus</a>
organizer! organizer!
......
...@@ -25,7 +25,7 @@ Doxygen has built-in support for multiple languages. This means ...@@ -25,7 +25,7 @@ Doxygen has built-in support for multiple languages. This means
that the text fragments that doxygen generates can be produced in that the text fragments that doxygen generates can be produced in
languages other than English (the default) at configuration time. languages other than English (the default) at configuration time.
Currently (version 1.2.14-20020317), 28 languages Currently (version 1.3-rc3-20030215), 28 languages
are supported (sorted alphabetically): are supported (sorted alphabetically):
Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian, Brazilian Portuguese, Catalan, Chinese, Chinese Traditional, Croatian,
Czech, Danish, Dutch, English, Finnish, Czech, Danish, Dutch, English, Finnish,
...@@ -91,7 +91,7 @@ when the translator was updated. ...@@ -91,7 +91,7 @@ when the translator was updated.
<TD>Danish</TD> <TD>Danish</TD>
<TD>Erik S&oslash;e S&oslash;rensen</TD> <TD>Erik S&oslash;e S&oslash;rensen</TD>
<TD>erik@NOSPAM.mail.nu</TD> <TD>erik@NOSPAM.mail.nu</TD>
<TD>1.2.7</TD> <TD>up-to-date</TD>
</TR> </TR>
<TR BGCOLOR="#ffffff"> <TR BGCOLOR="#ffffff">
<TD>Dutch</TD> <TD>Dutch</TD>
...@@ -115,7 +115,7 @@ when the translator was updated. ...@@ -115,7 +115,7 @@ when the translator was updated.
<TD>French</TD> <TD>French</TD>
<TD>Xavier Outhier</TD> <TD>Xavier Outhier</TD>
<TD>xouthier@NOSPAM.yahoo.fr</TD> <TD>xouthier@NOSPAM.yahoo.fr</TD>
<TD>1.2.17</TD> <TD>up-to-date</TD>
</TR> </TR>
<TR BGCOLOR="#ffffff"> <TR BGCOLOR="#ffffff">
<TD>German</TD> <TD>German</TD>
...@@ -243,7 +243,7 @@ when the translator was updated. ...@@ -243,7 +243,7 @@ when the translator was updated.
\hline \hline
Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} & up-to-date \\ Czech & Petr P\v{r}ikryl & {\tt prikrylp@skil.cz} & up-to-date \\
\hline \hline
Danish & Erik S\o{}e S\o{}rensen & {\tt erik@mail.nu} & 1.2.7 \\ Danish & Erik S\o{}e S\o{}rensen & {\tt erik@mail.nu} & up-to-date \\
\hline \hline
Dutch & Dimitri van Heesch & {\tt dimitri@stack.nl} & up-to-date \\ Dutch & Dimitri van Heesch & {\tt dimitri@stack.nl} & up-to-date \\
\hline \hline
...@@ -251,7 +251,7 @@ when the translator was updated. ...@@ -251,7 +251,7 @@ when the translator was updated.
\hline \hline
Finnish & Olli Korhonen & {\tt Olli.Korhonen@ccc.fi} & obsolete \\ Finnish & Olli Korhonen & {\tt Olli.Korhonen@ccc.fi} & obsolete \\
\hline \hline
French & Xavier Outhier & {\tt xouthier@yahoo.fr} & 1.2.17 \\ French & Xavier Outhier & {\tt xouthier@yahoo.fr} & up-to-date \\
\hline \hline
German & Jens Seidel & {\tt jensseidel@users.sf.net} & up-to-date \\ German & Jens Seidel & {\tt jensseidel@users.sf.net} & up-to-date \\
\hline \hline
......
Summary: A documentation system for C/C++. Summary: A documentation system for C/C++.
Name: doxygen Name: doxygen
Version: 1.3_rc3_20030215 Version: 1.3_rc3_20030223
Release: 1 Release: 1
Epoch: 1 Epoch: 1
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
......
...@@ -181,6 +181,8 @@ CommandMap htmlTagMap[] = ...@@ -181,6 +181,8 @@ CommandMap htmlTagMap[] =
{ "h4", HTML_H4 }, { "h4", HTML_H4 },
{ "h5", HTML_H5 }, { "h5", HTML_H5 },
{ "h6", HTML_H6 }, { "h6", HTML_H6 },
{ "span", HTML_SPAN },
{ "div", HTML_DIV },
{ 0, 0 } { 0, 0 }
}; };
......
...@@ -137,7 +137,9 @@ enum HtmlTagType ...@@ -137,7 +137,9 @@ enum HtmlTagType
HTML_H3 = 27, HTML_H3 = 27,
HTML_H4 = 28, HTML_H4 = 28,
HTML_H5 = 29, HTML_H5 = 29,
HTML_H6 = 30 HTML_H6 = 30,
HTML_SPAN = 31,
HTML_DIV = 32
}; };
class CmdMapper class CmdMapper
......
...@@ -1389,8 +1389,8 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned" ...@@ -1389,8 +1389,8 @@ TYPEKW ("bool"|"char"|"double"|"float"|"int"|"long"|"short"|"signed"|"unsigned"
} }
<Body>"("{B}*("*"{B}*)*{SCOPENAME}*{B}*")"/{B}* { // (*p)->func() <Body>"("{B}*("*"{B}*)*{SCOPENAME}*{B}*")"/{B}* { // (*p)->func()
g_code->codify(yytext); g_code->codify(yytext);
int s=0;while (!isId(yytext[s])) s++; int s=0;while (s<yyleng && !isId(yytext[s])) s++;
int e=yyleng-1;while (!isId(yytext[e])) e--; int e=yyleng-1;while (e>=0 && !isId(yytext[e])) e--;
QCString varname = ((QCString)yytext).mid(s,e-s+1); QCString varname = ((QCString)yytext).mid(s,e-s+1);
addType(); addType();
g_name=varname; g_name=varname;
......
...@@ -104,15 +104,27 @@ void ConfigOption::writeStringValue(QTextStream &t,QCString &s) ...@@ -104,15 +104,27 @@ void ConfigOption::writeStringValue(QTextStream &t,QCString &s)
{ {
const char *p=s.data(); const char *p=s.data();
char c; char c;
bool hasBlanks=FALSE; bool needsEscaping=FALSE;
if (p) if (p)
{ {
while ((c=*p++)!=0 && !hasBlanks) hasBlanks = (c==' ' || c=='\n' || c=='\t'); while ((c=*p++)!=0 && !needsEscaping)
if (hasBlanks) needsEscaping = (c==' ' || c=='\n' || c=='\t' || c=='"');
t << "\"" << s << "\""; if (needsEscaping)
{
t << "\"";
p=s.data();
while (*p)
{
if (*p=='"') t << "\\"; // escape quotes
t << *p++;
}
t << "\"";
}
else else
{
t << s; t << s;
} }
}
} }
void ConfigOption::writeStringList(QTextStream &t,QStrList &l) void ConfigOption::writeStringList(QTextStream &t,QStrList &l)
...@@ -121,13 +133,10 @@ void ConfigOption::writeStringList(QTextStream &t,QStrList &l) ...@@ -121,13 +133,10 @@ void ConfigOption::writeStringList(QTextStream &t,QStrList &l)
bool first=TRUE; bool first=TRUE;
while (p) while (p)
{ {
char c; QCString s=p;
const char *s=p;
bool hasBlanks=FALSE;
while ((c=*p++)!=0 && !hasBlanks) hasBlanks = (c==' ' || c=='\n' || c=='\t');
if (!first) t << " "; if (!first) t << " ";
first=FALSE; first=FALSE;
if (hasBlanks) t << "\"" << s << "\""; else t << s; writeStringValue(t,s);
p = l.next(); p = l.next();
if (p) t << " \\" << endl; if (p) t << " \\" << endl;
} }
......
...@@ -664,6 +664,8 @@ const char *DocStyleChange::styleString() const ...@@ -664,6 +664,8 @@ const char *DocStyleChange::styleString() const
case DocStyleChange::Subscript: return "subscript"; case DocStyleChange::Subscript: return "subscript";
case DocStyleChange::Superscript: return "superscript"; case DocStyleChange::Superscript: return "superscript";
case DocStyleChange::Preformatted: return "pre"; case DocStyleChange::Preformatted: return "pre";
case DocStyleChange::Div: return "div";
case DocStyleChange::Span: return "span";
} }
return "<invalid>"; return "<invalid>";
} }
...@@ -883,6 +885,12 @@ reparsetoken: ...@@ -883,6 +885,12 @@ reparsetoken:
{ {
switch (HtmlTagMapper::map(tokenName)) switch (HtmlTagMapper::map(tokenName))
{ {
case HTML_DIV:
warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: found <div> tag in heading\n");
break;
case HTML_PRE:
warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: found <pre> tag in heading\n");
break;
case HTML_BOLD: case HTML_BOLD:
if (!g_token->endTag) if (!g_token->endTag)
{ {
...@@ -893,20 +901,6 @@ reparsetoken: ...@@ -893,20 +901,6 @@ reparsetoken:
handleStyleLeave(parent,children,DocStyleChange::Bold,tokenName); handleStyleLeave(parent,children,DocStyleChange::Bold,tokenName);
} }
break; break;
case HTML_PRE:
if (!g_token->endTag)
{
handleStyleEnter(parent,children,DocStyleChange::Preformatted,&g_token->attribs);
parent->setInsidePreformatted(TRUE);
//doctokenizerYYsetInsidePre(TRUE);
}
else
{
handleStyleLeave(parent,children,DocStyleChange::Preformatted,tokenName);
parent->setInsidePreformatted(FALSE);
//doctokenizerYYsetInsidePre(FALSE);
}
break;
case HTML_CODE: case HTML_CODE:
if (!g_token->endTag) if (!g_token->endTag)
{ {
......
...@@ -275,7 +275,8 @@ class DocStyleChange : public DocNode ...@@ -275,7 +275,8 @@ class DocStyleChange : public DocNode
{ {
public: public:
enum Style { Bold, Italic, Code, Center, Small, enum Style { Bold, Italic, Code, Center, Small,
Subscript, Superscript, Preformatted Subscript, Superscript, Preformatted,
Span, Div
}; };
DocStyleChange(DocNode *parent,uint position,Style s,bool enable, DocStyleChange(DocNode *parent,uint position,Style s,bool enable,
const HtmlAttribList *attribs=0) : const HtmlAttribList *attribs=0) :
......
...@@ -379,7 +379,7 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]* ...@@ -379,7 +379,7 @@ LABELID [a-z_A-Z][a-z_A-Z0-9\-]*
g_token->isEMailAddr=FALSE; g_token->isEMailAddr=FALSE;
return TK_URL; return TK_URL;
} }
<St_Para>[a-z_A-Z0-9.-]+"@"[a-z_A-Z0-9-]+("."[a-z_A-Z0-9\-]+)+[a-z_A-Z0-9\-]+ { // Mail address <St_Para>[a-z_A-Z0-9.+-]+"@"[a-z_A-Z0-9-]+("."[a-z_A-Z0-9\-]+)+[a-z_A-Z0-9\-]+ { // Mail address
g_token->name=yytext; g_token->name=yytext;
g_token->isEMailAddr=TRUE; g_token->isEMailAddr=TRUE;
return TK_URL; return TK_URL;
......
...@@ -108,6 +108,7 @@ QDict<void> Doxygen::expandAsDefinedDict(257); // all macros that should be e ...@@ -108,6 +108,7 @@ QDict<void> Doxygen::expandAsDefinedDict(257); // all macros that should be e
QIntDict<MemberGroupInfo> Doxygen::memGrpInfoDict(1009); // dictionary of the member groups heading QIntDict<MemberGroupInfo> Doxygen::memGrpInfoDict(1009); // dictionary of the member groups heading
PageInfo *Doxygen::mainPage = 0; PageInfo *Doxygen::mainPage = 0;
bool Doxygen::insideMainPage = FALSE; // are we generating docs for the main page?
QTextStream Doxygen::tagFile; QTextStream Doxygen::tagFile;
NamespaceDef *Doxygen::globalScope = new NamespaceDef("<globalScope>",1,"<globalScope>"); NamespaceDef *Doxygen::globalScope = new NamespaceDef("<globalScope>",1,"<globalScope>");
...@@ -2548,14 +2549,24 @@ static void transferFunctionDocumentation() ...@@ -2548,14 +2549,24 @@ static void transferFunctionDocumentation()
// copy group info. // copy group info.
//if (mdec->getGroupDef()==0 && mdef->getGroupDef()!=0) if (mdec->getGroupDef()==0 && mdef->getGroupDef()!=0)
//{ {
// mdef->setGroupDef(mdec->getGroupDef(),mdec->getGroupPri(),mdec->docFile(),mdec->docLine(),mdec->hasDocumentation()); mdec->setGroupDef(mdef->getGroupDef(),
//} mdef->getGroupPri(),
//else if (mdef->getGroupDef()==0 && mdec->getGroupDef()!=0) mdef->docFile(),
//{ mdef->docLine(),
// mdec->setGroupDef(mdef->getGroupDef(),mdef->getGroupPri(),mdef->docFile(),mdef->docLine(),mdef->hasDocumentation()); mdef->hasDocumentation()
//} );
}
else if (mdef->getGroupDef()==0 && mdec->getGroupDef()!=0)
{
mdef->setGroupDef(mdec->getGroupDef(),
mdec->getGroupPri(),
mdec->docFile(),
mdec->docLine(),
mdec->hasDocumentation()
);
}
mdec->mergeRefItems(mdef); mdec->mergeRefItems(mdef);
mdef->mergeRefItems(mdec); mdef->mergeRefItems(mdec);
...@@ -7850,7 +7861,6 @@ void parseInput() ...@@ -7850,7 +7861,6 @@ void parseInput()
msg("Building member list...\n"); // using class info only ! msg("Building member list...\n"); // using class info only !
buildFunctionList(root); buildFunctionList(root);
transferFunctionDocumentation();
msg("Searching for friends...\n"); msg("Searching for friends...\n");
findFriends(); findFriends();
...@@ -7884,6 +7894,7 @@ void parseInput() ...@@ -7884,6 +7894,7 @@ void parseInput()
msg("Searching for member function documentation...\n"); msg("Searching for member function documentation...\n");
findMemberDocumentation(root); // may introduce new members ! findMemberDocumentation(root); // may introduce new members !
transferRelatedFunctionDocumentation(); transferRelatedFunctionDocumentation();
transferFunctionDocumentation();
msg("Searching for members imported via using declarations...\n"); msg("Searching for members imported via using declarations...\n");
findUsingDeclImports(root); findUsingDeclImports(root);
......
...@@ -65,6 +65,7 @@ class Doxygen ...@@ -65,6 +65,7 @@ class Doxygen
static PageSDict *exampleSDict; static PageSDict *exampleSDict;
static PageSDict *pageSDict; static PageSDict *pageSDict;
static PageInfo *mainPage; static PageInfo *mainPage;
static bool insideMainPage;
static FileNameDict *includeNameDict; static FileNameDict *includeNameDict;
static FileNameDict *exampleNameDict; static FileNameDict *exampleNameDict;
static FileNameDict *inputNameDict; static FileNameDict *inputNameDict;
......
...@@ -26,7 +26,7 @@ win32-msvc:TMAKE_LFLAGS += /LIBPATH:..\lib ...@@ -26,7 +26,7 @@ win32-msvc:TMAKE_LFLAGS += /LIBPATH:..\lib
win32-borland:LIBS += qtools.lib png.lib doxygen.lib doxycfg.lib shell32.lib win32-borland:LIBS += qtools.lib png.lib doxygen.lib doxycfg.lib shell32.lib
win32-borland:TMAKE_LFLAGS += -L..\lib -L$(BCB)\lib\psdk win32-borland:TMAKE_LFLAGS += -L..\lib -L$(BCB)\lib\psdk
win32:TMAKE_CXXFLAGS += -DQT_NODLL win32:TMAKE_CXXFLAGS += -DQT_NODLL
win32-g++:LIBS = -L../lib -ldoxygen -ldoxycfg -lqtools -lpng.dll win32-g++:LIBS = -L../lib -ldoxygen -ldoxycfg -lqtools -lpng
win32-g++:TMAKE_CXXFLAGS += -fno-exceptions -fno-rtti win32-g++:TMAKE_CXXFLAGS += -fno-exceptions -fno-rtti
INCLUDEPATH += ../qtools ../libpng . INCLUDEPATH += ../qtools ../libpng .
win32-g++:INCLUDEPATH -= ../libpng win32-g++:INCLUDEPATH -= ../libpng
......
...@@ -169,6 +169,13 @@ void HtmlDocVisitor::visit(DocStyleChange *s) ...@@ -169,6 +169,13 @@ void HtmlDocVisitor::visit(DocStyleChange *s)
m_insidePre=FALSE; m_insidePre=FALSE;
m_t << "</pre>"; m_t << "</pre>";
} }
case DocStyleChange::Div:
if (s->enable()) m_t << "<div" << htmlAttribsToString(s->attribs()) << ">"; else m_t << "</div>";
break;
case DocStyleChange::Span:
if (s->enable()) m_t << "<span" << htmlAttribsToString(s->attribs()) << ">"; else m_t << "</span>";
break;
} }
} }
......
...@@ -2755,6 +2755,7 @@ void writeIndex(OutputList &ol) ...@@ -2755,6 +2755,7 @@ void writeIndex(OutputList &ol)
if (Doxygen::mainPage) if (Doxygen::mainPage)
{ {
Doxygen::insideMainPage=TRUE;
ol.parseDoc(defFileName,defLine,0,0,Doxygen::mainPage->doc,FALSE); ol.parseDoc(defFileName,defLine,0,0,Doxygen::mainPage->doc,FALSE);
if (!Config_getString("GENERATE_TAGFILE").isEmpty()) if (!Config_getString("GENERATE_TAGFILE").isEmpty())
...@@ -2776,6 +2777,7 @@ void writeIndex(OutputList &ol) ...@@ -2776,6 +2777,7 @@ void writeIndex(OutputList &ol)
Doxygen::mainPage->writeDocAnchorsToTagFile(); Doxygen::mainPage->writeDocAnchorsToTagFile();
Doxygen::tagFile << " </compound>" << endl; Doxygen::tagFile << " </compound>" << endl;
} }
Doxygen::insideMainPage=FALSE;
} }
endFile(ol); endFile(ol);
...@@ -2912,6 +2914,7 @@ void writeIndex(OutputList &ol) ...@@ -2912,6 +2914,7 @@ void writeIndex(OutputList &ol)
if (Doxygen::mainPage) if (Doxygen::mainPage)
{ {
Doxygen::insideMainPage=TRUE;
ol.disable(OutputGenerator::Man); ol.disable(OutputGenerator::Man);
startFile(ol,Doxygen::mainPage->name,0,Doxygen::mainPage->title); startFile(ol,Doxygen::mainPage->name,0,Doxygen::mainPage->title);
//SectionInfo *si=0; //SectionInfo *si=0;
...@@ -2927,6 +2930,7 @@ void writeIndex(OutputList &ol) ...@@ -2927,6 +2930,7 @@ void writeIndex(OutputList &ol)
ol.endTextBlock(); ol.endTextBlock();
endFile(ol); endFile(ol);
ol.enable(OutputGenerator::Man); ol.enable(OutputGenerator::Man);
Doxygen::insideMainPage=FALSE;
} }
ol.popGeneratorState(); ol.popGeneratorState();
......
...@@ -44,6 +44,18 @@ static QString escapeLabelName(const char *s) ...@@ -44,6 +44,18 @@ static QString escapeLabelName(const char *s)
return result; return result;
} }
const int maxLevels=5;
static const char *secLabels[maxLevels] =
{ "section","subsection","subsubsection","paragraph","subparagraph" };
static const char *getSectionName(int level)
{
int l = level;
if (Config_getBool("COMPACT_LATEX")) l++;
if (Doxygen::insideMainPage) l--;
return secLabels[QMIN(maxLevels-1,l)];
}
QString LatexDocVisitor::escapeMakeIndexChars(const char *s) QString LatexDocVisitor::escapeMakeIndexChars(const char *s)
{ {
QString result; QString result;
...@@ -187,13 +199,13 @@ void LatexDocVisitor::visit(DocStyleChange *s) ...@@ -187,13 +199,13 @@ void LatexDocVisitor::visit(DocStyleChange *s)
switch (s->style()) switch (s->style())
{ {
case DocStyleChange::Bold: case DocStyleChange::Bold:
if (s->enable()) m_t << "{\\bf "; else m_t << "} "; if (s->enable()) m_t << "{\\bf "; else m_t << "}";
break; break;
case DocStyleChange::Italic: case DocStyleChange::Italic:
if (s->enable()) m_t << "{\\em "; else m_t << "} "; if (s->enable()) m_t << "{\\em "; else m_t << "\\/}";
break; break;
case DocStyleChange::Code: case DocStyleChange::Code:
if (s->enable()) m_t << "{\\tt "; else m_t << "} "; if (s->enable()) m_t << "{\\tt "; else m_t << "}";
break; break;
case DocStyleChange::Subscript: case DocStyleChange::Subscript:
if (s->enable()) m_t << "$_{\\mbox{"; else m_t << "}}$ "; if (s->enable()) m_t << "$_{\\mbox{"; else m_t << "}}$ ";
...@@ -219,6 +231,8 @@ void LatexDocVisitor::visit(DocStyleChange *s) ...@@ -219,6 +231,8 @@ void LatexDocVisitor::visit(DocStyleChange *s)
m_t << "\\end{alltt}\\normalsize " << endl; m_t << "\\end{alltt}\\normalsize " << endl;
} }
break; break;
case DocStyleChange::Div: /* HTML only */ break;
case DocStyleChange::Span: /* HTML only */ break;
} }
} }
...@@ -476,26 +490,7 @@ void LatexDocVisitor::visitPre(DocSection *s) ...@@ -476,26 +490,7 @@ void LatexDocVisitor::visitPre(DocSection *s)
{ {
m_t << "\\hypertarget{" << s->file() << "_" << s->anchor() << "}{}"; m_t << "\\hypertarget{" << s->file() << "_" << s->anchor() << "}{}";
} }
if (Config_getBool("COMPACT_LATEX")) m_t << "\\" << getSectionName(s->level()) << "{";
{
switch(s->level())
{
case 1: m_t << "\\subsubsection{"; break;
case 2: m_t << "\\paragraph{"; break;
case 3: m_t << "\\subparagraph{"; break;
case 4: m_t << "\\subparagraph{"; break;
}
}
else
{
switch(s->level())
{
case 1: m_t << "\\subsection{"; break;
case 2: m_t << "\\subsubsection{"; break;
case 3: m_t << "\\paragraph{"; break;
case 4: m_t << "\\subparagraph{"; break;
}
}
filter(s->title()); filter(s->title());
m_t << "}\\label{" << s->anchor() << "}" << endl; m_t << "}\\label{" << s->anchor() << "}" << endl;
} }
...@@ -667,27 +662,7 @@ void LatexDocVisitor::visitPost(DocHRef *) ...@@ -667,27 +662,7 @@ void LatexDocVisitor::visitPost(DocHRef *)
void LatexDocVisitor::visitPre(DocHtmlHeader *header) void LatexDocVisitor::visitPre(DocHtmlHeader *header)
{ {
if (m_hide) return; if (m_hide) return;
if (Config_getBool("COMPACT_LATEX")) m_t << "\\" << getSectionName(header->level()) << "*{";
{
switch(header->level())
{
case 1: m_t << "\\subsection*{"; break;
case 2: m_t << "\\subsubsection*{"; break;
case 3: m_t << "\\paragraph*{"; break;
default: m_t << "\\subparagraph*{"; break;
}
}
else
{
switch(header->level())
{
case 1: m_t << "\\section*{"; break;
case 2: m_t << "\\subsection*{"; break;
case 3: m_t << "\\subsubsection*{"; break;
case 4: m_t << "\\paragraph*{"; break;
default: m_t << "\\subparagraph*{"; break;
}
}
} }
void LatexDocVisitor::visitPost(DocHtmlHeader *) void LatexDocVisitor::visitPost(DocHtmlHeader *)
...@@ -835,7 +810,6 @@ void LatexDocVisitor::visitPost(DocRef *) ...@@ -835,7 +810,6 @@ void LatexDocVisitor::visitPost(DocRef *)
{ {
if (m_hide) return; if (m_hide) return;
endLink(); endLink();
m_t << " ";
} }
void LatexDocVisitor::visitPre(DocSecRefItem *) void LatexDocVisitor::visitPre(DocSecRefItem *)
...@@ -968,7 +942,6 @@ void LatexDocVisitor::visitPost(DocInternalRef *) ...@@ -968,7 +942,6 @@ void LatexDocVisitor::visitPost(DocInternalRef *)
{ {
if (m_hide) return; if (m_hide) return;
endLink(); endLink();
m_t << " ";
} }
void LatexDocVisitor::visitPre(DocCopy *) void LatexDocVisitor::visitPre(DocCopy *)
......
...@@ -257,6 +257,7 @@ static void writeDefaultHeaderPart1(QTextStream &t) ...@@ -257,6 +257,7 @@ static void writeDefaultHeaderPart1(QTextStream &t)
<< " colorlinks=true," << endl << " colorlinks=true," << endl
<< " linkcolor=blue" << endl << " linkcolor=blue" << endl
<< " ]{hyperref}" << endl << " ]{hyperref}" << endl
<< "\\usepackage{pspicture}" << endl
<< "\\else" << endl << "\\else" << endl
<< "\\usepackage[pdftex," << endl << "\\usepackage[pdftex," << endl
<< " pagebackref=true," << endl << " pagebackref=true," << endl
...@@ -287,7 +288,7 @@ static void writeDefaultHeaderPart1(QTextStream &t) ...@@ -287,7 +288,7 @@ static void writeDefaultHeaderPart1(QTextStream &t)
} }
t << "\\makeindex\n" t << "\\makeindex\n"
"\\setcounter{tocdepth}{1}\n" "\\setcounter{tocdepth}{1}\n"
"\\setlength{\\footrulewidth}{0.4pt}\n" "\\renewcommand{\\footrulewidth}{0.4pt}\n"
"\\begin{document}\n"; "\\begin{document}\n";
if (theTranslator->idLanguage()=="greek") t << "\\selectlanguage{greek}\n"; if (theTranslator->idLanguage()=="greek") t << "\\selectlanguage{greek}\n";
t << "\\begin{titlepage}\n" t << "\\begin{titlepage}\n"
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
LEX = flex LEX = flex
YACC = bison YACC = bison
PERL = perl PERL = perl
INCBUFSIZE = $(PERL) -n -e "s/YY_BUF_SIZE 16384/YY_BUF_SIZE 262144/g; print $$_;" INCBUFSIZE = $(PERL) -n -e 's/YY_BUF_SIZE 16384/YY_BUF_SIZE 262144/g; print $$_;'
#${ #${
sub GenerateDep { sub GenerateDep {
......
...@@ -169,6 +169,8 @@ void ManDocVisitor::visit(DocStyleChange *s) ...@@ -169,6 +169,8 @@ void ManDocVisitor::visit(DocStyleChange *s)
m_firstCol=TRUE; m_firstCol=TRUE;
} }
break; break;
case DocStyleChange::Div: /* HTML only */ break;
case DocStyleChange::Span: /* HTML only */ break;
} }
} }
......
...@@ -465,6 +465,10 @@ QCString MemberDef::getOutputFileBase() const ...@@ -465,6 +465,10 @@ QCString MemberDef::getOutputFileBase() const
{ {
return nspace->getOutputFileBase(); return nspace->getOutputFileBase();
} }
//else if (group)
//{
// return group->getOutputFileBase();
//}
else if (fileDef) else if (fileDef)
{ {
return fileDef->getOutputFileBase(); return fileDef->getOutputFileBase();
......
...@@ -574,7 +574,7 @@ void PerlModDocVisitor::visit(DocSymbol *sy) ...@@ -574,7 +574,7 @@ void PerlModDocVisitor::visit(DocSymbol *sy)
void PerlModDocVisitor::visit(DocURL *u) void PerlModDocVisitor::visit(DocURL *u)
{ {
openItem("url"); openItem("url");
m_output.addQuoted(u->url()); m_output.addFieldQuotedString("content", u->url());
closeItem(); closeItem();
} }
...@@ -594,6 +594,8 @@ void PerlModDocVisitor::visit(DocStyleChange *s) ...@@ -594,6 +594,8 @@ void PerlModDocVisitor::visit(DocStyleChange *s)
case DocStyleChange::Center: style = "center"; break; case DocStyleChange::Center: style = "center"; break;
case DocStyleChange::Small: style = "small"; break; case DocStyleChange::Small: style = "small"; break;
case DocStyleChange::Preformatted: style = "preformatted"; break; case DocStyleChange::Preformatted: style = "preformatted"; break;
case DocStyleChange::Div: style = "div"; break;
case DocStyleChange::Span: style = "span"; break;
} }
openItem("style"); openItem("style");
......
...@@ -124,6 +124,12 @@ class PrintDocVisitor : public DocVisitor ...@@ -124,6 +124,12 @@ class PrintDocVisitor : public DocVisitor
case DocStyleChange::Preformatted: case DocStyleChange::Preformatted:
if (s->enable()) printf("<pre>"); else printf("</pre>"); if (s->enable()) printf("<pre>"); else printf("</pre>");
break; break;
case DocStyleChange::Div:
if (s->enable()) printf("<div>"); else printf("</div>");
break;
case DocStyleChange::Span:
if (s->enable()) printf("<span>"); else printf("</span>");
break;
} }
} }
void visit(DocVerbatim *s) void visit(DocVerbatim *s)
......
...@@ -277,6 +277,8 @@ void RTFDocVisitor::visit(DocStyleChange *s) ...@@ -277,6 +277,8 @@ void RTFDocVisitor::visit(DocStyleChange *s)
m_t << "}" << endl; m_t << "}" << endl;
} }
break; break;
case DocStyleChange::Div: /* HTML only */ break;
case DocStyleChange::Span: /* HTML only */ break;
} }
} }
......
...@@ -121,11 +121,10 @@ static QCString baseName; ...@@ -121,11 +121,10 @@ static QCString baseName;
static QCString* specName; static QCString* specName;
static QCString formulaText; static QCString formulaText;
static bool useOverrideCommands = FALSE; static bool useOverrideCommands = FALSE;
static bool insideIDL = FALSE; static bool insideIDL = FALSE; //!< processing IDL code?
static bool insideJava = FALSE; static bool insideJava = FALSE; //!< processing Java code?
static bool insideCS = FALSE; static bool insideCS = FALSE; //!< processing C# code?
static bool insidePHP = FALSE; static bool insidePHP = FALSE; //!< processing PHP code?
static bool insidePHPCode = FALSE;
static bool insideCppQuote = FALSE; static bool insideCppQuote = FALSE;
static int argRoundCount; static int argRoundCount;
...@@ -451,7 +450,7 @@ static void setContext() ...@@ -451,7 +450,7 @@ static void setContext()
insideJava = fileName.right(5)==".java"; insideJava = fileName.right(5)==".java";
insideCS = fileName.right(3)==".cs"; insideCS = fileName.right(3)==".cs";
insidePHP = fileName.right(4)==".php" || fileName.right(5)==".php4" || insidePHP = fileName.right(4)==".php" || fileName.right(5)==".php4" ||
fileName.right(4)==".inc"; fileName.right(4)==".inc" || fileName.right(6)==".phtml";
if ( insidePHP ) if ( insidePHP )
{ {
useOverrideCommands = TRUE; useOverrideCommands = TRUE;
...@@ -536,6 +535,7 @@ OL [oO][lL] ...@@ -536,6 +535,7 @@ OL [oO][lL]
DL [dD][lL] DL [dD][lL]
TITLE [tT][iI][tT][lL][eE] TITLE [tT][iI][tT][lL][eE]
CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
PHPKW ("require"|"require_once"|"include"|"include_once"|"echo")[^a-zA-Z0-9_;]
%option noyywrap %option noyywrap
...@@ -670,6 +670,8 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -670,6 +670,8 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
%x JavaImport %x JavaImport
%x CSAccessorDecl %x CSAccessorDecl
%x PreLineCtrl %x PreLineCtrl
%x DefinePHP
%x DefinePHPEnd
%% %%
...@@ -755,16 +757,22 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -755,16 +757,22 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
BEGIN( FindMembers ); BEGIN( FindMembers );
} }
<FindMembersPHP>"<?"("php"?) { // PHP code start <FindMembersPHP>"<?"("php"?) { // PHP code start
insidePHPCode = TRUE;
BEGIN( FindMembers ); BEGIN( FindMembers );
} }
<FindMembersPHP>. { // Non-PHP code text, ignore <FindMembersPHP>. { // Non-PHP code text, ignore
} }
<FindMembers>"?>" { // PHP code end <FindMembers>"?>" { // PHP code end
insidePHPCode = FALSE; if (insidePHP)
BEGIN( FindMembersPHP ); BEGIN( FindMembersPHP );
else
REJECT;
} }
<FindMembers>{PHPKW} { if (insidePHP)
BEGIN( NextSemi );
else
REJECT;
}
<FindMembers>{B}*("properties"|"__property"){BN}*":"{BN}* { // IDL or Borland C++ builder property <FindMembers>{B}*("properties"|"__property"){BN}*":"{BN}* { // IDL or Borland C++ builder property
current->mtype = mtype = Property; current->mtype = mtype = Property;
current->protection = protection = Public ; current->protection = protection = Public ;
...@@ -1263,12 +1271,17 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -1263,12 +1271,17 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
current->name+=*yytext; current->name+=*yytext;
// *currentTemplateSpec+=*yytext; // *currentTemplateSpec+=*yytext;
} }
<FindMembers>"define"{BN}*"("{BN}*["'] {
if (insidePHP)
{
current->bodyLine = yyLineNr;
BEGIN( DefinePHP );
}
else
REJECT;
}
<FindMembers,FindMemberName>{SCOPENAME} { <FindMembers,FindMemberName>{SCOPENAME} {
lineCount(); lineCount();
// if ( insidePHP && strcmp(yytext,"define")==0)
// {
// BEGIN(DefinePHP);
// }
if (insideIDL && yyleng==9 && strcmp(yytext,"cpp_quote")==0) if (insideIDL && yyleng==9 && strcmp(yytext,"cpp_quote")==0)
{ {
BEGIN(CppQuote); BEGIN(CppQuote);
...@@ -1362,10 +1375,13 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -1362,10 +1375,13 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
insideCppQuote=FALSE; insideCppQuote=FALSE;
BEGIN(FindMembers); BEGIN(FindMembers);
} }
<FindMembers>{B}*"#" { lastCPPContext = YY_START; <FindMembers>{B}*"#" { if (insidePHP)
REJECT;
lastCPPContext = YY_START;
BEGIN( SkipCPP ) ; BEGIN( SkipCPP ) ;
} }
<FindMembers>{B}*"#"{B}*"define" { <FindMembers>{B}*"#"{B}*"define" { if (insidePHP)
REJECT;
current->bodyLine = yyLineNr; current->bodyLine = yyLineNr;
BEGIN( Define ); BEGIN( Define );
} }
...@@ -1428,6 +1444,20 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -1428,6 +1444,20 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
initEntry(); initEntry();
BEGIN(FindMembers); BEGIN(FindMembers);
} }
<DefinePHPEnd>";" {
//printf("End define\n");
current->fileName = yyFileName;
current->startLine = yyLineNr;
current->type.resize(0);
current->args = current->args.simplifyWhiteSpace();
current->name = current->name.stripWhiteSpace();
current->section = Entry::ENUM_SEC; //HACK!
current_root->addSubEntry(current);
current = new Entry ;
initEntry();
BEGIN(FindMembers);
}
<DefinePHPEnd>.
<DefineEnd>\\[\r]?\n { <DefineEnd>\\[\r]?\n {
yyLineNr++; yyLineNr++;
} }
...@@ -1443,6 +1473,18 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -1443,6 +1473,18 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
} }
} }
<DefineEnd>. <DefineEnd>.
<DefinePHP>{ID}["']{BN}*","{BN}* {
current->name = yytext;
current->name = current->name.stripWhiteSpace();
current->name = current->name.left(current->name.length()-1).stripWhiteSpace();
current->name = current->name.left(current->name.length()-1);
current->args = "(";
current->bodyLine = yyLineNr;
lastRoundContext = DefinePHPEnd;
pCopyRoundString = &current->args;
roundCount = 0;
BEGIN( CopyRound );
}
<FindMembers>[*&]+ { current->name += yytext ; <FindMembers>[*&]+ { current->name += yytext ;
addType( current ); addType( current );
...@@ -1864,6 +1906,10 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -1864,6 +1906,10 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
*/ */
<ReadBody>[^\r\n\#{}"'/]* { current->program += yytext ; } <ReadBody>[^\r\n\#{}"'/]* { current->program += yytext ; }
<ReadBody>"//".* { current->program += yytext ; } <ReadBody>"//".* { current->program += yytext ; }
<ReadBody>"#".* { if (! insidePHP)
REJECT;
current->program += yytext ;
}
<ReadBody>\" { current->program += yytext ; <ReadBody>\" { current->program += yytext ;
pCopyQuotedString = &current->program; pCopyQuotedString = &current->program;
lastStringContext=YY_START; lastStringContext=YY_START;
...@@ -2242,7 +2288,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -2242,7 +2288,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
/*- Function argument reading rules ---------------------------------------*/ /*- Function argument reading rules ---------------------------------------*/
<ReadFuncArgType>[^ \/\r\t\n\)\(\"\']+ { *copyArgString+=yytext; <ReadFuncArgType>[^ \/\r\t\n\)\(\"\'#]+ { *copyArgString+=yytext;
fullArgString+=yytext; fullArgString+=yytext;
} }
<CopyArgString>[^\n\\\"\']+ { *copyArgString+=yytext; <CopyArgString>[^\n\\\"\']+ { *copyArgString+=yytext;
...@@ -2301,6 +2347,21 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -2301,6 +2347,21 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
BEGIN( CopyArgComment ); BEGIN( CopyArgComment );
} }
} }
/* a non-special comment */
<ReadFuncArgType,ReadTempArgs>"/*" {
lastCContext = YY_START;
BEGIN( SkipComment );
}
<ReadFuncArgType,ReadTempArgs>"//" {
lastCContext = YY_START;
BEGIN( SkipCxxComment );
}
<ReadFuncArgType,ReadTempArgs>"#" {
if (! insidePHP)
REJECT;
lastCContext = YY_START;
BEGIN( SkipCxxComment );
}
/* `)' followed by a special comment */ /* `)' followed by a special comment */
<ReadFuncArgType>")"{BN}*("/*"[*!]|"//"[/!])"<" { <ReadFuncArgType>")"{BN}*("/*"[*!]|"//"[/!])"<" {
lineCount(); lineCount();
...@@ -2432,7 +2493,9 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -2432,7 +2493,9 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
BEGIN( FuncQual ) ; BEGIN( FuncQual ) ;
} }
/* /*
<FuncQual>"#" { lastCPPContext = YY_START; <FuncQual>"#" { if (insidePHP)
REJECT;
lastCPPContext = YY_START;
BEGIN(SkipCPP); BEGIN(SkipCPP);
} }
*/ */
...@@ -2525,7 +2588,9 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -2525,7 +2588,9 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
roundCount=0; roundCount=0;
BEGIN( FuncRound ) ; BEGIN( FuncRound ) ;
} }
<Function>"#" { lastCPPContext = YY_START; <Function>"#" { if (insidePHP)
REJECT;
lastCPPContext = YY_START;
BEGIN(SkipCPP); BEGIN(SkipCPP);
} }
<Function>":" { <Function>":" {
...@@ -2709,6 +2774,8 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -2709,6 +2774,8 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
BEGIN( SkipString ); BEGIN( SkipString );
} }
<SkipCurly>^{B}*"#" { <SkipCurly>^{B}*"#" {
if (insidePHP)
REJECT;
//addToBody(yytext); //addToBody(yytext);
BEGIN( SkipCurlyCpp ); BEGIN( SkipCurlyCpp );
} }
...@@ -2746,6 +2813,13 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -2746,6 +2813,13 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
); );
BEGIN( FindMembers ); BEGIN( FindMembers );
} }
<SkipInits,SkipCurly,SkipCurlyCpp>"#" {
if (! insidePHP)
REJECT;
//addToBody(yytext);
lastCContext = YY_START;
BEGIN(SkipCxxComment);
}
<SkipInits,SkipCurly,SkipCurlyCpp>. { <SkipInits,SkipCurly,SkipCurlyCpp>. {
//addToBody(yytext); //addToBody(yytext);
} }
...@@ -3704,26 +3778,66 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -3704,26 +3778,66 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
current->doc+=yytext; current->doc+=yytext;
BEGIN(AnchorLabel); BEGIN(AnchorLabel);
} }
<Doc,PageDoc,ClassDoc>("\\\\"|"@@")"verbatim"/[^a-z_A-Z0-9] { <Doc,PageDoc,ClassDoc>("\\\\"|"@@")("verbatim"|"latexonly"|"htmlonly")/[^a-z_A-Z0-9] {
current->doc+="\\\\verbatim"; current->doc+="\\\\verbatim";
} }
<JavaDoc>("\\\\"|"@@")("verbatim"|"latexonly"|"htmlonly")/[^a-z_A-Z0-9] {
current->brief+="\\\\verbatim";
}
<Doc,PageDoc,ClassDoc>{CMD}"verbatim"/[^a-z_A-Z0-9] { <Doc,PageDoc,ClassDoc>{CMD}"verbatim"/[^a-z_A-Z0-9] {
lastVerbState=YY_START; lastVerbState=YY_START;
current->doc+="\\verbatim"; current->doc+="\\verbatim";
BEGIN(SkipVerbatim); BEGIN(SkipVerbatim);
} }
<JavaDoc>{CMD}"verbatim"/[^a-z_A-Z0-9] {
lastVerbState=YY_START;
current->brief+="\\verbatim";
BEGIN(SkipVerbatim);
}
<Doc,PageDoc,ClassDoc>{CMD}"latexonly"/[^a-z_A-Z0-9] {
lastVerbState=YY_START;
current->doc+="\\latexonly";
BEGIN(SkipVerbatim);
}
<JavaDoc>{CMD}"latexonly"/[^a-z_A-Z0-9] {
lastVerbState=YY_START;
current->brief+="\\latexonly";
BEGIN(SkipVerbatim);
}
<Doc,PageDoc,ClassDoc>{CMD}"htmlonly"/[^a-z_A-Z0-9] {
lastVerbState=YY_START;
current->doc+="\\htmlonly";
BEGIN(SkipVerbatim);
}
<JavaDoc>{CMD}"htmlonly"/[^a-z_A-Z0-9] {
lastVerbState=YY_START;
current->brief+="\\htmlonly";
BEGIN(SkipVerbatim);
}
<Doc,PageDoc,ClassDoc>{CMD}"addindex"{B}+[^\n]+ { <Doc,PageDoc,ClassDoc>{CMD}"addindex"{B}+[^\n]+ {
current->doc+=yytext; current->doc+=yytext;
} }
<JavaDoc>{CMD}"addindex"{B}+[^\n]+ {
current->brief+=yytext;
}
<Doc,PageDoc,ClassDoc>("\\\\"|"@@")"code"/[^a-z_A-Z0-9] { <Doc,PageDoc,ClassDoc>("\\\\"|"@@")"code"/[^a-z_A-Z0-9] {
current->doc+="\\\\code"; current->doc+="\\\\code";
} }
<JavaDoc>("\\\\"|"@@")"code"/[^a-z_A-Z0-9] {
current->brief+="\\\\code";
}
<Doc,PageDoc,ClassDoc>{CMD}"code"/[^a-z_A-Z0-9] { <Doc,PageDoc,ClassDoc>{CMD}"code"/[^a-z_A-Z0-9] {
lastCodeState=YY_START; lastCodeState=YY_START;
current->doc+="\\code"; current->doc+="\\code";
pSkipDoc=&current->doc; pSkipDoc=&current->doc;
BEGIN(SkipCode); BEGIN(SkipCode);
} }
<JavaDoc>{CMD}"code"/[^a-z_A-Z0-9] {
lastCodeState=YY_START;
current->brief+="\\code";
pSkipDoc=&current->brief;
BEGIN(SkipCode);
}
<Doc,PageDoc,ClassDoc>"<"{PRE}{ATTR}">" { <Doc,PageDoc,ClassDoc>"<"{PRE}{ATTR}">" {
lastCodeState=YY_START; lastCodeState=YY_START;
current->doc+="<PRE>"; current->doc+="<PRE>";
...@@ -3736,27 +3850,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -3736,27 +3850,7 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
pSkipDoc=&current->brief; pSkipDoc=&current->brief;
BEGIN(SkipCode); BEGIN(SkipCode);
} }
<JavaDoc>("\\\\"|"@@")"verbatim"/[^a-z_A-Z0-9] { <SkipVerbatim>{CMD}("endverbatim"|"endlatexonly"|"endhtmlonly")/[^a-z_A-Z0-9] {
current->brief+="\\\\verbatim";
}
<JavaDoc>{CMD}"verbatim"/[^a-z_A-Z0-9] {
lastVerbState=YY_START;
current->brief+="\\verbatim";
BEGIN(SkipVerbatim);
}
<JavaDoc>{CMD}"addindex"{B}+[^\n]+ {
current->brief+=yytext;
}
<JavaDoc>("\\\\"|"@@")"code"/[^a-z_A-Z0-9] {
current->brief+="\\\\code";
}
<JavaDoc>{CMD}"code"/[^a-z_A-Z0-9] {
lastCodeState=YY_START;
current->brief+="\\code";
pSkipDoc=&current->brief;
BEGIN(SkipCode);
}
<SkipVerbatim>{CMD}"endverbatim"/[^a-z_A-Z0-9] {
current->doc+=yytext; current->doc+=yytext;
BEGIN(lastVerbState); BEGIN(lastVerbState);
} }
...@@ -4581,6 +4675,12 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'")) ...@@ -4581,6 +4675,12 @@ CHARLIT (("'"\\[0-7]{1,3}"'")|("'"\\."'")|("'"[^'\\\n]{1,4}"'"))
BEGIN(EndCppQuote); BEGIN(EndCppQuote);
} }
} }
<*>"#" {
if (! insidePHP)
REJECT;
lastCContext = YY_START ;
BEGIN( SkipCxxComment ) ;
}
<*>. <*>.
<SkipComment>"//"|"/*" <SkipComment>"//"|"/*"
<*>"/*" { lastCContext = YY_START ; <*>"/*" { lastCContext = YY_START ;
......
...@@ -100,7 +100,7 @@ class TranslatorGerman : public Translator ...@@ -100,7 +100,7 @@ class TranslatorGerman : public Translator
virtual QCString latexLanguageSupportCommand() virtual QCString latexLanguageSupportCommand()
{ {
QCString result="\\usepackage{ngerman}\n"; QCString result="\\usepackage{ngerman}\n";
result+="\\usepackage{t1enc}% Trennung verbessern bei Umlauten\n"; result+="\\usepackage[latin1]{inputenc}\n";
//result+="%\\usepackage[latin1]{inputenc}% Kodierung (cp850,latin1,ansinew)\n"; //result+="%\\usepackage[latin1]{inputenc}% Kodierung (cp850,latin1,ansinew)\n";
return result; return result;
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* *
* *
* *
* Copyright (C) 1997-2003 by Dimitri van Heesch. * Copyright (C) 1997-2002 by Dimitri van Heesch.
* *
* Permission to use, copy, modify, and distribute this software and its * Permission to use, copy, modify, and distribute this software and its
* documentation under the terms of the GNU General Public License is hereby * documentation under the terms of the GNU General Public License is hereby
...@@ -18,9 +18,7 @@ ...@@ -18,9 +18,7 @@
#ifndef TRANSLATOR_KR_H #ifndef TRANSLATOR_KR_H
#define TRANSLATOR_KR_H #define TRANSLATOR_KR_H
#include "translator_adapter.h" class TranslatorKorean : public Translator
class TranslatorKorean : public TranslatorAdapter_1_2_13
{ {
public: public:
...@@ -66,7 +64,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -66,7 +64,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! 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()
...@@ -74,7 +72,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -74,7 +72,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! 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()
...@@ -82,7 +80,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -82,7 +80,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! header that is put before the list of enumerations. */ /*! header that is put before the list of enumerations. */
virtual QCString trMemberEnumerationDocumentation() virtual QCString trMemberEnumerationDocumentation()
{ return "구성원(member) 열거 문서화"; } { return "멤버 열거형 문서화"; }
/*! header that is put before the list of member functions. */ /*! header that is put before the list of member functions. */
virtual QCString trMemberFunctionDocumentation() virtual QCString trMemberFunctionDocumentation()
...@@ -94,33 +92,33 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -94,33 +92,33 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
// TODO: This need to be translated. -ryk11/22/01. // TODO: This need to be translated. -ryk11/22/01.
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 "More..."; } { return "세부 사항 보기"; }
/*! put in the class documentation */ /*! put in the class documentation */
virtual QCString trListOfAllMembers() virtual QCString trListOfAllMembers()
{ return "모든 구성원들(members)의 명단"; } { 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 "구성원(member) 명단"; } { 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 "완전한 구성원들(members)의 명단 " ; } { 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 ", 상속받은 모든 구성원(members)들도 포함"; } { 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.
...@@ -128,21 +126,21 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -128,21 +126,21 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
virtual QCString trGeneratedAutomatically(const char *s) virtual QCString trGeneratedAutomatically(const char *s)
{ QCString result=""; { QCString result="";
if (s) result+=(QCString)s+"에 "; if (s) result+=(QCString)s+"에 ";
result += "source 코드로 부터 Doxygen에 의해 자동으로 생성"; result += "source 코드로 부터 Doxygen에 의해 자동으로 생성";
return result; return result;
} }
/*! put after an enum name in the list of all members */ /*! put after an enum name in the list of all members */
virtual QCString trEnumName() virtual QCString trEnumName()
{ return "열거 이름"; } { return "열거 이름"; }
/*! put after an enum value in the list of all members */ /*! put after an enum value in the list of all members */
virtual QCString trEnumValue() virtual QCString trEnumValue()
{ return "열거 값"; } { return "열거 값"; }
/*! 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
...@@ -150,11 +148,11 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -150,11 +148,11 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* compounds or files (see the \\group command). * compounds or files (see the \\group command).
*/ */
virtual QCString trModules() virtual QCString trModules()
{ return "모듈"; } { return "모듈"; }
/*! 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 "클래스 계통도"; } // "클래스 조직" or "클래스 분류체계"
/*! 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()
...@@ -162,12 +160,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -162,12 +160,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
//Alternate text: "혼합 목록", "합성(집합) 명단(리스트)" //Alternate text: "혼합 목록", "합성(집합) 명단(리스트)"
return "혼합 목록"; return "복합구조(클래스, 구조체, 공용체)";
} }
else else
{ {
//TODO: This needs to be translated. -ryk11/22/01. //TODO: This needs to be translated. -ryk11/22/01.
return "혼합 목록"; return "복합구조(클래스, 구조체, 공용체)";
} }
} }
...@@ -177,7 +175,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -177,7 +175,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! This is put above each page as a link to the list of all verbatim headers */ /*! This is put above each page as a link to the list of all verbatim headers */
virtual QCString trHeaderFiles() virtual QCString trHeaderFiles()
{ 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()
...@@ -185,12 +183,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -185,12 +183,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
// TODO: This need to be translated. -ryk11/22/01. // TODO: This need to be translated. -ryk11/22/01.
return "혼합 멤버들"; return "복합구조(클래스, 구조체, 공용체) 멤버";
} }
else else
{ {
// Alternate text: "합성(집합) 명단(멤버들)" // Alternate text: "합성(집합) 명단(멤버들)"
return "혼합 멤버들"; return "복합구조(클래스, 구조체, 공용체) 멤버";
} }
} }
...@@ -200,21 +198,21 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -200,21 +198,21 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
// TODO: This needs to be translated. -ryk11/22/01. // TODO: This needs to be translated. -ryk11/22/01.
return "파일 멤버"; return "파일 멤버";
} }
else 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()
{ return "관련된 페이지"; } { return "관련된 페이지"; }
/*! This is put above each page as a link to all examples. */ /*! This is put above each page as a link to all examples. */
virtual QCString trExamples() virtual QCString trExamples()
{ return "예제"; } { return "예제"; }
/*! This is put above each page as a link to the search engine. */ /*! This is put above each page as a link to the search engine. */
virtual QCString trSearch() virtual QCString trSearch()
...@@ -222,14 +220,14 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -222,14 +220,14 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! 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;
} }
...@@ -239,20 +237,20 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -239,20 +237,20 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
// TODO: This needs to be translated. -ryk11/22/01. // TODO: This needs to be translated. -ryk11/22/01.
return "이것은 간략한 설명을 가진 클래스들, " return "다음은 간략한 설명을 가진 클래스, "
"구조체들, 공용체들, 그리고 인터페이스들입니다."; "구조체, 공용체, 인터페이스의 목록입니다.";
} }
else else
{ {
return "이것은 간략한 설명을 가진 클래스들, " 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+="문서화된 ";
...@@ -260,47 +258,47 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -260,47 +258,47 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
// TODO: This need to be translated. -ryk11/22/01. // TODO: This need to be translated. -ryk11/22/01.
result+="링크가 된 클래스 멤버들 "; result+="링크 된 클래스 멤버는 ";
} }
else else
{ {
result+="링크가 된 클래스 멤버들 "; result+="링크 된 클래스 멤버는 ";
} }
if (extractAll) if (extractAll)
result+="각각의 멤버를 위한 클래스 문서:"; 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+="링크가 된 파일 멤버들 "; 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 header files. */ /*! This is an introduction to the page with the list of all header files. */
virtual QCString trHeaderFilesDescription() virtual QCString trHeaderFilesDescription()
{ return "이것은 API를 구성하는 헤더 파일들입니다."; } { return "다음은 API를 구성하는 헤더 파일입니다."; }
/*! This is an introduction to the page with the list of all examples */ /*! This is an introduction to the page with the list of all examples */
virtual QCString trExamplesDescription() virtual QCString trExamplesDescription()
{ return "이것은 모든 예제들의 목록입니다."; } { 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 "다음은 모든 모듈의 목록입니다."; }
/*! This sentences is used in the annotated class/file lists if no brief /*! This sentences is used in the annotated class/file lists if no brief
* description is given. * description is given.
...@@ -331,7 +329,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -331,7 +329,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* annotated compound index. * annotated compound index.
*/ */
virtual QCString trCompoundIndex() virtual QCString trCompoundIndex()
{ 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
* list of all files. * list of all files.
...@@ -377,49 +375,49 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -377,49 +375,49 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* list of defines * list of defines
*/ */
virtual QCString trDefines() virtual QCString trDefines()
{ return "정의들"; } { return "매크로, #define"; }
/*! 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
*/ */
virtual QCString trFuncProtos() virtual QCString trFuncProtos()
{ 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 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 "Enumerations"; } { 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
*/ */
virtual QCString trFunctions() virtual QCString trFunctions()
{ 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) variables * list of (global) variables
*/ */
virtual QCString trVariables() virtual QCString trVariables()
{ 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) 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 "정의 문서화"; } { return "#define 문서화"; }
/*! 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
...@@ -437,13 +435,13 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -437,13 +435,13 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* of documentation blocks for enumeration types * of documentation blocks for enumeration types
*/ */
virtual QCString trEnumerationTypeDocumentation() virtual QCString trEnumerationTypeDocumentation()
{ 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 values * of documentation blocks for enumeration values
*/ */
virtual QCString trEnumerationValueDocumentation() virtual QCString trEnumerationValueDocumentation()
{ 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 functions * of documentation blocks for functions
...@@ -461,7 +459,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -461,7 +459,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* the list of links to documented compounds * the list of links to documented compounds
*/ */
virtual QCString trCompounds() virtual QCString trCompounds()
{ return "혼합들"; } { return "복합구조"; }
/*! This is used in the standard footer of each page and indicates when /*! This is used in the standard footer of each page and indicates when
* the page was generated * the page was generated
...@@ -469,8 +467,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -469,8 +467,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
virtual QCString trGeneratedAt(const char *date,const char *projName) virtual QCString trGeneratedAt(const char *date,const char *projName)
{ {
QCString result=""; QCString result="";
if (projName) result+=(QCString)projName+"에 대해 "; if (projName) result+=(QCString)projName+" 문서화. ";
result += (QCString)date+" 생성 by"; result += "생성일시 : " +(QCString)date+" by";
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.
...@@ -492,7 +490,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -492,7 +490,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! this text is generated when the \\reimp command is used. */ /*! this text is generated when the \\reimp command is used. */
virtual QCString trReimplementedForInternalReasons() virtual QCString trReimplementedForInternalReasons()
{ return "내부적 이유를 위해 재구현된: API가 영향을 받지않았다."; } { return "내부적 이유로 인해 재구현된: API가 영향을 받지않았다."; }
/*! 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()
...@@ -500,7 +498,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -500,7 +498,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! this text is generated when the \\bug command is used. */ /*! this text is generated when the \\bug command is used. */
virtual QCString trBugsAndLimitations() virtual QCString trBugsAndLimitations()
{ return "버그들과 한계들"; } { return "버그와 한계"; }
/*! this text is generated when the \\version command is used. */ /*! this text is generated when the \\version command is used. */
virtual QCString trVersion() virtual QCString trVersion()
...@@ -512,19 +510,19 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -512,19 +510,19 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! this text is generated when the \\return command is used. */ /*! this text is generated when the \\return command is used. */
virtual QCString trReturns() virtual QCString trReturns()
{ return "반환"; } { return "반환"; }
/*! 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()
{ return "매개변수"; } { return "매개변수"; }
/*! this text is generated when the \\exception command is used. */ /*! this text is generated when the \\exception command is used. */
virtual QCString trExceptions() virtual QCString trExceptions()
{ return "예외"; } { return "예외"; }
/*! 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()
...@@ -536,14 +534,14 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -536,14 +534,14 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! 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 "이름공간 목록"; } { return "namespace 목록"; }
/*! 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+="이름공간의 목록입니다:"; result+="namespace의 목록입니다.";
return result; return result;
} }
...@@ -551,7 +549,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -551,7 +549,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* friends of a class * friends of a class
*/ */
virtual QCString trFriends() virtual QCString trFriends()
{ return "프렌드"; } { return "friend"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990405 // new since 0.49-990405
...@@ -561,7 +559,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -561,7 +559,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* related classes * related classes
*/ */
virtual QCString trRelatedFunctionDocumentation() virtual QCString trRelatedFunctionDocumentation()
{ return "프렌드, 그리고 관련된 함수 문서화"; } { return "friend, 그리고 관련된 함수 문서화"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990425 // new since 0.49-990425
...@@ -598,30 +596,30 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -598,30 +596,30 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
virtual QCString trNamespaceReference(const char *namespaceName) virtual QCString trNamespaceReference(const char *namespaceName)
{ {
QCString result=namespaceName; QCString result=namespaceName;
result+=" 이름 공간 참조"; result+=" namespace 참조";
return result; return result;
} }
virtual QCString trPublicMembers() virtual QCString trPublicMembers()
{ return "공용 메소드"; } { return "public 메소드"; }
virtual QCString trPublicSlots() virtual QCString trPublicSlots()
{ return "공용 Slots"; } { return "public slots"; }
virtual QCString trSignals() virtual QCString trSignals()
{ return "신호"; } { return "신호"; }
virtual QCString trStaticPublicMembers() virtual QCString trStaticPublicMembers()
{ return "정적 공용 메소드"; } { return "static public 메소드"; }
virtual QCString trProtectedMembers() virtual QCString trProtectedMembers()
{ return "프로텍티드 메소드"; } { return "protected 메소드"; }
virtual QCString trProtectedSlots() virtual QCString trProtectedSlots()
{ return "Protected Slots"; } { return "protected slots"; }
virtual QCString trStaticProtectedMembers() virtual QCString trStaticProtectedMembers()
{ return "정적 프로텍티드 메소드"; } { return "static protected 메소드"; }
virtual QCString trPrivateMembers() virtual QCString trPrivateMembers()
{ return "프라이베이트 메소드"; } { return "private 메소드"; }
virtual QCString trPrivateSlots() virtual QCString trPrivateSlots()
{ return "Private Slots"; } { return "private slots"; }
virtual QCString trStaticPrivateMembers() virtual QCString trStaticPrivateMembers()
{ return "정적 프라이베이트 메소드"; } { return "static 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.
...@@ -642,7 +640,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -642,7 +640,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
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+=", and "; result+=", ";
} }
} }
return result; return result;
...@@ -661,7 +659,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -661,7 +659,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/ */
virtual QCString trInheritedByList(int numEntries) virtual QCString trInheritedByList(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
...@@ -669,7 +667,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -669,7 +667,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/ */
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
...@@ -677,37 +675,37 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -677,37 +675,37 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/ */
virtual QCString trReimplementedInList(int numEntries) virtual QCString trReimplementedInList(int numEntries)
{ {
return trWriteList(numEntries)+"에서 재구현."; return trWriteList(numEntries)+"에서 재구현되었습니다.";
} }
/*! 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 "이름공간 멤버들"; } { return "namespace 멤버"; }
/*! 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+="이름공간 멤버들의 목록입니다."; result+="namespace 멤버의 목록입니다. ";
if (extractAll) if (extractAll)
result+="각 멤버들에 대한 문서화에 "; result+="각 멤버에 대한 문서화의 ";
else else
result+="속해있는 이름공간에 "; 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 "이름공간 색인"; } { return "namespace 색인"; }
/*! 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 "이름공간 문서화"; } { return "namespace 문서화"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990522 // new since 0.49-990522
...@@ -717,7 +715,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -717,7 +715,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* namespaces in a file. * namespaces in a file.
*/ */
virtual QCString trNamespaces() virtual QCString trNamespaces()
{ return "이름공간"; } { return "namespace"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990728 // new since 0.49-990728
...@@ -741,7 +739,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -741,7 +739,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
} }
result+="을 위한 문서화는 다음의 파일"; result+="을 위한 문서화는 다음의 파일";
if (!single) result+="들"; if (!single) result+="들";
result+="로부터 생성되었습니다:"; result+="로부터 생성되었습니다.";
return result; return result;
} }
...@@ -749,7 +747,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -749,7 +747,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* list. * list.
*/ */
virtual QCString trAlphabeticalList() virtual QCString trAlphabeticalList()
{ return "알파벳순서의 목록"; } { return "알파벳순 목록"; }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
// new since 0.49-990901 // new since 0.49-990901
...@@ -762,7 +760,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -762,7 +760,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! This is in the (quick) index as a link to the main page (index.html) /*! This is in the (quick) index as a link to the main page (index.html)
*/ */
virtual QCString trMainPage() virtual QCString trMainPage()
{ return "주요 페이지"; } { return "메인 페이지"; }
/*! This is used in references to page that are put in the LaTeX /*! This is used in references to page that are put in the LaTeX
* documentation. It should be an abbreviation of the word page. * documentation. It should be an abbreviation of the word page.
...@@ -780,11 +778,11 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -780,11 +778,11 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
} }
virtual QCString trDefinedAtLineInSourceFile() virtual QCString trDefinedAtLineInSourceFile()
{ {
return "파일 @1. 의 @0 번째 라인에서 정의"; return "@1 파일의 @0 번째 라인에서 정의";
} }
virtual QCString trDefinedInSourceFile() virtual QCString trDefinedInSourceFile()
{ {
return "파일 @0. 에서 정의"; return "@0 파일에서 정의";
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -803,7 +801,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -803,7 +801,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! 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)
...@@ -818,12 +816,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -818,12 +816,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! 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()
...@@ -852,15 +850,15 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -852,15 +850,15 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
} }
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()
{ {
...@@ -873,50 +871,50 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -873,50 +871,50 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
virtual QCString trNote() virtual QCString trNote()
{ {
return "Note"; // TODO: Need to be translated. -ryk11/22/01. return "노트"; // TODO: Need to be translated. -ryk11/22/01.
} }
virtual QCString trPublicTypes() virtual QCString trPublicTypes()
{ {
return "Public Types"; // TODO: Need to be translated. -ryk11/22/01. return "public 타입"; // TODO: Need to be translated. -ryk11/22/01.
} }
virtual QCString trPublicAttribs() virtual QCString trPublicAttribs()
{ {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return "Data Fields"; // TODO: Need to be translated. -ryk11/22/01. return "Data 필드"; // TODO: Need to be translated. -ryk11/22/01.
} }
else else
{ {
return "Public Attributes"; // TODO: Need to be translated. -ryk11/22/01. return "public 속성"; // TODO: Need to be translated. -ryk11/22/01.
} }
} }
virtual QCString trStaticPublicAttribs() virtual QCString trStaticPublicAttribs()
{ {
return "Static Public Attributes"; // TODO: Need to be translated. -ryk11/22/01. return "static public 속성"; // TODO: Need to be translated. -ryk11/22/01.
} }
virtual QCString trProtectedTypes() virtual QCString trProtectedTypes()
{ {
return "Protected Types"; // TODO: Need to be translated. -ryk11/22/01. return "protected 타입"; // TODO: Need to be translated. -ryk11/22/01.
} }
virtual QCString trProtectedAttribs() virtual QCString trProtectedAttribs()
{ {
return "Protected Attributes"; // TODO: Need to be translated. -ryk11/22/01. return "protected 속성"; // TODO: Need to be translated. -ryk11/22/01.
} }
virtual QCString trStaticProtectedAttribs() virtual QCString trStaticProtectedAttribs()
{ {
return "Static Protected Attributes"; // TODO: Need to be translated. -ryk11/22/01. return "static protected 속성"; // TODO: Need to be translated. -ryk11/22/01.
} }
virtual QCString trPrivateTypes() virtual QCString trPrivateTypes()
{ {
return "Private Types"; // TODO: Need to be translated. -ryk11/22/01. return "private 타입"; // TODO: Need to be translated. -ryk11/22/01.
} }
virtual QCString trPrivateAttribs() virtual QCString trPrivateAttribs()
{ {
return "Private Attributes"; // TODO: Need to be translated. -ryk11/22/01. return "private 속성"; // TODO: Need to be translated. -ryk11/22/01.
} }
virtual QCString trStaticPrivateAttribs() virtual QCString trStaticPrivateAttribs()
{ {
return "Static Private Attributes"; // TODO: Need to be translated. -ryk11/22/01. return "static private 속성"; // TODO: Need to be translated. -ryk11/22/01.
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -931,7 +929,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -931,7 +929,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! Used as the header of the todo list */ /*! Used as the header of the todo list */
virtual QCString trTodoList() virtual QCString trTodoList()
{ {
return "Todo List"; // TODO: Need to be translated. -ryk11/22/01. return "Todo 목록"; // TODO: Need to be translated. -ryk11/22/01.
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -940,15 +938,15 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -940,15 +938,15 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
virtual QCString trReferencedBy() virtual QCString trReferencedBy()
{ {
return "Referenced by"; // TODO: Need to be translated. -ryk11/22/01. return "참조하는 곳"; // TODO: Need to be translated. -ryk11/22/01.
} }
virtual QCString trRemarks() virtual QCString trRemarks()
{ {
return "Remarks"; // TODO: Need to be translated. -ryk11/22/01. return "설명"; // TODO: Need to be translated. -ryk11/22/01.
} }
virtual QCString trAttention() virtual QCString trAttention()
{ {
return "Attention"; // TODO: Need to be translated. -ryk11/22/01. return "주의"; // TODO: Need to be translated. -ryk11/22/01.
} }
virtual QCString trInclByDepGraph() virtual QCString trInclByDepGraph()
{ {
...@@ -968,7 +966,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -968,7 +966,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! title of the graph legend page */ /*! title of the graph legend page */
virtual QCString trLegendTitle() virtual QCString trLegendTitle()
{ {
return "Graph Legend"; // TODO: Need to be translated. -ryk11/22/01. return "그래프 설명"; // TODO: Need to be translated. -ryk11/22/01.
} }
/*! 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".
...@@ -977,9 +975,11 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -977,9 +975,11 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
{ {
// TODO: Need to be translated. -ryk11/22/01. // TODO: Need to be translated. -ryk11/22/01.
return return
"This page explains how to interpret the graphs that are generated " "Doxygen에 의해 생성된 도표를 보기위한 설명입니다.<p>\n"
"by doxygen.<p>\n" //"This page explains how to interpret the graphs that are generated "
"Consider the following example:\n" //"by doxygen.<p>\n"
"다음의 예제를 참고하세요.\n"
//"Consider the following example:\n"
"\\code\n" "\\code\n"
"/*! Invisible class because of truncation */\n" "/*! Invisible class because of truncation */\n"
"class Invisible { };\n\n" "class Invisible { };\n\n"
...@@ -1008,38 +1008,53 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -1008,38 +1008,53 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
" Used *m_usedClass;\n" " Used *m_usedClass;\n"
"};\n" "};\n"
"\\endcode\n" "\\endcode\n"
"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file " "설정 파일의 MAX_DOT_GRAPH_HEIGHT 플래그가 240으로 설정되었다면 다음의 그래프가 나올 것이다."
"is set to 240 this will result in the following graph:" //"If the \\c MAX_DOT_GRAPH_HEIGHT tag in the configuration file "
//"is set to 240 this will result in the following graph:"
"<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n" "<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n" "<p>\n"
"The boxes in the above graph have the following meaning:\n" "박스에는 다음을 뜻한다.\n"
//"The boxes in the above graph have the following meaning:\n"
"<ul>\n" "<ul>\n"
"<li>%A filled black box represents the struct or class for which the " "<li>%검은 상자는 그래프를 산출한 구조체나 클래스를 말한다.\n"
"graph is generated.\n" //"<li>%A filled black box represents the struct or class for which the "
"<li>%A box with a black border denotes a documented struct or class.\n" //"graph is generated.\n"
"<li>%A box with a grey border denotes an undocumented struct or class.\n" "<li>%검은선으로된 상자는 문서화된 구조체나 클래스를 표시한다.\n"
"<li>%A box with a red border denotes a documented struct or class for" //"<li>%A box with a black border denotes a documented struct or class.\n"
"which not all inheritance/containment relations are shown. %A graph is " "<li>%회색선으로된 상자는 문서화되지 않은 구조체나 클래스를 표시한다.\n"
"truncated if it does not fit within the specified boundaries.\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"
"The arrows have the following meaning:\n" "화살표는 다음을 뜻한다.\n"
//"The arrows have the following meaning:\n"
"<ul>\n" "<ul>\n"
"<li>%A dark blue arrow is used to visualize a public inheritance " "<li>%어두운 파란 화살표는 두 클래스간의 public 상속관계를 나타낸다.\n"
"relation between two classes.\n" //"<li>%A dark blue arrow is used to visualize a public inheritance "
"<li>%A dark green arrow is used for protected inheritance.\n" //"relation between two classes.\n"
"<li>%A dark red arrow is used for private inheritance.\n" "<li>%어두운 녹색 화살표는 protected 상속관계를 나타낸다.\n"
"<li>%A purple dashed arrow is used if a class is contained or used " //"<li>%A dark green arrow is used for protected inheritance.\n"
"by another class. The arrow is labeled with the variable(s) " "<li>%어두운 빨강 화살표는 private 상속관계를 나타낸다.\n"
"through which the pointed class or struct is accessible.\n" //"<li>%A dark red arrow is used for private inheritance.\n"
"<li>%A yellow dashed arrow denotes a relation between a template instance and " "<li>%밝은 자주색 화살표는 클래스에 의해 포함되더나 사용된 클래스를 나타낸다. "
"the template class it was instantiated from. The arrow is labeled with " "이 화살표의 라벨은 접근 가능한 변수명을 나타낸다.\n"
"the template parameters of the instance.\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 */
virtual QCString trLegend() virtual QCString trLegend()
{ {
return "legend"; // TODO: Need to be translated. -ryk11/22/01. return "설명"; // TODO: Need to be translated. -ryk11/22/01.
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1049,12 +1064,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -1049,12 +1064,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! Used as a marker that is put before a test item */ /*! Used as a marker that is put before a test item */
virtual QCString trTest() virtual QCString trTest()
{ {
return "Test"; // TODO: Need to be translated. -ryk11/22/01. return "테스트"; // TODO: Need to be translated. -ryk11/22/01.
} }
/*! Used as the header of the test list */ /*! Used as the header of the test list */
virtual QCString trTestList() virtual QCString trTestList()
{ {
return "Test List"; // TODO: Need to be translated. -ryk11/22/01. return "테스트 목록"; // TODO: Need to be translated. -ryk11/22/01.
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1064,7 +1079,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -1064,7 +1079,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! 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 Methods"; // TODO: Need to be translated. -ryk11/22/01. return "DCOP 메소드"; // TODO: Need to be translated. -ryk11/22/01.
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1074,12 +1089,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -1074,12 +1089,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! Used as a section header for IDL properties */ /*! Used as a section header for IDL properties */
virtual QCString trProperties() virtual QCString trProperties()
{ {
return "Properties"; // TODO: Need to be translated. -ryk11/22/01. return "properties"; // TODO: Need to be translated. -ryk11/22/01.
} }
/*! Used as a section header for IDL property documentation */ /*! Used as a section header for IDL property documentation */
virtual QCString trPropertyDocumentation() virtual QCString trPropertyDocumentation()
{ {
return "Property Documentation"; // TODO: Need to be translated. -ryk11/22/01. return "property 문서화"; // TODO: Need to be translated. -ryk11/22/01.
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1089,49 +1104,50 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -1089,49 +1104,50 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! Used for Java interfaces in the summary section of Java packages */ /*! Used for Java interfaces in the summary section of Java packages */
virtual QCString trInterfaces() virtual QCString trInterfaces()
{ {
return "Interfaces"; // TODO: Need to be translated. -ryk11/22/01. return "인터페이스"; // TODO: Need to be translated. -ryk11/22/01.
} }
/*! Used for Java classes in the summary section of Java packages */ /*! Used for Java classes in the summary section of Java packages */
virtual QCString trClasses() virtual QCString trClasses()
{ {
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C")) if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{ {
return "Data Structures"; // TODO: Need to be translated. -ryk11/22/01. return "데이터 구조"; // TODO: Need to be translated. -ryk11/22/01.
} }
else else
{ {
return "Classes"; // TODO: Need to be translated. -ryk11/22/01. return "클래스"; // TODO: Need to be translated. -ryk11/22/01.
} }
} }
/*! 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)"Package "+name; // TODO: Need to be translated. -ryk11/22/01. return (QCString)"패키지 "+name; // TODO: Need to be translated. -ryk11/22/01.
} }
/*! Title of the package index page */ /*! Title of the package index page */
virtual QCString trPackageList() virtual QCString trPackageList()
{ {
return "Package List"; // TODO: Need to be translated. -ryk11/22/01. return "패키지 목록"; // TODO: Need to be translated. -ryk11/22/01.
} }
/*! The description of the package index page */ /*! The description of the package index page */
virtual QCString trPackageListDescription() virtual QCString trPackageListDescription()
{ {
return "Here are the packages with brief descriptions (if available):"; // TODO: Need to be translated. -ryk11/22/01. //Here are the packages with brief descriptions (if available):"; // TODO: Need to be translated. -ryk11/22/01.
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()
{ {
return "Packages"; // TODO: Need to be translated. -ryk11/22/01. return "패키지"; // TODO: Need to be translated. -ryk11/22/01.
} }
/*! Used as a chapter title for Latex & RTF output */ /*! Used as a chapter title for Latex & RTF output */
virtual QCString trPackageDocumentation() virtual QCString trPackageDocumentation()
{ {
return "Package Documentation"; // TODO: Need to be translated. -ryk11/22/01. return "패키지 문서화"; // TODO: Need to be translated. -ryk11/22/01.
} }
/*! Text shown before a multi-line define */ /*! Text shown before a multi-line define */
virtual QCString trDefineValue() virtual QCString trDefineValue()
{ {
return "Value:"; // TODO: Need to be translated. -ryk11/22/01. return ":"; // TODO: Need to be translated. -ryk11/22/01.
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1141,12 +1157,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -1141,12 +1157,12 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! Used as a marker that is put before a \\bug item */ /*! Used as a marker that is put before a \\bug item */
virtual QCString trBug() virtual QCString trBug()
{ {
return "Bug"; // TODO: Need to be translated. -ryk11/22/01. return "버그"; // TODO: Need to be translated. -ryk11/22/01.
} }
/*! Used as the header of the bug list */ /*! Used as the header of the bug list */
virtual QCString trBugList() virtual QCString trBugList()
{ {
return "Bug List"; // TODO: Need to be translated. -ryk11/22/01. return "버그 목록"; // TODO: Need to be translated. -ryk11/22/01.
} }
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////
...@@ -1195,7 +1211,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -1195,7 +1211,7 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
/*! Used as header RTF general index */ /*! Used as header RTF general index */
virtual QCString trRTFGeneralIndex() virtual QCString trRTFGeneralIndex()
{ {
return "Index"; // TODO: Need to be translated. -ryk11/22/01. return "인덱스"; // TODO: Need to be translated. -ryk11/22/01.
} }
/*! This is used for translation of the word that will possibly /*! This is used for translation of the word that will possibly
...@@ -1204,8 +1220,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -1204,8 +1220,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/ */
virtual QCString trClass(bool first_capital, bool singular) virtual QCString trClass(bool first_capital, bool singular)
{ {
QCString result((first_capital ? "Class" : "class")); QCString result((first_capital ? "클래스" : "클래스"));
if (!singular) result+="es"; if (!singular) result+="";
return result; // TODO: Need to be translated. -ryk11/22/01. return result; // TODO: Need to be translated. -ryk11/22/01.
} }
...@@ -1215,8 +1231,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -1215,8 +1231,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/ */
virtual QCString trFile(bool first_capital, bool singular) virtual QCString trFile(bool first_capital, bool singular)
{ {
QCString result((first_capital ? "File" : "file")); QCString result((first_capital ? "파일" : "파일"));
if (!singular) result+="s"; if (!singular) result+="";
return result; // TODO: Need to be translated. -ryk11/22/01. return result; // TODO: Need to be translated. -ryk11/22/01.
} }
...@@ -1237,8 +1253,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -1237,8 +1253,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/ */
virtual QCString trGroup(bool first_capital, bool singular) virtual QCString trGroup(bool first_capital, bool singular)
{ {
QCString result((first_capital ? "Group" : "group")); QCString result((first_capital ? "그룹" : "그룹"));
if (!singular) result+="s"; if (!singular) result+="";
return result; // TODO: Need to be translated. -ryk11/22/01. return result; // TODO: Need to be translated. -ryk11/22/01.
} }
...@@ -1248,8 +1264,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -1248,8 +1264,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/ */
virtual QCString trPage(bool first_capital, bool singular) virtual QCString trPage(bool first_capital, bool singular)
{ {
QCString result((first_capital ? "Page" : "page")); QCString result((first_capital ? "페이지" : "페이지"));
if (!singular) result+="s"; if (!singular) result+="";
return result; // TODO: Need to be translated. -ryk11/22/01. return result; // TODO: Need to be translated. -ryk11/22/01.
} }
...@@ -1259,8 +1275,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -1259,8 +1275,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/ */
virtual QCString trMember(bool first_capital, bool singular) virtual QCString trMember(bool first_capital, bool singular)
{ {
QCString result((first_capital ? "Member" : "member")); QCString result((first_capital ? "멤버" : "멤버"));
if (!singular) result+="s"; if (!singular) result+="";
return result; // TODO: Need to be translated. -ryk11/22/01. return result; // TODO: Need to be translated. -ryk11/22/01.
} }
...@@ -1270,8 +1286,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -1270,8 +1286,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/ */
virtual QCString trField(bool first_capital, bool singular) virtual QCString trField(bool first_capital, bool singular)
{ {
QCString result((first_capital ? "Field" : "field")); QCString result((first_capital ? "필드" : "필드"));
if (!singular) result+="s"; if (!singular) result+="";
return result; // TODO: Need to be translated. -ryk11/22/01. return result; // TODO: Need to be translated. -ryk11/22/01.
} }
...@@ -1294,8 +1310,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -1294,8 +1310,8 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
* for the author section in man pages. */ * for the author section in man pages. */
virtual QCString trAuthor(bool first_capital, bool singular) virtual QCString trAuthor(bool first_capital, bool singular)
{ {
QCString result((first_capital ? "Author" : "author")); QCString result((first_capital ? "작성자" : "작성자"));
if (!singular) result+="s"; if (!singular) result+="";
return result; // TODO: Need to be translated. -ryk11/22/01. return result; // TODO: Need to be translated. -ryk11/22/01.
} }
...@@ -1307,7 +1323,70 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13 ...@@ -1307,7 +1323,70 @@ class TranslatorKorean : public TranslatorAdapter_1_2_13
*/ */
virtual QCString trReferences() virtual QCString trReferences()
{ {
return "References"; // TODO: Need to be translated. -ryk11/22/01. return "참조"; // TODO: Need to be translated. -ryk11/22/01.
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.13
//////////////////////////////////////////////////////////////////////////
/*! used in member documentation blocks to produce a list of
* members that are implemented by this one.
*/
virtual QCString trImplementedFromList(int numEntries)
{
//return "Implements "+trWriteList(numEntries)+".";
return trWriteList(numEntries)+" 구현.";
}
/*! used in member documentation blocks to produce a list of
* all members that implement this abstract member.
*/
virtual QCString trImplementedInList(int numEntries)
{
//return "Implemented in "+trWriteList(numEntries)+".";
return trWriteList(numEntries)+"에 구현되었다.";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.16
//////////////////////////////////////////////////////////////////////////
/*! used in RTF documentation as a heading for the Table
* of Contents.
*/
virtual QCString trRTFTableOfContents()
{
return "목차";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.17
//////////////////////////////////////////////////////////////////////////
/*! Used as the header of the list of item that have been
* flagged deprecated
*/
virtual QCString trDeprecatedList()
{
return "Deprecated 목록";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.18
//////////////////////////////////////////////////////////////////////////
/*! Used as a header for declaration section of the events found in
* a C# program
*/
virtual QCString trEvents()
{
return "이벤트";
}
/*! Header used for the documentation section of a class' events. */
virtual QCString trEventDocumentation()
{
return "이벤트 문서화";
} }
}; };
......
...@@ -691,7 +691,10 @@ QCString removeRedundantWhiteSpace(const QCString &s) ...@@ -691,7 +691,10 @@ QCString removeRedundantWhiteSpace(const QCString &s)
{ {
result+=" >"; // insert extra space for layouting (nested) templates result+=" >"; // insert extra space for layouting (nested) templates
} }
else if (i>0 && i<l-1 && c==',' && !isspace(s.at(i-1)) && isId(s.at(i+1))) else if (i>0 && c==',' && !isspace(s.at(i-1))
&& ((i<l-1 && isId(s.at(i+1)))
|| (i<l-2 && s.at(i+1)=='$' && isId(s.at(i+2))) // for PHP
|| (i<l-3 && s.at(i+1)=='&' && s.at(i+2)=='$' && isId(s.at(i+3))))) // for PHP
{ {
result+=", "; result+=", ";
} }
...@@ -711,12 +714,13 @@ QCString removeRedundantWhiteSpace(const QCString &s) ...@@ -711,12 +714,13 @@ QCString removeRedundantWhiteSpace(const QCString &s)
} }
else if (!isspace(c) || else if (!isspace(c) ||
( i>0 && i<l-1 && ( i>0 && i<l-1 &&
(isId(s.at(i-1)) || s.at(i-1)==')' || s.at(i-1)==',' || s.at(i-1)=='>' || s.at(i-1)==']') && (isId(s.at(i-1)) || s.at(i-1)==')' || s.at(i-1)==',' || s.at(i-1)=='>' || s.at(i-1)==']')
isId(s.at(i+1)) && (isId(s.at(i+1)) || (i<l-2 && s.at(i+1)=='$' && isId(s.at(i+2)))
|| (i<l-3 && s.at(i+1)=='&' && s.at(i+2)=='$' && isId(s.at(i+3))))
) )
) )
{ {
if (c=='*' || c=='&' || c=='@') if (c=='*' || c=='&' || c=='@' || c=='$')
{ {
uint rl=result.length(); uint rl=result.length();
if (rl>0 && (isId(result.at(rl-1)) || result.at(rl-1)=='>')) result+=' '; if (rl>0 && (isId(result.at(rl-1)) || result.at(rl-1)=='>')) result+=' ';
...@@ -2432,7 +2436,7 @@ bool resolveRef(/* in */ const char *scName, ...@@ -2432,7 +2436,7 @@ bool resolveRef(/* in */ const char *scName,
ClassDef *cd=0; ClassDef *cd=0;
NamespaceDef *nd=0; NamespaceDef *nd=0;
if (scopePos==-1 && isLowerCase(tsName)) if (!inSeeBlock && scopePos==-1 && isLowerCase(tsName))
{ // link to lower case only name => do not try to autolink { // link to lower case only name => do not try to autolink
return FALSE; return FALSE;
} }
......
...@@ -155,6 +155,8 @@ void XmlDocVisitor::visit(DocStyleChange *s) ...@@ -155,6 +155,8 @@ void XmlDocVisitor::visit(DocStyleChange *s)
m_insidePre=FALSE; m_insidePre=FALSE;
} }
break; break;
case DocStyleChange::Div: /* HTML only */ break;
case DocStyleChange::Span: /* HTML only */ break;
} }
} }
......
...@@ -450,6 +450,9 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De ...@@ -450,6 +450,9 @@ 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;
// group members are only visible in their group
//if (def->definitionType()!=Definition::TypeGroup && md->getGroupDef()) return;
QCString memType; QCString memType;
bool isFunc=FALSE; bool isFunc=FALSE;
switch (md->memberType()) switch (md->memberType())
...@@ -482,18 +485,16 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De ...@@ -482,18 +485,16 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
t << " <memberdef kind=\""; t << " <memberdef kind=\"";
//enum { define_t,variable_t,typedef_t,enum_t,function_t } xmlType = function_t; //enum { define_t,variable_t,typedef_t,enum_t,function_t } xmlType = function_t;
t << memType << "\" id=\""; t << memType << "\" id=\"";
t << md->getOutputFileBase() if (md->getGroupDef() && def->definitionType()==Definition::TypeGroup)
<< "_1" // encoded `:' character (see util.cpp:convertNameToFile)
<< md->anchor();
t << "\"";
t << " virt=\"";
switch (md->virtualness())
{ {
case Normal: t << "normal"; break; t << md->getGroupDef()->getOutputFileBase();
case Virtual: t << "virtual"; break; }
case Pure: t << "pure-virtual"; break; else
default: ASSERT(0); {
t << md->getOutputFileBase();
} }
t << "_1" // encoded `:' character (see util.cpp:convertNameToFile)
<< md->anchor();
t << "\" prot=\""; t << "\" prot=\"";
switch(md->protection()) switch(md->protection())
{ {
...@@ -503,6 +504,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De ...@@ -503,6 +504,7 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
} }
t << "\" static=\""; t << "\" static=\"";
if (md->isStatic()) t << "yes"; else t << "no"; if (md->isStatic()) t << "yes"; else t << "no";
t << "\""; t << "\"";
if (isFunc) if (isFunc)
...@@ -510,6 +512,22 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De ...@@ -510,6 +512,22 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
ArgumentList *al = md->argumentList(); ArgumentList *al = md->argumentList();
t << " const=\""; t << " const=\"";
if (al && al->constSpecifier) t << "yes"; else t << "no"; if (al && al->constSpecifier) t << "yes"; else t << "no";
t << "\" explicit=\"";
if (md->isExplicit()) t << "yes"; else t << "no";
t << "\" inline=\"";
if (md->isInline()) t << "yes"; else t << "no";
t << "\" virt=\"";
switch (md->virtualness())
{
case Normal: t << "normal"; break;
case Virtual: t << "virtual"; break;
case Pure: t << "pure-virtual"; break;
default: ASSERT(0);
}
t << "\""; t << "\"";
} }
...@@ -518,6 +536,10 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De ...@@ -518,6 +536,10 @@ static void generateXMLForMember(MemberDef *md,QTextStream &ti,QTextStream &t,De
ArgumentList *al = md->argumentList(); ArgumentList *al = md->argumentList();
t << " volatile=\""; t << " volatile=\"";
if (al && al->volatileSpecifier) t << "yes"; else t << "no"; if (al && al->volatileSpecifier) t << "yes"; else t << "no";
t << "\" mutable=\"";
if (md->isMutable()) t << "yes"; else t << "no";
t << "\""; t << "\"";
} }
......
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