diff options
author | nona@chromium.org <nona@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-07 16:09:30 +0000 |
---|---|---|
committer | nona@chromium.org <nona@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-07 16:09:30 +0000 |
commit | 67262c02706fcfaf9523243df0ecec4eca3d2eb5 (patch) | |
tree | c3b92e933d95b4644692474a08acc1730ef0c885 /chromeos/dbus/ibus | |
parent | 44cfcb70e12f33a51b26a50194e0539dc0e9dbf8 (diff) | |
download | chromium_src-67262c02706fcfaf9523243df0ecec4eca3d2eb5.zip chromium_src-67262c02706fcfaf9523243df0ecec4eca3d2eb5.tar.gz chromium_src-67262c02706fcfaf9523243df0ecec4eca3d2eb5.tar.bz2 |
Implement IBusEngineServiceDaemonlessImpl
It is safe to implement partially because any IME related stuff is not enabled
without IBusDaemonController::OnConnected.
BUG=170671
TEST=None
Review URL: https://chromiumcodereview.appspot.com/12513003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186720 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/dbus/ibus')
-rw-r--r-- | chromeos/dbus/ibus/ibus_engine_service.cc | 47 |
1 files changed, 37 insertions, 10 deletions
diff --git a/chromeos/dbus/ibus/ibus_engine_service.cc b/chromeos/dbus/ibus/ibus_engine_service.cc index eb24790..5277fcb 100644 --- a/chromeos/dbus/ibus/ibus_engine_service.cc +++ b/chromeos/dbus/ibus/ibus_engine_service.cc @@ -8,9 +8,12 @@ #include "base/bind.h" #include "base/callback.h" #include "chromeos/dbus/ibus/ibus_constants.h" +#include "chromeos/dbus/ibus/ibus_input_context_client.h" #include "chromeos/dbus/ibus/ibus_lookup_table.h" +#include "chromeos/dbus/ibus/ibus_panel_service.h" #include "chromeos/dbus/ibus/ibus_property.h" #include "chromeos/dbus/ibus/ibus_text.h" +#include "chromeos/ime/ibus_bridge.h" #include "dbus/bus.h" #include "dbus/exported_object.h" #include "dbus/message.h" @@ -477,18 +480,21 @@ class IBusEngineServiceDaemonlessImpl : public IBusEngineService { // IBusEngineService override. virtual void SetEngine(IBusEngineHandlerInterface* handler) OVERRIDE { - // TODO(nona): Implement this. + IBusBridge::Get()->SetEngineHandler(handler); } // IBusEngineService override. virtual void UnsetEngine() OVERRIDE { - // TODO(nona): Implement this. + IBusBridge::Get()->SetEngineHandler(NULL); } // IBusEngineService override. virtual void RegisterProperties( const IBusPropertyList& property_list) OVERRIDE { - // TODO(nona): Implement this. + IBusPanelPropertyHandlerInterface* property = + IBusBridge::Get()->GetPropertyHandler(); + if (property) + property->RegisterProperties(property_list); } // IBusEngineService override. @@ -496,40 +502,61 @@ class IBusEngineServiceDaemonlessImpl : public IBusEngineService { uint32 cursor_pos, bool is_visible, IBusEnginePreeditFocusOutMode mode) OVERRIDE { - // TODO(nona): Implement this. + IBusInputContextHandlerInterface* input_context = + IBusBridge::Get()->GetInputContextHandler(); + if (input_context) + input_context->UpdatePreeditText(ibus_text, cursor_pos, is_visible); } // IBusEngineService override. virtual void UpdateAuxiliaryText(const IBusText& ibus_text, bool is_visible) OVERRIDE { - // TODO(nona): Implement this. + IBusPanelCandidateWindowHandlerInterface* candidate_window = + IBusBridge::Get()->GetCandidateWindowHandler(); + if (candidate_window) + candidate_window->UpdateAuxiliaryText(ibus_text.text(), is_visible); } // IBusEngineService override. virtual void UpdateLookupTable(const IBusLookupTable& lookup_table, bool is_visible) OVERRIDE { - // TODO(nona): Implement this. + IBusPanelCandidateWindowHandlerInterface* candidate_window = + IBusBridge::Get()->GetCandidateWindowHandler(); + if (candidate_window) + candidate_window->UpdateLookupTable(lookup_table, is_visible); } // IBusEngineService override. virtual void UpdateProperty(const IBusProperty& property) OVERRIDE { - // TODO(nona): Implement this. + IBusPanelPropertyHandlerInterface* property_handler = + IBusBridge::Get()->GetPropertyHandler(); + if (property_handler) + property_handler->UpdateProperty(property); } // IBusEngineService override. virtual void ForwardKeyEvent(uint32 keyval, uint32 keycode, uint32 state) OVERRIDE { - // TODO(nona): Implement this. + IBusInputContextHandlerInterface* input_context = + IBusBridge::Get()->GetInputContextHandler(); + if (input_context) + input_context->ForwardKeyEvent(keyval, keycode, state); } // IBusEngineService override. virtual void RequireSurroundingText() OVERRIDE { - // TODO(nona): Implement this. + // Do nothing. } // IBusEngineService override. virtual void CommitText(const std::string& text) OVERRIDE { - // TODO(nona): Implement this. + IBusInputContextHandlerInterface* input_context = + IBusBridge::Get()->GetInputContextHandler(); + if (input_context) { + IBusText ibus_text; + ibus_text.set_text(text); + input_context->CommitText(ibus_text); + } } private: |