From c9458897ebbb739d8db83c80e06512d8a612f743 Mon Sep 17 00:00:00 2001 From: danglassey Date: Wed, 14 Aug 2002 09:57:17 +0000 Subject: *** empty log message *** --- .../html/thmlscripref_8cpp-source.html | 117 +++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 doc/api-documentation/html/thmlscripref_8cpp-source.html (limited to 'doc/api-documentation/html/thmlscripref_8cpp-source.html') diff --git a/doc/api-documentation/html/thmlscripref_8cpp-source.html b/doc/api-documentation/html/thmlscripref_8cpp-source.html new file mode 100644 index 0000000..154fff9 --- /dev/null +++ b/doc/api-documentation/html/thmlscripref_8cpp-source.html @@ -0,0 +1,117 @@ + + +thmlscripref.cpp Source File + + + +
+Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  
+

thmlscripref.cpp

00001 /******************************************************************************
+00002  *
+00003  * thmlscripref -       SWFilter decendant to hide or show scripture references
+00004  *                      in a ThML module.
+00005  */
+00006 
+00007 
+00008 #include <stdlib.h>
+00009 #include <string.h>
+00010 #include <thmlscripref.h>
+00011 #ifndef __GNUC__
+00012 #else
+00013 #include <unixstr.h>
+00014 #endif
+00015 
+00016 
+00017 const char ThMLScripref::on[] = "On";
+00018 const char ThMLScripref::off[] = "Off";
+00019 const char ThMLScripref::optName[] = "Scripture Cross-references";
+00020 const char ThMLScripref::optTip[] = "Toggles Scripture Cross-references On and Off if they exist";
+00021 
+00022 
+00023 ThMLScripref::ThMLScripref() {
+00024         option = false;
+00025         options.push_back(on);
+00026         options.push_back(off);
+00027 }
+00028 
+00029 
+00030 ThMLScripref::~ThMLScripref() {
+00031 }
+00032 
+00033 void ThMLScripref::setOptionValue(const char *ival)
+00034 {
+00035         option = (!stricmp(ival, on));
+00036 }
+00037 
+00038 const char *ThMLScripref::getOptionValue()
+00039 {
+00040         return (option) ? on:off;
+00041 }
+00042 
+00043 char ThMLScripref::ProcessText(char *text, int maxlen, const SWKey *key, const SWModule *module)
+00044 {
+00045         if (!option) {  // if we don't want scriprefs
+00046                 char *to, *from, token[2048]; // cheese.  Fix.
+00047                 int tokpos = 0;
+00048                 bool intoken = false;
+00049                 int len;
+00050                 bool hide = false;
+00051 
+00052                 len = strlen(text) + 1; // shift string to right of buffer
+00053                 if (len < maxlen) {
+00054                         memmove(&text[maxlen - len], text, len);
+00055                         from = &text[maxlen - len];
+00056                 }
+00057                 else    from = text;    // -------------------------------
+00058 
+00059                 for (to = text; *from; from++) {
+00060                         if (*from == '<') {
+00061                                 intoken = true;
+00062                                 tokpos = 0;
+00063                                 token[0] = 0;
+00064                                 token[1] = 0;
+00065                                 token[2] = 0;
+00066                                 continue;
+00067                         }
+00068                         if (*from == '>') {     // process tokens
+00069                                 intoken = false;
+00070                                 if (!strnicmp(token, "scripRef", 8)) {
+00071                                   hide = true;
+00072                                   continue;
+00073                                 }
+00074                                 else if (!strnicmp(token, "/scripRef", 9)) {
+00075                                   hide = false;
+00076                                   continue;
+00077                                 }
+00078 
+00079                                 // if not a scripref token, keep token in text
+00080                                 if (!hide) {
+00081                                         *to++ = '<';
+00082                                         for (char *tok = token; *tok; tok++)
+00083                                                 *to++ = *tok;
+00084                                         *to++ = '>';
+00085                                 }
+00086                                 continue;
+00087                         }
+00088                         if (intoken) {
+00089                                 if (tokpos < 2045)
+00090                                         token[tokpos++] = *from;
+00091                                         token[tokpos+2] = 0;
+00092                         }
+00093                         else    {
+00094                                 if (!hide) {
+00095                                         *to++ = *from;
+00096                                 }
+00097                         }
+00098                 }
+00099                 *to++ = 0;
+00100                 *to = 0;
+00101         }
+00102         return 0;
+00103 }
+

Generated on Thu Jun 20 22:13:01 2002 for The Sword Project by + +doxygen1.2.15
+ + -- cgit