From bb4a93cf72378b125124d05d18a4f5eac3b49482 Mon Sep 17 00:00:00 2001 From: Huang Peng Date: Wed, 3 Sep 2008 14:12:40 +0800 Subject: Support Kana typing mode. --- engine/jastring.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'engine/jastring.py') 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) -- cgit v1.2.1