]> git.lyx.org Git - lyx.git/blobdiff - src/SpellChecker.h
Workaround for #6865: smarter FontList::setMisspelled implementation
[lyx.git] / src / SpellChecker.h
index c6e3748c848ffb79058104f2dbd22fda6030a219..58a1fb2032ba476d9fc3734458d6db8ba73c54b0 100644 (file)
@@ -19,6 +19,7 @@
 namespace lyx {
 
 class BufferParams;
+class Language;
 class WordLangTuple;
 class docstring_list;
 
@@ -31,19 +32,27 @@ public:
        /// the result from checking a single word
        enum Result  {
                /// word is correct
-               OK = 1,
+               WORD_OK = 1,
                /// root of given word was found
-               ROOT,
+               ROOT_FOUND,
                /// word found through compound formation
                COMPOUND_WORD,
                /// word not found
                UNKNOWN_WORD,
                /// number of other ignored "word"
-               IGNORED_WORD
+               IGNORED_WORD,
+               /// number of personal dictionary "word"
+               LEARNED_WORD
        };
 
        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; }
+
        /// check the given word of the given lang code and return the result
        virtual enum Result check(WordLangTuple const &) = 0;
        
@@ -53,9 +62,15 @@ public:
        /// insert the given word into the personal dictionary
        virtual void insert(WordLangTuple const &) = 0;
 
+       /// remove the given word from the personal dictionary
+       virtual void remove(WordLangTuple const &) = 0;
+
        /// accept the given word temporarily
        virtual void accept(WordLangTuple const &) = 0;
 
+       /// check if dictionary exists
+       virtual bool hasDictionary(Language const *) const = 0;
+
        /// give an error message on messy exit
        virtual docstring const error() = 0;
 };
@@ -64,6 +79,10 @@ public:
 /// Implemented in LyX.cpp
 SpellChecker * theSpellChecker();
 
+/// Set the singleton SpellChecker engine.
+/// Implemented in LyX.cpp
+void setSpellChecker();
+
 } // namespace lyx
 
 #endif // SPELL_BASE_H