X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ftrans_mgr.h;h=06e98991eb0d0d068df3c17d59f4f92d30da082f;hb=969ab85d985485f503790cb13f98a582d4e1cdb5;hp=1864bc80e3b0703668c4bf50bcb610d6141d718c;hpb=c80187fbfcefa7972bd9602a2205521aca236349;p=lyx.git diff --git a/src/trans_mgr.h b/src/trans_mgr.h index 1864bc80e3..06e98991eb 100644 --- a/src/trans_mgr.h +++ b/src/trans_mgr.h @@ -1,30 +1,42 @@ // -*- C++ -*- -#ifndef Trans_Manager_h -#define Trans_Manager_h +/** + * \file trans_mgr.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_MANAGER_H +#define TRANS_MANAGER_H -#ifdef __GNUG__ -#pragma interface -#endif - -#include "tex-accent.h" -#include "trans_decl.h" #include "chset.h" -#include "LString.h" +#include "trans_decl.h" + +#include + +namespace lyx { + +class LCursor; class LyXText; class Trans; -/// Translation State +/// Translation state class TransState { public: /// virtual ~TransState() {} /// - virtual string const normalkey(char) = 0; + virtual std::string const normalkey(char) = 0; /// virtual bool backspace() = 0; /// - virtual string const deadkey(char, KmodInfo) = 0; + virtual std::string const deadkey(char, KmodInfo) = 0; /// static char const TOKEN_SEP; }; @@ -61,16 +73,16 @@ public: /// Init State -class TransInitState : virtual public TransFSMData, public TransState { +class TransInitState :virtual public TransFSMData, public TransState { public: /// TransInitState(); /// - virtual string const normalkey(char); + virtual std::string const normalkey(char); /// virtual bool backspace() { return true; } /// - virtual string const deadkey(char, KmodInfo); + virtual std::string const deadkey(char, KmodInfo); }; @@ -80,14 +92,14 @@ public: /// TransDeadkeyState(); /// - virtual string const normalkey(char); + virtual std::string const normalkey(char); /// virtual bool backspace() { currentState = init_state_; return false; } /// - virtual string const deadkey(char, KmodInfo); + virtual std::string const deadkey(char, KmodInfo); }; @@ -97,18 +109,18 @@ public: /// TransCombinedState(); /// - virtual string const normalkey(char); + virtual std::string const normalkey(char); /// virtual bool backspace() { // cancel the second deadkey deadkey2_ = 0; deadkey2_info_.accent = TEX_NOACCENT; currentState = deadkey_state_; - + return false; } /// - virtual string const deadkey(char, KmodInfo); + virtual std::string const deadkey(char, KmodInfo); }; @@ -131,60 +143,63 @@ private: /// Trans * active_; /// - Trans * t1_; + boost::scoped_ptr t1_; /// - Trans * t2_; + boost::scoped_ptr t2_; /// static Trans default_; /// CharacterSet chset_; /// - void insert(string const &, LyXText *); + void insert(std::string const &, LyXText *, LCursor & cur); /// - void insertVerbatim(string const &, LyXText *); + void insertVerbatim(std::string const &, LyXText *, LCursor & cur); public: /// TransManager(); /// - virtual ~TransManager(); + ~TransManager(); /// - int SetPrimary(string const &); + int setPrimary(std::string const &); /// - int SetSecondary(string const &); + int setSecondary(std::string const &); /// - void EnablePrimary(); + void enablePrimary(); /// - void EnableSecondary(); + void enableSecondary(); /// - void DisableKeymap(); + void disableKeymap(); /// - bool setCharset(string const &); + bool setCharset(std::string const &); /// bool backspace() { return trans_fsm_.currentState->backspace(); } /// - void TranslateAndInsert(char, LyXText *); + void translateAndInsert(char, LyXText *, LCursor &); /// - string const deadkey(char, KmodInfo); + std::string const deadkey(char, KmodInfo); /// - string const normalkey(char); + std::string const normalkey(char); /// - void deadkey(char, tex_accent, LyXText *); + void deadkey(char, tex_accent, LyXText *, LCursor &); }; inline -string const TransManager::normalkey(char c) +std::string const TransManager::normalkey(char c) { return trans_fsm_.currentState->normalkey(c); } inline -string const TransManager::deadkey(char c, KmodInfo t) +std::string const TransManager::deadkey(char c, KmodInfo t) { return trans_fsm_.currentState->deadkey(c, t); } -#endif + +} // namespace lyx + +#endif // TRANS_MANAGER_H