X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FThesaurus.h;h=9808a455ff49ab683e31734f39644553d9178ad0;hb=0de1e7730fe798b95b9a9bd92d8bd2853ab5c997;hp=12bb6a7820531c201e505e98dbbbf25f769058ae;hpb=8283e978f8d621041c432b9b88a476bfd567385c;p=lyx.git diff --git a/src/Thesaurus.h b/src/Thesaurus.h index 12bb6a7820..9808a455ff 100644 --- a/src/Thesaurus.h +++ b/src/Thesaurus.h @@ -1,47 +1,73 @@ // -*- C++ -*- /** * \file Thesaurus.h - * Copyright 2001 the LyX Team - * Read the file COPYING + * This file is part of LyX, the document processor. + * 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. */ #ifndef THESAURUS_H #define THESAURUS_H +#include "support/docstring.h" + #include #include +#include -#include "LString.h" +#ifdef HAVE_LIBMYTHES +#include MYTHES_H_LOCATION +#else #ifdef HAVE_LIBAIKSAURUS -#include "Aiksaurus.h" -#endif +#include AIKSAURUS_H_LOCATION +#endif // HAVE_LIBAIKSAURUS +#endif // !HAVE_LIBMYTHES + +namespace lyx { /** * This class provides an interface to whatever thesauri we might support. */ -class Thesaurus { +class Thesaurus +{ public: /// Thesaurus(); /// ~Thesaurus(); - typedef std::map > Meanings; + typedef std::map > Meanings; /** * look up some text in the thesaurus */ - Meanings lookup(string const & text); + Meanings lookup(docstring const & text, docstring const & lang); + /// check if a thesaurus for a given language \p lang is available + bool thesaurusAvailable(docstring const & lang) const; private: +#ifdef HAVE_LIBMYTHES + /// add a thesaurus to the list + bool addThesaurus(docstring const & lang); + + typedef std::map Thesauri; + /// the thesauri + Thesauri thes_; +#else #ifdef HAVE_LIBAIKSAURUS - Aiksaurus * aik_; -#endif + Aiksaurus * thes_; +#endif // HAVE_LIBAIKSAURUS +#endif // !HAVE_LIBMYTHES }; extern Thesaurus thesaurus; + +} // namespace lyx + #endif