X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FSpellChecker.h;h=dd13a76da7eb90b6240139b29dba489fe6661645;hb=c41f9f7ed7a890523acd387868472080d0c68df2;hp=04b657cbd243cad5f99dec3fea788c8aa420d17d;hpb=4bde2bc7bc7f19ac3ff0e223a0e87ba842a62e10;p=lyx.git diff --git a/src/SpellChecker.h b/src/SpellChecker.h index 04b657cbd2..dd13a76da7 100644 --- a/src/SpellChecker.h +++ b/src/SpellChecker.h @@ -42,16 +42,21 @@ public: /// number of other ignored "word" IGNORED_WORD, /// number of personal dictionary "word" - LEARNED_WORD + 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; } /// check the given word of the given lang code and return the result virtual enum Result check(WordLangTuple const &) = 0; @@ -59,6 +64,9 @@ public: /// 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; @@ -71,6 +79,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; } @@ -89,6 +100,16 @@ 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_; }; /// Access to the singleton SpellChecker.