X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FThesaurus.h;h=52987cdd1377fdea6bcf41ad4701e927590e1b98;hb=3628ceec480c3d8fa9673f80f781eb1153fb9e1f;hp=c3ea6904e9434fbe4c077e44ee5288203482f5f5;hpb=eb36b71ce3b9880a9b577f3db25d16e6a86cd338;p=lyx.git diff --git a/src/Thesaurus.h b/src/Thesaurus.h index c3ea6904e9..52987cdd13 100644 --- a/src/Thesaurus.h +++ b/src/Thesaurus.h @@ -5,6 +5,7 @@ * Licence details can be found in the file COPYING. * * \author John Levon + * \author Jürgen Spitzmüller * * Full author contact details are available in file CREDITS. */ @@ -12,38 +13,50 @@ #ifndef THESAURUS_H #define THESAURUS_H -#include +#include "support/docstring.h" +#include "WordLangTuple.h" + #include -#include +#include -#ifdef HAVE_LIBAIKSAURUS -#include AIKSAURUS_H_LOCATION -#endif +namespace lyx { /** * This class provides an interface to whatever thesauri we might support. */ -class Thesaurus { +class Thesaurus +{ + /// noncopyable + Thesaurus(Thesaurus const &); + void operator=(Thesaurus const &); public: /// Thesaurus(); /// ~Thesaurus(); - typedef std::map > Meanings; + typedef std::map > Meanings; /** * look up some text in the thesaurus */ - Meanings lookup(std::string const & text); + Meanings lookup(WordLangTuple const & wl); + /** check if a thesaurus for a given language \p lang is available + * (installed and loaded) + */ + bool thesaurusAvailable(docstring const & lang) const; + /// check if a thesaurus for a given language \p lang is installed + bool thesaurusInstalled(docstring const & lang) const; private: -#ifdef HAVE_LIBAIKSAURUS - Aiksaurus * aik_; -#endif + struct Private; + Private * const d; }; extern Thesaurus thesaurus; + +} // namespace lyx + #endif