mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-11 05:33:33 +00:00
af05d3ffa3
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27576 a592a061-630c-0410-9148-cb99ea01b6c8
74 lines
1.4 KiB
C++
74 lines
1.4 KiB
C++
// -*- C++ -*-
|
|
/**
|
|
* \file Thesaurus.h
|
|
* 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 <vector>
|
|
#include <map>
|
|
#include <string>
|
|
|
|
#ifdef HAVE_LIBMYTHES
|
|
#include MYTHES_H_LOCATION
|
|
#else
|
|
#ifdef HAVE_LIBAIKSAURUS
|
|
#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
|
|
{
|
|
public:
|
|
///
|
|
Thesaurus();
|
|
///
|
|
~Thesaurus();
|
|
|
|
typedef std::map<docstring, std::vector<docstring> > Meanings;
|
|
|
|
/**
|
|
* look up some text in the thesaurus
|
|
*/
|
|
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 * thes_;
|
|
#endif // HAVE_LIBAIKSAURUS
|
|
#endif // !HAVE_LIBMYTHES
|
|
};
|
|
|
|
extern Thesaurus thesaurus;
|
|
|
|
|
|
} // namespace lyx
|
|
|
|
#endif
|