X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FSpellChecker.h;h=58e5de6bd2acc66fefb723abcfd510da27d1cfb9;hb=c9b1b46796923b0453ccaed022448b61b5be6d8a;hp=62125860feb3e2e8140857369d960f47665950df;hpb=dec437fbac739fb4d8e78842b9f9286bbaaf0971;p=lyx.git diff --git a/src/SpellChecker.h b/src/SpellChecker.h index 62125860fe..58e5de6bd2 100644 --- a/src/SpellChecker.h +++ b/src/SpellChecker.h @@ -14,7 +14,7 @@ #define SPELL_BASE_H #include "support/strfwd.h" -#include "support/lyxtime.h" +#include 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 != SpellChecker::WORD_OK - && res != SpellChecker::IGNORED_WORD - && res != SpellChecker::LEARNED_WORD; } + return res != WORD_OK + && res != IGNORED_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 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; } @@ -90,14 +105,14 @@ public: /// give an error message on messy exit virtual docstring const error() = 0; - + /// spell checker state versioning support typedef unsigned long int ChangeNumber ; ChangeNumber changeNumber() const { return change_number_; } void changeNumber(ChangeNumber value) { change_number_ = value; } void nextChangeNumber() { ++change_number_; } virtual void advanceChangeNumber() = 0; - + private: ChangeNumber change_number_; };