class TransState {
public:
///
- virtual ~TransState();
+ virtual ~TransState() {}
///
virtual string normalkey(char, char *) = 0;
///
/// Init State
-class TransInitState:
+class TransInitState :
virtual public TransFSMData,
public TransState {
public:
- ///
- TransInitState();
- ///
- virtual string normalkey(char, char *);
- ///
- virtual bool backspace() { return true; }
- ///
- virtual string deadkey(char, KmodInfo);
+ ///
+ TransInitState();
+ ///
+ virtual string normalkey(char, char *);
+ ///
+ virtual bool backspace() { return true; }
+ ///
+ virtual string deadkey(char, KmodInfo);
};
/// Deadkey State
-class TransDeadkeyState:
+class TransDeadkeyState :
virtual public TransFSMData,
public TransState {
public:
- ///
- TransDeadkeyState();
- ///
- virtual string normalkey(char, char *);
- ///
- virtual bool backspace()
- {
+ ///
+ TransDeadkeyState();
+ ///
+ virtual string normalkey(char, char *);
+ ///
+ virtual bool backspace() {
currentState = init_state_;
return false;
}
- ///
- virtual string deadkey(char, KmodInfo);
+ ///
+ virtual string deadkey(char, KmodInfo);
};
virtual public TransFSMData,
public TransState {
public:
- ///
- TransCombinedState();
- ///
- virtual string normalkey(char, char *);
- ///
- virtual bool backspace()
- {
+ ///
+ TransCombinedState();
+ ///
+ virtual string normalkey(char, char *);
+ ///
+ virtual bool backspace() {
// cancel the second deadkey
deadkey2_ = 0;
deadkey2_info_.accent = TEX_NOACCENT;
return false;
}
- ///
- virtual string deadkey(char, KmodInfo);
+ ///
+ virtual string deadkey(char, KmodInfo);
};
///
-class TransFSM:
+class TransFSM :
virtual public TransFSMData,
public TransInitState,
public TransDeadkeyState,
TransFSM();
};
+
///
-class TransManager
-{
+class TransManager {
private:
///
TransFSM trans_fsm_;
///
CharacterSet chset_;
///
- void insert(string, LyXText *);
+ void insert(string const &, LyXText *);
///
void insertVerbatim(string const &, LyXText *);
public:
///
bool setCharset(const char *);
///
- bool backspace()
- {
+ bool backspace() {
return trans_fsm_.currentState->backspace();
}
///
inline string normalkey(char, char *);
///
void deadkey(char, tex_accent, LyXText *);
-
};