#include "SpellChecker.h"
-#include <map>
-#include <string>
-
-struct AspellSpeller;
-struct AspellStringEnumeration;
-struct AspellCanHaveError;
-struct AspellConfig;
-
namespace lyx {
-
class AspellChecker : public SpellChecker
{
public:
AspellChecker();
~AspellChecker();
- /// check the given word and return the result
+ /// \name SpellChecker inherited methods
+ //@{
enum Result check(WordLangTuple const &);
-
- /// insert the given word into the personal dictionary
+ void suggest(WordLangTuple const &, docstring_list &);
void insert(WordLangTuple const &);
-
- /// accept the given word temporarily
+ void remove(WordLangTuple const &);
void accept(WordLangTuple const &);
-
- /// return the next near miss after a SUGGESTED_WORDS result
- docstring const nextMiss();
-
- /// give an error message on messy exit
+ bool hasDictionary(Language const * lang) const;
+ int numDictionaries() const;
docstring const error();
+ void advanceChangeNumber();
+ //@}
private:
- /// add a speller of the given language
- void addSpeller(std::string const & lang);
-
- struct Speller {
- AspellSpeller * speller;
- AspellConfig * config;
- };
-
- typedef std::map<std::string, Speller> Spellers;
-
- /// the spellers
- Spellers spellers_;
-
- /// FIXME
- AspellStringEnumeration * els;
- /// FIXME
- AspellCanHaveError * spell_error_object;
+ struct Private;
+ Private * d;
};