diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2007-05-06 12:30:18 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2007-05-06 12:30:18 (GMT) |
commit | 23c13fc17365dca77acbe9a992e03ae4a40f6eca (patch) | |
tree | cfc812b095178411db5aae564fc43cac8b714078 /src | |
parent | 124b4621e793d9ffa3eca3ee91cdb6ded37c553e (diff) | |
download | Doxygen-23c13fc17365dca77acbe9a992e03ae4a40f6eca.zip Doxygen-23c13fc17365dca77acbe9a992e03ae4a40f6eca.tar.gz Doxygen-23c13fc17365dca77acbe9a992e03ae4a40f6eca.tar.bz2 |
Release-1.5.2-20070506
Diffstat (limited to 'src')
-rw-r--r-- | src/classdef.cpp | 1 | ||||
-rw-r--r-- | src/commentcnv.l | 4 | ||||
-rw-r--r-- | src/commentscan.l | 10 | ||||
-rw-r--r-- | src/config.l | 19 | ||||
-rw-r--r-- | src/docparser.cpp | 41 | ||||
-rw-r--r-- | src/docparser.h | 2 | ||||
-rw-r--r-- | src/dot.cpp | 20 | ||||
-rw-r--r-- | src/doxygen.cpp | 18 | ||||
-rw-r--r-- | src/doxygen.h | 30 | ||||
-rw-r--r-- | src/doxygen.pro.in | 6 | ||||
-rw-r--r-- | src/entry.cpp | 286 | ||||
-rw-r--r-- | src/entry.h | 3 | ||||
-rw-r--r-- | src/language.cpp | 2 | ||||
-rw-r--r-- | src/marshal.cpp | 140 | ||||
-rw-r--r-- | src/marshal.h | 48 | ||||
-rw-r--r-- | src/memberdef.cpp | 7 | ||||
-rw-r--r-- | src/msc.cpp | 2 | ||||
-rw-r--r-- | src/perlmodgen.cpp | 33 | ||||
-rw-r--r-- | src/portable.cpp | 6 | ||||
-rw-r--r-- | src/pre.l | 3 | ||||
-rw-r--r-- | src/pyscanner.l | 13 | ||||
-rw-r--r-- | src/scanner.l | 75 | ||||
-rw-r--r-- | src/translator_cz.h | 676 | ||||
-rw-r--r-- | src/util.cpp | 10 |
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); } @@ -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=¤t->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)); |