]> git.lyx.org Git - lyx.git/blobdiff - src/SpellChecker.h
Update Win installer for new dictionary links. Untested.
[lyx.git] / src / SpellChecker.h
index 55651e0231413f890ec7a31696ce9ee638b26b3d..58e5de6bd2acc66fefb723abcfd510da27d1cfb9 100644 (file)
@@ -14,7 +14,7 @@
 #define SPELL_BASE_H
 
 #include "support/strfwd.h"
-#include "support/lyxtime.h"
+#include <vector>
 
 
 namespace lyx {
@@ -43,23 +43,35 @@ public:
                /// number of other ignored "word"
                IGNORED_WORD,
                /// number of personal dictionary "word"
-               LEARNED_WORD
+               LEARNED_WORD,
+               /// number of document dictionary "word"
+               DOCUMENT_LEARNED_WORD,
+               /// missing dictionary for language
+               NO_DICTIONARY
        };
 
+       SpellChecker() : change_number_(0) {}
+
        virtual ~SpellChecker() {}
 
        /// does the spell check failed
        static bool misspelled(Result res) {
                return res != WORD_OK
                        && res != IGNORED_WORD
-                       && res != LEARNED_WORD; }
+                       && res != NO_DICTIONARY
+                       && res != LEARNED_WORD
+                       && res != DOCUMENT_LEARNED_WORD; }
 
        /// check the given word of the given lang code and return the result
-       virtual enum Result check(WordLangTuple const &) = 0;
+       virtual enum Result check(WordLangTuple const &,
+                                 std::vector<WordLangTuple> const &) = 0;
 
        /// Gives suggestions.
        virtual void suggest(WordLangTuple const &, docstring_list & suggestions) = 0;
 
+       /// Lemmatizing: return stem of word (used by Thesaurus).
+       virtual void stem(WordLangTuple const &, docstring_list & suggestions) = 0;
+
        /// insert the given word into the personal dictionary
        virtual void insert(WordLangTuple const &) = 0;
 
@@ -72,6 +84,9 @@ public:
        /// check if dictionary exists
        virtual bool hasDictionary(Language const *) const = 0;
 
+       /// how many valid dictionaries were found
+       virtual int numDictionaries() const = 0;
+
        /// if speller can spell check whole paragraph return true
        virtual bool canCheckParagraph() const { return false; }