diff options
author | Huang Peng <shawn.p.huang@gmail.com> | 2009-02-05 10:39:56 +0800 |
---|---|---|
committer | Huang Peng <shawn.p.huang@gmail.com> | 2009-02-05 10:39:56 +0800 |
commit | aedad1ea0a7fef604aa27f4b58433fd8f2ece29e (patch) | |
tree | ffcb531d8474bde18b90341bcd4eb639edd74525 /daemon/engine.py | |
parent | 41ad46305a88637dd99f00a2d2a3f455505d357b (diff) | |
download | ibus-aedad1ea0a7fef604aa27f4b58433fd8f2ece29e.tar.gz ibus-aedad1ea0a7fef604aa27f4b58433fd8f2ece29e.tar.xz ibus-aedad1ea0a7fef604aa27f4b58433fd8f2ece29e.zip |
re-implement ibus in c language.
Diffstat (limited to 'daemon/engine.py')
-rw-r--r-- | daemon/engine.py | 221 |
1 files changed, 0 insertions, 221 deletions
diff --git a/daemon/engine.py b/daemon/engine.py deleted file mode 100644 index e4bc048..0000000 --- a/daemon/engine.py +++ /dev/null @@ -1,221 +0,0 @@ -# vim:set et sts=4 sw=4: -# -# ibus - The Input Bus -# -# Copyright (c) 2007-2008 Huang Peng <shawn.p.huang@gmail.com> -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this program; if not, write to the -# Free Software Foundation, Inc., 59 Temple Place, Suite 330, -# Boston, MA 02111-1307 USA - -import gobject -import ibus - -class Engine(ibus.Object): - __gsignals__ = { - "commit-string" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - (gobject.TYPE_PYOBJECT, )), - "forward-key-event" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - (gobject.TYPE_UINT, gobject.TYPE_BOOLEAN, gobject.TYPE_UINT )), - "update-preedit" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - (gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT, gobject.TYPE_INT, gobject.TYPE_BOOLEAN)), - "show-preedit" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - ()), - "hide-preedit" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - ()), - "update-aux-string" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - (gobject.TYPE_PYOBJECT, gobject.TYPE_PYOBJECT, gobject.TYPE_BOOLEAN)), - "show-aux-string" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - ()), - "hide-aux-string" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - ()), - "update-lookup-table" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - (gobject.TYPE_PYOBJECT, gobject.TYPE_BOOLEAN)), - "show-lookup-table" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - ()), - "hide-lookup-table" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - ()), - "page-up-lookup-table" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - ()), - "page-down-lookup-table" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - ()), - "cursor-up-lookup-table" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - ()), - "cursor-down-lookup-table" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - ()), - "register-properties" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - (gobject.TYPE_PYOBJECT, )), - "update-property" : ( - gobject.SIGNAL_RUN_FIRST, - gobject.TYPE_NONE, - (gobject.TYPE_PYOBJECT, )), - } - - def __init__(self, factory, ibusconn, object_path): - super(Engine, self).__init__() - self.__factory = factory - self.__ibusconn = ibusconn - self.__object_path = object_path - self.__engine = ibusconn.get_object(self.__object_path) - self.__lookup_table = ibus.LookupTable() - self.__ibusconn.connect("destroy", self.__ibusconn_destroy_cb) - - def get_factory(self): - return self.__factory - - def get_object_path(self): - return self.__object_path - - def handle_dbus_signal(self, message): - if message.is_signal(ibus.IBUS_ENGINE_IFACE, "CommitString"): - args = message.get_args_list() - self.emit("commit-string", args[0]) - elif message.is_signal(ibus.IBUS_ENGINE_IFACE, "ForwardKeyEvent"): - args = message.get_args_list() - self.emit("forward-key-event", args[0], bool(arg[1]), arg[2]) - elif message.is_signal(ibus.IBUS_ENGINE_IFACE, "UpdatePreedit"): - args = message.get_args_list() - self.emit("update-preedit", args[0], args[1], args[2], args[3]) - elif message.is_signal(ibus.IBUS_ENGINE_IFACE, "ShowPreedit"): - self.emit("show-preedit") - elif message.is_signal(ibus.IBUS_ENGINE_IFACE, "HidePreedit"): - self.emit("hide-preedit") - elif message.is_signal(ibus.IBUS_ENGINE_IFACE, "UpdateAuxString"): - args = message.get_args_list() - self.emit("update-aux-string", args[0], args[1], args[2]) - elif message.is_signal(ibus.IBUS_ENGINE_IFACE, "ShowAuxString"): - self.emit("show-aux-string") - elif message.is_signal(ibus.IBUS_ENGINE_IFACE, "HideAuxString"): - self.emit("hide-aux-string") - elif message.is_signal(ibus.IBUS_ENGINE_IFACE, "UpdateLookupTable"): - args = message.get_args_list() - self.emit("update-lookup-table", args[0], args[1]) - elif message.is_signal(ibus.IBUS_ENGINE_IFACE, "ShowLookupTable"): - self.emit("show-lookup-table") - elif message.is_signal(ibus.IBUS_ENGINE_IFACE, "HideLookupTable"): - self.emit("hide-lookup-table") - elif message.is_signal(ibus.IBUS_ENGINE_IFACE, "PageUpLookupTable"): - self.emit("page-up-lookup-table") - elif message.is_signal(ibus.IBUS_ENGINE_IFACE, "PageDownLookupTable"): - self.emit("page-down-lookup-table") - elif message.is_signal(ibus.IBUS_ENGINE_IFACE, "CursorUpLookupTable"): - self.emit("cursor-up-lookup-table") - elif message.is_signal(ibus.IBUS_ENGINE_IFACE, "CursorDownLookupTable"): - self.emit("cursor-down-lookup-table") - elif message.is_signal(ibus.IBUS_ENGINE_IFACE, "RegisterProperties"): - args = message.get_args_list() - self.emit("register-properties", args[0]) - elif message.is_signal(ibus.IBUS_ENGINE_IFACE, "UpdateProperty"): - args = message.get_args_list() - self.emit("update-property", args[0]) - else: - return False - - return True - - def focus_in(self): - self.__engine.FocusIn(**ibus.DEFAULT_ASYNC_HANDLERS) - - def focus_out(self): - self.__engine.FocusOut(**ibus.DEFAULT_ASYNC_HANDLERS) - - def reset(self): - self.__engine.Reset(**ibus.DEFAULT_ASYNC_HANDLERS) - - def process_key_event(self, keyval, is_press, state, reply_cb, error_cb): - self.__engine.ProcessKeyEvent(keyval, is_press, state, - reply_handler = reply_cb, - error_handler = error_cb) - - def set_cursor_location(self, x, y, w, h): - self.__engine.SetCursorLocation(x, y, w, h, - **ibus.DEFAULT_ASYNC_HANDLERS) - - def enable(self): - self.__engine.Enable(**ibus.DEFAULT_ASYNC_HANDLERS) - - def disable(self): - self.__engine.Disable(**ibus.DEFAULT_ASYNC_HANDLERS) - - # cursor for lookup table - - def page_up(self): - self.__engine.PageUp(**ibus.DEFAULT_ASYNC_HANDLERS) - - def page_down(self): - self.__engine.PageDown(**ibus.DEFAULT_ASYNC_HANDLERS) - - def cursor_up(self): - self.__engine.CursorUp(**ibus.DEFAULT_ASYNC_HANDLERS) - - def cursor_down(self): - self.__engine.CursorDown(**ibus.DEFAULT_ASYNC_HANDLERS) - - def property_activate(self, prop_name, prop_state): - self.__engine.PropertyActivate(prop_name, prop_state, - **ibus.DEFAULT_ASYNC_HANDLERS) - - def property_show(self, prop_name): - self.__engine.PropertyShow(prop_name, - **ibus.DEFAULT_ASYNC_HANDLERS) - - def property_hide(self, prop_name): - self.__engine.PropertyHide(prop_name, - **ibus.DEFAULT_ASYNC_HANDLERS) - - def destroy(self): - ibus.Object.destroy(self) - if self.__engine: - self.__engine.Destroy(**ibus.DEFAULT_ASYNC_HANDLERS) - self.__engine = None - self.__ibusconn = None - - def __ibusconn_destroy_cb(self, ibusconn): - self.__engine = None - self.destroy() - -gobject.type_register(Engine) - |