X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ftrans.h;h=ce529a2b9f991c2d58bf850373d2e52e35dcdd86;hb=0657a91fd08e9c31d7f9e6be26055cc5050e5f8b;hp=4b923e87e6e35289f9b986e4bef1dddb34955ef2;hpb=efe0b0b8eb340b7c34ead8afe5d81b410d5e7865;p=lyx.git diff --git a/src/trans.h b/src/trans.h index 4b923e87e6..ce529a2b9f 100644 --- a/src/trans.h +++ b/src/trans.h @@ -1,55 +1,34 @@ // -*- C++ -*- -#ifndef Trans_h -#define Trans_h +/** + * \file trans.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. + * + * \author Lars Gullik Bjønnes + * \author Matthias Ettrich + * \author John Levon + * + * Full author contact details are available in file CREDITS. + */ + +#ifndef TRANS_H +#define TRANS_H -#ifdef __GNUG__ -#pragma interface -#endif +#include "trans_decl.h" #include -#include "tex-accent.h" -#include "LString.h" -#include "trans_decl.h" -class LyXLex; +namespace lyx { -class TransManager; -#if 0 -/** - TransInterface: the interface that every translation class - should obey too. - Visitor pattern applied here - */ -class TransInterface { -public: - /// - virtual string const process(char, TransManager &) = 0; - /// - virtual bool isAccentDefined(tex_accent, KmodInfo &) const = 0; -}; +class LyXLex; -/** - DefaultTrans: the default translation class. Holds info - on tex-accents. Monostate - */ -class DefaultTrans : public TransInterface { -public: - /// - DefaultTrans(); - /// - virtual string const process(char, TransManager &); -private: - /// - static bool init_; -}; -#endif +class TransManager; /** - Trans: holds a .kmap file + Trans: holds a .kmap file */ -//class Trans : public TransInterface { class Trans { public: /// @@ -58,75 +37,54 @@ public: ~Trans(); /// - int Load(string const & language); + int load(std::string const & language); /// - bool IsDefined() const; + bool isDefined() const; /// - string const & GetName() const; + std::string const & getName() const; /// - string const process(char, TransManager &); + std::string const process(char, TransManager &); /// bool isAccentDefined(tex_accent, KmodInfo &) const; - + private: -#if 0 - /// - typedef KmodInfo kmod_list_decl; - /// - typedef KmodException keyexc; -#endif -#if 0 - /// - void AddDeadkey(tex_accent, string const &, string const &); -#else /// - void AddDeadkey(tex_accent, string const &); -#endif + void addDeadkey(tex_accent, std::string const &); /// - void FreeKeymap(); + void freeKeymap(); /// - int Load(LyXLex &); + int load(LyXLex &); /// - inline string const & Match(unsigned char c); + std::string const & match(unsigned char c); /// - void InsertException(KmodException & exclist, char c, - string const & data, bool = false, + void insertException(KmodException & exclist, char c, + std::string const & data, bool = false, tex_accent = TEX_NOACCENT); /// - void FreeException(KmodException & exclist); + void freeException(KmodException & exclist); /// - string name_; -#if 0 + std::string name_; /// - string keymap_[256]; -#else - std::map keymap_; -#endif -#if 0 + std::map keymap_; /// - kmod_list_decl * kmod_list_[TEX_MAX_ACCENT+1]; -#else - /// - //KmodInfo * kmod_list_[TEX_MAX_ACCENT+1]; std::map kmod_list_; -#endif }; /// -string const & Trans::Match(unsigned char c) +inline +std::string const & Trans::match(unsigned char c) { -#if 0 - return keymap_[c]; -#else - std::map::iterator it = keymap_.find(c); + std::map::iterator it = keymap_.find(c); if (it != keymap_.end()) { return it->second; } - static string dummy; + static std::string dummy; return dummy; -#endif } -#endif + +} // namespace lyx + +#endif // TRANS_H