1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
|
/******************************************************************************
*
* osistest.cpp -
*
* $Id: osistest.cpp 3548 2017-12-10 05:11:38Z scribe $
*
* Copyright 20122013 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 <iostream>
#include <swmgr.h>
#include <markupfiltmgr.h>
#include <swmodule.h>
#include <versekey.h>
using namespace std;
using namespace sword;
void outputCurrentVerse(SWModule *module) {
module->renderText();
cout << "Key:\n";
cout << module->getKeyText() << "\n";
cout << "-------\n";
cout << "Preverse Header 0:\nRaw:\n";
SWBuf header = module->getEntryAttributes()["Heading"]["Preverse"]["0"];
cout << header << endl;
cout << "-------\n";
cout << "Rendered Header:\n";
cout << module->renderText(header) << endl;
cout << "-------\n";
cout << "CSS:\n";
cout << module->getRenderHeader() << endl;
cout << "-------\n";
cout << "RenderText:\n";
cout << module->renderText() << endl;
cout << "-------\n";
cout << "-------\n\n";
}
int main(int argc, char **argv) {
if (argc != 2) {
cerr << "\nusage: " << *argv << " <modName>\n" << endl;
exit(-1);
}
SWMgr library(new MarkupFilterMgr(FMT_XHTML));
library.setGlobalOption("Headings", "On");
SWModule *module = library.getModule(argv[1]);
if (!module) {
cerr << "\nCouldn't find module: " << argv[1] << "\n" << endl;
exit(-2);
}
module->setKey("Ps.3.1");
outputCurrentVerse(module);
module->setKey("Matt.2.6");
outputCurrentVerse(module);
module->setKey("Mark.1.14");
outputCurrentVerse(module);
cout << "\nWhitespace tests around headings:\n";
((VerseKey *)module->getKey())->setIntros(true);
*module = TOP;
// module heading
cout << module->renderText() << "\n";
(*module)++;
// testament heading
cout << module->renderText() << "\n";
(*module)++;
// book heading
cout << module->renderText() << "\n";
(*module)++;
// chapter heading
cout << module->renderText() << "\n";
(*module)++;
// verse body
module->renderText();
SWBuf header = module->getEntryAttributes()["Heading"]["Preverse"]["0"];
cout << module->renderText(header) << endl;
cout << "[ " << module->getKeyText() << " ] " << module->renderText() << "\n";
(*module)++;
// verse body
module->renderText();
header = module->getEntryAttributes()["Heading"]["Preverse"]["0"];
cout << module->renderText(header) << endl;
cout << "[ " << module->getKeyText() << " ] " << module->renderText() << "\n";
return 0;
}
|