diff options
Diffstat (limited to 'utilities/diatheke/diafiltmgr.cpp')
-rw-r--r-- | utilities/diatheke/diafiltmgr.cpp | 227 |
1 files changed, 0 insertions, 227 deletions
diff --git a/utilities/diatheke/diafiltmgr.cpp b/utilities/diatheke/diafiltmgr.cpp deleted file mode 100644 index 5f38379..0000000 --- a/utilities/diatheke/diafiltmgr.cpp +++ /dev/null @@ -1,227 +0,0 @@ -/****************************************************************************** - * diafiltmgr.cpp - * - * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org) - * CrossWire Bible Society - * P. O. Box 2528 - * Tempe, AZ 85280-2528 - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation version 2. - * - * This program is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - */ - -#include <thmlplain.h> -#include <gbfplain.h> -#include <thmlgbf.h> -#include <gbfthml.h> -#include <thmlhtml.h> -#include <gbfhtml.h> -#include <plainhtml.h> -#include <thmlhtmlhref.h> -#include <gbfhtmlhref.h> -#include <thmlrtf.h> -#include <gbfrtf.h> -#include <osisrtf.h> -#include <osishtmlhref.h> -#include <osisplain.h> -#include <thmlosis.h> -#include <gbfosis.h> - -#include <swmgr.h> - -#include "diafiltmgr.h" -#include "thmlcgi.h" -#include "gbfcgi.h" -#include "osiscgi.h" - -DiathekeFilterMgr::DiathekeFilterMgr (char mark, char enc) - : EncodingFilterMgr(enc) { - - markup = mark; - - CreateFilters(markup); -} - -DiathekeFilterMgr::~DiathekeFilterMgr() { - if (fromthml) - delete (fromthml); - if (fromgbf) - delete (fromgbf); - if (fromplain) - delete (fromplain); - if (fromosis) - delete (fromosis); -} - -void DiathekeFilterMgr::AddRenderFilters(SWModule *module, ConfigEntMap §ion) { - switch (module->Markup()) { - case FMT_THML: - if (fromthml) - module->AddRenderFilter(fromthml); - break; - case FMT_GBF: - if (fromgbf) - module->AddRenderFilter(fromgbf); - break; - case FMT_PLAIN: - if (fromplain) - module->AddRenderFilter(fromplain); - break; - case FMT_OSIS: - if (fromosis) - module->AddRenderFilter(fromosis); - break; - } - EncodingFilterMgr::AddRenderFilters(module, section); -} - - -char DiathekeFilterMgr::Markup(char mark) { - if (mark && mark != markup) { - markup = mark; - ModMap::const_iterator module; - - SWFilter * oldplain = fromplain; - SWFilter * oldthml = fromthml; - SWFilter * oldgbf = fromgbf; - SWFilter * oldosis = fromosis; - - CreateFilters(markup); - - for (module = getParentMgr()->Modules.begin(); module != getParentMgr()->Modules.end(); module++) - switch (module->second->Markup()) { - case FMT_THML: - if (oldthml != fromthml) { - if (oldthml) { - if (!fromthml) { - module->second->RemoveRenderFilter(oldthml); - } - else { - module->second->ReplaceRenderFilter(oldthml, fromthml); - } - } - else if (fromthml) { - module->second->AddRenderFilter(fromthml); - } - } - break; - case FMT_GBF: - if (oldgbf != fromgbf) { - if (oldgbf) { - if (!fromgbf) { - module->second->RemoveRenderFilter(oldgbf); - } - else { - module->second->ReplaceRenderFilter(oldgbf, fromgbf); - } - } - else if (fromgbf) { - module->second->AddRenderFilter(fromgbf); - } - break; - } - case FMT_PLAIN: - if (oldplain != fromplain) { - if (oldplain) { - if (!fromplain) { - module->second->RemoveRenderFilter(oldplain); - } - else { - module->second->ReplaceRenderFilter(oldplain, fromplain); - } - } - else if (fromplain) { - module->second->AddRenderFilter(fromplain); - } - break; - } - case FMT_OSIS: - if (oldosis != fromosis) { - if (oldosis) { - if (!fromosis) { - module->second->RemoveRenderFilter(oldosis); - } - else { - module->second->ReplaceRenderFilter(oldosis, fromosis); - } - } - else if (fromosis) { - module->second->AddRenderFilter(fromosis); - } - break; - } - } - - if (oldthml) - delete oldthml; - if (oldgbf) - delete oldgbf; - if (oldplain) - delete oldplain; - if (oldosis) - delete oldosis; - } - return markup; -} - -void DiathekeFilterMgr::CreateFilters(char markup) { - - switch (markup) { - case FMT_CGI: - fromplain = NULL; - fromthml = new ThMLCGI(); - fromgbf = new GBFCGI(); - fromosis = new OSISCGI(); - break; - case FMT_PLAIN: - fromplain = NULL; - fromthml = new ThMLPlain(); - fromgbf = new GBFPlain(); - fromosis = new OSISPlain(); - break; - case FMT_THML: - fromplain = NULL; - fromthml = NULL; - fromgbf = new GBFThML(); - fromosis = NULL; - break; - case FMT_GBF: - fromplain = NULL; - fromthml = new ThMLGBF(); - fromgbf = NULL; - fromosis = NULL; - break; - case FMT_HTML: - fromplain = new PLAINHTML(); - fromthml = new ThMLHTML(); - fromgbf = new GBFHTML(); - fromosis = NULL; - break; - case FMT_HTMLHREF: - fromplain = NULL; - fromthml = new ThMLHTMLHREF(); - fromgbf = new GBFHTMLHREF(); - fromosis = new OSISHTMLHREF(); - break; - case FMT_RTF: - fromplain = NULL; - fromthml = new ThMLRTF(); - fromgbf = new GBFRTF(); - fromosis = new OSISRTF(); - break; - case FMT_OSIS: - fromplain = NULL; - fromthml = new ThMLOSIS(); - fromgbf = new GBFOSIS(); - fromosis = NULL; - break; - } - -} |