diff options
author | danglassey <danglassey> | 2002-08-14 09:57:17 +0000 |
---|---|---|
committer | danglassey <danglassey> | 2002-08-14 09:57:17 +0000 |
commit | c9458897ebbb739d8db83c80e06512d8a612f743 (patch) | |
tree | f8c5381045887e34388cc6b26cfccc254bf766dc /doc/api-documentation/html/markupfiltmgr_8cpp-source.html | |
download | sword-sf-cvs-c9458897ebbb739d8db83c80e06512d8a612f743.tar.gz |
*** empty log message ***
Diffstat (limited to 'doc/api-documentation/html/markupfiltmgr_8cpp-source.html')
-rw-r--r-- | doc/api-documentation/html/markupfiltmgr_8cpp-source.html | 250 |
1 files changed, 250 insertions, 0 deletions
diff --git a/doc/api-documentation/html/markupfiltmgr_8cpp-source.html b/doc/api-documentation/html/markupfiltmgr_8cpp-source.html new file mode 100644 index 0000000..d1934ab --- /dev/null +++ b/doc/api-documentation/html/markupfiltmgr_8cpp-source.html @@ -0,0 +1,250 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>markupfiltmgr.cpp Source File</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.2.15 --> +<center> +<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> </center> +<hr><h1>markupfiltmgr.cpp</h1><div class="fragment"><pre>00001 <font class="comment">/******************************************************************************</font> +00002 <font class="comment"> * swmarkupmgr.cpp - implementaion of class MarkupFilterMgr, subclass of</font> +00003 <font class="comment"> * used to transcode all module text to a requested</font> +00004 <font class="comment"> * markup.</font> +00005 <font class="comment"> *</font> +00006 <font class="comment"> * Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)</font> +00007 <font class="comment"> * CrossWire Bible Society</font> +00008 <font class="comment"> * P. O. Box 2528</font> +00009 <font class="comment"> * Tempe, AZ 85280-2528</font> +00010 <font class="comment"> *</font> +00011 <font class="comment"> * This program is free software; you can redistribute it and/or modify it</font> +00012 <font class="comment"> * under the terms of the GNU General Public License as published by the</font> +00013 <font class="comment"> * Free Software Foundation version 2.</font> +00014 <font class="comment"> *</font> +00015 <font class="comment"> * This program is distributed in the hope that it will be useful, but</font> +00016 <font class="comment"> * WITHOUT ANY WARRANTY; without even the implied warranty of</font> +00017 <font class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</font> +00018 <font class="comment"> * General Public License for more details.</font> +00019 <font class="comment"> *</font> +00020 <font class="comment"> */</font> +00021 +00022 <font class="preprocessor">#include <thmlplain.h></font> +00023 <font class="preprocessor">#include <gbfplain.h></font> +00024 <font class="preprocessor">#include <thmlgbf.h></font> +00025 <font class="preprocessor">#include <gbfthml.h></font> +00026 <font class="preprocessor">#include <thmlhtml.h></font> +00027 <font class="preprocessor">#include <gbfhtml.h></font> +00028 <font class="preprocessor">#include <plainhtml.h></font> +00029 <font class="preprocessor">#include <thmlhtmlhref.h></font> +00030 <font class="preprocessor">#include <gbfhtmlhref.h></font> +00031 <font class="preprocessor">#include <thmlrtf.h></font> +00032 <font class="preprocessor">#include <gbfrtf.h></font> +00033 <font class="preprocessor">#include <gbfosis.h></font> +00034 <font class="preprocessor">#include <thmlosis.h></font> +00035 +00036 <font class="preprocessor">#include <markupfiltmgr.h></font> +00037 +00038 <font class="preprocessor">#include <swmgr.h></font> +00039 +00040 +00041 <font class="comment">/******************************************************************************</font> +00042 <font class="comment"> * MarkupFilterMgr Constructor - initializes instance of MarkupFilterMgr</font> +00043 <font class="comment"> *</font> +00044 <font class="comment"> * ENT:</font> +00045 <font class="comment"> * enc - Encoding format to emit</font> +00046 <font class="comment"> * mark - Markup format to emit</font> +00047 <font class="comment"> */</font> +00048 +<a name="l00049"></a><a class="code" href="class_markup_filter_mgr.html#a0">00049</a> <a class="code" href="class_markup_filter_mgr.html#a0">MarkupFilterMgr::MarkupFilterMgr</a> (<font class="keywordtype">char</font> mark, <font class="keywordtype">char</font> enc) +00050 : <a class="code" href="class_encoding_filter_mgr.html">EncodingFilterMgr</a>(enc) { +00051 +00052 markup = mark; +00053 +00054 CreateFilters(markup); +00055 } +00056 +00057 +00058 <font class="comment">/******************************************************************************</font> +00059 <font class="comment"> * MarkupFilterMgr Destructor - Cleans up instance of MarkupFilterMgr</font> +00060 <font class="comment"> */</font> +00061 +<a name="l00062"></a><a class="code" href="class_markup_filter_mgr.html#a1">00062</a> <a class="code" href="class_markup_filter_mgr.html#a1">MarkupFilterMgr::~MarkupFilterMgr</a>() { +00063 <font class="keywordflow">if</font> (fromthml) +00064 <font class="keyword">delete</font> (fromthml); +00065 <font class="keywordflow">if</font> (fromgbf) +00066 <font class="keyword">delete</font> (fromgbf); +00067 <font class="keywordflow">if</font> (fromplain) +00068 <font class="keyword">delete</font> (fromplain); +00069 <font class="keywordflow">if</font> (fromosis) +00070 <font class="keyword">delete</font> (fromosis); +00071 } +00072 +00073 <font class="comment">/******************************************************************************</font> +00074 <font class="comment"> * MarkupFilterMgr::Markup - sets/gets markup</font> +00075 <font class="comment"> *</font> +00076 <font class="comment"> * ENT: mark - new encoding or 0 to simply get the current markup</font> +00077 <font class="comment"> *</font> +00078 <font class="comment"> * RET: markup</font> +00079 <font class="comment"> */</font> +<a name="l00080"></a><a class="code" href="class_markup_filter_mgr.html#a2">00080</a> <font class="keywordtype">char</font> <a class="code" href="class_markup_filter_mgr.html#a2">MarkupFilterMgr::Markup</a>(<font class="keywordtype">char</font> mark) { +00081 <font class="keywordflow">if</font> (mark && mark != markup) { +00082 markup = mark; +00083 ModMap::const_iterator module; +00084 +00085 SWFilter * oldplain = fromplain; +00086 SWFilter * oldthml = fromthml; +00087 SWFilter * oldgbf = fromgbf; +00088 SWFilter * oldosis = fromosis; +00089 +00090 CreateFilters(markup); +00091 +00092 <font class="keywordflow">for</font> (module = getParentMgr()->Modules.begin(); module != getParentMgr()->Modules.end(); module++) +00093 <font class="keywordflow">switch</font> (module->second->Markup()) { +00094 <font class="keywordflow">case</font> FMT_THML: +00095 <font class="keywordflow">if</font> (oldthml != fromthml) { +00096 <font class="keywordflow">if</font> (oldthml) { +00097 <font class="keywordflow">if</font> (!fromthml) { +00098 module->second->RemoveRenderFilter(oldthml); +00099 } +00100 <font class="keywordflow">else</font> { +00101 module->second->ReplaceRenderFilter(oldthml, fromthml); +00102 } +00103 } +00104 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (fromthml) { +00105 module->second->AddRenderFilter(fromthml); +00106 } +00107 } +00108 <font class="keywordflow">break</font>; +00109 <font class="keywordflow">case</font> FMT_GBF: +00110 <font class="keywordflow">if</font> (oldgbf != fromgbf) { +00111 <font class="keywordflow">if</font> (oldgbf) { +00112 <font class="keywordflow">if</font> (!fromgbf) { +00113 module->second->RemoveRenderFilter(oldgbf); +00114 } +00115 <font class="keywordflow">else</font> { +00116 module->second->ReplaceRenderFilter(oldgbf, fromgbf); +00117 } +00118 } +00119 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (fromgbf) { +00120 module->second->AddRenderFilter(fromgbf); +00121 } +00122 <font class="keywordflow">break</font>; +00123 } +00124 <font class="keywordflow">case</font> FMT_PLAIN: +00125 <font class="keywordflow">if</font> (oldplain != fromplain) { +00126 <font class="keywordflow">if</font> (oldplain) { +00127 <font class="keywordflow">if</font> (!fromplain) { +00128 module->second->RemoveRenderFilter(oldplain); +00129 } +00130 <font class="keywordflow">else</font> { +00131 module->second->ReplaceRenderFilter(oldplain, fromplain); +00132 } +00133 } +00134 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (fromplain) { +00135 module->second->AddRenderFilter(fromplain); +00136 } +00137 <font class="keywordflow">break</font>; +00138 } +00139 <font class="keywordflow">case</font> FMT_OSIS: +00140 <font class="keywordflow">if</font> (oldosis != fromosis) { +00141 <font class="keywordflow">if</font> (oldosis) { +00142 <font class="keywordflow">if</font> (!fromosis) { +00143 module->second->RemoveRenderFilter(oldosis); +00144 } +00145 <font class="keywordflow">else</font> { +00146 module->second->ReplaceRenderFilter(oldosis, fromosis); +00147 } +00148 } +00149 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (fromosis) { +00150 module->second->AddRenderFilter(fromosis); +00151 } +00152 <font class="keywordflow">break</font>; +00153 } +00154 } +00155 +00156 <font class="keywordflow">if</font> (oldthml) +00157 <font class="keyword">delete</font> oldthml; +00158 <font class="keywordflow">if</font> (oldgbf) +00159 <font class="keyword">delete</font> oldgbf; +00160 <font class="keywordflow">if</font> (oldplain) +00161 <font class="keyword">delete</font> oldplain; +00162 <font class="keywordflow">if</font> (oldosis) +00163 <font class="keyword">delete</font> oldosis; +00164 } +00165 <font class="keywordflow">return</font> markup; +00166 } +00167 +<a name="l00168"></a><a class="code" href="class_markup_filter_mgr.html#a3">00168</a> <font class="keywordtype">void</font> <a class="code" href="class_markup_filter_mgr.html#a3">MarkupFilterMgr::AddRenderFilters</a>(<a class="code" href="class_s_w_module.html">SWModule</a> *module, ConfigEntMap &section) { +00169 <font class="keywordflow">switch</font> (module-><a class="code" href="class_s_w_module.html#a20">Markup</a>()) { +00170 <font class="keywordflow">case</font> FMT_THML: +00171 <font class="keywordflow">if</font> (fromthml) +00172 module-><a class="code" href="class_s_w_module.html#a41">AddRenderFilter</a>(fromthml); +00173 <font class="keywordflow">break</font>; +00174 <font class="keywordflow">case</font> FMT_GBF: +00175 <font class="keywordflow">if</font> (fromgbf) +00176 module-><a class="code" href="class_s_w_module.html#a41">AddRenderFilter</a>(fromgbf); +00177 <font class="keywordflow">break</font>; +00178 <font class="keywordflow">case</font> FMT_PLAIN: +00179 <font class="keywordflow">if</font> (fromplain) +00180 module-><a class="code" href="class_s_w_module.html#a41">AddRenderFilter</a>(fromplain); +00181 <font class="keywordflow">break</font>; +00182 <font class="keywordflow">case</font> FMT_OSIS: +00183 <font class="keywordflow">if</font> (fromosis) +00184 module-><a class="code" href="class_s_w_module.html#a41">AddRenderFilter</a>(fromosis); +00185 <font class="keywordflow">break</font>; +00186 } +00187 } +00188 +00189 <font class="keywordtype">void</font> MarkupFilterMgr::CreateFilters(<font class="keywordtype">char</font> markup) { +00190 +00191 <font class="keywordflow">switch</font> (markup) { +00192 <font class="keywordflow">case</font> FMT_PLAIN: +00193 fromplain = NULL; +00194 fromthml = <font class="keyword">new</font> <a class="code" href="class_th_m_l_plain.html">ThMLPlain</a>(); +00195 fromgbf = <font class="keyword">new</font> <a class="code" href="class_g_b_f_plain.html">GBFPlain</a>(); +00196 fromosis = NULL; +00197 <font class="keywordflow">break</font>; +00198 <font class="keywordflow">case</font> FMT_THML: +00199 fromplain = NULL; +00200 fromthml = NULL; +00201 fromgbf = <font class="keyword">new</font> <a class="code" href="class_g_b_f_th_m_l.html">GBFThML</a>(); +00202 fromosis = NULL; +00203 <font class="keywordflow">break</font>; +00204 <font class="keywordflow">case</font> FMT_GBF: +00205 fromplain = NULL; +00206 fromthml = <font class="keyword">new</font> <a class="code" href="class_th_m_l_g_b_f.html">ThMLGBF</a>(); +00207 fromgbf = NULL; +00208 fromosis = NULL; +00209 <font class="keywordflow">break</font>; +00210 <font class="keywordflow">case</font> FMT_HTML: +00211 fromplain = <font class="keyword">new</font> <a class="code" href="class_p_l_a_i_n_h_t_m_l.html">PLAINHTML</a>(); +00212 fromthml = <font class="keyword">new</font> <a class="code" href="class_th_m_l_h_t_m_l.html">ThMLHTML</a>(); +00213 fromgbf = <font class="keyword">new</font> <a class="code" href="class_g_b_f_h_t_m_l.html">GBFHTML</a>(); +00214 fromosis = NULL; +00215 <font class="keywordflow">break</font>; +00216 <font class="keywordflow">case</font> FMT_HTMLHREF: +00217 fromplain = NULL; +00218 fromthml = <font class="keyword">new</font> <a class="code" href="class_th_m_l_h_t_m_l_h_r_e_f.html">ThMLHTMLHREF</a>(); +00219 fromgbf = <font class="keyword">new</font> <a class="code" href="class_g_b_f_h_t_m_l_h_r_e_f.html">GBFHTMLHREF</a>(); +00220 fromosis = NULL; +00221 <font class="keywordflow">break</font>; +00222 <font class="keywordflow">case</font> FMT_RTF: +00223 fromplain = NULL; +00224 fromthml = <font class="keyword">new</font> <a class="code" href="class_th_m_l_r_t_f.html">ThMLRTF</a>(); +00225 fromgbf = <font class="keyword">new</font> <a class="code" href="class_g_b_f_r_t_f.html">GBFRTF</a>(); +00226 fromosis = NULL; +00227 <font class="keywordflow">break</font>; +00228 <font class="keywordflow">case</font> FMT_OSIS: +00229 fromplain = NULL; +00230 fromthml = <font class="keyword">new</font> <a class="code" href="class_th_m_l_o_s_i_s.html">ThMLOSIS</a>(); +00231 fromgbf = <font class="keyword">new</font> <a class="code" href="class_g_b_f_o_s_i_s.html">GBFOSIS</a>(); +00232 fromosis = NULL; +00233 <font class="keywordflow">break</font>; +00234 } +00235 +00236 } +</pre></div><hr><address align="right"><small>Generated on Thu Jun 20 22:12:59 2002 for The Sword Project by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border=0 +width=110 height=53></a>1.2.15 </small></address> +</body> +</html> |