summaryrefslogtreecommitdiffstats
path: root/chromeos/dbus/ibus
diff options
context:
space:
mode:
authornona@chromium.org <nona@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-07 16:09:30 +0000
committernona@chromium.org <nona@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-07 16:09:30 +0000
commit67262c02706fcfaf9523243df0ecec4eca3d2eb5 (patch)
treec3b92e933d95b4644692474a08acc1730ef0c885 /chromeos/dbus/ibus
parent44cfcb70e12f33a51b26a50194e0539dc0e9dbf8 (diff)
downloadchromium_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.cc47
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: