summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVlad Voicu <vladvoic@gmail.com>2011-11-29 02:41:07 (GMT)
committerKevin Smith <git@kismith.co.uk>2012-03-09 15:04:00 (GMT)
commitb50c56cbeafa1ea15d71829ef2f633cb212f8fcc (patch)
treec9f7a639d8c77fb4894ec4a827f9494e99afb097 /SwifTools/SpellCheckerFactory.cpp
parent404b087a11144c66416513929eb57c9786f41ffe (diff)
downloadswift-contrib-b50c56cbeafa1ea15d71829ef2f633cb212f8fcc.zip
swift-contrib-b50c56cbeafa1ea15d71829ef2f633cb212f8fcc.tar.bz2
Added Factory for creeating SpellCheckers
Diffstat (limited to 'SwifTools/SpellCheckerFactory.cpp')
-rw-r--r--SwifTools/SpellCheckerFactory.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/SwifTools/SpellCheckerFactory.cpp b/SwifTools/SpellCheckerFactory.cpp
new file mode 100644
index 0000000..46c8f65
--- /dev/null
+++ b/SwifTools/SpellCheckerFactory.cpp
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2011 Voicu Vlad
+ * Licensed under the Simplified BSD license.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+
+#include <SwifTools/SpellChecker.h>
+#include <SwifTools/HunspellChecker.h>
+#include <SwifTools/SpellCheckerFactory.h>
+
+#ifdef HAVE_HUNSPELL
+#include <hunspell/hunspell.hxx>
+#else
+#define HAVE_NO_SPELL_CHECK
+#endif
+
+namespace Swift {
+
+SpellCheckerFactory::SpellCheckerFactory() {
+}
+
+SpellChecker* SpellCheckerFactory::createSpellChecker() {
+#ifdef HAVE_HUNSPELL
+ //TODO(vladv): Do something smart about finding available dictionaries,
+ // maybe a UI button to select language from available dictionaries?
+ const char* dictPath = "/usr/share/hunspell/en_US.dic";
+ const char* affixPath = "/usr/share/hunspell/en_US.aff";
+ return new HunspellChecker(affixPath, dictPath);
+#endif
+}
+
+}