summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authordimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2007-05-06 12:30:18 (GMT)
committerdimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7>2007-05-06 12:30:18 (GMT)
commit23c13fc17365dca77acbe9a992e03ae4a40f6eca (patch)
treecfc812b095178411db5aae564fc43cac8b714078 /src
parent124b4621e793d9ffa3eca3ee91cdb6ded37c553e (diff)
downloadDoxygen-23c13fc17365dca77acbe9a992e03ae4a40f6eca.zip
Doxygen-23c13fc17365dca77acbe9a992e03ae4a40f6eca.tar.gz
Doxygen-23c13fc17365dca77acbe9a992e03ae4a40f6eca.tar.bz2
Release-1.5.2-20070506
Diffstat (limited to 'src')
-rw-r--r--src/classdef.cpp1
-rw-r--r--src/commentcnv.l4
-rw-r--r--src/commentscan.l10
-rw-r--r--src/config.l19
-rw-r--r--src/docparser.cpp41
-rw-r--r--src/docparser.h2
-rw-r--r--src/dot.cpp20
-rw-r--r--src/doxygen.cpp18
-rw-r--r--src/doxygen.h30
-rw-r--r--src/doxygen.pro.in6
-rw-r--r--src/entry.cpp286
-rw-r--r--src/entry.h3
-rw-r--r--src/language.cpp2
-rw-r--r--src/marshal.cpp140
-rw-r--r--src/marshal.h48
-rw-r--r--src/memberdef.cpp7
-rw-r--r--src/msc.cpp2
-rw-r--r--src/perlmodgen.cpp33
-rw-r--r--src/portable.cpp6
-rw-r--r--src/pre.l3
-rw-r--r--src/pyscanner.l13
-rw-r--r--src/scanner.l75
-rw-r--r--src/translator_cz.h676
-rw-r--r--src/util.cpp10
24 files changed, 900 insertions, 555 deletions
diff --git a/src/classdef.cpp b/src/classdef.cpp
index e815517..a5bca00 100644
--- a/src/classdef.cpp
+++ b/src/classdef.cpp
@@ -2849,6 +2849,7 @@ void ClassDef::addMembersToTemplateInstance(ClassDef *cd,const char *templSpec)
imd->setBriefDescription(md->briefDescription(),md->briefFile(),md->briefLine());
imd->setInbodyDocumentation(md->inbodyDocumentation(),md->inbodyFile(),md->inbodyLine());
imd->setMemberSpecifiers(md->getMemberSpecifiers());
+ imd->setMemberGroupId(md->getMemberGroupId());
insertMember(imd);
//printf("Adding member=%s %s%s to class %s templSpec %s\n",
// imd->typeString(),imd->name().data(),imd->argsString(),
diff --git a/src/commentcnv.l b/src/commentcnv.l
index 9462110..9b9a946 100644
--- a/src/commentcnv.l
+++ b/src/commentcnv.l
@@ -164,7 +164,7 @@ static void endCondSection()
}
}
-/** remove and executes \\cond and \\endcond commands in \a s */
+/** remove and executes cond and endcond commands in \a s */
static QCString handleCondCmdInAliases(const QCString &s)
{
QCString result;
@@ -566,7 +566,7 @@ void replaceComment(int offset)
* -# It converts multi-line C++ style comment blocks (that are aligned)
* to C style comment blocks (if MULTILINE_CPP_IS_BRIEF is set to NO).
* -# It replaces aliases with their definition (see ALIASES)
- * -# It handles conditional sections (\cond...\endcond blocks)
+ * -# It handles conditional sections (cond...endcond blocks)
*/
void convertCppComments(BufStr *inBuf,BufStr *outBuf,const char *fileName)
{
diff --git a/src/commentscan.l b/src/commentscan.l
index 105d512..553b93a 100644
--- a/src/commentscan.l
+++ b/src/commentscan.l
@@ -2281,15 +2281,15 @@ bool parseCommentBlock(/* in */ ParserInterface *parser,
/* in */ const QCString &fileName,
/* in */ int lineNr,
/* in */ bool isBrief,
- /* in */ bool isJavaDocStyle,
+ /* in */ bool isAutoBriefOn,
/* in */ bool isInbody,
/* in,out */ Protection &prot,
/* in,out */ int &position,
/* out */ bool &newEntryNeeded
)
{
- //printf("parseCommentBlock() isBrief=%d isJavaDocStyle=%d lineNr=%d\n",
- // isBrief,isJavaDocStyle,lineNr);
+ //printf("parseCommentBlock() isBrief=%d isAutoBriefOn=%d lineNr=%d\n",
+ // isBrief,isAutoBriefOn,lineNr);
initParser();
guards.setAutoDelete(TRUE);
@@ -2310,8 +2310,8 @@ bool parseCommentBlock(/* in */ ParserInterface *parser,
parseMore = FALSE;
inBody = isInbody;
outputXRef.resize(0);
- setOutput( isBrief || isJavaDocStyle ? OutputBrief : OutputDoc );
- briefEndsAtDot = isJavaDocStyle;
+ setOutput( isBrief || isAutoBriefOn ? OutputBrief : OutputDoc );
+ briefEndsAtDot = isAutoBriefOn;
if (!current->inbodyDocs.isEmpty() && isInbody) // separate in body fragments
{
diff --git a/src/config.l b/src/config.l
index 26fb9b9..0fad432 100644
--- a/src/config.l
+++ b/src/config.l
@@ -502,7 +502,6 @@ static void readIncludeFile(const char *incName)
<Start>[a-z_A-Z][a-z_A-Z0-9]*[ \t]*"=" { QCString cmd=yytext;
cmd=cmd.left(cmd.length()-1).stripWhiteSpace();
ConfigOption *option = config->get(cmd);
- option->setEncoding(encoding);
if (option==0) // oops not known
{
config_err("Warning: ignoring unsupported tag `%s' at line %d, file %s\n",
@@ -511,6 +510,7 @@ static void readIncludeFile(const char *incName)
}
else // known tag
{
+ option->setEncoding(encoding);
switch(option->kind())
{
case ConfigOption::O_Info:
@@ -1574,8 +1574,17 @@ void Config::create()
"If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen \n"
"will interpret the first line (until the first dot) of a JavaDoc-style \n"
"comment as the brief description. If set to NO, the JavaDoc \n"
- "comments will behave just like the Qt-style comments (thus requiring an \n"
- "explicit @brief command for a brief description. \n",
+ "comments will behave just like regular Qt-style comments \n"
+ "(thus requiring an explicit @brief command for a brief description.) \n",
+ FALSE
+ );
+ cb = addBool(
+ "QT_AUTOBRIEF",
+ "If the QT_AUTOBRIEF tag is set to YES then Doxygen will \n"
+ "interpret the first line (until the first dot) of a Qt-style \n"
+ "comment as the brief description. If set to NO, the comments \n"
+ "will behave just like regular Qt-style comments (thus requiring \n"
+ "an explicit \\brief command for a brief description.) \n",
FALSE
);
cb = addBool(
@@ -2821,7 +2830,7 @@ void Config::create()
cb->addDependency("HAVE_DOT");
cb = addBool(
"CALL_GRAPH",
- "If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will \n"
+ "If the CALL_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES then doxygen will \n"
"generate a call dependency graph for every global function or class method. \n"
"Note that enabling this option will significantly increase the time of a run. \n"
"So in most cases it will be better to enable call graphs for selected \n"
@@ -2831,7 +2840,7 @@ void Config::create()
cb->addDependency("HAVE_DOT");
cb = addBool(
"CALLER_GRAPH",
- "If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will \n"
+ "If the CALLER_GRAPH, SOURCE_BROWSER and HAVE_DOT tags are set to YES then doxygen will \n"
"generate a caller dependency graph for every global function or class method. \n"
"Note that enabling this option will significantly increase the time of a run. \n"
"So in most cases it will be better to enable caller graphs for selected \n"
diff --git a/src/docparser.cpp b/src/docparser.cpp
index e1bfac5..da673bf 100644
--- a/src/docparser.cpp
+++ b/src/docparser.cpp
@@ -1422,7 +1422,7 @@ static void readTextFileByName(const QString &file,QString &text)
FileDef *fd;
if ((fd=findFileDef(Doxygen::exampleNameDict,file,ambig)))
{
- text = fileToString(fd->absFilePath(),FALSE);
+ text = fileToString(fd->absFilePath(),Config_getBool("FILTER_SOURCE_FILES"));
}
else if (ambig)
{
@@ -2092,6 +2092,8 @@ void DocRef::parse()
warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Unsupported symbol %s found",
g_token->name.data());
break;
+ case TK_HTMLTAG:
+ break;
default:
warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Unexpected token %s",
tokToString(tok));
@@ -2111,7 +2113,7 @@ void DocRef::parse()
}
handlePendingStyleCommands(this,m_children);
- DBG(("DocRef::parse() end\n"));
+
DocNode *n=g_nodeStack.pop();
ASSERT(n==this);
}
@@ -2155,7 +2157,7 @@ DocLink::DocLink(DocNode *parent,const QString &target) :
}
-QString DocLink::parse(bool isJavaLink)
+QString DocLink::parse(bool isJavaLink,bool isXmlLink)
{
QString result;
g_nodeStack.push(this);
@@ -2187,6 +2189,13 @@ QString DocLink::parse(bool isJavaLink)
warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Unsupported symbol %s found",
g_token->name.data());
break;
+ case TK_HTMLTAG:
+ if (g_token->name!="see" || !isXmlLink)
+ {
+ warn_doc_error(g_fileName,doctokenizerYYlineno,"Warning: Unexpected xml/html command %s found",
+ g_token->name.data());
+ }
+ goto endlink;
case TK_LNKWORD:
case TK_WORD:
if (isJavaLink) // special case to detect closing }
@@ -4847,11 +4856,31 @@ int DocPara::handleHtmlStartTag(const QString &tagName,const HtmlAttribList &tag
// can we expect from Microsoft...)
{
QString cref;
+ //printf("XML_SEE: empty tag=%d\n",g_token->emptyTag);
if (findAttribute(tagHtmlAttribs,"cref",&cref))
{
- DocRef *ref = new DocRef(this,cref);
- m_children.append(ref);
- ref->parse();
+ if (g_token->emptyTag) // <see cref="..."/> style
+ {
+ bool inSeeBlock = g_inSeeBlock;
+ g_token->name = cref;
+ g_inSeeBlock = TRUE;
+ handleLinkedWord(this,m_children);
+ g_inSeeBlock = inSeeBlock;
+ }
+ else // <see cref="...">...</see> style
+ {
+ //DocRef *ref = new DocRef(this,cref);
+ //m_children.append(ref);
+ //ref->parse();
+ doctokenizerYYsetStatePara();
+ DocLink *lnk = new DocLink(this,cref);
+ m_children.append(lnk);
+ QString leftOver = lnk->parse(FALSE,TRUE);
+ if (!leftOver.isEmpty())
+ {
+ m_children.append(new DocWord(this,leftOver));
+ }
+ }
}
else
{
diff --git a/src/docparser.h b/src/docparser.h
index 7d09ac5..64b382d 100644
--- a/src/docparser.h
+++ b/src/docparser.h
@@ -639,7 +639,7 @@ class DocLink : public CompAccept<DocLink>, public DocNode
{
public:
DocLink(DocNode *parent,const QString &target);
- QString parse(bool);
+ QString parse(bool,bool isXmlLink=FALSE);
Kind kind() const { return Kind_Link; }
QString file() const { return m_file; }
QString relPath() const { return m_relPath; }
diff --git a/src/dot.cpp b/src/dot.cpp
index 651b6c9..808dcca 100644
--- a/src/dot.cpp
+++ b/src/dot.cpp
@@ -694,6 +694,24 @@ static QCString convertLabel(const QCString &l)
return result;
}
+static QCString escapeTooltip(const QCString &tooltip)
+{
+ QCString result;
+ const char *p=tooltip.data();
+ if (p==0) return result;
+ char c;
+ while ((c=*p++))
+ {
+ switch(c)
+ {
+ case '\\': result+="\\\\"; break;
+ case '"': result+="\\\""; break;
+ default: result+=c; break;
+ }
+ }
+ return result;
+}
+
static void writeBoxMemberList(QTextStream &t,char prot,MemberList *ml,ClassDef *scope)
{
if (ml)
@@ -812,7 +830,7 @@ void DotNode::writeBox(QTextStream &t,
}
if (!m_tooltip.isEmpty())
{
- t << ",tooltip=\"" << m_tooltip << "\"";
+ t << ",tooltip=\"" << escapeTooltip(m_tooltip) << "\"";
}
}
t << "];" << endl;
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index b4b2025..12d0004 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -132,6 +132,7 @@ ObjCache *Doxygen::symbolCache = 0;
Store *Doxygen::symbolStorage;
QCString Doxygen::objDBFileName;
QCString Doxygen::entryDBFileName;
+bool Doxygen::gatherDefines = TRUE;
// locally accessible globals
static QDict<EntryNav> classEntries(1009);
@@ -4687,8 +4688,9 @@ static void addMemberDocs(EntryNav *rootNav,
{
//printf("setInitializer\n");
md->setInitializer(root->initializer);
- md->setMaxInitLines(root->initLines);
}
+
+ md->setMaxInitLines(root->initLines);
if (rfd)
{
@@ -8178,7 +8180,7 @@ static int transcodeCharacterBuffer(BufStr &srcBuf,int size,
// reads a file into an array and filters out any 0x00 and 0x06 bytes,
// because these are special for the parser.
-static void copyAndFilterFile(const char *fileName,BufStr &dest)
+void copyAndFilterFile(const char *fileName,BufStr &dest)
{
// try to open file
int size=0;
@@ -8349,7 +8351,7 @@ static void parseFiles(Entry *root,EntryNav *rootNav)
// The directory is read iff the recusiveFlag is set.
// The contents of all files is append to the input string
-static int readDir(QFileInfo *fi,
+int readDir(QFileInfo *fi,
FileNameList *fnList,
FileNameDict *fnDict,
StringDict *exclDict,
@@ -8441,7 +8443,7 @@ static int readDir(QFileInfo *fi,
// read a file or all files in a directory and append their contents to the
// input string. The names of the files are appended to the `fiList' list.
-static int readFileOrDirectory(const char *s,
+int readFileOrDirectory(const char *s,
FileNameList *fnList,
FileNameDict *fnDict,
StringDict *exclDict,
@@ -8450,8 +8452,8 @@ static int readFileOrDirectory(const char *s,
StringList *resultList,
StringDict *resultDict,
bool recursive,
- bool errorIfNotExist=TRUE,
- QDict<void> *killDict = 0
+ bool errorIfNotExist,
+ QDict<void> *killDict
)
{
//printf("killDict=%p count=%d\n",killDict,killDict->count());
@@ -8526,7 +8528,7 @@ static int readFileOrDirectory(const char *s,
//----------------------------------------------------------------------------
-static void readFormulaRepository()
+void readFormulaRepository()
{
QFile f(Config_getString("HTML_OUTPUT")+"/formula.repository");
if (f.open(IO_ReadOnly)) // open repository
@@ -8641,7 +8643,7 @@ static void escapeAliases()
//----------------------------------------------------------------------------
-static void readAliases()
+void readAliases()
{
// add aliases to a dictionary
Doxygen::aliasDict.setAutoDelete(TRUE);
diff --git a/src/doxygen.h b/src/doxygen.h
index bb98dab..4f6c972 100644
--- a/src/doxygen.h
+++ b/src/doxygen.h
@@ -45,6 +45,8 @@ class DirDef;
class ParserManager;
class ObjCache;
class Store;
+class QFileInfo;
+class BufStr;
typedef QList<QCString> StringList;
typedef QDict<FileDef> FileDict;
@@ -123,6 +125,7 @@ class Doxygen
static Store *symbolStorage;
static QCString objDBFileName;
static QCString entryDBFileName;
+ static bool gatherDefines;
};
void initDoxygen();
@@ -130,6 +133,33 @@ void readConfiguration(int argc, char **argv);
void checkConfiguration();
void parseInput();
void generateOutput();
+void readAliases();
+void readFormulaRepository();
+int readFileOrDirectory(const char *s,
+ FileNameList *fnList,
+ FileNameDict *fnDict,
+ StringDict *exclDict,
+ QStrList *patList,
+ QStrList *exclPatList,
+ StringList *resultList,
+ StringDict *resultDict,
+ bool recursive,
+ bool errorIfNotExist=TRUE,
+ QDict<void> *killDict = 0
+ );
+int readDir(QFileInfo *fi,
+ FileNameList *fnList,
+ FileNameDict *fnDict,
+ StringDict *exclDict,
+ QStrList *patList,
+ QStrList *exclPatList,
+ StringList *resultList,
+ StringDict *resultDict,
+ bool errorIfNotExist,
+ bool recursive,
+ QDict<void> *killDict
+ );
+void copyAndFilterFile(const char *fileName,BufStr &dest);
#define NEWMATCH
diff --git a/src/doxygen.pro.in b/src/doxygen.pro.in
index 25fdfb3..e9129d1 100644
--- a/src/doxygen.pro.in
+++ b/src/doxygen.pro.in
@@ -21,12 +21,12 @@ SOURCES = main.cpp
unix:LIBS += -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd5
win32:INCLUDEPATH += .
win32-mingw:LIBS += -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd5
-win32-msvc:LIBS += qtools.lib png.lib md5.lib doxygen.lib doxycfg.lib shell32.lib
+win32-msvc:LIBS += qtools.lib png.lib md5.lib doxygen.lib doxycfg.lib shell32.lib iconv.lib
win32-msvc:TMAKE_LFLAGS += /LIBPATH:..\lib
-win32-borland:LIBS += qtools.lib png.lib md5.lib doxygen.lib doxycfg.lib shell32.lib
+win32-borland:LIBS += qtools.lib png.lib md5.lib doxygen.lib doxycfg.lib shell32.lib iconv.lib
win32-borland:TMAKE_LFLAGS += -L..\lib -L$(BCB)\lib\psdk
win32:TMAKE_CXXFLAGS += -DQT_NODLL
-win32-g++:LIBS = -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd5
+win32-g++:LIBS = -L../lib -ldoxygen -ldoxycfg -lqtools -lpng -lmd5 -liconv
win32-g++:TMAKE_CXXFLAGS += -fno-exceptions -fno-rtti
INCLUDEPATH += ../qtools ../libpng ../libmd5 .
#win32-g++:INCLUDEPATH -= ../libpng
diff --git a/src/entry.cpp b/src/entry.cpp
index ca831c8..77830c0 100644
--- a/src/entry.cpp
+++ b/src/entry.cpp
@@ -23,6 +23,145 @@
#include "section.h"
#include "doxygen.h"
+//------------------------------------------------------------------
+
+#define HEADER ('D'<<24)+('O'<<16)+('X'<<8)+'!'
+
+#if 0
+static bool saveEntry(Entry *e,StorageIntf *f)
+{
+ marshalUInt(f,HEADER);
+ marshalInt(f,(int)e->protection);
+ marshalInt(f,(int)e->mtype);
+ marshalInt(f,e->spec);
+ marshalInt(f,e->initLines);
+ marshalBool(f,e->stat);
+ marshalBool(f,e->explicitExternal);
+ marshalBool(f,e->proto);
+ marshalBool(f,e->subGrouping);
+ marshalBool(f,e->callGraph);
+ marshalBool(f,e->callerGraph);
+ marshalInt(f,(int)e->virt);
+ marshalQCString(f,e->args);
+ marshalQCString(f,e->bitfields);
+ marshalArgumentList(f,e->argList);
+ marshalArgumentLists(f,e->tArgLists);
+ marshalQGString(f,e->program);
+ marshalQGString(f,e->initializer);
+ marshalQCString(f,e->includeFile);
+ marshalQCString(f,e->includeName);
+ marshalQCString(f,e->doc);
+ marshalInt(f,e->docLine);
+ marshalQCString(f,e->docFile);
+ marshalQCString(f,e->brief);
+ marshalInt(f,e->briefLine);
+ marshalQCString(f,e->briefFile);
+ marshalQCString(f,e->inbodyDocs);
+ marshalInt(f,e->inbodyLine);
+ marshalQCString(f,e->inbodyFile);
+ marshalQCString(f,e->relates);
+ marshalBool(f,e->relatesDup);
+ marshalQCString(f,e->read);
+ marshalQCString(f,e->write);
+ marshalQCString(f,e->inside);
+ marshalQCString(f,e->exception);
+ marshalInt(f,e->bodyLine);
+ marshalInt(f,e->endBodyLine);
+ marshalInt(f,e->mGrpId);
+ marshalBaseInfoList(f,e->extends);
+ marshalGroupingList(f,e->groups);
+ marshalSectionInfoList(f,e->anchors);
+ marshalQCString(f,e->fileName);
+ marshalInt(f,e->startLine);
+ marshalItemInfoList(f,e->sli);
+ marshalBool(f,e->objc);
+ marshalBool(f,e->hidden);
+ marshalInt(f,(int)e->groupDocType);
+ return TRUE;
+}
+
+static bool loadEntry(Entry *e,StorageIntf *f)
+{
+ uint header=unmarshalUInt(f);
+ if (header!=HEADER)
+ {
+ printf("Internal error: Invalid header %x for entry in storage file %s\n",
+ header,Doxygen::entryDBFileName.data());
+ exit(1);
+ }
+ e->protection = (Protection)unmarshalInt(f);
+ e->mtype = (MethodTypes)unmarshalInt(f);
+ e->spec = unmarshalInt(f);
+ e->initLines = unmarshalInt(f);
+ e->stat = unmarshalBool(f);
+ e->explicitExternal = unmarshalBool(f);
+ e->proto = unmarshalBool(f);
+ e->subGrouping = unmarshalBool(f);
+ e->callGraph = unmarshalBool(f);
+ e->callerGraph = unmarshalBool(f);
+ e->virt = (Specifier)unmarshalInt(f);
+ e->args = unmarshalQCString(f);
+ e->bitfields = unmarshalQCString(f);
+ delete e->argList;
+ e->argList = unmarshalArgumentList(f);
+ e->tArgLists = unmarshalArgumentLists(f);
+ e->program = unmarshalQGString(f);
+ e->initializer = unmarshalQGString(f);
+ e->includeFile = unmarshalQCString(f);
+ e->includeName = unmarshalQCString(f);
+ e->doc = unmarshalQCString(f);
+ e->docLine = unmarshalInt(f);
+ e->docFile = unmarshalQCString(f);
+ e->brief = unmarshalQCString(f);
+ e->briefLine = unmarshalInt(f);
+ e->briefFile = unmarshalQCString(f);
+ e->inbodyDocs = unmarshalQCString(f);
+ e->inbodyLine = unmarshalInt(f);
+ e->inbodyFile = unmarshalQCString(f);
+ e->relates = unmarshalQCString(f);
+ e->relatesDup = unmarshalBool(f);
+ e->read = unmarshalQCString(f);
+ e->write = unmarshalQCString(f);
+ e->inside = unmarshalQCString(f);
+ e->exception = unmarshalQCString(f);
+ e->bodyLine = unmarshalInt(f);
+ e->endBodyLine = unmarshalInt(f);
+ e->mGrpId = unmarshalInt(f);
+ delete e->extends;
+ e->extends = unmarshalBaseInfoList(f);
+ delete e->groups;
+ e->groups = unmarshalGroupingList(f);
+ delete e->anchors;
+ e->anchors = unmarshalSectionInfoList(f);
+ e->fileName = unmarshalQCString(f);
+ e->startLine = unmarshalInt(f);
+ e->sli = unmarshalItemInfoList(f);
+ e->objc = unmarshalBool(f);
+ e->hidden = unmarshalBool(f);
+ e->groupDocType = (Entry::GroupDocType)unmarshalInt(f);
+ return TRUE;
+}
+#endif
+
+//------------------------------------------------------------------
+
+/*! the argument list is documented if one of its
+ * arguments is documented
+ */
+bool ArgumentList::hasDocumentation() const
+{
+ bool hasDocs=FALSE;
+ ArgumentListIterator ali(*this);
+ Argument *a;
+ for (ali.toFirst();!hasDocs && (a=ali.current());++ali)
+ {
+ hasDocs = hasDocs || a->hasDocumentation();
+ }
+ return hasDocs;
+}
+
+//------------------------------------------------------------------
+
int Entry::num=0;
Entry::Entry()
@@ -303,24 +442,6 @@ void Entry::createNavigationIndex(EntryNav *rootNav,FileStorage *storage,FileDef
}
}
-
-
-
-/*! the argument list is documented if one of its
- * arguments is documented
- */
-bool ArgumentList::hasDocumentation() const
-{
- bool hasDocs=FALSE;
- ArgumentListIterator ali(*this);
- Argument *a;
- for (ali.toFirst();!hasDocs && (a=ali.current());++ali)
- {
- hasDocs = hasDocs || a->hasDocumentation();
- }
- return hasDocs;
-}
-
void Entry::addSpecialListItem(const char *listName,int itemId)
{
if (sli==0)
@@ -336,121 +457,6 @@ void Entry::addSpecialListItem(const char *listName,int itemId)
//------------------------------------------------------------------
-#define HEADER ('D'<<24)+('O'<<16)+('X'<<8)+'!'
-
-static bool saveEntry(Entry *e,FileStorage *f)
-{
- marshalUInt(f,HEADER);
- marshalInt(f,(int)e->protection);
- marshalInt(f,(int)e->mtype);
- marshalInt(f,e->spec);
- marshalInt(f,e->initLines);
- marshalBool(f,e->stat);
- marshalBool(f,e->explicitExternal);
- marshalBool(f,e->proto);
- marshalBool(f,e->subGrouping);
- marshalBool(f,e->callGraph);
- marshalBool(f,e->callerGraph);
- marshalInt(f,(int)e->virt);
- marshalQCString(f,e->args);
- marshalQCString(f,e->bitfields);
- marshalArgumentList(f,e->argList);
- marshalArgumentLists(f,e->tArgLists);
- marshalQGString(f,e->program);
- marshalQGString(f,e->initializer);
- marshalQCString(f,e->includeFile);
- marshalQCString(f,e->includeName);
- marshalQCString(f,e->doc);
- marshalInt(f,e->docLine);
- marshalQCString(f,e->docFile);
- marshalQCString(f,e->brief);
- marshalInt(f,e->briefLine);
- marshalQCString(f,e->briefFile);
- marshalQCString(f,e->inbodyDocs);
- marshalInt(f,e->inbodyLine);
- marshalQCString(f,e->inbodyFile);
- marshalQCString(f,e->relates);
- marshalBool(f,e->relatesDup);
- marshalQCString(f,e->read);
- marshalQCString(f,e->write);
- marshalQCString(f,e->inside);
- marshalQCString(f,e->exception);
- marshalInt(f,e->bodyLine);
- marshalInt(f,e->endBodyLine);
- marshalInt(f,e->mGrpId);
- marshalBaseInfoList(f,e->extends);
- marshalGroupingList(f,e->groups);
- marshalSectionInfoList(f,e->anchors);
- marshalQCString(f,e->fileName);
- marshalInt(f,e->startLine);
- marshalItemInfoList(f,e->sli);
- marshalBool(f,e->objc);
- marshalBool(f,e->hidden);
- marshalInt(f,(int)e->groupDocType);
- return TRUE;
-}
-
-static bool loadEntry(Entry *e,FileStorage *f)
-{
- uint header=unmarshalUInt(f);
- if (header!=HEADER)
- {
- printf("Internal error: Invalid header %x for entry in storage file %s\n",
- header,Doxygen::entryDBFileName.data());
- exit(1);
- }
- e->protection = (Protection)unmarshalInt(f);
- e->mtype = (MethodTypes)unmarshalInt(f);
- e->spec = unmarshalInt(f);
- e->initLines = unmarshalInt(f);
- e->stat = unmarshalBool(f);
- e->explicitExternal = unmarshalBool(f);
- e->proto = unmarshalBool(f);
- e->subGrouping = unmarshalBool(f);
- e->callGraph = unmarshalBool(f);
- e->callerGraph = unmarshalBool(f);
- e->virt = (Specifier)unmarshalInt(f);
- e->args = unmarshalQCString(f);
- e->bitfields = unmarshalQCString(f);
- delete e->argList;
- e->argList = unmarshalArgumentList(f);
- e->tArgLists = unmarshalArgumentLists(f);
- e->program = unmarshalQGString(f);
- e->initializer = unmarshalQGString(f);
- e->includeFile = unmarshalQCString(f);
- e->includeName = unmarshalQCString(f);
- e->doc = unmarshalQCString(f);
- e->docLine = unmarshalInt(f);
- e->docFile = unmarshalQCString(f);
- e->brief = unmarshalQCString(f);
- e->briefLine = unmarshalInt(f);
- e->briefFile = unmarshalQCString(f);
- e->inbodyDocs = unmarshalQCString(f);
- e->inbodyLine = unmarshalInt(f);
- e->inbodyFile = unmarshalQCString(f);
- e->relates = unmarshalQCString(f);
- e->relatesDup = unmarshalBool(f);
- e->read = unmarshalQCString(f);
- e->write = unmarshalQCString(f);
- e->inside = unmarshalQCString(f);
- e->exception = unmarshalQCString(f);
- e->bodyLine = unmarshalInt(f);
- e->endBodyLine = unmarshalInt(f);
- e->mGrpId = unmarshalInt(f);
- delete e->extends;
- e->extends = unmarshalBaseInfoList(f);
- delete e->groups;
- e->groups = unmarshalGroupingList(f);
- delete e->anchors;
- e->anchors = unmarshalSectionInfoList(f);
- e->fileName = unmarshalQCString(f);
- e->startLine = unmarshalInt(f);
- e->sli = unmarshalItemInfoList(f);
- e->objc = unmarshalBool(f);
- e->hidden = unmarshalBool(f);
- e->groupDocType = (Entry::GroupDocType)unmarshalInt(f);
- return TRUE;
-}
EntryNav::EntryNav(EntryNav *parent, Entry *e)
: m_parent(parent), m_subList(0), m_section(e->section), m_type(e->type),
@@ -507,11 +513,7 @@ bool EntryNav::loadEntry(FileStorage *storage)
return FALSE;
}
//delete m_info;
- if (m_info==0) m_info = new Entry;
//printf("EntryNav::loadEntry: new entry %p: %s\n",m_info,m_name.data());
- m_info->name = m_name;
- m_info->type = m_type;
- m_info->section = m_section;
//m_info->tagInfo = m_tagInfo;
//if (m_parent)
//{
@@ -524,14 +526,20 @@ bool EntryNav::loadEntry(FileStorage *storage)
//printf("seek failed!\n");
return FALSE;
}
- return ::loadEntry(m_info,storage);
+ if (m_info) delete m_info;
+ m_info = unmarshalEntry(storage);
+ m_info->name = m_name;
+ m_info->type = m_type;
+ m_info->section = m_section;
+ return TRUE;
}
bool EntryNav::saveEntry(Entry *e,FileStorage *storage)
{
m_offset = storage->pos();
//printf("EntryNav::saveEntry offset=%llx\n",m_offset);
- return ::saveEntry(e,storage);
+ marshalEntry(storage,e);
+ return TRUE;
}
void EntryNav::releaseEntry()
diff --git a/src/entry.h b/src/entry.h
index 8c45ad0..ede809c 100644
--- a/src/entry.h
+++ b/src/entry.h
@@ -28,6 +28,7 @@ class QFile;
class EntryNav;
class FileDef;
class FileStorage;
+class StorageIntf;
enum Protection { Public, Protected, Private, Package } ;
enum Specifier { Normal, Virtual, Pure } ;
@@ -302,6 +303,8 @@ class Entry
* at construction time.
*/
void reset();
+ void marshall(StorageIntf *);
+ void unmarshall(StorageIntf *);
public:
diff --git a/src/language.cpp b/src/language.cpp
index 1168bef..a1d043f 100644
--- a/src/language.cpp
+++ b/src/language.cpp
@@ -166,7 +166,7 @@ bool setTranslator(const char *langName)
#ifdef LANG_CZ
else if (L_EQUAL("czech"))
{
- theTranslator=new TranslatorDecoder(new TranslatorCzech);
+ theTranslator=new TranslatorCzech;
}
#endif
#ifdef LANG_FR
diff --git a/src/marshal.cpp b/src/marshal.cpp
index de659b1..a08c20a 100644
--- a/src/marshal.cpp
+++ b/src/marshal.cpp
@@ -10,6 +10,7 @@
#include "groupdef.h"
#include "example.h"
+#define HEADER ('D'<<24)+('O'<<16)+('X'<<8)+'!'
void marshalInt(StorageIntf *s,int v)
{
@@ -349,6 +350,72 @@ void marshalMemberLists(StorageIntf *s,SDict<MemberList> *mls)
}
}
+void marshalEntry(StorageIntf *s,Entry *e)
+{
+ marshalUInt(s,HEADER);
+ marshalQCString(s,e->name);
+ marshalQCString(s,e->type);
+ marshalInt(s,e->section);
+ marshalInt(s,(int)e->protection);
+ marshalInt(s,(int)e->mtype);
+ marshalInt(s,e->spec);
+ marshalInt(s,e->initLines);
+ marshalBool(s,e->stat);
+ marshalBool(s,e->explicitExternal);
+ marshalBool(s,e->proto);
+ marshalBool(s,e->subGrouping);
+ marshalBool(s,e->callGraph);
+ marshalBool(s,e->callerGraph);
+ marshalInt(s,(int)e->virt);
+ marshalQCString(s,e->args);
+ marshalQCString(s,e->bitfields);
+ marshalArgumentList(s,e->argList);
+ marshalArgumentLists(s,e->tArgLists);
+ marshalQGString(s,e->program);
+ marshalQGString(s,e->initializer);
+ marshalQCString(s,e->includeFile);
+ marshalQCString(s,e->includeName);
+ marshalQCString(s,e->doc);
+ marshalInt(s,e->docLine);
+ marshalQCString(s,e->docFile);
+ marshalQCString(s,e->brief);
+ marshalInt(s,e->briefLine);
+ marshalQCString(s,e->briefFile);
+ marshalQCString(s,e->inbodyDocs);
+ marshalInt(s,e->inbodyLine);
+ marshalQCString(s,e->inbodyFile);
+ marshalQCString(s,e->relates);
+ marshalBool(s,e->relatesDup);
+ marshalQCString(s,e->read);
+ marshalQCString(s,e->write);
+ marshalQCString(s,e->inside);
+ marshalQCString(s,e->exception);
+ marshalInt(s,e->bodyLine);
+ marshalInt(s,e->endBodyLine);
+ marshalInt(s,e->mGrpId);
+ marshalBaseInfoList(s,e->extends);
+ marshalGroupingList(s,e->groups);
+ marshalSectionInfoList(s,e->anchors);
+ marshalQCString(s,e->fileName);
+ marshalInt(s,e->startLine);
+ marshalItemInfoList(s,e->sli);
+ marshalBool(s,e->objc);
+ marshalBool(s,e->hidden);
+ marshalInt(s,(int)e->groupDocType);
+}
+
+void marshalEntryTree(StorageIntf *s,Entry *e)
+{
+ marshalEntry(s,e);
+ marshalUInt(s,e->children()->count());
+ QListIterator<Entry> eli(*e->children());
+ Entry *child;
+ for (eli.toFirst();(child=eli.current());++eli)
+ {
+ marshalEntryTree(s,child);
+ }
+}
+
//------------------------------------------------------------------
int unmarshalInt(StorageIntf *s)
@@ -664,4 +731,75 @@ SDict<MemberList> *unmarshalMemberLists(StorageIntf *s)
return result;
}
-
+Entry * unmarshalEntry(StorageIntf *s)
+{
+ Entry *e = new Entry;
+ uint header=unmarshalUInt(s);
+ ASSERT(header==HEADER);
+ e->name = unmarshalQCString(s);
+ e->type = unmarshalQCString(s);
+ e->section = unmarshalInt(s);
+ e->protection = (Protection)unmarshalInt(s);
+ e->mtype = (MethodTypes)unmarshalInt(s);
+ e->spec = unmarshalInt(s);
+ e->initLines = unmarshalInt(s);
+ e->stat = unmarshalBool(s);
+ e->explicitExternal = unmarshalBool(s);
+ e->proto = unmarshalBool(s);
+ e->subGrouping = unmarshalBool(s);
+ e->callGraph = unmarshalBool(s);
+ e->callerGraph = unmarshalBool(s);
+ e->virt = (Specifier)unmarshalInt(s);
+ e->args = unmarshalQCString(s);
+ e->bitfields = unmarshalQCString(s);
+ delete e->argList;
+ e->argList = unmarshalArgumentList(s);
+ e->tArgLists = unmarshalArgumentLists(s);
+ e->program = unmarshalQGString(s);
+ e->initializer = unmarshalQGString(s);
+ e->includeFile = unmarshalQCString(s);
+ e->includeName = unmarshalQCString(s);
+ e->doc = unmarshalQCString(s);
+ e->docLine = unmarshalInt(s);
+ e->docFile = unmarshalQCString(s);
+ e->brief = unmarshalQCString(s);
+ e->briefLine = unmarshalInt(s);
+ e->briefFile = unmarshalQCString(s);
+ e->inbodyDocs = unmarshalQCString(s);
+ e->inbodyLine = unmarshalInt(s);
+ e->inbodyFile = unmarshalQCString(s);
+ e->relates = unmarshalQCString(s);
+ e->relatesDup = unmarshalBool(s);
+ e->read = unmarshalQCString(s);
+ e->write = unmarshalQCString(s);
+ e->inside = unmarshalQCString(s);
+ e->exception = unmarshalQCString(s);
+ e->bodyLine = unmarshalInt(s);
+ e->endBodyLine = unmarshalInt(s);
+ e->mGrpId = unmarshalInt(s);
+ delete e->extends;
+ e->extends = unmarshalBaseInfoList(s);
+ delete e->groups;
+ e->groups = unmarshalGroupingList(s);
+ delete e->anchors;
+ e->anchors = unmarshalSectionInfoList(s);
+ e->fileName = unmarshalQCString(s);
+ e->startLine = unmarshalInt(s);
+ e->sli = unmarshalItemInfoList(s);
+ e->objc = unmarshalBool(s);
+ e->hidden = unmarshalBool(s);
+ e->groupDocType = (Entry::GroupDocType)unmarshalInt(s);
+ return e;
+}
+
+Entry * unmarshalEntryTree(StorageIntf *s)
+{
+ Entry *e = unmarshalEntry(s);
+ uint count = unmarshalUInt(s);
+ uint i;
+ for (i=0;i<count;i++)
+ {
+ e->addSubEntry(unmarshalEntryTree(s));
+ }
+ return e;
+}
diff --git a/src/marshal.h b/src/marshal.h
index 26c7571..a30c431 100644
--- a/src/marshal.h
+++ b/src/marshal.h
@@ -21,6 +21,7 @@ struct DocInfo;
struct BriefInfo;
class MemberList;
class ExampleSDict;
+class Entry;
#define NULL_LIST 0xffffffff
@@ -33,6 +34,49 @@ class FileStorage : public QFile, public StorageIntf
int write(const char *buf,uint size) { return QFile::writeBlock(buf,size); }
};
+class StreamStorage : public StorageIntf
+{
+ public:
+ StreamStorage()
+ {
+ m_data=0;
+ m_offset=0;
+ m_len=0;
+ }
+ ~StreamStorage()
+ {
+ delete m_data;
+ }
+ StreamStorage(char *data,uint len)
+ {
+ m_data=data;
+ m_offset=0;
+ m_len=len;
+ }
+ int read(char *buf,uint size)
+ {
+ int bytesLeft = QMIN((int)size,m_len-m_offset);
+ if (bytesLeft>0) memcpy(buf,m_data,bytesLeft);
+ m_offset+=bytesLeft;
+ return bytesLeft;
+ }
+ int write(const char *buf,uint size)
+ {
+ m_data=(char *)realloc(m_data,m_offset+size);
+ memcpy(m_data+m_offset,buf,size);
+ m_offset+=size;
+ m_len+=size;
+ return size;
+ }
+ void rewind() { m_offset=0; }
+ char *data() const { return m_data; }
+ int size() { return m_len; }
+ private:
+ char *m_data;
+ int m_offset;
+ int m_len;
+};
+
//----- marshaling function: datatype -> byte stream --------------------
void marshalInt(StorageIntf *s,int v);
@@ -56,6 +100,8 @@ void marshalGroupList(StorageIntf *s,GroupList *groupList);
void marshalMemberList(StorageIntf *s,MemberList *ml);
void marshalExampleSDict(StorageIntf *s,ExampleSDict *ed);
void marshalMemberLists(StorageIntf *s,SDict<MemberList> *mls);
+void marshalEntry(StorageIntf *s,Entry *e);
+void marshalEntryTree(StorageIntf *s,Entry *e);
//----- unmarshaling function: byte stream -> datatype ------------------
@@ -80,5 +126,7 @@ GroupList * unmarshalGroupList(StorageIntf *s);
MemberList * unmarshalMemberList(StorageIntf *s);
ExampleSDict * unmarshalExampleSDict(StorageIntf *s);
SDict<MemberList> * unmarshalMemberLists(StorageIntf *s);
+Entry * unmarshalEntry(StorageIntf *s);
+Entry * unmarshalEntryTree(StorageIntf *s);
#endif
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index e149cc9..d00516b 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -3436,8 +3436,11 @@ void MemberDef::setBitfields(const char *s)
void MemberDef::setMaxInitLines(int lines)
{
- makeResident();
- m_impl->userInitLines=lines;
+ if (lines!=-1)
+ {
+ makeResident();
+ m_impl->userInitLines=lines;
+ }
}
void MemberDef::setExplicitExternal(bool b)
diff --git a/src/msc.cpp b/src/msc.cpp
index afde2ed..aa4ad88 100644
--- a/src/msc.cpp
+++ b/src/msc.cpp
@@ -98,7 +98,7 @@ void writeMscGraphFromFile(const char *inFile,const char *outDir,
// go to the html output directory (i.e. path)
QDir::setCurrent(outDir);
//printf("Going to dir %s\n",QDir::currentDirPath().data());
- QCString mscExe = /*Config_getString("MSC_PATH")+*/ "mscgen";
+ QCString mscExe = Config_getString("MSC_PATH")+"mscgen"+portable_commandExtension();
QCString mscArgs;
QCString extension;
if (format==MSC_BITMAP)
diff --git a/src/perlmodgen.cpp b/src/perlmodgen.cpp
index dadc439..b6a2cd3 100644
--- a/src/perlmodgen.cpp
+++ b/src/perlmodgen.cpp
@@ -1692,10 +1692,13 @@ void PerlModGenerator::generatePerlModForClass(ClassDef *cd)
addTemplateList(cd,m_output);
addListOfAllMembers(cd);
- MemberGroupSDict::Iterator mgli(*cd->getMemberGroupSDict());
- MemberGroup *mg;
- for (;(mg=mgli.current());++mgli)
- generatePerlModSection(cd,mg->members(),"user_defined",mg->header());
+ if (cd->getMemberGroupSDict())
+ {
+ MemberGroupSDict::Iterator mgli(*cd->getMemberGroupSDict());
+ MemberGroup *mg;
+ for (;(mg=mgli.current());++mgli)
+ generatePerlModSection(cd,mg->members(),"user_defined",mg->header());
+ }
generatePerlModSection(cd,cd->getMemberList(MemberList::pubTypes),"public_typedefs");
generatePerlModSection(cd,cd->getMemberList(MemberList::pubMethods),"public_methods");
@@ -1795,10 +1798,13 @@ void PerlModGenerator::generatePerlModForNamespace(NamespaceDef *nd)
m_output.closeList();
}
- MemberGroupSDict::Iterator mgli(*nd->getMemberGroupSDict());
- MemberGroup *mg;
- for (;(mg=mgli.current());++mgli)
- generatePerlModSection(nd,mg->members(),"user-defined",mg->header());
+ if (nd->getMemberGroupSDict())
+ {
+ MemberGroupSDict::Iterator mgli(*nd->getMemberGroupSDict());
+ MemberGroup *mg;
+ for (;(mg=mgli.current());++mgli)
+ generatePerlModSection(nd,mg->members(),"user-defined",mg->header());
+ }
generatePerlModSection(nd,nd->getMemberList(MemberList::decDefineMembers),"defines");
generatePerlModSection(nd,nd->getMemberList(MemberList::decProtoMembers),"prototypes");
@@ -1967,10 +1973,13 @@ void PerlModGenerator::generatePerlModForGroup(GroupDef *gd)
m_output.closeList();
}
- MemberGroupSDict::Iterator mgli(*gd->getMemberGroupSDict());
- MemberGroup *mg;
- for (;(mg=mgli.current());++mgli)
- generatePerlModSection(gd,mg->members(),"user-defined",mg->header());
+ if (gd->getMemberGroupSDict())
+ {
+ MemberGroupSDict::Iterator mgli(*gd->getMemberGroupSDict());
+ MemberGroup *mg;
+ for (;(mg=mgli.current());++mgli)
+ generatePerlModSection(gd,mg->members(),"user-defined",mg->header());
+ }
generatePerlModSection(gd,gd->getMemberList(MemberList::decDefineMembers),"defines");
generatePerlModSection(gd,gd->getMemberList(MemberList::decProtoMembers),"prototypes");
diff --git a/src/portable.cpp b/src/portable.cpp
index 8a0d6e5..dc276d1 100644
--- a/src/portable.cpp
+++ b/src/portable.cpp
@@ -373,16 +373,16 @@ void * portable_iconv_open(const char* tocode, const char* fromcode)
size_t portable_iconv (void *cd, const char** inbuf, size_t *inbytesleft,
char** outbuf, size_t *outbytesleft)
{
-#if (defined(_LIBICONV_VERSION) && (_LIBICONV_VERSION==0x0109))
+#if ((defined(_LIBICONV_VERSION) && (_LIBICONV_VERSION>=0x0109)) || defined(_OS_SOLARIS_))
#define CASTNEEDED(x) (x)
#else
#define CASTNEEDED(x) (char **)(x)
#endif
- return iconv(cd,CASTNEEDED(inbuf),inbytesleft,outbuf,outbytesleft);
+ return iconv((iconv_t)cd,CASTNEEDED(inbuf),inbytesleft,outbuf,outbytesleft);
}
int portable_iconv_close (void *cd)
{
- return iconv_close(cd);
+ return iconv_close((iconv_t)cd);
}
diff --git a/src/pre.l b/src/pre.l
index 701e02e..f46a138 100644
--- a/src/pre.l
+++ b/src/pre.l
@@ -1006,7 +1006,8 @@ Define *newDefine()
void addDefine()
{
if (g_skip) return; // do not add this define as it is inside a
- // conditional section (@cond command) that is disabled.
+ // conditional section (cond command) that is disabled.
+ if (!Doxygen::gatherDefines) return;
//printf("addDefine %s %s\n",g_defName.data(),g_defArgsStr.data());
//ArgumentList *al = new ArgumentList;
diff --git a/src/pyscanner.l b/src/pyscanner.l
index e6bacc5..913f88e 100644
--- a/src/pyscanner.l
+++ b/src/pyscanner.l
@@ -829,6 +829,11 @@ STARTDOCSYMS ^{B}"##"/[^#]
current->name = current->name.stripWhiteSpace();
newFunction();
}
+ {B}":" { // function without arguments
+ g_specialBlock = TRUE; // expecting a docstring
+ bodyEntry = current;
+ BEGIN( FunctionBody );
+ }
{B}"(" {
BEGIN( FunctionParams );
@@ -1110,7 +1115,7 @@ STARTDOCSYMS ^{B}"##"/[^#]
g_stringContext=VariableEnd;
BEGIN(TripleString);
}
- "(" { // typle
+ "(" { // tuple
current->type = "tuple";
current->initializer+=*yytext;
g_atomStart='(';
@@ -1168,6 +1173,12 @@ STARTDOCSYMS ^{B}"##"/[^#]
BEGIN(VariableEnd);
}
}
+ "\"" {
+ g_stringContext=YY_START;
+ current->initializer+="\"";
+ g_copyString=&current->initializer;
+ BEGIN( DoubleQuoteString );
+ }
{IDENTIFIER} {
current->initializer+=yytext;
}
diff --git a/src/scanner.l b/src/scanner.l
index d3ad412..8fd1672 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -160,7 +160,7 @@ static int docBlockContext;
static QCString docBlock;
static QCString docBlockName;
static bool docBlockInBody;
-static bool docBlockJavaStyle;
+static bool docBlockAutoBrief;
static char docBlockTerm;
static QCString idlAttr;
@@ -614,6 +614,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
%x SkipSharp
%x SkipRound
%x SkipSquare
+%x SkipRemainder
%x TypedefName
%x TryFunctionBlock
%x TryFunctionBlockEnd
@@ -1992,7 +1993,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
}
docBlockContext = YY_START;
docBlockInBody = FALSE;
- docBlockJavaStyle = yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF");
+ docBlockAutoBrief = ( yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF") ) ||
+ ( yytext[yyleng-2]=='!' && Config_getBool("QT_AUTOBRIEF") );
docBlock.resize(0);
docBlockTerm = ';';
if (yytext[yyleng-3]=='/')
@@ -2010,7 +2012,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
lineCount();
docBlockContext = YY_START;
docBlockInBody = FALSE;
- docBlockJavaStyle = yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF");
+ docBlockAutoBrief = ( yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF") ) ||
+ ( yytext[yyleng-2]=='!' && Config_getBool("QT_AUTOBRIEF") );
docBlock.resize(0);
docBlockTerm = ',';
if (yytext[yyleng-3]=='/')
@@ -2032,7 +2035,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
}
docBlockContext = YY_START;
docBlockInBody = FALSE;
- docBlockJavaStyle = yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF");
+ docBlockAutoBrief = ( yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF") ) ||
+ ( yytext[yyleng-2]=='!' && Config_getBool("QT_AUTOBRIEF") );
docBlock.resize(0);
docBlockTerm = 0;
if (yytext[yyleng-3]=='/')
@@ -2072,7 +2076,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
{
docBlockContext = YY_START;
docBlockInBody = FALSE;
- docBlockJavaStyle = FALSE;
+ docBlockAutoBrief = FALSE;
docBlock.resize(0);
docBlockTerm = 0;
startCommentBlock(TRUE);
@@ -2091,7 +2095,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
docBlockContext = YY_START;
docBlockInBody = FALSE;
docBlock.resize(0);
- docBlockJavaStyle = yytext[2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF");
+ docBlockAutoBrief = ( yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF") ) ||
+ ( yytext[yyleng-2]=='!' && Config_getBool("QT_AUTOBRIEF") );
docBlockTerm = 0;
startCommentBlock(FALSE);
BEGIN(DocBlock);
@@ -2701,6 +2706,31 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
initBracketCount=0;
BEGIN(ReadInitializer);
}
+<FindFields>";" {
+ if (insideJava) // last enum field in Java class
+ {
+ current->fileName = yyFileName;
+ current->startLine = yyLineNr;
+ current->type = "@"; // enum marker
+ current->args = current->args.simplifyWhiteSpace();
+ current->name = current->name.stripWhiteSpace();
+ current->section = Entry::VARIABLE_SEC;
+ current_root->addSubEntry(current);
+ current = new Entry ;
+ initEntry();
+
+ // TODO: skip until the end of the scope
+ BEGIN( SkipRemainder );
+ }
+ else
+ {
+ REJECT;
+ }
+ }
+<SkipRemainder>\n {
+ yyLineNr++;
+ }
+<SkipRemainder>[^\n]*
<FindFields>"," {
//printf("adding `%s' `%s' `%s' to enum `%s' (mGrpId=%d)\n",
// current->type.data(), current->name.data(),
@@ -3884,7 +3914,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
docBlockContext = SkipCurlyEndDoc;
docBlockInBody = FALSE;
- docBlockJavaStyle = yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF");
+ docBlockAutoBrief = ( yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF") ) ||
+ ( yytext[yyleng-2]=='!' && Config_getBool("QT_AUTOBRIEF") );
docBlock.resize(0);
docBlockTerm = '}';
if (yytext[yyleng-3]=='/')
@@ -3902,7 +3933,8 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
<SkipCurlyEndDoc>"}"{BN}*("/*!"|"/**"|"//!"|"///")"<" { // desc is followed by another one
docBlockContext = SkipCurlyEndDoc;
docBlockInBody = FALSE;
- docBlockJavaStyle = yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF");
+ docBlockAutoBrief = ( yytext[yyleng-2]=='*' && Config_getBool("JAVADOC_AUTOBRIEF") ) ||
+ ( yytext[yyleng-2]=='!' && Config_getBool("QT_AUTOBRIEF") );
docBlock.resize(0);
docBlockTerm = '}';
if (yytext[yyleng-3]=='/')
@@ -4493,8 +4525,21 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
}
docBlockContext = YY_START;
docBlockInBody = YY_START==SkipCurly;
- docBlockJavaStyle = FALSE;
+ docBlockAutoBrief = Config_getBool("QT_AUTOBRIEF");
docBlock.resize(0);
+ if (docBlockAutoBrief)
+ {
+ current->briefLine = yyLineNr;
+ current->briefFile = yyFileName;
+ }
+ if (!docBlockInBody)
+ {
+ current->doc.resize(0);
+ if (docBlockAutoBrief)
+ {
+ current->brief.resize(0);
+ }
+ }
startCommentBlock(FALSE);
BEGIN( DocBlock );
}
@@ -4514,9 +4559,9 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
current->docFile = yyFileName;
docBlockContext = YY_START;
docBlockInBody = YY_START==SkipCurly;
- docBlockJavaStyle = Config_getBool("JAVADOC_AUTOBRIEF");
+ docBlockAutoBrief = Config_getBool("JAVADOC_AUTOBRIEF");
docBlock.resize(0);
- if (docBlockJavaStyle)
+ if (docBlockAutoBrief)
{
current->briefLine = yyLineNr;
current->briefFile = yyFileName;
@@ -4524,7 +4569,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
if (!docBlockInBody)
{
current->doc.resize(0);
- if (docBlockJavaStyle)
+ if (docBlockAutoBrief)
{
current->brief.resize(0);
}
@@ -4551,7 +4596,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
}
docBlockContext = YY_START;
docBlockInBody = YY_START==SkipCurly;
- docBlockJavaStyle = FALSE;
+ docBlockAutoBrief = FALSE;
docBlock.resize(0);
startCommentBlock(TRUE);
BEGIN( DocLine );
@@ -4575,7 +4620,7 @@ TYPEDEFPREFIX (("typedef"{BN}+)?)((("volatile"|"const"){BN}+)?)
}
docBlockContext = YY_START;
docBlockInBody = YY_START==SkipCurly;
- docBlockJavaStyle = FALSE;
+ docBlockAutoBrief = FALSE;
docBlock.resize(0);
startCommentBlock(TRUE);
BEGIN( DocLine );
@@ -4932,7 +4977,7 @@ static void handleCommentBlock(const QCString &doc,bool brief)
yyFileName, // file
brief ? current->briefLine : current->docLine, // line of block start
docBlockInBody ? FALSE : brief,
- docBlockInBody ? FALSE : docBlockJavaStyle,
+ docBlockInBody ? FALSE : docBlockAutoBrief,
docBlockInBody,
protection,
position,
diff --git a/src/translator_cz.h b/src/translator_cz.h
index ef261ed..17d2b39 100644
--- a/src/translator_cz.h
+++ b/src/translator_cz.h
@@ -46,7 +46,7 @@
// introducing TranslatorAdapter class and the abstract base
// class Translator. The English translator is now on the same
// level as other translators.
-// 2001/05/02 - Decode() inline changed to decode(); cleaning.
+// 2001/05/02 - ) inline changed to ); cleaning.
// 2001/05/18 - Updates, corrections.
// 2001/05/25 - Corrections.
// 2001/07/16 - trClassDocumentation() updated as in the English translator.
@@ -69,6 +69,7 @@
// modified trCallGraph() to make the meaning unambiguous
// and clear in the Czech language.
// 2006/06/13 - translation of the trEnumerationValueDocumentation().
+// 2007/03/20 - removing ), conversion of literals to UTF-8.
// Todo
// ----
@@ -80,32 +81,16 @@
// Notices:
// --------
// The conditional compilation ensures or the neutral functionality
-// of the private inline decode(), or calling the WinToISO() method
+// of the private inline ), or calling the WinToISO() method
// for on-line encoding conversion. If you want to maintain the
// source in the iso-8859-2, do convert the encoding of the source,
-// change the conditional definition of the inline decode() using the
+// change the conditional definition of the inline ) using the
// method ISO88592ToWin1250() -- for conversion of strings for the
// Windows version. The version which does not call the function is
// probably slightly faster.
class TranslatorCzech : public Translator
{
- private:
- /*! The decode() inline assumes the source written in the
- Windows encoding (maintainer only dependent).
- */
- inline QCString decode(const QCString & sInput)
- {
- //if (Config_getBool("USE_WINDOWS_ENCODING"))
- //{
- return sInput;
- //}
- //else
- //{
- // return Win1250ToISO88592(sInput);
- //}
- }
-
public:
// --- Language control methods -------------------
@@ -123,7 +108,7 @@ class TranslatorCzech : public Translator
{
//if (Config_getBool("USE_WINDOWS_ENCODING"))
//{
- return "windows-1250";
+ return "utf-8";
//}
//else
//{
@@ -135,83 +120,83 @@ class TranslatorCzech : public Translator
/*! used in the compound documentation before a list of related functions. */
virtual QCString trRelatedFunctions()
- { return decode("Souvisejc funkce"); }
+ { return "Související funkce"; }
/*! subscript for the related functions. */
virtual QCString trRelatedSubscript()
- { return decode("(Uveden funkce nejsou lenskmi funkcemi.)"); }
+ { return "(Uvedené funkce nejsou členskými funkcemi.)"; }
/*! header that is put before the detailed description of files, classes and namespaces. */
virtual QCString trDetailedDescription()
- { return decode("Detailn popis"); }
+ { return "Detailní popis"; }
/*! header that is put before the list of typedefs. */
virtual QCString trMemberTypedefDocumentation()
- { return decode("Dokumentace k lenskm typm"); }
+ { return "Dokumentace k členským typům"; }
/*! header that is put before the list of enumerations. */
virtual QCString trMemberEnumerationDocumentation()
- { return decode("Dokumentace k lenskm vtm"); }
+ { return "Dokumentace k členským výčtům"; }
/*! header that is put before the list of member functions. */
virtual QCString trMemberFunctionDocumentation()
- { return decode("Dokumentace k metodm"); }
+ { return "Dokumentace k metodám"; }
/*! header that is put before the list of member attributes. */
virtual QCString trMemberDataDocumentation()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- return decode("Dokumentace k polokm");
+ return "Dokumentace k položkám";
}
else
{
- return decode("Dokumentace k datovm lenm");
+ return "Dokumentace k datovým členům";
}
}
/*! this is the text of a link put after brief descriptions. */
virtual QCString trMore()
- { return decode("..."); }
+ { return "..."; }
/*! put in the class documentation */
virtual QCString trListOfAllMembers()
- { return decode("Seznam vech len."); }
+ { return "Seznam všech členů."; }
/*! used as the title of the "list of all members" page of a class */
virtual QCString trMemberList()
- { return decode("Seznam len tdy"); }
+ { return "Seznam členů třídy"; }
/*! this is the first part of a sentence that is followed by a class name */
virtual QCString trThisIsTheListOfAllMembers()
- { return decode("Zde naleznete pln seznam len tdy "); }
+ { return "Zde naleznete úplný seznam členů třídy "; }
/*! this is the remainder of the sentence after the class name */
virtual QCString trIncludingInheritedMembers()
- { return decode(", vetn vech zddnch len."); }
+ { return ", včetně všech zděděných členů."; }
/*! this is put at the author sections at the bottom of man pages.
* parameter s is name of the project name.
*/
virtual QCString trGeneratedAutomatically(const char *s)
- { QCString result="Generovno automaticky programem Doxygen "
- "ze zdrojovch text";
- if (s) result+=(QCString)" projektu "+s;
- result+=".";
- return decode(result);
+ { QCString result("Generováno automaticky programem Doxygen "
+ "ze zdrojových textů");
+ if (s) result += QCString(" projektu ") + s;
+ result += ".";
+ return result;
}
/*! put after an enum name in the list of all members */
virtual QCString trEnumName()
- { return decode("jmno vtu"); }
+ { return "jméno výčtu"; }
/*! put after an enum value in the list of all members */
virtual QCString trEnumValue()
- { return decode("hodnota vtu"); }
+ { return "hodnota výčtu"; }
/*! put after an undocumented member in the list of all members */
virtual QCString trDefinedIn()
- { return decode("definovn v"); }
+ { return "definován v"; }
// quick reference sections
@@ -219,39 +204,39 @@ class TranslatorCzech : public Translator
* compounds or files (see the \\group command).
*/
virtual QCString trModules()
- { return decode("Moduly"); }
+ { return "Moduly"; }
/*! This is put above each page as a link to the class hierarchy */
virtual QCString trClassHierarchy()
- { return decode("Hierarchie td"); }
+ { return "Hierarchie tříd"; }
/*! This is put above each page as a link to the list of annotated classes */
virtual QCString trCompoundList()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- return decode("Datov struktury");
+ return "Datové struktury";
}
else
{
- return decode("Seznam td");
+ return "Seznam tříd";
}
}
/*! This is put above each page as a link to the list of documented files */
virtual QCString trFileList()
- { return decode("Seznam soubor"); }
+ { return "Seznam souborů"; }
/*! This is put above each page as a link to all members of compounds. */
virtual QCString trCompoundMembers()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- return decode("Datov poloky");
+ return "Datové položky";
}
else
{
- return decode("Seznam len td");
+ return "Seznam členů tříd";
}
}
@@ -260,39 +245,39 @@ class TranslatorCzech : public Translator
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- return decode("Globln symboly");
+ return "Globální symboly";
}
else
{
- return decode("Symboly v souborech");
+ return "Symboly v souborech";
}
}
/*! This is put above each page as a link to all related pages. */
virtual QCString trRelatedPages()
- { return decode("Ostatn strnky"); }
+ { return "Ostatní stránky"; }
/*! This is put above each page as a link to all examples. */
virtual QCString trExamples()
- { return decode("Pklady"); }
+ { return "Příklady"; }
/*! This is put above each page as a link to the search engine. */
virtual QCString trSearch()
- { return decode("Hledat"); }
+ { return "Hledat"; }
/*! This is an introduction to the class hierarchy. */
virtual QCString trClassHierarchyDescription()
- { return decode("Zde naleznete seznam, vyjadujc vztah ddinosti td. "
- "Je seazen piblin (ale ne pln) podle abecedy:");
+ { return "Zde naleznete seznam, vyjadřující vztah dědičnosti tříd. "
+ "Je seřazen přibližně (ale ne úplně) podle abecedy:";
}
/*! This is an introduction to the list with all files. */
virtual QCString trFileListDescription(bool extractAll)
{
- QCString result="Zde naleznete seznam vech ";
- if (!extractAll) result+="dokumentovanch ";
- result+="soubor se strunmi popisy:";
- return decode(result);
+ QCString result="Zde naleznete seznam všech ";
+ if (!extractAll) result+="dokumentovaných ";
+ result+="souborů se stručnými popisy:";
+ return result;
}
/*! This is an introduction to the annotated compound list. */
@@ -300,35 +285,35 @@ class TranslatorCzech : public Translator
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- return decode("Nsledujc seznam obsahuje identifikace datovch "
- "struktur a jejich strun popisy:");
+ return "Následující seznam obsahuje identifikace datových "
+ "struktur a jejich stručné popisy:";
}
else
{
- return decode("Nsledujc seznam obsahuje pedevm identifikace "
- "td, ale nachzej se zde i dal netriviln prvky, "
- "jako jsou struktury (struct), unie (union) a rozhran "
- "(interface). V seznamu jsou uvedeny jejich strun "
- "popisy:");
+ return "Následující seznam obsahuje především identifikace "
+ "tříd, ale nacházejí se zde i další netriviální prvky, "
+ "jako jsou struktury (struct), unie (union) a rozhraní "
+ "(interface). V seznamu jsou uvedeny jejich stručné "
+ "popisy:";
}
}
/*! This is an introduction to the page with all class members. */
virtual QCString trCompoundMembersDescription(bool extractAll)
{
- QCString result= "Zde naleznete seznam vech ";
+ QCString result= "Zde naleznete seznam všech ";
if (!extractAll)
{
- result += "dokumentovanch ";
+ result += "dokumentovaných ";
}
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- result += "poloek struktur (struct) a uni (union) ";
+ result += "položek struktur (struct) a unií (union) ";
}
else
{
- result += "len td ";
+ result += "členů tříd ";
}
result += "s odkazy na ";
@@ -337,83 +322,83 @@ class TranslatorCzech : public Translator
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- result += "dokumentaci struktur/uni, ke kterm psluej:";
+ result += "dokumentaci struktur/unií, ke kterým příslušejí:";
}
else
{
- result += "dokumentaci td, ke kterm psluej:";
+ result += "dokumentaci tříd, ke kterým příslušejí:";
}
}
else
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- result+="struktury/unie, ke kterm psluej:";
+ result+="struktury/unie, ke kterým příslušejí:";
}
else
{
- result+="tdy, ke kterm psluej:";
+ result+="třídy, ke kterým příslušejí:";
}
}
- return decode(result);
+ return result;
}
/*! This is an introduction to the page with all file members. */
virtual QCString trFileMembersDescription(bool extractAll)
{
- QCString result="Zde naleznete seznam vech ";
- if (!extractAll) result+="dokumentovanch ";
+ QCString result="Zde naleznete seznam všech ";
+ if (!extractAll) result+="dokumentovaných ";
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- result+="funkc, promnnch, maker, vt a definic typ (typedef) "
+ result+="funkcí, proměnných, maker, výčtů a definic typů (typedef) "
"s odkazy na ";
}
else
{
- result+="symbol, kter jsou definovny na rovni svch soubor. "
- "Pro kad symbol je uveden odkaz na ";
+ result+="symbolů, které jsou definovány na úrovni svých souborů. "
+ "Pro každý symbol je uveden odkaz na ";
}
if (extractAll)
- result+="soubory, ke kterm psluej:";
+ result+="soubory, ke kterým příslušejí:";
else
result+="dokumentaci:";
- return decode(result);
+ return result;
}
/*! This is an introduction to the page with the list of all examples */
virtual QCString trExamplesDescription()
- { return decode("Zde naleznete seznam vech pklad:"); }
+ { return "Zde naleznete seznam všech příkladů:"; }
/*! This is an introduction to the page with the list of related pages */
virtual QCString trRelatedPagesDescription()
- { return decode("Nsledujc seznam odkazuje na dal strnky projektu:"); }
+ { return "Následující seznam odkazuje na další stránky projektu:"; }
/*! This is an introduction to the page with the list of class/file groups */
virtual QCString trModulesDescription()
- { return decode("Zde naleznete seznam vech modul:"); }
+ { return "Zde naleznete seznam všech modulů:"; }
// index titles (the project name is prepended for these)
/*! This is used in HTML as the title of index.html. */
virtual QCString trDocumentation()
- { return decode("Dokumentace"); }
+ { return "Dokumentace"; }
/*! This is used in LaTeX as the title of the chapter with the
* index of all groups.
*/
virtual QCString trModuleIndex()
- { return decode("Rejstk modul"); }
+ { return "Rejstřík modulů"; }
/*! This is used in LaTeX as the title of the chapter with the
* class hierarchy.
*/
virtual QCString trHierarchicalIndex()
- { return decode("Rejstk hierarchie td"); }
+ { return "Rejstřík hierarchie tříd"; }
/*! This is used in LaTeX as the title of the chapter with the
* annotated compound index.
@@ -422,11 +407,11 @@ class TranslatorCzech : public Translator
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- return decode("Rejstk datovch struktur");
+ return "Rejstřík datových struktur";
}
else
{
- return decode("Rejstk td");
+ return "Rejstřík tříd";
}
}
@@ -434,13 +419,13 @@ class TranslatorCzech : public Translator
* list of all files.
*/
virtual QCString trFileIndex()
- { return decode("Rejstk soubor"); }
+ { return "Rejstřík souborů"; }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all groups.
*/
virtual QCString trModuleDocumentation()
- { return decode("Dokumentace modul"); }
+ { return "Dokumentace modulů"; }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all classes, structs and unions.
@@ -449,11 +434,11 @@ class TranslatorCzech : public Translator
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- return decode("Dokumentace datovch struktur");
+ return "Dokumentace datových struktur";
}
else
{
- return decode("Dokumentace td");
+ return "Dokumentace tříd";
}
}
@@ -461,101 +446,101 @@ class TranslatorCzech : public Translator
* the documentation of all files.
*/
virtual QCString trFileDocumentation()
- { return decode("Dokumentace soubor"); }
+ { return "Dokumentace souborů"; }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all examples.
*/
virtual QCString trExampleDocumentation()
- { return decode("Dokumentace pklad"); }
+ { return "Dokumentace příkladů"; }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all related pages.
*/
virtual QCString trPageDocumentation()
- { return decode("Dokumentace souvisejcch strnek"); }
+ { return "Dokumentace souvisejících stránek"; }
/*! This is used in LaTeX as the title of the document */
virtual QCString trReferenceManual()
- { return decode("Referenn pruka"); }
+ { return "Referenční příručka"; }
/*! This is used in the documentation of a file as a header before the
* list of defines
*/
virtual QCString trDefines()
- { return decode("Definice maker"); }
+ { return "Definice maker"; }
/*! This is used in the documentation of a file as a header before the
* list of function prototypes
*/
virtual QCString trFuncProtos()
- { return decode("Prototypy"); }
+ { return "Prototypy"; }
/*! This is used in the documentation of a file as a header before the
* list of typedefs
*/
virtual QCString trTypedefs()
- { return decode("Definice typ"); }
+ { return "Definice typů"; }
/*! This is used in the documentation of a file as a header before the
* list of enumerations
*/
virtual QCString trEnumerations()
- { return decode("Vty"); }
+ { return "Výčty"; }
/*! This is used in the documentation of a file as a header before the
* list of (global) functions
*/
virtual QCString trFunctions()
- { return decode("Funkce"); }
+ { return "Funkce"; }
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trVariables()
- { return decode("Promnn"); }
+ { return "Proměnné"; }
/*! This is used in the documentation of a file as a header before the
* list of (global) variables
*/
virtual QCString trEnumerationValues()
- { return decode("Hodnoty vtu"); }
+ { return "Hodnoty výčtu"; }
/*! This is used in the documentation of a file before the list of
* documentation blocks for defines
*/
virtual QCString trDefineDocumentation()
- { return decode("Dokumentace k definicm maker"); }
+ { return "Dokumentace k definicím maker"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for function prototypes
*/
virtual QCString trFunctionPrototypeDocumentation()
- { return decode("Dokumentace prototyp"); }
+ { return "Dokumentace prototypů"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for typedefs
*/
virtual QCString trTypedefDocumentation()
- { return decode("Dokumentace definic typ"); }
+ { return "Dokumentace definic typů"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for enumeration types
*/
virtual QCString trEnumerationTypeDocumentation()
- { return decode("Dokumentace vtovch typ"); }
+ { return "Dokumentace výčtových typů"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for functions
*/
virtual QCString trFunctionDocumentation()
- { return decode("Dokumentace funkc"); }
+ { return "Dokumentace funkcí"; }
/*! This is used in the documentation of a file/namespace before the list
* of documentation blocks for variables
*/
virtual QCString trVariableDocumentation()
- { return decode("Dokumentace promnnch"); }
+ { return "Dokumentace proměnných"; }
/*! This is used in the documentation of a file/namespace/group before
* the list of links to documented compounds
@@ -564,11 +549,11 @@ class TranslatorCzech : public Translator
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- return decode("Datov struktry");
+ return "Datové struktry";
}
else
{
- return decode("Tdy");
+ return "Třídy";
}
}
@@ -577,80 +562,82 @@ class TranslatorCzech : public Translator
*/
virtual QCString trGeneratedAt(const char *date,const char *projName)
{
- QCString result=(QCString)"Generovno "+date;
- if (projName) result+=(QCString)" pro projekt "+projName;
- result+=(QCString)" programem";
- return decode(result);
+ QCString result("Generováno ");
+ result += date;
+ if (projName)
+ result += QCString(" pro projekt ") + projName;
+ result += " programem";
+ return result;
}
/*! This is part of the sentence used in the standard footer of each page.
*/
virtual QCString trWrittenBy()
{
- return decode(" -- autor ");
+ return " -- autor ";
}
/*! this text is put before a class diagram */
virtual QCString trClassDiagram(const char *clName)
{
- return decode((QCString)"Diagram ddinosti pro tdu "+clName);
+ return QCString("Diagram dědičnosti pro třídu ") + clName;
}
/*! this text is generated when the \\internal command is used. */
virtual QCString trForInternalUseOnly()
- { return decode("Pouze pro vnitn pouit."); }
+ { return "Pouze pro vnitřní použití."; }
/*! this text is generated when the \\warning command is used. */
virtual QCString trWarning()
- { return decode("Pozor"); }
+ { return "Pozor"; }
/*! this text is generated when the \\version command is used. */
virtual QCString trVersion()
- { return decode("Verze"); }
+ { return "Verze"; }
/*! this text is generated when the \\date command is used. */
virtual QCString trDate()
- { return decode("Datum"); }
+ { return "Datum"; }
/*! this text is generated when the \\return command is used. */
virtual QCString trReturns()
- { return decode("Nvratov hodnota"); }
+ { return "Návratová hodnota"; }
/*! this text is generated when the \\sa command is used. */
virtual QCString trSeeAlso()
- { return decode("Viz tak"); }
+ { return "Viz také"; }
/*! this text is generated when the \\param command is used. */
virtual QCString trParameters()
- { return decode("Parametry"); }
+ { return "Parametry"; }
/*! this text is generated when the \\exception command is used. */
virtual QCString trExceptions()
- { return decode("Vjimky"); }
+ { return "Výjimky"; }
/*! this text is used in the title page of a LaTeX document. */
virtual QCString trGeneratedBy()
- { return decode("Generovno programem"); }
+ { return "Generováno programem"; }
// new since 0.49-990307
/*! used as the title of page containing all the index of all namespaces. */
virtual QCString trNamespaceList()
- { return decode("Seznam prostor jmen"); }
+ { return "Seznam prostorů jmen"; }
/*! used as an introduction to the namespace list */
virtual QCString trNamespaceListDescription(bool extractAll)
{
- QCString result="Zde naleznete seznam vech ";
- if (!extractAll) result+="dokumentovanch ";
- result+="prostor jmen se strunm popisem:";
- return decode(result);
+ QCString result="Zde naleznete seznam všech ";
+ if (!extractAll) result+="dokumentovaných ";
+ result+="prostorů jmen se stručným popisem:";
+ return result;
}
/*! used in the class documentation as a header before the list of all
* friends of a class
*/
virtual QCString trFriends()
- { return decode("Friends"); }
+ { return "Friends"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990405
@@ -660,7 +647,7 @@ class TranslatorCzech : public Translator
* related classes
*/
virtual QCString trRelatedFunctionDocumentation()
- { return decode("Dokumentace k friends"); }
+ { return "Dokumentace k friends"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990425
@@ -672,19 +659,19 @@ class TranslatorCzech : public Translator
bool isTemplate)
{
QCString result("Dokumentace ");
- if (isTemplate) result+="ablony ";
+ if (isTemplate) result += "šablony ";
switch(compType)
{
- case ClassDef::Class: result+="tdy "; break;
- case ClassDef::Struct: result+="struktury "; break;
- case ClassDef::Union: result+="unie "; break;
- case ClassDef::Interface: result+="rozhran "; break;
- case ClassDef::Protocol: result+="protocol "; break; // translate me!
- case ClassDef::Category: result+="category "; break; // translate me!
- case ClassDef::Exception: result+="vjimky "; break;
+ case ClassDef::Class: result += "třídy "; break;
+ case ClassDef::Struct: result += "struktury "; break;
+ case ClassDef::Union: result += "unie "; break;
+ case ClassDef::Interface: result += "rozhraní "; break;
+ case ClassDef::Protocol: result += "protokolu "; break;
+ case ClassDef::Category: result += "kategorie "; break;
+ case ClassDef::Exception: result += "výjimky "; break;
}
- result+=clName;
- return decode(result);
+ result += clName;
+ return result;
}
/*! used as the title of the HTML page of a file */
@@ -692,7 +679,7 @@ class TranslatorCzech : public Translator
{
QCString result("Dokumentace souboru ");
result+=fileName;
- return decode(result);
+ return result;
}
/*! used as the title of the HTML page of a namespace */
@@ -700,32 +687,32 @@ class TranslatorCzech : public Translator
{
QCString result("Dokumentace prostoru jmen ");
result+=namespaceName;
- return decode(result);
+ return result;
}
/*
* these are for the member sections of a class, struct or union
*/
virtual QCString trPublicMembers()
- { return decode("Veejn metody"); }
+ { return "Veřejné metody"; }
virtual QCString trPublicSlots()
- { return decode("Veejn sloty"); }
+ { return "Veřejné sloty"; }
virtual QCString trSignals()
- { return decode("Signly"); }
+ { return "Signály"; }
virtual QCString trStaticPublicMembers()
- { return decode("Statick veejn metody"); }
+ { return "Statické veřejné metody"; }
virtual QCString trProtectedMembers()
- { return decode("Chrnn metody"); }
+ { return "Chráněné metody"; }
virtual QCString trProtectedSlots()
- { return decode("Chrnn sloty"); }
+ { return "Chráněné sloty"; }
virtual QCString trStaticProtectedMembers()
- { return decode("Statick chrnn metody"); }
+ { return "Statické chráněné metody"; }
virtual QCString trPrivateMembers()
- { return decode("Privtn metody"); }
+ { return "Privátní metody"; }
virtual QCString trPrivateSlots()
- { return decode("Privtn sloty"); }
+ { return "Privátní sloty"; }
virtual QCString trStaticPrivateMembers()
- { return decode("Statick privtn metody"); }
+ { return "Statické privátní metody"; }
/*! this function is used to produce a comma-separated list of items.
* use generateMarker(i) to indicate where item i should be put.
@@ -749,7 +736,7 @@ class TranslatorCzech : public Translator
result+=" a ";
}
}
- return decode(result);
+ return result;
}
/*! used in class documentation to produce a list of base classes,
@@ -757,10 +744,10 @@ class TranslatorCzech : public Translator
*/
virtual QCString trInheritsList(int numEntries)
{
- QCString result("Dd z ");
- result += (numEntries == 1) ? "bzov tdy " : "bzovch td ";
- result += trWriteList(numEntries)+".";
- return decode(result);
+ QCString result("Dědí z ");
+ result += (numEntries == 1) ? "bázové třídy " : "bázových tříd ";
+ result += trWriteList(numEntries) + ".";
+ return result;
}
/*! used in class documentation to produce a list of super classes,
@@ -768,10 +755,10 @@ class TranslatorCzech : public Translator
*/
virtual QCString trInheritedByList(int numEntries)
{
- QCString result("Zddna ");
- result += (numEntries == 1) ? "tdou " : "tdami ";
- result += trWriteList(numEntries)+".";
- return decode(result);
+ QCString result("Zděděna ");
+ result += (numEntries == 1) ? "třídou " : "třídami ";
+ result += trWriteList(numEntries) + ".";
+ return result;
}
/*! used in member documentation blocks to produce a list of
@@ -779,9 +766,9 @@ class TranslatorCzech : public Translator
*/
virtual QCString trReimplementedFromList(int numEntries)
{
- QCString result("Reimplementuje stejnojmenn prvek z ");
- result += trWriteList(numEntries)+".";
- return decode(result);
+ QCString result("Reimplementuje stejnojmenný prvek z ");
+ result += trWriteList(numEntries) + ".";
+ return result;
}
/*! used in member documentation blocks to produce a list of
@@ -789,39 +776,39 @@ class TranslatorCzech : public Translator
*/
virtual QCString trReimplementedInList(int numEntries)
{
- QCString result("Reimplementovno v ");
- result += trWriteList(numEntries)+".";
- return decode(result);
+ QCString result("Reimplementováno v ");
+ result += trWriteList(numEntries) + ".";
+ return result;
}
/*! This is put above each page as a link to all members of namespaces. */
virtual QCString trNamespaceMembers()
- { return decode("Symboly v prostorech jmen"); }
+ { return "Symboly v prostorech jmen"; }
/*! This is an introduction to the page with all namespace members */
virtual QCString trNamespaceMemberDescription(bool extractAll)
{
- QCString result="Zde naleznete seznam vech ";
- if (!extractAll) result+="dokumentovanch ";
- result+="symbol, kter jsou definovny ve svch prostorech jmen. "
- "U kadho je uveden odkaz na ";
+ QCString result="Zde naleznete seznam všech ";
+ if (!extractAll) result+="dokumentovaných ";
+ result+="symbolů, které jsou definovány ve svých prostorech jmen. "
+ "U každého je uveden odkaz na ";
if (extractAll)
- result+="dokumentaci pslunho prostoru jmen:";
+ result+="dokumentaci příslušného prostoru jmen:";
else
- result+="pslun prostor jmen:";
- return decode(result);
+ result+="příslušný prostor jmen:";
+ return result;
}
/*! This is used in LaTeX as the title of the chapter with the
* index of all namespaces.
*/
virtual QCString trNamespaceIndex()
- { return decode("Rejstk prostor jmen"); }
+ { return "Rejstřík prostorů jmen"; }
/*! This is used in LaTeX as the title of the chapter containing
* the documentation of all namespaces.
*/
virtual QCString trNamespaceDocumentation()
- { return decode("Dokumentace prostor jmen"); }
+ { return "Dokumentace prostorů jmen"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990522
@@ -831,7 +818,7 @@ class TranslatorCzech : public Translator
* namespaces in a file.
*/
virtual QCString trNamespaces()
- { return decode("Prostory jmen"); }
+ { return "Prostory jmen"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990728
@@ -847,25 +834,25 @@ class TranslatorCzech : public Translator
QCString result=(QCString)"Dokumentace pro ";
switch(compType)
{
- case ClassDef::Class: result+="tuto tdu"; break;
+ case ClassDef::Class: result+="tuto třídu"; break;
case ClassDef::Struct: result+="tuto strukturu (struct)"; break;
case ClassDef::Union: result+="tuto unii (union)"; break;
- case ClassDef::Interface: result+="toto rozhran"; break;
- case ClassDef::Protocol: result+="protocol "; break; // translate me!
- case ClassDef::Category: result+="category "; break; // translate me!
- case ClassDef::Exception: result+="tuto vjimku"; break;
+ case ClassDef::Interface: result+="toto rozhraní"; break;
+ case ClassDef::Protocol: result+="tento protokol "; break;
+ case ClassDef::Category: result+="tuto kategorii "; break;
+ case ClassDef::Exception: result+="tuto výjimku"; break;
}
- result+=" byla generovna z ";
- if (single) result+="nsledujcho souboru:";
- else result+="nsledujcch soubor:";
- return decode(result);
+ result+=" byla generována z ";
+ if (single) result+="následujícího souboru:";
+ else result+="následujících souborů:";
+ return result;
}
/*! This is in the (quick) index as a link to the alphabetical compound
* list.
*/
virtual QCString trAlphabeticalList()
- { return decode("Rejstk td"); }
+ { return "Rejstřík tříd"; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-990901
@@ -873,18 +860,18 @@ class TranslatorCzech : public Translator
/*! This is used as the heading text for the retval command. */
virtual QCString trReturnValues()
- { return decode("Vracen hodnoty"); }
+ { return "Vracené hodnoty"; }
/*! This is in the (quick) index as a link to the main page (index.html)
*/
virtual QCString trMainPage()
- { return decode("Hlavn strnka"); }
+ { return "Hlavní stránka"; }
/*! This is used in references to page that are put in the LaTeX
* documentation. It should be an abbreviation of the word page.
*/
virtual QCString trPageAbbreviation()
- { return decode("s."); }
+ { return "s."; }
//////////////////////////////////////////////////////////////////////////
// new since 0.49-991003
@@ -892,11 +879,11 @@ class TranslatorCzech : public Translator
virtual QCString trDefinedAtLineInSourceFile()
{
- return decode("Definice je uvedena na dku @0 v souboru @1.");
+ return "Definice je uvedena na řádku @0 v souboru @1.";
}
virtual QCString trDefinedInSourceFile()
{
- return decode("Definice v souboru @0.");
+ return "Definice v souboru @0.";
}
//////////////////////////////////////////////////////////////////////////
@@ -905,7 +892,7 @@ class TranslatorCzech : public Translator
virtual QCString trDeprecated()
{
- return decode("Zastaral");
+ return "Zastaralé";
}
//////////////////////////////////////////////////////////////////////////
@@ -915,69 +902,69 @@ class TranslatorCzech : public Translator
/*! this text is put before a collaboration diagram */
virtual QCString trCollaborationDiagram(const char *clName)
{
- return decode((QCString)"Diagram td pro "+clName+":");
+ return (QCString)"Diagram tříd pro "+clName+":";
}
/*! this text is put before an include dependency graph */
virtual QCString trInclDepGraph(const char *fName)
{
- return decode((QCString)"Graf zvislost na vkldanch souborech "
- "pro "+fName+":");
+ return (QCString)"Graf závislostí na vkládaných souborech "
+ "pro "+fName+":";
}
/*! header that is put before the list of constructor/destructors. */
virtual QCString trConstructorDocumentation()
{
- return decode("Dokumentace konstruktoru a destruktoru");
+ return "Dokumentace konstruktoru a destruktoru";
}
/*! Used in the file documentation to point to the corresponding sources. */
virtual QCString trGotoSourceCode()
{
- return decode("Zobrazit zdrojov text tohoto souboru.");
+ return "Zobrazit zdrojový text tohoto souboru.";
}
/*! Used in the file sources to point to the corresponding documentation. */
virtual QCString trGotoDocumentation()
{
- return decode("Zobrazit dokumentaci tohoto souboru.");
+ return "Zobrazit dokumentaci tohoto souboru.";
}
/*! Text for the \\pre command */
virtual QCString trPrecondition()
{
- return decode("Precondition");
+ return "Precondition";
}
/*! Text for the \\post command */
virtual QCString trPostcondition()
{
- return decode("Postcondition");
+ return "Postcondition";
}
/*! Text for the \\invariant command */
virtual QCString trInvariant()
{
- return decode("Invariant");
+ return "Invariant";
}
/*! Text shown before a multi-line variable/enum initialization */
virtual QCString trInitialValue()
{
- return decode("Initializer:");
+ return "Initializer:";
}
/*! Text used the source code in the file index */
virtual QCString trCode()
{
- return decode("zdrojov text");
+ return "zdrojový text";
}
virtual QCString trGraphicalHierarchy()
{
- return decode("Grafick zobrazen hierarchie td");
+ return "Grafické zobrazení hierarchie tříd";
}
virtual QCString trGotoGraphicalHierarchy()
{
- return decode("Zobrazit grafickou podobu hierarchie td");
+ return "Zobrazit grafickou podobu hierarchie tříd";
}
virtual QCString trGotoTextualHierarchy()
{
- return decode("Zobrazit textovou podobu hierarchie td");
+ return "Zobrazit textovou podobu hierarchie tříd";
}
virtual QCString trPageIndex()
{
- return decode("Rejstk strnek");
+ return "Rejstřík stránek";
}
//////////////////////////////////////////////////////////////////////////
@@ -986,50 +973,50 @@ class TranslatorCzech : public Translator
virtual QCString trNote()
{
- return decode("Poznmka");
+ return "Poznámka";
}
virtual QCString trPublicTypes()
{
- return decode("Veejn typy");
+ return "Veřejné typy";
}
virtual QCString trPublicAttribs()
{
if (Config_getBool("OPTIMIZE_OUTPUT_FOR_C"))
{
- return decode("Datov poloky");
+ return "Datové položky";
}
else
{
- return decode("Veejn atributy");
+ return "Veřejné atributy";
}
}
virtual QCString trStaticPublicAttribs()
{
- return decode("Statick veejn atributy");
+ return "Statické veřejné atributy";
}
virtual QCString trProtectedTypes()
{
- return decode("Chrnn typy");
+ return "Chráněné typy";
}
virtual QCString trProtectedAttribs()
{
- return decode("Chrnn atributy");
+ return "Chráněné atributy";
}
virtual QCString trStaticProtectedAttribs()
{
- return decode("Statick chrnn atributy");
+ return "Statické chráněné atributy";
}
virtual QCString trPrivateTypes()
{
- return decode("Privtn typy");
+ return "Privátní typy";
}
virtual QCString trPrivateAttribs()
{
- return decode("Privtn atributy");
+ return "Privátní atributy";
}
virtual QCString trStaticPrivateAttribs()
{
- return decode("Statick privtn atributy");
+ return "Statické privátní atributy";
}
//////////////////////////////////////////////////////////////////////////
@@ -1039,12 +1026,12 @@ class TranslatorCzech : public Translator
/*! Used as a marker that is put before a todo item */
virtual QCString trTodo()
{
- return decode("Plnovan pravy");
+ return "Plánované úpravy";
}
/*! Used as the header of the todo list */
virtual QCString trTodoList()
{
- return decode("Seznam plnovanch prav");
+ return "Seznam plánovaných úprav";
}
//////////////////////////////////////////////////////////////////////////
@@ -1053,24 +1040,24 @@ class TranslatorCzech : public Translator
virtual QCString trReferencedBy()
{
- return decode("Pouv se v");
+ return "Používá se v";
}
virtual QCString trRemarks()
{
- return decode("Poznmky"); // ??? not checked in a context
+ return "Poznámky"; // ??? not checked in a context
}
virtual QCString trAttention()
{
- return decode("Upozornn"); // ??? not checked in a context
+ return "Upozornění"; // ??? not checked in a context
}
virtual QCString trInclByDepGraph()
{
- return decode("Nsledujc graf ukazuje, kter soubory pmo nebo "
- "nepmo vkldaj tento soubor:");
+ return "Následující graf ukazuje, které soubory přímo nebo "
+ "nepřímo vkládají tento soubor:";
}
virtual QCString trSince()
{
- return decode("Od"); // ??? not checked in a context
+ return "Od"; // ??? not checked in a context
}
////////////////////////////////////////////////////////////////////////////
@@ -1080,38 +1067,38 @@ class TranslatorCzech : public Translator
/*! title of the graph legend page */
virtual QCString trLegendTitle()
{
- return decode("Vysvtlivky ke grafu");
+ return "Vysvětlivky ke grafu";
}
/*! page explaining how the dot graph's should be interpreted */
virtual QCString trLegendDocs()
{
QCString result(
- "Zde naleznete vysvtlen, jak maj bt interpretovny grafy, "
- "kter byly generovny programem doxygen.<p>\n"
- "Uvaujte nsledujc pklad:\n"
+ "Zde naleznete vysvětlení, jak mají být interpretovány grafy, "
+ "které byly generovány programem doxygen.<p>\n"
+ "Uvažujte následující příklad:\n"
"\\code\n"
- "/*! Neviditeln tda, kter se v grafu nezobrazuje, protoe "
- "dolo k oezn grafu. */\n"
+ "/*! Neviditelná třída, která se v grafu nezobrazuje, protože "
+ "došlo k ořezání grafu. */\n"
"class Invisible { };\n\n"
- "/*! Tda, u kter dolo k oezn grafu. Vztah ddinosti "
+ "/*! Třída, u které došlo k ořezání grafu. Vztah dědičnosti "
"je skryt. */\n"
"class Truncated : public Invisible { };\n\n"
- "/*! Bzov tda ddn veejn (public inheritance). */\n"
+ "/*! Bázová třída děděná veřejně (public inheritance). */\n"
"class PublicBase : public Truncated { };\n\n"
- "/*! Bzov tda, pouit pro chrnn ddn "
+ "/*! Bázová třída, použitá pro chráněné dědění "
"(protected inheritance). */\n"
"class ProtectedBase { };\n\n"
- "/*! Bzov tda, vyuit pro privtn ddn "
+ "/*! Bázová třída, využitá pro privátní dědění "
"(private inheritance). */\n"
"class PrivateBase { };\n\n"
- "/* Tda, kter nen dokumentovna komenti programu doxygen. */\n"
+ "/* Třída, která není dokumentována komentáři programu doxygen. */\n"
"class Undocumented { };\n\n"
- "/*! ablona tdy. */\n"
+ "/*! Šablona třídy. */\n"
"template<class T> class Templ { };\n\n"
- "/*! Tda, kter je vyuvna tdou Inherited. */\n"
+ "/*! Třída, která je využívána třídou Inherited. */\n"
"class Used { };\n\n"
- "/*! Odvozen tda, kter rznm zpsobem dd z vce bzovch "
- "td. */\n"
+ "/*! Odvozená třída, která různým způsobem dědí z více bázových "
+ "tříd. */\n"
"class Inherited : public PublicBase,\n"
" protected ProtectedBase,\n"
" private PrivateBase,\n"
@@ -1122,49 +1109,49 @@ class TranslatorCzech : public Translator
" Used *m_usedClass;\n"
"};\n"
"\\endcode\n"
- "Pokud je poloka \\c MAX_DOT_GRAPH_HEIGHT konfiguranho souboru "
- "nastavena na hodnotu 200, bude vygenerovn nsledujc graf:"
+ "Pokud je položka \\c MAX_DOT_GRAPH_HEIGHT konfiguračního souboru "
+ "nastavena na hodnotu 200, bude vygenerován následující graf:"
"<p><center><img src=\"graph_legend."+Config_getEnum("DOT_IMAGE_FORMAT")+"\"></center>\n"
"<p>\n"
- "Bloky (tj. uzly) v uvedenm grafu maj nsledujc vznam:\n"
+ "Bloky (tj. uzly) v uvedeném grafu mají následující význam:\n"
"<ul>\n"
- "<li>ern vyplnn obdlnk reprezentuje strukturu nebo tdu, "
- "pro kterou byl graf generovn.\n"
- "<li>Obdlnk s ernm obrysem oznauje dokumentovanou "
- "strukturu nebo tdu.\n"
- "<li>Obdlnk s edm obrysem oznauje nedokumentovanou "
- "strukturu nebo tdu.\n"
- "<li>Obdlnk s ervenm obrysem oznauje dokumentovanou "
- "strukturu nebo tdu, pro kterou\n"
- "nejsou zobrazeny vechny vztahy ddinosti nebo obsaen. "
- "Graf je oezn v ppad, kdy jej\n"
- "nen mon umstit do vymezenho prostoru.\n"
+ "<li>Černě vyplněný obdélník reprezentuje strukturu nebo třídu, "
+ "pro kterou byl graf generován.\n"
+ "<li>Obdélník s černým obrysem označuje dokumentovanou "
+ "strukturu nebo třídu.\n"
+ "<li>Obdélník s šedým obrysem označuje nedokumentovanou "
+ "strukturu nebo třídu.\n"
+ "<li>Obdélník s červeným obrysem označuje dokumentovanou "
+ "strukturu nebo třídu, pro kterou\n"
+ "nejsou zobrazeny všechny vztahy dědičnosti nebo obsažení. "
+ "Graf je ořezán v případě, kdy jej\n"
+ "není možné umístit do vymezeného prostoru.\n"
"</ul>\n"
- "ipky (tj. hrany grafu) maj nsledujc vznam:\n"
+ "Šipky (tj. hrany grafu) mají následující význam:\n"
"<ul>\n"
- "<li>Tmav modr ipka se pouv pro oznaen vztahu veejn "
- "ddinosti (public) mezi dvma tdami.\n"
- "<li>Tmav zelen ipka oznauje vztah chrnn ddinosti "
+ "<li>Tmavě modrá šipka se používá pro označení vztahu veřejné "
+ "dědičnosti (public) mezi dvěma třídami.\n"
+ "<li>Tmavě zelená šipka označuje vztah chráněné dědičnosti "
"(protected).\n"
- "<li>Tmav erven ipka oznauje vztah privtn ddinosti "
+ "<li>Tmavě červená šipka označuje vztah privátní dědičnosti "
"(private).\n"
- "<li>Purpurov ipka kreslen rkovan se pouv v ppad, "
- "kdy je tda obsaena v jin td,\n"
- "nebo kdy je pouvna jinou tdou. Je oznaena identifiktorem "
- "jedn nebo vce promnch, pes kter\n"
- "je tda nebo struktura zpstupnna.\n"
- "<li>lut ipka kreslen rkovan vyjaduje vztah mezi instanc ablony "
- "a ablonou tdy, na zklad kter byla\n"
- "instance ablony vytvoena. V popisu ipky jsou uvedeny pslun"
- " parametry ablony.\n"
+ "<li>Purpurová šipka kreslená čárkovaně se používá v případě, "
+ "kdy je třída obsažena v jiné třídě,\n"
+ "nebo kdy je používána jinou třídou. Je označena identifikátorem "
+ "jedné nebo více proměných, přes které\n"
+ "je třída nebo struktura zpřístupněna.\n"
+ "<li>Žlutá šipka kreslená čárkovaně vyjadřuje vztah mezi instancí šablony "
+ "a šablonou třídy, na základě které byla\n"
+ "instance šablony vytvořena. V popisu šipky jsou uvedeny příslušné"
+ " parametry šablony.\n"
"</ul>\n");
- return decode(result);
+ return result;
}
/*! text for the link to the legend page */
virtual QCString trLegend()
{
- return decode("vysvtlivky");
+ return "vysvětlivky";
}
//////////////////////////////////////////////////////////////////////////
@@ -1174,13 +1161,13 @@ class TranslatorCzech : public Translator
/*! Used as a marker that is put before a test item */
virtual QCString trTest()
{
- return decode("Test");
+ return "Test";
}
/*! Used as the header of the test list */
virtual QCString trTestList()
{
- return decode("Seznam test");
+ return "Seznam testů";
}
//////////////////////////////////////////////////////////////////////////
@@ -1190,7 +1177,7 @@ class TranslatorCzech : public Translator
/*! Used as a section header for KDE-2 IDL methods */
virtual QCString trDCOPMethods()
{
- return decode("Metody DCOP");
+ return "Metody DCOP";
}
//////////////////////////////////////////////////////////////////////////
@@ -1200,12 +1187,12 @@ class TranslatorCzech : public Translator
/*! Used as a section header for IDL properties */
virtual QCString trProperties()
{
- return decode("Vlastnosti");
+ return "Vlastnosti";
}
/*! Used as a section header for IDL property documentation */
virtual QCString trPropertyDocumentation()
{
- return decode("Dokumentace k vlastnosti");
+ return "Dokumentace k vlastnosti";
}
//////////////////////////////////////////////////////////////////////////
// new since 1.2.4
@@ -1214,33 +1201,33 @@ class TranslatorCzech : public Translator
/*! Used for Java classes in the summary section of Java packages */
virtual QCString trClasses()
{
- return decode("Tdy");
+ return "Třídy";
}
/*! Used as the title of a Java package */
virtual QCString trPackage(const char *name)
{
- return decode((QCString)"Balk "+name);
+ return QCString("Balík ") + name;
}
/*! Title of the package index page */
virtual QCString trPackageList()
{
- return decode("Seznam balk");
+ return "Seznam balíků";
}
/*! The description of the package index page */
virtual QCString trPackageListDescription()
{
- return decode("Zde naleznete seznam balk se strunm popisem "
- "(pokud byl uveden):");
+ return "Zde naleznete seznam balíků se stručným popisem "
+ "(pokud byl uveden):";
}
/*! The link name in the Quick links header for each page */
virtual QCString trPackages()
{
- return decode("Balky");
+ return "Balíky";
}
/*! Text shown before a multi-line define */
virtual QCString trDefineValue()
{
- return decode("Hodnota:");
+ return "Hodnota:";
}
//////////////////////////////////////////////////////////////////////////
@@ -1250,12 +1237,12 @@ class TranslatorCzech : public Translator
/*! Used as a marker that is put before a \\bug item */
virtual QCString trBug()
{
- return decode("Chyba");
+ return "Chyba";
}
/*! Used as the header of the bug list */
virtual QCString trBugList()
{
- return decode("Seznam chyb");
+ return "Seznam chyb";
}
//////////////////////////////////////////////////////////////////////////
@@ -1277,7 +1264,7 @@ class TranslatorCzech : public Translator
/*! Used as header RTF general index */
virtual QCString trRTFGeneralIndex()
{
- return decode("Rejstk");
+ return "Rejstřík";
}
/*! This is used for translation of the word that will possibly
@@ -1286,9 +1273,9 @@ class TranslatorCzech : public Translator
*/
virtual QCString trClass(bool first_capital, bool singular)
{
- QCString result((first_capital ? "Td" : "td"));
- result+=(singular ? "a" : "y");
- return decode(result);
+ QCString result((first_capital ? "Tříd" : "tříd"));
+ result += singular ? "a" : "y";
+ return result;
}
/*! This is used for translation of the word that will possibly
@@ -1299,7 +1286,7 @@ class TranslatorCzech : public Translator
{
QCString result((first_capital ? "Soubor" : "soubor"));
if (!singular) result+="y";
- return decode(result);
+ return result;
}
/*! This is used for translation of the word that will possibly
@@ -1311,7 +1298,7 @@ class TranslatorCzech : public Translator
QCString result((first_capital ? "Prostor" : "prostor"));
if (!singular) result+="y";
result+=" jmen";
- return decode(result);
+ return result;
}
/*! This is used for translation of the word that will possibly
@@ -1321,8 +1308,8 @@ class TranslatorCzech : public Translator
virtual QCString trGroup(bool first_capital, bool singular)
{
QCString result((first_capital ? "Skupin" : "skupin"));
- result+=(singular ? "a" : "y");
- return decode(result);
+ result += singular ? "a" : "y";
+ return result;
}
/*! This is used for translation of the word that will possibly
@@ -1331,9 +1318,9 @@ class TranslatorCzech : public Translator
*/
virtual QCString trPage(bool first_capital, bool singular)
{
- QCString result((first_capital ? "Strnk" : "strnk"));
- result+=(singular ? "a" : "y");
- return decode(result);
+ QCString result((first_capital ? "Stránk" : "stránk"));
+ result += singular ? "a" : "y";
+ return result;
}
/*! This is used for translation of the word that will possibly
@@ -1342,9 +1329,10 @@ class TranslatorCzech : public Translator
*/
virtual QCString trMember(bool first_capital, bool singular)
{
- QCString result((first_capital ? "len" : "len"));
- if (!singular) result+="y";
- return decode(result);
+ QCString result((first_capital ? "Člen" : "člen"));
+ if (!singular)
+ result += "y";
+ return result;
}
/*! ??? Jak to prelozit? Bylo by dobre, kdyby se ozval nekdo,
@@ -1366,8 +1354,8 @@ class TranslatorCzech : public Translator
virtual QCString trAuthor(bool first_capital, bool singular)
{
QCString result((first_capital ? "Auto" : "auto"));
- result += (singular) ? "r" : "i";
- return decode(result);
+ result += (singular) ? "r" : "ři";
+ return result;
}
//////////////////////////////////////////////////////////////////////////
@@ -1378,7 +1366,7 @@ class TranslatorCzech : public Translator
*/
virtual QCString trReferences()
{
- return decode("Odkazuje se na");
+ return "Odkazuje se na";
}
//////////////////////////////////////////////////////////////////////////
@@ -1398,7 +1386,7 @@ class TranslatorCzech : public Translator
*/
virtual QCString trImplementedInList(int numEntries)
{
- return decode("Implementovno v "+trWriteList(numEntries)+".");
+ return "Implementováno v "+trWriteList(numEntries)+".";
}
//////////////////////////////////////////////////////////////////////////
@@ -1410,7 +1398,7 @@ class TranslatorCzech : public Translator
*/
virtual QCString trRTFTableOfContents()
{
- return decode("Obsah");
+ return "Obsah";
}
//////////////////////////////////////////////////////////////////////////
@@ -1422,7 +1410,7 @@ class TranslatorCzech : public Translator
*/
virtual QCString trDeprecatedList()
{
- return decode("Seznam zastaralch prvk");
+ return "Seznam zastaralých prvků";
}
//////////////////////////////////////////////////////////////////////////
@@ -1434,12 +1422,12 @@ class TranslatorCzech : public Translator
*/
virtual QCString trEvents()
{
- return decode("Udlosti");
+ return "Události";
}
/*! Header used for the documentation section of a class' events. */
virtual QCString trEventDocumentation()
{
- return decode("Dokumentace udlost");
+ return "Dokumentace událostí";
}
//////////////////////////////////////////////////////////////////////////
@@ -1450,35 +1438,35 @@ class TranslatorCzech : public Translator
*/
virtual QCString trPackageTypes()
{
- return decode("Typy v balku");
+ return "Typy v balíku";
}
/*! Used as a heading for a list of Java class functions with package
* scope.
*/
virtual QCString trPackageMembers()
{
- return decode("Funkce v balku");
+ return "Funkce v balíku";
}
/*! Used as a heading for a list of static Java class functions with
* package scope.
*/
virtual QCString trStaticPackageMembers()
{
- return decode("Statick funkce v balku");
+ return "Statické funkce v balíku";
}
/*! Used as a heading for a list of Java class variables with package
* scope.
*/
virtual QCString trPackageAttribs()
{
- return decode("Atributy balku");
+ return "Atributy balíku";
}
/*! Used as a heading for a list of static Java class variables with
* package scope.
*/
virtual QCString trStaticPackageAttribs()
{
- return decode("Statick atributy balku");
+ return "Statické atributy balíku";
}
//////////////////////////////////////////////////////////////////////////
@@ -1490,12 +1478,12 @@ class TranslatorCzech : public Translator
*/
virtual QCString trAll()
{
- return decode("Ve");
+ return "Vše";
}
/*! Put in front of the call graph for a function. */
virtual QCString trCallGraph()
{
- return decode("Tato funkce vol...");
+ return "Tato funkce volá...";
}
//////////////////////////////////////////////////////////////////////////
@@ -1507,14 +1495,14 @@ class TranslatorCzech : public Translator
*/
virtual QCString trSearchForIndex()
{
- return decode("Vyhledat");
+ return "Vyhledat";
}
/*! This string is used as the title for the page listing the search
* results.
*/
virtual QCString trSearchResultsTitle()
{
- return decode("Vsledky vyhledvn");
+ return "Výsledky vyhledávání";
}
/*! This string is put just before listing the search results. The
* text can be different depending on the number of documents found.
@@ -1528,17 +1516,17 @@ class TranslatorCzech : public Translator
{
if (numDocuments==0)
{
- return decode("Lituji. Vaemu dotazu neodpovd dn dokument.");
+ return "Lituji. Vašemu dotazu neodpovídá žádný dokument.";
}
else if (numDocuments==1)
{
- return decode("Nalezen jedin dokument, kter vyhovuje vaemu dotazu.");
+ return "Nalezen jediný dokument, který vyhovuje vašemu dotazu.";
}
else
{
- return decode("Nalezeno <b>$num</b> dokument, kter vyhovuj vaemu "
- "dotazu. Nejlpe odpovdajc dokumenty jsou zobrazeny "
- "jako prvn.");
+ return "Nalezeno <b>$num</b> dokumentů, které vyhovují vašemu "
+ "dotazu. Nejlépe odpovídající dokumenty jsou zobrazeny "
+ "jako první.";
}
}
/*! This string is put before the list of matched words, for each search
@@ -1546,7 +1534,7 @@ class TranslatorCzech : public Translator
*/
virtual QCString trSearchMatches()
{
- return decode("Nalezen slova:");
+ return "Nalezená slova:";
}
//////////////////////////////////////////////////////////////////////////
@@ -1557,7 +1545,7 @@ class TranslatorCzech : public Translator
*/
virtual QCString trSourceFile(QCString& filename)
{
- return decode("Zdrojov soubor ") + filename;
+ return QCString("Zdrojový soubor ") + filename;
}
@@ -1570,27 +1558,27 @@ class TranslatorCzech : public Translator
* hierarchy.
*/
virtual QCString trDirIndex()
- { return decode("Hierarchie adres"); }
+ { return "Hierarchie adresářů"; }
/*! This is used as the name of the chapter containing the documentation
* of the directories.
*/
virtual QCString trDirDocumentation()
- { return decode("Dokumentace k adresm"); }
+ { return "Dokumentace k adresářům"; }
/*! This is used as the title of the directory index and also in the
* Quick links of a HTML page, to link to the directory hierarchy.
*/
virtual QCString trDirectories()
- { return decode("Adrese"); }
+ { return "Adresáře"; }
/*! This returns a sentences that introduces the directory hierarchy.
* and the fact that it is sorted alphabetically per level
*/
virtual QCString trDirDescription()
{
- return decode("Nsledujc hierarchie adres je zhruba, "
- "ale ne pln, azena podle abecedy:");
+ return "Následující hierarchie adresářů je zhruba, "
+ "ale ne úplně, řazena podle abecedy:";
}
/*! This returns the title of a directory page. The name of the
@@ -1598,9 +1586,9 @@ class TranslatorCzech : public Translator
*/
virtual QCString trDirReference(const char *dirName)
{
- QCString result = "Reference k adresi ";
+ QCString result = "Reference k adresáři ";
result += dirName;
- return decode(result);
+ return result;
}
/*! This returns the word directory with or without starting capital
@@ -1608,10 +1596,10 @@ class TranslatorCzech : public Translator
*/
virtual QCString trDir(bool first_capital, bool singular)
{
- QCString result((first_capital ? "Adres" : "adres"));
+ QCString result((first_capital ? "Adresář" : "adresář"));
if ( ! singular)
result += "e";
- return decode(result);
+ return result;
}
//////////////////////////////////////////////////////////////////////////
@@ -1623,9 +1611,9 @@ class TranslatorCzech : public Translator
*/
virtual QCString trOverloadText()
{
- return decode("Jde o petenou (overloaded) metodu, "
- "kter m usnadnit pouvn. Od ve uveden metody se li "
- "pouze jinak zadvanmi argumenty.");
+ return "Jde o přetíženou (overloaded) metodu, "
+ "která má usnadnit používání. Od výše uvedené metody se liší "
+ "pouze jinak zadávanými argumenty.";
}
//////////////////////////////////////////////////////////////////////////
@@ -1634,7 +1622,7 @@ class TranslatorCzech : public Translator
virtual QCString trCallerGraph()
{
- return decode("Tuto funkci volaj...");
+ return "Tuto funkci volají...";
}
@@ -1643,7 +1631,7 @@ class TranslatorCzech : public Translator
*/
virtual QCString trEnumerationValueDocumentation()
{
- return decode("Dokumentace vtovch hodnot");
+ return "Dokumentace výčtových hodnot";
}
};
diff --git a/src/util.cpp b/src/util.cpp
index 866b555..6521f81 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -293,6 +293,7 @@ int guessSection(const char *name)
n.right(4)==".hpp" ||
n.right(4)==".h++" ||
n.right(4)==".idl" ||
+ n.right(4)==".ddl" ||
n.right(5)==".pidl"
) return Entry::HEADER_SEC;
return 0;
@@ -1476,7 +1477,7 @@ nextChar:
result+=' ';
result+=s.at(i);
}
- else if (c=='t' && csp==5 &&
+ else if (c=='t' && csp==5 && (i<5 || !isId(s.at(i-5))) &&
!(isId(s.at(i+1)) /*|| s.at(i+1)==' '*/ || s.at(i+1)==')' ||
s.at(i+1)==',' || s.at(i+1)=='\0'))
// prevent const ::A from being converted to const::A
@@ -1485,12 +1486,12 @@ nextChar:
if (s.at(i+1)==' ') i++;
csp=0;
}
- else if (c==':' && csp==6) // replace const::A by const ::A
+ else if (c==':' && csp==6 && (i<6 || !isId(s.at(i-6)))) // replace const::A by const ::A
{
result+=" :";
csp=0;
}
- else if (c=='l' && vsp==7 &&
+ else if (c=='l' && vsp==7 && (i<7 || !isId(s.at(i-7))) &&
!(isId(s.at(i+1)) /*|| s.at(i+1)==' '*/ || s.at(i+1)==')' ||
s.at(i+1)==',' || s.at(i+1)=='\0'))
// prevent virtual ::A from being converted to virtual::A
@@ -1499,7 +1500,7 @@ nextChar:
if (s.at(i+1)==' ') i++;
vsp=0;
}
- else if (c==':' && vsp==8) // replace virtual::A by virtual ::A
+ else if (c==':' && vsp==8 && (i<8 || !isId(s.at(i-8)))) // replace virtual::A by virtual ::A
{
result+=" :";
vsp=0;
@@ -5949,6 +5950,7 @@ SrcLangExt getLanguageFromFileName(const QCString fileName)
if (!init) // one time initialization
{
extLookup.insert(".idl", new int(SrcLangExt_IDL));
+ extLookup.insert(".ddl", new int(SrcLangExt_IDL));
extLookup.insert(".odl", new int(SrcLangExt_IDL));
extLookup.insert(".java", new int(SrcLangExt_Java));
extLookup.insert(".jsl", new int(SrcLangExt_Java));