summaryrefslogtreecommitdiff
path: root/engine/jastring.py
diff options
context:
space:
mode:
authorHuang Peng <shawn.p.huang@gmail.com>2008-09-03 14:12:40 +0800
committerHuang Peng <shawn.p.huang@gmail.com>2008-09-03 14:12:40 +0800
commitbb4a93cf72378b125124d05d18a4f5eac3b49482 (patch)
treeefd23ad44e56cb2928d59e7995701a726c01847d /engine/jastring.py
parentd70c6f0d300195e10b568990b8bc82acb88efcf1 (diff)
downloadibus-anthy-bb4a93cf72378b125124d05d18a4f5eac3b49482.tar.gz
Support Kana typing mode.
Diffstat (limited to 'engine/jastring.py')
-rw-r--r--engine/jastring.py17
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)