X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ftrans_mgr.h;h=06e98991eb0d0d068df3c17d59f4f92d30da082f;hb=35204f8f33d7400a5fefeffea533fb4cb4097211;hp=f3abf31c13d8c45063450fc3035f9a4ff2e6d78e;hpb=797d87b4513088a66b17c7ac653b84e36ea80458;p=lyx.git diff --git a/src/trans_mgr.h b/src/trans_mgr.h index f3abf31c13..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 normalkey(char, char *) = 0; + virtual std::string const normalkey(char) = 0; /// virtual bool backspace() = 0; /// - virtual string deadkey(char, KmodInfo) = 0; + virtual std::string const deadkey(char, KmodInfo) = 0; /// static char const TOKEN_SEP; }; @@ -44,7 +56,7 @@ protected: /// KmodInfo deadkey2_info_; /// - KmodException comb_info_; + Keyexc comb_info_; /// TransState * init_state_; /// @@ -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 normalkey(char, char *); + virtual std::string const normalkey(char); /// virtual bool backspace() { return true; } /// - virtual string deadkey(char, KmodInfo); + virtual std::string const deadkey(char, KmodInfo); }; @@ -80,14 +92,14 @@ public: /// TransDeadkeyState(); /// - virtual string normalkey(char, char *); + virtual std::string const normalkey(char); /// virtual bool backspace() { currentState = init_state_; return false; } /// - virtual string deadkey(char, KmodInfo); + virtual std::string const deadkey(char, KmodInfo); }; @@ -97,18 +109,18 @@ public: /// TransCombinedState(); /// - virtual string normalkey(char, 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 deadkey(char, KmodInfo); + virtual std::string const deadkey(char, KmodInfo); }; @@ -131,58 +143,63 @@ private: /// Trans * active_; /// - Trans * t1_; + boost::scoped_ptr t1_; /// - Trans * t2_; + boost::scoped_ptr t2_; /// - static Trans * default_; + 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(const char *); + bool setCharset(std::string const &); /// bool backspace() { return trans_fsm_.currentState->backspace(); } /// - void TranslateAndInsert(char, LyXText *); + void translateAndInsert(char, LyXText *, LCursor &); /// - inline string deadkey(char, KmodInfo); + std::string const deadkey(char, KmodInfo); /// - inline string normalkey(char, char *); + std::string const normalkey(char); /// - void deadkey(char, tex_accent, LyXText *); + void deadkey(char, tex_accent, LyXText *, LCursor &); }; -string TransManager::normalkey(char c, char * t) +inline +std::string const TransManager::normalkey(char c) { - return trans_fsm_.currentState->normalkey(c, t); + return trans_fsm_.currentState->normalkey(c); } -string TransManager::deadkey(char c, KmodInfo t) +inline +std::string const TransManager::deadkey(char c, KmodInfo t) { return trans_fsm_.currentState->deadkey(c, t); } -#endif + +} // namespace lyx + +#endif // TRANS_MANAGER_H