lyx_mirror/src/intl.h

81 lines
1.3 KiB
C
Raw Normal View History

// -*- C++ -*-
/**
* \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<EFBFBD>nnes
* \author Angus Leeming
* \author John Levon
*
* Full author contact details are available in file CREDITS.
*/
#ifndef INTL_H
#define INTL_H
#include "trans_mgr.h"
namespace lyx {
/**
* 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();
/// {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();
/// initialize key mapper
void initKeyMapper(bool on);
// Get the Translation Manager
TransManager & getTransManager();
/// using primary or secondary keymap ?
Keymap keymap;
private:
/// 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;
};
inline
TransManager & Intl::getTransManager()
{
return trans;
}
} // namespace lyx
#endif /* INTL_H */