X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fintl.h;h=07de268332e114544d1e580e919e05e6202a2feb;hb=0657a91fd08e9c31d7f9e6be26055cc5050e5f8b;hp=35bb46e3cbd6ff717f79359af0252cf80ebe5209;hpb=a040c0bc6f017d0591bbc7ad1aa590589dbc40ff;p=lyx.git diff --git a/src/intl.h b/src/intl.h index 35bb46e3cb..07de268332 100644 --- a/src/intl.h +++ b/src/intl.h @@ -1,107 +1,80 @@ // -*- C++ -*- -/* International support for LyX - - +/** + * \file intl.h + * This file is part of LyX, the document processor. + * Licence details can be found in the file COPYING. + * + * \author unknown + * \author Lars Gullik Bjønnes + * \author Angus Leeming + * \author John Levon + * + * Full author contact details are available in file CREDITS. */ + #ifndef INTL_H #define INTL_H -#ifdef __GNUG__ -#pragma interface -#endif - -#include "LString.h" -#include "form1.h" +#include "trans_mgr.h" -class LyXText; -class Combox; -class TransManager; +namespace lyx { -/// default character set -#define DEFCHSET "iso8859-1" - -/** The gui part and the non gui part should be split into two different - classes. Probably should the gui class just have a pointer to the non - gui class. - */ -class Intl -{ +/** + * This class is used for managing keymaps + * for composing characters in LyX. + */ +class Intl { public: - /// + /// which keymap is currently used ? + enum Keymap { + PRIMARY, + SECONDARY + }; + Intl(); - /// - ~Intl(); - - /// show key mapping dialog - void MenuKeymap(); - /// - void KeyMapOn(bool on); - /// - void KeyMapPrim(); - /// - void KeyMapSec(); - /// turn on/off key mappings, status in keymapon - void ToggleKeyMap(); + /// {en/dis}able the keymap + void keyMapOn(bool on); - /// - int SetPrimary(string const &); + /// set the primary language keymap + void keyMapPrim(); - /// - int SetSecondary(string const &); + /// set the secondary language keymap + void keyMapSec(); - // insert correct stuff into paragraph - //void TranslateAndInsert(char c, LyXText *text); + /// turn on/off key mappings, status in keymapon + void toggleKeyMap(); /// initialize key mapper - void InitKeyMapper(bool on); + void initKeyMapper(bool on); + + // Get the Translation Manager + TransManager & getTransManager(); + + /// using primary or secondary keymap ? + Keymap keymap; - /// Get the Translation Manager - inline TransManager *getTrans(); - /// - bool keymapon; - /// - char *chsetcode; - /// - static void DispatchCallback(FL_OBJECT*, long); private: - /// - //int SelectCharset(char const *code); - /// - void update(); - /// - static void LCombo(int i, void *); // callback - /// - static void LCombo2(int i, void *); // callback - /// - void Keymap(long code); - /// - bool primarykeymap; - /// - int curkeymap; - /// - int otherkeymap; - - /// - FD_KeyMap *fd_form_keymap; - /// - Combox *Language; - /// - Combox *Language2; - /// - string & prim_lang; - /// - string & sec_lang; - /// - TransManager *trans; + /// is key mapping enabled ? + bool keymapon; + /// the primary language keymap + std::string & prim_lang; + /// the secondary language keymap + std::string & sec_lang; + /// the translation manager + TransManager trans; }; -TransManager* Intl::getTrans() +inline +TransManager & Intl::getTransManager() { return trans; } -#endif + +} // namespace lyx + +#endif /* INTL_H */