// -*- C++ -*-
-/* International support for LyX
-
-
+/**
+ * \file intl.h
+ * Copyright 1995-2002 the LyX Team
+ * Read the file COPYING
+ *
+ * \author unknown
+ * \author John Levon <moz@compsoc.man.ac.uk>
*/
+
+
#ifndef INTL_H
#define INTL_H
#endif
#include "LString.h"
-#include "form1.h"
-
-class LyXText;
-class Combox;
-class TransManager;
-
+#include "trans_mgr.h"
-/// 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();
- ///
+
+ /// {en/dis}able the keymap
void KeyMapOn(bool on);
- ///
+
+ /// set the primary language keymap
void KeyMapPrim();
- ///
+
+ /// set the secondary language keymap
void KeyMapSec();
/// turn on/off key mappings, status in keymapon
void ToggleKeyMap();
- ///
- int SetPrimary(string const &);
-
- ///
- int SetSecondary(string const &);
-
- // insert correct stuff into paragraph
- //void TranslateAndInsert(char c, LyXText *text);
-
/// initialize key mapper
void InitKeyMapper(bool on);
- /// Get the Translation Manager
- inline TransManager *getTrans();
- ///
- bool keymapon;
- ///
- char *chsetcode;
+ // Get the Translation Manager
+ TransManager & getTrans();
+
+ /// using primary or secondary keymap ?
+ Keymap keymap;
+
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);
- ///
- static void DispatchCallback(FL_OBJECT*,long);
- ///
- bool primarykeymap;
- ///
- int curkeymap;
- ///
- int otherkeymap;
-
- ///
- FD_KeyMap *fd_form_keymap;
- ///
- Combox *Language;
- ///
- Combox *Language2;
- ///
+ /// is key mapping enabled ?
+ bool keymapon;
+ /// the primary language keymap
string & prim_lang;
- ///
+ /// the secondary language keymap
string & sec_lang;
- ///
- TransManager *trans;
+ /// the translation manager
+ TransManager trans;
};
-TransManager* Intl::getTrans()
+inline
+TransManager & Intl::getTrans()
{
return trans;
}
-#endif
+#endif /* INTL_H */