|
Packit |
1c1d7e |
/******************************************************************************
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Copyright (C) 1997-2015 by Dimitri van Heesch.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Permission to use, copy, modify, and distribute this software and its
|
|
Packit |
1c1d7e |
* documentation under the terms of the GNU General Public License is hereby
|
|
Packit |
1c1d7e |
* granted. No representations are made about the suitability of this software
|
|
Packit |
1c1d7e |
* for any purpose. It is provided "as is" without express or implied warranty.
|
|
Packit |
1c1d7e |
* See the GNU General Public License for more details.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Documents produced by Doxygen are derivative works derived from the
|
|
Packit |
1c1d7e |
* input used in their production; they are not affected by this license.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include "cmdmapper.h"
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** Call representing a mapping from a command name to a command ID. */
|
|
Packit |
1c1d7e |
struct CommandMap
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
const char *cmdName;
|
|
Packit |
1c1d7e |
int cmdId;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
CommandMap cmdMap[] =
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
{ "a", CMD_EMPHASIS },
|
|
Packit |
1c1d7e |
{ "addindex", CMD_ADDINDEX },
|
|
Packit |
1c1d7e |
{ "anchor", CMD_ANCHOR },
|
|
Packit |
1c1d7e |
{ "arg", CMD_LI },
|
|
Packit |
1c1d7e |
{ "attention", CMD_ATTENTION },
|
|
Packit |
1c1d7e |
{ "author", CMD_AUTHOR },
|
|
Packit |
1c1d7e |
{ "authors", CMD_AUTHORS },
|
|
Packit |
1c1d7e |
{ "b", CMD_BOLD },
|
|
Packit |
1c1d7e |
{ "c", CMD_CODE },
|
|
Packit |
1c1d7e |
{ "cite", CMD_CITE },
|
|
Packit |
1c1d7e |
{ "code", CMD_STARTCODE },
|
|
Packit |
1c1d7e |
{ "copydoc", CMD_COPYDOC },
|
|
Packit |
1c1d7e |
{ "copybrief", CMD_COPYBRIEF },
|
|
Packit |
1c1d7e |
{ "copydetails", CMD_COPYDETAILS },
|
|
Packit |
1c1d7e |
{ "copyright", CMD_COPYRIGHT },
|
|
Packit |
1c1d7e |
{ "date", CMD_DATE },
|
|
Packit |
1c1d7e |
{ "dontinclude", CMD_DONTINCLUDE },
|
|
Packit |
1c1d7e |
{ "dotfile", CMD_DOTFILE },
|
|
Packit |
1c1d7e |
{ "e", CMD_EMPHASIS },
|
|
Packit |
1c1d7e |
{ "em", CMD_EMPHASIS },
|
|
Packit |
1c1d7e |
{ "endcode", CMD_ENDCODE },
|
|
Packit |
1c1d7e |
{ "endhtmlonly", CMD_ENDHTMLONLY },
|
|
Packit |
1c1d7e |
{ "endlatexonly", CMD_ENDLATEXONLY },
|
|
Packit |
1c1d7e |
{ "endlink", CMD_ENDLINK },
|
|
Packit |
1c1d7e |
{ "endsecreflist", CMD_ENDSECREFLIST },
|
|
Packit |
1c1d7e |
{ "endverbatim", CMD_ENDVERBATIM },
|
|
Packit |
1c1d7e |
{ "endxmlonly", CMD_ENDXMLONLY },
|
|
Packit |
1c1d7e |
{ "exception", CMD_EXCEPTION },
|
|
Packit |
1c1d7e |
{ "form", CMD_FORMULA },
|
|
Packit |
1c1d7e |
{ "htmlinclude", CMD_HTMLINCLUDE },
|
|
Packit |
1c1d7e |
{ "htmlonly", CMD_HTMLONLY },
|
|
Packit |
1c1d7e |
{ "image", CMD_IMAGE },
|
|
Packit |
1c1d7e |
{ "include", CMD_INCLUDE },
|
|
Packit |
1c1d7e |
{ "internal", CMD_INTERNAL },
|
|
Packit |
1c1d7e |
{ "invariant", CMD_INVARIANT },
|
|
Packit |
1c1d7e |
{ "javalink", CMD_JAVALINK },
|
|
Packit |
1c1d7e |
{ "latexinclude", CMD_LATEXINCLUDE },
|
|
Packit |
1c1d7e |
{ "latexonly", CMD_LATEXONLY },
|
|
Packit |
1c1d7e |
{ "li", CMD_LI },
|
|
Packit |
1c1d7e |
{ "line", CMD_LINE },
|
|
Packit |
1c1d7e |
{ "link", CMD_LINK },
|
|
Packit |
1c1d7e |
{ "n", CMD_LINEBREAK },
|
|
Packit |
1c1d7e |
{ "note", CMD_NOTE },
|
|
Packit |
1c1d7e |
{ "p", CMD_CODE },
|
|
Packit |
1c1d7e |
{ "par", CMD_PAR },
|
|
Packit |
1c1d7e |
{ "param", CMD_PARAM },
|
|
Packit |
1c1d7e |
{ "post", CMD_POST },
|
|
Packit |
1c1d7e |
{ "pre", CMD_PRE },
|
|
Packit |
1c1d7e |
{ "ref", CMD_REF },
|
|
Packit |
1c1d7e |
{ "refitem", CMD_SECREFITEM },
|
|
Packit |
1c1d7e |
{ "remark", CMD_REMARK },
|
|
Packit |
1c1d7e |
{ "remarks", CMD_REMARK },
|
|
Packit |
1c1d7e |
{ "result", CMD_RETURN },
|
|
Packit |
1c1d7e |
{ "return", CMD_RETURN },
|
|
Packit |
1c1d7e |
{ "returns", CMD_RETURN },
|
|
Packit |
1c1d7e |
{ "retval", CMD_RETVAL },
|
|
Packit |
1c1d7e |
{ "rtfonly", CMD_RTFONLY },
|
|
Packit |
1c1d7e |
{ "sa", CMD_SA },
|
|
Packit |
1c1d7e |
{ "secreflist", CMD_SECREFLIST },
|
|
Packit |
1c1d7e |
{ "section", CMD_SECTION },
|
|
Packit |
1c1d7e |
{ "snippet", CMD_SNIPPET },
|
|
Packit |
1c1d7e |
{ "snippetdoc", CMD_SNIPPETDOC },
|
|
Packit |
1c1d7e |
{ "snippetlineno", CMD_SNIPWITHLINES },
|
|
Packit |
1c1d7e |
{ "subpage", CMD_SUBPAGE },
|
|
Packit |
1c1d7e |
{ "subsection", CMD_SUBSECTION },
|
|
Packit |
1c1d7e |
{ "subsubsection", CMD_SUBSUBSECTION },
|
|
Packit |
1c1d7e |
{ "paragraph", CMD_PARAGRAPH },
|
|
Packit |
1c1d7e |
{ "see", CMD_SA },
|
|
Packit |
1c1d7e |
{ "since", CMD_SINCE },
|
|
Packit |
1c1d7e |
{ "skip", CMD_SKIP },
|
|
Packit |
1c1d7e |
{ "skipline", CMD_SKIPLINE },
|
|
Packit |
1c1d7e |
{ "xmlonly", CMD_XMLONLY },
|
|
Packit |
1c1d7e |
{ "xrefitem", CMD_XREFITEM },
|
|
Packit |
1c1d7e |
{ "throw", CMD_EXCEPTION },
|
|
Packit |
1c1d7e |
{ "until", CMD_UNTIL },
|
|
Packit |
1c1d7e |
{ "verbatim", CMD_VERBATIM },
|
|
Packit |
1c1d7e |
{ "verbinclude", CMD_VERBINCLUDE },
|
|
Packit |
1c1d7e |
{ "version", CMD_VERSION },
|
|
Packit |
1c1d7e |
{ "warning", CMD_WARNING },
|
|
Packit |
1c1d7e |
{ "throws", CMD_EXCEPTION },
|
|
Packit |
1c1d7e |
{ "tparam", CMD_TPARAM },
|
|
Packit |
1c1d7e |
{ "\\", CMD_BSLASH },
|
|
Packit |
1c1d7e |
{ "@", CMD_AT },
|
|
Packit |
1c1d7e |
{ "<", CMD_LESS },
|
|
Packit |
1c1d7e |
{ ">", CMD_GREATER },
|
|
Packit |
1c1d7e |
{ "&", CMD_AMP },
|
|
Packit |
1c1d7e |
{ "$", CMD_DOLLAR },
|
|
Packit |
1c1d7e |
{ "#", CMD_HASH },
|
|
Packit |
1c1d7e |
{ "%", CMD_PERCENT },
|
|
Packit |
1c1d7e |
{ "|", CMD_PIPE },
|
|
Packit |
1c1d7e |
{ ".", CMD_PUNT },
|
|
Packit |
1c1d7e |
{ "+", CMD_PLUS },
|
|
Packit |
1c1d7e |
{ "-", CMD_MINUS },
|
|
Packit |
1c1d7e |
{ "::", CMD_DCOLON },
|
|
Packit |
1c1d7e |
{ "\"", CMD_QUOTE },
|
|
Packit |
1c1d7e |
{ "_internalref", CMD_INTERNALREF },
|
|
Packit |
1c1d7e |
{ "dot", CMD_DOT },
|
|
Packit |
1c1d7e |
{ "msc", CMD_MSC },
|
|
Packit |
1c1d7e |
{ "startuml", CMD_STARTUML },
|
|
Packit |
1c1d7e |
{ "enddot", CMD_ENDDOT },
|
|
Packit |
1c1d7e |
{ "endmsc", CMD_ENDMSC },
|
|
Packit |
1c1d7e |
{ "enduml", CMD_ENDUML },
|
|
Packit |
1c1d7e |
{ "manonly", CMD_MANONLY },
|
|
Packit |
1c1d7e |
{ "endmanonly", CMD_ENDMANONLY },
|
|
Packit |
1c1d7e |
{ "includelineno", CMD_INCWITHLINES },
|
|
Packit |
1c1d7e |
{ "includedoc", CMD_INCLUDEDOC },
|
|
Packit |
1c1d7e |
{ "inheritdoc", CMD_INHERITDOC },
|
|
Packit |
1c1d7e |
{ "mscfile", CMD_MSCFILE },
|
|
Packit |
1c1d7e |
{ "rtfonly", CMD_RTFONLY },
|
|
Packit |
1c1d7e |
{ "endrtfonly", CMD_ENDRTFONLY },
|
|
Packit |
1c1d7e |
{ "vhdlflow", CMD_VHDLFLOW },
|
|
Packit |
1c1d7e |
{ "docbookonly", CMD_DBONLY },
|
|
Packit |
1c1d7e |
{ "enddocbookonly",CMD_ENDDBONLY },
|
|
Packit |
1c1d7e |
{ "endinternal", CMD_ENDINTERNAL },
|
|
Packit |
1c1d7e |
{ "parblock", CMD_PARBLOCK },
|
|
Packit |
1c1d7e |
{ "endparblock", CMD_ENDPARBLOCK },
|
|
Packit |
1c1d7e |
{ "diafile", CMD_DIAFILE },
|
|
Packit |
1c1d7e |
{ "--", CMD_NDASH },
|
|
Packit |
1c1d7e |
{ "---", CMD_MDASH },
|
|
Packit |
1c1d7e |
{ "_setscope", CMD_SETSCOPE },
|
|
Packit |
1c1d7e |
{ 0, 0 },
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//----------------------------------------------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
CommandMap htmlTagMap[] =
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
{ "strong", HTML_BOLD },
|
|
Packit |
1c1d7e |
{ "center", HTML_CENTER },
|
|
Packit |
1c1d7e |
{ "table", HTML_TABLE },
|
|
Packit |
1c1d7e |
{ "caption", HTML_CAPTION },
|
|
Packit |
1c1d7e |
{ "small", HTML_SMALL },
|
|
Packit |
1c1d7e |
{ "code", HTML_CODE },
|
|
Packit |
1c1d7e |
{ "dfn", HTML_CODE },
|
|
Packit |
1c1d7e |
{ "var", HTML_EMPHASIS },
|
|
Packit |
1c1d7e |
{ "img", HTML_IMG },
|
|
Packit |
1c1d7e |
{ "pre", HTML_PRE },
|
|
Packit |
1c1d7e |
{ "sub", HTML_SUB },
|
|
Packit |
1c1d7e |
{ "sup", HTML_SUP },
|
|
Packit |
1c1d7e |
{ "tr", HTML_TR },
|
|
Packit |
1c1d7e |
{ "td", HTML_TD },
|
|
Packit |
1c1d7e |
{ "th", HTML_TH },
|
|
Packit |
1c1d7e |
{ "ol", HTML_OL },
|
|
Packit |
1c1d7e |
{ "ul", HTML_UL },
|
|
Packit |
1c1d7e |
{ "li", HTML_LI },
|
|
Packit |
1c1d7e |
{ "tt", XML_C /*HTML_CODE*/ },
|
|
Packit |
1c1d7e |
{ "kbd", XML_C /*HTML_CODE*/ },
|
|
Packit |
1c1d7e |
{ "em", HTML_EMPHASIS },
|
|
Packit |
1c1d7e |
{ "hr", HTML_HR },
|
|
Packit |
1c1d7e |
{ "dl", HTML_DL },
|
|
Packit |
1c1d7e |
{ "dt", HTML_DT },
|
|
Packit |
1c1d7e |
{ "dd", HTML_DD },
|
|
Packit |
1c1d7e |
{ "br", HTML_BR },
|
|
Packit |
1c1d7e |
{ "i", HTML_EMPHASIS },
|
|
Packit |
1c1d7e |
{ "a", HTML_A },
|
|
Packit |
1c1d7e |
{ "b", HTML_BOLD },
|
|
Packit |
1c1d7e |
{ "p", HTML_P },
|
|
Packit |
1c1d7e |
{ "h1", HTML_H1 },
|
|
Packit |
1c1d7e |
{ "h2", HTML_H2 },
|
|
Packit |
1c1d7e |
{ "h3", HTML_H3 },
|
|
Packit |
1c1d7e |
{ "h4", HTML_H4 },
|
|
Packit |
1c1d7e |
{ "h5", HTML_H5 },
|
|
Packit |
1c1d7e |
{ "h6", HTML_H6 },
|
|
Packit |
1c1d7e |
{ "span", HTML_SPAN },
|
|
Packit |
1c1d7e |
{ "div", HTML_DIV },
|
|
Packit |
1c1d7e |
{ "blockquote", HTML_BLOCKQUOTE },
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
{ "c", XML_C },
|
|
Packit |
1c1d7e |
// { "code", XML_CODE }, <= ambiguous is also a HTML tag
|
|
Packit |
1c1d7e |
{ "description", XML_DESCRIPTION },
|
|
Packit |
1c1d7e |
{ "example", XML_EXAMPLE },
|
|
Packit |
1c1d7e |
{ "exception", XML_EXCEPTION },
|
|
Packit |
1c1d7e |
{ "include", XML_INCLUDE },
|
|
Packit |
1c1d7e |
{ "item", XML_ITEM },
|
|
Packit |
1c1d7e |
{ "list", XML_LIST }, // type="table|bullet|number"
|
|
Packit |
1c1d7e |
{ "listheader", XML_LISTHEADER },
|
|
Packit |
1c1d7e |
{ "para", XML_PARA },
|
|
Packit |
1c1d7e |
{ "param", XML_PARAM },
|
|
Packit |
1c1d7e |
{ "paramref", XML_PARAMREF },
|
|
Packit |
1c1d7e |
{ "typeparam", XML_TYPEPARAM },
|
|
Packit |
1c1d7e |
{ "typeparamref", XML_TYPEPARAMREF },
|
|
Packit |
1c1d7e |
{ "permission", XML_PERMISSION },
|
|
Packit |
1c1d7e |
{ "remarks", XML_REMARKS },
|
|
Packit |
1c1d7e |
{ "returns", XML_RETURNS },
|
|
Packit |
1c1d7e |
{ "see", XML_SEE },
|
|
Packit |
1c1d7e |
{ "seealso", XML_SEEALSO },
|
|
Packit |
1c1d7e |
{ "summary", XML_SUMMARY },
|
|
Packit |
1c1d7e |
{ "term", XML_TERM },
|
|
Packit |
1c1d7e |
{ "value", XML_VALUE },
|
|
Packit |
1c1d7e |
{ "inheritdoc", XML_INHERITDOC },
|
|
Packit |
1c1d7e |
{ 0, 0 }
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//----------------------------------------------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
Mapper *Mappers::cmdMapper = new Mapper(cmdMap,TRUE);
|
|
Packit |
1c1d7e |
Mapper *Mappers::htmlTagMapper = new Mapper(htmlTagMap,FALSE);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int Mapper::map(const char *n)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
QCString name=n;
|
|
Packit |
1c1d7e |
if (!m_cs) name=name.lower();
|
|
Packit |
1c1d7e |
int *result;
|
|
Packit |
1c1d7e |
return !name.isEmpty() && (result=m_map.find(name)) ? *result: 0;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QString Mapper::find(const int n)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
QDictIterator<int> mapIterator(m_map);
|
|
Packit |
1c1d7e |
for (int *curVal = mapIterator.toFirst();(curVal = mapIterator.current());++mapIterator)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
if (*curVal == n || (*curVal == (n | SIMPLESECT_BIT))) return mapIterator.currentKey();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
return NULL;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
Mapper::Mapper(const CommandMap *cm,bool caseSensitive) : m_map(89), m_cs(caseSensitive)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_map.setAutoDelete(TRUE);
|
|
Packit |
1c1d7e |
const CommandMap *p = cm;
|
|
Packit |
1c1d7e |
while (p->cmdName)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
m_map.insert(p->cmdName,new int(p->cmdId));
|
|
Packit |
1c1d7e |
p++;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void Mappers::freeMappers()
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
delete cmdMapper; cmdMapper = 0;
|
|
Packit |
1c1d7e |
delete htmlTagMapper; htmlTagMapper = 0;
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|