diff options
author | Huang Peng <shawn.p.huang@gmail.com> | 2008-09-03 14:12:40 +0800 |
---|---|---|
committer | Huang Peng <shawn.p.huang@gmail.com> | 2008-09-03 14:12:40 +0800 |
commit | bb4a93cf72378b125124d05d18a4f5eac3b49482 (patch) | |
tree | efd23ad44e56cb2928d59e7995701a726c01847d /engine/jastring.py | |
parent | d70c6f0d300195e10b568990b8bc82acb88efcf1 (diff) | |
download | ibus-anthy-bb4a93cf72378b125124d05d18a4f5eac3b49482.tar.gz |
Support Kana typing mode.
Diffstat (limited to 'engine/jastring.py')
-rw-r--r-- | engine/jastring.py | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/engine/jastring.py b/engine/jastring.py index 9eef391..db067ef 100644 --- a/engine/jastring.py +++ b/engine/jastring.py @@ -20,15 +20,25 @@ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. import romaji +import kana + +TYPING_MODE_ROMAJI, \ +TYPING_MODE_KANA, \ +TYPING_MODE_THUMB_SHIFT = range(3) class JaString: - def __init__(self): + def __init__(self, mode=TYPING_MODE_ROMAJI): + self.__mode = mode self.reset() def reset(self): self.__cursor = 0 self.__segments = list() + def set_mode(self, mode): + self.__mode = mode + self.reset() + def insert(self, c): segment_before = None segment_after = None @@ -44,7 +54,10 @@ class JaString: new_segments = segment_after.prepend(c) else: if c != u"\0" and c != u"": - new_segments = [romaji.RomajiSegment(c)] + if self.__mode == TYPING_MODE_ROMAJI: + new_segments = [romaji.RomajiSegment(c)] + elif self.__mode == TYPING_MODE_KANA: + new_segments = [kana.KanaSegment(c)] if new_segments: self.__segments[self.__cursor:self.__cursor] = new_segments self.__cursor += len(new_segments) |