blob: cfc09bb376145a897a88abc4d8176e14e4fc9b2f (
plain)
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
|
/******************************************************************************
*
* osistest.cpp -
*
* $Id: osistest.cpp 3185 2014-04-17 04:32:00Z greg.hellings $
*
* 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("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;
}
|