--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Orb/Doxygen/src/textdocvisitor.cpp Thu Jan 21 17:29:01 2010 +0000
@@ -0,0 +1,86 @@
+/******************************************************************************
+ *
+ *
+ *
+ *
+ * Copyright (C) 1997-2008 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 <qdir.h>
+#include "textdocvisitor.h"
+#include "message.h"
+
+//-------------------------------------------------------------------------
+
+void TextDocVisitor::visit(DocSymbol *s)
+{
+ switch(s->symbol())
+ {
+ case DocSymbol::BSlash: m_t << "\\"; break;
+ case DocSymbol::At: m_t << "@"; break;
+ case DocSymbol::Less: m_t << "<"; break;
+ case DocSymbol::Greater: m_t << ">"; break;
+ case DocSymbol::Amp: m_t << "&"; break;
+ case DocSymbol::Dollar: m_t << "$"; break;
+ case DocSymbol::Hash: m_t << "#"; break;
+ case DocSymbol::Percent: m_t << "%"; break;
+ case DocSymbol::Copy: m_t << "©"; break;
+ case DocSymbol::Tm: m_t << "&tm;"; break;
+ case DocSymbol::Reg: m_t << "®"; break;
+ case DocSymbol::Apos: m_t << "'"; break;
+ case DocSymbol::Quot: m_t << "\""; break;
+ case DocSymbol::Lsquo: m_t << "‘"; break;
+ case DocSymbol::Rsquo: m_t << "’"; break;
+ case DocSymbol::Ldquo: m_t << "“"; break;
+ case DocSymbol::Rdquo: m_t << "”"; break;
+ case DocSymbol::Ndash: m_t << "–"; break;
+ case DocSymbol::Mdash: m_t << "—"; break;
+ case DocSymbol::Uml: m_t << "&" << s->letter() << "uml;"; break;
+ case DocSymbol::Acute: m_t << "&" << s->letter() << "acute;"; break;
+ case DocSymbol::Grave: m_t << "&" << s->letter() << "grave;"; break;
+ case DocSymbol::Circ: m_t << "&" << s->letter() << "circ;"; break;
+ case DocSymbol::Slash: m_t << "&" << s->letter() << "slash;"; break;
+ case DocSymbol::Tilde: m_t << "&" << s->letter() << "tilde;"; break;
+ case DocSymbol::Szlig: m_t << "ß"; break;
+ case DocSymbol::Cedil: m_t << "&" << s->letter() << "cedil;"; break;
+ case DocSymbol::Ring: m_t << "&" << s->letter() << "ring;"; break;
+ case DocSymbol::Nbsp: m_t << " "; break;
+ case DocSymbol::Aelig: m_t << "æ"; break;
+ case DocSymbol::AElig: m_t << "Æ"; break;
+ default:
+ err("Error: unknown symbol found\n");
+ }
+}
+
+
+void TextDocVisitor::filter(const char *str)
+{
+ if (str==0) return;
+ const char *p=str;
+ char c;
+ while (*p)
+ {
+ c=*p++;
+ switch(c)
+ {
+ case '\n': m_t << " "; break;
+ case '"': m_t << """; break;
+ case '\'': m_t << "'"; break;
+ case '<': m_t << "<"; break;
+ case '>': m_t << ">"; break;
+ case '&': m_t << "&"; break;
+ default: m_t << c;
+ }
+ }
+}
+