diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2002-08-26 17:33:07 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2002-08-26 17:33:07 (GMT) |
commit | 6b47ce0c7beaaf8f88058953865e8425cb3ca272 (patch) | |
tree | 6d5ee0db5c717ebabc57f2d2a15a1365d5e3fa19 /src/htmldocvisitor.cpp | |
parent | d033ece659ef73379802b0c3d6b6f718f79b0436 (diff) | |
download | Doxygen-6b47ce0c7beaaf8f88058953865e8425cb3ca272.zip Doxygen-6b47ce0c7beaaf8f88058953865e8425cb3ca272.tar.gz Doxygen-6b47ce0c7beaaf8f88058953865e8425cb3ca272.tar.bz2 |
Release-1.2.17-20020826
Diffstat (limited to 'src/htmldocvisitor.cpp')
-rw-r--r-- | src/htmldocvisitor.cpp | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp new file mode 100644 index 0000000..062f109 --- /dev/null +++ b/src/htmldocvisitor.cpp @@ -0,0 +1,67 @@ +/****************************************************************************** + * + * + * + * + * Copyright (C) 1997-2002 by Dimitri van Heesch. + * + * Permission to use, copy, modify, and distribute this software and its + * documentation under the terms of the GNU General Public License is hereby + * granted. No representations are made about the suitability of this software + * for any purpose. It is provided "as is" without express or implied warranty. + * See the GNU General Public License for more details. + * + * Documents produced by Doxygen are derivative works derived from the + * input used in their production; they are not affected by this license. + * + */ + +#include "htmldocvisitor.h" + +void HtmlDocVisitor::filter(const char *str) +{ + if (str==0) return; + const char *p=str; + char c; + while (*p) + { + c=*p++; + switch(c) + { + case '<': m_t << "<"; break; + case '>': m_t << ">"; break; + case '&': m_t << "&"; break; + default: m_t << c; + } + } +} + +void HtmlDocVisitor::startLink(const QCString &ref,const QCString &file,const QCString &anchor) +{ + QCString *dest; + if (!ref.isEmpty()) // link to entity imported via tag file + { + m_t << "<a class=\"elRef\" "; + m_t << "doxygen=\"" << ref << ":"; + if ((dest=Doxygen::tagDestinationDict[ref])) m_t << *dest << "/"; + m_t << "\" "; + } + else // local link + { + m_t << "<a class=\"el\" "; + } + m_t << "href=\""; + if (!ref.isEmpty()) + { + if ((dest=Doxygen::tagDestinationDict[ref])) m_t << *dest << "/"; + } + if (!file.isEmpty()) m_t << file << Doxygen::htmlFileExtension; + if (!anchor.isEmpty()) m_t << "#" << anchor; + m_t << "\">"; +} + +void HtmlDocVisitor::endLink() +{ + m_t << "</a>"; +} + |