blob: 5c205f5df8e56ddae296716a5f78d14f9b25c56e (
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
|
/******************************************************************************
*
* swoptfilter.cpp - SWFilter descendant and base class for all option
* filters
*
* $Id: swoptfilter.cpp 2980 2013-09-14 21:51:47Z scribe $
*
* Copyright 2003-2013 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 <swoptfilter.h>
#include <utilstr.h>
SWORD_NAMESPACE_START
SWOptionFilter::SWOptionFilter() {
static StringList empty;
static const char *empty2 = "";
optName = empty2;
optTip = empty2;
optValues = ∅
}
SWOptionFilter::SWOptionFilter(const char *oName, const char *oTip, const StringList *oValues) {
optName = oName;
optTip = oTip;
optValues = oValues;
if (optValues->begin() != optValues->end()) setOptionValue(*(optValues->begin()));
isBooleanVal = optValues->size() == 2 && (optionValue == "On" || optionValue == "Off");
}
SWOptionFilter::~SWOptionFilter() {
}
void SWOptionFilter::setOptionValue(const char *ival) {
for (StringList::const_iterator loop = optValues->begin(); loop != optValues->end(); loop++) {
if (!stricmp(loop->c_str(), ival)) {
optionValue = *loop;
option = (!strnicmp(ival, "On", 2)); // convenience for boolean filters
break;
}
}
}
const char *SWOptionFilter::getOptionValue() {
return optionValue;
}
SWORD_NAMESPACE_END
|