X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fintl.h;h=6a113cd9a999eda37dcc21a927f6107e81131882;hb=8ebf862adbe377d032f888a82d88d4393aebc929;hp=0faf1a6712fc3fb5f7e2dad317d323c24a489665;hpb=916ae4222d5218ad7d5c2d5b989ed95437eb3491;p=lyx.git diff --git a/src/intl.h b/src/intl.h index 0faf1a6712..6a113cd9a9 100644 --- a/src/intl.h +++ b/src/intl.h @@ -1,114 +1,74 @@ // -*- 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 -#include FORMS_H_LOCATION - -#ifdef __GNUG__ -#pragma interface -#endif - -#include -#include -#include "LString.h" -#include "form1.h" #include "trans_mgr.h" -class LyXText; -class Combox; -#ifdef SIGC_CXX_NAMESPACES -using SigC::Object; -using SigC::Connection; -#endif - -/// 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 : public Object { +/** + * 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(); + + /// 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 & getTrans(); - /// - bool keymapon; - /// - bool primarykeymap; - /// - char * chsetcode; - /// - static void DispatchCallback(FL_OBJECT *, long); + TransManager & getTransManager(); + + /// using primary or secondary keymap ? + Keymap keymap; + private: - /** Redraw the form (on receipt of a Signal indicating, for example, - that the xform colors have been re-mapped). - */ - void redraw(); - /// - void update(); - /// - static void LCombo(int i, void *, Combox *); // callback - /// - void Keymap(long code); - /// - int curkeymap; - /// - int otherkeymap; - - /// - FD_KeyMap * fd_form_keymap; - /// - boost::scoped_ptr Language; - /// - boost::scoped_ptr Language2; - /// - string & prim_lang; - /// - string & sec_lang; - /// + /// 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; - /// Redraw connection. - Connection r_; }; inline -TransManager & Intl::getTrans() +TransManager & Intl::getTransManager() { return trans; } -#endif +#endif /* INTL_H */