* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
- * \author Lars Gullik Bjønnes
+ * \author Lars Gullik Bjønnes
* \author Matthias Ettrich
* \author John Levon
*
#ifndef TRANS_H
#define TRANS_H
-#include "lfuns.h"
+#include "FuncCode.h"
+
#include "support/docstring.h"
#include <list>
class Cursor;
class Text;
-class Lexer;
class TransManager;
+namespace support { class Lexer; }
+
///
enum tex_accent {
///
///
TEX_TILDE,
///
+ TEX_PERISPOMENI,
+ ///
TEX_UNDERBAR,
///
TEX_CEDILLA,
};
-struct tex_accent_struct {
+struct TeXAccent {
///
tex_accent accent;
/// UCS4 code point of this accent
///
char const * name;
///
- kb_action action;
+ FuncCode action;
};
///
-extern tex_accent_struct get_accent(kb_action action);
+extern TeXAccent get_accent(FuncCode action);
///
struct Keyexc {
+ ///
+ Keyexc() : c('\0'), combined(false), accent(TEX_NOACCENT) {}
/// character to make exception
char_type c;
/// exception data
///
class KmodInfo {
public:
+ ///
+ KmodInfo() : accent(TEX_NOACCENT) {}
///
docstring data;
///
///
void freeKeymap();
///
- int load(Lexer &);
+ int load(support::Lexer &);
///
docstring const & match(char_type c);
///
///
-inline
-docstring const & Trans::match(char_type c)
+inline docstring const & Trans::match(char_type c)
{
std::map<char_type, docstring>::iterator it = keymap_.find(c);
if (it != keymap_.end()) {
///
TransInitState();
///
- virtual docstring const normalkey(char_type);
+ docstring const normalkey(char_type) override;
///
- virtual bool backspace() { return true; }
+ bool backspace() override { return true; }
///
- virtual docstring const deadkey(char_type, KmodInfo);
+ docstring const deadkey(char_type, KmodInfo) override;
};
///
TransDeadkeyState();
///
- virtual docstring const normalkey(char_type);
+ docstring const normalkey(char_type) override;
///
- virtual bool backspace() {
+ bool backspace() override {
currentState = init_state_;
return false;
}
///
- virtual docstring const deadkey(char_type, KmodInfo);
+ docstring const deadkey(char_type, KmodInfo) override;
};
///
TransCombinedState();
///
- virtual docstring const normalkey(char_type);
+ docstring const normalkey(char_type) override;
///
- virtual bool backspace() {
+ bool backspace() override {
// cancel the second deadkey
deadkey2_ = 0;
deadkey2_info_.accent = TEX_NOACCENT;
return false;
}
///
- virtual docstring const deadkey(char_type, KmodInfo);
+ docstring const deadkey(char_type, KmodInfo) override;
};