]> git.lyx.org Git - lyx.git/blobdiff - src/SpellChecker.h
HTML for stackrel.
[lyx.git] / src / SpellChecker.h
index c0a2433ff434baece951c8e288790a70e8ef142b..bac19d116104f39b12af4fc3c0dc5553ed4d415c 100644 (file)
 namespace lyx {
 
 class BufferParams;
+class Language;
 class WordLangTuple;
+class docstring_list;
 
 /**
- * Base class of all spellchecker implementations.
- * The class can be instantiated but will have no functionality.
+ * Pure virtual base class of all spellchecker implementations.
  */
 class SpellChecker {
 public:
@@ -38,8 +39,6 @@ public:
                COMPOUND_WORD,
                /// word not found
                UNKNOWN_WORD,
-               /// not found, with suggestions
-               SUGGESTED_WORDS,
                /// number of other ignored "word"
                IGNORED_WORD
        };
@@ -48,7 +47,9 @@ public:
 
        /// check the given word of the given lang code and return the result
        virtual enum Result check(WordLangTuple const &) = 0;
-
+       
+       /// Gives suggestions.
+       virtual void suggest(WordLangTuple const &, docstring_list & suggestions) = 0;
 
        /// insert the given word into the personal dictionary
        virtual void insert(WordLangTuple const &) = 0;
@@ -56,8 +57,8 @@ public:
        /// accept the given word temporarily
        virtual void accept(WordLangTuple const &) = 0;
 
-       /// return the next near miss after a SUGGESTED_WORDS result
-       virtual docstring const nextMiss() = 0;
+       /// check if dictionary exists
+       virtual bool hasDictionary(Language const *) const = 0;
 
        /// give an error message on messy exit
        virtual docstring const error() = 0;
@@ -67,6 +68,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