diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2017-12-28 09:13:43 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2017-12-28 09:13:43 (GMT) |
commit | 989de07559a112c398da0bf3e7a1112ed5c8dbd7 (patch) | |
tree | 07e79b6c76dec9c20f6c0df3c6662d73dcade4ef /src/docparser.cpp | |
parent | 9538bfd15c99aceb619f426b30c87004c4820370 (diff) | |
parent | 3977359bd3fb5527a237c2c0cdb61407f2d85464 (diff) | |
download | Doxygen-989de07559a112c398da0bf3e7a1112ed5c8dbd7.zip Doxygen-989de07559a112c398da0bf3e7a1112ed5c8dbd7.tar.gz Doxygen-989de07559a112c398da0bf3e7a1112ed5c8dbd7.tar.bz2 |
Merge branch 'master' of https://github.com/ahoogol/doxygen into ahoogol-master
Diffstat (limited to 'src/docparser.cpp')
-rw-r--r-- | src/docparser.cpp | 123 |
1 files changed, 122 insertions, 1 deletions
diff --git a/src/docparser.cpp b/src/docparser.cpp index 25d4b0c..3d57c2e 100644 --- a/src/docparser.cpp +++ b/src/docparser.cpp @@ -7232,8 +7232,129 @@ static QCString processCopyDoc(const char *data,uint &len) buf.addChar(0); return buf.get(); } +//--------------------------------------------------------------------------- +QString::Direction getTextDirByConfig(const QString &text) +{ + QCString configDir = Config_getEnum(OUTPUT_TEXT_DIRECTION); + if (configDir == "None") + return QString::DirNeutral; + if (configDir == "Context") + return text.basicDirection(); + if (configDir == "LTR") + { + QString::Direction textDir = text.direction(); + if (textDir == QString::DirMixed) + return QString::DirLTR; + return textDir; + } + if (configDir == "RTL") + { + QString::Direction textDir = text.direction(); + if (textDir == QString::DirMixed) + return QString::DirRTL; + return textDir; + } + return QString::DirNeutral; +} -//-------------------------------------------------------------------------- +QString::Direction getTextDirByConfig(const DocNode *node) +{ + QCString configDir = Config_getEnum(OUTPUT_TEXT_DIRECTION); + if (configDir == "None") + return QString::DirNeutral; + if (configDir == "Context") + return node->getTextBasicDir(); + if (configDir == "LTR") + { + QString::Direction textDir = node->getTextDir(); + if (textDir == QString::DirMixed) + return QString::DirLTR; + return textDir; + } + if (configDir == "RTL") + { + QString::Direction textDir = node->getTextDir(); + if (textDir == QString::DirMixed) + return QString::DirRTL; + return textDir; + } + return QString::DirNeutral; +} + +QString::Direction getTextDirByConfig(const DocPara *para, int nodeIndex) +{ + QCString configDir = Config_getEnum(OUTPUT_TEXT_DIRECTION); + if (configDir == "None") + return QString::DirNeutral; + if (configDir == "Context") + return para->getTextBasicDir(nodeIndex); + if (configDir == "LTR") + { + QString::Direction textDir = para->getTextDir(nodeIndex); + if (textDir == QString::DirMixed) + return QString::DirLTR; + return textDir; + } + if (configDir == "RTL") + { + QString::Direction textDir = para->getTextDir(nodeIndex); + if (textDir == QString::DirMixed) + return QString::DirRTL; + return textDir; + } + return QString::DirNeutral; +} + +QCString getDirHtmlClassOfNode(QString::Direction textDir, const char *initValue) +{ + QCString classFromDir; + if (textDir == QString::DirLTR) + classFromDir = "DocNodeLTR"; + else if (textDir == QString::DirRTL) + classFromDir = "DocNodeRTL"; + else + classFromDir = ""; + + if (initValue != NULL && !classFromDir.isEmpty()) + return QCString(" class=\"") + initValue + " " + classFromDir + "\""; + if (initValue != NULL) + return QCString(" class=\"") + initValue + "\""; + if (!classFromDir.isEmpty()) + return QCString(" class=\"") + classFromDir + "\""; + return ""; +} + +QCString getDirHtmlClassOfPage(QCString pageTitle) +{ + QCString result = ""; + result += " class=\"PageDoc"; + QString::Direction titleDir = getTextDirByConfig(pageTitle); + if (titleDir == QString::DirLTR) + result += " PageDocLTR-title"; + else if (titleDir == QString::DirRTL) + result += " PageDocRTL-title"; + result += "\""; + return result; +} + +QCString getHtmlDirEmbedingChar(QString::Direction textDir) +{ + if (textDir == QString::DirLTR) + return "‪"; + if (textDir == QString::DirRTL) + return "‫"; + return ""; +} + +QCString getJsDirEmbedingChar(QString::Direction textDir) +{ + if (textDir == QString::DirLTR) + return "\\u202A"; + if (textDir == QString::DirRTL) + return "\\u202B"; + return ""; +} +//--------------------------------------------------------------------------- DocRoot *validatingParseDoc(const char *fileName,int startLine, Definition *ctx,MemberDef *md, |