]> git.lyx.org Git - lyx.git/blobdiff - src/Thesaurus.h
Fix bug #4510: GuiInclude->Edit marks master as changed.
[lyx.git] / src / Thesaurus.h
index e63f2935236108b73cddbdb0104e5692aa6e515c..9808a455ff49ab683e31734f39644553d9178ad0 100644 (file)
@@ -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.
  */
 
 #include <vector>
 #include <map>
+#include <string>
 
+#ifdef HAVE_LIBMYTHES
+#include MYTHES_H_LOCATION
+#else
 #ifdef HAVE_LIBAIKSAURUS
 #include AIKSAURUS_H_LOCATION
-#endif
+#endif // HAVE_LIBAIKSAURUS
+#endif // !HAVE_LIBMYTHES
 
 namespace lyx {
 
@@ -27,7 +33,8 @@ namespace lyx {
  * This class provides an interface to whatever thesauri we might support.
  */
 
-class Thesaurus {
+class Thesaurus
+{
 public:
        ///
        Thesaurus();
@@ -39,12 +46,23 @@ public:
        /**
         * look up some text in the thesaurus
         */
-       Meanings lookup(docstring 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<docstring, MyThes *> Thesauri;
+       /// the thesauri
+       Thesauri thes_;
+#else
 #ifdef HAVE_LIBAIKSAURUS
-       Aiksaurus * aik_;
-#endif
+       Aiksaurus * thes_;
+#endif // HAVE_LIBAIKSAURUS
+#endif // !HAVE_LIBMYTHES
 };
 
 extern Thesaurus thesaurus;