summaryrefslogtreecommitdiff
path: root/src/modules/filters/swoptfilter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/filters/swoptfilter.cpp')
-rw-r--r--src/modules/filters/swoptfilter.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/modules/filters/swoptfilter.cpp b/src/modules/filters/swoptfilter.cpp
new file mode 100644
index 0000000..6921190
--- /dev/null
+++ b/src/modules/filters/swoptfilter.cpp
@@ -0,0 +1,47 @@
+/******************************************************************************
+ *
+ * swoptfilter - SWFilter descendant and base class for all option filters
+ */
+
+
+#include <swoptfilter.h>
+#include <utilstr.h>
+
+SWORD_NAMESPACE_START
+
+
+SWOptionFilter::SWOptionFilter() {
+ static StringList empty;
+ static const char *empty2 = "";
+ optName = empty2;
+ optTip = empty2;
+ optValues = &empty;
+}
+
+SWOptionFilter::SWOptionFilter(const char *oName, const char *oTip, const StringList *oValues) {
+ optName = oName;
+ optTip = oTip;
+ optValues = oValues;
+}
+
+
+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