diff options
author | Roberto C. Sanchez <roberto@connexer.com> | 2014-03-29 10:53:52 -0400 |
---|---|---|
committer | Roberto C. Sanchez <roberto@connexer.com> | 2014-03-29 10:53:52 -0400 |
commit | 148bd343f3e7e32d141f66b5b5c9b98b2975b0b3 (patch) | |
tree | 31078963b85110d57310759016e60e8d26ccb1e6 /src/modules/filters/osisscripref.cpp | |
parent | 8c8aa6b07e595cfac56838b5964ab3e96051f1b2 (diff) |
Imported Upstream version 1.5.8
Diffstat (limited to 'src/modules/filters/osisscripref.cpp')
-rw-r--r-- | src/modules/filters/osisscripref.cpp | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/src/modules/filters/osisscripref.cpp b/src/modules/filters/osisscripref.cpp deleted file mode 100644 index 566e08a..0000000 --- a/src/modules/filters/osisscripref.cpp +++ /dev/null @@ -1,104 +0,0 @@ -/****************************************************************************** - * - * OSISScripref - SWFilter descendant to hide or show scripture references - * in an OSIS module. - */ - - -#include <stdlib.h> -#include <osisscripref.h> -#include <swmodule.h> -#include <utilxml.h> -#ifndef __GNUC__ -#else -#include <unixstr.h> -#endif - -SWORD_NAMESPACE_START - -const char oName[] = "Cross-references"; -const char oTip[] = "Toggles Scripture Cross-references On and Off if they exist"; - -const SWBuf choices[3] = {"On", "Off", ""}; -const StringList oValues(&choices[0], &choices[2]); - -OSISScripref::OSISScripref() : SWOptionFilter(oName, oTip, &oValues) { - setOptionValue("On"); -} - - -OSISScripref::~OSISScripref() { -} - - -char OSISScripref::processText(SWBuf &text, const SWKey *key, const SWModule *module) { - SWBuf token; - bool intoken = false; - bool hide = false; - SWBuf tagText; - XMLTag startTag; - int tagTextNum = 1; - int footnoteNum = 1; - char buf[254]; - - SWBuf orig = text; - const char *from = orig.c_str(); - - for (text = ""; *from; from++) { - if (*from == '<') { - intoken = true; - token = ""; - continue; - } - if (*from == '>') { // process tokens - intoken = false; - - XMLTag tag(token); - if (!strcmp(tag.getName(), "note")) { - if (!tag.isEndTag() && (!tag.isEmpty())) { - startTag = tag; - if ((tag.getAttribute("type")) && (!strcmp(tag.getAttribute("type"), "crossReference"))) { - hide = true; - tagText = ""; - if (option) { // we want the tag in the text - text += '<'; - text.append(token); - text += '>'; - } - continue; - } - } - if (hide && tag.isEndTag()) { - hide = false; - if (option) { // we want the tag in the text - text.append(tagText); // end tag gets added further down - } - else continue; // don't let the end tag get added to the text - } - } - - // if not a heading token, keep token in text - if (!hide) { - text += '<'; - text.append(token); - text += '>'; - } - else { - tagText += '<'; - tagText.append(token); - tagText += '>'; - } - continue; - } - if (intoken) { //copy token - token += *from; - } - else if (!hide) { //copy text which is not inside a token - text += *from; - } - else tagText += *from; - } - return 0; -} - -SWORD_NAMESPACE_END |