2 Scim-Unikey Input Method
4 Copyright (C) 2008-2009 Ubuntu-VN <http://www.ubuntu-vn.org>
5 Author: Le Quoc Tuan <mr.lequoctuan@gmail.com>
6 Home: http://scim-unikey.googlecode.com
7 License: GNU GENERAL PUBLIC LICENSE v2
10 #if !defined (__SCIM_UNIKEY_IMENGINE_H)
11 #define __SCIM_UNIKEY_IMENGINE_H
17 class UnikeyFactory : public IMEngineFactoryBase
20 UnikeyFactory(int id);
21 virtual ~UnikeyFactory();
23 virtual WideString get_name() const;
24 virtual WideString get_authors() const;
25 virtual WideString get_credits() const;
26 virtual WideString get_help() const;
27 virtual String get_uuid() const;
28 virtual String get_icon_file() const;
30 virtual IMEngineInstancePointer create_instance(const String& encoding, int id = -1);
37 class UnikeyInstance : public IMEngineInstanceBase
39 friend class UnikeyInstancePreedit;
40 friend class UnikeyInstanceClassic;
43 UnikeyInstance(UnikeyFactory *factory, const String& encoding, int id);
47 virtual void focus_in();
48 virtual void trigger_property(const String &property);
51 PropertyList CreatePropertyList();
53 int m_im; // input method
54 int m_oc; // output charset
55 UnikeyOptions m_ukopt; // Unikey Options
56 bool m_process_w_AtBeginWord; // process W at Begin Word?
57 bool m_lastkey_with_shift; // last press key with modifier is shift
61 class UnikeyInstancePreedit : public UnikeyInstance
64 UnikeyInstancePreedit(UnikeyFactory *factory, const String& encoding, int id = -1);
65 ~UnikeyInstancePreedit();
68 virtual void focus_in();
69 virtual void focus_out();
70 virtual bool process_key_event(const KeyEvent& key);
71 virtual void trigger_property(const String &property);
74 bool unikey_process_key_event(const KeyEvent& key);
75 void unikey_update_preedit_string(const WideString s, const bool visible);
76 PropertyList CreatePropertyList();
78 WideString m_preeditstring; // store PreEdit String
79 bool m_auto_commit; // auto commit?
83 class UnikeyInstanceClassic : public UnikeyInstance
86 UnikeyInstanceClassic(UnikeyFactory *factory, const String& encoding, int id = -1);
87 ~UnikeyInstanceClassic();
90 virtual void focus_in();
91 virtual void focus_out();
92 virtual bool process_key_event(const KeyEvent& key);
93 virtual void trigger_property(const String &property);
96 bool unikey_process_key_event(const KeyEvent& key);
97 void unikey_send_backspace(int nBackspace);
98 void unikey_commit_key_event(const KeyEvent& key);
99 PropertyList CreatePropertyList();