X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fintl.h;h=07de268332e114544d1e580e919e05e6202a2feb;hb=35204f8f33d7400a5fefeffea533fb4cb4097211;hp=0faf1a6712fc3fb5f7e2dad317d323c24a489665;hpb=916ae4222d5218ad7d5c2d5b989ed95437eb3491;p=lyx.git diff --git a/src/intl.h b/src/intl.h index 0faf1a6712..07de268332 100644 --- a/src/intl.h +++ b/src/intl.h @@ -1,114 +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 -#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 +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 : 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 + +} // namespace lyx + +#endif /* INTL_H */